Thoughts on technology, the world, and life

Blog

VirtualBox

An open source option for running virtual machines

Use Mprotect To Change Memory Page Permissions

Changing access rights on a process’s memory pages

I Couldn’t Help Myself

A few more additions from the Steam summer sale

Primary, Secondary, And Tertiary Directories

Questioning Linux’s separate filesystem hierarchies

OpenSUSE Boot And Shutdown Scripts

Where to put commands that run at startup and shutdown

Steam Summer Sale

Seventeen games at dangerously tempting prices

Erdogan On Twitter

Turkey’s prime minister takes aim at social media

“The Xbox One: Hardware Analysis & Comparison To PlayStation 4”

AnandTech compares the next generation of console hardware

Signatures For Built-In Python Methods

Why methods written in C resist Python introspection

OS X Computer Name Is Not The Host Name

Setting the hostname separately with scutil

Exit Status-Colored Bash Prompt

A compact prompt that changes color when a command fails

The Best OS X VNC Client

The Mac’s built-in option for remote screen access

My 2011–2012 Asia Backpacking Trip

Photo collections from my months of travel across Asia

OS X Terminal Meta Key

Making Option work as Meta in Terminal

Homebrew And The OS X $PATH

Putting Homebrew’s binaries ahead of the system versions

OS X Proxy Configuration

Getting command-line programs to use an HTTP proxy

Always Online Adam Orth Meme

The jokes and fallout from an always-online controversy

“The Analytical Language Of John Wilkins”

Borges on language, classification, and the universe

“The Definitive C++ Book Guide And List”

Choosing a book for learning C++

StarCraft II: Heart Of The Swarm Review

A sharp critique of Blizzard’s storytelling

Hacking A Google Interview

Resources for preparing for software engineering interviews

The Beauty Of XOR

Finding the unpaired integer by canceling duplicates

Simulate A Die Roll With Coin Tosses

Considering fairness and termination when turning coin tosses into rolls

How To Generate A Random Number

A joke about generating random numbers

Stack That Tracks The Minimum Element

Keeping track of the smallest value as elements come and go

Finding Overlapping Axis-Aligned Rectangles

An algorithm for detecting intersecting rectangles

Find A Substring

A Java implementation of substring matching

Can You Make A Ransom Note From A Magazine?

Counting characters to see whether the letters are available

Is An Integer A Power Of Two?

A short bitwise check in Java

Parse A Signed Integer

Converting a signed numeric string in Java

Member Variables In Outer Class Scopes

Using a qualified this to reach an enclosing instance

Binary Tree Mirror Equals

Recursively comparing two trees as mirror images

Shuffling Arrays And Bias

Why the Fisher–Yates shuffle gives each result a fair chance

Remember To Shut Down ExecutorService

Don’t leave Java’s executor threads running

First World Problems

A collection of favorite complaints about comfortable lives

“Open And Shut”

John Gruber on Apple’s willingness to make decisions

Method Return Types Should Be As Specific As Possible

Give callers the strongest useful return interface

Why You Shouldn’t Play Far Cry 3

A funny review takes apart Far Cry 3

Rename Files To Their Checksums

A Bash script for organizing files by content hash

Smoke Tests Vs. Sanity Tests

The difference between being able to test and being ready to test

Why Java’s Object.wait/notify/notifyAll Must Be Synchronized

Understanding the locking behind Java’s wait and notification methods

Nice Additions With Java 7

A few welcome improvements to Java’s syntax

Performance Numbers Useful To Software Engineers

Putting common computing operations on a nanosecond scale

Longest Contiguous Subarray

Finding the longest stretch with a nonnegative sum

Binary Tree Sequentializations As Identities

Using traversal sequences to compare binary trees

E Piss Bed

A mnemonic for approaching algorithmic interview problems

IGN’s 2013 PC Game Predictions

Hopes for Half-Life and Fallout in the year ahead

Decide If A Binary Tree Is A Binary Search Tree

Checking a binary tree’s ordering in Java

Partition Tree Nodes By Level

Grouping a binary tree’s nodes by depth

Compute The Middle Index

Two ways to calculate a midpoint

π