Debugging Objective C
Matt has some handy debugging tips for Objective-C.
Matt has some handy debugging tips for Objective-C.
Released today: CodeIgniter 1.7, an update to the handy-dandy PHP MVC toolkit. Includes improvements to sessions, form validation, URI processing, and much more.
How to Design (Declarative) Programming Languages. In a nutshell, focus on a simple metaphor and stick to it.
A good summary of Google’s App Engine: App engine handles HTTP requests, nothing else. It’s not a direct competitor to AWS or EC2, rather it’s a different approach to the problem entirely.
Sybase reacts to SQLite for Blackberry. Sync is a hard problem, but they’re assuming (I think) a central source.
Better to train people and risk they leave - than do nothing and risk they stay. –anon
Jeff Atwood talks about how sitemaps are important for find-ability.1
I was an OS X virgin until about a month ago. My company offered to buy me a Mac, a shiny 24in iMac. It’s the first inspiring piece of technology I’ve had the luxury of using, next to my iPod touch. Not that I haven’t used a Mac before, I just haven’t owned one as a primary computer.
I’ve owned dozens of PCs. Laptops, integrated units, and plain-old-boxen. I mostly build my own PC hardware now, and it turns out okay. Nothing I’ve used, though, compares to the iMac. Why? The answer is somewhere between the superbly packaged hardware, and the damned reasonable OS.
I’m a Linux guy. I was a Windows / generic Unix developer before Linux was usable (and DOS before that, ST/Amiga before that, 850x before that). Ubuntu is an enjoyable packaging of Gnome and Linux; I use it daily, side-by-side with XP and Vista. They’re both capable. They’re both flawed. Depending what I’m doing, Ubuntu is my first choice, as it’s a developer’s platform. But neither Linux nor Windows compare to OS X.
On Ubuntu, things break regularly. Nothing insurmountable, but I found myself cursing broken Sane drivers, USB bugs, and package dependencies more than I should have. On Windows, things are just fundamentally broken, as the legacy design is so horribly coupled that developers don’t really stand a chance of building anything great. Microsoft knows it, but legacy has made it difficult for them to progress. I don’t hate either system, but neither inspire me.1
OS X is better. Not perfect mind you, but it forces several simple patterns on developers, making for a less coupled environment, inspiring a surprisingly rich set of tools for such a small market. And it’s that inspiration that drew me to Mac in the first place. Great software is hard to pull off, and I’ve found that most Mac apps are clean, simple, polished, and damned useful.
I’ve spent a few dozen hours in Xcode now too. Like the rest of the platform, it’s surprisingly sensible and productive. Objective C is a smart approach (C with eventing extensions), and the platform libraries (frameworks) of Cocoa are quite good. As an experienced C/C++ programmer, with experience in Java, C#, Perl, PHP, Ruby, Smalltalk, Lisp and other languages, learning Objective C was a breeze.2 The performance/abstraction balance is brilliant, especially for the iPhone.3
I’m still using Ubuntu and Windows (VMWareFusion), but the Mac has replaced my desktop system. I was more productive in Mac land within the first two weeks, mostly a function of Spotlight, Textmate, Spaces, and the great default terminal/shell tools. Next up, I’m saving for AI/PS, to replace the Gimp and Inkscape.4
Will Shipley’s Pimp my code column and other ramblings on programming. Contains tonnes of Objective C and Cocoa nuggets.
Usability complaints regarding Jacob Neilson’s usability website useit.com.