Saturday, March 27, 2010

RAM Upgrade!

My computer at 4:30PM:

Screen shot 2010-03-27 at 16.53.06.png


My computer at 5:00PM:

Screen shot 2010-03-27 at 17.28.42.png


Yay! Note, by the way, that Apple haven't gotten around to updating their copyright and trademark info for this year, which seems uncharacteristically careless of them.

This comes days after I got an upgrade to 4GB at work; I just couldn't resist any more.

Actually buying the RAM was interesting; a certain large computer and computer parts retailer in Dublin tried to sell me a 2GB DIMM (the form factor used in desktops) at the wrong frequency, and I had to insist that really, I know what I was doing, and this was not what I wanted or asked for.

This, I think, highlights a problem with the electronics retail business. It is clearly not reasonable or realistic to expect many staff at such places to be competent; they really pay at the unskilled/semi-skilled worker level. However, I get the impression that they are trained never to show doubt, even when they are flat-out wrong. This, I would have thought, is probably in the long term more damaging to business than them just being honest and saying 'no idea; I'll have to look it up'. How many people end up buying the wrong thing due to poor advice?

On a similar vein, while I was there, another employee was telling a customer how it was impossible to switch between windows with the keyboard on MacOS. Yes.

Wednesday, March 24, 2010

High quality Dell BIOS updating tool

I just got an extra 2gb of RAM for my work computer, today, bringing me up to 4 (the poor thing's upper limit). So, I installed the memory (first removing and replacing the video card, because it blocks the things that hold the RAM in in this wonderfully well-laid-out computer), and rebooted. And found that my 64bit operating system could only see 3.2GB of RAM.

This turned out to be because the BIOS was reserving a whole load of it for nothing in particular (not just the famous graphics card reservation), so it was off to the Dell site for an update. Naturally, it could only be updated from Windows (non-Windows BIOS update tools being largely a luxury reserved for server boards), so it was another reboot into XP Pro (lucky I never deleted the partition), to be greeted with... this...

bios.PNG


Please exits! No lowest-bidder tools for Dell! And then, when it was done...

bios2.png


Reboots are very exciting!

On the plus side, it worked, and I now have a luxurious 4GB. Makes such a difference; it feels like a new computer. I'm very tempted to get an extra 2GB for my laptop, to maintain parity.

Tuesday, March 23, 2010

We have ways of making you browse

The German government has issued a warning about using the Firefox browser because of security issues.

The Federal Office for Information Security made a similar ruling on the safety of Internet Explorer in January.


Soon, Germany will have banned all browsers!

Sunday, March 21, 2010

James Randi comes out!

James Randi, noted magician/sceptic, is apparently a gay. Yay!

Windows Phone 7 System - what IS the point?

Microsoft have been, of late, telling us lots and lots about their new phone OS, which will come out at the end of the year. Some of this is of the 'ooh, look, pretty interface' variety, but some is more in-depth.

First, it'll have an app store, which will be the sole method of distributing apps. Where have we heard this before? It will also disallow proper multitasking, but will fake it with notifications. Sound familiar?

Shockingly, however, there is some departure from the 'copy Steve's shiny gadget' theme. Developers will not be allowed to use sockets, and there will be no database provided. There will be no native code.

Let me repeat that. No sockets. No database. No native code.

Predicted results:

WPS7 joins Palm Pre in that distinguished class of phones which never get an ssh client. It will also lack things like IRC clients, and indeed anything which is either realtime or where the service provider is unable or unwilling to route things through Microsoft's notification service.

Developers will be limited to .NET libraries (and .NET libraries written in C#, at that, it appears), which will presumably slow and discourage development. With the iPhone, if you want to do something fairly common, you just pick up the appropriate C library.

Developers will make their own crazy flatfile data stores, which will, of course, corrupt themselves with wild abandon. This will all be blamed on Microsoft, as it should be. Apparently, you are meant to store user data in the Cloud (capitalisation theirs, not mine), over HTTP (no sockets here!), but really, that's not going to work for apps storing private data, or for apps designed to be used where a network is unavailable, and I fail to see how it's desirable for the bulk of data-oriented apps.

I can sort of see where they're coming from with the C# code only thing. It should make the device rather easier to secure. The other two, though, are just weird and arbitrary, but they're clearly deliberate; the platform that the WPS7 thing is derived from (Silverlight) has sockets, and you can't tell me that there are no .NET SQLite equivalents they could have slotted in.

The whole thing is ridiculous, and it is going to fail in a big way.

Safari's odd treatment of tar.gz

A tar.gz is a tar (tape archive, a type of file in which multiple files are stored), compressed with gzip, a compression system. There are a number of compression systems used with tar, but gzip is the most common. A plain tar file is not compressed.

So, that's the background. Now, when you download a compressed archive, Apple's Safari browser will very helpfully decompress it for you. So nice of it! There's a catch, though. For zip files, it's fine. For tar.gz files, however, it ungzips it... but doesn't untar it. I can't really think of any reasonable situation where a tar would be preferable to a tar.gz; it just sits there using extra disk space. They should either have left well enough along, or uncompressed and unarchived it.

I suspect that, one day in the early noughties, someone in Apple was handed a task labelled 'implement decompression in Safari downloads' and took it way too literally. This isn't some new bug, by the way; it's been that way since at least 2005.

Beloved demon-pope passes the blame

3D2A9D4E-EC83-45A1-9A79-3A28080F7108.jpg


Here is Ratzinger himself on the whole wacky child-rapin' priest thing.

In recent decades, however, the Church in your country has had to confront new and serious challenges to the faith arising from the rapid transformation and secularization of Irish society. Fast-paced social change has occurred, often adversely affecting people’s traditional adherence to Catholic teaching and values. All too often, the sacramental and devotional practices that sustain faith and enable it to grow, such as frequent confession, daily prayer and annual retreats, were neglected.


I'm sorry? Not enough daily prayer? How does this work? "Please God, do not let Father Jack fuck my 10 year old"?

Nasty, weaselly pope, with his sly little letter. Of course, you know, he was just following orders.

Friday, March 19, 2010

Rocket fuel; not as expensive as you'd think

A few days ago, there was a discussion on Reddit on whether it would be affordable for a person living today to go into orbit in their lifetime. A number of people stepped in to claim authoritatively that it could never happen. Their reasoning was rather interesting; one claimed that the main constraint was energy, and that that was intrinsically very, very expensive; the other claimed that it took $10,000 of 'oil' (presumably kerosene) to put one pound in orbit. The first guy mentioned the $10,000/lb (really, who measures spacecraft in pounds?) figure as well. Both were highly upvoted, and so forth.

There's just one problem. It's not true.

Let us take a typical, not terribly efficient, but very old, much-used, and reliable rocket, the Soviet/Russian Soyuz. For the sake of argument, let us take the Soyuz-2, which is the current leading model. An aside. You might assume from the name that the Soyuz-2 is the second Soyuz. And you'd be wrong, oh so wrong. It's about the tenth. Russian rocket naming is, to say the least, odd. Rockets are generally named after the first thing they launch, so the Proton rocket was first used to launch a satellite called Proton (used to study high-energy particles), the Zenit rocket was used to launch Zenit spy satellites, and so forth. The Soyuz rocket, then, was first used to launch the Soyuz spacecraft, originally supposed to be the Soviet lunar craft, and these days used to ferry people to the space station. The name stuck; there have been over 2,000 Soyuz launches, of which only about 150 carried people. Variants included the Soyuz, Soyuz-FG, Soyuz-U, Soyuz-U2, and now the Soyuz-2. There were plans for a Soyuz-3, but it's been scrapped in favour of something new.

Anyway. A Soyuz-2 can put a payload of 7.5 tonnes in orbit. Its market cost is $40 million per launch. That's $5,333 per kg. So already the $10,000/lb figure looks a bit silly. That's about the cost of launching something on a Titan IV, a rocket which existed solely to give the US a fully independent launch capability which wasn't an explodey shuttle, and generally considered the most expensive rocket ever.

But how much of that is fuel? Well, a Soyuz-2 has a mass of 305 tonnes, of which 270 tonnes is fuel. The fuel is kerosene and liquid oxygen. I'm not totally sure of the proportions; let's say they're half and half.

The current price of aviation kerosene (very similar to the kerosene used in a Soyuz) is about $700 per tonne. That's 70cent per kilo. Liquid oxygen is harder to find pricing for, but it was 21 cent per kilo in 2001. So, we're assuming 135 tonnes of each; that is, $94,500 worth of kerosene and $28,350 worth of liquid oxygen, totalling $122,850. So, the cost of fuel per kg payload for a Soyuz 2 is $16. $16/kg, not $20,000/kg.

The real cost of launching things into space is more down to labour, launch sites, manufacture of rockets and spacecraft, and so forth. This is a good thing! If these claims of $10,000 of fuel per kg launched were accurate, then launching things would indeed be intrinsically very expensive, with little hope of getting cheaper. Fortunately, this is not the case. All of these costs can be dealt with through automation, mass production, a shift to reusable craft when technology (especially materials technology) makes that practical, and so forth.

By the way, it should be very obvious that the $10,000 figure for fuel is silly. If it were accurate, then a Soyuz would, based on its payload, weigh about 300,000 tonnes, bigger than an aircraft carrier.

Some rocket fuel is more expensive, of course. In particular, the extremely poisonous UDMH used in the Proton and Titan rockets, and in most satellite stationkeeping systems, works out to about $50 per kilo, mostly because it is unsafe to handle. It's hard to get a proper figure on liquid hydrogen, though it's probably cheaper than kerosene in bulk. And solid fuel rockets are special; the fuel is the rocket, and processing costs are very high. But the point is that fuel need not be a blocking issue.

One more thing. The Soyuz has a payload of 7,500kg, using 270 tonnes of fuel. A Boeing 737-700 has a payload of 20,000kg, using 20 tonnes of fuel. So, it's a big difference, but it's not a totally mad, staggering difference.

Sunday, March 14, 2010

Nice locali[s|z]ation from Google

Google Chrome, running on a US English system:

Screen shot 2010-03-14 at 00.40.19.png


And on a Proper English system:

Screen shot 2010-03-14 at 00.38.52.png


I'm not sure that 'Under the Bonnet' is really something that anyone would actually say over 'Under the Hood', but it's a nice touch nonetheless.

Another reason that there will be no Flash crap on the iPad

Here's a dialog from Google Chrome. It helpfully links to the Flash privacy settings system, presumably in an effort by Google to disclaim any responsibility for the damn thing.

Screen shot 2010-03-14 at 00.37.36.png


We click it.

Screen shot 2010-03-14 at 23.02.14.png


Oh, well, that's a good sign.

We click 'no' and let it consume full CPU for a few minutes, during which it looks like this:

Screen shot 2010-03-14 at 23.02.30.png


Nice, Adobe. When the processing is finally done (on all of about ten websites, mind you)...

Screen shot 2010-03-14 at 23.08.01.png


Note: If you have to write a little note under your thing which is not an image, it is the actual Settings Manager, to let people know about this, you want to rethink your design a little.

And blue text on buttons? Really? And what does that horizontal slider do? It actually sets the amount of storage that a website is allowed use without asking, but you wouldn't know that from its default 'None' state. And the 'Never Ask Again' checkbox? I would guess that it means never to ask whether a site is allowed use storage, but it's not at all clear from context.

Still, at least one thing is clear, right? Good old scrollbars. The scrollbar may look a bit shit, but at least it's obvious what it means. It means that I have no more than four sites in the list; there is nowhere to scroll to.

Screen shot 2010-03-14 at 23.03.49.png


Well, actually, no it does not.

Screen shot 2010-03-14 at 23.04.12.png


That's an... interesting combo box. Is a fake combo box really quite the right UI element for that sort of thing, anyway?

Screen shot 2010-03-14 at 23.16.06.png


Let's add a location. Hmm, we can 'Browse for files' or for a folder. Not quite sure what that means, but, hmm, what would happen if we just typed something into that text box? I'm sure it'd validate that it was a proper filespec, yeah?

Screen shot 2010-03-14 at 23.16.16.png


Hmmm. I suppose at least we can, noticing our mistake, easily edit it to something sensible with the help of a friendly file browser?

Screen shot 2010-03-14 at 23.16.51.png


Yes, okay, thought not.

But surely there is some mistake? You've seen the Flash settings panel before, and this does not look like it! Have Adobe changed where it lives?

Screen shot 2010-03-14 at 23.05.03.png


Nope, the other one's still there. Needless to say, the widgets, and indeed the fonts, are slightly different; we wouldn't want to get complacent, would we?

What happens when you click the little help button in the top right? Adobe, realising that you will probably just throw the computer out the window if exposed to any more wonderful Flash interfaces, sends you to a real proper website with no Flash on it!

By the way, it may have looked to you like all of those pages were part of one applet. That is true for the small inset settings thing, but not, of course, true for the main settings thing. When you click the tabs you're redirected to a new page, with the relevant bit of the applet on it. Really. I've no idea why.

And again I need to emphasise that this is something that Adobe has made themselves, and distributed to hundreds of millions of people. This represents the peak of achievement in Flash interfaces, or at least it should. Just try to imagine what one made by your average idiot looks like, if you dare. Now, try to imagine that they were additionally constrained to making it work sensibly on a touch device, with reasonable performance, and actually, unlike this one, do something useful.

Are you still confused that Apple would rather not have Flash apps showing up on the iPhone and iPad? Do you still think that it is due to some conspiracy theory about how very much money Apple makes off the free apps in the App Store, and how these apps would instantly be replaced with far superior Flash ones which everyone would use instead, leaving Apple in penury as everyone tapped away on Flash on iPhones, with greater consumer satisfaction? Really?

Adobe's distain for actual user interfaces intensifies

The Flash 10.1 installer for MacOS:

Screen shot 2010-03-12 at 01.20.33.png


I mean, really. The 'DONE' thing (all caps), is a button, the 'Installation succeeded' one (normal caps, different font), is not, despite looking like one.

At this point, I tend to suspect that they're doing it just to be annoying.

And these are the UIs that Adobe makes, remember; those made by third party Flash developers are generally worse.

Transitioning a Rails app to Ruby 1.9.1

Ruby on Rails is a popular web application framework for the Ruby language. Now, Ruby is slow. Really, really slow. Really, amazingly, stunningly slow. It beats AppleScript and Emacs Lisp, but that's really about it.

Of course, this only matters rather rarely. The vast majority of web apps simply don't have to be fast. They just don't have enough users. Many can also benefit greatly from whole-page caching; something like a blog, for instance, can generally cache almost all of its output. And this, in fact, is usually the response that you get if you complain about Ruby's impressive slowness; "Oh, you can just cache, and anyway programmer time is more important than machine time!" This is true to an extent, but scant comfort if you have a highly dynamic site and are looking at using tens of machines to cater for your users.

Two years ago, Ruby 1.9 was released. It had the great advantage of being merely very, as opposed to mindbogglingly, slow, but it was unstable and had minimal library support, so was ignored by all. Then, a year ago, Ruby 1.9.1 was released; 1.9.1 is more stable, has better library support, and is considered usable for production purposes.

And yet, most Rails apps continue to use 1.8.x. As far as I can see, there are a few reasons for this. First, it was common wisdom that transitioning to 1.9 was very, very difficult when it became available two years ago. Second, Ruby has an interesting developer profile. Most people who write Ruby on Rails applications are not actually Ruby programmers. They are Rails programmers; they often know very little about the underlying language and will have considerable difficulty figuring out what's wrong when they see language errors. This, to an extent, probably applies to many web application developers, and we can now see the same thing happening with iPhone developers; many people just find some code that works on the Internet and slot it in.

As it turns out, upgrading even quite a large app can be pretty easy. You will, of course, need Ruby 1.9.1. It's quite likely that you'll have to compile this yourself; MacOS only comes with Ruby 1.8.7, and all but the most recent Linux distributions have 1.8.7 and 1.9.0 (which you definitely don't want). Compiling it is very easy, though; just get the source, and do:

./configure --program-suffix=19
make -j X
sudo make install


Where 'X' is the number of processors you have plus one. You don't have to bother with the -j thing, but it will speed things up considerably. You'll now have ruby19, irb19 and gem19, which are the 1.9.1 versions of ruby, irb and gem. From there, you can install your gem dependencies, and most of them will just work. There is more information on which gems will work here. Don't worry if you see people saying it doesn't work, as long as there are some people who say it does work.

Now, as long as you're using Rails 2.3.x, you can start your application and there's a good chance it'll work. You should do this:

ruby19 script/server


Or it'll use the wrong version of Ruby. You may, of course, need to update installed plugins. If you want to use console, you must do this:

ruby19 script/console --irb='irb19'


If you omit the irb thing it'll actually use the 1.8.x irb, causing much confusion.

Here are a few problems that you might run into.

It used to be pretty common, in ERBs (HTML templates) to do something like this:


<%= form_tag ({:action=>'bla'} ...


For a long time, Rails has warned about this, and people have happily ignored the warnings. Now, suddenly, it will no longer warn, simply produce a non-obvious error message. Lose the space before the opening bracket and all will be well.

Supers. Whereas before, when calling super in a method, it was perfectly acceptable to just call 'super', now you must provide arguments, or use 'super()' if there are none.

And then there are character encodings. If you have non-ASCII characters in a file, you must now put:

# -*- coding: utf-8 -*-


(or whatever the appropriate encoding is) at the top of the file.

There are no doubt other issues, but they're all generally soluble, and you should get a decent speed boost out of it.

The actual Rails maintainers would appear to be a little ahead of the 'community' here. For instance, if you are using I18n, the translation helper calls 'first' on translation keys. This 'first' is an extension on the String class defined by Rails. Until recently, it just looked at the string's underlying character array, which was reasonably efficient; a while ago it switched to using mb_char, which, on Ruby 1.8.x, is staggeringly inefficient; it results in the creation of a separate instance of a MultiByte class copying its data from the string. On every single translate call. Of which there might be a few hundred in a large complex page. On my laptop, simply calling 'first' on a string 10,000 times takes about 1.5 seconds. That means that if your page calls the translate function 100 times, which is not at all unreasonable, you're adding 15ms for each page view, not to mention allocating and throwing away lots of things, which exercises the slow garbage collector.

On Ruby 1.9, however, mb_char just returns self, so all is well (or not; other parts of translate are still very inefficient, but that is another story). I suspect that Rails will simply get slower and slower on 1.8.x until everyone is forced to switch.

But for the moment, no-one seems to want to. To me, this highlights a serious problem in the Rails community; not caring about speed to this extreme extent seems very unwise.

Friday, March 12, 2010

NEW SHOUTIER URLS

Are your URLs dull? Self-effacing? Meek?


THEN PERHAPS YOU NEED NEW SHOUTY URLS, AS USED FOR NETNEWSWIRE! SHOUTY URLS! THEY MAKE YOUR WEBSITE SOUND LIKE IT'S SHOUTING!!!!

Nice little touch in the new Blogger templates

Google's Blogger service added a new templating system today. This may not sound like much, but, you know, it's Blogger; they never, ever change it. This is probably the biggest change in about two years.

So, bored with my existing template, I used one of the new fancy adjustable ones. You can see it here now; I think it's rather nice.

Now, I've an iPhone 3G. In case you don't know, iPhoneOS device speeds go as follows. iPhone, iPhone 3G - slow. iPod Touch 1st gen - faster. iPod Touch 2nd gen - faster again. iPhone 3GS, iPod touch 3rd gen - very fast. iPad - fastest (one assumes). So, it can often take a few second to render larger web pages. With the old template, the background appeared almost instantly, and the rest of the blog after about five seconds. With the new template, though, this happens almost instantly:


And then the sidebar and comment box and so forth appears after a bit. I initially actually thought that it was a special cut-down mobile-optimised view, but it's just very graceful loading under difficult circumstance. Perfectly usable while still loading. Very clever, Google, and hopefully it's a design technique that we'll see more people employing as smartphones become more mainstream.

Thursday, March 11, 2010

Google introduces a marketplace for App Engine apps, as I predicted two years ago

From a post of mine two years ago:

There's another possibility, though, and I'm surprised that no-one seems to have picked up on it thus far. Google's Google Apps thing provides private email, calendar, and so forth, to various corporate users and universities. Wouldn't it be nice if a small business could simply go to a website and buy themselves, say, a CRM, or an accounting system, or whatever, maybe paying by user count or per year, which would be private to them, hosted by Google, and integrate nicely with their existing Google login system? I suspect that Google will do something like this, something along the lines of Apple's proposed iPhone software store. The developer will get a cut, Google will get a cut, the users will have their application without having to worry about hosting it themselves... Everyone's happy. Except the webhosts, and the traditional vendors of custom corporate software, but it's not Google's job to look after them.

Also this, which is sort of obvious, but took over a year to show up:

Some form of cron-job-like functionality; that is, the option to have a function executed at set intervals. This is essential for all sorts of applications, and could be relatively easily implemented in the current model.

Anyway, today they launched a thing to allow the integration of any web application into a business's Google Apps for Domains, and the selling of access to such applications in a marketplace, so I suppose I was sort of right.

This 'app store' meme seems to be taking off very quickly...

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.

ATM Usability

ATMs are probably the one piece of information technology that no-one, no matter how technophobic, can really avoid using from time to time. This is a shame, as they have perhaps the worst user interfaces on offer in anything designed to be used by the general public.

You put in your card, and wait for a while; give it time to wake up. Select the language; has anyone ever selected Irish? Do they even have an Irish UI translation, or is the option just there for show? Select the amount of money. Enter pin. Marvel at the screen informing you that this machine only does multiples of fifty euro, and the maximum withdrawal is 120 (I have actually seen this). Wait, while machine slowly ejects card. Attempt to re-insert card, and discover that the contraption prefers a few moments to think between transactions, even if they are transactions that it has rejected out of hand. Re-insert card, and continue.

Perhaps you would quite like a receipt, but it's not the end of the world if you can't have one? Select the option for having a receipt, go through above process, receive the message that the machine doesn't have any paper for receipt, throw card away in frustration.

Both of these things are very easy to fix, by simply telling the user of the relevant restrictions beforehand, or, in the case of the first, allowing a new transaction without rejecting the card. You might say that this is not allowed for security reasons, but you would apparently be wrong; a few machines do tell you beforehand, and many machines allow you to opt for a second transaction after successfully receiving cash... but not after being rejected due to choosing something which can't be made up with fifty euro notes, even though that would be rather more useful. The receipt thing is clearly pure perversity. Oh, and to add insult to injury, it will show you ads for undesirable mortgages.

The worst of it is, when the new UIs come, they will inevitably be worse, not better. You know those ticket machines in railway stations and LUAS stops? The ones where you generally have to stab the screen vigorously to get any response, especially if the train is about to leave? The ones which, after you've gone through the whole process, will occasionally decide that they're not accepting some, or in some cases any, payment methods today? It will be just like that. Only with a more annoying voiceover.

Still, it could be worse. ATMs are free here, of course, but apparently in the US they often add a service charge. Imagine! Pay extra, to be insulted by a machine!

Monday, March 1, 2010

On Shuttle explosions

The US has just scrapped its return to moon plans, on the basis, more or less, that there simply isn't enough money. Said plans will be replaced with rather fluffy initiatives aimed at funding private space launch facilities, and developing a super-heavy lifter and an orbital tug. 

Interestingly, a contract is to be awarded to develop a 'hydrocarbon' (so, in practice, kerosene) engine for the lifter, with performance equal to or better than that of the RD-180, a Soviet/Russian engine used in the US Atlas V rocket and derived from the RD-170 used in the Energia super-heavy lifter. The American company P&W has the rights to manufacture these, though it doesn't currently exercise them; Atlas V engines are made in Moscow. Until quite recently it was planned that it would by 2011, though. The two front-runners for this contract are apparently SpaceX, which has already developed a kerosene engine (though one of considerably lower performance than the RD-180) for its Falcon 9 rocket, and... P&W. Somehow, I suspect that the contract money will be spent in printing a 'this is definitely not an RD-180, goodness no!' sticker. I can't help wondering whether it mightn't be more cost effective to just build the RD-180s, or, if better performance is required, license the RD-170 or 171 (used in Zenit launchers), or the newer RD-190.

Anyway, this isn't the first time the US space programme has ground abruptly to a halt. There have been at least two, and arguably three, previous incidents. The first was the Apollo to Shuttle transition, when the US lost manned capabilities for some time. The second was the Challenger disaster, when the Western world lost all space launch abilities briefly; the Shuttle was grounded, a Titan and an Atlas had recently exploded, grounding both vehicles, and an Ariane 2 had also recently failed and been remotely destroyed, grounding that. The third was the Columbia disaster, which grounded the Shuttle for some time; it had a lesser effect on overall capacity, because most payloads had by then shifted to launching on Atlas or Deltas, or European Arianes or Russian Protons or Ukrainian Zenits; to a large extent the collapse of the Soviet Union saved the commercial space industry, there.

The Challenger failure was particularly interesting; the Shuttle was being operated at an unprecedented frequency, and NASA wasn't being as careful as it might have been. Here's Richard Feynman's appendix to the official report on the matter; it's fascinating and if you haven't already seen it you really should take a look. Amongst other gems, we learn that NASA management thought that the chances of catestrophic failure of the whole stack was 1 in 100,000, and that, while the solid boosters, in testing, had a failure rate of 1 in 25, each, that didn't matter because the Shuttle was a manned vehicle, and thus "the probability of mission success is necessarily very close to 1.0". Getting cause and effect mixed up there a bit, I feel. Boggles the mind, really.

I wonder have things improved, at all?