Struggles with Vapor 3
I am working on my very first “real” side project since 2006! Not counting a bunch of open source projects I started and maintained since 2006, no, I mean a real user-facing project with a backend, website, iOS app, the whole shebang. It’s been a...
2016 in review
It’s that time of year again to look back and reflect at everything you’ve done and achieved, and to make plans for the next year. 2016 was a pretty big year for me, both personally and professionally. In the end of August 2015 I moved back from...
Searching for a next gen back end
A while ago I started to think: if I were to build a brand new web app plus back end today, what would I use for the back end, and how would the client talk to it? So far my APIs have been very standard REST affairs: endpoints per model that get/save...
My one weekend with Android
A while ago I decided to get an Android smartphone. Sounds like a very simple decision right, but as somewhat of an Apple fanboy for many years, I kind of shocked myself with this decision. It all started with my desire to buy a smartwatch, and the...
Our front end stack one year later
One year ago I wrote my third article in a series where I researched front end tools, and with all that I learned I began to improve our front end stack at Sling. It’s the big Angular app that I wrote about, on which I’ve worked for 2.5 years now....
Researching front end tools, part 3: Angular & Webpack vs Browserify
Since early 2014 I’ve been working on a pretty big and complex Angular app called Sling and sadly it’s not using any module system and it’s still using ES5 only. It uses Gulp to bundle and minify all the JavaScript, compile and minify our Less files,...
Researching front end tools, part 2: Deku, page.js and cssnext
Two weeks ago I started my journey into researching front end tools, with the idea to find my ultimate stack of build tools, JavaScript frameworks and/or libraries, CSS processors, a code style to follow and code linter to enforce it, and finally...
Researching front end tools, part 1: Ampersand.js, React, Webpack, PostCSS and ESLint
Since early 2014 I’ve been building a fairly large and complex JavaScript app in AngularJS, using Less as the CSS pre-processor and Gulp as the build system. I haven’t used ES6 or modules so far, via Browserify or otherwise. While it works and...
Review roundup: email clients for OS X
Email is a huge part of my my life and I need a client that accommodates my ways and habits. It needs to be fast and user friendly. It needs to support multiple email accounts. And it needs to offer proper Google Mail support: archiving email by...
Searching for a solution to back up all my pictures to the cloud
I have well over 35 GB of pictures, and after almost losing my hard drive (it started to behave very strangely but I was able to salvage all the pictures) I realised that I need to back them up in the cloud. I do usually share my best ones on...
Review roundup: iOS debug tools and inspectors
All of a sudden it seems there’s a big effort to create debugging tools for iOS developers. Some are free, they all have different features… Time for a comparison. PonyDebugger “Remote network and data debugging for your native iOS app using Chrome...
Getting started with programming
At least twice per year someone will ask me how he or she can get started with programming. With the economy down jobs are hard to find, but there’s always a need for developers, at least here in Iceland - so it’s no wonder that more people are...
iOS development: three years later
In April 2010 I started to work on my very first iPhone app. A new language, a new IDE, a completely new way of thinking about development (threads! memory! crashes!), it was very exciting. In these three years quite a lot has happened to us iOS...
JobControl is six years old
I absolutely love open source software. I use all kinds of third party libraries for iOS for example (installed via the open source CocoaPods project of course), which makes my life as a developer a whole lot easier. And in return I open source some...
Apple's worst iOS framework: MediaPlayer
When I started to work on Last.fm’s Scrobbler for iOS, I though it would be quite an easy app to create. After all, it’s basically a couple of lists of artists, albums and tracks, and all actual music playback will be done using the MediaPlayer...
The software I used in 2012
As a software developer, I use a lot of software and tools to help me in my job. In this post I’d like to list some of my most used software of the last year. Hopefully there are some gems that can help you as well! Xcode As an iOS developer, this...
Looking back at 2012
On January 2 I moved to Iceland with two suitcases and a job contract. My new title: iOS developer at Gangverk, a small company creating iPhone- and Android apps for CBS in the United States. This was the beginning of an amazing year for me, both...
MPVolumeView (Airplay button) on an UIBarButtonItem
In an app I’m currently building, the client wants an Airplay button in the navigation bar, with a nice background like so: After trying some things, the solution seems to be to loop over the subviews. It feels a bit hacky, but works perfectly:...
Why is there no perfect browser?
I’ve used Firefox for a long, long time, back when I still used Windows pc’s, until the summer 2007. Chrome didn’t exist yet, Internet Explorer sucked and Safari was still Mac-only. Since then, I’ve switched browsers many times: from Firefox to...
Playing around with static site generators
Even though I’m quite happy with this website and its code, I want to rebuild it using a static site generator: you write your posts and pages with Markdown, write a couple of page html templates, and simply by pushing a new file to Git, your new...