« May 16, 2003 | Main | May 20, 2003 »
May 19, 2003
CNet News on SCO vs. Linux
I got a quote in this CNET News article on Microsoft licensing SCO code. I think this really muddies the waters for CIOs. Just when Linux (and open source in general) was starting to get some traction among CIOs, this makes them wonder if they're going to be liable for unknown licensing fees. Nothing like the unknown to scare CIOs off. As I said in the article, I don't think it would deter me, but I was an open source user before I was a CIO, not the other way around.
05:40 PM | Recommend This | Print This
Declarative AWK
Zia responded to my my article on XSLT and declarative programming languages by pointing out that AWK has some declarative features. This is true. An AWK program is structured as a preamble, followed by a collection of rules, followed by a postamble. The rules use a regular expressions for the pattern and an imperative chunk of code for the action. Functions can be defined separately. AWK executes the preamble and then begins processing the lines of text in a file in turn. If a regexp matches, the imperative chunk of code is executed on the line of text that matched. Yet I suspect that for most programmers if didn't feel declarative. Because AWK works on lines of text, it easy for most programmers to envision an implicit foreach-loop surrounding the rules and each rule as a case in a big case statement. Even so, I'd bet most AWK programs were written with a single rule.
Correction: Sean Nolan wrote to tell me the "were" in the last sentence should be "are." I stand corrected. AWK is by no means dead.
04:21 PM | Recommend This | Print This
WASP Gives Web Services Development Some Sting
Although most of the Web services examples in tutorials and books are green-field developments -- that is, started from scratch with little or no concern for legacy systems -- that is not a likely scenario in most enterprises. When large organizations contemplate Web services, they are seeking more efficient interactions with customers or trading partners with whom they already have relationships.
Such relationships are often already cemented into place with some collection of IT resources. As a consequence, real-world Web service deployments can get messy and require a serious development effort. Getting the job done requires development tools, a cluster of run-time servers, and management tools to configure and operate the services once they're deployed. WASP Server and WASP Developer from Systinet do a nice job of providing these professional-grade tools for creating and deploying Web services in both Java and C++. [Full story at InfoWorld...]
I ran WASP inside Eclipse on my Powerbook and it functioned well, but was pretty memory intensive. I've 1G of memory and there was still some sluggishness. As I said in the article the Java based server ran under Java 1.4 on OS X with only a few script changes to account for Apple's non-standard directory structure. This is one complaint I've had with OS X, the special Apple directory names can be a pain for scripts. I use the find command a lot to find where Apple has hidden things.
I spent a fair amount of time going through the tutorials that are available on the Systinet site. WASP Server and WASP Developer are both complex tools with lots of options and features. Consequently, good documentation and tutorials are absolutely necessary for most people to get up to speed using the tools. There are a number of packaged tutorials and a nice collection of sample code on the site. While I appreciated all the documentation, I had a few issues in navigating and making use of it:
- Systinet has multiple products and they can seem quite similar. We had some trouble separating out which tutorials went with which product.
- The tutorials are all packaged with Ant build scripts. This makes it nice for running the examples, but to really understand the tutorial and learn how the tools work, you need to dig into the Ant scripts and dissect them. More comments in the build scripts and even alternate, by-hand build instructions would help out.
- On the other hand, some of the sample code, although quite complex, didn?t have build scripts at all and so was difficult to use. This made experimenting with the sample code a high overhead effort.
In spite of these issues, the documentation and tutorials are comprehensive and serve as a good resource for getting started. There's a RSS aggregator demo on the site that I'd still like to get working at some point, but the lack of a build script made that a time consuming proposition.
As an aside, I was really trying to keep the "sting" pun out of any title on this article, but I guess it was just too tempting.


