Simon Willison’s Weblog


167 items tagged “webdevelopment”


How is JSON different then a JavaScript (programming language) object?

JSON is a carefully selected subset of JavaScript. A JSON object can only consist of dictionaries, strings, numbers (in JavaScript floating point and integers are treated as the same thing), lists, booleans and null. The spec on is a good guide:

[... 119 words]

Are there any disadvantages to using domain hacks for your product website?

If you ever get written up
In the mainstream press you can almost guarantee that they will screw up the URL they publish (by sticking a .com on the end or fixing a deliberate misspelling). Sadly this still seems to be the case after 20 years of the Web!

[... 74 words]

What is the difference between XHTML 1.0 strict and transitional?

Not a lot. XHTML transitional lets you use a few presentational attributes and elements that aren’t available in XHTML strict. Here’s a more detailed overview from back in 2005:

[... 59 words]

Is it possible to block screenshot apps from working on your webapp/website?


[... 36 words]

What are the pros and cons of using Drupal as a web application framework?

The short answer: Drupal is a content management system that has slowly evolved in to a framework. This means that it comes with an enormous amount of functionality for free, but that’s also a huge amount of stuff that you have to understand and potentially work around as your custom requirements get more involved.

[... 95 words]

Are there any good Django video tutorials?

ShowMeDo has 55 video screencasts covering all sorts of aspects of Django development:

[... 56 words]

How does Linkedin use Node.js?

They use it for the backed for their mobile app. Here’s an article with more information:

[... 29 words]

What kind of publicly available search software is able to be purchased or used freely as part of a website, and how good is it?

There are plenty of good open source options—Solr is currently my favourite. It’s extremely powerful but you do need to do some programming on top of it—I use Django and Haystack to build the search UI on most of my projects.

[... 115 words]

Is there a method to programmatically clear browser cache in JavaScript?


[... 18 words]

What platform was YouTube using before they were acquired by Google?

It was written in Python—I don’t think they used any particular framework (they started the site in 2005).

[... 37 words]

Are there any performance drawbacks when rendering DOM views at runtime with JavaScript, rather than rendering server-sent HTML?

Yes, there is quite a significant impact on first-load performance. The browser has to pull down all of the linked scripts before it can display any content—if you’re using a library like jquery that’s a sizeable chuck of code that has to be loaded and executed just on its own.

[... 152 words]


Does one still need to learn C/C++ if one just wants to build web applications?

No—you don’t need any knowledge of C or C++ to get started building web apps—I know plenty of extremely smart and talented web developers who have never written a line of production C in their while careers.

[... 122 words]

How much ram do you need for 100M hits per day?

That entirely depends on what you are running your site on. If it’s static HTML pages, nginx will work fine on hardly any RAM at all (though you would probably be better off serving the entire site out of S3 and not using a VPS at all).

[... 99 words]

Are there any Meta APIs? is a good example of this kind of API—it gives you one endpoint which wraps oembed APIs on dozens of other services (plus a bunch of custom scraping code). We use it as part of our video/slide embedding feature on

[... 57 words]

What specific skills are most important in a front-end web developer and in a back-end web developer?

Understanding of web app security. If they don’t know what XSS, CSRF and clickjacking are I’d be worried.

[... 41 words]

What is a single page application and is this the technology I should use for developing  my web application?

Single page applications are applications which are heavily dependent on JavaScript, with just one web page that you visit which then loads all other content using JavaScript. Prominent examples include Gmail and the new

[... 360 words]

Can someone improve their knowledge of programming in Ruby or PHP by using a framework like Rails or Zend, or does the framework just do a lot of the work for you without giving you an opportunity to learn from it?

Read the source, luke.

[... 82 words]

What’s the best way to keep a list of online users in a web application?

It depends on your definition of “online”—for this answer, let’s count anyone who has visited a page within the last 5 minutes.

[... 192 words]

What are some other conferences similar to Velocity?

Surge (28-30 Sept 2011 in Brooklyn) has a very good reputation:

[... 41 words]

Why does Django still not have support for multiple joins?

I don’t fully understand the question, but if you’re talking about doing a single join across multiple tables the Django ORM handles that just fine. Let’s say you want to get every BlogEntry written by a User who belongs to the Group with the name “admins”:

[... 67 words]

Why do websites contain multiple webpages when they could use AJAX?

Because it shouldn’t require a full-blown JavaScript interpreter just to access content on the Web.

[... 32 words]

How do you stay up to date with Open Source products and technologies?

Lots of blogs and RSS feeds—in particular, I subscribe to the feed of the authors of the software that I’m using, if I can find them.

[... 61 words]

How does FriendFeed work, and what programming languages are used?

It was written in Python, using the Tornado asynchronous web server (which the FriendFeed team developed themselves). They used their own schemaless NoSQL-style store based on keeping serialized objects in MySQL.

[... 51 words]

How are real time web applications achievable with PHP?

You don’t need to build your comet server using the same technology as the rest of your site.

[... 181 words]

What makes mobile application backends different from Webapp backends?

Nothing at all.

[... 18 words]

How can I determine which web server a particular website is using (Apache, IIS, Nginx, etc)?

If you’re on Linux or OS X, use curl with the -I option (to make a HEAD request and see the HTTP headers):

[... 63 words]

Are there any summer conferences in the Bay Area for web development (or any other technology/Internet related topics)?

Have a browse through the list here:—or filter by web development only:

[... 131 words]


Is there any quantified proof that .NET or others Microsoft technologies are not good for web startups?

How can you “prove” such a thing? You can disprove the statement that “.NET is no good for web startups” by pointing to examples such as Stack Overflow.

[... 51 words]

How long would it take an average programmer to do a Ruby on Rails Reddit clone prototype?

Just FYI, Reddit is an open source Python project:

[... 34 words]

How should you set up a staging server?

Start by reading this:

[... 20 words]