Skip to content

Instantly share code, notes, and snippets.

View davidbalbert's full-sized avatar

David Albert davidbalbert

View GitHub Profile
@davidbalbert
davidbalbert / main.swift
Last active June 8, 2020 15:57
MiniKanren
func nullo(_ x: Term) -> Goal {
x =~ []
}
func conso(_ a: Term, _ d: Term, _ p: Term) -> Goal {
p =~ .pair(a, d)
}
func appendo(_ l: Term, _ t: Term, _ out: Term) -> Goal {
disj {
; ht to http://www.shlomifish.org/lecture/Lambda-Calculus/slides/
(define λ lambda)
(define 0 (λ (f) (λ (x) x)))
(define +1 (λ (n) (λ (f) (λ (x) (f ((n f) x))))))
(define pred_next_tuple
(λ (tuple)
(cons (car (cdr tuple)) (cons (+1 (car (cdr tuple))) '()))))
(define 定義しろ define)
(定義しろ 見せろ display)
(定義しろ 車 car)
(定義しろ 来るだ cdr)
(定義しろ 組み立てろ cons)
(定義しろ 原子 atom)
(定義しろ 同 eq)
(定義しろ 条件 cond)
#!/usr/bin/env ruby
nesting = 0
ARGF.each_line do |l|
nesting -= l.count("}")
puts " "*nesting + l
nesting += l.count("{")
@davidbalbert
davidbalbert / macosx-dp-2.sh
Last active February 24, 2023 22:03
Install and run Mac OS X DP2 in QEMU
#!/bin/sh
# To create and format a 10 GB hard drive image
dd if=/dev/zero of=hd.img bs=1048576 count=10240
pdisk hd.img # `i` for initialize then `w` for write
# To boot from install CD, add:
# -drive file=dp2.iso,index=2,format=raw,media=cdrom \
# -prom-env 'boot-device=ide1:9,\\BootX' \
function countPossibilities(n, m) {
if (n === -1 || m === -1) {
return 0;
} else if (n === 0 && m === 0) {
return 1;
}
return countPossibilities(n-1, m) + countPossibilities(n, m-1);
}
@davidbalbert
davidbalbert / database.html
Last active January 16, 2018 21:56
Database.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Database.js</title>
</head>
<body>
<script>
'use strict';
@davidbalbert
davidbalbert / ssha1.bash
Created December 7, 2017 19:32
Generate a hashed password with random salt in the OpenLDAP SSHA format (seeded SHA-1). For use with FreeRADIUS.
#!/bin/bash
set -euo pipefail
if [ "$#" -lt 1 ]; then
echo "usage: $0 password" >&2
exit
fi
SALT=$(head -c 18 /dev/urandom | base64 | tr -d '\n')
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>RC Scout + React example</title>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.1.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.1.0/umd/react-dom.production.min.js"></script>
<script type="text/babel">
// From https://gist.github.com/davidbalbert/44f7f3329c2bcbc5b5bee2d4b93a8253
@davidbalbert
davidbalbert / rcscout-react-babel.js
Last active November 10, 2017 20:09
Support for running RC Scout with React
class RCScout extends React.Component {
rerenderScout() {
if (window._rcs && window._rcs.inst) {
window._rcs.inst.render();
}
}
componentDidMount() {
this.rerenderScout();
}