Skip to content

Instantly share code, notes, and snippets.


Ben Alman cowboy

View GitHub Profile
jacobmix /
Last active Apr 21, 2020
SyncLounge Docker guide

Here's how you set up on SyncLounge with Docker (Now with Markdown):
First make sure you got the Docker Hub in your registry:

Download the latest SyncLounge image:

Launch the image, and go to advanced settings:
Create Container

arturo182 / bom2grouped_csv_jlcpcb.xsl
Last active Nov 2, 2022
A KiCad BOM script for generating JLCPCB PCBA-compatible files!
View bom2grouped_csv_jlcpcb.xsl
<!--XSL style sheet to convert EESCHEMA XML Partlist Format to grouped CSV BOM Format
Copyright (C) 2014, Wolf Walter.
Copyright (C) 2013, Stefan Helmert.
Copyright (C) 2018, Kicad developers.
Copyright (C) 2019, arturo182.
GPL v2.
Generation of JLCPCB PCBA compatible BOM
mcfrojd / Shield_Intents.MD
Last active Nov 28, 2022
Working INTENTS to use with Community Add-ons: Android Debug Bridge for your Nvidia Shield TV
View Shield_Intents.MD

Latest Update 2021-03-06 : New image showing the new "Services" in Home Assistant and got some tips from the comments below.

Credits and thanks: Home Assistant Forum users & Github users: @ocso, @wiphye, @teachingbirds, @tboyce1, @simbesh, @JeffLIrion @ff12 @rebmemer @siaox @DiederikvandenB @Thebuz @clapbr @Finsterclown

Start apps on your android device (in the examples below, my Nvidia Shield TV) from Home Assistant

alt text

Starts Youtube App

entity_id: media_player.shield
command: >-
ivan-loh /
Last active Jan 27, 2022
Watchman ( 4.9.0 ) installation for Ubuntu 16.04
# checkout, compile & install
git clone
cd watchman/
git checkout v4.9.0
sudo apt-get install -y autoconf automake build-essential python-dev libssl-dev libtool
sudo make install
View synth.cpp
/* Arduino Synth from
#include <avr/interrupt.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#ifndef sbi
View gist:43ffd1c743554e5c50ae
// Node-like signature with single callback, returns the XHR
$.xhrcb( url: String, complete: Function( err: Error, xhr: XHR, options: Object ) ): XHR;
$.xhrcb( options: Object, complete: Function( err: Error, xhr: XHR, options: Object ) ): XHR;
// Returns a Promise, throws an error if no Promise or shim
$.xhr( options: Object ): Promise
// See ticket for `options`
// Thoughts:
domenic / await.js
Last active Dec 16, 2015
Speculative idea for `await` in JS
View await.js
// Let `doAjax`, `fadeIn`, `fadeOut`, and `delay` be promise-returning functions.
// In all the following examples, `example` is meant to return a promise that is fulfilled when
// all operations are completed, or rejected if any of the steps fail.
// ES5
function example() {
return doAjax("data.json").then(function (data) {
document.getElementById("data").innerText = data;
maxogden / index.js
Created Aug 20, 2012
official semicolon style of @maxogden
View index.js
function toCSV = function(table, cb) {
;;;;var cmd = spawn('mdb-export', [this.file, table])
;;;;cmd.stdout.pipe(concat(function(err, out) {
;;;;;;;;;;;;if (err) return cb(err)
;;;;;;;;;;;;if (!out) return cb('no output')
;;;;;;;;;;;;cb(false, out.toString())
paulirish / gist:3098860
Created Jul 12, 2012
Open Conference Expectations
View gist:3098860

Open Conference Expectations

This document lays out some baseline expectations between conference speakers and conference presenters. The general goal is to maximize the value the conference provides to its attendees and community and to let speakers know what they might reasonably expect from a conference.

We believe that all speakers should reasonably expect these things, not just speakers who are known to draw large crowds, because no one is a rockstar but more people should have the chance to be one. We believe that conferences are better -- and, dare we say, more diverse -- when the people speaking are not just the people who can afford to get themselves there, either because their company paid or they foot the bill themselves. Basically, this isn't a rock show rider, it's some ideas that should help get the voices of lesser known folks heard.

These expectations should serve as a starting point for discussion between speaker and organizer. They are not a list of demands; they are a list of rea