Simon Willison’s Weblog

Subscribe

October 2010

Oct. 2, 2010

I think that “bad technology” can kill a startup, but slightly different variations of good technology don’t have much effect. Choose what you know/like best. And Ruby and Python are both in this latter category.

enko on Hacker News

# 11:19 am / hacker-news, python, ruby, recovered

Aside from Disrupt, what other tech conferences do you track?

Self promoting here (not sure if that’s OK by Quora community standards or not), but the site we just launched, Lanyrd.com, answers this question. It lets you sign in with Twitter and see what events your Twitter friends are tracking, attending or speaking at. It also lets you create a conference profile page—here’s mine, which shows the upcoming conferences I am tracking at the moment: http://lanyrd.com/people/simonw/

[... 86 words]

What’s the easiest way to take an existing Django view and make it “real time” via long polling?

I’d advocate decoupling your long polling endpoints entirely from the rest of your web app stack. Personally I like Node.js for this, but Tornado would work just fine too (I’ve experimented successfully with Tornado long polling in the past).

[... 171 words]

Is the complexity of basic Python data structure operations documented?

Python’s C code has some excellent documentation, including detailed write-ups of how Python’s dictionary and sorting algorithms work. They’re a great read.

[... 42 words]

Facebook’s Instant Personalization: An Analysis of Fundamental Privacy Flaws (via) Oh FFS. “Instant Personalization” means you visit one of Facebook’s “partner websites” and Facebook instantly tells them your full identity and gives them access to full Facebook connect functionality—without you performing any action other than visiting the site. This will not end well.

# 11:53 pm / cookies, facebook, privacy, recovered

Oct. 3, 2010

What are some tips for a new Python developer coming from C++/Java?

Read “Python is not Java” from 2004—it has some good tips on how working with the two languages differs.

[... 41 words]

My First Week with the iPhone. A blind user describes the experience of using VoiceOver on the iPhone, including the joy of discovering the Color Identifier app which speaks the names of colours picked up by the iPhone’s camera. “ I used color cues to find my pumpkin plants, by looking for the green among the brown and stone. I spent ten minutes looking at my pumpkin plants, with their leaves of green and lemon-ginger.”

# 12:20 pm / accessibility, iphone, recovered

How does Lanyrd compare to Plancast?

Plancast is a general purpose event site. They handle concerts, birthday parties, gigs, conferences and so on. They allow you to sign in with Twitter or Facebook, and make use of your social graph from both.

[... 429 words]

Oct. 4, 2010

Is it important for modern programmers to know how to use Unix? Why?

I’d say yes. If you do any kind of server-side development, Linux/Unix etc UNIX (links to: /topic/Unix), etc., is where most of the exciting innovation is happening. Tools like HadoopApache Hadoop (links to: /topic/Apache-Hadoop), RedisRedis (links to: /topic/Redis), MongoDBMongoDB (links to: /topic/MongoDB), nginxnginx (links to: /topic/nginx), git etc Git (links to: /topic/Git-version-control-1), etc., all come from a Unix UNIX culture, and not knowing your way around a command line makes it much harder to get to grips with them.

[... 110 words]

What is a painless way for a non-Unix programmer to get started learning Unix or GNU/Linux?

I’d suggest getting yourself an Ubuntu virtual machine running on your own laptop—VirtualBox is free, so that’s a good starting point. That way you can play with Linux all you like without fear of breaking anything, since you can always delete the image or roll back to a snapshot.

[... 73 words]

Is there a modern, tested, reliable, standalone onDomReady function that isn’t part of a larger library?

I’ve just noticed that the original comment thread on Dean Edwards blog from 2006 is still open, and a comment by byron from January 2010 has a promising looking candidate: http://dean.edwards.name/weblog/...

[... 54 words]

Oct. 6, 2010

It might seem a folly to want to build a gigantic, relatively puny computer at great expense 170 years after its invention. But the message of a completed Analytical Engine is very clear: it’s possible to be 100 years ahead of your own time. With support, this type of “blue skies” thinking can result in fantastic changes to the lives of everyone. Just think of the impact of the computer and ask yourself how different the Victorian world would have been with Babbage Engines at its disposal.

John Graham-Cumming

# 9:26 am / charles-babbage, john-graham-cumming, recovered

The 100-year leap. John Graham-Cumming recounts the history of Charles Babbage’s Difference Engine and Analytical Engine, and proposes a project to build a working Analytical Engine 170 years after its invention (the machine built by the Science Museum in London is the Difference Engine).

