Skip to content

Instantly share code, notes, and snippets.

This file has been truncated, but you can view the full file.
start entry
dyld_stub_binding_helper entry
_dyld_func_lookup entry
node::FSEventWrap::FSEventWrap(v8::Handle<v8::Object>) entry
node::FSEventWrap::~FSEventWrap() entry
node::FSEventWrap::Initialize(v8::Handle<v8::Object>) entry
node::FSEventWrap::New(v8::Arguments const&) entry
node::FSEventWrap::Start(v8::Arguments const&) entry
node::FSEventWrap::Close(v8::Arguments const&) entry
node::FSEventWrap::OnEvent(uv_fs_event_s*, char const*, int, int) entry

Creating a SmartOS VM

imgadm import 17c98640-1fdb-11e3-bf51-3708ce78e75a
vmadm create < vm.json

Update VM

  1. edit vm.json

Overview

A fully transparent http proxy that can be used to swap out npm packages on the fly.

Configuration

Environment

UPSTREAM_HOST=http://api.npmjs.org/
ADMIN_USER=bob

dependencies

root@de2af2218c88:/tpo-api# apt-get install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
#!/bin/bash
# COLORS!!!!
RED=$(tput setaf 1)
CLR=$(tput sgr0)
# 1. grab pending chagnes
# 2. remove ?? files that aren't part of the commit
# 3. only grab things in the index
git status --porcelain |\
#!/bin/bash
BLK=$(tput setaf 0)
RED=$(tput setaf 1)
GRN=$(tput setaf 2)
YEL=$(tput setaf 3)
BLU=$(tput setaf 4)
MAG=$(tput setaf 5)
CYN=$(tput setaf 6)
WHY=$(tput setaf 7)

build

Clone and build Node for analysis:

$ git clone https://github.com/joyent/node.git
$ cd node
$ export GYP_DEFINES="v8_enable_disassembler=1 v8_object_print=1"
$ export CXXFLAGS="-fno-omit-frame-pointer"
$ ./configure
function httpHandler(request, response) {
server.log(request.body);
local b = request.body
local l1
local l2
if (b.len() > 16){
l1 = b.slice(0, 16)
l2 = b.slice(16, b.len())
}else{
l1 = b.slice(0, b.len())

I think Semantic versioning is pretty useful, but it can be a tad arbitrary deciding when a version number should increment. In a dynamic language, what exactly constitutes the public interface?

Rather than marking interfaces as stable, or unstable, choose explicit consistency guaruntees for interfaces.

Interfaces should be marked as

  1. major

Keybase proof

I hereby claim:

  • I am groundwater on github.
  • I am groundwater (https://keybase.io/groundwater) on keybase.
  • I have a public key whose fingerprint is 2A5C 5EB2 E3C7 2DD5 4670 9E6C A3E8 5A7A 83C8 431A

To claim this, I am signing this object: