Category Archives: community

Python at CommunityOne

CommunityOne is a free and open developer conference that is run by Sun on the day before JavaOne. This year, there will a space at CommunityOne dedicated to the Python community, complete with whiteboards and wifi. If you are in the Bay Area for JavaOne, or in the Bay Area, or just plain interested in Python, please register for CommunityOne — space is limited.

Registering for CommunityOne gets you a bag of swag, a free lunch the day of CommunityOne, access to all the CommunityOne events and sessions, and a free pass for Day 1 of JavaOne. When you register, put “Python/Jython” in for the referral code.

I will be on a panel on community models during the general session from 9:30AM – 10:45AM, and Frank Wierzbicki and I will be doing a Python/Jython panel. In addition to the usual developer stuff, there will also be a two day Startup Camp, and the folks from RedMonk will be back to do their day long unconference thing.

On Conferences

Bruce Eckel was unhappy about some things that happened at PyCon and wrote about them. A lot of his concerns are relevant to conferences in general, so I decided to break this into another post. The PyCon one was getting long. The crux of his dissatisfaction was that he felt that sponsors had been given too much access to the conference content (keynotes and lightning talks) in exchange for their sponsorship. I agreed with this and I told Bruce that in person. Frank and I were given a sponsored lightning talk slot, which we used to try to explain our new jobs to the Python community. Having been to PyCon previously it was a bit uncomfortable to be there in a “priority scheduled” slot. No sane company would want to make a bad impression on the attendees of a conference, yet in aggregate, this is precisely what happened this year. Having also talked with some of the organizers during sprint week, I am pretty sure that this will never happen again.

Predictably, there has been a lot of commentary, in response to Bruce’s post. Lots of people are upset for various reasons. Attendees are unhappy for one reason or another, and organizers and volunteers feel that they have worked a thankless task only to be kicked in the teeth.

I am both happy, and unhappy. I love PyCon. I love it even more than ApacheCon, because it has managed to retain more of that volunteer spirit. While there was a production company involved, from what I was able to see, the volunteers are still doing most of the work. I think that this is incredibly important, because no production company can know a community as well as a diverse set of volunteers drawn from the community itself. Without that knowledge, it is very hard to do a good conference.

Even with intimate knowledge of a community things are still complicated. The Python community itself is diverse, and growing. That means that the community is going to have different segments in it. I would be willing to be that there were a lot of people who came to PyCon to kick the tires on Python and it’s associated technologies, or to learn something new after maybe a year or so of programming in Python. Those folks have very different needs from people like Bruce or me. Bruce isn’t really interested in an eyes forward conference, and neither am I for the most part (unless Armin Rigo is going to talk about abstract interpretation o r partial evaluation). But many folks coming to a new topic area are looking for stuff more like tutorials, and introductory talks, which tend to be eyes forward stuff.

The key here is for everyone to have enough choices, and to me, that means that a good conference (not just PyCon) will look something like this.

  • The Hallway track – this just happens
  • Open Spaces for long time community members and/or advanced/specialized topics – this needs modest resources but needs promotion so that people understand how important these are and how to use them. O’Reilly has run OSCamp alongside of OSCON for a few years now, but OSCON is always played up as the major thing. But in today’s day and age, I think those roles probably ought to be inverted.
  • Lightning Talks – I am sad to admit that I want to far too many conferences where I ignored the lightning talks – to my detriment. I think that we owe the Perl folks a rich debt for having come up with the idea. Educating people on the value of lightning talks is good. I’d like to see the lightning talks moved to a more prominent spot, say, earlier in the day. I also think it would be worth soliciting a few people to give a lightning talk.
  • Regular Talks – If you are giving a real/regular talk, then I expect a lot. If you start reading to me about your project, I will be unhappy, because I guarantee you that I can learn more about your open source project by reading your project website during your talk than by listening to you. If I can’t, then there are larger problems a foot. You need to really say something really interesting or unusual in order to give a talk.
  • Keynotes – keynotes either need to be expansive, of incredibly broad interest (like python-3000, which Guido himself said was getting boring to talk about, since it’s been the same talk the last 2-3 years), or very entertaining. Best example of very entertaining would be the end of OSCON keynotes by the guys from WETA digital featuring theretofore unseen footage from the Lord of the Rings movies
  • Tutorials – this is basically old hat, but the people that need them, really need them

