OSCON Day 5: Maps as Culture

Today is the last day of OSCON, and the conference will be over at noon today. It’s been an amazing week, and I have tons of notes to write up, but I’m ready to be home.

This morning’s first keynote was entitled “Open Content: How Online Digital Libraries will Provide Access to Cultural Information in the 21st Century” and presented by David Rumsey. David Rumsey presented an amazing talk on the online map and culture collection he maintains. David presented an overview of how he believes libraries will evolve in the world of the Internet, and how the Internet can help libraries present collections.

Starting from a position of a private, comprehensive collection of cartographic information, Rumsey looked at how he could provide access to his information to researchers and the general public. He said he considered donating to a University library, but realized that they would put the works in a vault with his name on the door, and only a handful of people would see the works yearly. So he chose the Internet, providing high resolution scans and Java-based software which allows researchers to compare, overlay and examine maps. And he drew direct comparisons between Open Source software and libraries and access to information. Some choice points (I’m paraphrasing, I’m sure), which resonated with me:

  • “we can have access to the source code of culture”
  • “the growth of online library content will be accelerated by allowing participants to build open content collaboratively”
  • “california was shown as an island in this 1731 globe, some people still think it is”
  • “the english understood that information is power and that sharing information increases power”

And finally, “the 19th century was really into documentation.” It seems to me that what Rumsey is doing and what CC is doing are really trying to regenerate that fascination with documentation and documenting culture.

The second keynote, David Patrick of Novell (nay, Ximian), was a real snooze comparitively. I wouldn’t have wanted to follow Rumsey, but Patrick showed himself to be incredibily incapable at capturing the crowd’s imagination. Maybe I’m too focused on aesthetics and imagination, but a talk on “The Business of Linux” wasn’t that interesting. Maybe I’m just having flashbacks to hearing a Novell exec pitch Netware back when I worked for a VAR.

date:2004-07-30 12:14:40

The Lure of the Unknown

*Warning: I just re-read this post and it’s a little rambling…but I’m too tired to re-write it, so take it for what it’s worth.*

I was killing some time Tuesday afternon at OSCON and wandered through the on-site display of books provided by the good folks at Powell’s. It was there that ran across the dead-tree version of the Mono: A Developer’s Notebook, and was immediately tempted to buy it. And I have to ask myself, why? Why in god’s name do I need another language, another platform, another technology? What does Mono + GTK# + [insert Mono-specific-tech] here offer me as a developer that I don’t already get from Python + wxPython?

  • Cross-platform? Check.
  • Dynamic? Check.
  • Garbage collected? Check.

And yet, I’m tempted. I’m tempted because it’s there. I like learning new things, and I like playing with new technologies. I wish that I could play with a technology or product and somehow fit it neatly into my tech-world-view, but that’s not the case. Instead I’m stuck playing with something new or different and then later realizing that it’s no better than what I was using before, so I wind up porting my code back to what I started with because I know that platform/technology/toolkit better.

C# and Java also tempt me for cross-platform reasons (which I’m a sucker for). Yes, you can take a Python program and build a stand-alone application for Win32, Linux and Mac OS X. I’ve proven that. And it’s not that ugly. But it does require a “build” process on the front end. As C# and .Net begin to mature, I imagine more systems will ship with support built in. Ditto for Java’s JVM. Well, the JVM is already more mature. So my impression is that the number of system’s the JVM and .Net support is deployed on (without the user even knowing about it) is steadily increasing. This pre-installed “footprint” is appealing because it decreases the amount of work you have to do to deploy your app. Yes, there’s a definite delay between now and when you could count on the dependencies being installed; I don’t have a solution or answer for that. I’m talking about irrational interest, curiosity for it’s own sake here.

So what keeps me from totally buying into Mono/C#? Mac OS X. I have two Mac OS X machines and probably use them for at least 66% of my computing. GTK doesn’t support Mac OS X natively; it works, but requires use of X11. I don’t mind X11, but it’s no solution for end users.

Where am I going with this? Really, I have a point. Yesterday I attended Miguel deIcaza’s presentation on Mono 1.0, hoping to answer some of the questions I had about Mono and how I would use (and why I should). Miguel didn’t answer any of my questions directly, but he did mention Cocoa#, a project to bind the Cocoa libraries to C# (and other CLR languages, I guess). So that’s cool. Of course, I’d prefer it if there were some “compatibility” layer on top of GTK# and Cocoa#, so that you could write a single bit of GUI code and have it work on any platform. But I digress.

