The Technical Fraternity

Let's get real

Russ Bishop
October 13, 2016

When I read @RedQueenCoder's blog post... it really angried up my blood.

To all of you claiming knowledge of data structures is some kind of signal in interviews? Stop it.


It isn't reasonable to expect a candidate to derive that elegant solution it took two PhDs 8 months to discover.

Algorithm questions are not a way to . . .

Read More

Command Line Swift


Russ Bishop
September 21, 2016

This post is mostly a brain dump of what it takes to use Swift for command line scripting.

Update: I've added -S to env. This makes things compatible with recent versions of FreeBSD. There doesn't appear to be a portable solution for Linux because it treats the entire line after the first space as a single argument rather than . . .

Read More


I came to remind you of what you once knew

Russ Bishop
September 09, 2016

Bar Ziony was asking about using type erasure to create a property that can contain any possible adopter of a protocol, but without using generics. I posted a gist but wanted to go over it in more detail, plus answer some follow-up questions.


We'll start with a protocol and two types that adopt the protocol:

protocol  . . .

Read More

Apple File System


Russ Bishop
June 15, 2016

The Apple File System is still a slightly mysterious beast. Apple has reason to be cautious: A new file system is always a huge undertaking and the risks couldn't be higher: a serious bug can cause complete data loss.

AFPS is intended to replace CoreStorage, FileVault, and the iOS variants of HFS+. That's a lot of functionality!

. . .

Read More

Xcode Extensions

A brave new world

Russ Bishop
June 14, 2016

Xcode 8 now supports an official extension API. The first extension type supported is the Source Editor extension (though probably not the last). The flip-side is that Xcode 8 adopts System Integrity Protection. That means it is no longer possible to inject code into the Xcode process. Alcatraz is closed for business.

Basics of XcodeKit . . .

Read More

Packing Bytes in Swift

It's Unsafe Pointers All The Way Down

Russ Bishop
May 12, 2016

Today I want to do a small exercise in packing some Float32s into a SQLite Binary Large Object (BLOB) column. Sure I could use JSON, protobuf, or some other encoding. Yes I could also use NSNumber, NSArray, and NSCoder or plists.

Instead I want to do this purely in Swift and mostly analogous to what you'd do in C because it's . . .

Read More

Swift: Why Associated Types?

It's rabbit holes all the way down

Russ Bishop
May 03, 2016

Associated Types Series

In my last article I gave an incorrect explanation for why Swift has associated types. It was half-correct in that specific knowledge of the types gives the compiler the ability to optimize but that's really an orthogonal issue and . . .

Read More

  Subscribe by Email and Never Miss a Post