Also, for PyCon, we need to keep up the tradition of code. I loved walking down those hallways at GWU and seeing people huddled in pairs over a laptop cranking stuff out. It was amazing this week to walk through the entire downstairs area and see all the sprint labels on the doors.

One other note on conferences. Twitter is it. As usual, there were some difficulties with the PyCon WiFi – first time in a hotel that has never hosted geeks before, so it was inevitable. For those of us not smart enough to bring an EVDO card and router, getting connectivity was tough. The reason I missed that the most was the Twitter backchannel. There was an official pycon twitter feed (a bot, I’d guess), but there was also the backchannel of friends. Here are some real life examples of Twitter in action at PyCon.

  • Bruce Eckel decided to host an open space on concurrency, a topic I am really interested in. The only way that I found out about it was that Dianne Marsh, twittered it to the pycon reflector. I managed to get there in time for some interesting discussion, and to see who else was interested in the topic.
  • During the sprints, Donovan Preston was tweeting things like
  • Compiled nginx with mod_wsgi, so far so good, now to test

    which ultimately goaded me into going down the hall to find out what he was up to.

The value in conferences is all being there together. There are plenty of different ways to structure that time together, each able to serve a different kind of audience. Why not have them all and give people a choice?

PyCon 2008

It’s been 2 years since I’ve been to PyCon, and things have definitely changed. The last time I went to PyCon (2006 in Dallas), it was still a relatively small conference (3-400), if I remember what I was told), with a familiar feel, especially if you had attended in previous years, or were a part of the Python community. This year, there were over 1000 people (double the 500 people that came in 2007, apparently). I spent a sizable portion of the conference days feeling like “I miss a year, and you guys go and get 1000 people”. It’s a great thing that so many people are interested in Python.

PyCon 2008: Day 1

The talks

I went to a reasonable number of talks – talk quality at PyCon has historically been pretty good, and I was a little out of date on the latest on things like Django and Turbogears. The best talk that I went to was Raymond Hettinger’s talk “Core Python Containers — Under the Hood”. This was a great talk for several reasons: Raymond was a good and entertaining speaker. There was significant technical meat – explanations of the implementation choices for all the core containers in Python, lists, sets, and dicts. We heard about doubling factors and amortized big-oh time. Most importantly, there was significant practical applications for Python programmers. Raymond’s talk gives a cost model for the core containers, and having an understanding of that model is important for folks who are writing Python programers. It’s also useful for developers of alternate Python implementations because it allows them to follow suit or to diverge and (hopefully) document the places where the cost model is different. My next favorite talk was Jim Baker’s “More Iterators in Action”. I missed the talk given last year, but I liked this one. Jim hit two of my favorite topics, language integrated query (LINQ) (albeit without the DSL), and concurrency.

Concurrency

There was a lot of interest in concurrency this year, which warms my heart, because I see high-level/dynamic languages and concurrency as the chocolate and peanut butter in the old Reese’s peanut butter cup commercials. There were 2 open space sessions and 1 lightning talk, and the topic entered many of the conversations that I had.

Sun, Jython, and JRuby

People were generally positive to learn about Sun’s interest in Python and Jython. A number of people stopped me to congratulate me on the new job, and we had a nice turnout at the open space session, where people were free with ideas, comments, and a few not so easy to answer questions. I hope that Sun can live up to the goodwill that people extended towards me and Frank.

If I was surprised about the jump in size of PyCon, I was even more surprised by the amount of energy around Jython. At most of the previous PyCon’s that I attended, people would mention Jython, and either be sorry that it was too out of date to consider, or be just plain dismissive of it. This year there was none of that. People were very interested in Jython. I was really surprised by how much interest there was, and by some of the people who were interested. It was certainly a nice feeling to sit in the sprint room and occasionally have people pop in to ask if such and such was running in Jython yet, or did Jython support X because package Y needed it.

