Wednesday, October 01, 2003

Corporate memory - the hard way. Denham Grey has written a blog entry on the knowledge management dream of capturing corporate memory. To quote: One of the central themes of KM is the design, building and maintenance of an effective 'corporate memory', a repository, a dare... [Column Two]

Emacs, XML, Unicode. I was struck by Norm Walsh‰¥ús essay Goodbye DTDs, in which he talks of going to an all-RelaxNG environment, no more DTDs. Within seconds of seeing it I IM‰¥úd him asking ‰¥þWhat about special characters?‰¥? and he pointed out that there would still be some entity declarations around. ongoing has a DTD too, but I‰¥úd rather it didn‰¥út, so I decided to see if I could wrestle Emacs to the ground so I wouldn‰¥út need one. Of possible interest only to the eleven people in the world who edit XML in Emacs and know what ‰¥þi18n‰¥? stands for... [ongoing]


Emacs, XML, Unicode. Inserting Unicode characters into emacs. Input methods like this greatly reduce the need for entity declarations, the last remaining holdouts from my life with DTDs. [norman.walsh.name]

Steve Roy has released MRJ Adapter 1.0.4, an open source library that implements a unified API for developers to access Mac specific functionality built into the various versions of the Macintosh Runtime for Java (MRJ). MRJ Adapter enables devlopers to add Mac specific functionality to their applications without compromising the cross-platform nature of their application. MRJ Adapter also "incorporates many little tricks known only to seasoned Mac Java programmers, such as how to bring up a file dialog to pick a folder, or how to set up a menu bar when no frame is opened, which is a normal state for a Mac application that isn't natively supported by Java." Version 1.0.4 makes a couple of minor improvements in Preferences menu handling and fixes a bug with Quit handlers. MRJ Adapter is published under the LGPL.


The Object Refinery has posted version 0.9.13 of JFreeChart, an open source library based on Java2D. JFreeChart can produce pie charts, line charts, various kinds of bar charts, XY plots and scatter plots, time series, high/low/open/close charts, candle stick charts, and combination charts. This release adds a progress indicator to the Gantt charts, a foreground/background option for the domain and range markers, and fixes assorted bugs. JFreeChart is published under the LGPL.

[Cafe au Lait Java News and Resources]

Make Your Java Data More Useful with Treemap Visualization. Using visualizations such as pie charts and bar graphs to present data is nothing new. But what happens when you've got more data points than a pie chart can render? Enter the treemap! Use JTreemap to create your own Java Treemap application and render any data you like. By lmoroney@philotic.com (Laurence Moroney).


Determine If an Error Has Occurred During Object Construction. This can be achieved in Java by throwing an exception from your constructor. Since constructors cannot return a value, this is the only way to per By Sashikanth Maddali sashi_friends@yahoo.com.


Override equal() and clone() a Method of an Object. This a very secure and unique way to override equal() and clone() a method of an object. By Supal Chowdhury editorial@devx.com.


Insert an Image into a Database Using JDBC. By Elayaraja David illaya_raja@yahoo.com.

[DevX: Latest Java Articles]

Perl IDE for Easy Camel Humping.

I am not a command line jockey nor am I comfortable with emacs or vi.  What I am is a creature of comfort.  Since I am actively dancing around with Perl again, I thought I should find a nice IDE for Perl and found a really nice one that does exactly what I want and no more: Open Perl IDE...

