October 2010
Oct. 11, 2010
Why, for a decade of experience, can we not seem to see the IE 8 zombie coming? It’s not like it’s going to be some big surprise that unless we do something different, we’ll still be supporting it in 2015. That’s right: in 2015, you’ll still be thinking about a browser that doesn’t support canvas or video and doesn’t even have a JITing JS engine.
Oct. 12, 2010
What are some peculiarities of American culture which are not easily understood by foreigners?
US flags on /everything/ (the biggest ones seem reserved for used car sales lots though). In the UK it’s actually pretty rare to see a UK flag on anything—they come out for big international sporting events, but other than that they are usually ever only seen on government buildings.
[... 71 words]Dark Patterns: Forced Continuity example, Audible.com. Dark Patterns are user interfaces that are designed to trick people. I just submitted Audible.com for their habit of signing up users for a $7.49 “gold membership” without making it clear on the checkout screens that this is a recurring monthly charge, not a one-off payment.
Is it not time for Google to redesign its search page by removing the “search” & “I’m Feeling Lucky” buttons since the buttons are now useless with the new “Instant” structure?
I don’t think so. The “Search” button defines their entire purpose. The “I’m Feeling Lucky” button is an important part of their brand.
[... 60 words]What are the advantages of running Apache behind nginx as opposed to just Apache by itself?
I do this for all of my Django stuff—I have Django running on modwsgi on a stripped down Apache (almost no configuration except for the modwsgi stuff), then I put an nginx on port 80 which serves the static files directly and proxies dynamic requests back to Apache.
[... 244 words]Where can I find a database of the cities in the United States, their populations, and square miles?
On Freebase: http://www.freebase.com/view/use...—if you sign up for a Freebase account you can further filter this report to include areas.
[... 46 words]Is the .ly domain unsafe? Why?
It’s always been unsafe in my opinion. Why build your company around a domain name that’s controlled by the Libyan government?
[... 33 words]When should one switch from MySQL to Oracle or PostgreSQL?
When your own benchmarks prove that your application’s particular load characteristics will perform better on another database—and the difference is large enough that it’s worth the cost involved in retargeting your code. If that cost is high (and it probably will be) it may be worth paying for some expert consultants to ensure that your implementations against the different databases are properly optimised.
[... 102 words]Why don’t more people use Google Web Toolkit for web development as opposed to scripting alternatives like JavaScript?
I’m morally opposed to GWT, because I don’t believe in building sites or applications that are entirely dependent on JavaScript to function. As someone who took the time to learn JavaScript, I’m also not at all convinced that Java is a more productive language.
[... 68 words]Oct. 13, 2010
Tuning Canabalt. Fascinating insight in to the game parameter tuning needed to make a game feel just right.
How much does it cost to develop a website like Yelp or Groupon?
You’re probably asking the wrong question. The initial build phase of a site like Yelp (the bit before launch) is just the start of the process—once the site has launched, it will certainly need to evolve based on how the site’s users are using it. You can’t just pay a bunch of developers to build it and then launch it without expecting to keep working on it.
[... 136 words]How do sites prevent vanity URLs from colliding with future features ?
For wildlifenearyou.com and djangopeople.net I used the same trick as described by others in this list—an enormous blacklist of everything I could possibly want to use for a future feature.
[... 157 words]What are your best backpacking (world travel) tips?
If you take an iPhone, Dropbox + Instapaper are an amazing combination. Every time I book a hotel I drop the confirmation in to Dropbox (using “Print -> Save as PDF”), then sync it on to my iPhone. I’ve recently taken to grabbing screenshots of Google Maps and putting those in to Dropbox as well. I use Instapaper to grab offline copies of Wikipedia and WikiTravel pages about the places we are going to.
[... 88 words]Is there a way to learn Ruby in one hour?
Not unless you already know a bunch of other languages and are well versed in programming language theory. Even then, that might be long enough to get your head around Ruby syntax and semantics but it will still take weeks or months of study to get truly comfortable with the language idioms.
[... 76 words]Why don’t more websites use alternative domains?
Because regular human beings don’t understand them, and expect everything to be a .com. Here’s an interesting post from 2007 on why Topix.net spent $1,000,000 buying the .com domain: http://www.skrenta.com/2007/03/k...
[... 45 words]What companies are using Node.js in production in Texas?
There’s a list on this page: https://github.com/joyent/node/w...
[... 23 words]What would the level of interest be in a “FailConf” where people shared their business and technology epic failures and lessons learned?
It already exists: http://lanyrd.com/2010/failcon/ and http://failcon2010.com/
[... 36 words]What was programming use Myspace?
Originally ColdFusion, but then a small army of consultants from Microsoft helped rewrite it in .NET.
[... 27 words]Why doesn’t Facebook use nicer URLs?
Just noticed this link: http://www.facebook.com/notes/fa...—so it looks like things are beginning to improve.
[... 28 words]To what extent is it still valid to assume that your web app users are stupid?
They’re not stupid, but they’re probably WAY less web literate than you might expect—unlike you, they haven’t spent their entire career learning how the web works. See the famous “What is a browser?” video the Google Chrome team released:
[... 71 words]Simon Willison: How do you configure the Apache server you describe in What are the advantages of running Apache behind nginx as opposed to just Apache by itself?
It took me a while to figure out the single threaded bit (Andrew Godwin helped me sort that out)—on an Ubuntu system, you need to run “apt-get install -y apache2-mpm-prefork” to ensure you’re running the prefork Apache MPM.
[... 82 words]Why is software effort estimation still based on thumb rules and gut feels? How come no one has come up with an accurate estimation model?
For a truly accurate estimation, you need to have built the software before. If you’ve built it before, why are you building it again?
[... 55 words]Backbone.js. As should be expected for a DocumentCloud project, Backbone is a concise, elegant and educational take on the JavaScript MVC pattern. Depends on Underscore.js and plays well with jQuery.
Annotated backbone.js. Literate programming.
Oct. 14, 2010
PostgreSQL: 5 Minutes to Binary Replication. The missing manual.
Who is the most recognizable person in the world (real or fictional; alive or dead)?
I’d guess Jesus, then Ronald McDonald, then Mickey Mouse.
[... 30 words]Twitter.com 2010 Redesign: What things don’t people like about #newTwitter?
I absolutely love the improved functionality, but I don’t like the way it’s implemented as a heavy single-page JavaScript application. It’s extremely slow to load, which is a big problem for me because I habitually open new tabs with e.g. twitter.com/username in them, and each of those tabs now takes far longer to load and show me information than old Twitter did (especially since I’ve been suffering on very slow hotel WiFi connections recently).
[... 133 words]What are the best websites for finding out about events in San Francisco in advance, i.e., before they take place?
PlanCast is your best bet for general events, but if you’re interested in conferences we have a growing list on http://lanyrd.com/places/san-fra...
[... 48 words]Oct. 15, 2010
What are the main weaknesses of Ruby as a programming language?
Ruby still has a cultural tendency towards monkey-patching, aka action-at-a-distance. There are plenty of gems which modify existing classes—sometimes in ways that can break working code.
[... 45 words]