This was the first time that I had met Frank Wierzbicki in person — I think he’s the happiest person at Sun right now. I was also able to spend some time hanging out with various folks from the Jython community. It seemed to me that the community was doing quite nicely. If you looked at some of the community metrics that we would use at the ASF to allow a project to graduate from incubation, almost all of those criteria have already been fulfilled. One of my goals for Sun’s Python efforts is for as many of them as possible to be highly community oriented, so it was nice to see that Jython is well on it’s way in that regard. The folks working on Jython are very sharp (including the aforementioned Jim Baker, who it turns out was a classmate of mine at the Brown CS dept – although neither of us can remember meeting the other), and have one of the those (in my mind) essential community ingredients, a community sense of humor.

PyCon 2008: Day 3

Jim snuck this bit of commentary on Jython’s lack of a global interpreter lock into his talk.

There were several Ruby related surprises at PyCon this year. David Heinemeier Hansson, create of Ruby on Rails, made an appearance for one day, and a number of the JRuby committers made a road trip down from Minnesota, to hang out, meet the Jython folks, and generally display their hacker prowess. Which they totally did. Charlie and Tom powered their way to JRuby 1.1RC3 during the conference. Meanwhile Nick Sieger demonstrated what a happens when you stick a bunch of hackers, an EVDO card, and an EVDO hub into a car. The Jython guys (if any of them lived in the same state) need to get some of that – The best thing since the Adobe AIR Bus Tour, and at a fraction of the cost.. The JRuby folks and Jython folks are already starting to talk and share experiences, and I am sure that this will only result in even better dynamic language stuff for the JVM.

Other Cool stuff

On one of the sprint days, I did a bit of wandering and stopped to talk to my friend Brian Dorsey, who is doing some cool stuff here in Seattle. Brian was working with Richard Jones on pyglet and Bruce. Pyglet is a set of Python libraries for writing games and doing other kinds of multimedia. There’s pygame, which I am aware of because of Armin Rigo’s infamous use of pygame to deliver talks about PyPy. Richard has created Bruce, a presentation tool based on pyglet. In addition to being able to do cool multimedia presentation effects, there are some really cool things that you can do. Perhaps the coolest is that you can have a slide which is essentially an embeddd Python interpreter, so no more switching out of your presentation to demo your Python code at work. Really slick.

On a different note, on several evenings, conference goers who stuck around to hang out in the hotel’s common area were treated to musical performances by a dynamic (as in constantly changing set of members) band of Pythonistas:

PyCon 2008: Day 2

PyCon 2008: Day 2

The Sprints

Perhaps the most amazing way in which the conference has changed is this picture.

PyCon 2008: Sprints

That is a picture of a part of the lunch crowd on the first day of the sprints following the conference. When I talked to David Goodger about it, he said that he had taken a count and there were over 250 people at the sprints. Visually, that sprint lunch room looked to be about the size of the room for the first PyCon that I attended (PyCon 2004). Simply amazing. The ASF has a hackathon before every ApacheCon, but I can’t remember one ever reaching this kind of size or scale. Another thing about the PyCon sprints is that they are aimed at growing the community — you don’t have to be a committer on any project in order to attend, and experienced project members will take time to sit and help new people get started. There were several people like that in the Jython sprint room. I was more impressed by what happened with the sprints than any other part of the conference. The only central organization here was that the conference planners obtained sprint space, and in a few cases got some sponsors to cough up money for lunch. Everything else was organized by the projects themselves (I heard that the Django folks closed 100 bugs in a single day). If you want to get a sense of what kinds of things got accomplished at the sprints, you can look at this page on the wiki — it’s not exhaustive, but it’s a start.

Travel

In the past, I’ve had some travel nightmares getting home from PyCon. This year I am happy to report that I didn’t have any problems at all, except for a fight that I had with the Sun internal travel system (and lost).

Conclusion

It was great to be back at PyCon. Interest in Python is growing (as measured by attendance), as is interest in Jython, and interested people are also rolling up their sleeves and pitching in (as measured by sprint attendance growth).

Twitter, meet Planet…

So Cote thinks that it’s time for organizations and companies to aggregate Twitter:

In theory, this whole pulse idea could be packaged up to be as easily deployable as ‘planet’ sites. Here, ‘pulse’ is the operational brand-name of aggregating Twitter accounts, where as ‘planet’ is the tried and true operation brand-name of aggregating blogs.

