Adopting a new programming language Over the course of my short career I've had the opportunity to build production-quality software in many new languages. I… Read more... Hour formatting with NSDateFormatter dateFormatFromTemplate TLDR; Using NSDateFormatter's dateFormatFromTemplate:options:locale: for 12/24 hours? Use "j" instead of "h" or "H" for the hour format. Last week… Read more... Builder and GCC Code Block Evaluation My post about the builder pattern got great responses and a lot of people offered alternative solutions to the same… Read more... TDD - Classicists vs Mockists A while ago I reread Martin Fowler's classic mocks aren't stubs essay. He does a great job of explaining the… Read more... The Builder pattern in Objective-C Learning Android and by extension Java has given me some new patterns to apply in my Objective-C code. The one… Read more... Android adventures #3 - Testing Due to an injury I had to suspend training for my first half marathon for the remainder of the week.… Read more... Android adventures #2 - The first crash Last week we introduced bug fix monday's at Karma. The goal is to have a dedicated day to fix bugs… Read more... Android adventures #1 — Perform task on launch I'm going to try and apply the Brent Simmons approach to Android development. This is the first installment. I need… Read more... The Pomodoro Technique A while ago I started working with The Pomodoro Technique. I initially had my reservations but after using it semi-consistently… Read more... Problems with iOS Push Notifications Push notifications are a great way to keep users engaged with your iPhone app. The amount of applications that support… Read more... Why I prefer testing with Specta, Expecta and OCMockito If you're testing your Objective-C code (you should) you've probably heard of Kiwi and XCTest. Great! Do you like it?… Read more... Initializing Objective-C classes with sane initial state Because Objective-C has the concept of designated initializers, you have to ensure your classes are instantiated using sane initial state.… Read more... Appreciating real world interaction Moving to New York and having to quickly adept to a completely different culture has really opened up my eyes… Read more... Debugging Ember While building the Karma customer dashboard I discovered several interesting ways to debug Ember apps. Some of these are my… Read more... CSS Markdown mark I've been impressed with icons created in CSS3 and decided to have a go at it. As an experiment I… Read more... Changes to AppEngine's _from_entity Both my blog and Enstore experienced a serious outage today. This was caused by a recent change to how App… Read more... The future Most of you probably already know, but for those who don’t; the company I work at, Sofa was acquired by… Read more... My git setup I have been using git since I started working on Cappuccino. Over time I’ve found several useful additions to my… Read more... Announcing autonib2cib Some time ago I posted a gist for a command line utility that automatically nib2cibs changed nibs. During the weekend… Read more... Improving the Cappuccino Theme System I've written about the Cappuccino theming system before^1 and I have a confession to make, I don't like the current… Read more... Cappuccino Custom Themes A while ago I wrote a blog post about the basics of Cappuccino theming(http://www.annema.me/blog/post/the-basics-of-cappuccino-theming). Since then I've got a lot… Read more... NSConference MINI 2010 Sessions Online This year, European developers had a hard time attending the WWDC(http://developer.apple.com/wwdc), Apple's developers conference. The announcement was to late, forcing… Read more... Programmatically Scroll a UIWebView Ever wanted to scroll a UIWebView programmatically on the iPad or iPhone? Unfortunately Apple doesn't have a public API to… Read more... The Basics of Cappuccino Theming This is the second post of a series of posts about Cappuccino where I explain the subjects I talked about… Read more... Objective-J Explained:
Toll-Free Bridges
Last week I gave a talk on the Cappuccino frameworks during a Cocoaheads Amsterdam meeting. This post is… Read more...
Welcome! After some delay it's finally here. Welcome to my blog! I intend to post here whenever I learn something new… Read more...