Thursday, March 11, 2010

The Forbidden Photo!

Mobile Photo 11 Mar 2010 00 58 17.jpg


So, I was at the shops over the weekend, buying clothes. I know, clothes, me. Unbelievable, right? But anyway, I came across this mildly amusing pricing sign, with the cost spelt out in words, presumably for the benefit of customers who can read and comprehend numbers, but just can't manage digits. So I took a photo.

And a guy from behind the desk came over and said not to take photos. I mean, really. Who do they think they are, a high-security military installation or something? Why on Earth shouldn't people take photos? What did they think I was going to do with it?

Blog topped up a bit

I just came across the MovableType export file from my old blog, and decided I might as well import it. If you look at the archive section in the right column, you'll see that the blog now goes back to 2005! Almost five years!

Here's the very first post. Wow, I was a completely different person back then... It seems like a million years ago.

Wednesday, March 10, 2010

Terrifying startup story

Jamie Zawinksi, an early Netscape person, on getting out Netscape 1.0 for UNIX.

All looks terribly familiar, somehow...

Of course, these days, we don't get to relax just because the product has launched, dear me no. You see, it's all online services nowadays! They require constant attention! Bloody desktop software people didn't know how easy they had it...

Sunday, March 7, 2010

More exploding space shuttles

Delta 2, destroyed by range safety device


Did you know that the Space Shuttle has a (euphemistically named) range safety device? The range safety device is rather like the Enterprise's self-destruct system in Star Trek, but without the tedious countdown or opportunity to escape. There is one shaped charge on each solid booster.

There is a person called the range safety officer, whose job is to press the button to destroy the assembly if it veers off course. Imagine having that job! Bear in mind that there are almost no realistic circumstances where the solid boosters would need to be destroyed when they had already detached from the orbiter; nearly all possible applications of the range safety system would involve destroying the whole thing.

For the moment, it's only been used once; on the Challenger boosters after the orbiter had already been destroyed. Still, though, very, very creepy, especially for the operator. All manned spacecraft have range safety devices, but in most other cases either the occupants (Vostok, Gemini, Buran) or the whole capsule (Mercury, Apollo, Soyuz) will have been removed to safety beforehand. Besides the Shuttle, Voshkod, only used four times, is the only one where the range safety officer is likely to have to blow up people; you'd wonder how they get people for these jobs...

Saturday, March 6, 2010

Rails, from the perspective of a Twitter developer

From an interview with a Twitter developer:

Once you hit a certain threshold of traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both.It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow.
Oh, dear.

Mongrel on MacOS Snow Leopard - quick tip

I do a lot of Ruby on Rails at work these days. This weekend, I'm getting some stuff done from home, so I tried to run a Rails app on my laptop... And it stalled/hanged indefinitely, using the processor flat out.

It turns out that I hadn't used it since I upgraded to Snow Leopard. This seemingly broke the installation a bit. Initially I tried just removing the offending gem (sudo gem uninstall mongrel), but when I re-installed it, the problem persisted.

Eventual solution:

sudo gem uninstall mongrel
sudo gem uninstall fastthread
sudo gem install mongrel

It turns out that the fastthread library I had installed was the problem; I suspect that it was trying to load 32bit native code into my 64bit ruby.

Anyway, hope this is helpful to someone.

Thursday, March 4, 2010

Verity Stob on Lisp

From a Verity Stob article on exception handling:

I apologise in advance to the industry’s senior commentator for not covering Scheme or other Lisp dialects and, thus, continuing the tendency to dumb down. This does not mean that I fail to recognise that Lisp is still #1 for key algorithmic techniques such as recursion and condescension. It just means that I have no idea how, or indeed if, Lisp handles exceptions.

It does, by the way, assuming Common Lisp. It is slightly peculiar, as is the CL custom.

Reeder iPhone feed-reader mini-review

I'm a big fan of RSS (well, generally Atom, these days...) feeds, especially on the move. Brilliant for passing boring train journeys and so on.

Until recently, I've been using Google Reader for my mobile feed reading needs.

Mobile Photo 4 Mar 2010 00 54 39.jpg


It's quite nice, but has a few quirks. It can be slow to load on a not-so-fast connection, especially EDGE, and navigation is slightly slow and clunky. And then, of course, if you're reading an article and click a link, it'll open a new browser window. This is generally fine, but if the new page happens to have lots of graphics, it'll tend to push Reader out of memory, causing it to reload disconcertingly upon return, losing my place in the article, and hiding it; after all, I looked at it, so it's read now! And, well, it just doesn't have that native feel.

