Skip to content

Instantly share code, notes, and snippets.

Avatar
🍀
Simplifying things

Vincent Driessen nvie

🍀
Simplifying things
View GitHub Profile
View test.ts
import { Decoder, object, string } from 'decoders';
type Example = {
eg: string;
};
const exampleDecoder: Decoder<Example> = object({
eg: string
});
View Location.ts
export type Range = [number, number]
type Position = {
offset: number
line: number
column: number
}
export type Location = {
start: Position
@nvie
nvie / codegen.fish
Created Sep 13, 2019
Fish completion for codegen
View codegen.fish
# Put the following in your ~/.config/fish/completions directory
complete --command codegen --no-files --arguments "(codegen -l)"
View .gitmodules
[submodule "vim/bundle/vim-characterize"]
path = vim/pack/nvie/start/vim-characterize
url = https://github.com/tpope/vim-characterize.git
View b.py
# Define types of building blocks
SUBDOMAIN = STRING.set('validate', validate_subdomain)
...
@schema({
'data': NESTED({
'type': WEBSPACE_TYPE,
'attributes': NESTED({
'subdomain': SUBDOMAIN,
View huh.md

Here's my config:

$ cat Procfile.test
foo: python -u foo.py

$ cat foo.py
import logging
logging.basicConfig()
logging.warn('A log line\nWith a line break')
logging.warn('Second log')
View lookup_table.py
def lookup_table(values, key=None, keyval=None, unique=False, use_lists=False):
"""
Builds a dict-based lookup table (index) elegantly.
Supports building normal and unique lookup tables. For example:
>>> lookup_table(['foo', 'bar', 'baz', 'qux', 'quux'],
... lambda s: s[0])
{
'b': {'bar', 'baz'},
'f': {'foo'},
'q': {'quux', 'qux'}
@nvie
nvie / magic.awk
Last active Aug 29, 2015
Different highlights of this piece of code that is valid C, C++, awk, perl, Python, sh, bash and tcl: https://github.com/stedolan/hax/blob/master/twisty_code/megascript.c
View magic.awk
#ifdef _not_defined
#\
"exit`[ -z $BASH ] && t=sh; [ -z $BASH ] || t=$(basename $BASH); echo Hello, World from $t > /dev/tty;`";
"[puts {Hello, World from Tcl}; {exit}]";
from operator import concat;
exec concat(concat(concat(chr(109),chr(61)),chr(39)),chr(39));
m,""" ";/,;s/;//;
#else
#include <stdio.h>
#define BEGIN int main(int nargs,char** args)
View keybase.md

Keybase proof

I hereby claim:

  • I am nvie on github.
  • I am nvie (https://keybase.io/nvie) on keybase.
  • I have a public key whose fingerprint is 9B5C 55F6 2651 625C C4EE 7C8F 4DAB 9440 5EA5 AAF0

To claim this, I am signing this object:

@nvie
nvie / ormtools.py
Created Nov 29, 2013
Really useful helper that I use constantly to force myself to write more efficient Django queries.
View ormtools.py
from contextlib import contextmanager
from django.conf import settings
from django.db import connection
@contextmanager
def no_queries_allowed():
"""This is a helper method that makes it easier during development, by
throwing an exception when any queries are made within its block. Using