Ted Leung on the air: Open Source, Java, Python, and ...

In other words it is Microsoft, not Linux, which is dangerous to India, because Microsoft can change its mind while India can control whatever it does with Linux.Open source is not only about the economic aspects, its about the control aspects. Customers of software are at the mercy of vendors of software. As I mentioned a few days ago, I want software vendors to be able to earn a good living (especially since I'm one of them). But I don't want to be at their mercy.
Dana then goes on to sound the horn of doom:
While China may take America's hardware business away, India seems poised to take away our software business. And where would our New World Order be then?It's not that simple. There are plenty of us here in America who are working in the open source world. We have just as much ability to control our destiny as India does, but we have to decide that we're going to do that.

- A section on titles in RSS and HTML versions of blog pages (I need to fix this in my blog).
- The use of HTML doc titles and URI's to affect search engine results.
- His argument for the use of xhtml:body in blog entries.
- A nice series of XPath examples, and his repetition of what Joshua Allen and Dare Obasanjo already know about XPath based programming models for XML



It's also an illustration of one of the big problems that I think Microsoft is facing. The everything integrated into the operating system story sounds good, and from a particular view of system architecture makes sense. You move things that everybody uses down into a system layer so it can be leveraged. The problem comes when all the pieces become very dependent on each other. Now you can't ship IE without shipping parts X, Y, and Z from Longhorn. But those parts depend on A, B, and C which in turn depend on yet other parts. Pretty soon you reach the point where you can't ship IE without shipping Longhorn. Granted, I'm taking this to an extreme to make a point, but it seems to me that the integrated delivery strategy that Microsoft (and Sun in the J2SE, J2EE) has committed to is going to force them to go slower and slower, and to become less and less responsive to changes in the marketplace (you can see this very clearly in Java). When everything is tightly integrated, you need more communications between components (both human and code), you need more testing, you need more of everthing. And the stakes are higher because it's all or nothing. Seems to be an odd strategy for a company that's touting the benefits of loosely coupled web services.

Timoty Appnel is talking about a SOAP/RSS based weblog API. I was meaning to talk to Dare about this at the Crossroads get together, but we got diverted, and Sam wasn't there -- he's been talking about this idea for a while. I think that use of a SOAP document / literal wrapper for RSS items is a viable way to do a weblog API. The biggest rationale I can see for this right now is that XML-RPC based API's don't have proper XML support for character encoding, which makes life difficult for people who don't use Euro character sets. Are there hacks around it? Probably, but it seems to me that an API for personal publishing should have first class support for any character set that people want to use. We've already had problems with non ISO-8859 character support in pyblosxom. There are fixes in the 0.7 series -- but it doesn't help to have support in pyblosxom, if people can't use bloggerAPI or metaweblogAPI to post their entries.


I buy software when I know it will get better, rather than worse, over time.There are some pieces of software that I depend on. That software needs to improve. It needs bug fixes, it needs to move to new versions of operating systems, it needs new features, etc. I've been disappointed by software that I've depended on in the past. Symantec took More and stopped development on it. You could argue that this action didn't affect the value of the copy of More that I already had, but I certainly didn't feel that way. I invested a lot of money and effort into a program called Arrange, by a nice group of people in Palo Alto. They didn't make it, and all my data ended up locked up in Arrange. Some years later I switched from the Macintosh to Windows. I used a program called Ecco. Netmanage stopped development on Ecco. There was nothing wrong with the copy of Ecco that I still use. But it doesn't grow, it can't talk to my PocketPC, and its web integration is lacking.
Traditionally, we've assigned the value in software to the software itself. But without the people who wrote the software, the software has markedly less value. I'm more than happy to pay people to keep working on the software (if you like, you can think of this as a service), but my experience (and hard-earned money) shows that paying for the software alone is a dubious value proposition. So to me, the question is: Where is the value, and how do we make sure that when we pay (because as Mark Bernstein points out, we do pay), that we are paying to get the value that we want? I don't have an answer for this yet, but our industry is going to have to come up with one.



xml.utils.iso8601
package.

Here's my general rule for linking: I try to link to posts or resources that are interesting. I try to do this independently of who the poster is. If I meet one of "the big guys" and we talk about something interesting, then I link it. Otherwise I don't. I also post/link to keep up the conversations (like this one) that start up on blogs.
When I was a graduate student, I had an officemate (Hi Sai), who used to greet me in the mornings by saying "Tell me something interesting". That's what I'm trying to do with my blog.





Updated: I'm a monkey. I didn't follow all the links in Carlos' article, and missed the fact that the C# delegates article that he refers to was written by my friends Steven Lewis and Wilhelm Fitzpatrick.


Last night's blogger gathering at Crossroads was about a quarter the size of the previous one. It was probably not publicized that well. At least that's the impression I got from talking some of the folks there tonight. There also may have been some competition from the monthly Seattle blogger meetup mentioned at seablogs (go look at the site -- there's a great map of Seattle and blogger locations, and the map is even big enough to show little old me out to the west on Bainbridge Island.
Lack of quantity doensn't imply lack of quality. I got a chance to spend a bunch of time with people that I didn't get to talk to at the last gathering.
Joshua Allen and I were the first to arrive. Joshua brought his 2 year old daughter Megan to the gathering. Here's her picture (Hi Megan).

Joshua and I talked about kids and speaking Chinese. His wife is Chinese, while my wife is Caucasian (I'm "Chinese American" or whatever the latest PC term is). I also learned that Joshua and Dare are the PM's for the core XML support in .NET. Joshua and I didn't talk much about that, but Dare and I sure did. He also related a few of his adventures as one of the first Microsoft bloggers.
Dare was the next to arrive. We spent some time talking about RSS Bandit, the history of how it came to be, the things that need to be done, as well as feature requests. I believe that RSS Bandit is the aggregator to watch. Why do I say this? Dare and Torsten are almost at feature parity with SharpReader. There are two of them (plus a few kibitzers) while there is only one of Luke. The RSS Bandit sources are on gotdotnet.com. The SharpReader sources are nowhere, although Luke is planning to open source SharpReader soon. Unless that happens soon, Dare, Torsten, and crew are going to pick up the people who are interested in hacking on an aggregator. It will be interesting to see what happens with this.
After we got done with RSS Bandit, the discussion turned to XML. I enjoyed this conversation immensely. Dare and Joshua are doing the same stuff for .NET that I was doing for XML parsing in Java. It was very interesting to see that our opinions have developed independently, but are quite similar: we both think that SAX and DOM are bad API's for XML. As I've posted before I think that the pull based readers that are in .NET are very nice. We also both hate XML Schema. I was astonished to find that the Microsoft Schema WG reps were also not part of the dev team working on the parser. This was also true when I was working on XML Schema at IBM. We'll all be paying for this in the years to come. Both of us share a disillusionment with and suspicion of the W3C and standardization processes in general. As a take off on this, I explained my frustration with the JCP and offered my "let a thousand flowers bloom, and the best will remain" theory of how we can let open source do what standardization has failed at. One of Dare's replies was basically that he's grateful for the JCP because it's slowing Java so that .NET can catch up (I think his actual words were something like "Every day I pray that Sun will last one more year"). Actually, if you look at the XMLReader stuff and the XPathNavigator and ObjectXPathNavigator stuff, it looks to me like Microsoft is passing Java, not catching up. I don't know if this is happening in other places in the platform, but its definitely happening in the XML core. It gets worse too. Erik Meijer is a part of Dare's team, and has written a very interesting paper on how to integrate relational tables and XML into C#. If this work actually makes it in to C#, its going to make a monkey out of Java. In order for this stuff to make it into Java, there'd have to be a JSR for it, and by the time that got finished, I might be a grandparent. If Sun doesn't open up Java in a way that allows it to match innovations at the same velocity as C# and CLR, then Java is going to be in trouble. All this talk of Sun stewarding Java is going to result in a platform that can't compete with C#. And that's *before* Mono gets into the act.
One last tidbit from my conversations with Dare. Somewhere in there we got talking about open source, and Dare mentioned the infamous Dave Stutz memo. He said that one of the things that resonated with him was the idea that the world is moving to a loosely coupled, component style of usage, while a big part of the Microsoft value proposition is integration. Dare was talking about the length of time it takes to do a release at Microsoft. The fully integrated value proposition means that MS releases infrequently, because it takes time to do a good job of building a fully integrated product. The open source / loosely coupled model allows the release early / release often style of development that allows the developers to get feedback and steer the development of the product in much smaller time intervals. Dare's working on API's and he get a chance once every 18mos-2yrs to deliver something based on the feedback that he got on the previous iteration of his product. This is like the difference between Agile and Heavyweight processes. The ability to steer and react quickly is important. In fairness, I should point out that Sun has been following a similar pattern with Java and J2EE. While in principle the various pieces of J2SE and J2EE are described by independent JSRs, they are usually not delivered independently. So Sun is also suffering from an inability to react quickly.
Simon Phipps was the other non-MS blogger at this one. I didn't get to talk to him much -- he was talking with Robert Scoble and John Porcaro about blogs, community and publishing. He was toting a Titanium powerbook, though. Last time I saw him (at ApacheCon) he was toting a recently kaput Windows XP box (I think). Since it takes me so long to get to Bellevue I usually try to piggy back another activity on top of it. This time I took a trip out to the new Apple Store in Bellevue that everyone's been writing about. I hadn't had the chance to go into one before and I was curious. I looked at the PowerBook G4's, since I'm in the market for a laptop. The 17" PowerBook is just too big for me. I know from experience that a 6lb machine is the limit of what my body can schlep around for any period of time. The 12" PowerBook was too hot. Literally. I think I was getting burned. The 15" Powerbook was just right, but I still can't get over the Carbon layer thing (it not being open source, that is). So I guess I'll probably get another Intel based laptop. I also looked at the new iPods and the Bose noise reducing headphones. I wish there was a way to try out noise reduction headphones in your anticipated environment. They're too pricey to take risk on if they don't work, although they seemed to be doing a good job in store -- but I'd like to know how they work on crying babies. The iPod industrial design doesn't appeal to me at all. But the controls seemed functional, and 30GB is a lot of storage in a cigarette pack size.
Back to the blog party. Last but not least, I met Robert Scoble on the way out. Dare, Robert, and I stood outside of Crossroads for another hour and a half. Dare was giving Robert some advice and explaining how things work inside of Microsoft. I found this to be a very educational discussion.
