Month: July 2001

the future of the file system

Though I’ve been aware of the ReiserFS, I had mentally categorized it as “a high-performance journaling filesystem for Linux.” It was a revelation to discover that, for Reiser, this technology is just a means to an end — namely, turning the filesystem into the kind of object database that can help us model the real-world activities we engage in when we create, store, exchange, and search for information.

Reiser’s paper is imbued by a vision that goes far beyond the nitty-gritty details of inodes and indexes.

modern home appliances

if you want to stay fresh, you ought to have a rack in your home. well, its some 50 kg. and it needed to go somehow to the third floor. of course it was well worth the trouble because we have a rack now. these lines are in fact served from this very rack. why it had to have so many slots is beyond me. maybe there are some extension plans for our wg network i am unaware of? not to be outdone, florian went ahead and installed his new projector in our living room.

Free Software Foundation Must Die

Don’t get me wrong. I believe in the GPL and a need for free software, but I believe the Free Software Foundation (FSF) causes great harm to the free software community. The problem is that the FSF has no technical perspective. Lacking perspective and not being able to appreciate or understand the current technology trends is not a crime — unless you’re the FSF. This organization has tremendous influence that translates directly into the community’s scarce resources. When a project receives the foundation’s approval, it results in much effort being poured into that project. In theory this might be a good thing, except the foundation has a knack for approving technologically unsound projects. That lack of perspective combined with influence has cost the community millions of lost man-hours. And that is inexcusable.

Java odbms

ozone is a fully featured, object-oriented database management system completely implemented in Java and distributed under an open source license. The ozone project aims to evolve a database system that allows developers to build pure object-oriented, pure Java database applications. Just program your Java objects and let them run in a transactional database environment.

Infosets are pipes

xml applications are infoset pipelines. henry thompson, w3c

one of the most powerful concepts in computer science is arguably abstraction. by building on abstraction, it has been somewhat possible to manage complexity. productivity advanced or new approaches are more often than not based on abstracting existing ideas and piling on them.

xml is such a story as well. like everyone and their brother i long thought xml was basically a nice way to do markup, sort of html done right. which led to the question what all the hype was about. back then i attributed the hype to the ground breaking insight that simplicity matters. other than that, i failed to see what xml could be useful for.

as it turns out, tags and markup are irrelevant. what matters are infosets, or the information that is contained in xml. with the advent of xml schema it has become possible to add another layer of abstraction to the markup. you no longer have to think of your data in terms of tags and markup, but rather in terms of its types. what does that mean?

it means you can concern yourself with the (simple / complex) types you encounter in your problem space. like the notion of address. you do not care how address is encoded, you just care about its type. xml schema allows you to extract that information out of your data. once you have such rich, structured data, you can do a lot with that.

for instance, the concept of pipes, another powerful abstraction and fundamental to the unix way. conceived by ken thompson as little programs that sequentially work on each others output, it has inspired 20 years of operating system design.

now one of the basic assumptions of the pipes idea was that the data was basically character data. enhance this concept with xml (rich, strongly typed data) and you have the foundation for a lot of new, very powerful ideas. this is what i currently understand xml to be, and what is being built on with xml protocols and ultimately the xml processing model.

(heavily inspired by this keynote talk by henry thompson)

Red tape and corporate politics

i am considering switching jobs now that my current employer has again made a large fuss about a non-issue. the place where i work has traditionally been dominated by elderly men with few clues. faced with the growing pace of technological change, they must increasingly feel out of their depth. but instead of going with the flow, they try to stem the tide by trumpeting around with their silly corporate policies. completely blind to the real problems, they would rather escalate a “situation” where one of their employees has gone out of his way to get a job done than hiring qualified people or investing in infrastructure.

i feel sorry for all the employees that i have brought to this company. it looked like we might have a stab at changing things for the better, but maybe that was a naive outlook. quitting now would seriously hamper their efforts to get off the ground, and it would be cowardly to leave now. on the other hand they should start to look for themselves.

so in case you have an interesting job offer talk to me. i might just bite.

this crap prompted me to re-read the cluetrain manifesto. although slightly soapy in style, it never fails to deliver fatal blows to stubborn companies destined to die. here comes:

  • Companies need to lighten up and take themselves less seriously. They need to get a sense of humor.
  • Companies make a religion of security, but this is largely a red herring. Most are protecting less against competitors than against their own market and workforce.
  • Command-and-control management styles both derive from and reinforce bureaucracy, power tripping and an overall culture of paranoia.
  • To traditional corporations, networked conversations may appear confused, may sound confusing. But we are organizing faster than they are. We have better tools, more new ideas, no rules to slow us down.

Collaborative development

We build WYSIWYG editors for sharing richly-annotated source; we use glass TTY editors (vi, emacs) to hammer on flat ASCII files in which most of the metadata (comments) is completely unstructured.

i just discovered jon udells very interesting newsgroups. some nice quotes about software development in the web era:

greg wilson on why xml-style coding might not catch on:

Many programmers would rather change the way the global economy works than change the way they brace and indent their C code. Many also program as an end in itself (even when they’re being paid to do so). They don’t see an advantage in switching to a format that looks odd (compared to what they’ve been weaned on), and whose primary benefits are team-oriented (lower long-term maintenance costs, easier for newcomers to navigate the code, etc.).

very very sad. i’d gladly switch to tools that allow me to capture my intent on a higher semantical level. however there is apparently hope:

greg again:

I am hoping that as old programmers die off, younger ones will start bringing tools that they’re used to using in other contexts into the coding arena. For example, the proportion of programmers using IDEs instead of legacy command line tools (Emacs + gdb, makefiles, etc.) seems to be increasing. I believe this is because students are introduced to both while they’re still impressionable, so they can choose without worrying about the cost of change.

on the need to include communication in the process:

Finally, LP systems only addressed the problem of “static” communication — I write a doc, you read it, information flows one way. This only addresses the needs of big corporate dev environments, where audit trails and 20-year life cycles are an issue. I’ll bet most of the people reading this group need something much more fluid to sustain their day-to-day work. Even those of us in our late thirties are now used to the “dynamic” 2-way threaded ongoing communication of newsgroups like this. I’ve watched developers in their 20s use Messenger to throw around hasty sketches of data structures and snippets of code while chatting; offer them an IDE that does this, and their reaction is likely to be, “Well, duh, about time.”

i for one would love to integrate jabber with my ide. given a decent xslt, these conversations could be nicely integrated with the source to provide more clues about the code.

sourceforge is a first attempt at such a highly integrated ide that tries to embrace group ware. finally there seems to be a very good book by karl fogel on Open Source Development With CVS that will hopefully be on my bookshelf one day.

Morcheeba!

tonite @ gurten: morcheeba. i will be there.
16:00 – 17:00 Jan Delay
17:00 – 18:00 Third World
18:00 – 19:00 GMF Gran Orquesta feat. Carlos (Sens Unik)
19:00 – 20:30 The Young Gods
20:30 – 21:30 Subzonic
21:30 – 23:00 Morcheeba
23:00 – 24:00 Fun Lovin’ Criminals
24:00 – 01:30 Erykah Badu
01:30 – 02:30 St. Germain
02:30 DJ Stephane B. from Superfunk