In "Coalescing NSOperations" [https://williamboles.com/coalescing-nsoperations/] I wrote about coalescing NSOperations however, during the writing of that article, I began to explore other ways that I could coalesce operations. One solution I discovered has all the benefits of the previous…
> This post is now outdated, please instead check out my newer post on Coalescing Operations [https://williamboles.com/removing-bolierplate-when-coalescing-nsoperations/] for my latest solution to coalescing operations - I'm leaving this here in case anyone needs it. In "Networking wi…
Over the course of my career I've had the opportunity to experience interviews from both sides of the table and my understanding of what a good interview is has evolved with each interview that I'm part of. In my present role I was given the role of defining our interview process so this pos…
I've been building iOS apps since iOS v3 and most of the apps that I've created have had to connect to APIs to populate their UI. The technologies used to connect to these APIs and consume their content has changed over the years but I keep coming back to the same pattern parsing the respons…
After converting ConvenientFileManager from an Objective-C to Swift project I ran into some podspec issues…
Social networks work on the basis of presenting a feed and allowing the user to interact with the content contained in the feed in (hopefully) novel and interesting ways that the user derives usefulness (joy?) from. The presentation of the feed varies greatly from social network to social network bu…
When I first created ConvenientFileManager [https://github.com/wibosco/ConvenientFileManager] I didn't add a unit testing target - what can I say, I was young(er) and foolish. Recently I decided to rectify this grievous error and added a unit testing target. After writing the tests I pushed them…
> This post is based on an Objective-C example. If you are more interested in seeing how to combine networking and operations based on a Swift example, head over to the more recent "Building a networking layer with operations" [https://williamboles.com/building-a-networking-layer-with-o…
The reason I made this style guide was so that I could keep the code in my projects similar and allow for easier movement between projects. One of my key aims is to create projects that are easy to understand from the developers point-of-view so I often favour verboseness when it ensures that the t…