Open Source for Business

If you are a business person who is new to the world of Open Source, or you need to introduce business people to Open Source and what it can do for you then the Specialty Equipment Market Association (SEMA, an automobile speciality parts trade association) has a very good introduction to Open Source called Open Source Explained : What it is — What it isn’t — and How SEMA Members Can Benefit From It.

Using open source is like owning a 1960s musclecar. You can drive it just as it is, or you can tweak and modify it to the limits of your (or a friend’s) time and talents. On the other hand, a closed source program is quite the opposite. The work of the people who create the software is not available for tweaking or performance enhancements by the general public. It’s like getting a car with the hood welded shut by the manufacturer. “Here are the keys. Put gas in it, and call us if it breaks.” Closed source has its place, and it might be the only choice in certain instances.

As well as being a gentle introduction to what Open Source is it covers all the sorts of things that businesses care about, servers, oeprating systems, databases, word processing, desktop publishing, CRM, ERP, etc. Well worth a read even if you are involved in Open Source because you’re almost certain to come across something you’d not heard of before.

The author ? Well he’s not a professional geek, he is:

Walter D. Vaughan, Jr. is a vice president at Steele Rubber Products. He is a current member of SEMA’s Business Technology Committee, an ARMO Select Committee member and a recipient of ARMO’s 1998 Industry Person of the Year Award. He also uses or has tested extensively all the software mentioned in this article.

OpenOffice.org to get Business Reporting Capabilities

Now this looks like it might be rather an interesting extension to the capabilities of OpenOffice.org, it appears Sun and Pentaho are planning to integrate the business reporting engine from Pentaho into OpenOffice.org 2.3, tentatively due for September this year.

With the integration of Pentaho’s reporting engine and the new OpenOffice.org Report Designer, developed by Sun, OpenOffice.org users will be able to create reports with content from the OpenOffice.org Base database as well as a wide range of proprietary and open source relational databases, OLAP and XML sources. For example, users will be able to generate customer invoices by creating a customer invoice template and then pulling customer names, addresses, and current due balances from an accounts receivable application or database. They can then produce the invoices as OpenOffice.org Writer documents.

Given that this is only at the thinking about stage at the moment there’s precious little real information asides many rewordings of the press release (including this), the best real information I could find was from Ocke Janssen’s blog at Sun which has real information, including a couple of very early screenshots!

The new report designer will extend the database application. You then have the possibility to create reports not only with the famous wizard, but also manually. As output format you have the choice between text documents or spreadsheets. (OASIS Open Document Format). The designer uses the classical way of presenting reports. To navigate through the components of your report, you’ll have a navigator as you for sure already know from forms. Each repeating section of the report has its own area where text can be inserted. In the first release you’ll be able to create groups (with header and footer), functions, page header/footer, report header/footer. The best way to find all features is to try it when a stable version is available;-)

Must. Have. Patience! 🙂

XmdS – eXtensible multi-dimensional Simulator

XmdS looks like an interesting package:

XMDS is a code generator that integrates equations. You write them down in human readable form in an XML file, and it goes away and writes and compiles a C++ program that integrates those equations as fast as it can possibly be done in your architecture.

Personally I thought it might be drawing a long bow to call XML “human readable”, but some of the examples aren’t too bad at all.

C, Safety and Sanity

On the Beowulf list the semi-mythical RGB wrote an interesting digression on getting started in parallel programming:

C is like an M-1 tank armed with pocket nukes and with a built in levitation system and antimatter propulsion system — misuse it and you can blow up whole worlds, but it can solve lots of problems very quickly. Safe is a kiddy bike with training wheels — not fast, not powerful, but if you pedal long enough you can get where you want to go.

Unless you get run over by a tank, that is.

Talking about parallel programming, André Pang has a nice blog post quoting Edward A. Lee’s essay “The Problem with Threads” which investigates the problems with concurrency and non-determinism in parallel programming. Edward Lee talks about non-determinism he gives a two analogies, the best of which is the one that André picked up on:

To offer a third analogy, a folk definition of insanity is to do the same thing over and over again and to expect the results to be different. By this definition, we in fact require that programmers of multithreaded systems be insane. Were they sane, they could not understand their programs.

I’m glad I’m not a parallel programmer.. 🙂

XFS, JFS and ZFS/FUSE Benchmarks on Ubuntu Feisty Fawn

Having upgraded to the Feisty beta I thought it would be fun to see what (if any) affect it had on filesystem performance (especially given my previous aide memoir).

For these tests I stuck to my 3 favourites, JFS (from IBM), XFS (from SGI) and ZFS (from Sun, ported to Linux using FUSE by Ricardo Correia due to Sun’s GPL-incompatible license). This is a follow on from a slew of earlier ZFS & XFS benchmarking I did reported on previously (( here, here, here and here )).

Summary: for Bonnie++ JFS is fastest, XFS next fastest and ZFS slowest and Feisty made XFS and ZFS go faster (didn’t record my previous JFS results sadly).

The fact that ZFS is slowest of the three is not surprising as the Linux FUSE port hasn’t yet been optimised (Ricardo is concentrating on just getting it running) and is also hampered by running in user space. That said it still manages a respectable speed on this hardware and does have useful functionality that makes it useful to me.

Continue reading

ZFS on Linux with FUSE reaches first beta release

I’m a bit behind at the moment, but this is something worth a mention.

Ricardo Correia’s port of Sun’s ZFS (which I’ve been playing with for a while) has finally reached its first beta release!

He’s made some useful performance improvements recently as well as tidying up some of the memory handling and fixing various bugs, including that bug from the upstream that yours truly got bitten by.

Here’s an updated Bonnie++ run for comparison.

Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
inside           2G           18838   5  6995   2           18277   2 144.4   0
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  2795   5  9658   9  3462   5  2739   5 13736  11  4015   6
inside,2G,,,18838,5,6995,2,,,18277,2,144.4,0,16,2795,5,9658,9,3462,5,2739,5,13736,11,4015,6

real    10m12.258s
user    0m0.840s
sys     0m18.605s

Compared to previous results the write speed has improved, but the read speed seems to have dropped off a bit. Still, it’s early days yet.

ZFS Bug From Solaris Found in Linux FUSE Version and Fixed

Those who know me in my day job know that I’m pretty good at breaking things, so I guess I shouldn’t be surprised I found a ZFS bug that was from the OpenSolaris code base and had been sitting there for about a year unnoticed. The ZFS on Linux developer has now fixed the bug and sent a patch back upstream, so hopefully there will be a fix in OpenSolaris because of work done on Linux!

The good thing is that because I found it on Linux running ZFS using FUSE the bug didn’t take my system down when the ZFS file system daemon died. 🙂 http://www.csamuel.org/2007/06/19/zfsfuse-makes-it-to-linuxworld-and-lwn/

Must Remember for Future ZFS on Linux Testing..

Linus added support for block device based filesystems into 2.6.20, so it’ll be interesting to see what (if any) effect on ZFS/FUSE it will have, especially given it’s named in the commit. 🙂

I never intended this, but people started using fuse to implement block device based “real” filesystems (ntfs-3g, zfs).

Looks like Ubuntu’s Feisty Fawn will ship with this as the 2.6.20 kernels in the development versions have the fuseblk filesystem showing up in /proc/filesystems once you’ve loaded the fuse module, and the fuse-utils package seems to support it too.

Update: Sadly it appears that this isn’t much use for ZFS. 🙁