Dynamically adding attributes to an Ember Data Model

Often times, you want to add some attributes to an Ember Data model dynamically (e.g. you might want a translateable attribute for each available locale). Lets say, you have a name attribute that you want to translate in English, Spanish, French and Chinese. Here's how you would usually write…

PromiseKit: Promises for iOS

Most of the apps today have to deal with lot of asynchronous stuff. If you do a lot of asynchronous NSURLRequests, Restkit's getObjectsAtPath:parameters:success:failure:, or even simple asynchronous UI actions (e.g. UIAlertView and UIActionSheet), I am sure you often see the code becoming ugly, wrapped inside asynchronous…

Push Notifications in iOS8

There have been some great changes to iOS notifications with the iOS8 update. This means that now you can send a payload of upto 2KB instead of the 256 bytes earlier. iOS8 also separates the silent and UI push notifications. It means that you can send notifications without any UI…

Uniqueness constraints in Parse Database

Parse is a great service for quickly getting an app out without getting into too much backend/server/database details. Its really easy to quickly set up your database schema and start saving and querying data. However, one of the most important things that it currently misses is the ability…

Store image dimensions in Parse with Cloud Code

Say you have a large number of images of different sizes on Parse. You're downloading them for display in a table or any other type of view. Of course, you definitely need the size of each image, while you are waiting for the download of each image. Something like this…

Nested Sections in UITableView

Sometimes, there might be cases where you would like to display nested sections in a UITableView. For example, consider an app organizing groups taxonomically like so Sports Bat-and-ball Baseball Softball Cricket Hockey Field Hockey Ice Hockey Roller Hockey Engineering Computer Science Software Engineer Electrical Engineer A UITableView really isn't designed…