brad's life [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Why, hello... [Sep. 17th, 2012|07:24 am]
[Current Location |United States, California, San Francisco]

Long time no see.

How's my baby doing?
Link53 comments|Leave a comment

Contributing to Open Source projects [Mar. 20th, 2010|06:12 pm]
[Tags|, , , ]

Prior to joining Google I always joked that Google was the black hole that swallowed up open source programmers. I'd see awesome, productive hackers join Google and then hear little to nothing from them afterwards. When I joined I decided I'd solve this mystery and post about it but it's been over 2.5 years and I've been busy and somewhat forgot. Fortunately a discussion at work last week reminded me of this again, and a bunch of us got to talking about the phenomenon.

Just as there are rarely absolutes in anything, there are no absolutes about open source programmers' activities after joining Google. The main reasons for them sometimes disappearing, as far as I can tell, are:
  • Many open source programmers are just programmers. They like working on fun, hard problems, whether on open source or otherwise.
  • They're busy. Google seems to suck everybody's free time, and then some. It's not that Google is forcing them to work all the time, but they are anyway because there are so many cool things that can be done. I often joke that I have seven 20% projects.
  • The Google development environment is so nice. The source control, build system, code review tools, debuggers, profilers, submit queues, continuous builds, test bots, documentation, and all associated machinery and processes are incredibly well done. It's very easy to hack on anything, anywhere and submit patches to anybody, and notably: to find who or what list to submit patches to. Generally submitting a patch is the best way to even start a discussion about a feature, showing that you're serious, even if your patch is wrong.
Personally, my increased involvement with Google side-projects and decreased involvement with public open source projects is a bit of all three of those bullets.

Notably, though, I want to discuss the last bullet.

It's pretty difficult to figure out how to contribute in the open source community. Given some package on your system or some tarball you downloaded, it's not always obvious what the right process is for that community to get patches upstream. It's often a research project just to find the upstream version control system, or bug tracker, or the mailing list to send patches to. CONTRIBUTING files in tarballs, if present at all, are often out of date.

When you're used to this, perhaps it's not so bad, but inside a company with a very consistent and easy-to-hack-hack-hack environment, this can be daunting. I'm not just talking about Google here. I'm sure most companies have more internal consistency in tools & processes than the collective open source community.

My request:
So here's my request to the open source community: make a webpage for your project that summarizes your community's development resources & process. And then link the hell out of it. Link it from all over your project's documentation. Make sure you have a CONTRIBUTING file, but don't put the current information in the file.... it'll just get stale. Instead, put your contributing documentation URL in your CONTRIBUTING file. Tools and processes change, but tarballs get old, and distros are rarely bleeding edge.

Good examples of people doing this already (from a quick search) include Django, Mono, and MySQL.

If your project doesn't already do this, as most of mine haven't, or haven't well enough, I made a website to make this easy:

Contributing: http://contributing.appspot.com/

Anybody can (and should!) use that for their project to create a project page with a stable URL listing their project's resources and quick summary of the project's development workflow. Where's your source, bug tracker, code review tool, style guide, mailing list, etc?

I've been creating project pages for all projects I'd started in the past, and making sure to update all their docs and websites with links to the Contributing page.

Here are some of mine:

http://contributing.appspot.com/memcached
http://contributing.appspot.com/perlbal
http://contributing.appspot.com/sgnodemapper
http://contributing.appspot.com/contributing
http://contributing.appspot.com/djabberd
....

Still creating them, but afterwards I hope to be able to filter more of my mailing list subscriptions and not feel guilty about people having out-of-date information and emailing me directly.

From now on I will never either a) fail to document the contribution process for a new project I start, or b) document that sending me patches directly is the answer. That may be true for a bit, but projects often change hands, and stale documentation sucks.
Link18 comments|Leave a comment

Realtime LiveJournal -> Buzz [Feb. 9th, 2010|12:24 pm]
[Tags|, ]

If you've seen all my "test" posts over the past few days, you probably knew I was up to something.

Indeed....

