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.
A brief index of many neat Ann Arbor things An adaptation of an email I wrote tonight to a friend who recently moved to town. It’s not a complete index of everything that’s fun or cool in Ann Arbor, and it’s heavily oriented around our particular interests, but it’s a start.
Ad networks in their current incarnation are too dangerous to be allowed to exist. They work fine for their intended purpose (that is, delivering mediocre advertisements and tracking you across the web), but more importantly they’re very effective at distributing malware, quickly, to _lots_ of people.
Modeling polymorphic relationships in Swift (spoiler: enums seem pretty cool) In traditional Objective-C code, we’d typically use protocols to express a polymorphic relationship. In Swift, we can take advantage of the language’s powerful enumerations to model these relationships, eliminate runtime type checks, and remove room for error in client code.
App Transport Security: What, Why, How? In this talk, I answer all your questions about App Transport Security: What is it? Why does it matter? How do you make your server compatible with it, and how do you configure your app to talk to non-compliant servers? Which other apps are using ATS?
Ad-light, Malware-heavy Forbes has been running an anti-adblocking experiment which completely misses the point—and serves malware as a bonus.
Quotes Paul Graham, 2005 (commenting on Lemonodor): I actually worry a lot that as I get "popular" I'll be able to get away with saying stupider stuff than I would have dared say before. This sort of thing happens to a lot of people, and I would …
‘Obviously super complex’: evaluating software architecture as simple vs. easy I have a problem with the characterization of VIPER, right out of the gate, as across-the-board “obviously super complex”, for a few reasons.
String is not a sufficient type: how using your type system can help you make better software We deal with types, explicitly or implicitly—depending on our language of choice—every day. We often use them without even thinking about them, or we consider them an annoyance when we’re just trying to get something done. This brief talk presents an accessible metaphor to help explain that type sy…
Writing good commit messages Guidelines and links to reference material on writing good git commit messages.
Working with custom UIView designated initializers I have a UIView subclass, with a custom designated initializer. How should I handle the requirement to override initWithCoder:?
Nobody is using App Transport Security; what’s next? I did an informal survey of some widely-used iOS apps. I wanted to see which had opted out of the new App Transport Security checks in iOS 9. The results aren’t very promising.
Ad blockers aren’t killing the web; ad networks are killing the web A bunch of people this morning are sharing The Verge’s article about ad blocking. But ad blockers aren’t the problem here. Ad networks are the ones killing the web and if they want to stay in business they have some shit to fix.
Multiple Inheritance vs. Traits or Protocol Extensions A friend asked me at WWDC how Swift protocol extensions (or Scala traits, or Ruby mixins) are substantially better than multiple inheritance. Here are a few links and thoughts.