|
|
|
July 7th, 2007
10:51 pm - Time to Move On I've been blogging on LiveJournal for seven years now, and it's time to move on. I've overhauled my website speirs.org with a fresh new WordPress installation and, from now on, I'll be writing over there.
Seven years is a long time to be doing anything, so I'm not about to forget or stop reading and commenting on friends using LiveJournal. My friends page is still firmly stuck in my bookmarks bar, so I'll still be reading you.
Why am I doing this? Well, I just wanted more control over the way I present myself to the world. LiveJournal is what it is, and it's fine for that, but I wanted to freshen things up. As I said, seven years is a long time to do anything on the internet.
So, please head over to speirs.org and put the new feed in your RSS reader.
|
July 5th, 2007
11:37 pm - On Holiday We've been having a great time on holiday here in Oban. Yesterday, we visited the Isle of Mull. The main town on Mull is Tobermory, where the famous Balamory kids' show was filmed. April adores Balamory and consequently had a great time.
I enjoyed the Isle of Mull Railway, and April got to help turn the train round at the far end of the line.

Canon EOS 30D, Canon EF-S 10-22mm @ 12
1/125 @ f/7.1, ISO 400
The Mull railway is a 260mm narrow gauge railway that runs along a track of about 1.75 miles from Craignure to Torosay. They have a diesel engine (shown above) and a lovely little steam engine. Unfortunately, we didn't get a chance to ride on the steam-powered train. We didn't even really get to see it, except in passing, which was a bit of a shame. Still, great fun.
This is the first holiday we've been on with internet access in the accommodation. It's remarkable how much more relaxing it is, knowing that getting online won't imply spending time trying to find a hotspot out in the middle of nowhere.
|
June 30th, 2007
11:40 pm - Glasgow Latest Around 7pm I was out driving and I heard on the radio that the Royal Alexandra Hospital had been 'evacuated'. It turned out that only the A&E unit had been evacuated, but it's being reported on BBC News 24 now that the patient - the burned passenger from the car - was wearing a suicide belt.
Tonight, Alex Salmond said on TV that "terrorist actions are the actions of individuals". One has to wonder if that's actually correct. Of course, that's code for "don't hate Muslims" but it's not even correct, at least according to everything I've read about the operation of terrorist organisations. As an aside, it's amazing how much the Left like to emphasise personal responsibility when it's something bad done by members of a minority (or "communities needing particular reassurance by the police", as we're calling them tonight). Of course, whenever it's something that the government is responsible for, it's always "we all have a role to play" etc. etc....
Let's stop pretending that there's an equal probability that anyone in Scotland might have carried this out. BBC News 24 broadcast an interview with an eyewitness who said that the passenger, in flames, attacked a policeman whilst screaming "Allah! Allah!".
It's a bit embarrassing, though, for the worldwide Islamofascist Jihad that they got the seven bells kicked out them by a couple of Paisley taxi drivers. Losers.
|
04:55 pm - Glasgow Airport Attacked

A car, apparently on fire, has rammed the main door at Glasgow Airport. The driver and passenger were pulled from the car and then proceeded to fight off the police.
Of course, no assumptions can be made about the religious affiliation of the driver and passengers.
|
04:23 pm - Dissecting an iPhone Crash Log Since we in the UK aren't getting the iPhone until October or so, I've been watching the frenzy across the Atlantic with some detachment. As a developer, though, I'm at no more of a disadvantage than anyone else, thus far. So, when John Gruber posted an application crash log from his new iPhone, it was easily the most interesting part of the whole coverage for me.
Here's the link to his 'first impressions' post, and this is the actual crash log file.
Here are some of the main points of interest:
- Foundation and CoreFoundation are there.
- New frameworks:
- UIKit which, at a guess, is probably the iPhone's version of AppKit.
- AddressBookUI, presumably some kind of shared contact picker.
- MobileMail, which I guess is a mail framework.
- CoreTelephony - phone functions, perhaps? It would be cool if this were made available, particularly to game developers.
- CoreSurface, which I suppose is the multi-touch driver framework.
- There appears to be a traditional file system - images and applications are listed by their slash-separated paths.
- All the frameworks and applications appear to have a UUID associated with them. I suspect this might be part of the mechanism by which Apple maintains the integrity of the software set installed on the device.
- There's an image called liblockdown.dylib, whose name seems very interesting.
- The crash report lists the OS Version as "OS X 1.0 (1A543a)" - notice it's not "Mac OS X"
- Applications appear to be bundles, but simplified bundles. MobileMail's binary is listed at /Applications/MobileMail.app/MobileMail. Notice there's no MobileMail.app/Contents/MacOS/ substructure in that bundle.
Very interesting!
|
June 27th, 2007
11:02 pm - Disasters Happen Every Day Reading the Spectator website tonight, this delicious juxtaposition appeared. At the top, a syndicated banner advert for Asda home insurance. Below, the glorious news of our new robot overlord.

I hope that's not someone being prescient.
|
03:51 pm - Something Brown Unlike those Stupid Americans™ who make someone head of state without being properly elected just because of who his connections are, we Brits today welcome our new Prime Minister. Fresh from receiving his overwhelming popular mandate from the electorate at the recent General Ele .... oh, er, hang on.
Ahem.
Actually, today the party that famously didn't "do coronations" when Michael Howard was elected unopposed as the leader of the Conservative Party ... did exactly that. The question is: who cares? Don't tell me that the joint architect of New Labour is suddenly going to undo a decade of deceit.
The question is: will he undo the parallel bureaucracy that he built as a memorial to his own vanity in Whitehall over the past ten years? Will he abolish Tax Credits, being a wasteful duplicate of the benefits system? Will he undo a decade's addiction to complexity and simplify the Whitehall machine?
Unless Brown shrinks the state, I have no interest in him. Everything else he will do is at best irrelevant, on average wasteful and at worst insidious.
|
June 24th, 2007
11:50 pm - Back At The Code Face Despite poor baby Beth having a mild case of croup, today is the first day in a long time that I've felt able and inspired to write some new code. I often think it's funny to need 'inspiration' to do one's job - I don't expect to have to wait in the supermarket for the checkout operator to get inspired to beep my doughnuts through the scanner - but it does sometimes work that way with programming.
Having a new baby is a gigantic stone dropped in the pool of your life, and it takes way longer to settle down than you think. Often, the first milestone you're desperate to get to is the 'sleeping through the night' stage. It's great when that day (or night) arrives, but that doesn't immediately guarantee the return of your productivity. For me, it's something more about finally relaxing with the baby that lets me clear my head and make plans beyond the next eight hours.
So I was working on some stuff for FlickrExport 3. Specifically, I was introducing some new table views into the UI and I decided to step back from using Cooca Bindings. Better programmers than I have been gainsaying bindings for a while and, although I don't entirely agree that bindings are of quite such limited usefulness, I'm increasingly agreeing with Brent.
I love bindings for simple tables, particularly ones where I need sorting, filtering or editing a multiple selection in a master/detail UI. I don't like bindings so much when you're trying to do clever things with cells right in the table, or when you have two tables providing a possible N*M combinations of selections (that's really hard to get right - not impossible, but really hard). So tonight I wrote some NSTableViewDataSource code and it felt ... relaxing. It also took about 15 minutes and worked first time.
With the work on bringing the Aperture version up to parity with the iPhoto version, it's been a while since FlickrExport got any major feature lovin'. I'm looking forward to seeing where I can go with this, now that lots of things are up for review.
|
June 21st, 2007
11:00 am - One Year of Shareware One year ago today, I released FlickrExport 2 as my first shareware release. To say it has been a success would be an understatement. It has been phenomenally successful, beyond anything I could have reasonably expected.
A few thoughts:
The support load is really high. This has probably been my biggest problem over the past year. I don't yet have a good way to differentiate between "real bugs" and "user confusion" issues. You could argue that all "user confusion" issues are interaction bugs, but some users are just new to the platform. I haven't yet found a good tool for this and am still just living out of Mail.app. Ideas welcome.
Attack the noisy problems first. Related to the issue of support load, the first bugs I always fix are the ones that will quieten my inbox. I have a couple of examples:
I used to have a generic Flickr error handler that, whenever some Flickr method blew up, would pop up a sheet saying "An error happened. Here's the code, please notify support@connectedflow.com". REALLY BAD IDEA! What happened was that, whenever Flickr took the API offline, my inbox exploded with a flurry of "I got error code 0, what does that mean?" emails. Over time, I've tried to do more to give the user the explanation right in the error sheet, although I've stopped short of including text to the effect of "there is really, really no need to email support@connectedflow.com over this".
Because FlickrExport is a plugin, it makes no change to the UI of iPhoto when you relaunch the app after installing. As a result, I got a bunch of emails saying "I installed FlickrExport but where is it?". As a solution, in recent releases, I've put screenshots in the last pane of the installer process showing where to find FlickrExport. That has completely stopped that line of enquiry.
Pricing has probably been the most difficult part of selling FlickrExport, but the volume of comments has given me a lot of data, and I remain very happy with the price point. It's interesting that all the complaints have been about the price of the iPhoto version. I've never had a single complaint about the (higher) price of the Aperture version. Different markets, I guess. It's also been a difficult year for the US Dollar, which has slid from £1 = $1.84 a year ago to £1 = $1.99 today. That's pushed the price of FlickrExport inexorably up in its largest market, but sales have weathered that storm pretty well on the whole.
One of the highlights of the past year was working with the Aperture team to get FlickrExport ready for the launch of Aperture 1.5 last October. Blake Seely did such a great job with the plugin API that it took me maybe two days to get FlickrExport ported to Aperture and working, then a few weeks of polishing to get things right. I'm personally delighted to have FlickrExport on Aperture, since Aperture is the app I use for my daily shooting. Sales-wise, the iPhoto version of FlickrExport outsells the Aperture version by about 7 to 1. That's actually a great showing for Aperture given that it's a much younger app, it doesn't come free on every Mac, and it runs on a far narrower range of hardware and OS X versions.
If I had one wish going forward into next year, it's this: Please, Apple, document and support the iPhoto plugin API. It's been stable for about as long as it has existed - FlickrExport actually works back to iPhoto 2 - so it's not as if it's experimental or unproven code that might have to be incompatibly re-implemented in the future. There's a market for third-party plugins out there, Apple, please put it on a formal footing so that we can confidently rely on that API.
So, thank you to all FlickrExport customers for a great year. Thanks for your patience when I broke the app; thanks for not yelling at me when Flickr broke the app. Thanks for all the great feedback, and I hope to make you even happier with FlickrExport 3, when it comes out.
|
June 20th, 2007
05:06 pm - April and iBook The first flashgun shot that I've ever been happy with in probably my entire life:
 Canon EOS 30D, Canon EF 24-105mm f/4 L IS @ 28mm 1/250 @ f/16, ISO 400 Canon 580 EX II @ 1/64 power, directly overhead
April's turning into a bit of a computer nerd. I need to get her something that has a mouse.
|
01:18 am - First Steps in Flash I've been reading the Strobist blog for some time, but never had anything more than on-camera flash to try it with. In the US last week, I picked up a Canon Speedlite 580 EX II and have just got around to trying out some of the blog's ideas.
The best thing about Strobist are the occasional series that the author puts together. Lighting 101 was some time ago, and Lighting 102 has just started, so I'm following along.
The first exercise was a simple setup to shoot an object lit from one direction at various angles and observe what happens. I set up an orange on an upturned cup and started working.
 Canon 30D, Canon 100mm f/2.8 Macro 1/250 @ f/11, ISO 100 Canon 580 EX II, 1/4 power, ~90° camera right.
It's actually kind of weird how many views these simple shots got on Flickr :-)
|
June 19th, 2007
12:03 pm - New FlickrExportz for ur photoz Get 'em while they're hot.
The number of places I find myself posting announcements about new versions is crazy: 3 at Versiontracker, 3 at MacUpdate, 3 at Apple.com, 3 on Flickr (Aperture group, Macintosh group, FlickrExport group), the Connected Flow blog, and here, just for completeness. I want to build a software update mechanism into FlickrExport, but I don't see that doing so would remove the need for getting the word out in these other ways.
|
June 18th, 2007
04:20 am - Some resolutions for my next West Coast trip I am never flying through Newark again. Multiple-hour delays just seem to be the norm at that airport. In fact, I discovered that Newark is the least-punctual airport in the entire US, with less than 50% of scheduled arrivals and departures happening on time. That sucks.
Secondly, for as long as I can afford it, I'm not flying that distance in economy class again. I don't fit that well in an economy seat, and the pain that I'm feeling this morning is not worth the saving I made by not upgrading. Also, the aircraft that Continental flew (757-200 and 737-800) were just uncomfortably small.
The biggest problem being that neither of those aircraft have enough toilets for that number of people over a 6-7 hour journey. On a 2-3 hour flight, the probability is that a proportion of the passengers won't need to go but, on a 6 hour, everyone needs to go at least once and some more than once. Between EWR and SFO, there was a queue stretching from the rear toilets to the overwing exits for most of the flight. Miserable.
Anyway, good to be home. I bought April a little toy Air Force One that makes jet noises and has flashing engines. She's so delighted with it :-)
|
June 16th, 2007
10:00 am - Homeward Bound It's been a fantastic ten days. I'm tired and ready to go home, but it's been great. I really appreciate everyone who came up to say hi and say nice things about FlickrExport - it really means a lot to developers like me who generally work alone and only usually interact with customers when there's a problem.
I miss my family, though. Can't wait to see my girls!
|
June 15th, 2007
11:01 pm - Bombers' Broadcasting Corporation The Hamas organisation may be rampaging through Gaza destroying the infrastructure, terrorising civilians and carrying out summary executions, but it's good to see that they can take a break every so often to look after their friends:
The Palestinian Islamist movement, Hamas, says it is taking "practical steps" to secure the release of kidnapped BBC reporter Alan Johnston. Hamas said it had sent a warning to Mr Johnston's kidnappers, hours after the movement claimed victory in a bloody power struggle in Gaza.
Hamas is an "Islamist movement"? In the same way that the Ku Klux Klan is a cultural heritage society. And it's a "power struggle" now? Yesterday it was a "civil war". Expect to see the BBC soften the language on their new friends in Hamas in the future.
|
June 14th, 2007
10:29 pm - Apple Bash I went to what used to be called the Campus Bash but which isn't at the Apple campus any more, so I'm not sure what it's called now. Anyway, it was food, hanging out with cool people and having one's internal organs turned to mush by the band's bass player.
 Canon 30D, Canon EF 24-105mm f/4 L IS @ 40 1/500 @ f/14, ISO 400
I wasn't really that keen on the music they played, so I took the chance to try my hand at stage photography. The lighting was pretty challenging - bright sky, stage in the shade - but I really like this shot.
|
09:48 pm - Palestine So one of the long-standing pieces of received wisdom from the bien pensant members of the Britsh Left has been that Palestinians are generally nice people who have only been reluctantly driven to "understandable" levels of violence (see: Jenny Tonge et. al.) by the evil actions of the Israeli government.
If that's true, can someone please explain why Gaza has been in a state of civil war between rival Palestinian terrorist organisations for a couple of weeks now? While the British media has been ever hopeful that Iraq would erupt into outright civil war, it's happened elsewhere. It's not such a delicious story for the BBC types, since George Bush can't be personally blamed for it - although I'm sure someone will find an angle on that - but its happened nonetheless.
So why is this happening in territories populated and controlled by the supposedly peace-loving Palestinians who, we are told, only reluctantly and rarely turn to violence purely as desperate acts against oppression by the Zionist entity?
|
June 13th, 2007
07:14 am - Music Choices I wonder if it was a subliminal message that they were playing Ruby by the Kaiser Chiefs before the Keynote on Monday?
In Leopard there are bindings for Cocoa to both Ruby and Python, and there's a technology called Scripting Bridge in Leopard (this is public knowledge - here's the link) and here's what it does:
To open up the benefits of the Cocoa frameworks to a wider developer audience, Leopard embraces two other highly dynamic languages for use in building Cocoa applications: Ruby and Python. These two languages are an excellent fit for integrating with the Cocoa frameworks, and they both have high quality bridges to Objective-C. These bridges allow you to mix and match Objective-C, Ruby, and Python, allowing you to choose the best tool for the job at hand while using high level Cocoa features such as Key-Value Coding (KVC) and Key-Value Observing (KVO).
Users have long had the ability to build new solutions that combine the features from other scriptable applications. In Leopard, Cocoa developers get a powerful new tool, the Scripting Bridge, to do this programmatically. The Scripting Bridge allows you to automatically build "glue" code to access a scriptable application with standard Objective-C method calls.
Scripting Bridge is the secret nuclear weapon in Leopard. If you thought OS X was already the easiest OS to pull things together using all kinds of disparate technologies, you ain't seen nothing yet.
Ruby, ruby, ruby, ruby-yyyy....
|
June 12th, 2007
07:21 am - WWDC, Day 1 If you thought the keynote was boring, spare a thought for the Japanese guy sitting beside me who fell asleep at least four times.
Regarding Leopard, I'm happy about everything they announced. There's not a lot that's hugely new since WWDC '06, though, so it seems the hype machine overtook the engineering reality last year when Jobs talked about the "secret features".
Regarding the iPhone, I don't think I've ever been so ticked off at the Apple spin machine before. It's not because there's no SDK - I think everyone here would recognise the challenge that Apple has on their hands just to get the device out the door. If they had simply said "we're working real hard on it and hope to have something for you soon", that would have been fine.
I thought the ridiculous sight of senior Apple people trying to convince this highly technical crowd that the 3rd party development platform is a web site (albeit with some custom URL scheme handlers built into the iPhone apps) was just embarrassing. We know that's not what we're asking for in an SDK. They know that's not what we're asking for in an SDK, and the spin was just toe-curling.
So the iPhone SDK is CSS and some official artwork to match the iPhone UI? Come on.
Safari for Windows is clearly tied into the "iPhone SDK" spin, but Firefox should be worried. They showed some stunning enhancements to Safari for web development that blow away the Firefox plugins.
The rest is secret. Including the lasers and the ninjas.
|
June 10th, 2007
01:40 pm - Sunday in SF I've registered for WWDC and picked up my schwag bag. It does not contain an iPhone (yet?). The '07 bag is a nice enough messenger-style thing in trendy black. I've also moved to the Mosser hotel with its tiny rooms and strange smell. Still, it is (a) cheap and (b) two blocks from the door of Moscone West, so no complaints from me.
All I have to do for the rest of the day is return my rental car and decide whether to go to the SF/Mac Indie event tonight or get an early night. I'm leaning towards the sleep, personally. There will be plenty soirées this week.
|
|
|