Skip to content

Instantly share code, notes, and snippets.

graingert /
Created May 20, 2022 — forked from ajdavis/
asyncio getaddrinfo benchmark
# Test BaseEventLoop.getaddrinfo performance, before and after my commit 39c135b
# Try a variety of getaddrinfo parameters and log the duration of 10k calls
import socket
import time
from asyncio import get_event_loop
from asyncio.base_events import _ipaddr_info
except ImportError:
graingert /
Created Sep 3, 2021 — forked from foxmask/
websocket client
#!/usr/bin/env python3
import sys
import asyncio
import json
import websockets
async def hello():
uri = "ws://localhost:8888"
graingert / repl.scala
Created Dec 20, 2017 — forked from fedesilva/repl.scala
Voldemort types in scala
View repl.scala
f@omoikane:~$ scala
Welcome to Scala version (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_31).
Type in expressions to have them evaluated.
Type :help for more information.
scala> :load Workshop/mine/scala-misc/voldemort.scala
Loading Workshop/mine/scala-misc/voldemort.scala...
defined module Dungeon
scala> val nemesis = Dungeon curse "fedesilva"
View ajaxcall.js
map.on('click', function(event){
var x1_wgs;
var y1_wgs;
async function ajax(x,y){
const data = $.ajax({
graingert / Dockerfile
Created Jun 26, 2017 — forked from tabiodun/Dockerfile
Dockerfile for tabiodun/selenium-chrome-headless
View Dockerfile
FROM selenium/node-base:3.4.0-dysprosium
USER root
ARG CHROME_VERSION="google-chrome-beta"
RUN wget -q -O - | apt-key add - \
&& echo "deb stable main" >> /etc/apt/sources.list.d/google-chrome.list \
&& apt-get update -qqy \
&& apt-get -qqy install \
graingert / gist:bf23f6f4193679272307cc2c1ac1e763
Created May 15, 2017 — forked from colin-kiegel/gist:b35d278d6ed5251dfa85
regex replace multi-line + in multiple files
View gist:bf23f6f4193679272307cc2c1ac1e763
find . -name "$FILES" | xargs perl -0777 -pi -e '$REGEX'
# flag: -0777 tells perl to read the file as a whole
# replace '-pi' with '-pi.bak' to create backups
View EitherReadsExample.scala
import JsEither._
case class Page(id: Int, name: String, screen_name: String, is_closed: Int, photo_50: String, photo_100: String, photo_200: String)
object Page {
implicit val format = Json.format[Page]
case class Profile(id: Int, first_name: String, last_name: String)
object Profile {
implicit val format = Json.format[Profile]
View highcharts-jsdom.js
* Sample of serverside generation of Highcharts using an extension to jsdom in node.js.
* Usage:
* npm install jsdom
* npm install highcharts
* node highcharts-jsdom
/* eslint-env node */
graingert / dataURItoBlob.js
Created Apr 27, 2016 — forked from davoclavo/dataURItoBlob.js
Convert dataURI to Blob so large images do not crash the browser. Based on: and
View dataURItoBlob.js
function dataURItoBlob(dataURI) {
// convert base64 to raw binary data held in a string
var byteString = atob(dataURI.split(',')[1]);
// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
// write the bytes of the string to an ArrayBuffer
var arrayBuffer = new ArrayBuffer(byteString.length);
var _ia = new Uint8Array(arrayBuffer);
graingert /
Created Apr 13, 2016 — forked from smileart/
My ZSH Theme — Agnoster Mod

My modified fork of agnoster.zsh-theme

A ZSH theme optimized for people who use:

  • Solarized
  • Git
  • Unicode-compatible fonts and terminals (I use iTerm2 + Menlo)