Simon Willison’s Weblog

Subscribe

Items in 2010

Filters: Year: 2010 × Sorted by date


Can we apply to Y Combinator on a visitors visa? Or is a work visa an absolute must?

I understand it is quite common for out-of-country YC founders to do the initial three month period under a visitors visa, which is OK provided they do not pay themselves a salary while in the USA. You can get a long way on expenses though.

[... 69 words]

gzip support for Amazon Web Services CloudFront. This would have saved me a bunch of work a few weeks ago. CloudFront can now be pointed at your own web server rather than S3, and you can ask it to forward on the Accept-Encoding header and cache multiple content versions based on the result. # 12th November 2010, 5:33 am

Porting Flickr to YUI 3: Lessons in Performance (at YUIConf 2010). Some very interesting tips here. The new Flickr photo pages suffered from what I’ve been calling “Flash of Un-Behavioured Content”, where slow loading JavaScript results in poor behaviour from some UI controls. They started using “Action Queueing”, where a small JS stub ensures a loading indicator is shown for clicks on features that have not yet fully loaded. Also, it turns out some corporate firewalls (Sonicwall in particular) dislike URLs over 1600 characters, and filter out any URL with xxx in it. # 10th November 2010, 6:33 pm

What are some good book discovery and recommendation sites?

I really like http://readernaut.com/—here’s an example profile: http://readernaut.com/nathan/

[... 27 words]

Why would or wouldn’t SXSWi be worth attending in 2011?

Yes, it’s worth attending every year.

[... 139 words]

Building a GeoIP server with ZeroMQ. ZeroMQ makes it trivially easy to write a network service in raw C that makes functionality from a C library (in this case the MaxMind GeoIP library) available to clients written in many different client languages. # 9th November 2010, 9:36 am

What would be the best plan to spend a 4-6 day trip to Egypt?

You’d have to go fast, but I would suggest arriving in Cairo, staying one night there, seeing the Pyramids and the Egyptian Museum, then an overnight train from Cairo to Aswan, a day there, a two day cruise down to Luxor (you can book yourself on to a boat that’s going in that direction in Aswan and save some money, especially since the down stream cruises are shorter), then two days in Luxor to see Karnak, the Valley of the Kings etc, then home. There’s a ton to see in Luxor so you could do the same route but take the train from Aswan to Luxor instead of the cruise—or skip Aswan, which would be a shame because it’s the nicest out of those three places in my opinion. If you go to Aswan, don’t miss Philae temple!

[... 160 words]

Egypt: What is the best restaurant for fish in Dahab?

We’ve tried Al Capone and Ali Baba (both excellent, Ali Baba had slightly more exciting bread), also Friends (not quite as good) and Funny Mummy (good, but not quite up to Ali Baba’s standards—great decor though).

[... 54 words]

Would you recommend using Google Go with web.go, or Node.js for a new web server project which will involve high IO?

If you already know JavaScript, picking up Node.js is pretty easy. It also has a much larger community of web developers around it at the moment than web.go, which means there’s more example code / open source bits and pieces floating around.

[... 69 words]

How come Google Maps provides so many more local Wikipedia entries that GeoNames?

My guess is that GeoNames just uses the latitude/longitude fields from Wikipedia (you can see them in the top right corner of most pages that describe a place), whereas Google actually do some text analysis and attempt to geocode articles themselves, even if they don’t have an exact latitude longitude assigned to them.

[... 72 words]

A predictable web of data—the why of YQL. Christian Heilmann is moving from Yahoo! to Mozilla to head up their evangelism team, and has marked the occasion by releasing the first chapter of a proposed book on YQL. # 30th October 2010, 7:44 am

WebKit is Dropping HTML5 “popstate” Events (via) Really nasty bug with WebKit’s pushState support, discovered by Ben Cherry from Twitter. popState events get dropped if the user navigates while an outbound network request is in progress. # 30th October 2010, 7:41 am

Running Yahoo! Pipes on Google App Engine. “The pipe2py package can compile a Yahoo! Pipe into pure Python source code, or it can interpret the pipe on-the-fly”—makes smart use of Python generators, and comes with tools to run the resulting compiled code on Google App Engine. # 30th October 2010, 12:11 am

