biased bits

An incredible ending to one of the best shows ever, Boss

Mistakes in Go: JSON (un)marshalling

golang, protip

Don't reuse the same struct address when unmarshalling JSON with Go. Seriously.

The prince and the magician

biased bits

"Reality is that which, when you stop believing in it, doesn’t go away."

Throughput impedance (mis)matching

golang, timehop

An overview of Timehop's push notification system, and how throttling and buffering communication between services on your backend can prevent you from DDoS'ing yourself.

Atomics in Objective-C

cocoade, bare metal

Fun with the OSAtomic package in Cocoa land.

Golang custom transports and timeouts

golang, timehop, bare metal

Golang, custom transports and slow leaks — the perils of not using timeouts across the board.

The Idiot Line

biased bits

A sort of ode to all the incredibe designers I've worked with.

Speed up AirDrop transfers


Airdrop transfers, from ~300KB/s to 10MB/s with a simple command.



Dynamically adding properties to Objective-C categories.

BBCyclingLabel: UILabel with animated transitions


A library to perform custom cycling animations when switching text on labels.

A/B testing with Jekyll and Google Analytics

protip, meta

How to run an A/B test with Jekyll and Google Analytics.

Cocoa data serialization benchmark: Archive framework vs custom serialization

cocoade, bare metal

Building a custom serialization mechanism that's about 2x faster than Cocoa Archive Framework.

Twitter, the Zombie Land

biased bits

The attack of the retweeting zombies.

Convert to Base 62 in Cocoa

protip, cocoade

Quick snippet to convert a number to its Base62 representation in Objective-C.

Bound to be ugly

biased bits

When things are built for the first time, they're not going to be pretty.

UIImage from ALAsset: getting the right orientation

protip, cocoade

Finding the True North of an ALAsset.

A CountDownLatch with GCD

protip, cocoade

For those who long for java.util.concurrent.CountDownLatch

NSDate and currentTimeMillis

protip, cocoade

For those who long for System.currentTimeMillis().

File System vs Core Data: the image cache test


Benchmarking CoreData vs a simple file-system implementation of an image cache for iOS.

Hide git folder with .htaccess


Enable user/password auth over SSH on EC2 Ubuntu AMIs


Not a particularly good idea.

Xcode Twilight theme


A pretty theme for Xcode.

Objective C unit tests and Categories: 'unrecognized selector'


Making sure your categories are available for unit testing on Xcode.

Non-US Apple MBP keyboard layout under Windows


If you don't have a non-US keyboard layout just move along.

Redis and JedisPool configuration – sensible defaults?

protip, bare metal

Glueing JedisPool configuration and Spring.

Netty tutorial – High speed custom codecs with ReplayingDecoder

bare metal

How to build a high-speed binary custom codec using Netty's ReplayingDecoder.

CountDownLatch vs wait()/notify()


A micro benchmark on Java's CountDownLatch vs wait()/notify() semantics.

Netty releaseExternalResources() hangs


Addressing a caveat of Netty's cleanup routines.

An enhanced version of ReplayingDecoder for Netty

bare metal

Tutorial on how to enhance Netty's ReplayingDecoder for complex use cases.

Java's new vs newInstance()


A Java reflection micro benchmark.

Handshaking tutorial with Netty

bare metal

Tutorial on building a client-server handshaking protocol with Netty.

Naming threads created with the ExecutorService


Assigning custom names to your Java threads for easier debugging.

SSH Tunneling handy one-liners


Connecting via SSH to a machine within a private network through a gateway.