Simon Willison’s Weblog

Entries in Feb

Filters: Type: entry × Month: Feb ×


What data structures are used to implement the DOM tree?

You may enjoy this post from Hixie back in 2002 which illustrates how different browsers deal with incorrectly nested HTML. IE6 used to create a tree that wasn’t actually a tree! http://ln.hixie.ch/?start=103791...

[... 49 words]

Which restaurants in London serve orange or lemon sorbet served in a hollowed out orange or lemon?

Thanks to Twitter I’m informed that Ciao Bella on Lamb’s Conduit Street has the lemon version.

[... 58 words]

What concert would you wish to go back in time to witness?

Queen Live at Wembley Stadium in 1986

[... 33 words]

What would be the best design conference to attend in 2013?

That’s a pretty tricky question to answer... there are a lot of excellent UX conferences around (we’re listing 69 upcoming UX events on Lanyrd at the moment, and more get added frequently). A few things you should consider:

[... 198 words]

What are the most commonly used or most interesting open-source packages and software?

I’d say the open source browser engines, Gecko (Firefox) and WebKit (Safari, Chrome, iOS, Android) are probably some of the most important and widely used pieces of open source code these days.

[... 51 words]

Is there any way to visually quantify, or show your total github activity (public or private) across all projects?

The new GitHub public profile pages do a pretty great job of this:

[... 49 words]

What do convention goers want most from an convention location?

I’m sure this varies wildly for different people, so I’ll give you my personal opinions here:

[... 214 words]

What separates a CIO, CTO, and VP of engineering?

Jason Hoffman and Bryan Cantrill, CTO and VP Engineering respectively of Joyent, gave an excellent talk on exactly this subject at the Monki Gras conference in London a couple of weeks ago. Their slides plus a video of their talk are available here: http://lanyrd.com/2012/monkigras...

[... 60 words]

What is the best travelling iPhone application for a 9 day trip through Europe?

Instapaper is essential—it will let you save any web page for offline access on your iPhone which is fantastic things like Wikipedia and Wikitravel.

[... 65 words]

Who is the best conference panel moderator?

Two of the best moderators I’ve seen are Jeffrey Veen and Jeremy Keith, both of whom are regular contributors at SXSW.

[... 103 words]

Has JSON pretty much replaced XML for string processing for the web, or are there use cases where XML is still necessary?

It’s replaced XML as the default format for most APIs. XML is still necessary for Atom/RSS feeds and other existing standards built on top of XML. It’s also a better choice than JSON for markup-style data—stuff like XHTML where tags are applied to sequences of characters within larger chunks of text.

[... 81 words]

How can I sort a huge amount of numbers?

Sorting large amounts of data is one of the first exercises you’ll see described in any Hadoop or map/reduce tutorial—so I’d suggest taking a look at Hadoop.

[... 44 words]

What are the ideal laser pointers for conference presentations?

I’ll swear by the Logitech Cordless Presenter: http://www.gadgetgrid.com/2008/1...—it’s very popular amongst friends of mine who speak frequently as well.

[... 234 words]

Is Microsoft’s platform prohibitively expensive for large scale web deployment? Would licensing costs have killed Twitter/Facebook early?

I would argue that the cost of the Microsoft stack is a lot more than just the license fees.

[... 546 words]

What’s the best way to learn how to scale web applications?

Read “Building Scalable Websites” by Cal Henderson. It’s a few years old now but still very relevant—it basically covers everything he learnt the hard way scaling Flickr. It’s a really fun read, too.

[... 98 words]

What is the best advice your father ever gave you?

It’s a small thing, but the piece of advice I turn to most often is “When travelling, the only things you really need are money, your passport and the address of where you’re going”. Makes travelling a lot less stressful, since I can just think “got those three” and know that anything else I’ve forgotten doesn’t really matter that much.

[... 76 words]

Which sites do a good job of guiding first time users?

The Twitter sign up process is fascinating, and constantly evolves. I create a new Twitter account every six months or so just to see what their latest iteration looks like.

[... 157 words]

What activities, games or examples have you used to persuade developers that they are different from ’real’ users?

I doubt there’s anything as effective as getting them to watch a well-run usability test—either a video, a fancy one-way glass setup or just having them quietly observe a zero-budget testing session in a coffee shop.

[... 62 words]

Why does Facebook Comments Box only support two levels of hierarchy?

I’ve heard in the past that regular (i.e. non-geek) users often have enormous trouble understanding hierarchical comments—they don’t understand tree based file systems either.

[... 65 words]

Will I be able to make a decent eCommerce website just by learning coding from Codecademy?

I have more than ten years experience building dynamic sites, and I’d still personally much rather use a hosted service like http://www.shopify.com/ than build an eCommerce system myself.

[... 51 words]

What are the best resources for learning regular expressions?

The O’Reilly book on Regular Expressions is absolutely superb. It will help you build a much deeper understanding if how they actually work than any online tutorial I’ve seen.

[... 62 words]

Why does Twitter use a hashbang instead of using the History API?

I asked a friend who is an engineer there about this a while ago. When they shipped the first version of Twitter that used fully Ajax driven pages there was a critical bug with pushState in a widely deployed version of Safari, which made it impractical to commit to.

[... 67 words]

What web programming framework best supports ’drag and drop’ actions?  Please give examples of sites and/or plug-ins that support the interaction.

Drag and drop is a client-side thing—it has nothing to do with the server-side technology being used.

[... 72 words]

Why did Twitter have so many problems if it is made with Ruby?

The technical problem Twitter solves (distributing millions of short messages per minute to an enormous graph of follow relationships) is extremely hard in any language.

[... 44 words]

Is it reasonably safe to visit Ethiopia and then to fly from Ethiopia back home via Cairo?

If you’re specifically interested in the Cairo leg then yes, it’s safe. Cairo is a modern city if over 20 million people. Tourism is Egypt’s most important industry and they are very, very good at protecting that cash cow even during times of political turmoil. If you pay attention to the news and don’t go actively looking for street riots to get involved with you’ll be fine.

[... 90 words]

What is the best way to allow  users to add videos on a website ?

Encourage them to host their videos on YouTube, Vimeo etc and give you the URL, then generate an embed code on your site (using your own code or with the http://embed.ly/ API).

[... 71 words]

System Administration: What service/product do you recommend for central logging of events and errors from multiple servers? Why?

We rolled our own solution to this using MongoDB, due to its super-fast writes and ability to store, index and search JSON. We were also attracted by its capped collections, which make it easy to e.g. only log the last 100,000 items.

[... 113 words]

What are some good startup events/meetups in LA during February and March 2012?

The next LA Hacker News Meetup is on the 25th of Feb in Santa Monica: http://www.meetup.com/Los-Angele...

[... 70 words]

What are the best sites to find events by location?

It depends on what kind of event you are looking for.

[... 86 words]

How can a new developer get involved in open-source projects?

I was going to say the same thing. Find a useful project in GitHub (preferably one that clearly has an active maintainer), fork it, fix a bug (look at the project’s issue tracker) then make a pull request.

[... 80 words]