Skip to content

Instantly share code, notes, and snippets.

View isaksky's full-sized avatar

Isak Sky isaksky

View GitHub Profile
@isaksky
isaksky / Program.fs
Created August 12, 2016 05:17
Json type generator
open Newtonsoft.Json
open Newtonsoft.Json.Linq
open System.Collections.Generic
open System
open System.IO
open System.Text
type TypeNodeMut =
{ fieldname: string
children : Dictionary<string, TypeNodeMut>
@isaksky
isaksky / stack_pls.ex
Created July 11, 2016 00:53
iex - Missing stacktrace
defmodule StackPls do
@behaviour :gen_statem
def callback_mode(), do: :state_functions
def start_link(opts) do
:gen_statem.start_link(__MODULE__, opts, [])
end
# Mandatory callback functions
@isaksky
isaksky / gist:5906464
Created July 2, 2013 02:52
core.match example
(defn interactive-content?
"Check if an html element (in hiccup form) is interactive content. See http://www.w3.org/html/wg/drafts/html/master/dom.html#interactive-content-0"
[node]
(match node
[(:or :a :button :details :embed :iframe :keygen :label :select :textarea :video) & _] true
[(:or :audio :video) {:controls _} & _] true
[ (:or :img :object) {:usemap _} & _] true
[:input attrs & _ ] (not (= "hidden"(:type attrs)))
:else false))
var process = Process.Start(new ProcessStartInfo("foo.exe"));
process.StandardInput.Write("sup");
@isaksky
isaksky / gist:4666169
Created January 29, 2013 17:54
lolrubby
task :foo do
puts "foo"
end
task :bar => "foo" do
puts "bar"
end
task :baz do
puts "baz"
function video_info {
ffprobe -v quiet -print_format json $1 -show_streams
}
@isaksky
isaksky / gist:3854955
Created October 8, 2012 21:01
set/access multiple keys
update_in = (obj, keys, value) ->
node = obj
while true
key = keys.shift()
if keys.length > 0
node[key] = {} unless node[key]?
node = node[key]
else
node[key] = value
break
@isaksky
isaksky / install_rbenv_stuff.sh
Created July 18, 2012 17:23
Script to install rbenv and ruby-build
# Check out rbenv into ~/.rbenv.
cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
# Add ~/.rbenv/bin to your $PATH for access to the rbenv command-line utility.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
# Add rbenv init to your shell to enable shims and autocompletion.
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
@isaksky
isaksky / cartesian_product.rb
Created July 13, 2012 19:00
cartesian product
def ghetto_cartesian_product colls
if colls.empty?
[[]]
else
colls.first.reduce([]) do |memo, e|
rest = colls.drop 1
tails = ghetto_cartesian_product(rest).map do |tail|
[e].concat tail
end
memo.concat tails
// How to win. Script for okcupid.com
// Using a script manager, e.g., this thing: https://github.com/defunkt/dotjs
// Replace cities_close_enough array with what is close enough for you.
// Drop this in ~/.js/okcupid.com.js
window.setInterval(function(){
$('p.location:visible').each(function(){
var loc = $(this).text();
var city = loc.substring(0,loc.indexOf(','));
var cities_close_enough = ['Palo Alto', 'Mountain View', 'Sunnyvale', 'Stanford'];