Subject: Failure, science and software testing
From: npdoty@gmail.com
Date: 1/14/2010 05:39:00 PM
To: Brian Houck (Microsoft), VigneshK (Microsoft), Mubarak (Microsoft), TracyMon (Microsoft), Jolie Boushey (Microsoft), Ben Cohen
Bcc: http://npdoty.name/bcc

Have you guys read this Wired article on failure and science?

I thought it was really reminiscent of the constant failures we run into as programmers, and the particular challenge of being a software tester.

The main premise is that scientists get so comfortable with accepted theory and the status quo that they don't recognize that failures might be breakthroughs instead of just mistakes in their own equipment or experimental method. There's certainly some value there -- the author gives the example of sensitive radio telescope static finally being accepted as cosmic background radiation and not a problem with the dish, and cites some serious ethnographic research of scientists and how they make discoveries. But the article makes it sound like the solution is simply to be skeptical, to assume that every unexpected experimental result is a potential new discovery.

But anyone who's taken high school physics knows that this assumption that it must be your fault not the theory's fault isn't just some elitist fallacy, it's born of experience. Of the hundred times that the results of your high school physics experiment didn't match what theory predicts, how many times was it because the theory was wrong? Zero, of course; it's always a screw-up with your experimental set-up (at least it was in high school, and I bet the percentage doesn't change that much once you're a professional).

As programmers, we learn this lesson even more often. The first rule of programming, after all, is that it's always your fault. This isn't dogma, every one of us has learned it from this quintessential and eternally repeated experience where we write a piece of code, it doesn't work, we assume that it must be a problem with the operating system or the compiler or the other guy's code -- that the computer simply isn't doing what we told it to do -- until we realize the mundane truth when we actually look at our own code and the documentation and find that we'd just made another stupid mistake.

And that's the real trick of software testing: it can be tempting, particularly at first, to file a bug every time something doesn't work. Young confident software testers go to their dev several times a day saying "I found a bug" only to realize that they hadn't called the function with the correct parameters. But this lesson of experience quickly leads to the opposite problem: having become so accustomed to being the cause of our problems (like any programmer), we just fidget until we get the software to work, unconsciously working around bugs that we should be filing.

So I think the real answer, both to the scientific problem and the software-testing one, isn't mere undying skepticism, but in knowing which failures are probably your fault and which ones aren't. And a lot of the techniques that experimental scientists and software testers are the same: the first step for both is reproducing the failure. Lehrer's article also suggests talking to someone who isn't intimately familiar with the experiment, and I think we software testers often understand an unexpected result when we try to explain the bizarre situation to a tester from another team. "Encourage diversity" is also on his list, and I think the Test Apprentice Program at Microsoft was a darn good example of that in action -- being the only non-CS majors on our teams, we often found different bugs.

Maybe experimental science could even learn something from software testers. I thought one of the more valuable things we got from learning test-driven development was that a test wasn't good unless you'd seen it fail. If you've only ever seen a test pass, then how do you know that it really tests what you claim it tests? That must be harder for physicists (they can't briefly turn off a particular universal parameter to ensure that the experiment fails under those conditions), but the same sort of counterfactual thinking (rather than just writing a test and being happy when it turns green, or running an experiment and assuming that the result confirms the theory) seems important to me.

Do we get a lot of good software testers from experimental science backgrounds? Maybe that's where we should be hiring from. Anyway, I highly recommend the Wired article, if only for the comfort that programmers aren't alone in the universe for having their experiments fail constantly.

Hope you're all doing well -- grad school is great, but, as you can see, I still miss software testing from time to time,
Nick

Labels: , ,

Subject: rssCloud meetup Wednesday, September 9th
From: npdoty@gmail.com
Date: 9/06/2009 05:37:00 PM
To: announce@ischool, noise@ischool
Cc: Erik Wilde
Bcc: http://npdoty.name/bcc


I'd like to announce a talk and meeting that may be of interest to iSchoolers.

On Wednesday, September 9th, local blogger Dave Winer, one of the originators of the RSS syndication format, will talk about a new proposal called rssCloud, which allows for Twitter-like instantaneous distribution of short messages in a decentralized way, based on existing RSS technology.

After an overview of that proposal, developers can share their own work in the area and there will be an open discussion.

So if you're interested in an alternative to Twitter that isn't controlled by a single company or want to see how a new standard is designed or implemented in practice, please join us Wednesday at 7 PM in 110 South Hall.

Thanks,
Nick

More info available on Dave's blog and the rssCloud website.

Labels:

Subject: Last call and usage notification
From: npdoty@gmail.com
Date: 8/07/2009 07:00:00 PM
To: public-geolocation@w3.org
Bcc: http://npdoty.name/bcc, Deirdre Mulligan


Hello all,

