[LWN Logo]
[LWN.net]

Sections:
 Main page
 Security
 Kernel
 Distributions
 On the Desktop
 Development
 Commerce
 Linux in the news
 Announcements
 Linux History
 Letters
All in one big page

See also: last week's Development page.

Development projects


News and Editorials

Linux and Dedicated Systems Embedded Linux has been receiving a lot of press lately. While Linux is well suited for embedded applications, it also makes an excellent platform for developing and running dedicated systems. A Dedicated system can be defined as a standard PC that is running one or more dedicated tasks.

Examples of dedicated systems include home automation controllers, factory automation controllers, routers, web cams, web weather stations, and even office servers.

The differences between a dedicated system and an embedded system include:

  • It is built from generic, off the shelf PC hardware.
  • It makes use of an Internal hard disk.
  • A standard Linux distribution is typically installed.
  • It is more suitable for small numbers of systems, embedded systems are better for mass-produced devices.
  • It is useful as a prototyping and concept testing platform for a product that may ultimately evolve into a diskless embedded system.

Here are some reasons why Linux is a good choice for a dedicated system:

  • Linux has proven reliability and security.
  • Linux requires no licensing fees.
  • A very rapid concept to working system cycle.
  • Linux comes with a wide selection of free compilers and debuggers.
  • Large software components such as databases and web servers are freely available.
  • A standard linux distribution is a software tool box full of tools that usually work well together.
  • The target system can be its own development system.
  • Remote development is possible through ssh and X forwarding.
  • Most of the work is already done, solutions can be built with small amounts of custom code.
  • Web servers allow multi-platform browser machines to be used as user interfaces to the system.

As an example, your editor has been helping out the local public radio station and discovered an area where a Linux based dedicated system could be used. The station has been receiving its daily news broadcasts from a satellite downlink system. The old system involves manually loading reel-to-reel tapes, recording on the command of a mechanical timer, and shuffling tapes into the broadcast studio. Many things can go wrong with this process, mostly in the area of manually handling tapes.

The replacement system was specified as follows:

  • Audio recording is to be performed during the duration of a relay closure from the satellite receiver.
  • The relay signal should be fed to a printer port input pin.
  • Audio files should be recorded in a standard file format such as WAV.
  • The recorded files should be served to the network on a web page.
  • An existing Windows machine in the air studio should be able to play the audio files.
  • The system should do data management, automatically purging older audio files.
  • The system should be usable by people who don't know have a clue about Linux.
  • The system should be expandable to allow for multiple audio feeds.

To perform this task with a Linux box, it was necessary to find an unused PC (Pentium 200) with an Ethernet card and a sound card. A standard Red Hat operating system was installed on the machine. Two pieces of custom software needed to be written, a C program that monitors the switch closure and runs the recorder program, and a Python program that creates and manages the web page. Both programs ended up being about two pages long, and the rest of the system was done with existing packages.

The program sound-recorder was used to do the audio recording, Apache was used for the web server. It was possible to assemble the hardware and software, write the glue software, and create a working system in just a few evenings worth of time.

While dedicated systems are really nothing new, with the common office server being a specialized case, it may be useful to give that old PC a closer look in the light of what it can do as a dedicated system.

Clusters

Beowulf clusters: Measuring and implementing multiple parallel CPUs (IBM developerWorks). Andrew Blais looks at Beowulf clusters on IBM's developerWorks. The author gives an overview of cluster systems, looks at a number of existing clusters and discusses the required software components. "In 1994, Thomas Sterling and Donald Becker built the first computer to employ the Beowulf strategy. Curiously, they didn't name their machine "Beowulf". They called it "Wiglaf" -- the mythic Beowulf's friend (see Resources). Wiglaf had 16 nodes, and each node supported a 100 MHz Intel DX4 processor (at first, these were 66 Mhz 486 chips), 16 MBytes of DRAM, 540 to 1 gigabyte drive, and a pair of 10 Mbps Ethernet cards. Every hardware component was a COTS -- Commodity Off The Shelf. At the end of the day, Wiglaf was capable of about 74 megaflops. Its price was less than $50,000."

Education

Happy Birthday Linux For Kids. The Linux For Kids site is celebrating its second birthday. In that time, the site has reviewed over 100 applications. The new KDE Edutainment Project is looked at this week, along with a review of the game Kugel.

