Month: March 2012

I’ve had a 17-inch PowerBook G4 sitting around gathering dust for a few years. It was my development machine for a couple of years at UserLand, until I got a quad-core G5 tower machine, at which point it became my field-recording rig.

I’ve decided to resurrect it as an Ubuntu machine for mucking around with modern Linux tools, which it should run just fine. (I’ve been playing with Linux for years in various flavors, but mostly server machines with no GUI, and it’s time I tried out a modern Linux OS.)

So the first step is to image the drive. It would be nice if I’d been rigorous about backing this machine up, but I hadn’t. It’s got years of work on it, all of which exists… somewhere… but if I ever need to go back and find something that didn’t make it into my working directories on the G5 tower, the chances of my finding it are slim-to-none. Enter SuperDuper!

SuperDuper.png: I considered using rsync to mirror my files onto either my Synology NAS, or my G5, but that would have made an assumption that I actually knew what files I might need in the future. Instead I decided to create a bootable disk image (dmg format). If I ever need to restore this machine I can, and if I just want to find a file, I can mount the disk image and navigate it just like the contents of the original disk.

SuperDuper! is running now, and will take about four hours to creat the image on my NAS.

Next, I need to create an Ubuntu install disc. This might be a challenge, since it’s an older machine with a PPC processor (not Intel), and I haven’t fully investigated the challenges around graphics, sound and network drivers. With any luck it shouldn’t be too difficult to get working, since lots of Linux geek types have had this or similar laptops at some point. It’s going to have to be a 32-bit install, and the machine is single-CPU, single-core, so figuring out what kernel to use for multi-processor or 64-bit support shouldn’t be an issue.

PS: Found a starting point for Ubuntu 11.10 “Oneiric Ocelot” for this machine. The Minimal CD should be a good start…

Development Open Source

Back in August, I switched to Chrome, when a Firefox update broke some of the extensions I was using. I was reluctant to switch at the time, but the breakage was annoying enough that I turned off Firefox (i.e. stopped launching it), and switched to Chrome for my personal browsing when on mine or my wife’s Mac at home, or when I need access to a personal bookmark while at work. (I keep IE’s bookmarks segmented to work-related links.)

The Firefox update glitches were most likely transient, and may have been peculiar to my installation, but even so I haven’t switched back…

The main reason: Startup performance.

I haven’t done any real measurements, so what I’m writing here is purely from the standpoint of my own personal perception but the feeling I get when launching Chrome is that it’s somewhat satisfyingly fast. The feeling I get when launching Firefox is that it’s slow to very slow to start.

While both browsers take longer to load the first time you start them after rebooting, and neither is enough faster than the other to win me over on that first-launch experience, Chrome feels significantly faster to launch the second time, while Firefox still feels like it’s pulling its feet out of the mud.

The fact of the matter may be that they’re equally fast to get me to the point where I can type onto the address bar. But feel is important too. The perception of good performance is a super-important part of the user experience.

What does this feel like if it’s a person, not a web browser?

Here’s a real-world example that everyone can identify with: If I say “Hello” to you, I expect that you’ll look at me pretty much right away, and then respond. If you look right away, and then take a second (one second) to say hi back, I probably won’t notice. But if you take that same one second to look at me in the first place, it doesn’t matter if you say hi right away or not – the feeling I get is that you’re either distracted, or you don’t care about our interaction.

In both cases, it takes roughly one second plus the time it takes to say the word hi, but the initial responsiveness makes a huge difference in how I feel about the interaction.

Development Web

Small pieces, loosely joined” is making its mark in the cloud. Adrian Cockcroft on ZDNet UK:

“Everyone is sitting in the middle of a bunch of supplier and consumer relationships and every team is responsible for knowing what those relationships are and managing them. It’s completely devolved — we don’t have any centralised control…

“[We] got rid of the operations … and just have the developers, so you can’t depend on everybody and you have to assume that all the other developers are writing broken code that isn’t properly deployed. And when you write a REST call to them, you might get nothing back or broken code and you just have to deal with that.

“By making everyone responsible for the robustness of their code, we’ve ended up training a whole building full of developers to build their code very robustly…”

Cockcroft’s statements seem almost obvious to me as a platform guy, but it still amazes me how many complex and fragile interdependencies our industry is building. Sometimes it’s NIH at work, and sometimes there’s a perceived competitive advantage in building proprietary systems.

But I also have to wonder if a more general lack of experience isn’t also at play here. Taking a bet on a platform is hard even when you have all the information and understand why generalization is useful. It’s even harder when a substantial number of decision-makers don’t really understand what a platform actually is.

I heard a story recently about a Director of a small IT department (<100 people), who insisted that his team “had to move to The Cloud as soon as possible”. But it was clear to the person he was talking to, that he didn’t really understand what “The Cloud” was, much less how or why their organization should “move to it”.

I don’t know enough about their needs to say whether it’s the right thing for them or not, but it seems obvious to me that this type of infrastructural change needs to be managed carefully, and with as much information as possible.

The fundamental question that the Director never seemed to ask is, “What is a platform?”, and then “What is a cloud platform, and why might I want one?” — And not, “How fast can we switch to the latest [insert-buzzword-here]?”

Cloud Development