mrjob: Distributed Computing for Everybody. Yelp use MapReduce with Hadoop (running on Amazon’s EMR service) to power all sorts of interesting features on the site, including spelling suggestions, review highlights, top searches and “people who viewed X also viewed...”. mrjob is their new open source Python framework for writing MapReduce jobs against the Hadoop streaming API. # 29th October 2010, 11:55 pm

If I have data that loads using  json / JavaScript will it get indexed by Google?

No. Personally I dislike sites with content that is only accessible through JavaScript, but if you absolutely insist on doing this you should look in to implementing the Google Ajax Crawling mechanism: http://code.google.com/web/ajaxc...

[... 56 words]

What are people’s experiences using Memcached?

That it’s so obviously a good idea (and works so well) that you’d be crazy not to use it. As far as I’m concerned, it’s part of the default stack for any web application.

[... 46 words]

Is there a good online calendar for upcoming technology conferences?

We’re trying to build exactly this with http://lanyrd.com/—not just for technology conferences, but they are definitely our largest niche.

[... 208 words]

What is the best JS library for automated cropping?

Not entirely clear what you’re looking for, but if you mean a UI tool for letting people resize and crop an image Jcrop is really nice http://deepliquid.com/content/Jc...

[... 43 words]

Is there a blog that covers open source Python projects?

No, but I wish there was.

[... 29 words]

Using MySQL as a NoSQL—A story for exceeding 750,000 qps on a commodity server. Very interesting approach: much of the speed difference between MySQL/InnoDB and memcached is due to the overhead involved in parsing and processing SQL, so the team at DeNA wrote their own MySQL plugin, HandlerSocket, which exposes a NoSQL-style network protocol for directly calling the low level MySQL storage engine APIs—resulting in a 7.5x performance increase. # 27th October 2010, 11:10 pm

Bees with machine guns! Low-cost, distributed load-testing using EC2. Great name for a useful project—Bees with machine guns is a Fabric script which fires up a bunch of EC2 instances, uses them to load test a website and then spins them back down again. # 27th October 2010, 11:04 pm

What is the best way to integrate MongoDB with Django?

Personally, I just “import pymongo” and start calling the regular Python API—no need for any special treatment to get it working with Django.

[... 41 words]

What are all the advantages of jQuery?

jQuery’s API is astonishingly well designed. It’s extremely consistent once you learn its rules (e.g. methods often take one argument to read a value and two arguments to set one, e.g. .css(), .attr(), .width(), .height()) and its functionality is so complete that the last few major releases of the library have hardly added any new methods at all.

[... 166 words]

Why does Python load imported modules separately for different files, unlike C or PHP? Isn’t that inefficient in terms of memory usage?

It doesn’t—you’re misunderstanding how Python’s module system works. If two different places have “import os” in them, the os module is only imported and executed once—it’s cached in the sys.modules dictionary so you can see it happen if you want to. The key thing to understand is that “import os” attaches the os module to the “os” symbol within the current file’s scope, loading it only if it hasn’t been loaded already.

[... 104 words]

What is the best lightweight jQuery tooltip plugin? Why?

Last time I went looking, I was very impressed by qTip: http://craigsworks.com/projects/...

[... 28 words]

What is the story of Advogato?

There’s a Google Tech Talk about Advogato: http://video.google.com/videopla...

[... 21 words]

What’s a good book about basic usage techniques and patterns in Python? (a la Effective Java/C++)

Dive into Python 3 is well worth a look: http://diveintopython3.org/

[... 48 words]

What are some of your favorite complicated diagrams?

This one’s pretty nuts:

[... 25 words]

Is it a good idea for new start-up to outsource Software/App Development?

It depends on what you mean by “outsourcing”.

[... 130 words]

What is the best Mac OS X text editor for a web developer? And what makes it great?

It’s still TextMate for me. It gets the basics right—syntax highlighting, sensible indentation, a good project pane (I use “mate ~/Development/my-project” at the terminal to open TextMate with my entire folder hierarchy), solid extensions and good unix integration (Filter selection through command).

[... 77 words]

Types

Years

Months

Tags