Skip to content

Instantly share code, notes, and snippets.

💭
Working hard

Gilbert gilbert

💭
Working hard
  • San Francisco, CA
Block or report user

Report or block gilbert

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@gilbert
gilbert / stub.ts
Last active Sep 17, 2019
Concurrency-safe stubbing for TypeScript / Node.js
View stub.ts
type QueueItem = {
filename: string
resolve: () => void
originalValue: any
stubValue: any
}
type Stub = {
queue: QueueItem[]
filename: string
originalValue: any
@gilbert
gilbert / showcase.jsx
Created Feb 12, 2018
JSX Formatting Tips
View showcase.jsx
class Showcase extends React.Component {
constructor(props) {
super(props)
this.state = { ... }
}
toggle() {
this.setState({ open: ! this.state.open })
}
render() {
var {open, loading} = this.state
@gilbert
gilbert / DefaultKeyBinding.dict
Last active Feb 27, 2018
Add missing keyboard shortcuts on OS X
View DefaultKeyBinding.dict
/*
Create this as a file ~/Library/KeyBindings/DefaultKeyBinding.dict
Then restart your computer.
NOTE: ~ means alt/option
^ means ctrl
*/
{
"~f"="moveWordForward:";
"~b"="moveWordBackward:";
"~<"="moveToBeginningOfDocument:";
@gilbert
gilbert / data-deps.js
Last active Feb 7, 2018
React GET Data Dependencies helper
View data-deps.js
//
// Our main data fetching tool.
// This fetches an object of promise makers ONLY ON THE CLIENT SIDE,
// and manages loading and data states for each key.
//
import React from 'react'
import http from './http'
export default (promisesMakers, options={}) => Component =>
class FetchHOC extends React.Component {
@gilbert
gilbert / actual.js
Last active Sep 29, 2017
Pipeline op code
View actual.js
var inc = (x) => x + 1;
var double = (x) => x * 2;
var x = 10 |> inc |> double;
var y = 10 |> inc;
@gilbert
gilbert / logs.txt
Created Jun 5, 2017
Reason build error logs
View logs.txt
Configuring for host x86_64-apple-darwin16.6.0 ...
Configuring for target x86_64-apple-darwin16.6.0 ...
Using compiler gcc.
The C compiler is ANSI-compliant.
Checking the sizes of integers and pointers...
Wow! A 64 bit architecture!
This is a little-endian architecture.
Doubles can be word-aligned.
64-bit integers can be word-aligned.
Native division and modulus have round-towards-zero semantics, will use them.
@gilbert
gilbert / index.html
Created Mar 7, 2017
Minimal Mithril 1.0 boilerplate
View index.html
<!doctype html><title>Minimal Mithril</title>
<div id="app"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mithril/1.0.1/mithril.min.js"></script>
<script>
var AppComponent = {
view: function (vnode) {
return m('h1', "Hello World!")
@gilbert
gilbert / DefaultKeyBinding.dict
Created Feb 17, 2017
Enable terminal text navigation keyboard shortcuts across entire OS X operating system
View DefaultKeyBinding.dict
/* Create a new file at ~/Library/KeyBindings/DefaultKeyBinding.dict */
/* and copy/paste this into it. */
{
"~f"="moveWordForward:";
"~b"="moveWordBackward:";
"~<"="moveToBeginningOfDocument:";
"~>"="moveToEndOfDocument:";
"~v"="pageUp:";
"~d"="deleteWordForward:";
"~^h"="deleteWordBackward:";
View keybase.md

Keybase proof

I hereby claim:

  • I am gilbert on github.
  • I am mindeavor (https://keybase.io/mindeavor) on keybase.
  • I have a public key whose fingerprint is 7DB8 DF5F 0720 815C 104C 416A F8BA C5DA 9D8C 1B56

To claim this, I am signing this object:

@gilbert
gilbert / definition.js
Last active Aug 5, 2016
Expand / Collapse Animation with Mithril v1.x
View definition.js
var animateHeight = {
oncreate: function (vnode) {
var height = vnode.dom.clientHeight
vnode.dom.style.maxHeight = 0
vnode.dom.offsetHeight // Trick to recalc layout
window.requestAnimationFrame( ()=> (vnode.dom.style.maxHeight = height+1+"px") )
},
onbeforeremove: function (vnode, done) {
vnode.dom.addEventListener('transitionend', done)
vnode.dom.style.maxHeight = 0
You can’t perform that action at this time.