SEUL/Edu report for October 1, 2001. Issue 54 of the SEUL/Edu Linux in Education report is out. The SEUL folks look at the KDE Edutainment project, cover the Digikata open source school server appliance, look at the Free Computing Curriculum Project, and review several new Java projects.

Electronics

New Icarus Verilog Compiler. The gEDA site lists a new version of the Icarus Verilog electronic simulation language compiler dated September 30, 2001. This release features support for Mac OS X and Cygwin, work on the FPGA section, and bug fixes.

Embedded Systems

Embedded Linux Newsletter (LinuxDevices). The weekly Embedded Linux Newsletter has been posted from LinuxDevices.com. This issue includes summaries of running Linux on the Sega Dreamcast, a device profile on the Empower Palm III-clone, and a new streaming multimedia solution for Linux.

Interoperability

Wine Weekly News. The latest Wine Weekly News is out. Topics include documentation inside of the Wine code, coping with installShield 6, and Installing IE 5.01 under Wine.

Printing Systems

LPRng 3.7.8 released. After a long hiatus, there have been four recent releases of the LPRng printing system in the last month. LPRng 3.7.8 was released this week and fixes a few bugs and documentation typos.

Science

New OIO delivers Image management, XML-based Multi-Lingual Support (Linux Med News). Andrew P. Ho examines the latest version of OIO, the Open Infrastructure for Outcomes on Linux Med News. "Structured content and fancy ontology may be good enough for some things, but they cannot replace pictures. This is especially true in the surgical domain, where microscopy, radiology, and photography are central to describing patients' clinical status. Thanks to Alexander Chelnokov, Ivan Somov, and Andrew Golovin, the OIO system is now a flexible and seamless tool for handling images in the context of other structured content."

Web-site Development

Midgard 1.4.2. The Midgard Community has released the 1.4.2 version of the Midgard Application Server. The release contains Midgard core libraries, scripting language bindings for PHP4, Web application server for the Apache platform and Asgard, the Web-based administration interface. The 1.4.2 release provides major bug fixes to the Midgard platform, and is recommended as an upgrade to all production servers.

Midgard Weekly Summary #63. A new Midgard Weekly Summary is making the rounds after a long hiatus. Topics include a revamped Midgard web site, and the new Midgard 1.4.2,

Zope News, October 1. The latest edition of Zope News includes a recap of the final Zope 2.4.1 release, the Component Architecture and Enterprise Zope proposals, and a security hotfix for 2.2.0-2.4.1 related to the "fmt" attribute of dtml-var tags.

A look at Squid (Unix Review). Joe "Zonker" Brockmeier investigates Squid on Unix Review. "If you haven't heard of Squid before, it's a package that handles proxy caching for Internet objects. Note that I didn't say "Web pages," because Squid can handle more than just HTML files. Squid can be used for a number of things, including saving bandwidth, handling traffic spikes, and caching sites that are occasionally unavailable. Squid can also be used for load balancing." Squid has been released under the GPL license.

SkunkWeb 3.1 Beta 3 released. Version 3.1 beta 3 of the SkunkWeb Web Application Server has been released. This version adds FastCGI support, has support for the ~user syntax, and deals with directories that don't have an index.html file. Bug fixes and performance improvements are also included.

Section Editor: Forrest Cook


October 4, 2001


Application Links
GIMP
Mozilla
Galeon
High Availability
ht://Dig
mnoGoSearch
MagicPoint
Wine
Worldforge
Zope

Open Source Code Collections
Berlios
Freshmeat
OpenSourceDirectory
Savannah
Le Serveur Libre
SourceForge
Sweetcode

   

 

Programming Languages


Caml

Caml Weekly News for October 2, 2001. The most recent Caml Weekly News is out. Topics include a port of ocaml to mingw, downcasting with coca-ml, a new ocaml regex library, and more.

The latest from the Caml Hump. This week, the Caml Hump features Mathplot, a GUI frontend for graphing functions with PostScript output.

Haskell

Beginning Haskell (IBM developerWorks). IBM's developerWorks has a tutorial on haskell by David Mertz. Registration is required.

Java

