OldSF Buzz!

Posted in san francisco, web at 9:21 pm by danvk

After its recent update, OldSF got an unexpected surge of traffic after appearing on Hacker News and reddit San Francisco.

Traffic peaked at 14,000 visitors the day it hit Hacker News, then trailed off:
Traffic jumping to 14,000 visits/day, then fading away.

I particularly enjoyed the new “Live Analytics” feature on Google Analytics, which shows you who’s on your site right now:
Live Analytics showing 70 visitors on the site

In the end, 40% of our traffic came from Facebook, 39% from Hacker News, 10% from reddit, 7.5% from Twitter and 3% from Google+. In other words, things started on Hacker News but wound up spreading through other social media.

The traffic spike was exciting, but also a bit sad. OldSF is fundamentally a read-only site, which makes it hard to keep people coming back. Raven and I did some brainstorming and decided to start tweeting “pictures of the day” on @Old_SF. Please follow us!


Developing the OldSF Slideshow

Posted in programming, san francisco, web at 7:21 pm by danvk

If you head over to oldsf.org, you’ll find a sleek new UI and a brand new slideshow feature. Here’s the before/after:

OldSF "expanded image" view before update.   oldsf-after

Locations like the Sutro Baths can have hundreds of photos. The slideshow lets you flip through them quickly.

As so often happens, what looked simple at first became more and more complex as I implemented it. Here’s how that process went for the OldSF update.
Read the rest of this entry »


Algorithmic Redistricting and Range Voting

Posted in politics at 12:32 pm by danvk

Computer algorithms are an appealing way to fight the problem of Gerrymandering, since they’re independent of politics. I had a great time this morning reading about one such algorithm for redistricting at rangevoting.org.

Here’s a map of Arizona’s eight congressional districts as determined by their statehouse (left) and the algorithm (right):

Arizona's congressional districts from 2002Arizona's congressional districts, as determined by the splitline algorithm

Check out Arizona’s second congressional district!

The splitline algorithm is quite simple. You find the shortest line which splits the state’s population in half. Then find the shortest splitlines in those halves, until you have enough districts. The exact details are here.

I like the simplicity of this approach, but I think there’s some benefit to having coherent districts, i.e. a community having their own representative instead of being split between two representatives of other communities. That being said, I don’t see much evidence that legislatures do this right now, and it seems like a hard thing to incorporate into an algorithm. The splitline approach certainly seems better than the status quo!

I also enjoyed their discussion of Range Voting, a generalization of Approval Voting (Approval Voting is a system in which you say whether you’re OK with each candidate, rather than picking a single one).

In Range Voting, you give each candidate a rating from 0-10, or maybe 0-100. The candidate with the highest average rating wins. By letting you consider each candidate independently (instead of choosing just one or ranking them), it avoids some of the pitfalls inherent in preferential voting systems. And it has more appeal than Approval Voting because it’s more expressive: I can say that I like candidate A more than candidate B (who I’m just OK with), rather than just saying that I approve of both. Even mother nature likes range voting: Honeybees have evolved a form of it!

One interesting thought: if a state switched to using range voting or instant runoff voting, how would it affect the National Popular Vote Bill? Can we have both?