Skip to content

Instantly share code, notes, and snippets.

View ahoyahoy's full-sized avatar
🦄
Hey

Tom Hodbod ahoyahoy

🦄
Hey
View GitHub Profile
@calibr
calibr / LevelDbPersistence.js
Created July 30, 2019 22:30
yjs v13(refactored) level db persistence
import level = require('level')
import * as encoding from 'lib0/dist/encoding'
import * as decoding from 'lib0/dist/decoding'
import * as syncProtocol from 'y-protocols/dist/sync.js'
import * as authProtocol from 'y-protocols/dist/auth.js'
import { createMutex } from 'lib0/dist/mutex.js'
const mux = createMutex()
function getEmptyEncodedStateVector() {
@ngryman
ngryman / example.ts
Created June 29, 2019 17:24
Updating cached data from multiple parameterized queries after a mutation (hacky solution)
addTask({
variables: { input },
optimisticResponse: {
addTask: {
__typename: 'Task',
id,
...input
}
},
update: (proxy: any, { data: { addTask } }: any) => {
@abersnaze
abersnaze / InlineInlineMonacoEditor.stories.tsx
Last active September 17, 2020 12:21
React component, in typescript, wrapping Monaco editor to automatically grow & shrink with content to avoid scroll.
import React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import InlineMonacoEditor from './InlineMonacoEditor';
export const LINES = [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
'Aenean aliquet, nulla eget auctor porttitor, lacus urna',
'posuere purus, at suscipit orci sapien quis est. Curabitur',
@patricksurry
patricksurry / README.md
Last active June 20, 2023 14:29
D3 + simpleheat.js geographic heatmap

Illustrates how to use Vladimir Agafonkin's clever simpleheat JS library to overlay a heatmap of Hopper search destinations on a D3 map.

Just for fun we use a separate svg layer 'under' the canvas to display the map, although it's easy enough to have D3 render direct to the canvas. The default canvas (and svg) 'background' is transparent so we can see through layers, making it easy to build up (say) an animated heatmap over a static map without continually redrawing the latter.

@Avaq
Avaq / combinators.js
Last active November 25, 2025 09:37
Common combinators in JavaScript
const I = x => x
const K = x => y => x
const A = f => x => f (x)
const T = x => f => f (x)
const W = f => x => f (x) (x)
const C = f => y => x => f (x) (y)
const B = f => g => x => f (g (x))
const S = f => g => x => f (x) (g (x))
const S_ = f => g => x => f (g (x)) (x)
const S2 = f => g => h => x => f (g (x)) (h (x))
@parmentf
parmentf / GitCommitEmoji.md
Last active March 16, 2026 01:28
Git Commit message Emoji
@ndarville
ndarville / business-models.md
Last active January 3, 2026 06:27
Business models based on the compiled list at http://news.ycombinator.com/item?id=4924647. I find the link very hard to browse, so I made a simple version in Markdown instead.

Business Models

Advertising

Models Examples
Display ads Yahoo!
Search ads Google