Google Swimming Pool

Dirk Riehle told me a funny story at WikiSym about Google’s swimming pools. There are two, they’re about 10 feet long, and they’re “endless pools” — the equivalent of a swimming treadmill. What’s really funny is that Mountain View required the company to have an on-duty lifeguard for these little pools. Apparently, it’s quite a funny sight to see a lifeguard watching people swim in these tiny pools.    (JYJ)

Dirk has a description and a picture of the pools at his most excellent, A Geek’s Tour of Silicon Valley web site, but unfortunately, he doesn’t have one with the pools occupied and a lifeguard on duty.    (JYK)

https://i2.wp.com/www.ageekstour.com/photos/GoogleSwimmingPool/small.jpg?w=700    (JYL)

The first person who points me to such a picture wins two cookies. Better yet, post it on Dirk’s site (which runs on a Wiki).    (JYM)

Fighting WikiSpam: Eaton and Shared Blacklists

WikiSym 2005 was awesome. Massive props to Dirk Riehle and the program committee for throwing an outstanding event and drawing tons of great, great people. With Wikimania last August and WikiSym this past week, the Wiki community is really starting to gel. And it’s about time. Can you believe Wikis are 10 years old?    (JXD)

Now the bad news: I walked away with some action items. How do I get myself into these messes?!    (JXE)

The first action item can be traced back to an ad hoc meeting that happened at Wikimania regarding WikiSpam. On August 6, a group of Wiki developers — me (PurpleWiki), Alex Schroeder (OddMuse), Brion Vibber (Mediawiki), Thomas Waldmann (MoinMoin), Sven Dowideit (TWiki), Janne Jalkanen (JSPWiki) — along with John Breslin and Jochen Topf, got together to discuss ways we could collaborate on fighting WikiSpam. Our goal was to identify the simplest possible first step and not to get mired in process discussions.    (JXF)

Since all of us were already maintaining URL blacklists, we decided to merge them and host it as a Sourceforge project. We agreed on a standard format (which I’ll document and post soon), and we agreed to send our respective lists to Alex, who already has scripts to slice, dice, and merge.    (JXG)

One of my action items then was to create the Sourceforge project. I did that immediately, but for some reason, the project was rejected. Thus began a month-long go-around with Sourceforge support where I tried to discover why they had rejected the proposal. In the end, the project was approved, and I never got an answer as to why it was rejected in the first place. At that point, I was mired in other work, and so I never followed up.    (JXH)

WikiSym was the kick in the butt I needed to follow-up. On Sunday, Sunir Shah hosted an antispam workshop, which about 40 people attended. First, Sunir reviewed techniques (many of which are listed at MeatBall:WikiSpam). Then we broke out.    (JXI)

In my breakout, I described what we had agreed on at Wikimania. Then Peter Kaminski described a very cute idea he had for making it easy to fight WikiSpam. In a nutshell, Peter suggested we write a simple drop-in replacement CGI wrapper that would filter a POST payload for spam and call the real CGI script — be it a Wiki, a blog, or anything else — if the payload were spam-free. Such a wrapper would enable users to install spam-protection for any CGI script without having to write a single line of code and without having to do any complex configuration. It wouldn’t require any special access to your web server, since it would just be a CGI script. And you could easily add other spam-fighting measures, such as throttling and IP blacklists.    (JXJ)

I thought it was a brilliant idea. So Peter and I sat down afterwards and whipped it up. Took about an hour. It’s called Eaton, it works, and it’s Public Domain. Peter Kaminski has already blogged about it, and there’s some important commentary there from Jay Allen, the creator of MT-Blacklist.    (JXK)

It’s a proof of concept, and it won’t scale. It can and should be improved, and I’d encourage folks to do so. Nevertheless, it’s pretty cool. Bravo to Peter for a very clever idea.    (JXL)

By the way, the first person to figure out the origins of the name “Eaton” wins a cookie.    (JXM)

Hillside Group Annual Meeting

