Development
The EeePC as a low-power music player
For a long time, your author has been searching for a low power music playing computer for use in an off-grid solar and wind powered mountain cabin. The desire was to have a player with capabilities that were similar to the grid-powered system used at home. This consists of a library of over 5000 FLAC-encoded audio files that are either randomly or sequentially played by one of several Python scripts. The audio is fed from the computer's sound card to the auxiliary input of a stereo amplifier.
The current off-grid audio system uses a car stereo deck with a built-in CD player driving three stereo speaker sets, all running on 12V DC power. Power consumption is in the range of 5-10 Watts, depending on volume. The car stereo deck has an auxiliary audio input for connecting external sound sources, such as a computer. After one becomes used to a Linux-powered music system with unattended playback of a large music library, manually swapping individual CDs every 45 minutes seems like a lot of trouble.
Initially, a stripped-down desktop computer was considered for the job, but the power consumption was a bit too high for continuous off-grid use, especially when powering the machine equipment through a DC to AC power inverter. A number of mini-ITX systems were considered for the job, but their prices were high, power consumption was still moderate, and an external monitor, with more power consumption, was required.
A laptop computer seemed like a better platform for building such a system. Taking the small system idea one step further, it was decided that a palmtop computer would be a good candidate for the task at hand. The ASUS Eee PC was chosen because it was inexpensive, common, tiny, self-contained and would run on low power. Also, another LWN editor had an Eee PC model 4G (701) that he was willing to part with. This machine uses a solid state flash drive for its primary filesystem.
One might ask, why not just get an iPod? In short, your author does not like the sound quality that comes from highly compressed audio formats, and the ability to create custom software was desired. Also, the price of large capacity hard drives has come down enough that high volume storage is no longer an issue.
The newly acquired Eee PC needed a fresh operating system installation. Ubuntu was a logical choice since it was already being used for the home-based music player. Easy Peasy 1.0 (Ubuntu 8.10) was the first Ubuntu-based distribution that was found for the Eee PC platform. The EEEBUNTU distribution also looks like a good candidate for running Ubuntu on the the Eee PC. Installing the operating system on a machine that lacked a CDROM drive involved downloading the appropriate ISO image and installing it on a USB memory stick. Creation of a bootable USB memory stick is explained in this article.
The Easy Peasy installation worked the first time, the only annoyance involved the appearance of the Ubiquity system installation window upon logging in. The Easy Peasy forum had an article on Common issues and fixes that had the solution to that problem, and some additional post-installation suggestions. An article about optimizing Linux on a solid stated drive suggested some additional tricks for improving the life of the solid state memory. The folks who put Easy Peasy together did a good job customizing Ubuntu for the Eee platform, all of the various Eee PC peripherals have worked with no problems.
A Seagate FreeAgent 320GB USB drive was chosen to hold the music collection, it is small, frugal with power and gets its operating power from the USB port. The drive required installation of an EXT3 filesystem. The entire music collection was copied over by installing the new drive on the home system and running an rsync command to populate the filesystem. As the master music archive grows, it will be simple to synchronize it with the USB drive using another rsync operation. The USB drive also provides an off-site backup for the main music collection.
A small amount of software had to be installed on the machine. The Ubuntu vorbis-tools package contains the ogg123 command line FLAC file player. Two custom Python scripts, RandFlacPlay.py and Playflacs.py (available here) use ogg123 to do the rest of the work. The music is organized in a hierarchy of directory trees categorized by genre, artist and recordings. The recordings of CDs, vinyl disks and tapes each get their own directory. RandFlacPlay.py is run with the primary music archive as an argument, it picks random selections and plays them. It can also be run on subsets of the entire collection or on directories full of symbolic links to specific groupings of recordings. Playflacs.py is used to play all of the songs in one particular directory. Both Python scripts can be invoked multiple times inside of a bash script for a wide variety of programmability.
Using the Kill-a-watt meter that was discussed in the aforementioned power consumption article, data was taken for various modes of Eee PC operation. With the USB hard drive connected and the screen on, the worst-case AC power usage was in the 17-21 Watt range while playing music. This is about four times better than the best power consumption achieved with the desktop machine, not counting the desktop video monitor. When the Eee PC screen is closed, power consumption drops by about 2 Watts. Removing the USB hard drive causes the power consumption to drop by around 4 Watts. Running from the AC charger, the Eee PC can play music using only 11-15 Watts. This number can likely be shaved by another 5 watts or so if the machine is powered directly from 12V DC using a car cigar lighter adapter, the AC adapter generates a lot of heat.
In the above example, minimum power usage was achieved with the hard drive disconnected. However, a music player without music isn't of much use. A bit of software solved the problem. The RandFlacPlay.py script was modified so that instead of playing the random music selections, it copies the songs from the hard drive to a specified directory on the flash-based filesystem. Flash space on this system is in short supply, so an external 4GB USB memory stick (1 Watt) was added to the machine. The memory stick can be loaded with many hours of music and the system can play without the hard drive. Since this mode of operation involves no spinning drives, operating the system in a car becomes a practical option. A common iPod FM transmitter would allow the player to be used in an automotive setting where no auxiliary audio input is available.
In all, this project went together rather easily, no major problems were encountered. Audio quality could likely be improved by adding an external USB sound card. A remote control device such as the Wii Remote (covered here) would be a nice addition. The Eee PC features a large amount of hardware capability in a tiny enclosure. It makes an excellent platform for a music player and is capable of much more.
System Applications
Audio Projects
JACK 0.116.2 + D-Bus
Version 0.116.2 of the JACK Audio Connection Kit with D-Bus support has been announced. "D-Bus modifications add optional autodetected support for the D-Bus based server control system. D-Bus is object model that provides IPC mechanism. D-Bus supports autoactivation of objects, thus making it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed."
Database Software
PostgreSQL 2009-02-06 Update Release is available
Update Release 2009-02-06 of several versions of the PostgreSQL DBMS have been announced. "The PostgreSQL Project today released updates to all active branches of the PostgreSQL object-relational database system, including versions 8.3.6, 8.2.12, 8.1.16, 8.0.20 and 7.4.24. These updates include two serious fixes, for autovacuum crashes in version 8.1 and GiST indexing data loss in 8.3, and those two versions should be updated as soon as possible. These update releases also include patches for several low-risk security holes, as well as up to 17 other minor fixes, depending on your major version of PostgreSQL."
PostgreSQL Weekly News
The February 8, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.web2py 1.56 is out
Version 1.56 of web2py, a cross-platform database driven web framework, has been announced. "web2py 1.56 is out, including a new web site with better documentation".
Embedded Systems
FreeRTOS: V5.1.2 released (SourceForge)
Version 5.1.2 of FreeRTOS has been announced, several new platforms are now supported, among other improvements. FreeRTOS is a: "Mini RTOS kernel for small embedded systems. Preconfigured demo programs are included for lots of microcontroller architectures - ARM7, ARM CORTEX M3, PIC32, PPC405, 8051, AVR (MegaAVR), x86, PIC18, PIC24, dsPIC, HCS12, H8S, RDC, ColdFire, Fujitsu, etc."
Package Management
RPM version 4.6.0 is out
Version 4.6.0 of RPM has been announced. "The primary focus on this release has been cleaning up the code-base to make it more maintainable and robust, and also more approachable to invite more community involvement. Code duplications, memory handling and various code pieces have been cleaned up. The local copies of system libraries like db4, lua, popt and libmagic were removed. New APIs have been established and dozens of old bugs have been fixed. A several obsolete features have been removed from the code base. There also have been a number of visible improvements."
Telecom
OpenSIPS: new PBX dialing module (SourceForge)
A new PBX dialing module is available for OpenSIPS. "OpenSIPS is an GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms. A new module is available in OpenSIPS (called closeddial module). This module is intended to offer a functionality similar to Centrex to OpenSIPS, allowing to define groups of closed dialling, using abbreviated codes."
Desktop Applications
Audio Applications
Aqualung 0.9beta10 released
Version 0.9beta10 of Aqualung has been announced. "On behalf of the developer team, it is my pleasure to announce the latest release of Aqualung, an advanced cross-platform gapless music player. This release is the result of a year's work, much of which has been done by our newly joined developer Jeremy Evans."
Ecasound 2.6.0 released
Version 2.6.0 of Ecasound, a multi-track audio processing package, has been announced. "New interactive commands have been added to query and manage JACK port connections. More options are also now available for setting up ecasound's own JACK ports. Severe bugs in 'playat' and 'select' objects have been fixed. A refactored ECI C implementation fixes bugs and provides improved performance for ECI apps. Many minor bugs have been fixed."
Business Applications
OpenERP 5.0 released
Version 5.0 of OpenERP has been announced. "This new version comes with a full review of the web site giving access to more then 1500 pages of documentations on business management and a reorganization of the community sources build upon the Open Object framework. Free cycles of conferences are planned with the version 5.0 release of Open ERP."
Data Visualization
python-graph 1.4.0 released
Version 1.4.0 of python-graph has been announced. "python-graph is a library for working with graphs in Python. This software provides a suitable data structure for representing graphs and a whole set of important algorithms."
Desktop Environments
GNOME 2.25.90 beta released
Version 2.25.90 of the GNOME desktop has been announced. "This is the sixth development release, and the first beta, towards our 2.26 release that will happen in March 2009. By now most things are in place, and your mission is easy: Go download it. Go compile it. Go test it. And go hack on it, document it, translate it, fix it."
GNOME Software Announcements
The following new GNOME software has been announced this week:- CrunchyFrog 0.3.3 (bug fixes)
- Evince 2.25.90 (bug fixes and translation work)
- GENIUS 1.0.4 (new features, bug fixes and translation work)
- GENIUS 1.0.5 (new features, bug fixes and translation work)
- Glade 3.5.7 (new features, bug fixes and translation work)
- GNOME Power Manager 2.25.91 (new features, bug fixes and translation work)
- GParted 0.4.2 (new features and bug fixes)
- libcroco 0.6.2 (bug fixes)
- Quick Lounge Applet 2.13.1 (new features, bug fixes and translation work)
- tracker 0.6.90 (new features, bug fixes and translation work)
Plasma Team Looks at the Future (KDEDot)
KDE.News reports from the Tokamak II gathering. "The purpose of Tokamak II was to design features and concepts to be worked on over the next year in Plasma and the KDE desktop. Topics covered included: animations and other new features in Qt 4.5, Social Desktop concepts, desktop search, email and calendaring integration, a new system tray implementation, Plasma for educational desktops, mediacenters and PlasMate, a content creation application."
KDE Software Announcements
The following new KDE software has been announced this week:- cb2Bib 1.1.1 (new features)
- CrossVC XXL 2.1.3 (bug fixes)
- eXaro 1.60.0 (new features and license change)
- geolokate alpha 0.1 (initial release)
- kopcat 0.2.1 (new features and bug fixes)
- KRadio for KDE4.x 2009-02-08 (initial KDE4 port)
- luckyBackup 0.2.1 (bug fixes)
- MPlayerThumbs 1.2 (build fix)
- QTrans 0.2.1.2 (new feature)
- QTrans 0.2.1.3 (new feature)
- rekonq Web Browser 0.0.3 (new features and bug fixes)
- TorK 0.31 (new features, bug fixes and translation work)
- Wikipedia Dump Reader 0.2.9 (new features and bug fixes)
Xorg Software Announcements
The following new Xorg software has been announced this week:- libXext 1.0.5 (bug fixes and code cleanup)
- xcb-util 0.3.3 (code cleanup)
- xextproto 7.0.5 (bug fix and documentation work)
- xf86-video-ati 6.10.99.0 (new features, bug fixes and code cleanup)
Financial Applications
LedgerSMB::API 0.04a released
Version 0.04a of LedgerSMB::API has been announced. "In a collaboration initiated between Nigel Titley and Hugh Esco -- but open to others, operating under a SourceForge project as LedgerSMB-OSCommerce, but with an expanded focus of supporting developers seeking to integrate LedgerSMB generically with other applications which have a need to post transactions to or pull reports from an accounting database.SQL-Ledger 2.8.21 released
Version 2.8.21 of SQL-Ledger, a web-based accounting system, has been announced. See the What's New document for release notes.webERP: 3.10 released (SourceForge)
Version 3.10 of webERP has been announced. "Integrated accounting ERP system. Multi-language/currency/inventory locations. Full double entry. SO/AR/PO/AP/GL/Bank/Sales Analysis. BOMs/assemblies/kit-sets. Flexible pricing. Emailable pdf reports. Fast PHP created html for any browser. Many new features and bug fixes from the last release including geo mapping, new CRM functionality, significant improvements to the API, two new themes, and the inclusion of javascript to check the input on certain forms."
Games
WFMath 0.3.9 released
Version 0.3.9 of WFMath has been announced. "WFMath, or the WorldForge Math librarys main focus is geometric objects, and it has classes for several shapes as well as the basic math objects, points, vectors, matrices and quaternions. It is required by all WorldForge components. This release is aimed at all developers. Changes in this version: * The headers have been cleaned up to include fewer system headers and dependencies, and keep the namespace a bit cleaner."
Geographical Software
Traveling Salesman: OSMbin v1.0 announced (SourceForge)
Version 1.0 of Traveling Salesman has been announced. "traveling-salesman is a GPS -route-planning and -navigation -system based on libosm and the OpenStreetMap. LibOSM of Traveling Salesman contains the reference-implementation of the OSMbin file-format. As our implementation now has advanced far enough I am happy to announce the final OSMbin file-format on the OpenStreetMap -dev and -osmosis -mailing lists."
GUI Packages
AnyScreen: Released AnyScreen v1.0 (SourceForge)
Version 1.0 of AnyScreen has been announced. "The goal of AnyScreen is to allow simple development of OpenGL applications running on a wide range of modern output devices. Currently, AnyScreen is capable of rendering on multiple displays settings and offers various stereoscopic rendering modes."
Instant Messaging
GOZERBOT 0.9 released
Version 0.9 of GOZERBOT, a Python IRC bot and Jabber bot, has been announced. "Finally gozerbot 0.9 has been released. This is a huge step forward to version 1.0 and contains a number of changes".
Multimedia
Elisa Media Center 0.5.27 released
Version 0.5.27 of Elisa Media Center has been announced, it includes some new features and bug fixes. "Elisa is an open source cross-platform media center connecting the Internet to an all-in-one media player. It is written in python using twisted, gstreamer and pigment among others, and runs on GNU/Linux and Microsft Windows (XP and above)."
Music Applications
QJackMMC / JackCtlMMC version 3 released
Version 3 of QJackMMC / JackCtlMMC is out. "A new version of QJackMMC / JackCtlMMC has been released today, sporting the new ability to select a device ID, a new help system, and several bug fixes. If you have a MIDI device capable of sending Midi Machine Code commands, you can use QJackMMC / JackCtlMMC to control all your JACK-based programs with your external hardware, or even internal ALSA programs that emit MMC."
Office Applications
Resolver One 1.4 beta announced
Version 1.4 beta of Resolver One has been announced. "Version 1.4 of Resolver One, our Pythonic spreadsheet, uses our Ironclad project to provide (alpha-level) support for numpy in a IronPython application. You can put numpy matrices in spreadsheet cells and manipulate them like any other data".
Science
Stellarium: 0.10.1 released! (SourceForge)
Version 0.10.1 of Stellarium has been announced. "Stellarium renders 3D photo-realistic skies in real time with OpenGL. It displays stars, constellations, planets, nebulas and others things like ground, landscape, atmosphere, etc. This is the first stable version featuring the new Graphical User Interface. It contains all features introduced in 0.10.0 beta (with much less bugs!) as well as: a new script engine (in testing), new translations in Albanian and Bosnian, an improved grid rendering, the possibility to download extra star catalogs in 1 click, and various performance improvements."
Web Browsers
Mozilla Firefox 3.0.6 released (MozillaZine)
MozillaZine covers the release of Firefox 3.0.6. "The sixth minor update to Mozilla Firefox 3 has been released. Firefox 3.0.6 fixes security vulnerabilities, improves stability, improves the ability for scripted commands to work properly with plugins and resolves a handful of other small bugs."
Miscellaneous
BleachBit 0.3.1 released
Version 0.3.1 of BleachBit has been announced. "BleachBit is a Internet history, locale, registry, privacy, and temporary file cleaner for Linux on Python v2.4 - v2.6. Notable changes for 0.3.1: * Clean the cache and temporary files of Acrobat Reader, GIMP, Google Earth, Second Life Viewer, and winetricks. * Clean Firefox version 3's URL history without deleting the entire places.sqlite file (which also contains bookmarks). * Clean more localizations. * Vacuum the Firefox databases (which becomes fragmented). * Fixed bug that blocked cleaning of some localizations for some using Ubuntu 8.04. * Fixed bug that prevented starting BleachBit when the language was not set. * Fixed bug that prevented cleaning of the clipboard."
Virtaal 0.3.0 released (SourceForge)
Version 0.3.0 of Virtaal has been announced. "Tools for localization: Pootle, a web based translation management system. Virtaal, a powerful desktop CAT tool and Translate Toolkit, providing QA, format conversion and support (PO, Java .properties, OpenOffice, Mozilla, XLIFF, TMX, TBX, CSV, Qt .ts) There are far too many improvements to list, but some of the new features include..."
Languages and Tools
C
GCC 4.4.0 Status Report
The February 9, 2009 edition of the GCC 4.4.0 Status Report has been published. "Trunk remains in Stage 4 (regression and documentation fixes mode). GCC 4.4 will be branched when there are no open P1 regressions for 4.4 and the runtime library sources have been converted to GPLv3 with the new licensing exception; the number of P1, P2 and P3 regressions has been below 100 for some time. The licensing exception is waiting for the FSF to confirm to the SC exactly what wording should go in source files using the exception and whether any changes to the exception are to be made to address the possible issues discussed on this list."
Caml
Caml Weekly News
The February 10, 2009 edition of the Caml Weekly News is out with new articles about the Caml language.
Java
GNU Classpath 0.98 released
Version 0.98 of GNU Classpath, the essential libraries for Java, has been announced. "The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions."
Python
cssutils 0.9.6a1 announced
Version 0.9.6a1 of cssutils has been announced, this release adds some new capabilities and improved documentation. cssutils is: "A Python package to parse and build CSS Cascading Style Sheets. (Not a renderer though!)"
HDF5 for Python 1.1 announced
Version 1.1 of HDF5 for Python has been announced, several new capabilities have been added. "HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data."
itools 0.50.3 released
Version 0.50.3 of itools has been announced, it includes several bug fixes. "itools is a Python library, it groups a number of packages into a single meta-package for easier development and deployment".
SciPy 0.7.0 released
Version 0.7.0 of SciPy has been announced. "SciPy is a package of tools for science and engineering for Python. It includes modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more. This release comes sixteen months after the 0.6.0 release and contains many new features, numerous bug-fixes, improved test coverage, and better documentation."
Python-URL! - weekly Python news and links
The February 5, 2009 edition of the Python-URL! is online with a new collection of Python article links.
Cross Compilers
Arduino 0013 released
Version 0013 of Arduino, a development system for the Arduino board, has been announced. "Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators." See the release notes for more information.
IDEs
eric 4.3.0 released
Version 4.3.0 of eric has been announced. "this is to inform all of you about the immediate availability of the long awaited 4.3.0 release. It includes enhancements in nearly every area. Please see for yourself by downloading it from http://eric-ide.python-projects.org/index.html eric4 is a Python (and Ruby) IDE written using PyQt4 and QScintilla2. It comes with batteries included and is extensible via a built-in plug-in system."
KDevelop 4 Beta 1 available (KDEDot)
Version 4 Beta 1 of KDevelop has been announced. "On behalf of the KDevelop team I am happy to announce that we have reached the next milestone on our way to a final release, KDevelop 4 Beta 1. We feel that KDevelop 4, although in no way feature complete, is now usable and stable enough to get first feedback from a somewhat wider audience. Being a beta there are of course still bugs and missing functionality, but we have excellent language support for C++, integration of the CMake buildsystem, subversion, git and even starts of Qt GUI designer integration."
Test Suites
Linux Desktop Testing Project 1.5.0 released
Version 1.5.0 of LDTP, the Linux Desktop Testing Project, has been announced. "This release features number of important breakthroughs in LDTP as well as in the field of Test Automation. This release note covers a brief introduction on LDTP followed by the list of new features and major bug fixes which makes this new version of LDTP the best of the breed. Useful references have been included at the end of this article for those who wish to hack / use LDTP."
TestLink: 1.8 RC4 released (SourceForge)
Version 1.8 RC4 of TestLink has been announced. "TestLink is leading open source Test management tool. The fourth 1.8 Release candidate improves stability and usability of TestLink. We solved 38 issues and requests within this build (especially installer and localization). New feature: User notification on testing assignment via e-mail."
Version Control
GIT 1.6.1.3 announced
Version 1.6.1.3 of the GIT distributed version control system has been announced, it includes new capabilities and bug fixes.
Miscellaneous
PLY 3.0 announced
Version 3.0 of PLY has been announced. "I'm pleased to announce a significant new update to PLY---a 100% Python implementation of the common parsing tools lex and yacc. PLY-3.0 adds compatibility for Python 2.6 and 3.0, provides some new customization options, and cleans up a lot of internal implementation details."
Page editor: Forrest Cook
Next page:
Linux in the news>>