Last time I looked, There was an RSS feed for every person on Twitter, and the code for Planet is available (I’m pointing to Sam’s Venus version). About the only thing missing here is a nice web based UI that lets you put in people’s Twitter user names….

Literacy Bridge and the $5 iPod

My friend and fellow ASF member Cliff Schmidt has started Literacy Bridge, a non profit whose mission is

to empower children and adults with tools for knowledge sharing and literacy learning, as an effective means towards advancing education, health, economic development, democracy, and human rights.

Literacy Bridge’s primary initiative is The Talking Bridge Project, which is essentially a program to build and distribute a $5 iPod.

The Talking Book Project is Literacy Bridge’s major program, developing new and affordable digital audio technology to provide vital, locally generated information and literacy training to people with limited access to either. Imagine a $5 iPod used to play locally generated podcasts, plus a decentralized, digital content distribution system that reaches villages without electricity but also enables global content sharing. Aside from the innovative use of technology, partnerships with local businesses, civic organizations, and government agencies play a pivotal role in the Talking Book Project.

Cliff recently gave a Google Tech Talk about Literacy Bridge and The Talking Book Project.

It’s good to see more people out there working to change the world.

Opening up to distributed version control

Stefano has written a great introspective post on his inner reactions to a Linus video on Git. It’s good to see people being more open minded about this. I’ve never understood the resistance to distributed version control, especially open source software development is itself an example of the success decentralization. Even the “social” argument that distributed version control would somehow destroy communities seems odd to me. This year at the OSCON Art of Community panel, Karl Fogel said that a tenet of the Subversion team is to avoid using technology to solve social problems. Yet insisting on a centralized version control system seems to me to be doing exactly that. I think its noteworthy that the Subversion team itself has a “hybrid distributed/centralized VC model” as a long term goal.

Centralization in open source projects is a “community smell” (think code smell). It’s best avoided.

Is there a better way than the JCP?

[ via Don Park ]:

Elliotte Rusty Harold is asking if there’s a better way than the JCP:

On reviewing this, I think I’m struck by a fundamental flaw in the JCP for the first time. Sun is still mired in a 20th century, waterfall, big bang approach to development. There are at least three, probably more, different things going on in this process that could certainly be separated and developed independently.

Still I wonder if there’s a better way (and perhaps the open sourcing of the JDK might enable it).

It’s good to see people asking the right questions.

It’s all about the governance

About a month ago, when talking about the prospects for more open RIA technologies, I wrote:

I’d hope that we could do better than both the W3C or the JCP for Flex/Flash or OpenLaszlo.

After yesterday, I think my reasoning ought to be obvious. FAQ link for those new to the issues. Stefano and Ben, as always, find a satisfying way to put it, and Redmonk’s Steven O’Grady has a fair minded analysis.

The details of Java and Apache aside, I would call this whole situation a case study in how not to setup the governance for something open. I have never been a fan of the JCP process because Sun has always had rights that no other participant had. To Sun’s credit, the process has become considerably more open since the JCP was created in 1998. On the other hand, that openness is the result of *years* of hounding by the ASF and other organizations, and now, 9 years later, there are still hiccups. The world is a different place today in 2007 than it was in 1998, and general understanding of openness and community are much greater than when the JCP was founded. I would hope than anyone setting out to build a governance model for some piece of technology would look long and hard at the lessons (good and bad) of the JCP experience.

Ambient Intimacy – I love it.

[ via Cote ]

Leisa Reichelt has coined the term Ambient Intimacy to describe the value of Twittter. For some reason, this turn of phrase really resonates with me. [So, yet another RedMonk recommended blogger enters the 30 day evaluation folder in NetNewsWire…]

I’ve definitely benefitted from the Twitter experience — it feels a bit like my early days of blogging and feed reading: discovering new people and getting to know them through a new medium. The RIA flap of the last week or so introduced me to Ryan Stewart via Twitter. Well, actually via a combination of a RedMonk recommendation via the Twitter backchannel at Engage, but I think it’s true that I probably would have spent a bunch more time ignorant of Ryan without the events of the last week. Even more, I learned via a stray Twitter @message that Ryan is located somewhere in the Seattle area, which makes us neighbors, and outside the lush tech/social environment of the Bay Area, that’s a precious thing. Doubly so when you work at home.

