Entries for February 2007
Tiling AJAX Loading Progress Activity Wait Indicator!
Damn, this site is incredibly hard to find if you don't get the search terms exactly right. And I ended up being displeased with the selection.
So I made my own animation that's tileable, meaning the progress bar can be as long and scalable as you want. Just set it as the background-image of the block element. Use it if you want! You can see it in action at sucks/rocks.
![]()
And in the reverse direction:
![]()
And here it is tiled:
Google's non-answer to Yahoo and Microsoft search APIs
Last December, Google deprecated their SOAP Search API and stopped issuing new keys. I was lucky enough to have two keys in order to create and test sucks/rocks, but the limit of 1,000 queries per day was an immediate problem.
What's the deal, Google? You're supposed to be the company who has an answer for search. Yahoo's Search API offers 5,000 queries per day (which sucks/rocks just exceeded) and an upgrade path, and Microsoft's Live Search API offers 10,000. Yet all you can come up with is a totally lame AJAX Search API that doesn't even tell us the number of results? Snooze!
Is it because of the ads, Google? You didn't like that people could search without seeing ads? We'll gladly show Google ads on our page if you just bring back the real Search API and make it not suck! Instead we're going to Yahoo and Microsoft, and Yahoo is actually a company I wouldn't puke on these days; in fact, their results are pretty similar (Microsoft's just suck, predictably).
The original developer of the Search API commented that this has something to do with "product discipline", but this is really a slap in the face for everyone who was successfully using the service.
Google, please give the developer community the scoop on your answer to real searching!
A memorable PyCon moment
In one of the meeting rooms in the conference hotel, a dozen or so Djangonauts are quietly and productively hacking away on projects such as geodjango, a more decoupled admin, and Django snippets.
Ian Bicking pops his head in the door. In a loud whisper: "Hey is this the quiet room! Can I join the quiet room!" (It was, in fact, designated as The Quiet Room.) A crowd of other web folks burst into the room and it quickly becomes apparent that they were probably at the EWT party and not sprinting.
There is some uproar as Ian demonstrates the next generation of Python packaging. The crowd leaves shortly after, causing mischief elsewhere in the hotel.
James Bennett leaves the room to get a drink, returning with the following prediction (paraphrased): "It seems that Django and Zope are the only web frameworks whose members aren't going to get arrested."
(Gary sums up some other moments nicely in PyCon 2007: The Untold Stories.)
sucks/rocks: Does it suck?
A few nights ago Gary and I were in JCC trying to think of a quick project to make together. Someone suggested a web app that uses Gary's algorithm for evaluating software and companies: Google for "software/company sucks" and "software/company rocks" and compare the number of results. The result is sucks-rocks.com, which we've been refining for the past few days.
This might sound a lot like Google Fight until you realize that Google Fight's results are totally meaningless in the context of which term is better. sucks/rocks actually compares the number of pages praising something and the number of pages griping about it, which is a much better metric. Several phrases are used for both positive and negative queries.
I showed this to some people at the Django sprint at PyCon after someone brought up Cats or Dogs, which is even more interesting.
We included some examples for version control systems, operating systems, broadband providers, cell phone providers, and programming languages.
We're actually using Yahoo's Search API instead of Google's, since Google deprecated theirs and it only allows 1,000 queries per day. The results aren't much different. If you find anything interesting, post the link (using "Link to this") in a comment. (Note: There are a couple bugs that are fixed but still need to be pushed to the live site.)
RESTDB aka cherrylimecake
Hey web and Python dudes, I recommend taking a look at (Case alumnus) Gary Bernhardt's latest database project, RESTDB. It's a database server and client implemented as a RESTful HTTP service in Python.
Let's help Gary brainstorm some project names, hmm?
Time Warner Rant
I don't normally like rants, but I thought I would share my experience with Time Warner in case you were curious how exactly they suck so much. I Googled for time warner sucks and sure enough, my experience is not unique.
So I moved to Cleveland Heights a few weeks ago and made the huge mistake of choosing Time Warner for their cable Internet service. Just Internet, with my own cable modem (okay, it's actually Dave Carlin's modem, mine was stolen - thanks Dave!). Simple, right?
Two days after installation, our connection went out for a day. When I called customer service to send a technician out, I learned that they had also signed me up for cable TV for just an extra $30/month, without my consent. How nice!
The technician did technician stuff for about an hour before calling customer service to discover that they had placed a "change of service" block on our account for no apparent reason. So he had it removed, there were no technical problems whatsoever.
Since then our service hasn't been online for more than two days in a row. It usually goes down before midnight and comes back online before noon - the most productive coding hours! I've called a few times and they claim there is no block on the account. During today's call I learned that whenever a technician is dispatched, they add the $3/month modem rental charge to your account, without your consent, whether or not the technician gives you a new modem.
How hard is it to keep the goddamn service you're being paid for online? I hate Time Warner.