If you add your LiveJournal to your Google Profile (and your LJ links to your Google Profile and is crawled), and then you "Connect" your LJ to your Google Buzz account by adding it as a connected site, all your LJ posts flow into Buzz in 1-2 seconds, using PubSubHubbub.

And hopefully LiveJournal will support the Salmon Protocol so comments left in Buzz will flow back to LiveJournal, and vice-versa. But that's the future.

Much love to Brett Slatkin, the Reader team, Brian Stoler and the Buzz team, Sebastian Kanthak, John Panzer, and others who made all this work. Huge team effort, but in the end I think open, decentralized protocols will win and are the future.
Link11 comments|Leave a comment

Thirty. [Feb. 5th, 2010|10:31 am]
[Tags|, , ]

I'm 30 today. Happy Birthday to me! :)

Come party tonight if you're around SF: http://crush3r.com/page/ytziecxddo
Link35 comments|Leave a comment

Doing Hos is Hard Work [Dec. 24th, 2009|03:12 pm]
[Tags|, , ]
[Current Location |San Francisco, CA]

Etch-a-Sketch doesn't involve much hill climbing. GPS-a-Sketch in San Francisco does, however:


Merry Christmas from me and whatever_art to you!

*

In other news: not going anywhere for Christmas. Staying in San Francisco, hosting a 10 person orphan dinner. But then going to the Caribbean on a 7 night cruise over New Year's with parents, Sierra, my brother Cole and his girlfriend. Should be fun. :)
Link10 comments|Leave a comment

Halloween Costume: Where's Waldo? [Oct. 31st, 2009|05:54 pm]
[Tags|, ]

This year's costume, with whatever_art:

http://picasaweb.google.com/bradley.j.fitzpatrick/Misc#5398929204952872962



I tried to get http://bit.ly/whereswaldo but it was already taken (and awesome!), so I got http://bit.ly/whereswaldo2 so people might discover the awesome version by mucking with the URL. Time to run my own URL shortener... don't trust any of them.
Link11 comments|Leave a comment

Speakeasy pricing confusion [Oct. 8th, 2009|10:10 am]
[Tags|]

Speakeasy peeps,

