Odds and Ends for Oct.21.06

I need to do these more often. Apparently link blogs aren't easy to pull off if you're not John Gruber, so this format will stay for now. This time, though, I'm categorizing with Mac and Cocoa up first.

Is It Friday - Yes

(Yes, I know it's technically it's not Friday anymore.)

Mac and Cocoa

Andy Finnell explores using Core Data in a multi-threaded app and (correctly) discovers that what you need to do is make a separate Managed Object Context for each thread. Also check out his review of ZigVersion, a commercial Subversion client. (Adding him to the Cocoa Dev Central blog list was clearly the right call.)

If you're looking to do some fancy 2D and 3D animations in your Cocoa app, the Vacuous Virtuoso blog has a walkthrough. Some of the effects are using CoreImage, others use private Quartz routines.

SQLite 3.3.8 has full text search. Not sure how this will impact Core Data just yet, but it should be a big help to people using raw SQLite.

You know you've been coding too much when you have a dream that you are a Managed Object, wading in the great big Managed Object Context which unites us all. He used my illustration from Cocoa Dev Central's Core Data tutorial, but he did give credit.

With all the parallels between Cocoa and Rails, it's not surprising newbie Rails programmers would run into some of the same mental stumbling blocks as Cocoa programmers. You are encouraged to add code to model objects to make things easier at the view level. That goes for both Cocoa and Rails.

SimpleChord is a brilliant music piano-based music app which helps you lookup chords (even do reverse lookups), build progressions, print progressions, and so on. Solid Mac OS X interface.


This blog post has pretty much sealed the deal. I'm not touching World of Warcraft.

Craig Mullins has done artwork for Final Fantasy, Halo, Age of Empires, and others. His personal gallery is breathtaking, and I don't often use the word "breathtaking." An absolute must see.

Yes.com is a neat little tool if you listen to the radio at all (I actually don't, but still). You can see a listing of all of the songs recently played on a certain station, or a crosscut of a number of stations. Each song has a link to the iTunes store.

The greatest entry in any school talent show ever is this live re-enactment of Super Mario Brothers. The crowd's exuberance at all the little touches makes the performance.

Daring Fireball pointed out a game in development called Limbo. The trailer is enough to sell me. Along the lines of Sony's Ico, which is one of my all-time-favorites.

I'm also interested in a game called The Act, which is being worked on by former Disney animators. Looks like maybe it's in the style of the Dragon's Lair games?


As difficult as it is to process, there appears to be a 3,600 mile long ant colony out there. That's right, miles, not feet:

The colony is 3,600 miles long, stretching from the Italian Riviera to northwest Spain. It consists of billions of Argentine ants living in millions of nests that cooperate with each other.

Another shocker. The largest and oldest living organism in the world is a plant: an 8 kilometer strand of Posidonia which has been growing for at least 100,00 years.

It's beyond my comprehension, but Iceland has apparently giving the green light to commercial whaling. I don't think we'd tolerate the hunting of Dolphins, so why is this acceptable? Absolute insanity.

Last But Not Least

One of my favorite Family Guy scenes ever.
Design Element
Odds and Ends for Oct.21.06
Posted Oct 21, 2006 — 5 comments below


Harvey Swik — Oct 21, 06 2117

If you're looking to do some fancy 2D and 3D animations in your Cocoa app, the Vacuous Virtuoso blog has a walkthrough.

You might have mentioned something about using undocumented APIs being totally hacky. Why would someone even suggest using these in shipping code? It boggles the mind.

Scott Stevenson — Oct 21, 06 2122 Scotty the Leopard

Why would someone even suggest using these in shipping code?

Using undocumented code is sort of a black art. Or is it a gray area? Anyway, it's not pure white. It is, however, the only way to pull certain things off.

For example, if you want to use drag-and-drop in a NSOutlineView which uses NSTreeController, you have to use private API.

Is it better to omit a vital feature, or simply change your code if the underlying API every changes?

Tony Arnold — Oct 21, 06 2123

Harvey, if you've ever had a good look at CoreImage transitions vs. "The Real Thing" (private Quartz APIs), you'd understand why it's necessary. Apple is doing a good thing with the Core* frameworks, but CoreImage is nowhere near as fast for those fancy effects as raw Quartz/OpenGL is.

Yes, it's hacky. Should people use it in their text editors or IM clients? In my opinion, hell no, but there are valid uses - look at the virtual desktop managers (*cough*VirtueDesktops*cough*). Still, there probably need to be disclaimers around using this code given how it tends to change with each major OS release.

Scott Stevenson — Oct 28, 06 2202 Scotty the Leopard

Here's a follow-up to the Core Graphics / Core Animation article.

Ankur — Nov 03, 06 2295

Thanks for the mention, Scott. I'm actually quite surprised at the response to both articles.


Comments Temporarily Disabled

I had to temporarily disable comments due to spam. I'll re-enable them soon.

Copyright © Scott Stevenson 2004-2015