That Intel Announcement

June 8th, 2005 by Steve Harris

Sadly, I couldn’t attend WWDC this year – I was about $3500 short (i.e. all of it) and not being overly keen on spending $999 on leasing the transition kit I’m going to need an Intel Mac in the next 18 months or so, which means I can’t really expect to be going next year either. Always good to know where you stand!

So what of the switch to Intel? Naturally, I gasped in horror when the rumours proved to be true, but after some deep breaths and even longer spent in a darkened room I’m warming to the idea. I haven’t seen Mr Jobs do his thing yet, so it can’t be RDF, unless it’s seeping subliminally through my RSS feeds. Overall, and performance issues aside (consider the lack of optimisation, PPC emulation and no AltiVec support), things should be no different. Mac OS X will still be Mac OS X and it won’t (officially / legally, at least) run on anything that hasn’t got an Apple logo stuck on it. RISC chips such as PowerPC may perform much more efficiently at lower clock speeds than CISC chips, but try telling that to the marketing department. Additionally, I would imagine almost everyone has had enough of seeing PowerPC roadmaps redrawn on an annual basis because of manufacturing problems, corporate meltdowns, Mercury retrogrades, etc.

Like many other developers my applications won’t need anything particularly special done to them apart from recompilation, packaging and testing on the aforementioned Intel Mac. I can see a few issues, but nothing devastating. The developers most affected will be those who do low-level funky stuff that will be affected by a change in architecture (big-endian vs. little-endian, for example). The cross from 680×0 chips to PowerPC was almost a seamless experience and this should be similar but different. Similar in the sense that you would have emulation of the “old” chip on Intel and different in that the hardware transition will take much longer and could start from the bottom up rather than the top down thanks to deficiencies in Intel’s 64-bit SMP (Symmetric Multiprocessing) support and a lack of G5 laptops. I also think it will be much less painful than the transition to Mac OS X, which felt like being a full-time beta tester for the first year or two.

So is this simply Apple abandoning over 10 years of PowerPC (incidentally it was my interest in the introduction of PowerPC that made me buy my first issue of MacUser UK, back in ’94) or could there be advantages beyond the ones that only interest accountants? Well yes, if you consider that the Mach kernel (upon which OS X runs) is designed to run multiple operating systems simultaneously (think Classic) and that Windows would require no hardware emulation to run on a MacTel. I think you will agree that would make switching to Mac a whole lot easier and considering the endless troubles PC users seem to be having with the security and stability of Windows, Apple should have a captive audience there. What’s more, things that are low-level and funky might not be quite so difficult to port from other Intel-based platforms to OS X.

Overall it’s a big announcement, which by its very nature can send your MacEmotions into a spin, but in reality it won’t make much difference. The transition will be “fun”, could cost some people quite some money, but it will be nothing compared to the transition to OS X.

Twenty Four Severed

June 1st, 2005 by Steve Harris

Today it’s two years since I officially became a self-employed Cocoa developer, although things didn’t really kick off until I landed in Phoenix, Arizona to rendezvous with my erstwhile business partner on June 10th, 2003. The first 40 weeks spent in that wilderness (and for two months, quite literally so) were absolutely dreadful, but since April last year, when I first started working completely for myself, things have improved enormously and now I can say that I’ll never look back.

Not that I would be welcomed back into the world of IT services if I tried. Actually, I’ve had wobbly moments in the past, applied for jobs and been made offers, but once you leave the Corporate Machine (particularly to be a Mac developer) you are typically regarded as a maverick and the extensive experience on your CV is ignored. I understood this when I left and part of my plan was to keep the contracting side of my career going, but it’s impractical to do both well. Besides, I was sick of working for other people. I chose the starving artist route and here I am, happy and thin.

Ten years is a long time and it was weird the first day I was no longer part of that machine. Even though it was my decision to leave, it was like being removed from the Matrix: I felt disorientated, weak and strangely numb. Nowadays, even the thought of returning to that world makes me nauseous. For me, getting into the IT services industry was something of an accident. I enjoyed it for the most part, worked hard and achieved my aims but suddenly ran out of places to go.

All I got from the last year or so was helping other people and working with a good team. After a while things become so abstract you no longer actually do any real work, only talk about it. I have attended enough meetings, pre-meeting meetings, telephone and video conferences, wash-ups, workshops, one-to-ones and presentations to last me a lifetime, maybe longer. Dilbert stopped being funny.

It seemed that regardless of what I was working on I could walk into the office in the mornings, do what needed to be done and leave ten hours later without having to think at all. The pace was always frantic but the job became dull, dull, dull. I love being busy but need to be creative. If I am learning, making something or applying thought to solving problems I’m fine; take all those things away and I see no reason to get out of bed.

