At the end of 2009, the Scilab Consortium released version 5.2.0 of the numerical computation tool Scilab. It consists of a toolbox for doing numerical computations for science and engineering applications. Scilab's underlying programming language has a syntax similar to, and mostly compatible with, the popular proprietary software MATLAB.
Scilab has a source code translator to assist the user with converting code from MATLAB. That's a big convenience, because many engineering students have learned MATLAB at the university, and it's also a de facto standard in industry. A lot of source code written for MATLAB can also be run on Scilab.
Working with Scilab is rather straightforward. When the application starts, it shows a console window where the user enters commands. Most of these commands are in the form of mathematical expressions with objects like polynomials or matrices, and after entering the command Scilab computes the result of the expression and shows it on the console. The output is in text mode, even numerical expressions with fractions and powers, which is surprisingly easy to read. So it's like a shell in an operating system, but with mathematical expressions instead of operating system commands.
There are also plotting commands, which open a new graphic window and plot a mathematical function in it. Users can save the resulting plot to reload it later in Scilab, copy the image to the clipboard or export it to one of a couple of bitmap and vector file formats. The image can also be zoomed or rotated in 2D or 3D.
Scilab helps the uninitiated a lot by showing extensive information about all available commands in the Help Browser. Each command has an associated documentation page that is viewable in this browser, with information about the parameters, a description of what the command does and examples that can be entered in the Scilab console. When the user installs an external toolbox, its documentation is also integrated into the Help Browser. Another great way to explore the possibilities of Scilab are the demos. They are subdivided into various categories and users can even take a peek at their source code. So while Scilab isn't exactly easy to learn, users can learn a lot by looking at the demos' source code and the examples in the Help Browser.
Most of the advanced features are split in a large number of "toolboxes" (modules) for specific tasks. Among the possibilities are linear algebra, working with sparse matrices, polynomials and rational functions, interpolation and approximation, number theory, 2D and 3D graphics and animation, signal processing, Fast Fourier Transforms, wavelets, manipulating graphs and networks, statistics, artificial neural networks, econometrics, and so on. There are also interfaces with programming languages and environments like Fortran, Tcl/Tk, C, C++, Java, and LabVIEW. There is also a package that plugs into the proprietary computer algebra system Maple for Scilab code generation, and there is a toolbox that translates Scilab code into standalone C code.
Scilab saved your author several times when writing articles about computer science. For example, once he undertook the daunting task of explaining wavelet transformations and their applications to image processing. Because a picture is worth a thousand words, he thought it would be nice to visualize this. But how? As an engineering student he had an educational license for MATLAB, but those days were gone and paying thousands of dollars for software is not an option for a freelance journalist. After much searching, adapting scripts and experimenting, your author managed to visualize the wavelet transformations with the Scilab Wavelet Toolbox and a Scilab script of thirty lines. That's the power of Scilab: it gives free access to scientific computations that would cost a great deal of money to do using other software.
Prior to version 5, Scilab had a non-free license: although the project gave users access to its source code, the license restricted distribution of modified versions to non-commercial purposes. Beginning with version 5, the developers distribute Scilab under the CeCILL license ("CEA CNRS INRIA Logiciel Libre"), jointly developed by a number of French agencies to comply with both international and French law. CeCILL is not OSI-approved, but it follows the principles of GPL and it is GPL-compatible.
Current releases of mainstream Linux distributions don't have Scilab 5.2 yet in their repositories, so for now users have to download the package from Scilab's web site. They can download the source and try to build Scilab 5.2 themselves, or they can download the binary version for their platform (which includes a lot of the third-party dependencies) and install it. The website distributes x86 and x86_84 versions for Linux and Windows and a dmg installer for Mac OS X 10.5/10.6 (on Intel).
It may take some time before Scilab 5.2 becomes available in distributions' repositories. For example, Fedora is working on it, but there are a lot of incomplete dependencies and several packages for optional functionality are not yet available.
New features in Scilab 5.2 are mostly focused on a better user experience. For example, while previous releases required the user to install external modules manually, the latest release comes with a management tool called ATOMS (AutomaTic mOdules Management for Scilab). This tool allows the user to browse Scilab or third-party repositories and download and install external modules from a graphical window (although the commands in the Scilab console are still available). It also facilitates updating existing modules and manages dependencies. Essentially, ATOMS functions as a package manager for Scilab modules. It can also automatically load installed modules when Scilab starts.
By default ATOMS lists a fairly limited set of modules. More are listed on the ATOMS Portal, a new web site that hosts external modules and allows developers to upload their own modules. Unfortunately, even the ATOMS Portal lacks a lot of popular modules like the Scilab Image Processing Toolbox and the Scilab Wavelet Toolbox.
Another addition to Scilab's user experience is a new Java-based text editor that integrates into Scilab. Some of the features are syntax coloring, automatic indentation, line numbering, comment/uncomment of blocks, and getting help on a selected line. The new editor replaces the previous one, Scipad, which remains available through ATOMS.
A third new feature is the ability to annotate graphics with MathML and LaTeX text. This is available in all places where text can be set in a graphic, such as the label and title. This makes it possible to include mathematical equations, greek names of variables, matrices and other symbols. There's also a new function prettyprint that can represent a Scilab variable as a LaTex or MathML expression.
Scilab 5.2 also replaces its modeling tool Scicos by Xcos, which is based on Scicos 4.3, has a new JGraphX-based user interface and promises a roadmap that is synchronized with Scilab. Xcos is a dynamic systems modeler and simulator, which can be used for modeling mechanical systems like accelerating vehicles, hydraulic systems like water tanks and electrical systems like amplifiers and logic gates. The release in Scilab 5.2 provides a new block diagrams editor and finally allows the user to edit several diagrams at the same time. Drag and drop from a palette to a diagram and between two diagrams now also works.
The focus on better user experience notwithstanding, Scilab's interface still has some rough edges and peculiarities. For example, the windows have their own close button inside the operating system's window (which also has, in most cases, a close button). The graphs have redraw issues when Compiz is activated. Moreover, error messages are sparse, somewhat hidden, and sometimes in broken English. So it could still use some polishing, but it gets the job done, which is the most important factor. Scilab is a powerful free alternative to pricey commercial tools like MATLAB. Anyone who regularly needs scientific computations or plotting capabilities should take a look at Scilab.
Interoperabilityannounced. "This is the second release candidate of Samba 3.5.0. This is *not* intended for production environments and is designed for testing purposes only. Please report any defects via the Samba bug reporting system at https://bugzilla.samba.org/. Plans are to ship the final 3.5.0 release on February 16 if there are no major issues with 3.5.0rc2."
Mail Softwarecovers the release of Spamassassin 3.3.0, the first major update since May of 2007. "In addition to the usual bug fixes, the latest release features major changes in how SpamAssassin rules, the patterns that help identify spam, are updated. From version 3.3.0, rules have been separated from SpamAssassin's core. Previously optional in version 3.2.x, rules are now downloaded over a network using the built-in automatic software update tool, known as "sa-update". Alternatively, users can also install rule updates from a tar archive using sa-update. Other notable changes include improved IPv6 support and error handling, improvements to the DKIM plugin and support for Distributed Checksum Clearinghouses (DCC) reputations."
Telecomafter ten months since previous major release 1.5.0, I am glad to announce that Kamailio (OpenSER) v3.0.0 is out. It is a special release, being the first based on SIP Router project. Along with new things developed during the past months, you can blend features and modules provided by previous versions of Kamailio (OpenSER) and SIP Express Router (SER) in same configuration file."
Web Site DevelopmentApache Lenya is an Open Source Java/XML Content Management System and comes with revision control, site management, scheduling, search, WYSIWYG editors, and workflow." Midgard2 9.09 is targeted at web framework and desktop application developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools. In this release we provide Content Repository API bindings for the following programming languages: C, Python, PHP and Objective-C. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other." Quixote is a framework for writing Web-based applications using Python. Its goals are flexibility and high-performance, in that order. A new beta release of Quixote 2 available. This version fixes the PTL import hooks to work with Python 2.6."
Miscellaneoustakes a look at a software development kit for the Kindle e-book readers. "Starting next month, participants in the limited beta will be able to download the (presumably free) Kindle Development Kit, which will let them access support, test content on the Kindle e-reader, and then submit finished content, says Amazon. The Kindle Development Kit will include a variety of sample code, documentation, interfaces, and tools. The SDK will also offer the Kindle Simulator, which helps developers build and test their content by simulating the 6-inch Kindle (pictured at left) and 9.7-inch Kindle DX on Mac, PC, and Linux desktops, says Amazon."
Audio Applicationsannounced recently. Version 2.8.5: "Although I had hoped that the next release would be an alpha version of 3.0, we have accumulated too many critical bug fixes and a few nice to have features to let 2.8.5 wait any longer." Version 2.8.6: "There is only one one difference to 2.8.5 - VST-enabled builds for Linux are possible. There are no functional changes, and absolutely no changes for OS X, so I am leaving the current version for OS X at 2.8.5. The release was done mostly for the sake of those Linux distributions which provide a VST enabled build and don't like to work directly from SVN. " Most important new features since 0.9.36 * Direct support for mp3 using liblame. * Console cleanup. Terminal should not be messy when quitting jack_capture. * Better buffering schemes. * Less used memory."
Calendar SoftwareSOGo provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV, CardDAV and GroupDAV. It features a very tight integration with Mozilla Thunderbird and Lightning and enable mobile devices synchronization through the use of the Funambol middleware. Version 1.2.0 provides new features such as Apple iCal 4 delegation support, multi-domains support, brand new Web interface and much more. Moreover, Inverse releases Lightning "Inverse Edition" v0.9.8. This is a maintenance release of Mozilla Lightning based on our 0.9 release which focuses on stability and includes many bug fixes, several small enhancements and some new features of the upcoming Mozilla Lightning 1.0 extension."
Data VisualizationVeusz is a Qt4 based scientific plotting package. It is written in Python, using PyQt4 for display and user-interfaces, and numpy for handling the numeric data. Veusz is designed to produce publication-ready Postscript/PDF/SVG output. The user interface aims to be simple, consistent and powerful."
Desktop Environmentslooks at the GNOME Foundation's goals for 2010. "If you use GNOME, you should let us know what you think the Foundation should accomplish in 2010!"
Geographical SoftwareOpenStreetMap (OSM) played a prominent role in assisting Haiti relief efforts by getting historical map data into OSM and making it available to relief workers. "Crisis response teams and aid groups are now downloading OSM's Haiti map onto their GPS units. There's even a specially designed iphone app for OSM's Haiti map. Another group using OSM's Haiti map is Ushahidi. That's a site that collects web, email and text message reports from Haiti. Those reports are then embedded in an interactive version of OSM's map on Ushahidi's website." Seen on Michael Tiemann's blog.
GUI PackagesPyQt is a comprehensive set of bindings for the Qt application and UI framework from Nokia. It supports the same platforms as Qt (Windows, Linux and MacOS/X). The highlights of this release include: - full support for Qt v4.6.1 including the new animation and state machine frameworks, gesture and multi-touch support, and advanced graphics effects (blurring, colourising, drop shadows) - all callables have docstrings that describe the Python signatures of all available overloads - keyword arguments are supported for all optional arguments." SIP is a tool for generating Python modules that wrap C or C++ libraries. It is similar to SWIG. It is used to generate PyQt and PyKDE. This release adds support for keyword arguments and docstrings. Docstrings may be either explictly specified or automatically generated." This maintenance release fixes a number of bugs including a backwards incompatibility introduced in the last release and a poor ListBox snapping behaviour."
Interoperabilityannounced. Changes include: "- A number of fixes in AVI file support. - Several MSXML improvements. - A few MSI fixes. - Various bug fixes."
Medical ApplicationsThe GNUmed project builds free, liberated open source Electronic Medical Record software to assist and improve longitudinal care. It is made available at no charge and is capable of running on GNU/Linux, Windows and Mac OS X. It is developed by a handful of medical doctors and programmers from all over the world. It can be useful to anyone documenting the health of patients including, but not limited to, doctors, physical therapists, occupational therapists ... The big improvements are - LaTeX based letter writing - medication handling " reports on the availability of the VA VistA medical record system in a cloud environment. "A company launched by the founder of Linux Medical News is making the VA VistA software available in the cloud for the first time. Ignacio Valdes is a psychiatrist based in Houston,. He calls his company Astronaut Vista, so naturally the name for the enabling software is Astronaut Shuttle. Shuttle was developed by open source health IT advocate Fred Trotter, who offered details on his blog last week. Trotter admitted that VistA has been difficult to get working. Having it available as Software as a Service (SaaS), in the Amazon cloud, eliminates that problem."
Music ApplicationsRakarrack is a richly featured multi-effects processor emulating a guitar effects pedalboard. Effects include compressor, noise gate, graphic equalizer, parametric equalizer, flanger, chorus, echo with reverse playback, musical delay, reverb, digital phaser, analogic phaser, wah-wah, alien-wah, harmonizer, and three flexible distortion modules including sub-octave modulation and dirty octave up."
Office ApplicationsPyspread is a cross-platform Python spreadsheet application. It is based on and written in the programming language Python. Instead of spreadsheet formulas, Python expressions are entered into the spreadsheet cells. Each expression returns a Python object that can be accessed from other cells. These objects can represent anything including lists or matrices."
Web BrowsersFor more details, please see the announcement on Mozilla Developer News: http://developer.mozilla.org/devnews/index.php/2010/01/21..." reviews the Firefox 3.6 release. "Mozilla says that users don't always understand the role that plug-ins play in the Web experience and might not even realize that they have plug-ins installed. This is a major impediment to giving users the ability to protect their own security. The PluginCheck system is a new feature that Mozilla has introduced to address some of the problems caused by faulty browser plug-ins. It gives the browser the ability to make the user aware when a vulnerable plug-in is detected." looks at HTML5 and the patent-encumbered H.264 video codec. Blizzard draws a parallel between the GIF patent situation 5+ years ago and the current situation with H.264. "Remember, this is still very early in H.264's history so the licensing is very friendly, just like it used to be for MP3. The companies who own the IP in these large patent pools aren't in this for the fun of it — this is what they do. They patent and they enforce and then enjoy the royalties. If they are in a position to charge more, they will. We can expect that if we allow H.264 to become a fundamental web technology that we'll see license requirements get more onerous and more expensive over time, with little recourse."
Languages and Tools
CGCC 4.4.3 is a bug-fix release containing fixes for regressions and serious bugs in GCC 4.4.2." GCC 4.4.3 release tarballs have been uploaded, the 4.4 branch is again open for commits under the usual release branch rules." The trunk is still in regression and documentation fixes only mode, we still have several P1 regressions that need to be fixed before branching. There will be a release candidate made available when there are no remaining P1 regressions on the trunk."
JavaThe IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port."
PerlOn behalf of the Parrot team, I'm proud to announce Parrot 2.0.0 "Inevitable." Parrot is a virtual machine aimed at running all dynamic languages."
PythonThis is a source-only release that only includes security fixes. The last full bug-fix release of Python 2.5 was Python 2.5.4. Users are encouraged to upgrade to the latest release of Python 2.6 (which is 2.6.4 at this point). This releases fixes issues with the logging and tarfile modules, and with thread-local variables. Since the release candidate 1, additional bugs have been fixed in the expat module." The ReportLab Toolkit is a library for programatically creating documents in PDF format. It's free, open-source software written in Python, and released under a BSD type license."
Cross Compilerssimavr project was recently launched. "simavr is a new AVR simulator for linux, or any platform that uses avr-gcc. It uses avr-gcc own register definition to simplify creating new targets for supported AVR devices. The core was made to be small and compact, and hackable so allow quick prototyping of an AVR project. The AVR core works more or less perfectly now."
Test SuitesChanges in this release: Fixed ldtp binary name and now it spits out the version info Updated README and AUTHORS file Fixed OpenSolaris bug reported by Qinghua Cheng".
Version Controlhgview is a Mercurial extension for graphically navigating through the revision history of hg - just like hgk or hgtk, but using PyQT. More detailed release notes can be found here: http://www.logilab.org/blogentry/19912".
MiscellaneousThe GCC Release Managers will decide the details about the timing of the merge and inclusion in GCC 4.5 or later."
Page editor: Forrest Cook
Next page: Announcements>>
Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds