• Translating Your Bash Configuration to Eshell

    One of the mental barriers I had in making the switch over from iTerm2 + Bash to Emacs’ Eshell was translating my .bash_profile (or .bashrc on some systems) into Emacs Lisp. Over the years my shell configuration has grown modestly, providing a slew of shortcuts, functions and styling customizations. Eshell...


  • Key Value Observation in iOS 11

    It seems like the past few weeks in iOS news has been dominated by the addition of the Encodable, Decodable and Codable protocols - finally fixing the ugly problem of dealing with JSON in Swift. The deprecation of the open source libraries that simplify dealing with JSON is a good...


  • iOS: The Builder Pattern

    Some of the most involved and repetitive code we write is the instantiation and configuration of objects. So why ever do it more than once? As an objects interface grows, the amount of code needed to instantiate the same object externally will grow equally. This increases the possibility of inconsistencies...


  • Since May

    A lot has happened in the past 6 months. Apart from the terrifying election that recently came to a close, I’ve moved to Hoboken, got a new job and shipped some cool software. Getting away from New York and living in the Appalachian mountains was always a one year plan....


  • Swift - Bits and Colors

    While perusing Apple’s Swift language guide, I came across an interesting section regarding bit manipulation. Unbeknownst to me, Swift sports the same bitwise and bit shifting operators used by both C and Objective-C. Here’s a recap: AND The Bitwise AND & operator combines the bits of two numbers, maintaining the...