Ted Leung on the air: Open Source, Java, Python, and ...
Joi Ito reposted comments by Karen Copenhaver on the reuse of copyrighted text between legal documents. Yes, the lawyers use the commons too. A great way to help attorneys understand the issues in their own domain.
I'd heard this anecdote before, I believe it was on IT Conversations, but I promptly forgot about. Thankfully, Joi made the save.
[via hack a day ]:
Apparently Phil Zimmerman's latest project is based on shtoom:
The app is based on the shtoom project (open source VOIP written in Python) and the crypto is strapped ontop. A nice feature of the protocol is hashing part of the previous conversation’s key into the current conversation. If you and the other person read the hash aloud and they match it means that this conversation and every previous one has been fully secure.
He’s shopping the project around to venture capital right now to make a commercial product written in C. The source will still be free though.
Good thing Anthony is in town this week...
One of the things that we heard about at the FLOSSPS meeting today was the degree of support for open source in Oregon. Here are a few things that I saw today that bear that out:
- While riding the MAX back from lunch, we saw a guy wearing a black Debian T-shirt -- I even have a photo to prove it.
- While walking back from dinner we were all talking about how people are starting to recognize the Firefox T-Shirts (Scott Kveton from the Open Source Lab was wearing one). As we crossed the street, we passed by a family on their way to dinner. The little boy in the family saw Scott's T-shirt and started exclaiming "That's Firefox! Daddy! He's wearing a Firefox T-Shirt"
Those of you who follow this blog regularly know that usually when Julie is off speaking (at BlogHer this weekend) I am usually running a parallel conference known as DaddyCon. This time that isn't happening, as I was invited to the Free/Libre Open Source Software Project Summit, which is small meeting for people involved with open source non-profits (and not-for profits) to meet each other in person, share information and pick each other's brains. This is something that Mitchell Baker and I (and I am sure many others) discussed last year around OSCON time, but folks were just too busy and it didn't happen.
So kudos to Allison Randal of the Perl Foundation for getting the ball rolling. There are people from the Perl and Python foundations, OSI, the Dojo Foundation, the Gentoo Foundation, the Plone Foundation, the Postgres Foundation, and the Eclipse Foundation. I'm representing OSAF, and standing in for the ASF, since none of the other Apache folks were able to make it. Paula Le Dieu from Creative Commons International is also here and it's been great to have her -- while CC isn't strictly in the software space, there is a lot of shared DNA, and the differences are making for great discussion. If you don't see a foundation listed, there were more who were invited, but people were unable to make the meeting. Based on what happened today, I think its a safe bet that there will be more of these meetings.
The planned topics for the day were various topics related to community and donor. In reality, we ended covering those topics (and many others) just by introducing our foundations and what they are all about. That took up the time allotted for the day, and was really a great thing for building relationships. There are a number of relatively new foundations, and a few people have come because they're not sure if starting a foundation is the right thing for their project to do.
Tomorrow's topics are all related to legal issues, and we have some open source savvy attorneys joining us.
As our family was getting ready to experience the jetset this weekend, we were having a competition over who was going to have the most fun: me at the FLOSSPS, Julie at BlogHer, or the kids at home with relatives. I've checked in with everybody else, and based on the latest reports, each party thinks that it is having the most fun -- a great situation to be in!
[via Napsterization ]:
I know of no other conference that holds speaker sessions (there may be some but I've never heard of it, so please leave comments if there are some). Almost all the speakers came, and the presentations by Elisa Camahort and Lisa Stone were great. I'll update this post with notes from Donna's post, but frankly, every conference I attend could use something like this, were the organizers give the results of the survey from attendees as they registered (context about who's coming and what they care about.. talk about knowing your audience), common sense tips about speaking and the guidelines for running sessions.
I've spoken at my fair share of conferences (I'm in Portland for OSCON), but I've never seen anything like this. And its way overdue, because lots of conference talks could use improvement. If we have to have the traditional speakerful conference format, at least we can work on improving the quality of the speaking.
Tonight I wanted to create RSS feeds of search for blogher and oscon on the big 3 (in my mind) buzz blog search engines: Feedster, Technorati, and PubSub. Here's my review of the user experience.
- Feedster - type the search terms into the box. Hit enter. Drag the XML icon into the right place in NetNewsWire. Grade: A
- Technorati - type the search terms into the box. Click add to watch list. Click view as RSS, which causes NetNewsWire's subscribe box to appear. Grade: B. I had to sign up to get a watchlist (fortunately I did it years ago).
- Pubsub - type the search terms to create an entry in my "subscription stack. Drag the url for the feed into NetNewswire - Grade: A-/B+ Why? Because there's nothing in the search. I have to wait for new posts. I know that PubSub's claim to fame is "searching the future" but I want to have some context too. Plus it seems like there's probably at least one other person out there (Hi Scoble) who setup a blogher PubSub feed already.
eventblogging.com doesn't have entries for these conferences, so it's back to buzz monitoring by hand. It would be great if there was an automated way of doing this...
Update: in the comments Richard Eriksson points out that eventblogging does have an entry for OSCON
Julie's leaving for BlogHer in the morning -- it looks like its going to be really good. I like what Julie's told me about the community orientation of the organizers. It's a shame that I won't be able to go.
In honor of the event, here's list of the ladies in my aggregator:
Gina Trapani's LifeHacker
Mary and Natasha at Pacific Views
This post from To-Done, "How to get the most of your blog reading" went around today.
Let's see how I did on their recommendations
Group your feeds by order of importance. You know, like “Must Read”, “Not So Important”, etc. This helps so much. If you group things by topic, re-group them by importance within your topic group. This makes the less important easier to ignore.
I'm doing this, and the groups are sorted in that order in the NetNewsWire groups list. Because I read exclusively in combined mode, the groups are also partitioned so that there are rarely more than 100 new posts per group (otherwise NetNewsWire collapses them for performance).
Set aside a time (or times) during your day to read. Try and stick to those times as strictly as possible.
Yep, twice a day, once in the AM and once in the PM. I have NetNewsWire set so that it does not refresh. Since I try to read at roughly the same times each day, I use a cron job to fire an applescript that does the refresh so that when I sit down to read, I'll be as close to up to date as possible.
Use “mark all as read” liberally.
I read what I want (or maybe send long posts to an embedded browser tab) and then mark all as read. At the end of all the groups, then I take a pass through the tabs. Use a tabbed browser that can handle the number of tabs you might leave open. This means using NetNewsWire's embedded browser -- sorry Firefox guys, you hang and crash too often.
Weed your reading list on a regular basis. Unsubscribe to anything you consider “noise” as soon as you realize it’s not being read
I could be doing better at this. NetNewsWire has a semi useful dinosaurs function which lets you punt old un-updated feeds. While this keeps the feed list low, it doesn't matter because I only see something if someone posts. What I really need is an attention gathering mechanism that knows if I've read a post or not, so that I could tell whether a feed is useful or not. I'd be willing to do a little work to mark posts so that this would work.
Set your newsreader to check only a few times a day, or if you use an online service, be sure and resist the urge to interrupt what you are doing and check for updates. Maybe to coincide with your reading times.
Make use of services like Del.icio.us, Digg and Technorati to find those diamonds in the rough.
I have two groups of special feeds, one for del.icio.us, digg, etc. and one for Technorati, Feedster, and PubSub searches. Use your del.icio.us inbox to make a reputational del.icio.us feed.
Slow down and read. Spend some time with those sites you really enjoy or those that you find real value in. I’ve found that if I spend more time reading and less time browsing I absorb more.
There are lots of ways to do this -- sometimes I read in place (thank you full feeds) other times I punt articles to browser tabs to read more carefully. Many times I defer the tab reading till the evening session.
Ditch a few link blogs. There are so many blogs out there that are just pointers to original content. These serve a great purpose, but try and find those that offer a unique point of view, or can bring items to the table that you can’t find elsewhere. I tend to follow the link lists of individuals I trust more than actual blogs devoted to linking.
I don't subscribe to linkblogs, except for Scoble's and his is low traffic now.
Keep in mind that if you read lots of blogs in the same space you’ll see things repeated and will be unlikely to miss anything you really should be reading.
Unfortunately, it means you'll see things repeated. I don't want to see the same post over and over. I also wish that aggregators would assemble conversations (threads across blogs) in one place -- that would speed the reading. Otherwise you are constantly context switching between all the conversations.
Understand that a day not paying attention to blogs is a day you can spend doing something productive. They’ll be there when you get back.
Yes, well. Um.
Here are a few tips that I though of while writing this post:
- Only read full feeds. If you are reading lots of posts, there just isn't time to go clicking through.
- If you are a geek blogger, read planets. Delete individual feeds that are up on a planet.
- When I am scanning feeds in combined mode, I read two handed. I use a mouse in the right hand to click posts to tabs. I use a Griffin Technology PowerMate in the left hand to scroll the combined view quickly and smoothly
I finally got around to watching a Ruby on Rails movie I waited so long that I got to see the new improved one. The demo is pretty impressive, especially compared to my web app experience, which involved either JSP (pre struts), Struts, and Python CGI (pyblosxom). The net result is that I'm now more motivated to look at Django, to see if it offers a similar kind of experience. Cool as Rails is, I'm not quite ready to learn Ruby (although lots of people that I respect like it). The parts that look perlish make me break out in a cold sweat. On the other hand Ruby has continuations and Python probably never will, so if I want to play with a continuation based web framework (and yes, I know about Seaside and Cocoon Flow), maybe Ruby will end up in my language pile.
I also have to say that it looked like TextMate has some cool moves. I wonder if those moves translate well to Python.
Via somewhere in the blogosphere or web, I found recommendations for Galen Rowell's Mountain Light: In Search of the Dynamic Landscape and David Hurn's On Being a Photographer: A Practical Guide. I've never read any books on photography -- I had a class way back in elementary or middle school, which is where I learned about shutter speeds and apertures, but I never really learned much about the art/expression part of photography.
I found these two books to be pretty helpful -- of course, at the stage I'm at, probably any book would be really helpful. Mountain Light is a tour through some of Galen Rowell's photographs. He described how he happened to be in the place, how he picked his location and angle and so forth. Interspersed with the photographic exhibits are chapters on various aspects of picture taking, where I learned about film reciprocity, hyperfocal distance, and the all important 1/focal length rule of thumb for safe speeds to handhold a photo. It was especially useful to read about Rowell's thought process, the place of luck, and to see that even a great photographer is taking lots of shots because he's not sure which the best one will be. That one tip alone put me at ease about experimenting. Of course, digital makes this easy since it's cheap to record images, at least until you copy them onto your hard disk. The other big tip that is helping me a lot is that most beginner photographs can be improved by cropping the foreground. Even though there was plenty of information in the book, these two simple tips will probably have the most impact on me.
On Being Photographer is an interview between David Hurns and Bill Jay. Here also I found an emphasis on taking picture, exploring angles and positions and so forth. The discussion of contact sheets and Hurn's way of reading a photographer's intention by reading his contact sheets was also encouraging. I think that you could use Flickr that way, if you had a group of people who were interested in improving their art/skill together. At least until you blew your upload limit.
I'll confess to having somewhat of an artistic block (or perhaps phobia) when it comes to the visual arts. I'm fine with music, but painting, colors, photography, UI design are all arenas that just intimidate me. Perhaps the shutterbug will help me overcome that. I'm certainly having a good time snapping picutres.
If people have recommendations of good photography books, I'd love to hear them. I know that the best way to learn is to take pictures, and I have every intention of doing that. Yet, a small comment in a book, or via blog/Flickr/e-mail can go a long way when you are a beginner.
It's now a little less than a week until OSCON. I'm going to be there for the entire week, so if you want to get together, leave a comment or drop me a note.
Robert Love points to r0ml's articl on ONLamp:
r0ml has an incredibly interesting article up on O'Reilly's ONLamp, Calculating the True Price of Software, wherein he applies an options pricing model to software cost.
I'll include a larger excerpt than Robert did:
Those who have suggested that open source and free software is somehow not capitalistic, destroying the value of software and other such assertions, have missed this alternative explanation. It is just as likely that the free and open source software folk have stumbled across the financial engineering insight that a significant portion of the value of software is the embedded "derivatives"--options or warrants--on future maintenance and enhancement. Whether one believes that software has intrinsic value is related mostly to one's view on the correct value to use for volatility in calculating the option value. Larger values of volatility mean the software itself is worth less. Smaller values of volatility reduce the option price, and the software is intrinsically worth more.
Therefore, the major difference in worldview between open source advocates and proprietary software license advocates is explainable as a differing opinion on the correct value of the volatility of maintenance and upgrade pricing. People who believe that the pricing on maintenance is stable and unlikely to change see greater intrinsic value in the software. People who fear that the pricing is subject to large fluctuations see no intrinsic value in the up-front license; stripped of the options, the license value approaches $0.
For the open source movement, perhaps a better way to position the change that OSS is making is this: we're converting warrants on future maintenance and enhancements into options, which means that instead of having a sole supplier (warrants), we have created a third-party market (options) of these derivatives.
One of the biggest reasons that I became interested in open source was the "Raiders of the Lost Ark" problem, which is summarized like this. Company develops great software. Software is under-appreciated by the market. Company goes out of business. Future versions of the software are not forthcoming. Imagine the tapes/flopplies/hard drives/CD's/DVD's/whatever being wheeled into a huge warehouse (like at the end of Raiders) and having the doors slammed shut. How much is that great software worth now? Subscription pricing doesn't help, because you still can't guarantee that that the company won't go out of business.
As I've written before, I've no problem paying for software. But I'm not paying for the software that I got. I'm paying to make sure that there's a future for that software. That means supporting the authors/community/organization that developed that software.
I've been reading Eric von Hippel's Democratizing Innovation, which has some interesting points related to open source/commons based peer production. von Hippel has taken the enlightened step of making the entire book available online. I bought a copy on Amazon and read that, because I want to support people who are making information available.
If you are short on time, the overview chapter does a very good job of summarizing the major points of the book. But the key hypothesis is that product innovation is concentrated in the users of a product
Open, distributed innovation is “attacking” a major structure of the social division of labor.
of particular interest are "lead users" who
are ahead of the majority of users in their populations with respect to an important market trend,
and they expect to gain relatively high benefits from a solution to the needs
they have encountered there.
Most of the book is then an elaboration on this notion, why users innovate, why users are willing to share their innovations, and so forth. The chapter on Innovation Communities is mostly about open source and will be familiar to most open source participants. I was also interested by the chapter on Toolkits for User Innovation and Custom Design, since that is what we are trying to do with the platform aspects of Chandler
Here are some quotes that stuck out to me:
More specifically, a private-collective model of innovation occupies the
middle ground between the private investment model and the collective
action model by:
• Eliminating the assumption in private investment models that free reveal-
ing of innovations developed with private funds will represent a loss of pri-
vate profit for the innovator and so will not be engaged in voluntarily.
Instead the private-collective model proposes that under common condi-
tions free revealing of proprietary innovations may increase rather than
decrease innovators’ private profit.
• Eliminating the assumption in collective action models that a free rider
obtains benefits from the completed public good that are equal to those a
contributor obtains. Instead, the private-collective model proposes that
contributors to a public good can inherentlyobtain greater private benefits
than free riders. These provide incentives for participation in collective
action projects that need not be managed by project personnel (von Hippel
and von Krogh 2003).
I like the phrase "private-collective model of innovation"
Today, in sharp contrast, user firms and increasingly even individual hob-
byists have access to sophisticated design tools for fields ranging from soft-
ware to electronics to musical composition. All these information-based
tools can be run on a personal computer and are rapidly coming down in
price. With relatively little training and practice, they enable users to design
new products and services—and music and art—at a satisfyingly sophisti-
cated level. Then, if what has been created is an information product, such
as software or music, the design is the actual product—software you can use
or music you can play.
This is a point that was made by Adam Curry during his Gnomedex presentation. His choice of words was slightly more colorful, but the spirit is the same.
These traditional processes cannot easily be adapted to systematic search-
ing for lead user innovations. The focus on target-market customers means
that lead users are regarded as outliers of no interest. Also, traditional
market-research analyses focus on collecting and analyzing need informa-
tion and not on possible solutions that users may have developed.
Take heart all you "outliers"
It would be much better still to eliminate the need for cross-bound-
ary iteration between user and manufacturer sites during product develop-
ment, and this is what toolkits for user design are intended to do.
This is true, but I also think that in the right circumstances, the open source development process itself can break down the barrier or reduce the difficulty and number of times needed to cross it.
Present practice dictates that a high-quality toolkit for user innovation
will have five important attributes. (1) It will enable users to carry out com-
plete cycles of trial-and-error learning. (2) It will offer users a solution space
that encompasses the designs they want to create. (3) It will be user friendly
in the sense of being operable with little specialized training. (4) It will con-
tain libraries of commonly used modules that users can incorporate into
custom designs. (5) It will ensure that custom products and services
designed by users will be producible on a manufacturer’s’ production equip-
ment without modification by the manufacturer.
A good checklist for Chandler
One important direction in which the open source experiment points is toward mov-
ing beyond the discussion of transaction as a key determinant of institutional design.
. . . The elegant analytics of transaction cost economics do very interesting work in
explaining how divisions of labor evolve through outsourcing of particular functions
(the decision to buy rather than make something). But the open source process adds
another element. The notion of open-sourcing as a strategic organizational decision
can be seen as an efficiency choice around distributed innovation, just as outsourc-
ing was an efficiency choice around transactions costs. . . . As information about
what users want and need to do becomes more fine-grained, more individually
differentiated, and harder to communicate, the incentives grow to shift the locus of
innovation closer to them by empowering them with freely modifiable tools. (ibid.,
This last quote is from The Success of Open Source by Steven Weber, which is bubbling its way up to the top of my reading pile.
Having the online book available made it really easy to get quotes and also to follow up my notes -- I usually use the subscription cards that come in magazines to take notes, indicating page numbers and enough information to point back to the passage of note. Being able to jump to the page in the PDF as opposed to flipping through the book was nice.
Last week, Julie posted a photograph of me playing with someone's Canon Digital Rebel at the waterfront park concert. This week, I had my own, (actually an XT), to play with.
Here's the concert:
And the best shot of the day:
Like many others, the ease of digital photography has gotten me much more interested in picture making. Recent photo experiences had left me feeling frustrated by the limitations of the camera. There are plenty of shots that I could do with the point and shoot, but there were a number of shots that was just missing or that were hard to make.
Meanwhile I've been admiring the handiwork of friends and acquaintances via Flickr, which has also served as a source of inspiration and learning.
I'll probably be posting more photos than I have in the past, but (unsurprisingly) I'll be putting more photos on Flickr.
I'm part of a CS book reading group here on Bainbridge. For what seems like forever, we've been reading Joshua Kerievsky's Refactoring to Patterns, which is a perfectly fine book. The main idea is simple use Fowler's refactorings to refactor from one pattern to another or to refactor from no pattern to some pattern. It's a logical progression, and the coverage in the book is good.
It took us quite a while to get through the book because it didn't seem like there was a lot to discuss. Some books have generated enormous amounts of discussion, while others haven't generated as much. A good book isn't always a good discussion book.
If people have suggestions for good CS books that generate good discussions in groups, we're looking for a new book -- we're taking the summer off, so that gives us plenty of time to find a new book.
do what we did today.
Julie posted her response to a comment left on my blog that suggested that perhaps she and I talk to each other instead of blogging about each other. Actually not only do we talk, we also do projects together. The Pacific Northwest is not the best place to own a deck, and ours is very high maintenance. So we spent about 8 hours today stripping and brightening the deck in preparation for re-staining it next weekend (weather and temperature permitting). Working on house projects together is a great way to learn about another person, how they think, how they react, etc.
As far as expensive photography equipment goes, all I can say is that a post on that topic is forthcoming...
The Darcs folks have a Python program called tailor which can be used to provide a 2-way connection between a CVS or Subversion repository and a Darcs repository. I've heard a lot of good things about Darcs, but haven't found the time to really go and play with it.
I also need to site down and play with svk now that it's been 1.x for a bit, and since the Chandler repository has now migrated over to svn.
Ben's post points to Rainer Joswig's 15 minute screencast wherein Joswig constructs a domain specific language using Lisp. I suggest using the bittorrent file. I had already downloaded the file via http (took almost a day), but Ben's post promoted the movie to the top of my queue. Watch the movie and decide for yourself.
Marc Canter wonders
What is the proper etiquette for blogging about your wife being blogged?
I notice that Anil never blogs about his fiance. But Ted does all the time.
I'm not sure if there is an etiquette for blogging that your spouse was blogged. I occasionally blog about things that are happening in our family, and you would expect to see Julie pop up in a posting like that. Some people's blogs' are strictly business, so you don't see much about family or friends there.
Beyond that, Julie has a blog of her own and writes posts that I want to comment on, or engages in conversations that I want to participate in. In that sense, I treat her like "any other" blogger who is generating posts with those characteristics. The fact that we are married means that there's a higher likelihood that she writes something which passes through the "I want to post about that" filter. If Julie wasn't such a prolific blogger, then you'd probably see a lot fewer posts.
A few people have asked if I could post the Python scripts that I am using to generate RSS feeds for system statistics.
Here they are. In addition to Python, you need eGenix's mxTidy package, as well as the Python wrappers for libxml2. There are also a few hardcoded paths in the scripts which you will need to change to match your installations of awstats, mrtg, and so forth. After you have done this, you can subscribe to the scripts from NetNewsWire (the awstats script allows you to pass the awstats configuration as a parameter).
These scripts fall into the quick and dirty hack category. They work well enough for me. If you use them and improve them, I'd appreciate a note with your changes.