waving android

I am currently a software engineer at Google, where as a member of the Android platform team I build frameworks and user interfaces.

The blog here at is mostly historical; you can find more recent posts on .

Archive for June, 2005

Rice academic calendars in iCal format

June 28th, 2005

Here’s the Rice Fall 2005 academic calendar as an iCalendar file: 2005-Fall.ics. The script is live; it scrapes the HTML every time you request it, so don’t (often). [Actually, I should put a cache in there, before RiceInfo starts blocking dsandler.org.]

The URL can be munged to work with other terms; for example, 2006-Spring.ics. I haven’t tested it beyond the next two semesters, though, so I make no sweeping guarantees about the script’s robustness.

(This hack ended up taking a lot longer than I thought it would, because of the sloppy input data. To the Rice Registrar: if you’re interested in providing iCal files for Rice students, get in touch.)

What is Peer-to-Peer?

June 27th, 2005

You know a technology is a big deal when the Supreme Court writes about it. The first two pages of the MGM v Grokster decision read like “What is Peer-to-Peer?” as written by Justice Souter:

Read the rest of this entry »

Grokster Loses

June 27th, 2005

The Supreme Court ruled unanimously against Grokster, finding the company’s actions to be illegal. (Reported by SCOTUSblog.) We’ll know the Court’s reasoning once the opinion is released; I’ll post a link here as soon as it is available.

“We hold that one who distributes a device with the object of promoting its use to infringe copyright, as shown by the clear expression or other affirmative steps taken to foster infringement, is liable for the resulting acts of infringement by third parties,” Justice David H. Souter wrote for the court.

what The Supremes said is that “One who distributes a device with the object of promoting its use to infringe copyright … is liable for the resulting acts of infringement by third parties using the device, regardless of the device’s lawful uses.” The promotion is the key part of that statement.

[Full text of opinions will eventually show up at the SCOTUS 2004 term opinions page. Here’s an Atom feed of updates to that page.]

The RSS Wars

June 23rd, 2005

So, wait. Microsoft’s big RSS announcement tomorrow is that they’re adding ordered lists? I must be missing something.

Microsoft confirmed that it is backing an effort to add support for ordered lists but would not go into detail ahead of Friday’s announcement.

Winer also hinted that RSS may be assuming a more central role at Microsoft, noting that there is a team devoted to the syndication standard.

Oh, now I get it. The announcement is about lists, but the big news is that Microsoft cares at all, and in a big way.

Is RSS the new HTML? Are we about to witness the beginning of the “RSS Wars?” (And not the silly, low-stakes syndication format wars, RDF vs RSS 1.0 vs RSS 2.0 vs Atom. I’m talking about all-the-marbles stuff like we saw in 1999.)

Gray matters

June 23rd, 2005

So I was out to dinner with a small group last night, and we just kept bringing the funny. Half a dozen times I thought to myself, “This is a hilarious journal comic waiting to happen! Must remember.”

Today: nothing. Stupid brain.

An end to configuration files

June 23rd, 2005

I hate configuration files, don’t you? Wouldn’t it be simpler if the user’s preferences were just hard-coded into the script?

#!/usr/bin/python

import sys, re

PASSWORD = 'bar'

if len(sys.argv) > 1:
    PASSWORD = sys.argv[1]
    
    script = open(__file__, 'r').readlines()
    for i in xrange(len(script)):
        l = script[i]
        if re.match(r'^PASSWORD =', l):
            script[i] = 'PASSWORD = %s\n' % `PASSWORD`
            break
    
    open(__file__, 'w').write(''.join(script))

print "PASSWORD = %s" % `PASSWORD`

The Snapple Circumference

June 22nd, 2005
=

Fig. 1. AP:
Giant Popsicle Melts, Floods New York Park

newer: older: