The eve of Apple’s World Wide Developer Conference 2011

I’m writing this in a hotel room from a block adjacent from the Moscone West Conference center, here in San Francisco, CA. The atmosphere is incredibly lively and for many developers it’s as close to the developer-version of Christmas you can get. Ha ok I know that sounds a bit over the top but there is lots of optimism about Steve Jobs’ keynote tomorrow. You can feel it!

So today I picked up my WWDC attendee badge and hitched a ride on the small army of buses that Jeff LaMarche had arranged to go to Apple’s HQ in 1 Infinite Loop, Cupertino, CA. It’s such a historic place in tech history and I was there! Not only has it been the main home of Apple since Steve Jobs returned to Apple but also features on the front of the Google Map icon on every single iPhone, iPad and iPod Touch.

Me outside Apple HQ

I got my photo taken and chilled in the oddly named BJ’s bar opposite. I also visited the company store there and bought some Apple gear, I just need to work out how to fit the coffee mugs into my suitcase now! Just about to grab some food and chill in a bar with a number of other iPhone developers before getting an early night. Some people recommended getting up at 3am to get a good seat. Mmm, if only I hadn’t just tested out my new coffee mugs…

 

Calculating UNIX file permissions

Permissions Mac AppA few years ago I wrote a simple but handy Mac app that calculates unix file permissions using a matrix of check boxes. I wrote it because I wanted to better understand how those octal values get calculated and to expand my experience of writing Mac apps.

I was also learning some crazy assembly code at the time too so I was also making sense of putting bitwise operations to task. Rather than let this code languish on my hard drive, I thought I’d share…
Continue reading

Impressive JavaScript PC Emulator

Fabrice Bellard has written an impressive PC emulator that actually emulates a PC with a 32 bit x86 compatible CPU. This is some really imaginative use of pure JavaScript which I’m sure no-one would have every dreamed of as it allows you to run a virtual instance of Linux inside a browser window!

It currently only works in Google Chrome 11 or Firefox 4 as it uses part of the WebGL HTML5 spec that Safari hasn’t implemented yet but is definitely worth playing around with. You can even compile C files!

Export Symphony CMS Blueprint metadata

Symphony is a powerful CMS system that is used by many of the world’s most recognisable brands. It’s a great system that lets the developer focus on XHTML and data they are creating rather than much of the back-end code. It does have it’s flaws though and one of them is that it’s very easy for Symphony ‘sections’ and ‘pages’ to get out of sync between production and staging servers.

Sure, the pages themselves can be version-controlled but much of the metadata about the pages such as which datasources are attached are stored in the database and previously this data was only really accessible by clicking on each page within Symphony individually. Now this is fine if you have just a couple of pages but on some of the sites I’ve worked on this involved 50 pages or more with almost as many sections…

My solution was to create a Symphony extension called Blueprint Metadata that pulled this metadata out of the database and export it as an XML file conveniently time-stamped containing the server hostname. This allows you to quickly ‘diff’ the changes between two servers and quickly see the differences so you can apply them manually. I wrote this extension quite a few years ago but still find myself using this even today and have decided to make it open source under a very flexible BSD license.

Feel free to grab the Blueprint Metadata extension on Github now.