I attended lots of great meetings and talks over the past two weeks. I’m going to start posting some notes and observations in reverse chronological order.    (9I)

Last Thursday and Friday, I attended the Hillside Group‘s annual post-OOPSLA meeting, held at the Anaheim Sheraton in Southern California. Richard Gabriel, president of the Hillside Group and one of our advisory board members, and Dirk Riehle, Hillside Group‘s treasurer, invited me to attend.    (9J)

The Hillside Community    (9K)

My parents recently moved to Irvine, which is about 20 minutes south of Anaheim, so I’m always looking for opportunites to go down south and visit. But that’s not why I wanted to attend this meeting. Regular readers of this blog know that Pattern Languages are central to Blue Oxen Associates‘ strategy for understanding and improving collaboration and communities. This is why I asked Richard Gabriel to join our advisory board in the first place, and is ultimately why I wanted to attend this meeting.    (9L)

Hillside Group was founded a decade ago by a bunch of software engineers (including Gabriel, the Gang of Four, and several other gurus in the field) in order to figure out how to write pattern languages for software design. The group hosts several Pattern Languages of Programs (PLoP) conferences every year, which are loosely modeled on writers’ workshops.    (9M)

When a bunch of engineers model their conferences on writers’ workshops, you know that they’re not your run-of-the-mill geeks. When these same engineers are intimately familiar with the works of architect Christopher Alexander, you know that they’re definitely not your run-of-the-mill geeks.    (9N)

All of this was evident throughout the meeting. Those in attendance (about 40 people) were thoughtful and highly self-reflective. Many of them had written books, and many more are writing books. More than anything, I was delighted to see the quality of meta-thinking within the group and a general inclination for action. These are folks who have recognized that Pattern Languages are a wonderful tool that can be applied to many other things besides software design, and have done exactly that. For example, the Hillside Group has a pattern language for shepherding (mentoring new writers), patterns for Pattern Mining, etc.    (9O)

I was struck by the group’s overall camraderie and openness. The interaction was light, easy-going, and usually accompanied by laughter. Shared Language was strongly evident. When meetings were about to begin, self-described group “den mother” Linda Rising would shout, “Group sneeze!” Everyone would stop in their tracks, shout “Hishi,” “Hashi,” or “Hoshi,” and then there would be silence.    (9P)

Hillside Group felt like a community with QWAN. This was not totally unexpected, given that Hillside Group is one of the few communities that are familiar with the term “QWAN.” In addition to being a valuable repository of knowledge about pattern languages in general, Hillside Group is a community worth studying.    (9Q)

Odds and Ends    (9R)

A topic that came up throughout the meeting was how to better leverage asynchronous tools for collaboration. The consensus was that the face-to-face meetings were extremely important and valuable, but that they could be made more efficient with the right tools. One of the key problems raised was that face-to-face meetings often generated a great amount of energy that promptly dissipated once the meetings adjourned and people went back to their busy lives. I think about this problem constantly. I’ve touched on it briefly in a previous blog entry, and hope to discuss it more soon.    (9S)

A tool idea that came out of this discussion was “Cyber Shepherd.” Inspired by Cyber Chair, a tool for managing the conference submissions and review process, Cyber Shepherd would be a tool for managing the pattern language submission and shepherding process.    (9T)

Husband and wife team Tracy Bialik and Russ Rufer introduced the Silicon Valley Patterns Group, which meets twice (!) a week to discuss software patterns. The group has been going on strong for five (!) years. I plan on attending one of their meetings when I return to the Bay Area, but it already seems to be a very good candidate for studying sustainable grassroots communities.    (9U)

Hanyuda Eiiti, a leading Japanese advocate of software patterns, entertained the group with his “Pattern Dance,” a live enactment of the MVC pattern.    (9V)

I got a chance to chat for a bit with Ralph Johnson, one of the Gang of Four, who explained how the Design Patterns book came about, and how Christopher Alexander‘s ideas began seeping into this community. I’ll post tidbits of that story here when the opportunity arises, and I hope to write a full-length article about this at some point.    (9W)