[LWN Logo]

 Main page
 On the Desktop
 Linux in the news
 Linux History
All in one big page

See also: last week's Development page.

Development projects

News and Editorials

A new version (1.4) of a document extraction tool known as HappyDoc has been released. "HappyDoc is a tool for extracting documentation from Python source code. It differs from other such applications by the fact that it uses the parse tree for a module to derive the information used in its output, rather that importing the module directly. This allows the user to generate documentation for modules which need special context to be imported."

This is an interesting concept, there must be a ton of useful information embedded in the source code of software projects. Code analysis is by no means a new field, but the creation of documentation from code analysis could be an area that is worthy of further study.

Documentation could be derived from code using several approaches:

  • Looking at the code's structure: The structure of a program reveals a lot of how the code works. Happydoc works on this principal, and there are, no doubt, many other examples of this kind of code.
  • Analyzing the code's data: Data structures reveal much about the function of code, software that collects this information and presents it in a useful way could be helpful in writing documentation.
  • Filtering out the code's comments: A lot of the information embedded inside of comments is very specific to the code that it describes, possibly to the point of uselessness for generating documentation. Comments can also be out of date or misleading. Nonetheless, looking at all of the comments in a body of code as a whole could be a useful method for deriving some useful documentation from code. Trouble areas in the code would likely stand out. In fact, the comments in the Linux kernel source code were analyzed and a lot of colorful language was revealed.
Through the use of Perl, Python, or other high level languages, it should be possible to write a program that looks at a piece of code from all of these angles and produces a pile of output, some of which could be useful for writing documentation. Documentation is famous for being left as the last task, or never finished. Having automated tools for assisting in the generation of documentation could go a long way towards making the job less painful. Such an effort might even uncover a new bugs.


SnackAmp 1.3 released. Version 1.3 of SnackAmp has been released. SnackAmp is a Tcl/Tk based Mp3 player that uses the snack sound extension.


LDP Weekly News for March 27, 2001. Just in time for LWN publication, the March 27, 2001 edition of the LDP Weekly News is out. This issue features a new document, the Remote Serial Console HOWTO, and numerous updated documents. (Thanks to David C. Merrill.)

Embedded Systems

Embedded Linux Newsletter for Mar. 22, 2001 (LinuxDevices.com). The weekly Embedded Linux Newsletter from LinuxDevices.com is available. This week's coverage included A 6-part special feature on Midori Linux, GtkFB -- GTK+ for the Linux framebuffer, and details about Sharp's new Linux-based PDA.

Filesystem Software

Common threads: Learning Linux LVM, Part 1 (IBM developerWorks). In this article from IBM developerWorks site, the concepts behind Linux LVM (Logical Volume Management) are introduced, showing readers how to get the latest kernel patches and tools installed on a system. "What happens if you need to expand a filesystem so that it spans more than one hard drive, or what do you do if you need to dynamically expand or shrink a volume's storage capacity while allowing Apache to continue to serve Web pages? In a highly available, dynamic environment, a basic partition resizer just won't work. For these and other situations, Logical Volume Management is an excellent (if not perfect) solution."

Network Management

OpenNMS Update. The OpenNMS update for March 20, 2001 is available. This issue covers project status; new offices, new servers, new build stuff, upcoming road shows, and more.

Just in time for this week's LWN, the OpenNMS update for March 27, 2001 is also available. Topics this week include preparation for the 0.7.2 release which just may show up late next week, new core team members, report generation, and more.


BioRuby, Bioinformatics in Ruby. The BioRuby project has been created to provide an integrated environment for Bioinformatics software development with the Ruby language.

Software Development Tools

Optimizing your machine for your needs (IBM developerWorks). Teodor Zlatanor shows us some tricks for setting up a Linux user account for software development in an IBM developerWorks article. "After customizing tcsh, Enlightenment, Eterm, and Emacs for a Java and Perl-oriented programming environment, Teodor shows us the configuration of his desktop in Linux. It is optimized for a Java and Perl programming setup, but doubtless other programmers will find many useful tips." We feel obliged to add some Unix trivia, the rc suffix for .cshrc, .bashrc etc stands for Run Command.

State Map Compiler Version 1.0 beta 4 released. A beta version of the State Map Compiler has been released. "SMC takes a state map description (stored in a .sm file) and generates State pattern classes in a target language (C++, Java or Tcl currently supported). SMC is a console based app written in Java 1.2 which means SMC can run anywhere Java 1.2 (or better) can run."

Web-site Development

Squishdot 1.0 released. Squishdot 1.0 has been released. Squishdot is a Slashdot-like system built on Zope. This release includes an important security fix; sites currently using squishdot should certainly upgrade. (Thanks to Navindra Umanee).

Midgard 1.4.1 released. Version 1.4.1 of the "Midgard Content Management and Application Serving Suite" has been released. This release, codenamed 'bifrost,' includes PHP4 support and a number of other goodies.

Measuring Web traffic (IBM developerWorks). Andrei Malacinski, Scott Dominick, and Tom Hartrick delve into the topic of web server logfile analysis in a two-part IBM developerWorks article. Part 1 covers the general ideas and strategies and part 2 goes into the nitty gritty details of log file content analysis.

Window System Software

