Some TODOs for the new site As I prepare to make this new version of dzombak.com live, I wanted to make a note of some things that are left for me to do.
Quick ADS-B monitoring on OS X A quick write-up of a minimal ADS-B monitoring setup, with a standard RTL-SDR receiver and a MacBook.
DRYing up duplicate code into helper functions We often assume it’s clear what it means to DRY up duplicated code. But it’s worth examining what DRY really means, and why it’s important.
Monitoring aircraft via ADS-B on OS X I recently set up an ADS-B monitoring rig on a Mac Mini at home. This post documents the process I went through to allow monitoring aircraft and feeding information to several flight tracking websites.
Statically-Typechecked Duck Types in Swift I present a hypothetical new Swift language feature which would allow something like duck typing in many use cases. This feature would be particularly useful in tests, where currently no good mocking/stubbing solution exists. The solution I propose achieves flexibility while maintaining the safety …
Choosing a Version Number for a CocoaPod with Updated Dependencies Semantic Versioning generally provides a clear rule for incrementing a library’s version number, but it fails to cover one common case which arises with CocoaPods: how are updates to a pod’s dependencies considered?
Parent-Child Communication in a Coordinator/View Model Application I received an interesting question via Twitter last week: @cdzombak In the coordinator/MVVM architecture you described on @fatalerrorfm, how do ParentVC communicate with childVC. PC->PVM->Cord->CVM? — Cory Sullivan (@jcsully98) January 12, 2017 It took me a few days to find the time to write …
Why Comcast injecting messages into web traffic is dangerous Comcast’s practice of messaging customers via content injection provides a beautiful vector for successful phishing attacks.
The hard problem in decentralized social networks “All that matters is signed data” means that your keys become your identity, and that you manage your social network by curating your collection of public keys. Nobody has come up with a really approachable, usable way of doing that.
Let’s Encrypt vs. iTunes: anatomy of an error delivering Fatal Error iTunes appears to use Java to fetch podcast feeds, which doesn't trust the root certificate for Let’s Encrypt, the certificate authority Squarespace uses to serve sites via HTTPS.
Over-Reactive? Complex data flows, especially in an asynchronous environment, _are_ complicated and hard; maybe the problem is _there_, not in a tool designed to help model and reason about them in a formal manner.