Ruby Conferences vs. Go Tournaments

by Gregory Brown

When I first got involved in free software development, I didn't really know why I was doing it. It just seemed reasonably fun and challenging, which was enough to let it steal up every spare minute of my time in the form of a not-so-mini obsession. I didn't so much think in terms of community, or how whether of my work would be useful to people, I was mostly just hacking for hack's sake.

Eventually, I came to realize what fueled my work in open source, and that was the ability to learn from some truly amazing people, and later, return the favor by doing the same for others. If you like any of the work I've done in Ruby, you have exactly one person to thank for getting me started (James Edward Gray II), but hundreds to thank for keeping me going.

Here I'd like to talk a bit about my experience with the Ruby community and how it compares to something completely different, the community surrounding the board game Go. As I played in this past weekend's North American Oza tournament, the idea for this article came to mind, and hopefully it doesn't sound much worse in type than it did in my head. I must warn you, if you're looking for technical depth, you're not going to find it here, this is mostly just wishy-washy feelings and general observations that'll only be interesting for those that have an obsession with community dynamics.

If that doesn't scare you away, feel free to read on.


15 Comments

daveadams
2008-01-22 17:56:06
Interesting thoughts. I play go and program Ruby but I've never been to any of the community events, alas. I do agree that learning go is like learning a good programming language or some new theory about the world in that it expands how you think about all problems that you face.


What's your KGS nick?

Gregory Brown
2008-01-22 17:59:49
daveadams:


My KGS nick is sandalaz (11k). Good to know I'm not the only one who saw the similarities. :)

Shawn
2008-01-23 12:00:23
Hi Gregory,


Since you are having fun with GO/WeiQi and open source software, why not try Jago


http://www.rene-grothmann.de/jago/
I am a 8k/AGA but I could give it 9 handicaps and still beat it. I am a vb programmer and not so good with Java yet. We could meet up there or the next OZA ;)


Wulu is another great WeiQi software. (I've played and tested so long to against and won from other programs) But it is built with proprietary assembly code. No doubt it has fast calculation, but it still could be beat, and I hope by using Jago to achieve that, which improve GO programming overall.



Shawn
2008-01-23 12:37:21
My bad. I forgot the Jago is just the client. The core is GNU GO
http://www.gnu.org/software/gnugo/
Shawn
2008-01-23 12:52:16
I need to comment out the previous posts.


This one is really good for you:


http://rubygo.rubyforge.org/

Bill Mill
2008-01-23 14:52:17
I have similar comparisons between the ultimate (frisbee) community and the python community. A nice thing about ultimate is that there's a bit more horizontal nature to skill than in Go, because you can always learn something about playing another position from another player, but less than in programming because there's only a few skills, really.
James
2008-01-24 00:00:14
No Werewolf at Go tournaments?


Sweet!

JEG2
2008-01-24 07:00:59
Does that mean that people who don't like your Ruby contributions get to blame me as well? ;)


Nice post. It's a good thought provoking read.


Dave Thomas has often said that he finds musicians tends to make good programmers. Interestingly, I've always felt it was gamers. You've always been a go guy, I'm a chess fan (though I play pretty much all strategy games), and Rubyists seem to favor Werewolf. I feel that strategic mindset helps us analyze and break down problems, which is such an essential programming trait.

Aaron Blohowiak
2008-01-24 11:28:49
"Though I *still* don’t believe hero worship is productive" -- hero *worship*, perhaps. The tone in your writing reflects a certain reverence that many people who poo-poo hero worship lack. I noted your ability to appreciate the value we can find in each other, and suggest that is perhaps the best way to confront people who are more apt in a given domain than us. I think it is all right to worship a person in a role, but to generalize domain skills to the person in total is naive at best.


This is, of course, highly influenced by my upbringing; I was taught to model the behaviors that made my heros successful while learning from their mistakes and shortcomings.

Aaron Blohowiak
2008-01-24 11:33:21
oh yea, and Go makes my brain ache
Martin DeMello
2008-01-24 22:17:04
I've come to a similar comparison between science fiction conventions and scrabble tournaments - much of what you said about interacting with smart, interested and essentially egalitarian people, but also the pleasure of meeting the same people again and again, and building up friendships over a stretched out timescale. Also, the huge role the internet plays in maintaining both communities.
Alexandros
2008-01-25 11:00:34
Of all the random things to see... I've been playing go for 4 years and coding in Ruby (on and off) for 2, so it's completely bizarre to see a post by a respected Rubyist on the subject. I am not alone! :)


