Skip to content

Instantly share code, notes, and snippets.

Adam Shirey aeshirey

Block or report user

Report or block aeshirey

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
# maximum allowable delta (°F) before we start the fans
def check_temp():
c = db.cursor()
# get the last ten minutes of data only
c.execute("SELECT temp, room FROM temps WHERE (julianday('now') - julianday(timestamp))*86400 < 600 ORDER BY timestamp")
inside_temps, outside = [], 0.0
View ventilation.yaml
- id: '1234'
alias: ventilate_on
- payload: 'on'
platform: mqtt
topic: ventilate
condition: []
- data:
entity_id: switch.wind_tunnel
#!/usr/bin/env python
import paho.mqtt.client as mqtt
import json
import requests
TOPIC = "weather/renton"
URL = "<your api key goes here>"
API_DELAY_SEC = 60 * 10 # every 10 minutes
View ESP8266_DHT11.c
#include <DHTesp.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
#include <ESP8266WiFi.h>
#define LOOP_MS 60000
#define DhtPin 14
DHTesp dht;
View kegerator.c.ino
// Code accompanying my blog post on my kegerator setup, found here:
// 1.
#include <OneWire.h>
// 2.
#include <DallasTemperature.h>
#define LOGGING
View Keybase proof
### Keybase proof
I hereby claim:
* I am aeshirey on github.
* I am adamshirey ( on keybase.
* I have a public key ASBGD1ACCiGZ0YRRZCuMxEAZncMYrJI5_Ima7UdJqXYRogo
To claim this, I am signing this object:
aeshirey / venn.min.js
Created Sep 13, 2018
A minified, publicly available version of
View venn.min.js
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("d3-selection"),require("d3-transition")):"function"==typeof define&&define.amd?define(["exports","d3-selection","d3-transition"],r):r(t.venn={},t.d3,t.d3)}(this,function(t,C,r){"use strict";var w=1e-10;function x(r,t){var n,e=function(t){for(var r=[],n=0;n<t.length;++n)for(var e=n+1;e<t.length;++e)for(var a=k(t[n],t[e]),i=0;i<a.length;++i){var s=a[i];s.parentIndex=[n,e],r.push(s)}return r}(r),a=e.filter(function(t){return function(t,r){for(var n=0;n<r.length;++n)if(R(t,r[n])>r[n].radius+w)return!1;return!0}(t,r)}),i=0,s=0,u=[];if(1<a.length){var o=P(a);for(n=0;n<a.length;++n){var f=a[n];f.angle=Math.atan2(f.x-o.x,f.y-o.y)}a.sort(function(t,r){return r.angle-t.angle});var l=a[a.length-1];for(n=0;n<a.length;++n){var h=a[n];s+=(l.x+h.x)*(h.y-l.y);for(var x={x:(h.x+l.x)/2,y:(h.y+l.y)/2},c=null,g=0;g<h.parentIndex.length;++g)if(-1<l.parentIndex.indexOf(h.parentIndex[g])){var v=r[h.parentIndex[g]],p=Math.atan2(h.x-v.x,h.y-v.y),d=
View MicrosoftCognitiveTranslator.fs
module MicrosoftCognitiveTranslator
open System
open System.Net
open System.Net.Http
open System.Web
type Translator() =
let AsyncGetAccessToken () =
let CognitiveServicesAccountKey = "<your cognitive services key>" // see
aeshirey / Chrome, maybe.lnk
Last active Jan 26, 2017
Sick of how bloated Chrome is, I created an alternate Chrome shortcut to help Future Me remember to refrain from using it, if possible
View Chrome, maybe.lnk
C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command "if ((New-Object -ComObject Wscript.Shell).Popup('Remember how bloated Chrome is? Open Edge instead?',0,'Really?',0x1)) { start microsoft-edge: } else { start chrome.exe }" -WindowStyle Hidden
View WikipediaArticle.cs
/// <summary>
/// Writes a set of <see cref="WikipediaArticle"/>s to disk in a simple binary format consisting of the article title and the plaintext contents.
/// </summary>
/// <param name="articles">A set of articles, probably from <see cref="ReadArticlesFromXmlDump"/></param>
/// <param name="outputFilename">The filename into which articles should be saved</param>
/// <returns>The number of articles written</returns>
public static int WriteToDisk(IEnumerable<WikipediaArticle> articles, string outputFilename)
var numberOfArticles = 0;
using (var fh = File.Create(outputFilename))
You can’t perform that action at this time.