Skip to content

Instantly share code, notes, and snippets.

View allthemodels.rb
Rails.application.eager_load!
ApplicationRecord.subclasses.sort_by(&:name).each do |klass|
puts "#{klass.table_name}"
puts "==="
puts
puts "| Column | Type |"
puts "|--------|------|"
klass.columns.each do |column|
View up.sh
#!/usr/bin/env bash
# Exit on fail
set -euo pipefail
check_or_install() {
brew list --versions "$1" &>/dev/null || brew install "$1"
}
export PGDATA="$PWD/dev/postgres"
View quine.go
package main
import "fmt"
func main() {
p := "package main\n\nimport \"fmt\"\n\nfunc main() {\n\tp := %q\n\tfmt.Printf(p, p)\n}"
fmt.Printf(p, p)
}
@bouk
bouk / PKGBUILD
Last active Nov 2, 2018
openconnect-palo-git edited
View PKGBUILD
# Maintainer: Serge Bakharev <serge.bakharev@gmail.com>
# Contributor: Bouke van der Bijl <me@bou.ke>
pkgname=openconnect-palo-git
_pkgname=openconnect
pkgver=7.08.r157.ge5fe063a
pkgrel=1
pkgdesc="VPN client for Palo Alto GlobalProtect VPN"
arch=('i686' 'x86_64')
license=('GPL')
View reflection.go
package main
import (
"fmt"
"reflect"
)
func main() {
a := []int{1, 2, 3, 4}
View just-hosts.rb
#!/usr/bin/env ruby
# Copyright Bouke van der Bijl
require 'nokogiri'
# This script interpretes the HTTPS everywhere rulesets and extracts a list of hosts which are eligible for a 'simple' redirect,
# e.g. where http://example.com needs to be redirected to https://example.com
def is_simple?(rule)
rule.attributes['from'].value == "^http:" && rule.attributes['to'].value == "https:"
end
@bouk
bouk / server.go
Created Apr 25, 2016
Go server with automatic Let's Encrypt registration and graceful restarts
View server.go
package main
import (
"crypto/tls"
"github.com/facebookgo/grace/gracehttp"
"log"
"net/http"
"rsc.io/letsencrypt"
)
@bouk
bouk / lmdb_cache_store.rb
Last active Nov 4, 2016
path = Rails.root.join("tmp/cache/sprockets-lmdb-#{Rails.env}"); path.mkpath; env.cache = LMDBCacheStore.new(path.to_s)
View lmdb_cache_store.rb
require 'lmdb'
require 'snappy'
class LMDBCacheStore
attr_reader :max_size, :env, :db, :lru
delegate :size, to: :db
# The LMDB Gem has a bug where the Environment garbage collection handler will crash sometimes
# if the environment wasn't closed explicitely before the reference was lost.
# As a shitty workaround, we can make sure that we never lose a reference to the Environment by
@bouk
bouk / dijkstra.hs
Created Jan 6, 2013
Dijkstra's algorithm implemented in Haskell. Example input: 5 7 0 1 2 0 2 7 0 3 6 1 4 6 1 2 3 2 4 5 3 4 1
View dijkstra.hs
import Data.List (insert)
fst3 (x,_,_) = x
snd3 (_,x,_) = x
trd3 (_,_,x) = x
toTuple2Int :: String -> (Int, Int)
toTuple2Int s = (read $ takeWhile (/=' ') s :: Int, read $ dropWhile (==' ') $ dropWhile (/=' ') s :: Int)
toTupleTuple2Int :: String -> (Int, (Int, Int))
View immutable.js
// Copyright 2004-present Facebook. All Rights Reserved.
/**
* Immutable data encourages pure functions (data-in, data-out) and lends itself
* to much simpler application development and enabling techniques from
* functional programming such as lazy evaluation.
*
* While designed to bring these powerful functional concepts to JavaScript, it
* presents an Object-Oriented API familiar to JavaScript engineers and closely
* mirroring that of Array, Map, and Set. It is easy and efficient to convert to