I had just a couple of my own comments to follow up on CDT's last call privacy comments and the "intended usage notification" thread that lingered and languished on this list a few months ago.

First of all, I'd like to second CDT's request to hear from other members of this list as to whether implementors of the API or users of the API that don't fulfill all the normative requirements in "Privacy considerations for implementors of the Geolocation API" and "Privacy considerations for recipients of location information" will be officially non-conformant with the API.

For example, Flickr's mobile website provides a "Photos taken nearby" feature which makes use of the draft Geolocation API. But Flickr apparently doesn't clearly and conspicuously disclose how long location data is retained, how location data is secured or whether location data is shared -- the "Your Privacy" link doesn't describe any uses or practices around location data. I might conclude from following another link that the "Yahoo! Privacy Policy" covers my location information, but it's never described explicitly and I couldn't definitively determine if my location information was stored or shared.

What does the WG intend by requiring recipients to "clearly and conspicuously disclose"? Is disclosure within a long Privacy Policy sufficient? Or do we expect location information to be addressed explicitly and before location information is requested? Also, will the W3C have any power to enforce or judge implementations or (ab)uses of the API?

Second (and I bring this up specifically because it might address ambiguities with the normative privacy considerations), I wasn't sure we ever came to a satisfactory conclusion on whether to allow requesters of location information to specify in their request how location information will be used, how long it will be kept or whether location information will be transmitted to 3rd parties. While Doug, Greg, Andrei and Ian proposed that allowing websites to present information about their usage would let them deceive users, Martin, Henning, Max and I thought that some additional context about how location information will be used would be valuable for user privacy.

Could we find some middle ground where requesters can't place arbitrary text which could deceive, but can fill in a timestamp for how long data will be kept and a flag for whether it will be shared? If not in V1, can we open an Issue to reconsider this question in V2? Again, this could help clarify ambiguities around "conspicuous disclosure", address concerns about privacy protection or even provide an easier step towards associating Geopriv-style permissions with location data.

Thanks,
Nick Doty
UC Berkeley School of Information

Labels: , ,

Subject: Twitter character counts
From: npdoty@gmail.com
Date: 6/23/2009 10:22:00 AM
To: Dave Winer
Bcc: http://npdoty.name/bcc


Hi Dave,

Re my sarcastic tweet:

More seriously though, I think you're right on, but that really you're identifying problems with blogging, not with microblogging.

If it were just as easy to communicate with a blog post as it is with Twitter, plus you could express longer thoughts with a blog post, then there'd be no reason to complain about Twitter's character counts. Twitter would simply be a joke, an inferior product completely dominated (that is, in all dimensions) by blogging software.

