100 open source gems - part 1
KDE, Gnome, OpenOffice.org and Firefox - all great software, and all powerful proponents of the free software software movement. But there are thousands of other applications out there that are worth trying, so in every issue of Linux Format magazine we highlight some of the best new open source programs that have been released or updated recently.
If you're looking to try something new on your Linux box, we've put together a full year of our favourite software releases. Some things you'll probably have heard of already, but we think everyone will find something new and cool to try below. Read on for the first 50, and click here for the second batch!
Being Linuxy types, we often find ourselves torn between many different things at any one time. Call it attention deficit disorder or call it multi-tasking; in any case, it's not difficult to get caught up in many different things as time goes by.
As Fairport Convention fans will well know, the main challenge tends to be working out where all the time has actually gone - something that Agenda XML is here to help you work out. It's a relatively simple application that essentially works like a series of stopwatches, enabling you to change streams and track the amount of time you're spending on each activity. Agenda XML calls each activity a project, and enables you to create as many different projects as you require. Starting and stopping each project can be done by double-clicking on the project in question and clicking Yes to switch to it. You are then invited to click on the big button that proudly says 'Let's Start Working' and a clock will appear to the left of the project while the timer will start to increment.
You're also able to graphically display the time that you are spending each project, allowing you to quickly come up with a good defence when your partner asks what you've been doing while you've been locked in your office.
It's early days for Agenda XML, as it has only just been launched on SourceForge, but we it could become useful to people who do work on different projects at once, particularly if there's money involved. There are one or two minor bugs with AgendaXML - we kept seeing crashes if we attempted to comment on a project. However, we're prepared to forgive these bugs as long as positive development continues.
2. Ananta Gazelle
Content management systems (CMSs) are now so popular that creating your website by hand seems positively archaic. But while Drupal and Zikula are heavyweight site builders that require you to read a book to master them, Gazelle is a much lighter CMS for people who are more interested in getting their site up and posting content than fiddling with modules, views and templates. As such, you shouldn't expect a huge number of features, but that's probably not what you wanted in the first place. Let's focus on what Gazelle does well.
First up, what matters most is that it's easy to post some pretty advanced content using Gazelle, thanks to its use of TinyMCE. Even if you don't know any HTML, TinyMCE lets you do bold, italics, alignment, bullets, indents, images, embedded media and more. If you're a little more advanced with your HTML, then you can type it in by hand or edit what TinyMCE generates for you. It's a good way for the program to accommodate all levels of user and let them work with their content unhindered.
For site customisation, you're able to build a custom menu bar and place it into a custom theme. You can download several from the Ananta site, but it's easy to make your own. By default, Gazelle outputs strict XHTML-quality code, so you're guaranteed compatibility with the top browsers.
When you follow the installation wizard, it guides you through creating an admin user with all the privileges to create further users and groups, as well as customise all the site's settings. By default Gazelle comes with three basic user groups (equivalent to 'roles' in Drupal): Everyone, Registered Users and Administrators. Each of these has privileges that (somewhat annoyingly) can't be changed, but you can add your own groups if you want.
For more extreme customisation there are Drupal-like modules that you can install using the web interface. These are a bit thin on the ground for now, but like we said, the main benefit of Gazelle is that doesn't overload you. Ultimately Gazelle is nothing like as extensible as Drupal, but it's fast, free, and requires no learning - you can just dive in with the content and make the next big site.
3. Apache SQL Analyser
Running a server generates an awful lot of two things: heat and logs. If you have a lot of the first one, you're in trouble and you need to invest in expensive cooling solutions. If you have a lot of the second one, you need to either get some in big hard drives to store your burgeoning log burden, archive or delete your logs on a regular basis or make like Google and turn the throwaway data into a business model.
The Apache SQL Analyser (ASQL) is designed to read Apache log files and dynamically convert them to SQLite format so you can analyse them in a more meaningful way. Using the cut, uniq and wc commands, you can parse a log file by hand to figure out how many unique visitors came to your site, but using Apache SQL Analyser is much faster and means that the whole log gets parsed only once. Finding unique addresses is as simple as a SELECT DISTINCT command.
Trying it yourself
To get started with ASQL, first make sure you have Perl installed, as well as Perl support for SQLite - that's the database back-end it uses. Second, you'll need to have an Apache log file ready to use. It doesn't need to be too big for now.
If you compiled ASQL from our disc using ./configure then make. You'll find its program in the bin directory. Change into that directory then run the command ./asql to start it up. The next step is to type load /path/to/your/log.txt, then wait a few seconds while ASQL converts it all to SQLite format. Once that's done, type "show" and press Enter to have ASQL list all the data it has retrieved from your log file. Now you can make with the SQL queries - here are some examples:
SELECT COUNT(*) FROM logs;
SELECT COUNT(DISTINCT source)FROM logs;
The source field contains the IP addresses of all your visitors, and the DISTINCT function means "only list each unique IP address once", so this time you'll get a much lower number back. Another common search is to find out where your visitors are coming from. If someone types your URL into their browser or uses a bookmark, the referer field (yes, it really is spelled like that) is set to . Otherwise (if someone clicked a link to your site), the referer is set to be the URL they came from. Try using this query:
SELECT DISTINCT referer FROM logs;
This will show you all the ways people got to your pages. But it's imperfect, because sometimes people get to your pages by following links on your own site. You'll see lots of your own results in that list. We can fix that by asking ASQL to ignore links from our own pages, like this:
SELECT DISTINCT referer FROM logs WHERE referer NOT LIKE 'http://www.linuxformat%';
The www.linuxformat part will change, but the important thing is the % symbol at the end. It means "anything can follow here" and will match www.linuxformat.com, www.linuxformat.co.uk, www.linuxformat.co.uk/foo/bar, etc.
Making it permanent
If typing on the command line irks you, you should try using ASQL's save command. Normally ASQL converts your log file into an in-memory database that is tossed away as soon as you quit the program. But when you run the save command, that database gets saved to a file on your hard drive (.asql.db in your home directory by default). Because it's a plain old SQLite database, you can load it into any program and analyse it. If you want to bring the file back into Asql, use the restore command.
Have you ever wanted to look inside something before you actually get it? Maybe a boiled egg that you are not sure is done enough, or a lucky bag at the arcade on the pier. Certainly, many people partaking of lunch in the TuxRadar HQ dining hall would like to take a sneaky peek inside the 'pie of the day' before they put one on their plate. There are, it would seem, plenty of occasions where some sort of X-ray vision would help out a lot, and we have only been thinking about the legal ones.
ArchView is like a special magic set of X-Ray goggles for the internet. Its purpose is to grab the important part of an archive file you have found languishing on some FTP site and let you take a look at the contents, before you wind up downloading a huge archive only to find that the file you really wanted isn't inside anyway. It does this by recognising the type of file and grabbing and decoding the parts of the file that has the contents inside it. So far, the recognised file types are RAR, ZIP and ISO files. The last is probably the most useful, but beware: this is by no means an instantaneous proposition. The ISO index portion can easily take five minutes to download on its own.
ArchView is a Firefox extension, and it will run on Mac and Windows as well, so you don't have to give up on it just because the scumbags you work for make you use a different OS at work. The best way to install is through the Firefox add-on site - just do a search for ArchView on the browser/platform of your choice to get the latest version. When it does, depending on the interface options you have chosen (and we're voting XUL, in case you need someone to choose for you) you'll see a browseable directory listing in which you can do all the sorts of things you usually do.
This is one of those extensions that you might not want to use all the time - sometimes you know you want to grab a file without having to wait ages to get a listing first. In this case, it is easy to switch ArchView on and off via the little icon that appears bottom-right of the Firefox window.
It may almost seem like there is nothing Aria 2 won't do for you. For Tux's sake, it even downloads BitTorrent files if you ask it nicely. It's a command line tool, but there are a number of front-ends available.
Aria 2 isn't really a download manager. It doesn't really work that way. What it is is a utility that can save minutes or even hours of your life when downloading other stuff. The real trick is knowing all the many magic commands, The most useful of which is the -s switch, which controls the number of download streams used for a file:
aria2 -s3 http://www.someurl/somefile
...starts the download with two connections open. You can of course add more, but beware that lots of public FTP sites will restrict traffic to one login at a time from the same IP address, in which case using multiple streams (or trying too) will actually slow things down.
6. Back in Time
When Apple released OS X 10.5, people across the globe were surprised to find that backing up their data had become very sexy, all thanks to the introduction of Time Machine - Apple's backup and restore application. Up until that point, backing data up was a mundane affair that you had to give a lot of thought to in order to avoid any loss of data. And it didn't hurt that the method used to retrieve backups involved a great big timeline of snapshots stretching back into the distance, with smooth transitions and effects. The basic premise is to make one large initial backup and then incrementally back up the data that has changed. It's a simple concept, and one that Apple has implemented in a fantastic way, demonstrating the company's usual flair for design and usability.
Thankfully, an alternative to Time Machine for Linux users has appeared - Back In Time. One of the great challenges any back up program faces is making the process as simple as possible for new users, and Back In Time manages to do this with a series of drop-down boxes for users to choose the data that's backed up, along with the frequency and the retention period. It will back up to any attached storage, allowing you to use NFS mounts as well as external storage. From then on in, Back In Time just sits in the system tray and quietly gets on with its job, leaving you to worry about your work and not the safety of your data. If no data has changed, it skips the scheduled backup until it recognises that changes have been made to the folders and files that you've chosen to back up. This all happens silently in the background; Back In Time runs a very small process to keep tabs on its schedule.
Getting it back
Of course, no backup solution is complete without a method of restoring files in case of emergency, and Back In Time offers a similar approach to Time Machine, albeit without the whizzy animations. Instead it opts for the more sober approach of listing the dates and times of each backup, allowing you to select a point in time that you wish to restore a file from. You're then given a directory listing on the right-hand side that you can use to navigate and find the file you're looking for, before right-clicking on it and selecting Restore. It's really that simple, and we're sure that it'll save you many headaches if you chose to work with Back In Time.
Under the hood, the program relies on rsync, the saviour of many a system administrator over the years, and makes use of meld to compare the differences between snapshots. We can't complain at the results and think that wrapping commands such as rsync up in a graphical interface is worthwhile, particularly in this case. The biggest limitation is that it works solely in user-mode, only enabling you to back up and restore areas that you have access to as a user. This means that doing a full system backup and restore isn't possible, but that's not the point of this application; it's more suited to home users, ensuring that their collections of documents, music and images are safe from harm.
Development is moving rapidly on Back In Time, and we would definitely recommend you give it a look, especially if you're looking for a backup and restore solution for technophobes.
Some apps take a little living with before you realise their full potential; others you try and try again, but they never really quite fit what you were after. But BashStyle-NG is something so cool that all it takes is a screenshot to make most Linux geeks say, "I want it." In fact, the very action of putting "Bash" and "Style" in this app's name is enough to cause a stir in most LUGs, because, let's face it, looking for style in Free Software is rather like looking for a clock in a casino.
What BashStyle-NG does is take Bash's wealth of configuration options, thins the herd a little by ignoring the most obscure things, then presents the best of the rest in a simple, GUI-fied way. By default, there's a selection of predefined styles you can choose from, but they all use bright colours, often employ strange ASCII characters to draw lines and shapes, and - inevitably with all this bling - start to annoy the heck out of you. Still, if you rarely use the command line and just want to look cool in front of your Windows friends, go for it!
The real value of BashStyle-NG is that it makes it easy to find all the features you just know Bash can do. For example, few people customise their Bash prompt, despite it being something with a tangible benefit. Here at TuxRadar HQ we use bright red and green colours for the prompt on our live web server so that we're always extra-careful when typing at that shell. BashStyle-NG makes this easy: choose the Custom tab and you can build a custom prompt out of components such as your username, the full directory, the host name, the time, the number of background processes, and any other characters you feel like using.
We love Bash
Once you find the perfect Bash setup for you, BashStyle-NG continues to be useful: it has options to customise Vim, Nano and Readline, all using the same helpful interface. As with Bash, these apps all have a variety of configuration options to tweak them in your favour, but more often than not we just don't know how to get at them. And that's where BashStyle-NG wins: point, click, and things happen; the help file is almost redundant, and even the most newbie Linux user can find their way around in a few minutes. If you do find you're not quite sure what some of the options do (particularly likely while fiddling with the Bash custom prompt possibilities), you'll be pleased to hear that every single checkbox option in BashStyle-NG is documented in the help file, along with screenshots so you know where you are.
One place that BashStyle-NG slips up is in understanding what an unchecked checkbox means. That is, most of the checkboxes are used to show what they do right now, rather than what they do if you check them. For example, if the tab-completion feature "Ring when ambiguous" is not checked, you might think that means "don't ring when the completion is ambiguous." But if you check the box, it changes to "Show when ambiguous", meaning that leaving the box unchecked actually meant it should ring when ambiguous! This confusion is definitely something the developers should clear up in a future version.
Other than that, BashStyle-NG is a fantastic asset for anyone who goes near the terminal fairly often. Everyone who uses the command line - and we mean everyone - will find an option to tweak in here that will make their life a little bit easier, a little bit prettier, or even just a little bit more fun.
8. Be The Wumpus
You are about to enter a new dimension. A dimension of sound. And, er, that's it. Yes, we always like to bring you the very latest in best new stuff here at TuxRadar, and we've surpassed ourselves with this great find which is a totally new game genre. Back in the days when computers lived in their own houses, there were a profusion of 'Hunt the Wumpus' games that involved a text-based interface adventure, strolling around connected caves and trying to work out where the 'Wumpus' lived, before slaying it from afar with an arrow.
Well, 36 years later, and the whole thing has been turned on it's head. Now, instead of silly text based interaction, there are no graphics at all. Only sound. You are the Wumpus, and you are angry. Using only the distant sounds of arrow-wielding idiots to guide you, you must navigate the dark caverns and chomp up the intruders. The game supports Xbox controllers for twin-joystick-with-feedback action, but you can play with any Linux supported game pad, or indeed the keyboard (although that does make things a bit tricky).
A good sound setup is advised, and probably headphones, unless you want to make things really hard for yourself. You do need libvorbis (which we hope you already have) and a library called PortAudio, which you probably don't, but is easily found if you're smart enough with your package manager.
If this were a music CD, it would probably carry a warning about explicit lyrics, so be warned that the wumpus shouldn't be controlled by younger Linux users. Good luck and bon appétit...
9. BG-Tiny Linux Bootdisk
We all need rescuing sometimes, and if it's booting a corrupted PC then Knoppix or Ubuntu CDs normally do the job. However older laptops and PCs don't have enough RAM to run these heavyweights, and more minimalist rescue distros are needed. They don't get much more minimalist in their requirements than BG-Tiny Linux Bootdisk.
BG-Tiny is a rescue disk running from a floppy - so far so small. What makes it particularly tiny in its demands is that it doesn't use a RAM disk, so will successfully boot on a PC with a 386 processor and just 4MB of RAM. We dug in the laptop pile in the TuxRadar attic, and found a hidden cache of IBM ThinkPad 701s - with between 4MB and 24MB RAM each, scarcely enough to run the OS/2 install that they shipped with. We plugged an external floppy drive into the first one with a working CMOS battery, and voilà: working Linux.
To see a machine from the mid 90s booting is all very interesting, but is it useful? Well many an old, unbootable machine has files that need recovering, or disks that need fixing with fsck. BG-Tiny gives you little more than the basic tools, including BusyBox, but that's all you need to get out of most fixes.
The remaining memory has dosfsprogs, e2fsprogs, Gpart, Lilo and ms-sys squeezed in to work with MS filesystems.
Thirty different keyboard layouts are included, and even USB keyboards seem to work. A 2.4.36 Linux kernel is as up to date as it gets in this tiny memory space, and BG-Tiny gives you a whopping 844k of RAM to play with on a 4MB system. As this compares to 772k on version 0.7 and 672Kk on 0.6, it seems that the developer, Bodo Giannone, is fixated on helping those working with very old systems, which is all to the good.
If you ever work with old PC hardware this deserves a space in your case with your Torx drivers, SGD disk, and your PDF of DOS For Dummies.
Sometimes guarding your data with password protection isn't enough, and you need to be able to blitz any and all traces of your electronic movements from your distro. It's here that a tool like BleachBit comes into its own. Like cleaning a browser cache, the idea is that you can delete any potentially incriminating data from your computer that might be used maliciously against you.
Available in source tarballs or in a package for one of the major distros, BleachBit covers a wide variety of caches, histories and other personal data repositories. Not only does it enable you to delete the data, but in some cases it will also write over the filespace that the data occupied to ensure permanent deletion.
Although privacy is trumpeted as the key use-case for BleachBit, it will also remove some of the cruft that accumulates within your distro over time, allowing you to preserve hard drive space. Before you commit to any deletions, you can see a preview of what would be deleted, along with the total filespace that will be returned to you. Once you're happy, click the delete button to obliterate your chosen items and keep your system secure.
Want to set up a blog but don't know how? Sure, you could sign up at www.blogger.com or something similar, but we're geeks: we like DIY technology, we like tweaking the tweakable, hacking the hackable and - usually as a direct result of the other efforts - breaking the breakable. And so if you're looking to set up a blog that you can hack on freely, we have just one word for you: Blosxom. It's an entire blogging platform wrapped up in a single Perl file, which means no complicated PHP, no databases, and in fact nothing more than a web server is required to get started.
Blosxom strips back blogging to its absolute basics: every blog entry is actually just a file in a directory you specify. Yes, that's right: open the text file in a text editor of your choice, type some words (or HTML, or indeed whatever you feel like), then save it and it appears immediately on the blog web page. Entries are automatically dated using the time they were last saved, so there's no need to use a special web page to type your entries - just SSH to your machine and type away.
To get started, copy blosxom.cgi to your cgi-bin path, chmod it to be 755, then edit it and change the line $blog_title and $datadir so they are correct. That's it; that's all it takes to get your voice out on the web. Now get going!
There are many reasons not to let those around you see what you're working on: there's always client confidentiality or casual rivalry to consider, or perhaps you're on your laptop among strangers, or browsing TuxRadar when you're supposed to be working. If you get up from the keyboard, you won't want others to see your display.
If you're called away from your desk you may remember to activate the screensaver, drop to a virtual console, or simply switch workspace - all of which give a little protection from casual snooping. A password-protected screensaver gives added protection, but can you remember to activate it every time you have to leave your keyboard for a few seconds?
In BlueProximity, Lars Friedrichs has found a convenient solution to this knowledge workers' problem. Using your Bluetooth-enabled mobile telephone, the app constantly registers the distance between the computer and the phone. Walk away from the PC with the phone in your pocket and the screen locks. Return and it unlocks for you, saving you the bother of even typing the password.
Locking the screen is not the only option, and any command may be given in response to the proximity change. You can alter the length of time it takes to register you've gone, and the time it takes to turn back on when you come back. The distance settings for departure and return actions can also be altered, and a number of different Bluetooth devices can be paired with the computer. There are probably hundreds of novel or trivial uses for this application. If you have a PC near your kettle, let it count how many times you make a coffee, and then write a script to email you your daily caffeine intake. On second thoughts, some things are best not known.
It is always useful to know how fast something is going - your network speed, CPU, your motorbike, the economy downhill... and of course your hard disks. While hard disk speed may not be as hugely important as it once was, it can still be a serious limiting factor to a super-fast system, and many people take great delight in fiddling around with different filesystems and driver parameters to get the best performance out of their drives. Aye, but there's the rub: how do you know how fast your drive is actually going? And what, exactly, do we mean when we say 'fast'?
The answer to the first of these questions used to be the venerable Bonnie. This has now been radically updated by Russell Coker for the >2GB filesize world we now live in. Bonnie++ will put your shiny magnetic platters through their paces and give you the stats on how well they perform over different reading, writing and seeking operations.
There is no single-figure answer for how fast your drive is, because it depends on so many factors. What makes a drive fast for accessing large files can conversely make it rubbish at searching for lots of itty bitty files spread throughout its magnetosphere. So, the numbers are just numbers, and you can interpret them as you will. It is interesting to see modern SATA drives turn in lower performances than some old ATA ones - usually because the emphasis lately has been on capacity rather than speed.
Filesystems, and the size of files can have a large impact on performance characteristics. It can be tricky deciding what is optimum, or even finding out how far from optimum you are.
At least with Bonnie++ on your side you can draw some interesting graphs of the results and try and make some sort of sense out of things. More importantly, it can highlight a bottleneck in performance which might save you from having to perform needless upgrades.
14. Brain Workshop
Are you one of those sissies who thinks that games ought to be fun? Well you've come to the wrong place mister. Smarts cost, and right here is where you start paying.
The basic premise of Brain Workshop is that you watch a red square appear in one of nine locations, and you listen to the sound of a letter. Then all you have to do is remember them. Gosh, it sounds terribly simple. Then you see another square and hear another letter. If the squares are the same you press A. if the sounds are the same you press L. that's it. My, it is simple. Oh, but that's only on the very easiest setting. In fact, that is like the training mode for idiots. On the real mode you have to remember letters and positions from two or more turns ago. Oh yes. Not so easy now is it, smartypants? Brain Workshop is based on some very laudable-sounding research - the documentation and the website have all the citations if you like that sort of thing, and the upshot of all this is that apparently it makes you a lot smarter. We tried it on Mike but there seemed to be no discernable difference. He still eats burgers for lunch every day.
As you might imagine from the very simple concept and minimalist playing area, this game demands little in terms of resources and will pretty much run on anything that has a display and a soundcard. There are no dependencies worth mentioning, apart from Python. Don't be confused by the instructions, which recommend opening the game in an IDE. It will run fine from the shell if you invoke python:
The game does seem to be deceptively easy when you start playing it, but it rapidly becomes very very hard. Let us know if you become super-smart overnight with no proper explanation.
Imagine you're escaping from a bunch of enemies in your fighter aircraft, and in a desperate move you decide to enter a large cave opening in the mountain ahead.
The moment the ship goes into the cave, you notice that the controls are failing, and you cannot reduce the forward speed. You can only count on the two diagonal thrust jets to keep the ship from colliding into the cave walls, with a faint hope that it will lead to another opening somewhere. The arrow keys are all that keeps you from a messy death, and a blood-red GAME OVER.
If this sounds familiar, you've probably come across the online or mobile versions of SFCave - to which Cave9 pays homage. The original 2D version was a one-button game, and the Flash-based 3D-SFCave that you can play online looks somewhat crude next to Carlo Caputo and Rodolfo Borges' textured cavescape in Cave9.
Controls are simple. The left and right arrows control the diagonal thrusters, and the up arrow gives you both together for lift. These sort of simple games are great for mobile devices, as well as a 10-minute distraction from the work at hand.
Installation is easy: use your package manager to grab the development packages for the SDL libraries, grab the source from Google Code, untar and run make (as root). Written in C, with some glue code in Perl handling settings, Cave9 is an exemplar of the community's gift to interested learners. The code is fairly easy to read, and uses the ubiquitous SDL libraries, making it a great place for potential games programmers to dive in and learn. Of course if hacking C is not where you want to be going just now, Cave9's also a rather good way to kid yourself you're Han Solo or Luke Skywalker when you're waiting for a train.
Do you have lots of work to do? If so, there's a good chance that you waste a lot of your brain power on simply remembering the things you have to do, rather than actually getting on and doing them. With every task your manager/director of studies/significant other gives you, your capacity to actually do the work diminishes. At least, that's our excuse.
David Allen went some way towards solving this conundrum with his 'Getting Things Done' time-management methodology, which basically states that you should associate each task you need to do with an action, then write down what you have to do and come back to it later. The authors of Chandler have gone one step further, and applied Allen's theories to a personal information manager (PIM) application aimed at overloaded knowledge workers.
It's best to think of Chandler as a kind of advanced to-do list. Data is entered (or imported) into Chandler as notes, which can be added to the calendar as events, emailed to others or 'starred'. Notes are grouped together into collections, which are labelled 'Now', 'Later' and 'Done' according to when you need to act on them, with any events you've added to the calendar being triaged automatically according to when they take place. There's no limit to how many collections you can make, and once you get into the habit of organising yourself in this way you find that it becomes second nature.
As well as the desktop application, the developers are responsible for the Chandler Hub, a web application that enables Chandler users to share information. Your Chandler Hub account is designed for collaboration within small groups; one of the design goals was to create a collaboration app that scales well within small organisations, unlike, say, Evolution or Outlook, which are designed to pursue the more lucrative corporate contracts.
The Chandler website - particularly the project blog - is full of documentation, reflecting the efforts that have brought Chandler this far, but the information is scattered and often hard to make sense of. If you want a more complete understanding of the principles on which Chandler operates, get down to the nearest library and take out David Allen's Getting Things Done: the Art of Stress-Free Productivity.
Much of the story of Chandler's development can be found in Scott Rosenberg's book Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software, published last year, which details the kind of problems seen on many large projects. When you've read those two, get Chandler, get organised, and spend more time working and less time worrying!
The format for educational games in Linux is pretty familiar to anyone with young children; take a selection of easy-to-play games and package them up with some educational twist, such as spelling or maths. Childsplay is along the same lines, with the exception that its focus is firmly on pre school-age children.
There are 14 games with varying levels of difficulty attached to them; our test subject John particularly liked the flashcards involving animals. Among the other games are the usual memory games involving letters, number and sounds along with a rather good PacMan spelling game, in which you have to eat the letters in the correct order to make up a word. All the games start off relatively easy; with success comes the increase in difficulty. However, there is enough here to keep kids and their parents happy for some time. In fact, it wouldn't be too far-fetched for Childsplay to make an appearance in nurseries and pre-school clubs - anything that makes learning fun for pre-schoolers can only be a good thing; the fact that it is Linux-based only serves to introduce kids to the way of the penguin at an early age!
You'll need to make sure you've got at least Python 2.5 installed and ready to go, as Childsplay uses SQLite. On top of that, you should snag PyGame and also SQLAlchemy from your distro's repositories; SQLAlchemy allows Childsplay to store results in a range of databases, including Oracle and MS SQL Server - not that your average nursery would be running enterprise software!
18. Chromium B.S.U.
Any of our hardcore readers will tell you that Linux Format magazine is the spiritual successor of Amiga Format, but it's clear even to the most sympathetic audience that Linux just doesn't have the same quantity of games. In fact, if you ever ask a Linuxhead to show you three Linux-only games that were truly impressive, don't hold your breath waiting for a response.
But while the world of multi-million pound budgets is still almost unimaginable, what free software can do is create some incredibly fun 2D shooters, and that's exactly what Chromium is. As is increasingly the case, the game is actually 3D, just carefully positioned to look 2D - this puts an extra load on your system (and makes a good 3D card mandatory), but on the flip side it does mean that laser shots, explosions, shields and other special graphical effects are scattered everywhere, making Chromium fast-paced, frantic and great fun.
The premise is a neat twist on other shooters: you're a trader trying to get supplies to some troops, and you must defend yourself by launching (and piloting) robotic fighters to keep the enemies away. As a result of this, every time an enemy gets past your fighter (ie, leaves the screen at the bottom), they can attack your trade ship directly, and you lose a life. And so begins the first round of frantic blasting: use your mouse to move your fighter, press (and pretty much hold!) the left button to fire, and make sure everything dies. In between blasting, blasting and blasting some more, you'll notice the enemies drop lots of powerups that - yes, you guessed it - let you fire with even more gusto.
Chromium relies on a cutting-edge version of FTGL, which is used to draw fonts in 3D. Unless you're lucky enough to have FTGL 2.1.3 in your package repository, you'll need to go to http://ftgl.wiki.sourceforge.net, then download it and build it yourself.
19. Color Explorer
Found a nice shade of purple you want to remember for use in your website about the Romans in Britain? Browser plugins can get the match from a web page, but to just grab the colour from any single desktop pixel you need Color Explorer.
Great for those of us who know what we like but don't always know how to get it, Color Explorer enables you to click on any area anywhere on your desktop and grab the colour, giving you its RGB (Red, Green, Blue) value, for reproducing it on any graphics application or web page.
That's not all. Using the sliders you can generate your own mixes, learning as you go. By default, RGB values are given in hexadecimal, but if you prefer base 10 it's just a click away. It works the other way too - feed a decimal or hex value into the app, and see the resulting colour.
If you'd rather look at colour charts, scroll down the left-hand selection box to pick one of a huge selection of named colours. You can even search this selection using simple regular expressions if you'd prefer a geekier approach. And if you still want more, click for a random colour.
Compare and contrast
The palette displays two colours at once, so you can alter a colour gradually, and still have the original for comparison. One interesting feature is to lock the two highlighted colours together, then alter one by moving a slider. This alters the other by the same value, so that you can explore the relation between two colours. Between this and a colour wheel to start you off on good colour matches, you can have hours of fun, whether designing an interface or planning the paint scheme for your office.
Installation is straightforward, thanks to minimal dependencies. Color Explorer needs the Tcl language and Tk toolkit (and the Xoris program to copy colours from the desktop, which is included in the source and compiled in automatically).
As well as moving up to GPL v3, this latest release improves the help and tooltip pop-ups, while retaining the basic simplicity of the interface. It's a simple tool, but one that many may find useful for a variety of purposes.
Okay, this isn't really a game. But it's not really a game in a fun way, so we are going to slip it into this section and hope that if anyone happens to notice the lack of gamey-ness they will be so overcome with joy and intrigue anyway that they will fail to start a vicious hate campaign on the Linux Format forums. Slim hope maybe, but wait - look at this! Shiny things! In 3D! Ooooh, OpenGL...
The author describes Critterding as a Petri-dish life simulation. Your little critters exist in a two dimensional grid filled with scant resources (those glowing blocks are the food - looks yummy, doesn't it?) With only their wits they must fight for survival, and hopefully spawn a new generation of blobs (gosh, it is beginning to sound like TuxRadar HQ).
This is where things get a bit more interesting. The mutations effect their behaviour and pretty soon, far from being random, their behaviour begins to look almost, well, deliberate. Intelligent even. Which it needs to be if you are going to survive in a grid of light with nothing to eat but pixels and everyone out to get you. Various environmental factors can be tinkered with, including the mutation rate and the amount of food available. Critterding requires an OpenGL-capable graphics card. The demands on the hardware are not that great if you run a small display window, but otherwise things tend to be a bit slow.
There is no recording mode (though this feature may appear in the next release), but you can save out the data used to create your little universe should you want to witness the rise and fall of civilisation over and over.
Accidentally deleted an important file? We've been there, and we feel your pain - but it doesn't happen to us. No, we're not perfect, we just installed DelSafe.
DelSafe moves deleted files to a .Trash folder on your hard drive(s), and a swift undel command brings them back. Put more technically, DelSafe overrides the original unlink, rename, open, and fopen library calls using the Linux LD_PRELOAD mechanism. As a simple renaming process it is blisteringly fast compared with moving files about.
In order to manage this a .Trash file is created at each mount point. As well as using undel, and options to recover older versions from .Trash, you can recover older versions of files directly using a browser that gives you easy batch copying, like Midnight Commander.
To install DelSafe, first run ./delsafe-0.5.0.sh and answer questions on locations and exceptions to DelSafe's protection, then run the Install script, and create the .Trash folders:
./Install delsafe_create -c
Test it is working with
touch asterix.gaul rm asterix.gaul undel asterix.gaul
You'll need to periodically compress or empty the trash. Other than that, sit back and relax, or even lend your PC to other family members, safe in the knowledge that your files can't go astray.
The internet is a heaving swamp of malodorous, malformed monstrosities masquerading as sound and serviceable software. Sometimes as we sift through the sludge though, a rare thing of beauty is unearthed. It seems crazy that it hasn't been found on TuxRadar previously, but that is a pretty big swamp out there...
DeVeDe is a Python-powered GUI that brings together a cluster of other apps you most likely already have installed, to unite them under the common banner of DVD authoring. Yes, there are other apps that have a stab at this, but DeVeDe is more than just a kludge that stands on the shoulders of some cunning code. The interface has been well thought out, the dialog boxes are sensible and easy to follow, and whatever type of media disc you are trying to create, you will find all the options you require, presented in a way that won't send you searching for online help pages or the HTML documentation.
The major requirement here is MPlayer (and Mencoder), which is used as the engine for encoding and previewing the DVD data. Pretty much every major distribution has a compatible version of MPlayer that can be used, so this shouldn't be a problem. Other dependencies are DVDAuthor, libdvdread, VCDImager and MkISOfs, as well as Python, PyGTK and PyGlade for the interface. That should pretty much do you.
Extract the archive somewhere suitable, change to the root user and run sh install.sh and the installer will take care of the rest (and flag up any missing files or libraries). Once it's installed, you just have to do a quick devede from the shell and the GUI will open. Choose your format from the list (which also includes straight DIVX/MPEG output, if you are just looking to convert) and the follow the appropriate steps. Converting the files will never be a fast operation, but DeVeDe will use multi-cores if you enable that feature.
23. Diamond Fighters
Diamonds may be forever, but yours won't be if you don't mobilise your dinky little tank and protect your base from evil marauders. Are there any nice marauders anywhere in the universe? Ones that come around and bring flowers and chocolates, and help you rearrange the furniture? No, they just want to steal your diamonds, and probably hurt you as a bonus. This game is a loose clone of the seminal NES title, Battle Tanks. Except with diamonds.
Trundle around the maze-like layout of each of the 30 levels, dispensing a little bit of explosive discouragement to the would-be invaders. Destroyed enemies leave behind happy bonuses (see, they are not so bad after all), which if accepted wisely will power up your defensive forces with better armour, speed, weapons and the like. Choosing which upgrade to use when can be a critical part of the overall strategy, as the bad guys get more numerous and more feisty as time and levels wear on. It's instantly pick-up-and-playable, and engaging enough to keep you interested through to the end.
You will need an OpenGL capable machine to run this on, but it isn't so demanding that you need a top-of-the-range card. Otherwise requirements are light. The game requires three packages installed on your machine, which include a library and the data files - the binary itself is in a separate file, which makes for easy upgrades at a later date. RPMs and Debs are available as well as the source. The author, the fantastically prolific Andru, has a few other puzzle games hosted at the same website if you enjoy what you see, and they are all of the same high quality. Of course, his website is in Russian, but hey, just think of that as another puzzle...
One of the ways in which collaboration has been helped in the open source world is by the use of wikis to enable contributors to work together and share information. There are already several wiki solutions out there, such as MediaWiki and MoinMoin, so what makes DokuWiki different from the others, and why should you consider using it?
For starters, it's aimed primarily at small groups of people who want to work together. The first inkling that you get of this is when you realise that it doesn't rely on a database back end of any kind. Yes, you read that correctly; no need to install and configure MySQL or PostgreSQL. Instead, DokuWiki uses many text files that store all the text complete with formatting codes for each page which are then parsed into formatted pages as each page is updated. Each page is cached for a performance boost; as a page is parsed, it's loaded into the cache for other users to access. When changes are made to each page, the page is then re-parsed by DokuWiki and the cache is refreshed with the new contents.
The potential for having thousands of pages refreshing at once might cause problems for a large wiki deployment, but it also means that you'll never suffer at the hands of a database corruption.
Another benefit of not having a database is that installation is simple; just upload the contents of the tarball to your PHP-enabled web server, browse to http://yoursite/install.php and answer a couple of questions. DokuWiki is now ready to create your first page.
Despite the lack of a database back-end the syntax is pretty comprehensive, covering just about everything that you'd want to do with a wiki. Although there's no wiki composition standard per se, it's worth noting that the syntax is similar enough for experienced MediaWiki users to quickly make the jump to DokuWiki, and it's this familiarity that makes the text files come into their own. Should you ever outgrow DokuWiki's considerable capabilities, it's a fairly easy task to download the text files to your local drive and copy and paste all the text into a MediaWiki window with only minor editing necessary.
The documentation provided at the DokuWiki site is extensive and well written, giving clear instructions and littered with examples throughout. There's also a rather good syntax guide available in the installation tarball which should be enough for you to start putting together your first wiki pages. On the administration front, DokuWiki provides a wealth of customisation options to choose from, as well as a comprehensive access control system allowing you to lock areas of the wiki down to certain groups of people. Furthermore, there's an extensive plugin library (over 451 at time of writing) to extend the functionality of the core installation. There's no skimping on the functionality here.
One more feature that you're likely to come across early on is the global licensing functionality that binds your pages to a specific licence - the GFDL as well as several Creative Commons licences are available to choose from. Depending on your choice, DokuWiki will automatically add a small icon at the foot of each page along with a link to the licence in question.
These days, it's not unusual to have knowledge of more than one development language, particularly when dealing with the web. But be it PHP, Perl, Ruby or any other language, it's important to be able to quickly generate code in a decent development environment. Staples Vi and Emacs are both powerful, but not everyone is suited to a text-based editor. So it's with pleasure that we introduce Editra: a Python-based GUI code editor with support for a wide range of scripting and programming languages.
As with most other code editors Editra uses a tabbed approach to its code editing area, but it's a remarkably uncluttered space. There's just a smattering of icons in the taskbar and a handful of menus to choose from. Don't let the simplicity put you off, as Editra is designed to be extensible with plugins and there are half a dozen available on its homepage. You can also download the tarball installation file from here, and binary installer packages will be available for Debian and RPM soon.
There are a couple of nice touches within Editra, such as the ability to generate HTML and Latex documents, providing you with a common template for each. There's also a keyword palette that provides access to some of the more uncommon keywords, particularly those that change depending on the file type you're working with. Also helpful is the ability to change the code highlighting behaviour, especially if you're migrating to Editra from another authoring program. The program even provides some sample code that you can select and change its formatting styles, allowing you to quickly see how each choice you make changes the way the code is coloured or highlighted. The developers acknowledge that Editra is still in early development, and it's not without flaws, but we'll be keeping an eye on this one going forward.
TuxRadar readers who do not code for a living tend to fall into one of two camps. The first often know Perl, and maybe Python, which they use for admin duties, and have some experience of C or C++ and perhaps Java. The other group are taking (or considering taking) steps in learning at least one of the 'P' elements of LAMP - a scripting language such as Ruby or PHP. Both of these groups will benefit from Eiffel.
Why? Well, there are two things you need to do to improve your programming skills: read and write lots of code in your chosen languages, and learn a new language every year. Every time you learn a new language, and start writing code in it, you're thinking in new ways about solving programming problems. This new thinking is always of benefit when you return to your familiar programming environment, as many good programmers will testify.
Bertrand Meyer's Eiffel is a pure object-oriented (OO) language, like Smalltalk, without any of the clunky, 'bolt-on' feel of using OO in Java or C++. It has organisational features such as clusters (groups of classes) that aid managing a project, particularly in teams. Unlike Smalltalk, it's statically typed, which gives it something of a Marmite factor among programmers; you either love it or you hate it. However, experience of both camps will help you, whatever your preferences.
The French way
Eiffel has recently undergone a standardisation process through Ecma (formerly the European Computer Manufacturers' Association) and ISO, involving new mechanisms and changes from assigner commands and bracket notation, to in-line agents and non-conforming inheritance. The SmartEiffel compiler, contributed to the GNU project by France's Lorraine Laboratory of Research in Information Technology and its Applications (Loria), has turned away from the Ecma standard, developing something closer to the original spirit of Eiffel. If you like Eiffel, you will probably want to try both SmartEiffel and EiffelStudio, to see which language version, as much as which IDE, suits your style.
EiffelStudio has fairly conservative dependencies. If you have a version of GTK from the last three years you're home and dry. As you can see from the annotation, it's a straightforward IDE that gives you an industry-standard interface of tabbed editor panes, directory trees and descriptions, with powerful access to object inspection and high-level design decisions. The compiler follows the Eiffel paradigm of hard failure, and will point out 90% of your bugs.
Once you're bug-free, compiling can target either C code or .NET. We stuck to C and found that the code generated was optimal enough, but you always have the option of making your own optimisations if necessary. However for most people the appeal of EiffelStudio will be at the other end, with the high-level approach to design and implementation even saving a need for intermediate UML work in some projects.
Pomme de media
What next? Eiffel is not a hugely popular language, and you have two distinct dialects thanks to the split over ISO changes, but there are other uses. The Eiffel-based Apple Media Language in the Apple Media tool is one place that some may find an unexpected use for Eiffel skills.
EiffelStudio is available on many platforms, and includes libraries for web, GUI, data, network, XML, and other usual targets for coding efforts. The 'hard fail' aspect of compiling will certainly appeal to some, and makes debugging far easier in many ways. In fact, like Smalltalk, the other pure OO language on the block, it's an interesting first language to learn, and you will find plenty of web resources to start you off.
27. Endeavour II
Afile manager is often the main interface between you and your computer. Usually you settle for the one provided by your operating system - usually Konqueror or Nautilus - and you'd need a special reason to consider changing. Well, we may have found it for you with Endeavour II.
Those eschewing the bloat of KDE and Gnome will have tried lighter file managers, but in the process will have missed out on all the little extras, like image browsers and archiving tools. Endeavour II brings you these plus a host of device and disk utility programs, with a quicker program that will run on far slimmer systems than KDE/Konqueror and Gnome/Nautilus.
As well as a two-pane tree-and-list-style browser, you get a useful image browser and viewer, a flexible archiver, drag and drop downloading (with Wget), MIME support and various tools and utilities.
Those two panes - the left showing a directory view, and the right the contents of the selected directory - will be familiar to users of Windows Explorer, as will much of the GUI, including the menus. Also in common with Windows is the recycle bin; anything deleted within Endeavour finishes up here, and can be recovered.
Packages are available for many distros on the website, along with accessory packs to do everything from controlling Iomega Zip and Jazz drives to formatting floppies from within the application.
If all this talk of old sneakerware formats is a bit retro, prepare for a bigger shock: Endeavour II uses GTK 1.2 libraries. If you're wedded to recent GUI toolkits with rounded widgets and drop shadows, this will rule the app out of your consideration, but for the target market of non-KDE/Gnome users this is not necessarily a problem. Anyway, these things are purely a matter of personal taste.
One of the best features of Endeavour II is the image browser. The left-hand pane displays thumbnails, and the right-hand pane shows a view of the selected picture. Images may be flipped and rotated in the usual ways.
Although there is no way of batch processing images in the default setup, you can download a program to do just that from the project 'Contrib' page. Also available are extra icons, a ClamAV front-end and a collection of MIME types - all of which makes up for some of the shortcomings in the default install.
Some of the default options are beginning to look a little strange - Balsa is the default mail client, for example, despite the fact the world and his mother now use Evolution. Given that Vi is the default text editor, many will want to do a little tinkering with the options before they begin to feel comfortable with Endeavour II for everyday use. That done, you'll find a responsive file manager with a number of extras that Nautilus and Konqueror users take for granted, but are missing from the lighter-weight alternatives.
Endeavour II aims to be the GUI equivalent of the text-based Midnight Commander file manager - fast, comprehensive and easy to use. For people with a lot of work to do, it meets that challenge well; spend a day working with it and see if you're one of them.
Eric is an IDE, not half a bee. If you are bashing together a simple Python script, you may be happy enough with banging out a few lines in Vi or even Kate. That's fine, but if you have a more complicated application, maybe with multiple source files and a GUI, then an IDE can really make life a lot easier. Eric, we can say, is simply the finest IDE to use for Python because of all the features it manages to cram in, both as part of the application itself and through plugins to other software such as PyLint.
Last time we looked at Eric it was tied to Qt 3.3. The latest release version now makes use of Qt 4, as well as including a huge range of bugfixes and new features. It may be overkill for a simple script, but if you need access to CVS and Subversion repositories, a class browser, unit-test interface, profiling, multithreaded trace and debugging, you need look no further. Earlier versions suffered a little in the responsiveness of the interface, but this seems to be no longer the case, so you really have no excuse. Do it!
One final point: if Ruby is more your bag than the might of the Python, Eric is still probably the best choice of IDE - it includes a Ruby interactive shell and debugging tools.
Hard drives are enormous these days and are getting bigger and cheaper all the time, so many people adopt a policy of not deleting files just in case they are needed some day - after all, the space is there, so why not use it? Of course, that all falls apart on Linux, where downloading distros and other large files is common, meaning that even a large hard drive will fill up sooner or later.
What FastDup does is try to delay the need for an upgrade by helping you spot duplicate files. And, as you can guess by the name, the app's unique selling point is its incredible speed, and we think you'll agree that it's almost impossible to conceive just how its creator managed to get some much performance into FastDup.
To get started after you've built FastDup, run the command fastdup /home/yourusername (eg /home/hudzilla). On a good computer it should be able to scan your entire directory and detect all the duplicates in under a second, but if you have a particularly large home directory you may have to wait a short while for the scan to complete.
The key to FastDup's speed is that it doesn't try to hash files to do a difference check, which means that even very large files can be whizzed through quickly. In fact, as far as we can tell, the only situation when FastDup is slow is when you have several large, identical files - these all need to be checked byte-by-byte to be sure they are identical, which is quite a resource drain. Still, the end result is that you get a list of identical files and can clean them up, so in the long run it's for the best.
Even if it does take a few minutes during its first run, FastDup will be a lot quicker the next time it searches, because it already knows which files it can ignore. If there are particular file sizes you want it to target, use the c parameter along with + (greater than), - (less than) and = (equal to), and a file size. For example, fastdup c +1g will only check files that are larger than 1GB. That's the perfect search to help you track down any big space wasters that are lurking on your hard drive and slowing down your system.
Now, we know how much you enjoy your free software, but this is not merely a melange of magnificent morsels to sate the vagaries of your gluttonous appetite. And so, in that vein, we whip the cover off the silver platter containing FET. This is nothing to do with electronics (look it up), it is to do with schools. Or actually, any other activity which requires timetabling resources and people together. FET in this case stands for Free Educational Timetabling... wait, where are you going?
Okay, so it is not of universal interest, but you should know about it anyway, for your shadowy role as a secret Linux advocate. In any case, FET is a cross-platform timetabling system that uses Qt 4.3.x for its interface. That's pretty much the only requirement, which makes it easy to build for any system. Make sure you have the latest version of Qt though, as bugs in earlier versions will prevent the build from working. Extract the archive and use the Qmake tool to create a makefile, and everything should flow smoothly from there.
The tedious part is adding all the resources. You obviously have to add teachers, classes, and classrooms, subjects to be taught and various other settings that are required. You can add limits, such as 'Mr Jones doesn't work Thursdays', or more general things like 'no teacher should teach more than 20 hours a week'. Obviously, this is not a small task for most schools, but it will be a lot faster than generating a complete timetable by hand, we can assure you. Actually, the calculation speed is pretty impressive.
In our remedial educational facility, a timetable for four teachers was turned around in under a minute. Of course you can get the output in a variety of formats and from different perspectives, so you can easily run off multiple copies for each class and teacher as appropriate - it is pretty important to check the output though. Not that the software is likely to make a mistake, but sometimes it can get a little confusing as to which group you have added to what, where, and obviously the software isn't going to double-check that teachers actually exist. Mistakes might be a little embarrassing!
What do you get if you sling a whole pile of image-editing features into one place with nary a care for human interface guidelines? Well, actually you get Gimp. But what happens if you take away all the unnecessary features and instead focus on the kinds of edits that photographers want? Well, in that case what you get is Fotoxx: it's admittedly a bit clumsy on the user interface front, but it'll wow you with its feature set and speed.
What it does
Let's start with the most important thing here: just what features does Fotoxx have? Well, it can blur, sharpen, crop, rotate, resize and de-noise your pictures. You can also flatten the brightness in cases where you have extreme brightness and extreme darkness in the same photo. You can warp, bend and stitch (great for creating panoramas or correcting warped perspectives when photographing large things) and the nice thing is that all these functions work as a live preview on your picture. But we're not done yet: Fotoxx can track your images as a gallery using tags and Exif data, it can create thumbnails and slideshows and help you calibrate your monitor to get the right colour levels. It even lets you create high dynamic range (HDR) photos by merging two or more photos together. In short, Fotoxx aims to provide a suite of photographer-friendly tools that live under one roof.
With that out of the way, the next most important thing to know is that Fotoxx runs incredibly quickly, even on older machines. On our (admittedly modern) machine, we were able to do freehand image warps and blends in real time just by dragging the mouse around, though it does take a little bit of time to figure out how to do it thanks to Fotoxx's rather unorthodox user interface. To save you the hassle of figuring it out yourself, you need to go to Edit > Select Area, click the Start button, then point and click on your image to select an area. When you're done, choose Finish and OK from the Select Area window. Now go back to Edit > Warp and click Start Warp, then click and drag in your image to perform the warp. It's a hassle, and would benefit from a toolbar with the most commonly used tools in one place, but once you get into Fotoxx's way of thinking it all becomes clear. Ish.
Tags and galleries
If you want to tag your pictures, you need to install Exiv from your package manager. If you find Exiv is split up into several packages, just install them all. Once that's done, open a picture of your choice in Fotoxx then go to Tags > Edit Tags and insert your tags one by one. Alternatively, you can click on words in the list of recently added tags to copy them into your current picture quickly.
A much faster way to view your pictures if you have a lot of them is to use the Index view - it's the first button on the toolbar, and it lets you browse to a folder and see all the pictures that are there at once (space permitting). For example, open the index, then click the Folder button (the last button) and browse to /usr/share/wallpapers. That's where many distros store their default background pictures, so you'll probably already have a gallery ready to view. In this mode, you can either browse around using Previous/Next for rows and pages or click on a picture to open it for editing. If you're working with a particularly large volume of pictures, just click on the 'Smaller' button two or three times to fit more on the screen.
The nice thing about this index mode is that it's also used for tag searches - click Tags > Search, enter the tags you want to look for (or click them from the quick list beneath), then click Search to have your results appear in the index window. This is actually done using a neat little hack - Fotoxx searches the tag database, and saves the name of each file that matches your request into .fotoxx/search_results. So, if you want to make a backup of all files using a given search tag, just do a quick search and then use that file to get at the actual filenames. Easy!
For those of you with any interest in music, it's a cert that at some time or another you've decided to have a bash at your own composition projects. Mac and Windows users have long been spoiled by the excellent Sibelius application, and now we have the excellent Frescobaldi.
This app combines the best of music notation with the best of geekiness, enabling you to code your own music and produce highly detailed scores, including multi-part and multi-instrumental orchestral works. All of it is down to the LilyPond notational system, which offers a markup language that's easy to pick up, extremely powerful and quick in use. Added into the mix is a handy utility to get your score set up, along with the requisite key and time signatures, and Frescobaldi quickly becomes a useful addition to any composer's arsenal.
You don't even have to use the Frescobaldi interface, as the code is a simple text file, meaning that you could use a simple text editor if you're away from your usual workstation and importing the text into Frescobaldi later. The program itself is somewhat like a code editor, with features such as code highlighting, grouping and other useful features designed to make your music notation work as painlessly as possible.
Scores are routed through to a PDF preview by the simple press of Ctrl+M, with the ability to link them to email or even to play them in a MIDI format to get an audio preview. Once the notation has been passed through the LilyPond parser, the preview will appear to the right of the code window for visual checking. The whole process takes a little bit of time depending on the size of your symphony, but the result is a very professional looking score that would look at home on any orchestra's music stands.
Write a symphony
You're not limited to working on one file at a time either, as Frescobaldi supports including other LilyPond files as part of a larger project, making it easy to produce scores from large numbers of individual parts. Simply reference each individual file as an include statement within the application to make sure that Frescobaldi and LilyPond include them while creating the score.
Despite the relative simplicity of the interface, Frescobaldi is a powerful application that opens up another strong use case for KDE and Linux.
One of the most common complaints that Linux system administrators hear from their Windows counterparts involves the relative dearth of GUI tools that can be used to administer Linux systems. For most of us it's a complete non-issue, as we've long become familiar with the intricacies of the configuration files found under /etc. However, we're happy to report that GAdmin-Rsync is opening a new front in the campaign to bring GUI goodness to the world of system administration.
Essentially GAdmin-Rsync is a GUI wrapper for the ever-popular rsync command, also binding in support for scp, ssh and backing up to and from remote servers. Setup is very straight-forward, and there are next to no dependencies other than rsync itself. Installation uses a script to simplify things over and above the usual configure && make && make install; it's not long before you're ready to go.
GAdmin-Rsync takes you through your first backup job by asking you a set of wizard-based questions, which are pretty straightforward. From there, you can modify the timings within the Cron job, as well as adding other backup sets. What's particularly special about GAdmin-Rsync is the relative ease in which it enables you to set up local-to-remote and remote-to-local backups, taking care of SSH keys and other sometimes bewildering technologies. In fact, within minutes of installing GAdmin-Rsync on our designated central backup server, we were able to set up remote backup jobs for all our Linux machines and feel confident that GAdmin-Rsync had them covered. Yes, we know that we could do all of this with rsync and by manually editing the crontab, but there's something to be said for having a tool that centralises a lot of the work into one place.
Just when everyone thought the BASIC programming language was finally dead, Gambas came along and proved us all wrong. And it did so with style: what was originally a fairly simple GUI designer with a few custom libraries has blossomed into one of the finest development environments in the free software world - the Gambas team certainly has a lot to be proud of.
The latest release of Gambas introduces some pretty incredible new features, which shows that the pace of development remains as fast as ever. Top of the list this time are Gambas Server Pages, which are executable CGI scripts that follow the lead of Microsoft's ASP. It's not a clone by any means, and it's definitely very experimental at this time around, but it finally means that Gambas developers can start to compete in the same world as the likes of PHP and Perl.
If you've never tried it before, please, please do: it supports Qt, GTK, SDL and CGI out of the box. It also supports XML, OpenGL, networking, regular expressions and i18n, again, straight out of the box.
Gambas is, by a huge margin, the easiest way to dip your toe into open source coding, and we simply can't recommend it highly enough - Gambas 2.9 has successfully continued to make the best even better.
For many gamers, the Game Boy and Game Boy Colour handheld consoles are long dead. But our Mike Saunders was never one to care about that sort of thing - he already owns a Game Gear and a Virtual Boy, so going back to the olive and black of Game Boy isn't such a large leap. In fact, he's so close to class 8-bit mentality that he spent some time creating his own Game Boy game in Z80 assembly. This gave us the perfect excuse to mention Gambatte - it's a super-cool little Game Boy emulator that focuses on accurate emulation.
But it's not the accuracy that you notice first, because Gambatte's secret weapon is its Qt GUI. Gnuboy - the resident ruler of the Game Boy emulation world - relies on command-line parameters for everything. But in Gambatte all the configuration options are sensibly arranged in the menu bar. We downloaded some public domain Game Boy ROMs from www.pdroms.net and tried them out without any problems. What's more, if you change the video filter to 'MaxSt's Hq3x' and enable bilinear filtering, you can stretch the window so it's nice and large. You'll be surprised how good it looks, particularly when you remember that the Game Boy's screen resolution is just 160x144.
Play the easy way
Like any good emulator, Gambatte enables you to load and save RAM states for your games as you play them. In practice this means you can save your game as often as you want and whenever you want, and similarly you can reload your game as needed. It's this kind of feature that made Super Mario Bros: The Lost Levels possible for mortals to complete on a SNES emulator, so you'll definitely find it useful in Gambatte. You'll also be glad to know that Gambatte is able to read ROMs stored inside Zip files, which should save you a little hard drive space - Game Boy games aren't really that big!
Imagine The Poseidon Adventure. Now, remove mental images of Pamela Sue Martin removing her skirt and Gene Hackman plunging into a pool of fire and what are you left with? A bunch of people trying to climb up something quickly. And so it is with GNUjump: it is, if you like, a combination of the travelator from the Gladiators TV series and Mario World. Jump from platform ever upwards before you scroll off the bottom of the screen. The task is Sisyphean in nature, as your reward for being any good at all is to watch the platforms plunge ever faster into oblivion, requiring more frantic salmon-like leaps to safety.
Oh, and did we mention that the little guy who has to do all the jumping seems to have accidentally sprayed his feet with Teflon before he set off? Landing on a platform is reasonably easy, but staying on it is another matter. At least the graphics are bright and sparkly and well animated. Many a time you may watch yourself plunging into the abyss, yet be comforted by the pleasing aesthethics of the geometric vapour trail left behind. Which may be the only consolation you get. The game is hard and relentless. Our top tips are never to stop, keep leaping and if you miss, there is always the chance you might land on a lower platform. If you pause to try and work out some sort of strategy, you'll end up Hovis. So just keep going. Our high score? Erm, well, you should really compete against yourself. We wouldn't want to dampen your enjoyment...
The game uses the SDL libraries, so make sure you have them and the relevant headers installed before you try to compile. There don't seem to be any packages available for GNUjump, so it is very much a case of rolling your own, but the code seems to be in good shape and shouldn't give you too much difficulty.
37. Goblin Hack
We've got a particularly soft spot for role-playing games, mainly because they never play quite the same each time; different abilities and power ups in every game influence our next steps, making each adventure unique and increasing the lifespan of the game. Goblin Hack threatens to pull us into the dungeon once more, as it provides a top-down role-playing experience with no fewer than 18 different classes of hero.
Having so many different types of hero is not Goblin Hack's primary selling point though. Oh no, this is reserved for the graphics, which separate Goblin Hack from anything else we've seen. You see, pretty much all of the graphics within the game area are made of ASCII characters, including the dungeon and all its inhabitants.
Depending on which way you're facing, you'll see the light increase and as you wander round the rooms lighten as you enter and darken when you leave. There are a host of objects that you can collect as you make your way through the dungeon, and you can also learn spells as you progress.
Goblin Hack is distributed in a binary allowing easy installation, even going so far as to create a desktop icon for you to launch the game with. Admittedly the graphics won't be to everyone's taste, but we'd recommend patience and persistence in order to get into the game - once you've got past the first hour or two, you'll be in ASCII heaven.
Most people probably don't have any use for remote desktop connections; most of the time their computers are linked to a monitor, keyboard and mouse, so all they have to do is walk up to them to use them. For sysadmins, however, they are an absolute necessity, offering the ability to remotely connect to and therefore manage a system that is located in a different room, office or even country.
There are a handful of remote desktop clients available for Linux, which can in turn give you access via XDMCP for remote X connections, RDP for remote Windows connections and VNC. However, what sets GRDC apart is its flexibility. Supporting both VNC and RDP, it will work on a netbook or other small-screened computer quite easily even if you're working in full-screen mode. It does this by scrolling the screen around within the confines of the local screen, making it a must-have for any sysadmins who want to use their trusty Asus Eee PC or Acer Aspire One away from their desk.
GRDC enables you to build a list of commonly used remote computers, which you can then group into more meaningful batches such as web servers, file servers or client desktops. Not only that, but when any of the connections are active in full-screen mode, they act as a single application, enabling you to switch to another of your virtual desktops and carry on doing something else while it's running in full-screen mode.
The traditional Alt+Tab combination to switch applications is automatically relayed back to the local computer, letting you quickly switch apps without getting caught up with the remote desktop and any applications that are running on it. This means that your remote desktop experience doesn't get in the way of your being productive on your local machine. There's also a rather useful toolbar that becomes available while you're working in full-screen mode, making your life easier by auto-hiding while you're working and re-appearing when you move your mouse to the top of the screen.
You'll no doubt have seen our review of CrunchBang Linux, and it was that distro that formally introduced us to Gwibber. We're glad it did, as we have subscriptions for pretty much all of the major social networking sites and as such it can take half a day to make one status update across all the sites.
With Gwibber things are so much easier, and it comes with a purty interface to boot, as well as connectivity to no less than ten different services as well as having the ability to pick up Atom and RSS feeds from whatever site you want to subscribe to.
This brave new web 2.0 world is all about communication and getting your message out quickly. Gwibber integrates very well with Twitter, and you may very well question the value of sending short messages telling the world about just how your day is going. However, when you have thousands of users sending tweets (as they are known) on what is happening, and also posting links to interesting sites and breaking news, it can quickly become very addictive.
One of the biggest pains with social network status sites is that space is limited - Twitter itself restricts your tweets to a maximum of 140 characters which can soon be gobbled up by some content-management possessed URLs. Fortunately, Gwibber can make use of the 'is.gd' URL shortening service to automatically (when you're cutting and pasting) shorten your nasty long URL into a much shorter and web 2.0-friendlier link better suited for working with the limitations imposed on your posting.
40. Holotz's Castle
Back when we were lads, the venerable Sinclair Spectrum reigned supreme. We owned many games for this hallowed computer including Renegade, Zub and Kickstart 2. But perhaps the one game that made the biggest impression on us at the time was Jet Set Willy, that immortal platform game that involved a character roaming around a castle trying to pick up all the pieces of a party gone horribly wrong. We spent many hours slaving away, trying to beat all the myriad monsters and get all the items so we could get Willy to bed.
It was a simple game from a simple time, and it's one that we were reminded of when we stumbled across Holotz's Castle. In a similar vein to Jet Set Willy, you play the part of two characters, Ybelle and Ludar, that are looking to try to escape from Holotz's Castle. It's a straightforward platform game, where you have to run around each screen collecting keys and other magical objects. Once you've completed the screen you have to jump into the magical stream to move forward into the next room.
You can move left and right, as well as jumping and climbing up and down ladders, making it a very easy game to get into. The graphics aren't likely to win any awards for visual sheen, but the game is addictive and you feel a sense of triumph at every screen you complete. Of course the screens get more and more difficult as the game goes on, but there's enough to keep you entertained for a couple of hours at least.
If you reach the end of the levels then you'll be pleased to know that the developer has gone on to build additional levels to tax you further. Simplicity is the key to Holotz's Castle, and we had heaps of retrostalgic fun playing it.
This application makes a lot more sense when pronounced correctly: it's not "Ig Noo It", it's "Eye Gnu It", as in "I knew it!", and that's what you'll invariably find yourself saying as you while away the hours learning through repetition. You see, Ignuit is a flashcard app: you write something on one side of a virtual card, then turn it over and write something else on the other side. The idea seems simple, but it's a cracking way to learn all sorts of information - new language vocabulary is the most common use, but if you ever want to challenge Mike Saunders' freakish ability to name the capital city of nearly every country in the world, that works just as well.
Don't be fooled by the comedy version number; we think that's just developer modesty creeping through, because Ignuit is already stable, featureful and well-designed to take advantage of the Gnome user interface guidelines. That said, you might find it takes a little time to learn because many of the buttons don't include tooltips - if you want to know what something does, you just need to click it and figure it out.
The core of the app is adding and managing words, and here Ignuit allows you limited HTML-like markup to spice up your formatting. There's no image support yet (maybe for 0.0.8.0.1?), but you can import your text from CSV, jMemorize, KVocTrain and various other file formats, so at least it's easy to make the switch.
The Leitner quiz
Behind the scenes, however, Ignuit is more than just a neatly presented spreadsheet. The reason for this is because it builds upon the famous Leitner system for arranging its cards. You may remember this from school - using this system, all your words start in the first box; when you get one correct, it moves up a box, and thus gets seen less frequently. After a few weeks of learning, the words you're worst at recalling are still in the first box (and are seen frequently) while the words you're best at are in box eight (and are seen very rarely indeed).
Best of all, Ignuit gives you the option to alternate between the fronts (prompts) and backs (answers) of cards, which is a great way to make your brain hurt while getting a nice feeling of accomplishment.
42. Joe's Own Editor
Joe's Own Editor is 20 years old this year and still kicking ass. If you've never used it before, Joe was designed to follow the lead of a truly ancient word processor called WordStar, but nowadays all you really need to know is that, by default, all its shortcuts start with the Control key. When you start it up, you should immediately notice one of Joe's coolest features; the built-in documentation is never far away. In fact, Joe always tells you how to get to the basic instructions - just press Ctrl+K then H to get started. The basic controls are Ctrl+K X to quit after saving, Ctrl+C to quit without saving, Ctrl+K F to find text and Ctrl+K L to jump to a specific line number.
If you've used other editors in the past, you might find it easiest to use Joe in emulation mode first. For example, running the jmacs command will start Joe in Emacs emulation mode, jstar runs it in WordStar mode, and jpico runs it in Pico mode (think Nano, just slightly re-arranged). For the most part this just remaps the keys and monkeys with the UI a little, but it's enough to make the switch to Joe quick and painless.
Great for coders
Although Joe is by no means aimed solely at programmers, the 3.0 series has introduced lots of programmer-friendly features such as syntax highlighting, Unicode support and more.
Having Unicode in there means you can mix and match English with Chinese or other languages straight from the command line. This makes Joe a truly international editor. What's more, it's just 400k on your system once you've used the strip command on the binary, so it can hardly be called bloatware; its only requirement is libc, the most basic of all dependencies, which means it will compile on every Linux box out there.
But undoubtedly our favourite feature of Joe is its Ctrl+T menu, which brings up instant access to some of the core options for the editor - the kinds of things you know other editors can do, but you haven't the time or patience to find out exactly how to make them do it. With Joe, you can press Ctrl+T to modify the word wrap, auto-indent, margins, tab widths, syntax highlighting, line numbers and more, with no actual hand-editing of configuration files required.
Using a computer is often like travelling in time. You get so wrapped up in concentrating on that Python code, reading your newsfeeds or sending long whingy emails to people apologising for missing appointments because you were too busy writing long whinging emails to other people. KAlarm can't force you to do things when you are supposed to, at least not until the USB electro-shock device has a decent driver, but it can at least point out your temporal deficiencies in a friendly manner.
This new release of KAlarm adds some sought-after features that have been in development for the last two years, so if you have tried KAlarm in the past, or suspect that you might benefit from it, now is a good time to check it out. As well as being a simple alarm system that pops up reminders, KAlarm can also send out emails or run scripts at predefined times. Sure, you could set up your own Cron task to do the same, but this is slightly easier, and a bit more flexible.
One of the best things about KAlarm is the way that it integrates with other KDE apps, so it can import birthdays from KAddressbook for example, or export alarms to KOrganizer. You can easily add integration with other applications too. There is a DCOP interface, and you can always just use command line scripts to add new events - even something as simple as letting you know that some background task has finished.
Obviously, you'll need KDE to run KAlarm, or at least the KDE libraries. Fortunately the requirements aren't so horribly 'now' as a lot of open source software. If you have KDE 3.3 or later on your desktop, you will be fine. You can wait for packages to appear for your own distro, but to be honest a lot of distros are a bit slow in adding it.
Debian packages are currently available, but it isn't too tricky to build yourself, and it isn't going to cause any trouble if you do. All you really need to make sure is that you have the relevant KDE headers installed (which actual package these are in depends on your distribution, but you should find them in KDElibs-devel, or KDE-sdk or something similar. Compiling is a simple matter of the oh-so-familiar ./configure && make && make install. If your system is running KDE, all the KDE paths will be set from environment variables, so it is really a breeze. Did I really just write that?
Children. Bless them. If you have any, you will no doubt be familiar how no child protection device seems to be sufficient. They will happily laugh as they bypass whatever hideously complicated plastic contraption you have placed on the fridge or the drinks cabinet before pouring your favourite malt whiskey all over the carpet. Or maybe that's just us.
One place you can get the better of them is on the computer though. While obviously you need to train the next generation and set them on the true path of Unix, apparently too much computer use can be bad for them (I'm sure it never did any of us any harm). KChildlock is a simple daemon/application that can bring the semblance of power and control back to your life. Run as root (or add the daemon as a service) and it allows access control for up to three specific users.
The granularity of the control is not excessive, but detailed enough. You can set a curfew time for each day by blocking off certain times from computer use. There is also the possibility of setting a maximum usage allowance per day, just to make sure their eyes don't get square. Of course, this only controls timed access to the computer, it has no features to control what kids actually do on the computer - if they spend the allotted time working out how to gain root access to your files, it's rather up to you to take more draconian measures.
Setting the access privileges is as simple as running the client program and choosing Configure from the three options available. The client also gives you the option to start or stop the service manually. As it is built on KDE 3 libraries, you shouldn't have any trouble compiling or installing it on any reasonable distro. And remember, KChildlock isn't just for kids you can control any users' access to the system. Hahah! Take that you whiskey-stealing layabouts.
Is your desktop a mess? Is it filled with empty crisp packets, long-forgotten reminders, pens that stopped working on the way back from the stationery cupboard? Do new life forms emerge from the dust and finger-goo of your keyboard, evolve (barely) and go on to become disc editors of Linux magazines? Well, this software will do nothing for you. However, it will take a fair stab at cleaning up the desktop on your computer. Windows has a utility like this built in to the OS (Disk Clean), and although it pains us to say it, it can sometimes be handy. This is the KDE take on that application - it roots out forgotten files (are yours all called plop too?) orphaned symlinks and cached objects and then deletes them if that's what you want.
It is a brave person indeed who will casually delete whole groups of files without checking them out, so you can browse through the list first and deselect any of the rubbish that you might actually want to keep. Kleansweep will run either as a user (in which case you are effectively restricted to your home folder) or as root, although obvious precautions should be taken in the latter case. Mind you, this is often the only way to get rid of a load of cruft that clogs up various temporary folders, so do it, but cross your fingers and be extra specially careful.
Files suggested for deletion appear in a tabbed view so you can easily switch between them. For us, the most useful was the unused thumbnails section. Select this and you will find countless thumbnails for downloaded images or photos from your camera that easily consume more disk space than they are worth. Chuck them out mercilessly: they can easily be generated again next time you browse the folder! KleanSweep runs on KDE 3.3 libraries, so it should compile easily for most distros, and there may even be a package available for your favourite. It is not complicated to use, and it can make a real difference to the smooth running of your desktop, if only because you won't have to sift through so many files to find the one you need any more. Give it a go...
Editing text. Well, maybe it isn't something you care to think about too much, but it is something we all do, whether we want to admit it or not. A few lines of a configuration file there, a letter to Father Christmas there, or maybe just copying out a recipe from the interweb. Of course, real men use Vi, but maybe you are not a real man. Maybe you are a woman, or a fake man - who knows?
Or maybe you just want something you can cut and paste into easily without worrying about the formatting getting all screwed up or the fonts causing craziness to happen. Whatever the occasion, it is nice to know that there is a small, lightweight text editor that will do the job for you. There aren't many useful things that will load in less that 100k these days, but Leafpad is one of them. As a GTK app it obviously relies on the GTK libraries for all the user interface shenanigans, so that cuts down on bloat, assuming that you have GTK installed (oh go on, unless you're running a headless server you are bound to have it).
It's probably is significant that one of the most popular tools on the Windows platform is Notepad. Leafpad is very much an attempt to serve a similar simplistic text need for the Linux environment. you won't find any spellcheckers and syntax highlighting, just good, honest and super fast cut, paste, copy and, erm, typing (your speed may vary depending on skill/finger length). There's a very basic search facility, and you can turn on or off indenting and word wrap. But that's it! OK, you can have line numbers if you want. Uh-huh, you can change the font too. But apart from that, it is minimal. Gosh, in the time you have spent reading this you could have installed it and been using it already. Did we mention that it's really fast?
January 10, 2009 Found this promising journal application on the interweb called Lifeograph. Looks like it might be the place for me to store all my evil plans without my enemies ever being able to access them. After a little bit of time grappling with the dependencies (gtkmm, gconfmm and gcrypt are required) I finally manage to successfully compile and execute Lifeograph.
The interface looks simple enough - a new entry is created for every day, and all I have to do is let my brain unload my thoughts and worries on to its blank canvas.
January 11, 2009 Realised that I wasn't being prompted for any encryption key or even a password. Some hunting around revealed the option to change my password; with some hope I click this option and lo and behold my journal is secure. Now onwards with the plotting!
January 13, 2009 Am starting to get into the swing of things; Lifeograph automatically takes the first line of each day's entry as the title, so must be careful what I put in here in case I'm ever shoulder-surfed. I also discover a useful feature; if I leave my diary open for whatever reason (the doorbell rings or the coffee pot calls) it automatically logs out to keep my diary secure.
January 15, 2009 Five days in and Lifeograph is becoming my virtual sounding board to help me get things off my chest. Am amazed at its ability to put my mind at ease; it must be the minimalist design that doesn't get in the way. It's like blogging, but with only one reader: Me!
January 20, 2009 Now that I'm starting to get more than a handful of entries, I'm finding the filter option pretty useful. The only problem is that it only filters on the entry title, and not the the body text. A quick look at the project home page shows that this feature is planned for inclusion in a future release, along with several wiki-like features. I begin to wonder whether this might start to end up like Tomboy, allowing crosslinking between entries. Looking forward to seeing where this little application goes.
Liferea (Linux Feed Reader) is a simple solution to gathering news from all those blogs, podcasts, and every other site that you don't have time to keep up with.
RSS and Atom feeds are a common way for websites to push their updates to your attention, be they news items, blog posts or whatever - provided you have a feed reader, of course. Liferea does the job for you in a quick and fuss-free fashion.
It's a GTK app, and fits in well with a Gnome environment, but there's no reason not to use it on a KDE desktop as an alternative to Akregator - particularly if you use Firefox rather than Konqueror. It has few dependencies and is easy to install, though your package manager will probably do the job for you, as Ubuntu did for us.
Browse on through
Liferea shows news with an embedded browser component (see screenshot, right), but can be configured to open any browser you prefer. Browser integration works both ways, with Firefox subscribing you to feeds if you select Feed Subscription in the Firefox preferences options. In Epiphany, the Gnome environment's default browser, the link is automatic.
The interface is easy via the menu or the optional toolbar. New Subscription allows you to enter a full URL for a feed, or you can just pass Liferea the website's URL and let it find the feed for you. Feeds are viewed in the three-pane interface beloved of email clients everywhere.
Clicking on a parent folder in the left-hand pane opens a list of subfolders or subscribed feeds, and in the Preferences box you can choose to view every feed in the folder amalgamated together. This can get messy, but you can reduce clutter by selecting the option to hide messages you've already read. Other options control the number of feeds you save and the frequency with which Liferea updates, and you can even select which social bookmarking site Liferea uses when you right-click bookmark a link in a story.
Virtual folders - like those in Evolution - are made from search terms. This enables permanent searches to be viewed as easily as any fixed collection of feeds, and is great for tracking progress of your favourite project, or an interesting news item or hot topic in the free software community.
Liferea has come on in leaps and bounds in recent years. There are many other feed aggregators around, but none have the speed, simplicity, and advanced filtering features of Liferea.
For many server admins, Apache is the web. For most of the remainder, it's Microsoft's Internet Information Services. But freedom of choice isn't limited to what text editor or desktop environment you use, so it's no surprise there's a huge range of alternative web servers designed to solve different kinds of problems. For Lighttpd - as you might guess by the name - the goal is to minimise system resource usage so that it can run on smaller systems or generally take up less time on your server.
Now, don't get us wrong: Apache is hardly bloatware, but most distros do ship with a hefty collection of modules and configuration options that make it a little less than lean. Lighttpd throws away some of the most memory-hungry features, leaving you with a stripped down server that's perfect for static web pages. Of course, if you want to do more, Lighttpd is ready with FastCGI, SSL, WebDAV and even support for PHP and Perl.
If you're thinking you don't really want to trust your web server to anything less rock solid than Apache, we'll let you into a secret: YouTube and Wikipedia both rely extensively on Lighttpd, so if it's good enough for them then it should take whatever you throw at it!
Back in a truly ancient edition of Linux Format magazine, Mike selected LMMS as the Hottest Pick that issue and we're glad to say that the project has made significant progress since that point. With a release just before Christmas 2008, we thought it was high time to dust off LMMS as see what has been achieved in the last three years.
Sound support has been extended from the standard OSS framework and ALSA, to encompass Jack and also SDL in a move that's designed to increase the flexibility of LMMS to meet your sound requirements. A fair amount of time and effort has gone into usability tweaks, including enhancing the user interface with such things as the ability to make it easier to mute and isolate individual tracks.
As with the earlier 0.1.1 release, LMMS comes complete with a large number of bundled samples, and the community seems to have risen to the challenge of providing samples and projects for you to experiment with. It's always good to return to a project that has moved on, and if you're interested in creating music based on samples then we'd highly recommend catching up with LMMS yourself.