Yesterday I wrote my first bash script. Guess what? It wasn?t hard at all. (No awards for elegance though).
I read some complaints about the ?grammar checker? on Microsoft Word, and recently I?ve been using it whenever it underlines phrases with its red or green squiggly line. Although most of the time the suggestions are inappropriate, it caught some very subtle grammar mistakes. Example: If any of the above ARE true?
Well, it?s official (sort of). I had been planning to deploy a content management system on my home web server. My original plan was to deploy the excellent open source Ars Digita 4.6 CMS. It supported various methods of content creation and storage with an Oracle port, and it came with a nifty authoring toolkit. But its bulletin board component seemed rather weak, and its mindshare seemed questionable. Quite frankly, I wanted a product that had a community of developers submitting new modules regularly, and Ars Digita seemed not to be doing this. (Their open source version, OpenACS, seemed to have lots of modules and a lively community of users, although it was TclTk based).
Zope had never seemed particularly elegant (I was distrustful of products that require you to code in a mysterious DHTML language), but the CMF framework seemed object-oriented and easily extensible. Also, Zope is versatile enough of a framework that it is not associated with only one application. And Zope uses MySQL, a free and versatile product, and it?s relatively easy to find hosting services for Zope. Articles about Zope were everywhere, and I even found a decent book about Zope Content Management .
And today, I read that someone had released a beta of a Zope CMS with a wysiwig editor .
A revelation hit me while investigating a portal software called Phpnuke. Although it lacked a lot of CMS capabilities, I was floored by the number of people adding extensions to it. It really is amazing how certain projects attract a huge amount of interest from developers and idiotprogrammers like me. If you truly believe in the open source ideology, you are attracted to these sorts of projects. But open source has a contradiction . Open source states that a product?s value is dependent on the size of its user base. A large user base assures that a critical mass of developers will contribute modules and extensions over time. But it also makes ?popularity? a primary factor for choosing an open source application. That is potentially dangerous. One might argue that by the time the code of an open source project is mature, the code has been extended way beyond the scope originally envisioned by the project?s originators. The apache project is a notable success story, but the xml and tomcat subprojects seem to exist as separate creations from the original http server project.
Slashdotters rant and rave about the pernicious effects of Microsoft?s monopolizing power, but this monopolizing power derives partly from gaining the dominant market share to begin with (as it did in the 1980?s). When a product has mindshare, all problems begin to be solved in terms of that product, regardless of whether the product is well-suited to solve it. For example, Microsoft Access may not have worked as a robust database to back a website, but a few years ago that?s what developers were using to produce websites because of its market dominance. So when a lightweight (MySql) or even a heavyweight (Postgresql) solution comes around, it is overlooked in favor of more ?obvious? solutions.
Perhaps the question boils down to whether technological progress is incremental in nature or connected to ?paradigm shifting.? One phenomenon I experience when acquiring technical skills is that just when I have successfully gotten some sophisticated application to work, I learn about some even more sophisticated application that does way more than you even thought possible. Just when I got the hang of HTML, I learned that the real fun is in Php/Asp. But while learning that, I realize that web application frameworks and CMS frameworks are where it?s at, and then, surely by the time I deploy a Zope-enabled site, I will have learned about some other programming language or application that is guaranteed to perform some feat of magic. This awareness of ?what remains to be learned? is a natural consequence of advances in cognitive understanding. But I would argue it is also the result of a world where innovative ideas and technologies spread more rapidly than humans are equipped to deal with. Need I remind the world that —as rapidly as the software world is progressing—the stars still twinkle the same way, the birds still sing the same songs, the same 19th century novels rest of library shelves, and countless faraway lands remain unexplored.