Skip to content

Instantly share code, notes, and snippets.


Wil Chung iamwilhelm

  • Mountain View, CA
View GitHub Profile
View hooks.ts
import * as fs from "fs/promises";
import Knex from "knex";
const Web3 = require("web3");
import { Refract, Component, Fiber } from "./refract";
/******* custom hooks ******/
export const useFetchJson = filePath => {
let [json, setJson] = Refract.useState("useFetchJson", null);
View ingest_vanilla.js
import Web3 from "web3";
import Knex from "knex";
import {
} from "./compound.js";
import { subscribeNewBlocks } from "../libs/eth.js";
iamwilhelm / ingest_using_hooks.ts
Last active Aug 3, 2021
Demo on ingesting data from an API using a hooks-like API
View ingest_using_hooks.ts
import * as config from "../config";
import { Refract, elem } from "./refract";
import {

Keybase proof

I hereby claim:

  • I am iamwilhelm on github.
  • I am iamwil ( on keybase.
  • I have a public key ASBfzjxITKzh-jyx-blESRdAagfInX3t1ibMrmtWPUWhnwo

To claim this, I am signing this object:

View snippet.html
<a class="donate-with-crypto" href="">
<span>Donate with Crypto</span>
<script src=""></script>
View Helmspoint_CLI.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
iamwilhelm / contacts.csv
Last active Mar 31, 2017
Some sample csv addresses
View contacts.csv
first_name last_name company_name address city county state zip phone1 phone2 email web
James Butt Benton, John B Jr 6649 N Blue Gum St New Orleans Orleans LA 70116 504-621-8927 504-845-1427
Josephine Darakjy Chanay, Jeffrey A Esq 4 B Blue Ridge Blvd Brighton Livingston MI 48116 810-292-9388 810-374-9840
Art Venere Chemel, James L Cpa 8 W Cerritos Ave #54 Bridgeport Gloucester NJ 08014 856-636-8749 856-264-4130
Lenna Paprocki Feltz Printing Service 639 Main St Anchorage Anchorage AK 99501 907-385-4412 907-921-2010
Donette Foller Printing Dimensions 34 Center St Hamilton Butler OH 45011 513-570-1893 513-549-4561
View CT.txt
CT,06001,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06002,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06006,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06010,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06011,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06013,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06016,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06018,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
CT,06019,CONNECTICUT STATE,AKUV,0.063500,0.063500,0,0,0
iamwilhelm /
Created Sep 1, 2012
Default arguments in javascript/coffeescript
# Here's a way to do default arguments in coffeescript with combinators
defaultArgs = (defaults...) ->
(callback) ->
(args...) ->
callback.apply @, ((arguments[i] || def) for i, def of defaults)
# However, coffeescript already supports default arguments, so if you translate it to javascript,
# it's a way to do default arguments
View rook_battlement.scad
module rook_battlement(height, radius) {
neck_radius = radius;
battlement_radius = 1.4 * radius;
inner_battlement_radius = 0.6 * battlement_radius;
cylinder(0.2 * height, neck_radius, battlement_radius);
translate([0, 0, 0.2 * height]) {
difference() {
// the battlement
cylinder(0.8 * height, battlement_radius, battlement_radius);