Archive for the ‘Uncategorized’ Category

Wikipedia-iPhone ported to the OLPC

Tuesday, June 3rd, 2008

Some sweet work by Chris Ball and Wade Brainerd has resulted in the iPhone app I wrote for offline browsing of Wikipedia being ported to the OLPC. From Chris’s email:

We’re going to be shipping the result to Peru on tens of thousands of laptops in the near future, and it should go up to hundreds of thousands if the other South American countries with OLPC deployments decide to include it in their builds too.

The source is available in the OLPC repository.

Awesome!

MagLev and language implementation

Monday, June 2nd, 2008

Sho Fukamachi has a spectacularly uninformed piece on MagLev and language implementation. He writes:

There are about 5 serious, credible, working Ruby implementations - MRI, YARV, JRuby, Rubinius, and IronRuby. They all have highly intelligent, experienced, dedicated staff who know a lot more about writing compilers and VMs than I could ever hope to learn. […] Do you seriously think that all these smart people, writing (and collaborating on) all these projects have somehow missed the magic technique that’s going to make Ruby run 60x faster?

Fukamachi distorts things (he goes from “up to 60x faster” to the unqualified “60x faster”), but to the underlying question—”despite all the work that’s been done on Ruby VMs, can MagLev really be hugely faster?”—the answer is an emphatic yes.

For a start, MRI is neither a compiler or a VM—it’s an interpreter. MagLev/GemStone compiles to bytecodes which are then JIT’ed to native code. MRI uses a non-compacting mark-and-sweep garbage collector; GemStone uses a generational collector. GemStone uses inline caches to speed message sends. And so on. There’s no “magic technique”. GemStone have been working on this implementation for decades. Like compound interest, incremental improvements over so many years tend to add up.

But a broad 10x speedup across the whole language beggars belief. It should be impossible. Actually, I’m going to come right out and say it is impossible, until conclusively proven otherwise, to make a fully compatible ruby implementation that’s more than two or three times faster than today’s best.

These kind of predictions are why we should have a site that stores quotes and holds people accountable. Look at Ruby’s performance on the language shootout. If Ruby was 10x faster, it’d still be slower than Python (Psyco) and Lua (LuaJIT).

As it happens, I write a lot of Common Lisp, which is both more flexible than Ruby, and (according to the shootout) runs 37x faster. I don’t know if MagLev will actually be 10x faster when it’s released, but it’s uninformed burbling to claim that such a speedup is impossible.

Benchmarks on a system which isn’t even partially compatible with Ruby are utterly worthless. I can write some routine which messes around with arrays in C which is a hundred times faster than Ruby. […] Who knows what they actually are, how tuned they are, whether they’re capable of doing anything other than running those benchmarks fast (I doubt it).

“Isn’t even partially compatible”? Maybe he missed the part where MagLev ran WEBrick.

And wow ..! A shared memory cache! Finally, Rails can cast off that shared-nothing millstone around its neck. Except, of course, that shared-nothing is one of its main selling points. If you want to share objects use the database! That’s what it’s there for!

A Rails deployment is not shared-nothing (unless each scaling unit has its own database, and each request contains enough information to route it to the correct node).

Except of course that OODBs have been around for decades, and the last time I checked, we’re all still using 3rd normal form. If OODBs were the solution to all scaling’s ills then Facebook would be using Caché, not MySQL. Guess which one they’re using.

Facebook scales through aggressive use of memcached and abandonment of 3NF.

This credulity and blind bandwagon-jumping is the single worst thing about the Rails community.

Mindless ranting is well up there too.

Disclaimer: Avi and the rest of the MagLev team are friends of mine.

Update (05/06): As expecting, preliminary benchmarking Antonio Cangiano shows that MagLev is indeed hugely faster than MRI (and only marginally slower than C++).

Banks

Saturday, April 26th, 2008

Things I want my bank to have, in order of increasing wishful-thinking-ness:

  • An RSS feed of my account activity (aggregated for all accounts). Especially desirable for credit card transactions.
  • SMS alerts, if fishy activity is suspected.
  • A Dashboard widget with a quick overview of my accounts.
  • Spending analytics—I should be able to categorise the businesses on my credit card statement, and this data should be shared between all customers. 95% of businesses will be categorised very quickly.
  • An API.
  • Customisable actions—direct debits, standing orders, “Keep the Change”, and the like, are (relatively) expensive and awkward services that would be much better implemented in a customisable way with something akin to mail filters (as done in Gmail and Apple Mail).

Good Economist article on Wikipedia

Friday, March 7th, 2008

The Economist has a great summary of the tension in the Wikipedia community around the correct threshold for article inclusion.

My brother, John, is an admin, and so I’ve gradually been made aware of the kind of disputes that the article alludes to. (Does the “Traditional Irish Breakfast” deserve its own article, in addition to that about the “Traditional English Breakfast”? John spent many hours resolving such questions.)

It’s cool to see an outlet like The Economist give such accurate coverage of an issue that actually is pretty important (the battle for overall policy in arguably the largest collaborative project yet undertaken by humanity), but full of such arcane technical detail that very few outside the web community have much understanding of it.

If you’re interested in reading more, Andrew Lih (currently working on a book about Wikipedia) has a blog full of lucid posts on Wikipedia policy.

News.YC trends

Friday, February 15th, 2008

I created Y2 Combinator last year in response to the Y Combinator clones springing up around the world. It reached the top of News.YC twice—back in April of 2007, when it launched, and then again, randomly, today.

The browser data from these two events, 10 months apart, give an interesting picture of how the operating system and browser habits of Hacker News readers, and therefore some segment of the startup/programming community, have changed. The figures:

  • Linux usage is down! (From 14.8% to 13.2%)
  • Mac OS X is up 29% (from 26.1% to 33.6%)
  • Internet Explorer use is down 34%
  • Safari is up 48%, which suggests that many erstwhile Firefox-on-OS-X users have reverted to Safari

Wikipedia iPhone: the installation video

Tuesday, February 5th, 2008

Because I was lazy and didn’t write an install script, some people have been having trouble following the instructions I posted for installing the Wikipedia iPhone app. If you’re one of those, fear not—ipodtouchhackster has created a pretty good video tutorial that covers installation on Windows.

The Hitchhiker’s Guide to the Galaxy

Monday, January 21st, 2008

I’ve always been a fan of The Hitchhiker’s Guide to the Galaxy series, and once Avi suggested putting Wikipedia on the iPhone, it seemed like a good chance to realise the books’ namesake—”a comprehensive, collaboratively-written encyclopedia on a small hand-held computer”.

And so, warts and all, here it is.

(See also: Damien Mulley, Avi Bryant.)

Republican debates

Sunday, January 6th, 2008

Giuliani, in last night’s GOP debate: “That [Bush’s offence on terrorism] led to Iraq, The Patriot Act, electronic surveillance. All that is very, very good”.

Dan Weinreb on OODBMSs

Tuesday, January 1st, 2008

Dan Weinreb (of Symbolics fame) has just posted two excellent entries on his blog. Drawing from his experience working on ObjectStore, they cover the technology and business of OODBMSs. Cool stuff.

The Golden Compass and “Church”

Tuesday, December 11th, 2007

The movie adaptation of The Golden Compass (a book I loved when I first read it) does not mention the word “Church”—despite the Church being at the core of the novels. Instead, they use the word “Magisterium” throughout. Why the obfuscation? In an interview, director Chris Weitz writes:

And as for those who are concerned that I have not used the word “Church” but only the word “Magisterium” for the bad guys, and that sort of thing, I would advise them to do a little research into the meaning of the word “Magisterium” for starters.

So, Weitz acknowledges that the meaning of Magisterium will not be immediately be clear to most people, and later claims that “some people will only be satisfied if the film I’ve made is an outright attack on religion”. And here we go! “Magisterium” is a shibboleth. Most people won’t understand the word, and thus the broader message of the film (see this speech lest anyone doubt Pullman’s position here). But for the die-hards who care, Weitz weasels around the issue with the toned-down phrasing. Sigh.