-
Software Engineering Isn’t Magic
The other day I was chatting with a friend who is both very competent and early in their software engineering career. They had noticed it sometimes took others less time to solve problems than it took them, and when they’d ask for help, these folks knew the answer or could often point them in the…
-
Thoughts on Teams
People have different value systems. Someone may value very expensive headphones, or cameras and you may value sneakers. Someone may value working really hard, and you may value having time to live and travel. It’s best to not push your value system onto others, because it can harm relationships. It’s okay and good that people…
-
Resolving Conflict with Empathy
Note: I wrote the following note over a year ago, but only recently decided to send it to my newsletter. I’m not sure why I sat on it so long. Your [respectful] thoughts are welcome on Twitter. Empathy doesn’t always come easy, but it goes a very long way toward building trust with those around…
-
Finding Dependency Cycles in iOS Builds with llbuild UI
Did you know the swift-llbuild project contains a debugging tool called llbuild-ui that can find dependency cycles in your iOS build? To try it: Enable the New Build System (In Xcode it’s under File, Workspace Settings) Build your project Open the Derived Data directory on your machine and find the build.db file generated by the…
-
Diagnosing “Dependency Cycle Between Targets” in Xcode 9’s New Build System
Xcode 9 includes a new build system that can substantially improve build times. The new build system is more strict about build issues, but some of its diagnostic output can be difficult to reason about. One difficult to debug error is “Dependency cycle between targets,” which may appear during incremental builds where you may not…
-
Implementing Rich Notifications in iOS 10
I’ve spent a bit of time with notification extensions in iOS 10 and they’re pretty great. If you’re not familiar with notification extensions, check out Apple’s Introduction to Notifications talk before reading this post. Anywho, notification extensions improve your app’s notification experience giving you a chance to mutate notification payloads, download and display media, and…
-
GCD: Using Dispatch Groups for Fun and Profit
I’m republishing this article here so I can reference it later. I recently needed a way to perform an unknown number of asynchronous http requests and wait until they were all done before proceeding. dispatch_groups are a neat feature of Grand Central Dispatch (GCD) that made this easy to do. There are a couple of…