[Don Park's Daily Habit]

Four posts on change. Adopting agile processes (or any new process, procedure, skill, or routine) requires that people change.

With many changes in organizations, some one "up there" decides that a change is necessary, and works out a plan for the "change targets" to get [Software (Management) Process Improvement]


  Sunday, September 28, 2003

Is this Product a CMS?. Facing a potentially daunting Web content management software implementation, some buyers are asking if they can get by with a more modest alternative. CMSWatch founder Tony Byrne looks at the growing number of not-quite-CMS products to assess what it is they actually do...... [CMSWatch Trends and Features]

Kimberley Burchett has released Jatha 1.1, a smart open source macro preprocessor for Java. This is more like a Lisp maro processor than a C macro preprocessor. Jatha runs arbitrary Java code to generate the source code that the compiler sees rahter than performing simple text substitution. Jatha macros can reside in any kind of file--Java source files, C++ source files, plain text, etc. Jatha is published under the GPL.


Brendan Macmillan has posted version 2.1.1 of Java Serialization for XML (JSX) 2, a library for converting Java objects into streams of XML and reading the objects back from the streams. To use it, replace ObjectOutputStream with JSX.ObjectWriter and ObjectInputStream with JSX.ObjectReader. This release enables you to customize an object's XML representation by serializing a "memento" in its place. Also, this release implements the resolveClass() method so you can load specific classes with specific classloaders.


SwingSet 0.5.0-alpha is an open source Java toolkit that makes standard Java Swing components database-aware.

[Cafe au Lait Java News and Resources]


  Saturday, September 27, 2003

Grab headlines from a remote RSS file. In this article, developer Nicholas Chase shows you how to retrieve syndicated content and convert it into headlines for your site. Since no official format for such feeds exists, aggregators are often faced with the difficulty of supporting multiple formats, so Nick also explains how to use XSL transformations to more easily deal with multiple syndication file formats.


Integrating Struts, Tiles, and JavaServer Faces. Would you like the front-end power of JavaServer Faces (JSF), the content-formatting strengths of Tiles, and the flexibility of the Struts controller tier, all wrapped up in your J2EE Web application? Enterprise Java experts Srikanth Shenoy and Nithin Mallya show you how to integrate the features of all three. This article will demonstrate how to customize the classes in the Struts-Faces integration library to make them work with Tiles and JSF, explain the rationale behind doing this, and detail how to use the new set of classes with a working example.


Java theory and practice: Characterizing thread safety. In July our concurrency expert Brian Goetz described the Hashtable and Vector classes as being "conditionally thread-safe." Shouldn't a class either be thread-safe or not? Unfortunately, thread safety is not an all-or-nothing proposition, and it is surprisingly difficult to define. But, as Brian explains in this month's "Java theory and practice," it is critically important that you make an effort to classify the thread safety of your classes in their Javadoc.

[developerWorks featured content]

CSS layout-o-matic. Free online tool automatically generates cross-browser CSS layouts (including two- and three-column layouts with header and footer).


List-o-matic Dreamweaver Extension. We told you so.

[Jeffrey Zeldman Presents: The Daily Report]


  Friday, September 26, 2003

Replacing Notepad.exe.

I don't know why I didn't think of replacing Notepad.exe until now.  I have much better editors like NoteTab and Metapad on my laptop, but I left Notepad in place and resorted to opening those files by drag-n-drop or open dialog because every software out there, including IE's view source, resorted to invoking notepad.exe to display files.

I finally had enough of crappy Notepad.

I chose Sc1, a special build of freeware open source text editor SciTE which is based on open source and platform-independent Scintilla text editing component, because Sc1 packs everything into a single EXE and has a small footprint (230K).  The downloaded file is the Sc1 executable file, not an installable package.  It's just ready to go and comes with syntax coloring support for most common text file types like HTML, Java, Perl, Python, XML, etc...

[Don Park's Daily Habit]

Installing Tomcat 4 as an NT service. Installing Tomcat 4 as an NT service is an easy task, if you have the right command! [Java Today Weblogs]

Fast Track to Single Sign-On. Learn how to fast-track your SSO development efforts with mod_osso and dynamic directives in the Oracle Application Server.


New Web Services How-To's. These two new how-to documents explain how to develop RPC Literal and Document Literal Web Services using the Top-Down approach.

[Oracle Technology Network News]

Why knowledge management isn't enough. Stephen Mayson has written an article on why knowledge management isn't enough. To quote: With the rise of the 'knowledge economy', knowledge management has become all the rage. However in a law firm, knowledge management is not really about managing...


Enterprise IA roadmap. Lou Rosenfeld has just published an enterprise IA roadmap, showing what activities should be done now within a typical organisation, and which will need to come later. To quote: Hi all; as part of my seminar series on enterprise information...


Soft skills for information architecture. Jeff Lash has written an article on soft skills for information architects, in other words, the non-technical skills required by consultants and the like. To quote: While much of one's success or failure depends on the skills specific to information...


Ontology tool: Protege-2000. The Protege project has released an open-source tool called Protege-2000, designed to create and maintain ontologies and other knowledgebases. To quote: Protege-2000 is: a tool which allows the user to: construct a domain ontology customize data entry forms enter data...

[Column Two]


  Thursday, September 25, 2003

Keeping Those Links Up-to-Date. Blogs are an improvement over browser bookmarking, but the problem of link death is perennial. In this hands-on article, you'll learn about three brand-new, original tools for storing, monitoring, and updating links, using a database and the Velocity template engine. [java.sun.com]

Why Content Management Projects Fail. Someone raised an excellent new topic on cms-list, seeking input on why CMS projects sometimes fail. This has already sparked some lively discussion. If you have a technical take on CMS efforts, cms-list is an especially useful list.... [Ideas in Technology and Publishing]

ShiftOne has released JOCache 1.1, an open source library that provides various Object caching strategies including First In First Out (fifo), Least Recently Used (lru), and Least Frequently Used (lfu). JOCache is published under the LGPL. [Cafe au Lait Java News and Resources]

Uche Ogbuji has posted Anobind 0.6.0, an open source data binding API for Python. Anobind converts an XML document into a data structure of corresponding Python objects. Anobind is driven by a declarative rules that describe how the XML is bound to the Python objects. Anobind published under the 4Suite variant of the Apache license. It requires Python 2.2.2 and 4Suite 1.0a3. [Cafe con Leche XML News and Resources]


  Wednesday, September 24, 2003

James Clark has launched a the relaxng-user mailing list for discussing the RELAX NG schema language. To subscribe to the list, send an e-mail to relaxng-user-subscribe@relaxng.org. [Cafe con Leche XML News and Resources]

I18N FAQ has released jchardet, a port of the Mozilla character encoding detection algorithm to Java. jchardet is published udner the Mozilla Public License.


Robert Oloffson has posted version 0.34 of Java Memory Profiler (JMP). JMP uses the Java Virtual Machine Profiling Interface (JVMPI) interface to track objects and method times in a JVM . It uses a GTK+ interface to display statistics. The current instance count and the total amount of memory for each class is shown as is the total time spent in each method. This release fixes bugs. JMP is written in C for Linux.

[Cafe au Lait Java News and Resources]

Mapping knowledge. Denham Grey has written a blog entry on mapping knowledge, in the knowledge management sense. To quote: Using a questionnaire has proved, in my experience, to be the least effective way to map and understand knowledge gaps, surface issues, to...


IA tools initiative. AIfIA have just launched their IA tools initiative, to make a available a collection of useful templates and deliverables for information architects. Already there is a useful set of documents: Design review checksheets Design review process Design scope Project overview...

[Column Two]


  Tuesday, September 23, 2003

Auto-Tuning Oracle Database 10g: Oracle SGA. Oracle Database 10g supports the automation of more routine DBA tasks than ever before. The techniques described here can help you begin to implement Oracle SGA self-tuning right away.


Cost Control: Inside the Oracle Optimizer, Part 2. Migrating applications to the Oracle cost-based optimizer environment (or developing new ones)? Here's the latest information about the use of histograms, external costing features, SQL hints, and more÷as well as highlights of Oracle Database 10g enhancements.


Writing Better SQL Using Regular Expressions. The regular expressions feature in Oracle Database 10g is a powerful tool for manipulating textual data.


Storage on Automatic. The new Automatic Storage Management feature in Oracle Database 10g frees the DBA from a series of mundane tasks. This article describes its capabilities and applications.

[Oracle Technology Network News]

The Zaval Creative Engineering Group has released version 3.5 of the Zaval Light-Weight Visual Components Library (LwVCL), an open source alternative to the AWT and Swing. It's published under the GPL.


Network Associates has released the Java Binary Enhancement Tool, an open source "Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner."

[Cafe au Lait Java News and Resources]


  Monday, September 22, 2003

The Gnu Project has released version 0.06 of GNU Classpath, an incomplete free implementation of the core Java class libraries. This release supports free Java VMs including the Jikes RVM and Kissme. New features in this release include GTK+2 java.awt peers and many newly implemented classes including java.awt.GridBagLayout and javax.swing.border. GNU Classpath is published under the LGPL.


JGAP 1.0 has been released. JGAP is an LGPL'd genetic algorithms library for Java that "is designed to require minimum effort to use "out of the box", but is highly modular and allows custom components to be easily plugged in by the more adventurous." It supports XML persistence, an event system, and a default natural selection algorithm.


The JBoss Project has posted the fourth release candidate of JBoss 3.2.2, an open source Enterprise JavaBeans application server implemented in pure Java. This is a bug fix release, no new features. JBoss provides JBossServer, the basic EJB container and JMX infrastructure, JBossMQ for JMS messaging, JBossMail for mail, JBossTX for JTA/JTS transactions, JBossSX for JAAS based security, JBossCX for JCA connectivity, and JBossCMP for CMP persistence. It integrates with Tomcat Servlet/JSP container and Jetty Web server/servlet container, and enables you to mix and match these components through JMX by replacing any component you wish with a JMX-compliant implementation for the same APIs. Java 1.3 or later is required.


JCraft, Inc has posted JSch 0.1.8, a pure Java implementation of SSH2 that supports port forwarding, X11 forwarding, file transfer, etc. JSch is released under a BSD license. This release adds APIs for resuming uploads and downloads and fixes various bugs.

[Cafe au Lait Java News and Resources]

Ready for Evaluation: Oracle JHeadstart 10g (9.0.4). This new production release of Oracle JHeadstart, Oracle Consulting's rapid application development toolkit for developing J2EE applications, offers generation support for Jakarta Struts and JSPs.


New Web Services How-To's. These two new how-to documents explain how to develop RPC Literal and Document Literal Web Services using the Top-Down approach.

[Oracle Technology Network News]

I've posted XOM 1.0d21, my tree-based streaming API for processing XML with Java.. This release collects a large number of small fixes and improvements: more standard XInclude results, exceptions that behave properly in Java 1.4, cycle detection when building documents, non-final copy methods, a checkDetach() method, and more. There are API level changes in this release but most of them are backwards compatible, and the ones that aren't are in fairly obscure areas of the API. Almost all 1.0d20 code should run just fine in 1.0d21 with maybe just a recompile. Details on the web page.


Oleg Tkachenko has released XInclude.NET, an open source implementation of the XInclude 1.0 Candidate Recommendation written in C# for the .NET platform. This supports the XPointer framework, shorthand pointers, element(), xmlns() and xpath1() schemes. The .NET Framework 1.0 is required.


Dave Malcolm has posted Conglomerate 0.7.2, an open source GUI XML editor for Linux written in C, and based on libxml2 and the GTk+ and Gnome libraries. Conglomerate is published under the GPL.

[Cafe con Leche XML News and Resources]


  Sunday, September 21, 2003

Squeak version 3.4 released. "On March 5th, Squeak 3.4 was released. This release presents a milestone in the history of the project, because it is the first release ever that was created by the Squeak community. It shows that the Squeak community is active and thriving, and proves that Squeak can and will be successful without the stewardship of corporations like Apple and Disney, who have largely sponsored development so far.


Bistro 3.4: Smalltalk in a Java VM. "Bistro is a new programming language that integrates the best features of Smalltalk and Javaåú. Bistro is a variation of Smalltalk that runs on top of any Javaåú virtual machine (VM) that conforms to Sun's Javaåú specifications."

[Goodstart Feed]

Control Your Mac from Afar. Do you want to control your Mac, or one that you're responsible for, from a remote location? If you're running Mac OS X, you can take advantage of a variety of built-in Unix and AppleScript tools to control your computer from afar. Harold Martin shows you how. [Meerkat: An Open Wire Service: MacDevCenter.com]

Java programming dynamics, Part 4: Class transformation with Javassist. Bored with Java classes that execute just the way the source code was written? Then cheer up, because you're about to find out about twisting classes into shapes never intended by the compiler! In this article, Java consultant Dennis Sosnoski kicks his "Java programming dynamics" series into high gear with a look at working with Javassist, the bytecode manipulation library that's the basis for the aspect-oriented programming features being added to the widely used JBoss application server. You'll find out the basics of transforming existing classes with Javassist and see both the power and the limitations of this framework's source code approach to classworking.


Magic with Merlin: SpringLayout manager. Many developers go to great lengths to avoid the powerful GridBagLayout manager when designing complex screens. Instead of fiddling with the GridBagConstraints, they embed panels inside panels with different layout managers like BorderLayout. The newly introduced SpringLayout manager offers an alternative in which components are positioned relative to one another. This month, Merlin veteran John Zukowski shows you how to use this new layout manager to aid in your UI development.


XML Watch: Desktop XML messaging with Dashboard. Columnist Edd Dumbill looks at Dashboard, a real-time continuous search engine of desktop information that is quickly gaining interest among third-party developers. Its use of simple XML messaging gives it advantages in integrating quickly with other applications.

[developerWorks featured content]

WS-Manageability 1.0. The WS-Manageability - Specification begins by introducing the general concepts of a manageability model in terms of manageability topics, (identification, configuration, state, metrics, and relationships) and the aspects (properties, operations, and events) used to define them. These abstract concepts apply to understanding and describing the manageability information and behavior of any IT resource, not just Web services. We use these concepts to organize our approach to Web services manageability.


WS-Manageability Concepts. The WS-Manageability Concepts document outlines the scope and definitions for the specification. It provides an overview of Web services architecture and implications for management of that architecture. The Concepts document further defines the role of the manager in the Web services architecture and provides practical information on manageability implementation patterns and discovery considerations.


WS-Manageability Representation. The WS-Manageability Representation document provides the interface definitions based on the model as WSDL 1.1 and GWSDL renderings. These definitions are meant to show how the topics and aspects concepts along with concrete models can influence the development of consistent Web services interfaces for accessing the manageability information of Web services. The interfaces illustrate how the manageability model for Web services can be divided into aspects of topics that apply to all manageable resources and aspects of topics that apply only to the manageability of Web service endpoints.

[developerWorks featured content]


  Friday, September 19, 2003

Learn to Read and Write Microsoft Excel Documents with Jakarta's POI. Jakarta's POI project makes it easy to read and write Excel files and provides support for manipulating other documents based on Microsoft's OLE 2 Compound Document Format. This article contains a step-by-step walkthrough that shows you how to get started with the Jakarta POI project. By guptasamudra@yahoo.co.in (Samudra Gupta). [DevX: Latest Web Development Content]

Michael B. Allen has posted jCIFS 0.7.13, an SMB client library written in pure Java. It supports Unicode, named pipes, batching, multiplexing I/O of threaded callers, encrypted authentication, full transactions, domain/workgroup/host/share/file enumeration, NetBIOS sockets and name services, the smb:// URL protocol handler, RAP calls, and more. The API is similar to java.io.File. This release adds support for SMB signing. jCIFS is published under the LGPL.


Julien Ponge has released IzPack 3.2.0, an open source tool for building cross-platform installers in Java. This release adds a new ProcessPanel and collects a number of other small improvements. It's published under the GPL.

[Cafe au Lait Java News and Resources]

Mikhail Grushinskiy has posted XMLStarlet 0.6, an open souruce collection of command line programs written in C and based on libxml and libxslt that "can be used to transform, query, validate, and edit XML documents and files using simple set of shell commands in similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join, etc commands." Features include


Corel has released the Corel SVG Viewer 2.1, a browser plug-in for Windows NT 4 and later that enables Internet Explorer and Netscape Navigator to display Scalable vector Graphics pictures.


Meanwhile, Adobe has posted a pre-alpha of version 6.0 of their SVG browser plug-in for Windows 98 and later. It supports parts of SVG 1.2, including some new video features. It also lets SVG code be embedded directly in the HTML. Only Internet Explorer is supported.


Genicorp has released OODoc, an open source Perl module for reading, writing, and modfiying with OpenOffice documents. OODoc provides access to the content, styles, and metadata in an OpenOffice document. (The site is in French, but the API is in English. Scroll to the bottom of the page for "une notice introductive en Anglais".) OODoc is dual licensed under the GPL and LGPL.

[Cafe con Leche XML News and Resources]