The templates that ship with Xcode are not the greatest. Some of them are inconsistent and don’t enforce good coding standards (e.g. missing a dealloc method). Other templates which would be useful just flat out don’t exist (e.g. an NSOperation subclass, or a protocol header file). This project aims to supplement or replace the built-in templates for Xcode to speed up coding and improve the quality of code.

Coding Standard

All files will be processed by Xcode. The generated source files must produce consistent, readable, commented code. The code must have these characteristics:

  • Each file must have a comment block at the top describing the file.
  • Each class must implement its superclass’ designated initializer and dealloc.
  • Stub methods must be organized by their purpose, class or protocol. — Each group must be organized by their class hierarchy, with protocol stubs following. — Each group must be prefaced by a pragma mark naming the class or protocol the methods were implementing. — Clusters of methods (such as relating to KVO) should be organized along the lines above, with a pragma mark.
  • All method implementations should contain a method call to their super implementation if needed.
  • All method implementations should contain a commented out stub line that will signify where to insert their code.
  • All comments must be in the form of two slashes //, and none using the /* */ form. This will allow developers to comment out large blocks of code as needed.

Wish List

  • Different people want different things in their template. For instance, someone may want to include an implementation of observeValue:… for every class. Would be nice to have a template generator application (yeah yeah, very meta) which would make templates customized to the developer.

URL Shrink is a new OS X tool with a very simple purpose – converting URLs to shorter permalinks on various web services. As the internet has matured, and services like IM, IRC, and Twitter have forced us to write shorter messages, it was clear that a system was needed that was as ubiquitous as Quicksilver.

For now, the main service of URL Shrink is just converting a URL that is on the clipboard, although this will be expanding over time (including things like a system text service, a command line client, a Quicksilver plugin, etc.). To do this, there is a keyboard shortcut (option-shift-space) which will convert the URL in the background to a tiny URL using one of the services provided. If you’ve selected one as your favorite, it’ll choose that one. For example, I’m personally partial to is.gd, so all the URLs that are processed by URL Shrink on my machine go through is.gd.

At a low level, URL Shrink is a system where multiple shrinking engines can be added. It was designed to be extremely easy for developers to write just a little bit of code to integrate with other web services, including private URL services. For information on that, see the project page below.

URL Shrink is licensed under the BSD license. I encourage its adoption within other applications; I’ll be adding .framework and .a targets for building this into Mac and iPhone apps respectively. Indeed, the project was born out of the URL shrinking capacity of another app I’m working on.

I could not be more pleased about this news. iTunes 8.1, which was released about an hour ago, renamed “Party Shuffle” to iTunes DJ. I’ve used Party Shuffle for a long time as a queue of music to play for day-to-day work, and have been frustrated with Apple’s Remote iPhone app and its lack of support for Party Shuffle. But their 1.2 App Store update, also released earlier today, has full support for it.

iTunes DJ divides iPhone users into two groups – guests and, for lack of a better term, the admin. The admin’s iPhone is paired to iTunes as before, and they get the iTunes DJ playlist added. You can skip through songs, cast a vote (addressed below), and request songs. While iTunes DJ is playing, selecting a song anywhere else throughout the app brings up a menu asking if you want to add to iTunes DJ or play on its own.

Guests don’t have to pair their iPhones to iTunes. They get to see a modified Now Playing screen, devoid of playback control. They can, however, request songs for iTunes DJ, and cast votes for songs. When they request a song, it automatically casts a vote for it.

Votes are pretty simple on the facet, but appear quite useful. Songs in the queue can be voted on by anybody. As they get voted on, they are automatically resorted in the queue by number of votes. However, you might get some guy at the party vote-clogging all night; fortunately, votes can be shut off by the admin.

All in all, this is the Big Deal feature in iTunes 8.1, and seems very well thought out.

Right before the Super Bowl. One of the country’s biggest chicken producers filed for Chapter 11 in December. This reorganization has caused huge slowdowns of their production. Coupled with the looming Super Bowl, expect your wings to be pricey for the next couple weeks.

This one is for all of those developers out there who scoff at JavaScript. This is a working neural network algorithm in JavaScript used for ripping apart CAPTCHA images (in this case, from Megaupload) and deciphering them. This is really sophisticated stuff, and even though Megaupload has some pretty easy CAPTCHAs, this should be pretty easily adaptable to other CAPTCHAs.

A full-page ad in the Wall Street Journal and USA Today, no less. Those aren’t cheap. Way to stay classy, guys.

I was really hoping this would happen. President Obama has, since the election, been working with Senator McCain on cabinet nominations. McCain has said that he would have made many of the same appointments.

Tim Cook, acting CEO of Apple:

We’re not going to play in the low-end voice phone business. That’s not who we are, that’s not why we’re here. Goal is not to lead unit sales, but to build the world’s best phone.

Hopefully this kills the stupid iPhone nano rumors. Kills ’em dead. It’s not coming, people.

EVE, the MMO with a heavy focus on market economics, gets hit with another player heist, albeit not a very creative one. Someone took a huge amount of in-game currency (ISK) from a player-run bank they were administering. This has happened before, and is perfectly legal via the rules of the game.

For those interested, this represents approx. $10,300 USD.

Thanks to Chief Justice John Roberts’ gaffe during the presidential oath of office yesterday, President Obama (I still smile a bit at seeing that word pair) decided to err on the side of caution and retake the oath today.

Probably not necessary, but then again, I’m not Bill O’Reilly.