Niels de Hoog

Thoughts, stories and ideas.

Custom compiler warnings in Swift

Sometimes I want to prevent myself from accidentally committing a temporary change I've made for the build I'm currently running. In Objective-C this used to be accomplished by adding a simple #warning statement, but the Swift compiler does not offer a similar feature. »

HTTPS by default

Last week I finally took the time to configure all my sites to use HTTPS by default. If you look up at the address bar you will notice there is now a small lock icon next to the url. »

Voluntourism and World Unite

Last month, my girlfriend and I spent two weeks in Zanzibar to learn Swahili. We decided to go through an organization that friends of us had recommended, called World Unite. This turned out to be a mistake. »

How Jekyll Works: Under the Hood

Since I’ve been working on a static site generator called Spelt, I thought it would be useful to take a look at the internals of Jekyll and see how all its pieces fit together. As I was doing this, I realized that this information might also be useful for someone using Jekyll for their site, so I decided to write up my findings here. »

On turning 30, travel, and taking risks

Two weeks from now I will turn 30. Even though this could be described as a meaningless number derived from an arbitrary calendar system that we, as humans, invented, it still feels like a significant milestone. It seems like this is a moment for me to take stock of my life, and think about what I want to do with the rest of it. »

Blogging Like a Hacker for Non-Hackers

Back in 2008, Tom Preston-Werner wrote an article titled: Blogging Like a Hacker, describing how he had created the first version of Jekyll, a blog-aware, static site generator. Jekyll was born from a desire to create a tool that approached blogging from a software development perspective. This meant that it had to be flexible, easily managed as a Git repository, and that complexity would be kept to an absolute minimum. »

Deconstructing Animations Using Quicktime

For a recent project involving speech recognition, I was interested in analyzing how the different animations and transitions in the Siri interface were constructed. Specifically I wanted to know how Apple managed to make the transitions between the recording button and the sine wave animation look so smooth. »

Loading Resources for your IBDesignable Enabled Class

The IBDesignable and IBInspectable attributes provide a great way to preview and edit custom views right in Interface builder. However, if you've tried to load resources from the bundle to render in your custom view, you might have noticed that they don't load as expected. Using a method like UIImage(named:) returns nil when your view has been compiled for interface builder. »