Am I over-paying? (I'm assuming yes.)

I currently have:

DSL: Home Plus OneLink ADSL 6.0/768 Pro-Install (C) (activated 12/21/2005) PKG1822837

which is $105.95 (+ $6 fees) per month.

I called to get it reduced and the guy on the phone was super vague and generally useless. Between grunts and burping and "Oh that's interesting!" interjections as he played on his computer, I heard various tidbits which I couldn't connect:

* I'm currently running at 4.0/768 because of noise on the line.
* He could give me $10 off.
* He couldn't give me $10 off.
* There's an unlisted 4.0/768 speakeasy package. Could I move to it? He'd give me $10 off.
* But I thought you were already going to give me $10 off.
* You could move to the 3.0/768.
* No prices are listed on the website. Just the cheapest, slow one.

Apparently no love for long-time loyal customers.

I'm tempted to drop Speakeasy, but where would I go? Cable? Aren't they all dicks? I want to vote with my dollar and not give money to stupid companies blocking/intercepting/rewriting traffic and other lame practices.

Who's the most money-worthy broadband company lately?
Link29 comments|Leave a comment

Vedomosti article [Sep. 25th, 2009|05:26 pm]
[Tags|, , ]

Don't believe everything (or anything) you read here:

http://www.vedomosti.ru/newspaper/article/2009/09/23/214519

I'm told that it's horribly "mistranslated" (probably intentionally) to make a more interesting article.

I wish I brought my own recorder to the interview so I could post the mp3 of what I actually said, which is that I'm working on making social networking federated & inter-operable like email. I'm not sick or bored of social networking or LiveJournal. I still use LJ. I do use it less, now that I don't work on it, and it's true a lot of my friends are now on Twitter or Facebook, but that's why I want things to inter-operate.

Stupid media. I'm done with reporters. Or at least I'll start recording everything.

Update 2009-09-25 23:07: apparently the translation isn't bad, some tell me, except for the headline ("All my friends quit LiveJournal", not true), and perhaps the biased selection of some of the quotes. Many people are getting a different idea from the article than I thought I communicated. Oh well. My apologies to Vedomosti, since it doesn't seem like it was entirely intentional.
Link30 comments|Leave a comment

Moscow evening plans [Sep. 24th, 2009|06:28 pm]
[Tags|, , ]

Muscovites, any recommendations on what I should do tonight in your fair city?

SMS might be best, since I'll be leaving work soon probably. +7 (915) 353-36-83.

Thanks!
Link10 comments|Leave a comment

On PubSubHubbub and rssCloud ... [Sep. 15th, 2009|11:17 am]
[Tags|]

Are you confused about the difference between PubSubHubbub and rssCloud?  You're not alone.

Here's how the confusion came about:

Dave Winer invented rssCloud way back in the day.  It only distributed lite pings, the callback endpoint was the IP address that you subscribed from, and nobody really ever implemented it, so you probably never heard of it.  We sure hadn't.

Fast forward 5 or 6 years.  Brett Slatkin and I want to fix the polling problem and we're annoyed that all companies seem to have an internal pubsub system, but none of them work on the Internet, and XEP-0060 just isn't getting adopted, probably because XMPP weirds people out.  We start sketching out PubSubHubbub.  From day 1 we do all development in the open, on pubsubhubbub.googlecode.com.  Initially we only target Atom for simplicity until we got a prototype working.  We work on PSHB for about a year, during which time we hear about rssCloud and are impressed at the foresight but reject it as not satisfying our design goals.   After a year of working on PSHB, we demo it at the "TechCrunch Real-time Stream Crunch-Up" event.  We add RSS support a few days before the event because it's trivial at that point.  It's unfortunate that both Atom and RSS exist, but that's reality, so we support both.

Right after we present, we get a request to call Dave Winer.  He wants to "do voice", so Brett and I hop on our cellphones and the three of us have a conference call, with Brett and I outside on the street trying to find places to stand with less road noise.  Over the next 15-30 minutes, we slowly walk him through PubSubHubbub, repeatedly, explaining why webhooks and fat pings are important (no thundering herds DoSing publishers!), explain all of our design goals (pushing complexity to the hub, keeping publishing simple, decentralized, using HTTP, etc, etc...)

Dave Winer writes an article praising PubSubHubbub.  Great!

Dave Winer reads the PSHB spec and notices it still says "Atom only, not RSS".  Shit.  We forgot to update the spec after we added RSS support.

Perhaps due to our RSS documentation omission, or perhaps because he realized pubsub was finally in vogue, he's now gone and dusted-off and augmented his old rssCloud protocol that's RSS-centric.

The arguments in favor of rssCloud go something like this:  'we can't have BigCo control the spec.  We should have an independent spec!'  Or, in his words: "Google sux".  To reply to that specifically: This isn't even a Google-initiated project --- it's Brett & my 20% (or 5%?) time project, trying to fix something we find annoying on the web. We've been transparently working on this in the open from day 1.  Yes, we happen to be Google employees.  We have no internal docs or project plan on this.  If Dave wants something different, he's just as welcome on our mailing list as everybody else (many individuals and companies, working together to build consensus....).  Instead, he's heavily promoting the largely-unchanged rssCloud and not wanting feedback. Seems silly, but that's that.

Unlike rssCloud, which Winer says is frozen and a "done deal", the Hubbub protocol isn't frozen.  It's in development so far as we'll make changes and additions that are good and useful, and try hard not to break backwards compatibility (especially on pinging).  We have a few major things yet mostly untackled (including distribution of private content).  The rssCloud mailing list says "This is a mail list not a standards body".  If you'd like to work on a standard, join the PSHB mailing list.

Some of the good articles on the technical differences between the two protocols:
Anyway, I apologize for all the confusion.  I feel like had we only promoted RSS more heavily in the 0.1 draft of the spec, I wouldn't be writing this blog post today.

Hopefully this is the last I'm going to say on this topic.  Back to doing productive things....
Link35 comments|Leave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]