Skip to content

Instantly share code, notes, and snippets.

View jtolio's full-sized avatar
🙃

JT Olio jtolio

🙃
View GitHub Profile
@jtolio
jtolio / code.ino
Last active January 3, 2021 15:35
esp8266 dht22 sensor
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* WIFI_SSID = "<redacted>";
const char* WIFI_PASS = "<redacted>";
const char* POST_URL = "http://thermostat.lan:8081/sensor/";
const char* SENSOR_NAME = "bedroom";

Keybase proof

I hereby claim:

  • I am jtolio on github.
  • I am jtolds (https://keybase.io/jtolds) on keybase.
  • I have a public key whose fingerprint is 06D0 CD5B A856 7236 55B7 FE47 315F 4F83 B1B6 93C5

To claim this, I am signing this object:

@jtolio
jtolio / gist:1934071
Created February 28, 2012 18:17
gerrit events in irc
#!/bin/bash
function event_stream {
ssh -p 29418 gerrit@localhost gerrit stream-events
}
function get_json {
python -c "import sys, json; print json.dumps(json.loads(sys.stdin.read())[sys.argv[1]])" $1
}

Keybase proof

I hereby claim:

  • I am jtolds on github.
  • I am jtolds (https://keybase.io/jtolds) on keybase.
  • I have a public key whose fingerprint is 06D0 CD5B A856 7236 55B7 FE47 315F 4F83 B1B6 93C5

To claim this, I am signing this object:

@jtolio
jtolio / xorsort.py
Created August 12, 2012 04:45
xor re-sort from a numerically sorted list
#!/usr/bin/env python
import time
import bisect
import random
class ArrayWrapper(object):
"""This class allows access to an array via binary search, while counting
@jtolio
jtolio / gist:3320257
Created August 11, 2012 02:55
xor dist intuition helper
in this example, n = 59
val bitstr realdist xordist
0 0000000 59 59
1 0000001 58 58
2 0000010 57 57
3 0000011 56 56
4 0000100 55 63
5 0000101 54 62
6 0000110 53 61
@jtolio
jtolio / run_slow.py
Created July 27, 2012 21:54
run a process slower
#!/usr/bin/env python
import os
import sys
import time
import signal
QUANTUM = 0.01
class AtFuncExit(object):
"""Similar to Go-lang's defer keyword. Allows execution of a list of
functions at a block exit boundary.
"""
def __init__(self, swallow_errors=False, fifo=False):
self._exception_calls = []
self._normal_calls = []
self._swallow_errors = swallow_errors
@jtolio
jtolio / trivial_rebase.py
Created February 24, 2012 03:07
trivial_rebase.py script for gerrit 2.2.2.1
#!/usr/bin/env python2.6
# Copyright (c) 2010, Code Aurora Forum. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# # Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# # Redistributions in binary form must reproduce the above
Stevey's Google Platforms Rant (now-removed Google-internal Google+ post)
(possibly better formatted at http://steverant.pen.io/)
I was at Amazon for about six and a half years, and now I've been at
Google for that long. One thing that struck me immediately about the
two companies -- an impression that has been reinforced almost daily --
is that Amazon does everything wrong, and Google does everything right.
Sure, it's a sweeping generalization, but a surprisingly accurate one.
It's pretty crazy. There are probably a hundred or even two hundred
different ways you can compare the two companies, and Google is superior