On the question of vertical expertise, I have to admit it's very true. There is a go club in Atlanta that I go to (Tuesday nights at 7 folks! Georgia Tech Student Center!), and we have this problem where periodically a very strong player (5dan +) will come by, play a few games, and never be seen again.


The problem is twofold. First, playing high-handicap games is not as much fun as playing even games. Second, there is only so much you can teach on any given game. I have discovered that stronger players fundamentally see a different board than weaker players. The weaker player spends time looking for/at moves that a stronger player dismisses without even thinking about them; that kind of expertise is very hard to explain. The only way to get any enjoyment out of the process for the stronger player is to commit to training a weaker player. I am lucky that I know precisely such a player. (4 more stones... I'll get him soon).


I think programming provides a good comparison. If a beginner is doing something that is either bad programming, or bad Ruby (or whatever language you code in), there is generally an easy-to-explain reason why it is better to do it a different way. "Why use .each blocks instead of for loops?" "Because it makes code cleaner and easier to understand." Those are intuitive notions backed up by everyday experience. Compare with "why should I extened only two spaces instead of three?" "Because white's thickness in the upper right negates the influence of your stone." Great, you tell me what "influence" means.


Anyway, just a few thoughts. Awesome to see someone has the same interests I do.

amy
2008-01-26 06:54:28
Interesting as always, greg. Makes me want to check out Go. Why do we not have a million lives to spend exploring all the interesting stuff in the world?
Gregory Brown
2008-01-30 19:56:37
@Shawn, I took a glance at RubyGo a couple months ago, and of course am familiar with GNU Go, but I have to be honest, until I can find a University who would support me studying the topic formally, I'm going to bow out. That's an extremely hard and likely addictive problem, and well... as fun as it'd be to work on, I doubt I could have time to do it, still play go, and still code on my other projects. :)


@Bill


I did a tiny bit of Ultimate in high school college, fun stuff. As I start to pile on pounds, it reminds me I should get back into it. I never really got too acquainted with the community, but thanks for sharing your experience, it's quite interesting.


@James,


I'm on the fence about Werewolf. I think it's a fun game, I find the hype and excitement surrounding it pretty entertaining, but it does take away from the conference hackfests to an extent. Oh well, I guess everything has its pros and cons.


@JEG2,


I claim full responsibility for all my bad ideas. I've even patented some of them, so that other people can't repeat them. ;)


@Aaron,


I feel like reverence within a reasonable context is fine, in fact, I think it's downright appropriate. However, the trouble is that more than a few people mistake a meritocracy for a popularity contest, leaving far too many people enthralled with say, DHH's personality, rather than the software he has produced or the community he has helped create. I'm not saying personality doesn't play a role in that, it's just not the primary one.


It's fine to have heros, so long as you understand why you admire them. I think even in that case, worship is stomach turning, and that's where the fanboys drive me nuts.


To give a bit more explanation though, I may be less comfortable with adoration than most. I feel slightly uncomfortable even when someone thanks me for work I've done, as I don't feel it's necessary. That makes me an outlier to some extent, so I don't think your views are unreasonable. :)


@Martin,


Great point about the stretched timescale. It always amazes me how many incredible friendships I've acquired with folks I've only seen a few times in person before, entirely thanks to the online communities I've participated in.


@Alexandros


Great job explaining some of the problems I touched on briefly, hope to maybe see you on KGS sometime.

补丁分发管理
2008-06-09 20:47:39
玻璃纤维服务. 玻璃纤维为何在亚马逊投玻璃纤维