Simon Willison’s Weblog

Subscribe

1005 items tagged “quora”

2010

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]

What are the best APIs for creating location-based Wikipedia mashups?

GeoNames has a fantastic API for finding Wikipedia articles near a specific latitude/longitude pair:

[... 32 words]

What is the best way to maintain a API wrapper class across multiple languages?

1. Use JSON for your API. That takes away a lot of the necessity for an API wrapper, since it means you’re automatically returning native data types (hashes, lists, strings etc) for most programming languages.

[... 175 words]

What does an ideal Django workflow setup look like?

Short answer: virtualenv, pip, south for migrations, fabric for deployment.

[... 57 words]

Is it possible to make API calls without cURL installed?

Yes:

[... 26 words]

What is the best way to hire Solr developers?

Do you really need to hire a Solr specialist? It shouldn’t take a competent developer more than a few days to get familiar with Solr—the HTTP API is extremely easy to work with in my experience. You can always hire in a consultant from one of the companies that provide commercial Solr support for a few days to help your developers get up to scratch.

[... 82 words]

Why do some websites implement their logout link as a form post via JavaScript versus a plain old GET request?

Probably because if you implement logout as a GET action, I can force you to log out of a site by tricking you in to visiting a page with an <img src="http://yoursite.com/logout/" width="1" height="1"> element on it.

[... 64 words]

Did you mean rel=shortlink vs. rel=shorturl?

That was the cute trick in the initial proposal: it’s REV=canonical, not REL=canonical, suggesting a reverse relationship.

[... 29 words]

What are the main weaknesses of Java as a programming language?

A cultural bias towards over-engineering. In my experience Java code often ends up a huge network of Factories and AbstractFactories and Visitors and XML configuration files and every design pattern you care to mention, dozens of classes many of which contain hardly any procedural code at all. A lot of Java projects are essentially impossible to navigate without an IDE.

[... 77 words]

Is there any consensus yet on link rel=shorturl vs rev=canonical?

It’s pretty clear from the answers that rev=canonical v.s. rel=canonical is way too confusing—so it’s down to rel=shortlink v.s. rel=shorturl.

[... 38 words]

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]

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]

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]

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]

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]

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]

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]

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]

What was programming use Myspace?

Originally ColdFusion, but then a small army of consultants from Microsoft helped rewrite it in .NET.

[... 27 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 companies are using Node.js in production in Texas?

There’s a list on this page: https://github.com/joyent/node/w...

[... 23 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]

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]

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]

What startups host 100% of their private code on GitHub?

http://lanyrd.com/ does.

[... 19 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]

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]