# 9:26 am / ambition, charles-babbage, john-graham-cumming, sciencemuseum, recovered

Nile Cruises: Does the “Oberoi Shehrayar” actually exist?

Yeah, that’s the site he showed us I think. I’m leaning towards “bog standard Nile Cruiser adopts confusing name to try and get ahead of the rest” as the explanation at the moment. There are 270 cruisers on the Nile, after all.

[... 223 words]

Oct. 8, 2010

“Last I heard Google’s search index was sharded by document rather than by term.”. Fascinating comment by jasonwatkinspdx on Hacker News.

# 8:03 pm / google, recovered

Oct. 9, 2010

What is the Open Web? Tantek Çelik describes the three pillars of the open web: open publishing of content, freedom to code and implement the standards needed to access that content and open access to that content over an unfiltered internet.

# 10:47 am / openweb, tantekcelik, recovered

Schneier on Stuxnet. Stuxnet now rivals Wikileaks as the real life plot most likely to have leaked from science fiction.

# 10:57 am / bruce-schneier, security, stuxnet, recovered

What is a Polyfill? Useful new term: a Polyfill is “a shim that mimics a future API providing fallback functionality to older browsers”.

# 11:48 am / browsers, polyfill, remysharp, recovered

PaintbrushJS. Impressive open source JavaScript library from Dave Shea for applying image filters (sharpen, blur, emboss, greyscale etc) to the canvas element.

# 11:53 am / canvas, dave-shea, javascript, recovered

Oct. 11, 2010

Who are the best Python developers in Los Angeles?

Mahalo is based in Santa Monica, and they have a very talented team of Python/Django people. They also host a regular Django meetup: http://www.meetup.com/ladjango/

[... 40 words]

Are there any web design conferences in Southeast Asia?

Our site, Lanyrd, lists a few:

[... 39 words]

What are the best places to visit in Morocco?

We just spent six weeks travelling around Morocco. Our favourite town was Chefchaouen, up in the mountains—it has an incredible medina (walled city center) painted in different shades of blue. It’s a lot more relaxed than other parts of Morocco, though if you got there first (as we did) you may not appreciate it as much. It’s a three hour bus journey from Fez, so I’d suggest visiting Fez first.

[... 134 words]

Does Quora have the same problem as Stack Overflow?

Quora isn’t one community, it’s thousands of separate communities—a community for each tag, and then a community for each user comprising their followers. As such, I think it will scale much better than the Stack Overflow community did, without needing to split out in to separate verticals.

[... 64 words]

JSON sucks. [...] Every time I need to (correctly) represent a large integer such as 4611686018427387900, I’m forced to do so in a string. It causes me to throw up in mouth a little.

Theo Schlossnagle

# 11:06 am / json, theoschlossnagle, recovered

What is the best way to list every key stored in memcached?

Redis might be a better bet for this—it has a “KEYS *” command which can return every key in the dataset, and its GET and SET performance are comparable to memcached.

[... 113 words]

Why is it hard to see who the poster of a question is on Quora?

This is probably my favourite thing about Quora, and one of the reasons I think it’s so much more interesting than other Q&A sites.

[... 104 words]

What company had the first API?

They weren’t the first to have an API, but Flickr were the first consumer web site that really pushed the concept in my opinion. They originally promoted it as “you can always get your data back if you want to”, but they then greatly benefited from the ecosystem that grew up around it.

[... 65 words]

Is the 90-9-1 rule of user participation a myth?

Anecdotal evidence from crowdsourcing style projects I’ve worked on tend to support the basic principle (if not the exact ratios). The vast majority of the work on projects I have been involved with ends up being performed by a tiny subset of highly active users.

[... 60 words]

What does the key word “yield” in Python do?

The best documentation I’ve seen on generators is this: http://www.dabeaz.com/generators/

[... 26 words]

Why do so few companies use the Dojo Toolkit?

Dojo is fantastic software, but it does a lot more than the other libraries and consequently has a much higher learning curve. It’s advanced features may serve as something of a disadvantage for achieving more widespread adoption—most developers don’t need the more advanced abstractions provided by Dojo when they start their projects, and by the time they DO need that stuff they’ve already written a ton of code using another library!

[... 88 words]

2010 » October

MTWTFSS
    123
45678910
11121314151617
18192021222324
25262728293031