Dynamic Web-based data access using JSP and JDBC technologies (IBM developerWorks). Noel J. Bergman looks at JSP and JDBC on IBM's developerWorks. "This article discusses using the JSP and JDBC technologies to integrate static, dynamic, and database content in Web sites. For the purposes of simplicity and illustration, the JSP pages here use short scriptlets to expose the JSP developer to the underlying JDBC concepts instead of hiding them in custom tags. The author introduces a key design approach that integrates JavaBeans components with JDBC, similar to the way that JavaServer Pages technology already uses beans with HTTP. He also provides code for implementing this integration."

Lisp

September 2001 Free The X3J Thirteen!. The September 2001 edition of Free The X3J Thirteen! is out. "This issue covers the GNU CLISP 2.28 prerelease test campaign, an update on the CMU CL infrastructure site, new open-source Lisp software by Franz, Inc., a call for GCL and Maxima maintainers, a progress report on the SPARC and PPC ports of SBCL, the SBCL Internals Documentation project and new versions of CLiki, ECLS and OpenMCL."

SBCL Internals Documentation Project. A new documentation project for Steel Bank Common Lisp has been announced

Perl

Writing SAX Drivers for Non-XML Data (O'Reilly). Kip Hampton writes about the Perl implementation of SAX, the Simple API for XML on XML.com. "SAX is an event-driven API in which the contents of an XML document are accessed through callback subroutines that fire based on various XML parsing events (the beginning of an element, the end of an element,character data, etc.)

PHP

PHP Weekly News for October 1, 2001. The October 1, 2001 edition of the PHP Weekly News has been published. Topics include a fix for the PHP-GTK extension, upcoming Greek and Polish manual translations, SMB support, compiling with GCC 3.0.1, and more.

Python

Python 2.2a4 released. The fourth and probably last alpha version of Python 2.2 has been released. This release contains a number of new features and enhancements, along with a number of bug fixes; see the announcement for details. Those interested in what's new in 2.2 should also see Andrew Kuchling's writeup.

Iterators and simple generators (IBM developerWorks). In an IBM developerWorks article, David Mertz talks about iterators and simple generators in Python 2.2. "A generator is a function that remembers the point in the function body where it last returned. Calling a generator function a second (or nth) time jumps into the middle of the function, with all local variables intact from the last invocation."

Announcing gracePlot.py v0.5. GracePlot.py is a Python interface to the Grace plotting package. Version 0.5 of gracePlot has been announced. This is a work in progress. Unlike GNUplot, Grace comes with its own GUI.

Smalltalk

Cincom Smalltalk Journal. The October 2001 edition of the Cincom Smalltalk Journal is online and includes an article on Smalltalk and Extreme Programming by Chet Hendrickson

XML

The latest from XML.com (O'Reilly). O'Reilly's xml.com site features new articles on Interactive Web Services with XForms, Division of XML communities, and limits of the current DTD models.

Miscellaneous

A lingua franca for the Internet (The Economist). The Economist reviews a number of common programming languages. "WALK into any big bookshop, and chances are that you will find a whole floor devoted to weighty tomes with titles such as "UML in a Nutshell" or "Programming Python". These books teach programming languages and related software tools. With their mind-numbing use of acronyms, they are not exactly a pleasure to read. But mastery of a programming language is a step along the road to success for many a whiz-kid with Internet ambitions."

Pipes in Linux and Windows (IBM developerWorks). IBM's developerWorks initiates a series on operating system programming interfaces by introducing the use of pipes under Linux. "Pipes originally appeared in the Bell Laboratories version of UNIX and have remained in all UNIXes and Linux since their inception. A pipe is a stream of bytes accessed through normal IO interfaces. It is created, and then written to or read from using whatever read or write IO system calls are available on the operating system. In the UNIX and Linux case, the IO calls are read() and write()."

Section Editor: Forrest Cook

 
Language Links
Caml
Caml Hump
Tiny COBOL
Erlang
g95 Fortran
Gnu Compiler Collection (GCC)
Gnu Compiler for the Java Language (GCJ)
Guile
Haskell
IBM Java Zone
Jython
Free the X3J Thirteen (Lisp)
Use Perl
O'Reilly's perl.com
Dr. Dobbs' Perl
PHP
PHP Weekly Summary
Daily Python-URL
Python.org
Python.faqts
Python Eggs
Ruby
Ruby Garden
MIT Scheme
Schemers
Squeak
Smalltalk
Why Smalltalk
Tcl Developer Xchange
Tcl-tk.net
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