I tried NetNewsWire for the iPhone, as I'd been pretty impressed with it on the desktop. It's generally nice, but slow, slow, slow. The UI is slow, syncing with Google Reader is slow (though the author is doing something about this), and, unfortunately, this just makes it too much of a pain to use. It's probably fine on a 3GS, but I still have a lowly 3G.

Enter Reeder. Reeder is in principle very much the same sort of thing as NetNewsWire; it's a phone-based client which syncs with Google Reader. The difference is, that where NetNewsWire is, on my older device, unusably slow, Reeder is perfectly fast and pleasant to use.

Mobile Photo 4 Mar 2010 00 51 50.jpg


There are some quirks:

Mobile Photo 4 Mar 2010 00 51 58.jpg


Note the thing at the top, where, by rights, the clock and network status things should live. This goes away when syncing is done, but it's very odd, and I can't help feeling that the traditional little spinning wheel would have been better. Speaking of the wheel, this is about the only iPhone app I have seen which uses the network where that wheel doesn't put in an appearance; I was actually under the impression that a progress indicator of some sort was mandatory under the HIG, but Reeder doesn't use one when loading inline images, so presumably it must be allowed. Personally, I miss it.

Here's another oddity.

Mobile Photo 4 Mar 2010 00 51 18.jpg


This is a webpage in the inevitable built-in browser. Now, the builtin browser is in many ways a good thing, as it saves you from having to go out to Mobile Safari, and come back again. This is why so many comms apps have it. This looks exactly like the browser in Meebo, Tweetie and countless other apps; it's just a UIWebView with some controls. But there's a difference. Note the button on the bottom right. In every other arrangement like this I've seen, that jumps out to Safari. Here...

Mobile Photo 4 Mar 2010 00 51 30.jpg


It opens up a little window which allows you to share the link on Twitter, save it on various services, and so on. This is all very well, but sometimes I just want to see it in a proper browser; if nothing else UIWebViews embedded in apps can be slow, presumably due to memory starvation, and besides, it's sometimes nice to have multiple browser windows. You can't do that here. You can, if you like, copy the link before you go to it, by holding down on it; you can then paste it in Mobile Safari. This seems overly awkward, though, and it's not like there isn't space for a button to open Safari on that view.

On a similar topic, what happens if you close the app while half-way through reading an item? In some apps, when you come back, the item will still be there; Apple recommends this approach where practical. This is even the case with the Google Reader webapp, as long as Safari doesn't take it into its head to kick it out of memory in the meantime. Here, however, you're back to the home screen, and, of course, because you looked at it, the feed item is deemed read, and is gone.

I sound like I'm complaining a lot, but really, this is a brilliant app, one of the best I've seen. It's certainly now my feedreader of choice. It's just that a few little touches could make it so much better...

Dictator of the month club

Did you know that a certain section of the American right wing openly expresses admiration for Pinochet? Not just 'oh, well, at least he wasn't as bad as Hitler', but actual admiration?

Really, truly, disturbing.

In this morning’s Wall Street Journal, Bret Stevens attributes the low rate of death after the Chilean quake to Augusto Pinochet and Milton Friedman

Ah, yes. Low rate of death and Pinochet. Perhaps a principle of conservation of murder is in play, to make up for all of those people he killed during his rule?

I mean, what's next? Low death toll in German snow storms attributed to the sterling work done by Adolf Hitler, Albert Speer, and thirty million slave labourers?

Incidentally, the Chilean building codes, which required buildings to be earthquake-averse, predate Pinochet. And here's Paul Krugman on just how exactly Pinochet and Friedman caused a boom, a mere fifteen years after starting fucking with the economy.

And that's not all! An admittedly smaller portion of the US right wing actually expressed some guarded enthusiasm for Franco. As in the Fascist dictator of Spain.

Wednesday, March 3, 2010

iPads of Dune

Dune was a very good science fiction series by Frank Herbert, later ruined by his son and a guy who writes Star Wars novels in a series of dubious prequels. The original book centred around an unobtainium called 'the spice', which was necessary for interstellar travel and such. Later on, things went off in a different direction a bit but this remained quite important.

In the early 90s, Cryo made a computer game based (loosely) on the book. It was groundbreaking in a number of ways; it was amongst the first resource (spice, of course) management games, giving rise to Dune II and ultimately Command and Conquer; it was also one of the first games to feature speech throughout. And that requirement for speech lead to something interesting. The first versions (for Amiga and PC) didn't have speech, and, of course, it being a resource management game, numbers sometimes came up. The designers managed this by just showing the numbers in the on-screen speech bubbles. Of course, once they had speech, they didn't have the bubbles, just subtitles, saying the same thing as the voiceover. So:


An iPad!


As you can see, the emperor skimped on his gadget budget, and got something with a smal screen and keyboard, probably running Windows Mobile.