Leisa thinks that the simplicity of Twitter is what has made it successful. But you can sort of imagine a Twitter-like situation coalescing via existing channels of communiations, IRC (via bots),, IM of various flavors, and the cell text messaging network. One thing that attracted me to Twitter was that it was a one stop shop. Web view, RSS view, IM integration, Text Message integration, and a REST based API for additional integration (I can’t wait until Bear gets done hacking Twitter support into supybot). There’s going to be a bunch more experimentation with Twitter, both via technology hacks, but also via social hacks. I think that this is going to be an interested playground to be a part of. The top thing on my list is the ability to have subgroups (both dynamically and statically) formed inside Twitter.

Social social networking

It seems like I’ve been doing a lot of stuff involving social networks recently.

Flickr (http://www.flickr.com/photos/twleung)
Most of the fun activity in Flickr revolves around finding people that inspire me or who share some common interest. Sometimes that is even extending into the real world, as it did during last week’s SFlickr meetup.

Upcoming (http://upcoming.org/user/12327/)
Also last week was the first time that I really used Upcoming.org in any major way. I got an account when I went to the SFlickr meetup last May, but besides that use, I hadn’t done anything – no friends, no nothing. Since Macworld turned out to be the same week, I ended up following a number of the events at Macworld using Upcoming. I took the trouble to add friends, and subscribe to a few Upcoming RSS feeds, and this gave me no shortage of options for activities during the week. The combination of friends and locations seems to be a good fit for the way that I’d like to find out about events, especially while I am travelling.

LinkedIn (http://www.linkedin.com/in/tedleung)
Guy Kawasaki has written a pair of great posts on how to use LinkedIn more effectively. Of all the job or professional social networks, LinkedIn is the only one that has actually been any good for me. I’ve had several solicitations for contract work (even though I am not consulting any more) and I’ve seen some reasonable jobs go by (not that I am looking). I definitely feel that it is worthwhile to maintain my LinkedIn information, and to add people to my network. I’ve been much more stringent about letting people into the network, particularly since I’ve been asked to recommend people to each other, and I want to feel comfortable about doing that.

Twitter (http://twitter.com/twleung)
The most recent of the social applications is Twitter. Twitter is an app for letting you put your status out into the cloud. Your status will be recorded on a web page that people can see, and it will also be pushed to people via IM (I was having terrible luck getting IM notifications until I switched to the Jabber IM bot) or SMS (I turned this off early on before I exceeded my text message limit). You can also post status updates via the web, IM, or SMS.

It might seem like IM status messages would be enough, but they turn out not to be. At OSAF, we have a decently distributed staff using a number of communications media: IM (on multiple networks), IRC, and Skype. When I go away from my computer for lunch or an errand, I want to let people in the community know. Today, I have to go update the status of all those media. Also, in some of those media, your status information could turn into a message that scrolls off screen and gets missed. The fact that Twitter archives your updates on a web page is a great thing. For distributed working groups it provides a kind of status glue that makes up for some of the lost in person interactions. Up to a point — I’ve noticed that some people are using Twitter as if it were IM, having entire conversations through it. If you are using some kind of realtime monitoring, like IM, then this turns annoying very quickly, as you are privy to all kinds of conversations that don’t affect you, complete with IM notification sounds. If Twitter had the ability to send Tweets to groups of people, that would really help a lot. I also wish that it was easier to find people. The little pictures of people are cute but hard to read, and having to mouse over them individually to get more detail is RSI inducing.

There’s a small ecosystem springing up around Twitter. There are Ruby command line tools (sadly, I couldn’t get them to work because Ruby Gems is messed up on OS 10.4), Python/Growl notifiers (works, but high maintenance), and shiny Mac tools like twitterific. Someone has even written an Applescript Quicksilver action, Tweet, for posting. There are still a few things on my wishlist: 1) for Twitterific to both have it’s little history window and to deliver changes via Growl, and 2) to be able to set my status in Adium, Snak, and Skype based on Tweets.

Technorati Tags: