Migrating deprecated Server services

Like Apple announced this spring they have now removed many services from their macOS Server.app. There is a nice overview here [https://support.apple.com/en-us/HT208312]. There is also a migration guide [https://developer.apple.com/support/macos-server/macOS-Server-Service-Migration-Guide.pdf] , that should help with transitioning to some open

The internals of the macOS HUD

[tl;dr;] The frame of the macOS system HUD is (origin = (x = 620, y = 140), size = (width = 200, height = 200))... (at the time of writing) In one of the reviews of CapsLocker [https://itunes.apple.com/us/app/capslocker/id1102304865] a user disliked, that the HUDs in CapsLocker do not

Codable CoreData

Swift 4 [https://swift.org/blog/swift-4-0-released/], amongst other things, brought a way to serialize/deserialize data into/from model objects called Codable. Those changes were proposed under SE-0166 [https://github.com/apple/swift-evolution/blob/master/proposals/0166-swift-archival-serialization.md] . I'm not going to elaborate on how Codable works since it's

Swift 3

Together with iOS 10, watchOS 3 and Xcode 8 Swift 3 made its way into the public. Of course there were betas of Xcode (and with it Swift 3) before the public release. And of course I was playing around with them, too. While more and more projects are converted

Domain Change

You might have noticed that the domain of my blog changed from blog.ffried.net to ffried.codes. I've been waiting to use one of the new gTLDs and now I finally made the switch. It's not that easy to setup a root domain with Ghost [https://ghost.org], however.

Long time no hear

It's quite some time ago since I've last written something here. Sorry about that. I'm currenlty in the middle of moving from Switzerland to Germany which gives me quite a lot to do. But I plan to write some more posts again. For example I'm gonna write about my experiences


tl;dr; There is a neat little library for handling NSUserDefaults over here [https://github.com/ffried/FFUserDefaults]. For a project I've recently worked on, I've created a settings class which mirrors its properties into NSUserDefaults. I did so by overriding the getters and setters and directly forwarding the calls

Supporting App.net

About a month ago the App.net State of the Union [http://blog.app.net/2014/05/06/app-net-state-of-the-union/] blog post was published by the App.net crew. Like for many other App.net users it was surprising and sad at the same time for me, too. Surprising, because App.