So now we have .Net/Mono, a cross-platform virtual machine which attempts to solve the same problem that Java attempts to: write once, run everywhere. I was already thinking that was something I should check out when I ran across an interesting item in this morning’s Daily Python URL: IronPython has been Open Sourced. IronPython is a CLR-targeted Python implementation, written by Jim Hugunin, who was also responsible for the early implementation of Jython. I first ran into IronPython at PyCon, and at the time it was interesting from a research point of view, but the code wasn’t available. With IronPython now available and working (albeit in an alpha state) on both Mono and .Net, I wonder how long it will be until I can create dot-Net (god I hate using that phrase) targeted bundles of CC apps that run on Linux and Win32 equally well?

date:2004-07-29 13:13:31

Building for Windows

It’s a little ironic that the best session I attended yesterday was presented by a Microsoft employee, Rob Mensching. Rob presented on WIX, the Windows Installer Xml toolkit. WIX is a set of tools which allow developers to “integrate setup into the build process.” After Rob’s presentation, I’m convinced that WIX is exactly what we need at CC.

At CC, we have two programmers on staff, and I’m the only one who has the luxury of coding full time. So when it comes to developing software, I’d much rather spend my time developing new features than writing setup.exe. So WIX will allow us to define our setup process in an XML file and then generate the installer in the same process we use to “compile” (in quotes, since we use lots of Python and it’s really just setup.py).

And I suppose it’s good to hear from someone whose ideas and beliefs place him in a different place on the Stallman-Gates Openness Scale.

date:2004-07-29 11:20:39
category:development, oscon2004

OSCON Day 1 Keynotes

Today is the opening day of the Open Source Conference. After two good days of tutorials, I’m ready for diverse sessions on new and emerging topics.

This morning’s keynotes were presented by Tim O’Reilly and Robert Lefkowitz. I went into Tim’s keynote from a somewhat cynical place: of course Tim is the opening keynote for a conference his company is sponsoring, and of course he’s going to talk about his company’s “radar.” So here it is: I was wrong. Tim’s keynote, while not earth shattering, had a few interesting points regarding the commodotization of Open Source software and software components. Towards the end of his keynote, Tim laid out a set of challenges. His challenge to developers (I may be paraphrasing here) was to: * Napsterize the address book and the calendar * Rethink email and IM as social software * open source iSync clone and open standards for interchange * create federated identity systems

And the question I was asking myself when I saw this slide was, “is this Chandler?” Doesn’t Chandler promise to provide “peer-to-peer” shared calendars and contacts? Doesn’t Chandler promise to define open standards for interoperation? And doesn’t Chandler intend to be a platform, not “just” an application? As far as I can tell, yes, yes, and, er, yes. It’s reassuring to see smart people coming up with the same ideas independently.

date:2004-07-28 15:18:30

It’s just buttons and stickers, people!

Those of us at CC are encouraged to blog our public (or semi-public) appearances, and I so I dutifully posted my attendance at OSCON this week. In an effort to lighten my baggage and meet with other developers, I offered CC schwag to anyone who tells me why they love CC. Who knew people would take me seriously?

PJ and Kevin posted comments in the CC blog, as well as posted in their own blog about my offer, and now I’m a hunted man. They even tracked down the CC team picture, just for reference. Of course, I like this picture better, but the one they used does look more like a line up.

date:2004-07-27 18:06:31

Hello, Portland

I arrived in Portland on Saturday night and in the 48 hours since have fallen in love with the MAX. The MAX is Portland’s light rail public transport, and while it doesn’t go everywhere, it’s darn handy. Our hotel is right next to a MAX stop, so getting around is pretty easy. Garrett and I spent yesterday wandering around Portland, getting the lay of the land. We didn’t actually do any “classic” site-seeing, but did do a little shopping and enjoyed the lack of sales tax. Go Oregon!

Today is the start of the OSCON tutorials. I’m attending an introductory session on XSLT this morning, which, while a little dry, is definitly informative. We’ll be introducing an XML+XSLT version of the license selection engine soon, so I guess it’s good that I get up to speed. This afternoon I’ll be attending a tutorial on programming using Rendezvous (nay, ZeroConf), which seems to hold possibilities for CC. I can honestly say I have no idea what sort of possibilities, or where they’ll crop up, but it seems like a technology that would be useful for remixing/collaboration. Somehow. Somewhere.

date:2004-07-26 13:30:18