Archive for June 23, 2014

Monday, June 23, 2014

FastMail Calendar

Rob Mueller:

After 9 months of intense work, we’re very proud to announce a major new addition to FastMail. We’ve taken all the great things about FastMail’s email hosting and applied them to build an awesome new calendar. You get the same incredibly speedy and elegant web interface. The same robust, fully-redundant backend (with live off-shore replicas). The same power behind an easy-to-use interface.

CalDAV support is included on the $40/year plan, with contact support on the way.

NSFetchedResultsController Stress Test

Mike Abdullah:

Step forward, The NSFetchedResultsController Stress Test. It’s a chaos monkey for pseudo-randomly modifying a simple Core Data model. After each iteration, the fetched results controller is interrogated to see if it’s correctly kept up. You can run the tool for as long as you like, but if there is a bug, it does tend to fail fairly quickly.

Multiple Animations

David Rönnqvist:

If there are multiple animations going on at the same time, they are all sent to the render server and all of their changes are applied to the render tree for each frame being rendered. If there are two (or more) animations for the same property, the first will apply its intermediate value and the next will apply its intermediate value on top of that, overwriting the first value. Even animations that are completed but not removed apply their changes to the layers in the render tree, leading to some unnecessary overhead.

Knowing this, our two cases with the order of the implicit and explicit animations can be explained and visualized as follows.


The best practice is actually to do the same thing as UIView is doing and disable the implicit animation. If we do that, then it doesn’t matter it we update the model before or after.

Immutable Swift

Alexandros Salazar:

I am fascinated by the possibilities Swift opens up: we are now able to try, in an idiomatic way, constructs that would have been strange and out-of-place in Objective-C. I think they’re exciting, and definitely worth exploring.


So there we have it. A very simple Cocoa app, but put together very differently from a normal Objective-C app. Even if you’ve used Model-View-ViewModel before in Cocoa, odds are you’ve never tried to use completely immutable data structures quite like this. I know I gave up very quickly the few times I considered it, because ensuring immutability actually increased the mental overhead of writing the Objective-C code.