Skip to content

Instantly share code, notes, and snippets.

View hoffrocket's full-sized avatar
👋

Jon Hoffman hoffrocket

👋
  • Anomaly
  • New York, NY
View GitHub Profile
@hoffrocket
hoffrocket / fourstalgia.nginx.conf
Created March 11, 2013 22:01
basic nginx proxy configuration
user nginx nginx;
worker_processes 2;
pid /var/run/nginx.pid;
error_log /var/log/nginx/error_log info;
worker_rlimit_nofile 8192;
events {
worker_connections 8192;
@hoffrocket
hoffrocket / LiveLockExample.java
Created March 29, 2013 16:24
demonstrate livelock on java ThreadPoolExecutor
package jon;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import org.apache.commons.lang.StringUtils;
public class ReplaceTime
{
static final int LOOPS = 100000;
static void timeReplace() {
long start = System.nanoTime();
for (int i = 0; i < LOOPS; i++) {
"foo;bar;car".replace(";", "%3B");
@hoffrocket
hoffrocket / README.md
Last active December 27, 2015 12:49 — forked from miku/README.md

Example outputs:

$ python dynamic.py DynamicRequirements --a 4 --b 8

DEBUG: Checking if DynamicRequirements(a=4, b=8) is complete
INFO: Scheduled DynamicRequirements(a=4, b=8)
DEBUG: Checking if SomeTask(number=4) is complete
INFO: Scheduled SomeTask(number=4)
INFO: Done scheduling tasks

DEBUG: Asking scheduler for work...

@hoffrocket
hoffrocket / processpiping.py
Created November 13, 2013 01:29
process bytes in a forked process from python
#!/usr/bin/env python
import sys
from multiprocessing import Process, Pipe
POLL_TIMEOUT = 5
def hdfs_hadoopbin_upload(conn, dstpath, hdfs_user):
print("Uploading to %s as %s" % (dstpath, hdfs_user))
chunk_count = 0
@hoffrocket
hoffrocket / Histogram.java
Created November 20, 2013 05:48
Java 8 Histogram
import java.util.Map;
import java.util.Random;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Histogram {
public static <T> Map<T, Integer> histogram(Stream<T> stream) {
return stream.collect(
Collectors.groupingBy(Function.<T>identity(),
JonAir:~ jon$ curl -v --socks5-hostname localhost:9150 -i ef13c001238735351bfaf0f8832bfbac
* Adding handle: conn: 0x7f8911003a00
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7f8911003a00) send_pipe: 1, recv_pipe: 0
* About to connect() to proxy localhost port 9150 (#0)
* Trying ::1...
* Trying 127.0.0.1...
* Can't complete SOCKS5 connection to 0.0.0.0:0. (4)
@hoffrocket
hoffrocket / server.py
Last active August 6, 2020 03:56
Tornado + multiprocessing
#!/usr/bin/env python
from multiprocessing import Process, Queue
import os
import sys
import time
import tornado.ioloop
import tornado.web

Keybase proof

I hereby claim:

  • I am hoffrocket on github.
  • I am hoff (https://keybase.io/hoff) on keybase.
  • I have a public key whose fingerprint is A4AB A02A 4F21 DA7D B7EC E7BC 8BFD 1D7C 2B6E E597

To claim this, I am signing this object:

Linux - create "Default (Linux).sublime-mousemap" in ~/.config/sublime-text-3/Packages/User
Mac - create "Default (OSX).sublime-mousemap" in ~/Library/Application Support/Sublime Text 3/Packages/User
Win - create "Default (Windows).sublime-mousemap" in %appdata%\Sublime Text 3\Packages\User
[
{
"button": "button1",
"count": 1,
"modifiers": ["super"],
"press_command": "drag_select",