About

Notes from development and other observations.

Blog

macOS hostname config
macOS has no /etc/hostname, instead you have to use scutil (“Manage system configuration parameters”) to (permanently) change your hostname. There …
New make
GNU Make is a fabulous, underrated tool. I use it a lot for documenting my data organization — sort of …
Vagrant
Vagrant quickstart reference: vagrant init → create Vagrantfile file in current directory. vagrant up → start up virtual box based …
Parsing
Basics of simple parsing. LR: left-to-right, rightmost derivation LL: left-to-right, leftmost derivation LALR: look-ahead left-to-right, rightmost derivation
Cleaning up macOS bloat
Freeing up disk space on macOS, particularly caches that usually never get purged. Development packaging caches Ruby ~/.gem contains gem-installed …
GitHub Pages
GitHub pages are great, but they will only serve files from a branch in your git repository named gh-pages. (I …
ls output
ls results setuid bit. Denoted by s (directories) or S (files) in the permissions block of ls results, it only …
SSH Tunneling
ssh CLI flags: -N Do nothing (except connect) -f Fork to Background -q Suppress any output -v Verbose -p Specify …
Chrome extensions
How to add third-party extensions to Chrome, like from www.chromeextensions.org. $ open ~/Library/Preferences/com.google.Chrome.plist Add a Key at the root level …
Nunberg simile
I just thought this quote from Geoff Nunberg was fun: It’s like hearing someone warn of grave domestic security threats …
K-means++
So K-Means++ is just K-means, except instead of choosing initial centroids at random, you choose centroids that are furthest away …
Tr
tr is a hard-to-search-for command, but very useful. Convert tsv to csv: cat names.tsv | tr '\t' ','
Flickr misplacement
I don’t know who this is, or what they’re referring to. http://www.flickr.com/photos/white_ribbons/5902656773/ But I kind of like the idea that …
Android
Just got an Android phone, HTC Evo V. It is a pile of frustrations. Did anybody actually design this thing? …
Javascript semicolons
Apparently (says mislav), semicolons are totally unnecessary except for one case: “When a line starts with parenthesis, prepend a semicolon” …
Maxine
I’m on this listserve thing called “The Listserve” where it’s like 20K people and each day one person wins the …
Girls and Their Hair
Just launched my photography website: GirlsAndTheirHair.com My given name + last name + “photography” is dreadfully saturated on Google: www.google.com/search?q=Christopher+Brown+Photography …
Monitoring
There’s a door here in Harpa that has a doorbell, one of those velcro wireless things. At least, that’s what …
Usermod
I look this up probably once every two months: # Add the existing user "chbrown" to the existing group "sudo" …
Quora age envy
Interesting snippet from a Quora question on envy, by a guy Matthew Manning: You have ZERO idea what their personal …

Reference

Angular.js

Awk

Bash

CSS

Clojure

DOM

Flickr

Geo

Git

GitHub

HTTP

Haskell

IMAP

Iptables

JavaScript

Launchd

Linux

Make

Mechanical Turk

NPM

Node.js

Node.js: http

Node.js: stream

PDF

PostgreSQL

Python

React

SSL

Scala

Screen

Spark

Supervisor

Swift

TeX

Twitter

TypeScript

Unicode

Vim

YAML

macOS

tmux