Skip to content

Instantly share code, notes, and snippets.

View juliangruber's full-sized avatar

Julian Gruber juliangruber

View GitHub Profile
egmontkob /
Last active May 16, 2024 19:51
Hyperlinks in Terminal Emulators
show_icons() {
defaults write CreateDesktop true
killall Finder
hide_icons() {
defaults write CreateDesktop false
killall Finder
mbostock / .block
Last active November 13, 2016 21:45
U.S. Atlas, Redux [UNLISTED]
license: bsd-3-clause
'use strict';
// run using this fork of NodeJS
// (
// node --harmony_async_await await_thenables.js
function counter(count) {
return {
then: function(res, rej) {

Dat Core Technical Roadmap

A small roadmap for the core tech in dat. this mostly relates to the core dependencies such as hypercore/hyperdrive and not the cli or


1. Finish random access APIs

Adding var cursor = drive.createByteCursor(file). A cursor api that quickly allows you to seek anywhere in the file content.

paniq / morph.glsl
Created July 1, 2014 04:52 — forked from glslioadmin/TEMPLATE.glsl Transition (v1)
#ifdef GL_ES
precision highp float;
uniform sampler2D from, to;
uniform float progress;
uniform vec2 resolution;
const float strength=0.1;
void main() {
vec2 p = gl_FragCoord.xy / resolution.xy;
max-mapper / index.js
Created April 20, 2014 20:03
requirebin sketch
var term = require('hypernal')()
var tablify = require('tablify').tablify
var request = require('browser-request')
var url = require('url')
// style fake terminal
var termEl = term.term.element['font'] = '13px Monaco, mono'
creationix / convert.js
Last active March 31, 2020 07:15
Convert a hex string (base-16) to a base-65536 (16-bit) string.
function hexToBase65536(hex) {
var result = "";
for (var i = hex.length ; i > 0; i -= 4) {
result += String.fromCharCode(parseInt(hex.substring(i - 4, i), 16));
return result;
juliangruber /
Last active March 24, 2021 02:00
lightweight node-websocketd


A lightweight node port of websocketd, originally written in go.


node-websocketd --port=8080 ./

Disclaimer: I work for Mozilla and am a Node.js core maintainer. The opinions expressed here do not reflect those of Mozilla or the Node.js project.

After watching the events unfold the last 2 days I decided to sit down, with my two cartons of Trader Joe's eggnog, and simply express with all humility and confidence what libuv@47d98b6 definitely was not.

Over the last year I have had the pleasure of being mentored by Ben. He is largely responsible for my initial major involvement writing performance improvements for Node, and has easily surpassed