These days, it’s the other extreme – I do what I like, like what I do and do it all! I design the software, develop it, test it, write the documentation, administer my web server (and oh, the joy of being your own DBA :-D), design the web site, do the marketing, provide the support and keep the books. I don’t waste time and money commuting, my workday is as flexible as I fancy and despite putting in more hours than before I can even find time to write crap like this.

Another concern I had about going out on my own was that it would be lonely, but thankfully that’s not the case. Every day I’m in contact with people from all around the world: users with support queries, ideas or just writing in to say thanks, suppliers, journalists, developers, Apple sales reps demoing my stuff – the list goes on and on. With Feeder, I also feel part of something: podcasting, the next-generation radio, has exploded since Feeder 1.0 was released at the beginning of this year and through Feeder I’m helping people do something amazing.

It isn’t always easy and I take home less than half what I did before, but that’s OK. I can make ends meet and it’s incredibly rewarding. I’m so much happier and so much less frustrated these days I hardly know myself. My foot is pressed to the metal on the road to Smugville and I’m not going to stop!

This post is dedicated my friends at EDS and is sponsored by Jobserve, Jobsite, Jobsearch, Computer Weekly Jobs, Monster, Jobcentre Plus, et al. After all, Every Day needn’t Suck. šŸ˜‰

Eeeeep! Classic Mac OS Sounds

May 28th, 2005 by Steve Harris

I know they’re old-fashioned, but I really miss some of the system sounds that came with Mac OS 9 and earlier. They were lots of fun.

Fortunately, someone has converted them to AIFFs (along with some other formats) and you can download them all as the Mac OS Classic Sound Pack.

I’m a Wild Eep man myself. I like the way your Mac sounds slightly offended when you do something wrong and anxious when it needs to tell you something.

Feeder 1.1.1

May 26th, 2005 by Steve Harris

Feeder IconFeeder 1.1.1 is released today and has a ton of fixes, tweaks and stuff. It’s been surprising to notice how many little bits and pieces have changed in Tiger and some of the problems fixed in Feeder were workarounds that no longer need working around. It also shows what happens when you try to do a release while aiming for a fixed deadline and moving home. šŸ˜€

At least the fixes are mostly to do with smaller things – the big and important changes: publishing, templates and enclosure uploading seem rock solid (fingers tightly crossed!).

Feeder 1.1 – Publishing

May 25th, 2005 by Steve Harris

Two of the most requested features following the release of Feeder 1.0 were .Mac publishing and Secure FTP.

Publishing to iDisk is now very easy to implement thanks to Apple’s DotMacKit framework, although it’s a shame they can’t make the currently private DAVKit framework available for developers to include WebDAV support.
It’s not always understood that Secure FTP is a completely different animal to regular FTP and if you’re not writing your own FTP client, you ideally need an Open Source library to do most of the hard work for you.

Originally I was going to use libssh, but it vanished from the web for a couple of months while I was developing Feeder, so instead I turned to the brand new libssh2 by Sara Golemon. Feeder isn’t using the latest version of this, but will be upgraded to do so in the future after some more thorough testing. This library is not only very good but also licensed under a preferable BSD-style license rather than a LGPL. I like BSD licenses because they pretty much say ā€œdo what you want.ā€ I don’t like GPL because it’s too rigid and far too hostile to commercial applications. LGPL is easier on the latter point, but it becomes a matter of principle!

The challenge in Feeder was to make these things fit together. Behind the scenes, when you click Feeder’s Publish button, you invoke one of three completely different file transfer mechanisms, but Feeder behaves the same for them all, with its built in server browser, progress bar, etc.


Feeder Publishing Progress Bar


Also, Feeder 1.1 is much more helpful when you first set up publishing for a feed. I’m not usually keen on assistants because the user never gets to stand on their own two feet, but they have their place and in this case it is more a matter of workflow. Once set up, you see the same publishing panel as when you were setting it up but without having to go through the steps that led you there.

The other big publishing feature is enclosure uploading – a feature mostly useful for podcasters. Drag the file onto the enclosure section of the edit window and Feeder shows a sheet where you can amend and confirm the upload details. Feeder then gets the other attributes (MIME type and file size) and creates a file name for the enclosure based on the filename and upload settings.

Feeder keeps a record of the last time an enclosure file was successfully uploaded and will only automatically upload the file once, although this again can be changed when you come to publish should the file have changed. Another point of interest is when Feeder has enclosures to publish it uploads them first, followed by the feed. This ensures that by the time the updated feed is online, so too are the enclosures it references.

Expect to see more refinement, server integration and publishing options in the future.