But it isn't just as easy. Part of it, as many have pointed out, is the small messages -- it's easy to write and easy to read because neither takes that much commitment. But I think there are other issues too, advantages of Twitter that we wish we had with blog posts.

  • Replying on Twitter is way easier and more effective than replying with a blog post. Trackbacks are confusing, full of spam and much harder to use than a single character in front of a name.

  • People are harder to find at arbitrary addresses than they are with a single username after "twitter.com/". (Like @chrismessina and others, I wish this weren't the case, but currently, I believe it is.)

  • It's easier to be part of a trend just by typing a # and a word than tagging your blog post and hoping technorati picks it up.

  • Republishing content is a trivially easy and widely-accepted practice. (I think this is why single-click re-blogging on tumblr is so popular too and why Google Reader's "share" feature is so compelling.) You can also push content to particular people with @mentions.

  • Syndication and reading is handled in the same place as writing -- as soon as you sign up for one, you've signed up for the other. Even though Twitter syndication is inferior to RSS (Twitter is a single unreliable service; there's no tracking of what's read and unread across devices), I suspect more regular people use Twitter to keep track of all their friends than use an RSS aggregator.

I think it's not so much a problem that Twitter has a character limit as it is that blogging platforms don't have all these other advantages. Conversations happen easily and naturally on Twitter, despite the severe limitation of character counts. I'd love to see those same advantages in the blogging platforms we use every day -- something you know about first hand!

Anyway, thanks for starting the conversation, and for using both Twitter and your blog to do it.

Nick

Labels: , , ,

Subject: re-blogging is the next big thing
From: npdoty@gmail.com
Date: 5/19/2009 10:17:00 PM
To: Jessamyn Conell-Price
Bcc: http://npdoty.name/bcc


Want to know the next big thing? After Twitter and location-based services, it's going to be re-blogging.

Have you been reading your little sister's re-blog? Or her friends' re-blogs?

By allowing re-publishing and commenting with as little as a single click, Tumblr is letting people feel ownership from what is largely curation. I do it a little with delicious and Google Reader, but these girls are doing it voraciously with re-blogging of photos and quotes.

And why not? Although I think technically this is done pretty poorly (copies of things leads to all sorts of problems and I already have a lot of issues with Lynn's friends and trying to track down the original of anything, since it may be several links deep), but the basic idea is smart. Everyone should be out there curating the web, not just a couple of big-name bloggers like Kottke. Add your comments and then (once the technical challenges are solved) compare your comments to everyone else's. Start a conversation on top of the web instead of in it.

Paragraph fingerprinting (CMU) and quotation finding (Google) are some techniques to bolt this on to existing practices. That might be more pragmatic than the Xanadu-style alternative. But I think an enhanced Delicious is where it's at (URLs as actual universal resource locators) -- it's just a question of who gets there first.
Subject: Re: My first step towards digital exhibitionism?
From: npdoty@gmail.com
Date: 3/26/2009 06:51:00 PM
To: Sam
Cc: Jessamyn, Seth, Ryan, Shawna, Zeina, Brooks, Steph, Andreas
Bcc: http://npdoty.name/bcc


(Looping back in the digital exhibitionists, in case they have input here.)

Regarding exhibitionism and subjectivity: I'm not sure there's any way around the fact that I control this. Since it's on a web page that I control, I don't see how I could prove to you that it's automatic or genuine, even if it really were. Short of a government-implanted chip, I think there's no way to stop me from potentially lying to you about my location, and if it ever got to the point where I couldn't lie about it, hide my location at certain times, I'd be really unhappy.

But I think I see your point, that there is a difference in degree here. The more automatic the updates are (even if I have the power to turn them off, or distort them), the more realistic the image of myself is portrayed. The more I have to remember to update, choose to only in certain circumstances reveal my location, the more my persona is curated.

There's no choice but for my online persona to be curated, the same way that my "real life" persona is. But the more automatic and implicit I can make these updates, the more realistic (and richer) a persona I can present. That seems like a worthy goal -- I'll work on getting updates to happen more automatically, and on building the habit to press that button each time I look at my phone. And maybe I can document on my page when my location was last updated -- it's not real proof, but it would be a start.

On Feb 23, 2009, at 2:51 PM, Sam Maurer wrote:

Maybe you could make a useful distinction between active and passive engagement with the information? If I have a routine that involves potentially being in the same location as you with any regularity, then I will want pull access to the information. But if I live far away and am just casually intrigued, either because I like to know what my friends are up to (c.f. facebook news feed), or because I have a thing for geospatial information, then I will want push notification of your major location changes. I guess people who live near you could want a combination of active and passive engagement with the information, but people who live far away are more likely to just want passive engagement?

I'm a little bit worried that the updates aren't automatic, though! I think this eliminates a lot of the digital exhibitionism component, because you might start subjectively tweaking your claimed location. And there's nothing to stop someone from using this as just another aspect of a carefully curated online persona. Thoughts?

sam

On Mon, Feb 23, 2009 at 5:10 PM, Nick Doty wrote:

I think since Fire Eagle currently doesn't give access to history I can't write code to do this (compare the current location to a past location). I'm also not sure that Fire Eagle supports notifications like that, though maybe XMPP allows for this. Seth?

But would you want to be notified every time my location changes significantly? I would think my friends would want more of a pull question than a push one: "where is Nick right now?" rather than "let me know whenever Nick moves". The latter also seems a little "creepier", though I'm not completely sure why.

On Feb 23, 2009, at 1:59 PM, Jessamyn Conell-Price wrote:

Can I be notified every time your location changes significantly*?

*standard for significant change to be determined

On Mon, Feb 23, 2009 at 1:54 PM, Nick Doty wrote:
Subject: My first step towards digital exhibitionism?
From: npdoty@gmail.com
Date: 3/01/2009 12:43:00 AM
To: Jessamyn, Nathan, Seth, Ryan, Shawna, Sam, Zeina, Brooks, Steph, Andreas
Bcc: http://npdoty.name/bcc


Friends,

Using the wonders of Fire Eagle (thanks Seth!), and a Google Geo Developer Workshop (thanks iSchool!), I've added a map to my personal website (http://npdoty.name) which is centered around my exact location, as stored in Fire Eagle.

So if you're curious, you can see roughly where I am, any time you have access to a web browser. Go ahead, stalk away. Try it out, let me know what you think.

Of course, updating Fire Eagle is something I have to do explicitly from my phone or laptop, so it won't be as automatic as the way that Andreas does it (though I'm looking at Loki to try to do it automatically via SkyHook). And the way the page is laid out, my exact location is visually obscured -- though those of you comfortable with code should be able to find my latitude and longitude without any trouble.

Nevertheless, I've never made this sort of information public before, so I'm curious to know how you'll use it, whether it borders on digital exhibitionism, if you think it'll lead to my untimely death, etc. So far, I like it, just because the maps are pretty and it provides some context to a webpage about me. If that isn't pretentious and self-aggrandizing, I don't know what is.

Nick