Skip to content

Instantly share code, notes, and snippets.

View zbjornson's full-sized avatar

Zach Bjornson zbjornson

View GitHub Profile
@zbjornson
zbjornson / example.js
Last active August 10, 2016 16:16
SO 5263716
var http = require('http');
var server = http.createServer(function (req, res) {
req.connection.unref(); console.log("Got request. Connection unref'ed again");
res.writeHead(200, {"Content-Type": "text/plain"});
setTimeout(function () {
console.log("Handler timeout invoked");
res.end("Hello", function (err) {;
@zbjornson
zbjornson / cluster-events.js
Last active August 3, 2019 12:12
Showing off all cluster events
const cluster = require("cluster");
if (cluster.isMaster) {
function messageHandler(msg) {
console.log(msg);
}
cluster.on("message", function (worker, message) {
console.log(`master: (cluster.onMessage) '${message}'`);
@zbjornson
zbjornson / Base.js
Created July 11, 2016 23:41
(SO question) JS for typescript, trying to create generic factory method on base class
"use strict";
var MyNS;
(function (MyNS) {
var Base = (function () {
function Base() {
}
Base.create = function (foo) {
return new MyNS[foo.type]();
};
return Base;
@zbjornson
zbjornson / node_buffer.asm
Created June 20, 2016 17:51
swap32 without alignment check
void Swap32(const FunctionCallbackInfo<Value>& args) {
00007FF79E253100 push rbx
00007FF79E253102 push rdi
00007FF79E253103 sub rsp,28h
00007FF79E253107 mov rdi,rcx
Environment* env = Environment::GetCurrent(args);
00007FF79E25310A call node::Environment::GetCurrent (07FF79E22D240h)
THROW_AND_RETURN_UNLESS_BUFFER(env, args[0]);
00007FF79E25310F cmp dword ptr [rdi+10h],0
Environment* env = Environment::GetCurrent(args);
@zbjornson
zbjornson / has_lib.js
Created April 24, 2016 19:05
has_lib.sh in javascript for node-canvas
var query = process.argv[2];
var fs = require('fs');
var path = require("path");
var childProcess = require("child_process");
var SYSTEM_PATHS = [
"/lib",
"/usr/lib",
"/usr/local/lib",
"/opt/local/lib",
@zbjornson
zbjornson / demo.java
Created October 12, 2015 19:36
Running arbitrary jobs in parallel on Google Dataflow
package demo.pipeline;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.LinkedList;
@zbjornson
zbjornson / pancakes.recipe
Created September 23, 2015 00:03
Protein pancakes
Version 1:
5 egg whites ┐
1 whole egg │
0.5 c flour │ combine all and cook
1 heaping scoop of vanilla Monster Milk ┘
http://www.bodybuilding.com/store/cs/monstermilk.html
Version 2:
1 c flour ┐
function flip() {
var flipper = new Uint8Array(4 * 10000);
flipFloat(flipper, 10000, 4);
}
function flipFloat(flipper, iMax, eSize) {
for (var i = 0; i < iMax; i += eSize) {
var t = flipper[i];
// Toggle this line:
if (t === undefined) {}
var buf1 = new Buffer(1024);
for (var i = 0; i < 1024; i++) {
buf1[i] = i
}
function toArrayBuffer(buffer) {
var ab = new ArrayBuffer(buffer.length);
var view = new Uint8Array(ab);
for (var i = 0; i < buffer.length; ++i) {
@zbjornson
zbjornson / make_specs.rb
Created December 17, 2013 05:28
Designed to rough-out the spec folder of your Ruby on Rails application. For example, you have a ton of models living in WEB-INF/app/models and want WEB-INF/spec/models to have corresponding model_xxx_spec.rb files, complete with the header (e.g. schema, copyright--anything in the top of the file that starts with a #) and "describe #{method}" st…
puts "in #{Dir.pwd}\n"
Dir.entries("app/helpers").each do |file_name|
file_path = "#{Dir.pwd}/app/helpers/#{file_name}"
puts "Processing #{file_name}\n"
unless File.directory?(file_path)
spec_file_name = file_name.sub(/\.rb/, "_spec.rb")
unless File.file?("spec/helpers/#{spec_file_name}")
class_name = nil