Automating Ghost Routes & Redirects Deployment Ghost clearly documents how to automate theme deployment with GitHub Actions, but deploying routes & redirects automatically is not as straightforward. This lack of straightforwardness is quite unfortunate in my view, particularly because custom routes are coupled to your theme; and redirects are somewhat coupled to routes since they both …
Solar Water Preheater Goals & Design Considerations Friends on Mastodon will know that I'm working on sort of a thermal battery for our house. Let me explain…
A migration to Ghost from Jekyll I just want somewhere I can quickly & easily share things. So, I'm testing out what a new iteration of dzombak.com may look like, running a self-hosted instance of the Ghost CMS.
Physics in Interstellar I was willing and ready to accept pretty much all of the science in Interstellar. But I have one big problem: rocket fuel.
Back Buttons for Web View Controllers If Zawinski's Law applies to desktop software, then I propose a corollary for iPhone apps: every app expands until it includes a web browser. In-app browser design is something I care deeply about, mostly because everybody gets it wrong.
Real World Singleton Design A discussion of practical architectural concerns when designing a singleton for a real-world iOS application.
iOS 8 Extensions Roundup I’m excited to start using iOS 8 extensions, but it’s looking like it’ll be a rough ride for a little while.
Let’s talk about Optionals There has been much complaining that Swift's Optional type forces you to think about whether something may be nil at every use, but aren’t we thinking about that already, just maybe implicitly? Swift’s optionals simply formally enforce the thinking we already must consider when writing (or …
Benefits of Cocoa: Still here in Swift Until now we all agreed these were benefits of Cocoa: * C compatibility * Dynamic dispatch * Nil safety * Duck typing Now they're all bad? — Nick Lockwood (@nicklockwood) August 6, 2014 Sigh. Okay, let’s take this one item at a time: C compatibility Still there. Nil safety Was never there …
It’s Not Exploitable This article showed an excellent point: taken alone, a memory leak or other “low-impact” bug may not appear to be much of a problem. But taken together, a set of these bugs can turn into an exploitable security hole. A few classes of bugs used in that exploit: * off-by-one * memory …
Code Optional Part of the Project Announcements series. I realized today I didn’t post anything here announcing Code Optional. I launched this podcast in July with my friends Andrew and Kevin, two of the sharpest developers I know. We aim to discuss all sorts of topics around development, design, and shipping …
Tech Debt and Refactoring Refactor as necessary to avoid adding tech debt during day-to-day. Add tests and rearchitect during the normal development cycle when adding to a preexisting codebase. Taking the time to do things right makes everything take a little longer than it strictly needs to, but it allows you to avoid unpredictable …
Explicit Programming Concretely, this post is about a guideline for object-oriented and imperative programming, but the underlying principles and conclusions should be equally applicable to some other paradigms. One example here uses Cocoa Touch and Objective-C pseudocode, but again the principles described apply equally to any framework. It’s very easy to …
↗ Avoiding Singleton Abuse Avoiding Singleton Abuse · objc.ioobjc.io publishes books, videos, and articles on advanced techniques for iOS and macOS development.Stephen Poletto
Follow me on Pinboard Update, April 2023: I’m no longer using Pinboard. I’ve been pretty excited about Pinboard lately. I realized a while ago that its network feature (including RSS), in conjunction with support for tags and notes (including the <blockquote> tag) make it basically a microlinkblogging service. I always …
Quick followup on singletons Part of the Singletons series. This is a quick followup to my post about singletons in Cocoa apps. Read it first for context. Another developer asked me a few questions about the points I made in my previous post on singletons. I’d like to post my (lightly edited) comments …
Including your Pods directory in source control On my current project, we made the decision a month or so ago to add our Pods directory to git. The team has seen a number of benefits from this decision. There are certainly some negatives, but in our experience the positives have been huge, immediately tangible, and well worth …