The Pango connection: Part 1 (IBM developerWorks). IBM developerWorks introduces Pango, the next generation text rendering library that will be delivered with GTK+ 2.0. "Pango is an open-source framework for the layout and rendering of internationalized text, including right-to-left scripts and scripts such as Tamil where glyphs are context-sensitive. Not surprisingly, Pango uses Unicode characters internally (represented using UTF-8), and Pango's interfaces also use UTF-8."

The People behind KDE: Michael Häckel. KMail hacker Michael Häckel is the focus of the latest "People behind KDE" feature. "KMail is a central tonality of the KDE harmony. Part of the team of developers who invest work and passion into this interesting project, Michael Häckel hacks away, making great contributions to the KDE Project".

KDE Developer's Checklist. Jeff Tranter has put together a KDE Developer's Checklist with a ton of useful advice for porting software to KDE. "KDE developers, especially new ones, can easily overlook some tasks or features when developing applications or making changes to existing ones. KDE is a large system and, while much of the information exists somewhere, there is no one comprehensive set of development standards."

Word Processors

LyX Development News for March 28, 2001. The March 28, 2001 edition of the LyX Development News is available. This edition contains a number of amusing awards such as the Asbestos Suit Award. Also included are notes on the LyX-1.1.6 release, and numerous other LyX related items. (Thanks to Allan Rae.)

Section Editor: Forrest Cook

March 29, 2001

Application Links
High Availability

Open Source Code Collections
Le Serveur Libre



Programming Languages



Caml Weekly News. The latest report from the Caml world by David Mentré is out. News includes the CamlP4 3.01 release, LablGTK 1.2.0, the Timbuk A Tree Automata Library, a Caml development kit, and more.


Securing systems: Using Java technology in high-stakes systems (IBM developerWorks). Joseph Sinclair talks about security issues facing the development of Java based information systems. "As J2EE-based systems become more prevalent, and sensitive data is more commonplace, the ability to effectively secure and manage Internet-accessible systems ceases to be a luxury and becomes a necessity. This general overview -- the first in a series of articles -- examines how Java technology can be used to secure systems in which the consequences of mistaken identity can be particularly destructive."


Perl 5 Porters for March 26, 2001. The March 26, 2001 edition of Perl 5 Porters is out. Topics include glob(), a bug in use Errno, open() trickery, Net::Ping, and much more.

DBD::Chart 0.30 announced. Version 0.30 of DBD::Chart has been announced. "DBD::Chart is a Perl DBI driver abstraction for rendering charts and graphs using a variant of SQL".

Inline::Java - Write Perl classes in Java. Inline::Java version 0.01 is available. Inline::Java allows you to write Perl classes in Java.


PHP Weekly News for March 26, 2001. The March 26, 2001 edition of the PHP Weekly News is out. Topics include the new PHP 4.0.5 RC2 release of PHP, PHP-GTK 0.3, Fast CGI, documentation updates, and more.

Variable Manipulation and Output (O'Reilly). John Coggeshall discusses PHP Variables in an O'Reilly PHP Dev Center article. "This article will conclude our discussion of variables in PHP by presenting the numerous ways that atomic PHP variables can be manipulated and accessed within PHP scripts."


Python 2.0.1 heads-up. Moshe Zadka has posted a 'Release 2.0.1 Heads-Up' describing what will go into the imminent Python 2.0.1 release. This release is unique: it is a pure bugfix release, the first in Python's history. This is a testament to both the stability of the Python language implementation and the speed of its evolution. In the posting you'll find the rules for what can go into this release: they are quite strict. Mr. Zadka intends for the first bugfix release to be successful.

Python 2.1b2 released. Python 2.1b2 is now available. What's new for this version are: "Bugs fixed and documentation added. There's now an appendix of the Reference Manual documenting nested scopes".

Dr. Dobb's Python-URL! for March 26. The Dr. Dobb's Python-URL for March 26 is now available. It contains the Python 2.1b2 announcement, a 2.1b2 SRPM announcement, new documentation and more.

TuxBot Programming with Python (O'Reilly). Stephen Figgins talks about using Python and Linux for work with robotics in an article on the O'Reilly Python Devcenter. "Jonathan Pennington works with Legos. Specifically, he works with Lego Mindstorms, the robotics invention system. Pennington uses Lego robots and robots built with Handyboard kits to teach geological science to 8th grade kids -- in a program he calls Science Programs and Robotics for Kids (SPARK). The program has been good, but Pennington wants more power for his robots, more flexibility for the kids. He wants to program his robots in Python."

PyTREX: Python implementation of TREX (xmlhack). Xmlhack features an article on PyTREX, an open-source Python implementation of the TREX validation language.


Tix 8.2.0 Beta 1 released. Tix 8.2.0 Beta 1 has been announced. Tix is a library of useful widgets for Tcl/Tk and this version features improved support for Tcl namespaces, a revamped build system, updated docs, and more.

Section Editor: Forrest Cook

Language Links
Caml Hump
g95 Fortran
Gnu Compiler Collection (GCC)
Gnu Compiler for the Java Language (GCJ)
IBM Java Zone
Free the X3J Thirteen (Lisp)
Use Perl
O'Reilly's perl.com
Dr. Dobbs' Perl
PHP Weekly Summary
Daily Python-URL
Python Eggs
Ruby Garden
MIT Scheme
Why Smalltalk
Tcl Developer Xchange
O'Reilly's XML.com
Regular Expressions

Next: Commerce

Eklektix, Inc. Linux powered! Copyright © 2001 Eklektix, Inc., all rights reserved
Linux ® is a registered trademark of Linus Torvalds