100 open source gems - part 2
If you haven't already seen the first part of our 100 open source gems, read it now - and here's the next 50 great apps!
If you ever played Warlords II, you'll be at home here. If not, you'll just have to learn. Lordsawar is a turn-based strategy-cum-RPG game where up to eight players compete to control cities and eventually the known universe. More cities means more money, and more money means more soldiers. It's a familiar enough sort of scenario, but it is pursued with some zeal and finesse here, in terms of the mechanics if not necessarily in the splendour of the graphics.
As mentioned, there are eight teams to choose from, each of which can be controlled by the player or by the artificial intelligence (or they can be turned off, but that rather unbalances the maps sometimes). One of the recent additions to the code is networked play, so you can find some other lords out there in the ether to compete against. There are numerous units to equip and deploy, all with a slight fantasy bent. The simplest mission though is to conquer and subdue the defeated populace of city after city until you can amass enough fighting units to eliminate one of your competitors. New units can be created in cities that have the facility to make them, and if they don't, you can spend some of your thieved golden coins to construct such a thing.
Using the default values, an average game should take about an hour to play, but you can always adjust the size of the map to make things go a bit quicker if you like. The AI opponent isn't that tough to be honest, even on the Hard setting - they seem to lack any sort of overarching strategy. Other elements of the AI seem a bit wonky - pathfinding could be tidied up a lot for a start. But still, this is a beta release, so don't expect a hassle-free playing experience.
It probably isn't exactly every day you slump back in your armchair and think, "Gosh, do you know what... the world really, really, REALLY needs another multi-language IDE". Maybe you only do that on alternate Thursdays. Well, in case you are actually reading this on a Thursday, hurrah! Your dreams have come true! Here is another multi-language IDE!
Luke-SDK (use the source Luke, ho, ho, ho) is a Python/WXWidgets-powered IDE that manages to pack a lot of features into a very small overhead. It might not be Eclipse, but on the other hand, what it does have going for it is that it is not Eclipse - there are no huge overheads, no bloated Java runtimes to load, etc, etc.
The usual features apply: class browser, snap view to errors, syntax checking, version control, searching... one of the best things is that it is quite easy to customise the IDE to work the way you want to. Honestly, this is often the most important thing. There are plenty of people who develop using seemingly 'primitive' tools like Vim, simply because it is easy to get it to do the things you want. Luke-SDK may be some sort of middle ground that gives you the convenience of a nimble GUI without the bloat of something like Eclipse.
One of the neatest features is the live refresh. Luke-SDK has been built to support 'Agile' development, which basically means that it is easy to update and run your software continuously. This also has some neat side effects if you want to open, edit or browse system files that are frequently updated, like log files...
There are no dependencies other than an up-to-date Python install (2.5+) and the latest WXPython/WXWidgets. There is even a handy installer which will make trying it out a breeze. Don't wait until Thursday week... give it a go now!
You might think file compression is a bit of a solved problem by now: tar.gz is pretty much everywhere on Linux and Windows users are comfortable with .zip, but the curious thing is that better alternatives have been around for a long time and yet people don't seem to care.
For Linux, the better alternative is bzip2 - it's supported everywhere and has vastly better compression. But its downside is that it's also vastly slower than Gzip, which makes it impractical for large files even if you have an exceedingly fast computer. Still, for anything under 100MB or so, it's no great hassle waiting for bzip2 to finish, so what you really want is maximum space savings. And that's where Lzip comes in: it's a new compression program built around the LZMA compression algorithm, but with the added twist of sharing Bzip's command-line parameters, meaning that the switch from Bzip to Lzip is hassle-free.
If LZMA seems like four random letters to you, let us enlighten you: this new algorithm is designed to have even better compression than Bzip2 while having faster decompression speed. This is a particularly important combination, because it means that distros such as Ubuntu can use it to cram more packages on to its CDs while also having faster installation, thanks to the speedy decompression. To pay for this incredible compression, Lzip's downside is its compression speed: it takes much longer to compress than Bzip2, so much so that it's actually impractical to use it on files over 1GB unless you have a supercomputer.
To give you an idea of how Lzip stacks up against Gzip and Bzip2, we put it through its paces using the latest PHP sourcecode tarball. This was one 64MB file containing all the source code for PHP 5.2.6, and we tested it on a quad-core 2.66GHz Core 2 CPU with 4GB RAM:
Time to compress (seconds): Gzip: 2.612; Bzip2: 14.455; Lzip: 57.505
Time to decompress (seconds): Gzip: 0.542; Bzip2: 2.322; Lzip: 1.432
Size after compression (kilobytes): Gzip: 11924; Bzip2: 9364; Lzip: 7800
From those numbers you can see that Lzip managed to come in about 20% smaller than Bzip2 even while being able to decompress over 33% faster. But the compression downside is clear: use Lzip for archiving and for distribution, but never for quick data transfers.
If you're like us, Getting Things Done isn't enough - you need to Get Things Done With Style, and that's exactly what Makagiga does. Sure, you can get all its functionality as separate programs: an RSS reader, to-do list manager, a note pad, a calendar, an image viewer, and so on, but the point of Makagiga is that all these things are brought together with a slim and light user interface, searchable tagging and the ability to back up and restore everything in just a few clicks.
If that sounds great, steel yourself for the bad news: Makagiga is built on Java. But before you run off and beat your breast in rage, you should know that the latest round of distros usually include OpenJDK in their repositories, which is a fully open source version of Java with Sun's blessing. So, a few quick clicks in your package manager should have Java installed in no time, after which Makagiga Just Works.
Finding your feet
Although Makagiga gets you started with a few example blog feeds, the best place to start is with the New button: this lets you add a to-do list, a notepad, or something else more interesting. When you create a new to-do list, it automatically fills the main area of the screen so you can get started using it straight away. You'll also notice it appears in a breadcrumb list next to the menu bar so that you can easily navigate around a more complicated project.
Although it's nice to be able to have all your personal data stored in one place, what makes Makagiga particularly helpful is that it stores the same types of metadata about all your information. So, whether it's a to-do list, a note pad or an image, Makagiga lets you give it a star rating, an icon and a list of tags to help you find it later. For important things, one click of the Bookmark button will place an item in the Bookmarks menu for easy access, and for particularly critical things you can give the Lock button a quick click to make them read-only.
Surprisingly, there's one more feature that's even better than the others we've mentioned so far, and that's the ability to create links between documents. No, we don't mean filename-based links in the vein of HTML - Makagiga's links enable you to tie any item to any other item using a simple menu, and the links don't get broken if you rename either of the items.
The only thing that Makagiga really lacks is a bit of polish: we'd like to be able to reorder the tabs, we'd prefer the menu bars to be combined so they use up less screen space, and, just for the sake of perfection, we'd like to see the versioning system have more prominence, simply because it's just too darn cool to be hidden away like it is.
Misfit Model 3D (or MM3D) is a rather useful 3D modelling application. Yes, there are plenty of those on Linux, but there aren't plenty of good ones. And the really good ones tend to be so complex that it would take a lifetime of lunchtimes to learn them.
The first thing that needs to be said about this development release version though is that compiling it seems to be a great pain. On Linux it likes to use Qt and OpenGL, which can cause more than a few problems on some distributions. We are telling you this because it may be necessary to add a few switches to the configure command to point to the right place for Qt, and other things. You will also need Lua and some sort of OpenGL library, whether that is the Mesa software rendering library or an OpenGL implementation for your graphics card. If it gets too painful, MM3D is also quite widely available in repositories, and the packages are updated frequently, so you may find you can grab it for Fedora, Ubuntu et al.
MM3D has a range of primitives that you can use to build your models, and the familiar four-way split screen makes it pretty easy to build simple objects fairly quickly. Fine control of the vertices isn't great - basic transformations are available, like scale, rotate, move and extrude, but you won't find anything too fancy. This is because MM3D is really geared towards low-polygon count simple models designed for use in 3D games rather than creating characters for Toy Story X.
One small snag that may throw your plans of constructing a Quake-beater: there are no models included as standard. Worse than that, although MM3D will happily export in a number of formats, it isn't quite so great at importing them. There is a plugin that will import 3DStudio files, so if you want to get a head start with some free models, it would be best to install that from the MM3D website, then find some free 3D models (www.renderosity.com has everything from cartoon characters to complete houses full of furniture in the free download section).
As MM3D is aimed at games work, there is no built-in renderer at all. You can get a fair idea of scenes in the perspective OpenGL preview window, but if you want a full-size render, you'll need to do some jiggery pokery with POVRay. Don't get the idea that MM3D isn't great - it is! Just be aware of the limitations before you start...
For most readers, an MP3 package would normally have a nice graphical front-end, with play/pause, forward and back buttons along with some other GUI niceties. We've been following mpg123 for some time, and have always been impressed by what we found. But recent releases have brought with them a large number of bugs have been fixed to make it even more efficient at what it does.
Primarily of use for developers who are looking to embed MP3 decoding within their applications, it can also have some minor plus points for desktop users who might want to recycle that old machine to function as a basic audio player; it's extraordinarily easy on your system and takes advantage of any processor technology it can find, even including such dinosaurs as MMX. Rapid development continues on this venerable player, something which is evident by the increasing size of the software package. You'll need to snag libasound2 and libasound2-dev from your distro's repositories before compiling this intriguing program.
You don't have to be a super geek or have a burning desire to seem like one to want to use the command line. The Bash shell is great! you can do nearly everything you want to there without loads of time-wasting button clicking and silly menus to get in your way. It's a wonder the idea of a GUI desktop took off at all. Those guys at Xerox must have been on something. Anyhow, just because you need to use the shell doesn't mean you have to put up with ropey applications written by bearded hippies in the 60s. No, you can run the very latest apps coded by bearded 21st century hippies! Anyhow, FTP is a pretty lame FTP client - you need NCFTP.
Progress bars, filename completion, auto-resume of downloads, proper forwarding through proxies - don't go without all the features you would expect from a desktop app. NCFTP has been in continual development since 1991, and also works on Windows and OS X, so it can be a really useful tool to get to know. The latest release fixes a few bugs and includes some workarounds for different types of servers that don't play nicely. Incidentally, the same developers also produce NCFTPD, a fully featured server.
You may be momentarily forgiven for wondering under what dark sun and twisted sky the idea of fusing a calendar and a file manager emerged. But actually, it makes a lot of sense. If you're like us, it is likely that you might have a lot of files called 'foo' or 'bar', but you won't have that many of them created last Thursday. That's where Nemo comes in. The first time you run the software it will set about creating an index of your files. After a few minutes, you'll see a calendar view of your life so far, punctuated by every file you have created or downloaded. Depressing isn't it. But also very useful, you'll have to agree.
While most search tools can be prompted to return lists of files in date order, it is somehow a lot easier to find them when they are organised in a calendar view - that is, unless you have a huge number of files, in which case not much is going to help you at all - although there are tools and tweakable options to refine your search even further. Select the relevant file type from the panel on the left to narrow down the number of results returned, or if you get really stuck, or have a better idea of what you are looking for, you can always enter a keyword to search on filenames (searching on the content wouldn't work for us, but that may be down to Beagle playing up on our KDE 4 system, try it yourself).
In terms of dependencies, there are quite a few for this little beast. You will need to have Gnome installed, as well as Mono, Cairo and Beagle, among other things - but trust us, if you install this set, all the rest will probably pop in as dependencies.
Our only gripe about this application is that in order to make it useful (for which you should read "up to date"), it needs to be constantly running and indexing files. Okay, there isn't an easy way around this. You can minimise it though, but it still chews up space and processor time while you are not really using it. Still, nothing compares to the time and energy saved when you can actually easily find something you were searching for, and it has already proved itself by tracking down some foolishly bemonikered screenshots for this very article.
All those who have kicked the addictive Sokoban habit, stop reading now: this is your last chance to save yourself from a new twist on that addiction. Sokoban - Japanese for warehouseman - was an addictive puzzle game that could be found in arcades all over the far east in the 80s, and had something of a renaissance in the 90s, as an NP-complete problem (that stands for non-deterministic polynomial time, maths fans) for researchers testing their AI breakthroughs.
In classic Sokoban, the player pushes crates into their positions through fiendishly tricky geometries. Sokoban is available for X11, KDE and, naturally, Emacs, and remains as addictive as ever. NPush takes Sokoban, adds a twist of Boulder Dash and possibly a smidgeon of Robots to produce a cocktail of mental gymnastics that should keep you just as sharp as 10 minutes on Nintendo's brain training games.
You have to collect all the $ symbols in the playing area (representing gold) to complete the level, then get yourself to the exit. Where boulders block your path, use dynamite - but you have to push it into position, which can involve a lot of tricky manoeuvring. Another difference from Sokoban is levels with multiple characters, which you switch between with the Tab key, who can cooperate with each other to reach the solution. NPush's UI is written with the familiar Ncurses library, but this C++ app has been written with interface portability in mind, and should you wish to port it to say, the SDL library, you'll find there's little you'll need to modify in the main code. In fact the author invites anyone to get involved with the code in any way they wish.
Best of all - for non-coders, anyway - levels are simple text files, and it's easy to contribute your own. Alternatively, after you complete all of the levels, you can always go and play Sokoban as well.
Are you feeling creative? Good, because you're about to delve into a program that gives you complete control over the role-playing game of your dreams. Yes, that means you can draw your own graphics, create complex, multi-area maps, design mighty heroes and enemies, forge powerful magic items and create gigantic fictional worlds for them all to live in.
What's impressive about OHRRPGCE isn't its name, which apparently stands for the Official Hamster Republic Role Playing Game Construction Engine. Instead, what we like is that the engine lets you create everything for your world - you can draw tiles, heroes and items in its pixel graphical editor, then you can go straight to the map editor and use those tiles to create your worlds. From there, you can go on and create all the other artwork you want, using boxes, lines, fills, air brushes and even a basic clone stamping tool. If you'd rather use Gimp, just create your graphics there and import them when you're done.
With your artwork in place, the real work begins: you can assign every hero and enemy statistics - how hard are their attacks? How well can they evade? How powerful is their magic? This is done quite neatly: you set values for level 0 and for level 99, leaving OHRRPGCE to calculate the values in between for you. You can then specify strengths and weaknesses for them all. Again, you don't have to get into the maths here; simply tell the engine what you want, and it figures it out for you.
The last step of creation is the most fun: arranging the fight sequences. Again, this is all done graphically - you get a live preview of how the fight will look as you choose your background, add your bad guys, then position them as you please.
After your work, you get a single RPG file that you can distribute to friends and the internet at large. Then you can sit back and wait for the global adoration and multi-million dollar publishing contracts to arrive...
61. Orbital Eunuchs
Since the release of tools such as Google Earth, many users have marvelled at the different places you can visit. It's impressive at just how much detail there is to be found, and one thing you'll notice is just how many people there are in the cities and towns that you can visit. It's almost tempting to think how you might interact with the little pixels that represent people, milling around in their own little world and minding their own business.
Orbital Eunuchs Sniper is slightly twisted, as it gives you a set of crosshairs in an orbital satellite looking down on a city, just like any other city you might find in Google Earth. These crosshairs are to help you protect your VIP, a blue marker who wanders happily around the city. The people he needs protecting from are the red dots, or terrorists, intent on intercepting and killing our VIP. Using your trusty death ray, your task is to smite the terrorists before they reach your man.
The only real problem is that the streets hold thousands of innocent civilians who seem to have nothing better to do than to get in the way of your crosshairs, and that after each shot you have to wait a couple of seconds for the death ray to recharge.
You control the game using the mouse, with the mousewheel acting as a zoom control to take you right in to the action. There are three different levels of difficulty, with Hard involving lots of terrorists running around making life difficult. It's almost like a top-down version of Missile Commander, except this time your targets are making their ways through the streets and it's actually a bit more fun. We think we should nuke the site from orbit – it's the only way to be sure.
De dede... de deded... de de de...de.....de. Yes, well done, that is the intro to U2's Bloody Sunday. Oh, okay. Well, can you do better? Perhaps you can if you take this simple drum machine for a spin. Owing a lot of its heritage to audiotrackers of years gone by, ORDrumbox sets its sights on being a self-contained drum machine capable of generating the rhythm section of your dreams. As usual, you enter values (or poke at the blank parts of tracks with the mouse) to build up tracks into patterns and patterns into songs.
Of course, constructing loads of loops and patterns may be entertaining for a musician, but if you are just trying to stick together some tunes to accompany your slideshow of snowboarding in the Alps or your latest game, it can become an involved and complicated process. That's where the auto-fill option comes in. That's right: given a melody track, the software will attempt to fill in samples according to your specifications. We managed to make some pretty terrible noise with it, but in the hands of someone semi-skilled it may be rather dangerous. When your masterpiece is finished it can be exported as CD-quality sound or save it as an XML file.
Make sure you install the separate drumkits as well as the application - there are plenty of samples there to get you started. As a bonus for SUSE users, there is a one-click install option on the website, so you don't even need to move your fingers that much to get things going. If you still aren't convinced, try it out online at www.ordrumbox.com/online.php.
Is astrology science? It used to be. In fact, it is probably one of the oldest original forms of science. Anyway, whether you believe good things happen when Mars is in conjunction with Uranus or not, you may at least want to try making some vague predictions on the future based on the gravitational effects of distant coallescences of rocks. You never know. The tricky part about astrology, if you do it properly anyway, is knowing where all the pesky celestial bodies are, and what constellations and such that puts them in. This is the sort of thing that impresses the punters. Oroboros, as well as being a large worm who ate his own tail, is the name of a remarkably featured astronomy program, written in Python.
Using a few other Python modules (PyQT4, Pyswisseph, Pyzt) it will plot and chart all the planets and up to 300 fixed stars into various types of charts whose names will have no meaning to any but the cognescenti. It even has Gauqelin sectors!
The interface is obviously Qt-based, and it seems to work pretty well, even with complex charts. Printing out charts with the default options may be a little tricky (if you want to actually be able to read them), but you can tweak all the colours and settings from within the software.
This is the most complete astrology charting software we have ever seen on Linux (or anywhere for that matter). So if you want to know when might be a prospicious moment to buy your lottery ticket or lay that bet on where Elvis will be found, it's well worth a go. We should say that while the software draws the charts for you, it doesn't make up pithy little comments that vaguely imply some secret knowledge. You'll have to do that yourself.
This version includes various asteroids and lesser celestial bodies as well, as if you didn't have enough to contend with.
Paperbox is a handy document browser for the Gnome desktop that uses tag-based and content type-specific data to view your e-books and other electronic documents. It uses the data from Tracker, Gnome's powerful indexer and extensible metadata database.
As Tracker can store thumbnails, these give a useful visual reminder to your document index, displayed alongside its tags and filename. The tags are displayed in a tag cloud on the right-hand side of the window, above which is found a category list. Users can add to this by grouping tag collections into categories.
The application is at an early stage of development, and while installation is not too hard, there are many dependencies to think about. You may even think you've got them all if you take your package manager at its word, but the ./configure stage puts you right, and you have to trot off for more source to compile as we did, needing to compile the latest gtkmm-utils package on our Ubuntu 8.04 desktop. Still, just be thankful for GNU Make, which reduces the pain considerably. We soon had Paperbox on the accessories menu.
If you do not have Tracker configured to index your system, nothing will happen, so make sure Tracker is set to index, then fire up Paperbox. Now it will display every indexed document on your system, automatically picking them from Tracker's database, so now you must manage this undifferentiated hunk of information. That means it's tagging time.
Version 0.2 adds extra MIME types: OpenDocument formats with text, AbiWord, Microsoft Office, PostScript and plain text files. It now communicates with Tracker asynchronously, meaning that tagging from PaperBox will not hang Tracker; additionally, tags entered with tracker-search-tool will appear in Paperbox.
If you have a lot of e-books, PDFs, and other text documents, this may be an easier way to keeping track of them than imposing a file structure on their directories - often an unsatisfactory solution. If you're feeling strong enough to handle the dependency dance, give Paperbox a try.
65. Parted Magic
In the early days of Linux distros, you had to rely on third-party software to help you partition your drive, particularly if you were intending to have a dual or multi-boot solution involving Windows. At that time there were a few options open to you, but by far the most popular program was PowerQuest's PartitionMagic, which allowed you to resize your Windows partitions to make room for your new Linux system.
As distros have become more and more sophisticated, such partitioning work has been moved into the installation of the distro. However, we've yet to come across a tool that is perfect (at least during install time) and that allows you to have the level of control that a specialist tool such as PartitionMagic would give you. GParted is one of the tools we'd single out as being particularly powerful, and you'll find it on most distros these days. However, sometimes you don't have Linux installed on the machine that you want to work on, so it's then that a dedicated Live CD comes in, giving you access not only to GParted, but a host of other utilities to help you manage partitions on disks.
Among the veritable treasure horde of Parted Magic, you'll find G4L (Ghost for Linux), which gives you the ability to clone disks - useful if you're mass deploying the same desktop. There's also Grsync, which provides a GUI wrapper for rsync. A new trend with Live CDs is the ability to carry out a Live USB install, meaning that you don't even have to worry about carting a CD around as long as the machine you're intending to work with allows you to boot from USB drives. Parted Magic follows this vein, giving you a simple interface to create your own portable copy of the OS. The benefits are clear, particularly when you realise that there are also file and partition recovery tools included in this distro.
Archive utilities are pretty common these days; after all, you don't even need a utility to create an archive. Simply select the files you want, right-click to add them to an archive and that's it. However, the archiving options in Gnome and KDE tend to stretch to just the archive type, which can limit you somewhat if you're looking for more control. This is where such utilities as PeaZip come in: they are designed to be as flexible as you need them to be, but not to get in the way of archiving and dearchiving files.
The beauty of PeaZip is in its huge variety of options. if you have a need to compress in a specific format, you're going to be able to do it with one of the thirteen formats supported in PeaZip. Want to encrypt the files? No problem: simply choose whether you want to encrypt just the contents, or, in some cases, the filenames themselves.
Of course, there will those who prefer the simplicity of compressing files through the window manager, but if you work with a lot of compressed files you might very well appreciate what PeaZip has to offer you.
It is a truth, universally acknowledged, that any geek must match or exceed the shiny gadgetry and eye candy of his friends. Look at last year's proliferation of rotating cubes, transparent terminals, and wobbly windows. Now everyone wants an iPhone, or at least doesn't want to miss out on the flashy GUI goodness that Apple has brought to its expensive toy.
PictureFlow is a cover viewer for the Qt toolkit, that displays images with an animated transition effect, much like Apple's Cover Flow, as used in iTunes. It's optimised to run on your Linux mobile device, but the lack of an appropriate portable device shouldn't stop you trying it out on your desktop.
To build PictureFlow, you'll need Qmake. On Kubuntu (and most other distros) it's in qt3-dev-tools. Untar and build with:
tar zxvf pictureflow-0.1.0.tar.gz cd pictureflow-0.1.0 sudo qmake-qt3 pictureflow.pro sudo make
There's no documentation in this first release, but all you do to run it is point it at a directory of cover art, like so:
You can search YouTube for videos of the animated transaction effects in action (and download them with last month's YouTube-dl tool). The blur effect shown on the reflections in the screenshot is the icing on the cake.
PictureFlow works on the Trolltech Greenphone and the Chumby Wi-Fi widget. It will work with Qt on other platforms, but its lightweight requirements (it doesn't need 3D acceleration or even the OpenGL libraries for its transition effects) means it can look flash on any ancient device you're reviving with a Linux install. As it doesn't even need floating-point operation, it will compile on some very low-powered CPUs.
At the moment it's just a bit of fun, but as it's developed it will be integrated into all sorts of multimedia apps, slideshows, and portable devices. You can also try PhotoFlow, though it's only available through SVN for landscape format pics.
Most people in the world of Windows have heard of Symantec's Ghost. But what they probably haven't heard of is Ping. The Ping project is part of a group of networking and backup solutions built on top of Linux From Scratch. The idea with Ping is to create a backup and recovery Live Linux distribution that can be used to save and restore your OSes (of whatever type) from an otherwise crippled system.
Updates in this version include a whole load more drivers, so you should find that critical drive controllers, media drives and network interfaces are supported. Ping can also use the network as a backup route: it can bring up and access MS-based shared folders on the network, which makes backup and restore a lot faster. You can also store partition data on disc and make a personalised bootable restore system, which can be handy for test machines or even servers. The basic Ping ISO image is under 20MB, so there's plenty of space to add your own utilities, backup files or whatever you want on there.
There's plenty of documentation on the Ping website, but you needn't understand everything in order to use it. The main utility on the disk is Partition Image. This curses-based software can read your partitions block by block, compress them and store them elsewhere, creating a clone of the partition data, and all the files on it. It isn't fast by any means, but it will be priceless in the event of a hard drive failure.
Fun! Such a great motivation for development. Richard Stallman has written that playfulness is central to what it means to be a good hacker. Add imitation, that staple of virtually all software development, and we have Psychosynth.
Based on the Reactable, a synthesizer-like instrument designed for active collaboration by moving physical blocks around on a table top to control the sound produced, Psychosynth gives you a virtual table and a collection of graphical sound 'blocks'. Start with a sound generator or two, and some samples. You can add more samples to Psychosynth's collection of OGG files - if you've made your own, and they're freely redistributable, let the project know so we can all get the benefit.
Now comes some fun: the sounds from the samples and generators can all be altered with a selection of controls, filters, effects, and mixers. You can combine the sounds in any way you please just like a 70s patchboard synth, but far more flexible and powerful, and with the added bonus of direct visual feedback.
As you fill up the table you can rotate it in any plane and zoom in and out for a better view. Highlight a generator or effect and you can rotate the control setting that circles it to change the frequency, volume or other characteristic.
The manual is very helpful, but not to everyone, as it's only available in Spanish so far; translators will be welcomed. The Reactable is not a unique product any more, as a quick look at http://reactable.iua.upf.edu/?related will show, so we can't be the only ones who find this fun.
Psychosynth also provides a command line version to pipe into your system when you have a sound and don't need to experiment further. This is handy to have, as Psychosynth eats up your CPU cycles, so be warned if you only have one processor core. We also experienced the occasional crash, but this is a very early release. Otherwise it's all good fun, and a highly portable alternative to having an actual table full of tangibles with you.
70. PySpace War
When it comes to games, some would argue that originality is long gone and any new releases are just re-hashes of older games. To a certain extent we'd agree with that, as some simple concepts have appeared again and again over the years. A very long time ago we can remember playing Asteroids, where our spaceship span around an asteroid field trying to obliterate said asteroids into tiny pieces. We spent many an hour playing Asteroids, and it was with a large amount of nostalgia that we spent a similar amount of time playing PySpace War.
The basic premise is not that far removed from Asteroids; the 2D space environment is there, along with the minimalist ship design. The primary difference is that you're now up against a rival ship and there are planets involved. What started out as a battle to clear the asteroid field has now turned into a duel to the death.
The planets are extremely important to all of this, as they exert a gravitational pull that influences the trajectory of your missiles. This doesn't sound so bad on paper, but makes quite a difference when you're blasting away. The camera zooms out as you move to the edges of the screen, giving you a large canvas on which to blast your opponent into smithereens.
If the title hasn't already given you a hint, you'll need to download the PyGame libraries to run this game; psyco is also highly recommended to boost performance. You don't even need to compile anything, as it's a simple matter of running ./pyspacewar from the command line to launch into some space-based mayhem.
Did we mention it also has a two-player mode so you can challenge and destroy your friends (should you have any)? To wrap up the game there is a gravity war mode, in which where you specify the trajectory and velocity of your missile in an attempt to hit your similarly stationary target. Again, simple in its approach but devilishly difficult to pull off.
Back in the 8-bit days, when most novelists used Remington typewriters, text adventures were a mainstay of gaming that had survived from university mainframes. Adventure games like Colossal Cave Adventure ("You are in a maze of twisty little passages, all alike"), led to interactive fiction (IF) computer games like Zork ("It is pitch black. You are likely to be eaten by a grue."), and gave us two of the most famous phrases on the internet before "All your base are belong to us". User interaction meant typing questions, rather than clicking your way round a maze.
From there text adventure games evolved down one branch to modern graphical adventures, but IF grew, evolving into hypertext fiction and gamebooks along the way. Tads (Text Adventure Development System) was a shareware app to develop and run IF, and Tads 2 became a cross-platform standard for producing IF in the 1980s, followed by Tads 3, an object-oriented re-write.
Frobtads is an interesting console-only version, which is open source and freely-redistributable. Unfortunately you're not allowed to modify or improve Frobtads, but you can port it, and it has appeared on a number of platforms. For truly Free Software, QTads is the only interpreter available. It does the job well, and the new version has many useful updates.
As well as compiling on 64-bit machines, QTads 1.7 also increases the number of turns you can undo, parses game meta-information, restores windows correctly from previous sessions (including full-screen mode), and is compatible with the latest virtual machines. It is still on Qt 3 however, which will be a problem on Qt 4-only distros before the next update.
Games in the Tads format are easily available. Some are more story than game, but entertaining nonetheless, and there's more to gaming than shoot/get treasure/repeat. Play is as simple as it was in the 8-bit days: read the narrative, type your questions, interact. The ability to undo several moves nowadays is a welcome bonus, but the simple pleasure of text adventures remains the same.
The raw processing power of home PCs brings easy access to the kind of mixing that The Beatles could only have dreamed of. QTractor is a multi-track "bedroom sequencer" that can also find space in pro and semi-pro setups, thanks to its straightforward interface - which uses the industry-standard multitrack view of compositions - and easy integration into the ALSA and JACK audio framework. Linux audio takes evolutionary steps every few years - and looks to be changing once more - but all major distros ship ALSA as standard, and JACK is the most popular and effective way of "wiring" up a virtual studio, so nothing exotic is needed to install and run Qtractor, although you may need to search outside your distro's repositories for optional packages like librubberband, which allows audio time-stretching and pitch-shifting (developed by Chris Cannam of Rosegarden fame, and many other audio packages - see www.all-day-breakfast.com/cannam).
Such note-bending is the icing on a very substantial cake, and its MIDI and audio editing and sequencing powers could make it the centre of your Digital Audio Workstation (DAW). Audio tracks can be imported in most formats, and instruments captured through the support of the JACK back-end. Editing is easy with dragging or customisable keyboard shortcuts, and even plugins can be simply copied along different tracks.
The phenomenally productive Rui Nuno Capela - also author of QSynth, QSampler, and QJackCtl - claims to have little spare time to work on QTractor. Yet this is one app that continues to show big increases in functionality over time - we particularly like its support for MIDI editing and VST plug-in handling. It also has (optional) support for the Rubber Band Audio Time Stretcher Library.
Qtractor ships with an impressive user manual; if you've used DAW software you'll find everything easily discoverable; newbies should get reading!
Fedora has never really had much of a reputation for graphical package managers; Pirut has given way to PackageKit, but in both instances they've never really been feature complete for one reason or another. As a result, other applications, such as Yum Extender, have tried to create a GUI interface for RPM-based distros, and Rally is the latest.
Providing a drop-in replacement for PackageKit is a worthy goal, and Rally is indeed usable with little or no extra configuration. Rally automatically uses the configuration files found in /etc/yum.repos.d, including any custom configuration files you've created yourself. A few minor dependencies are required for the installation (guiloader-c++ being the foremost dependency) and once compilation is complete, you'll find it in your System Tools menu ready for action.
The interface is a little different to PackageKit, with four work areas that you can access depending on what you need to do. The first thing to do is carry out a scan to update the repository information; once this has been completed you can select packages for installation or check for updates.
Rally sensibly makes use of the embedded group information within each repository, with a drop-down menu allowing you to choose which group's contents to view, such as Gnome or KDE. This has the benefit of keeping the Rally interface relatively uncluttered, with only a handful of icons across either side of the main window. When you're ready to do business, click on the Rally button followed by Start, at which point Rally will happily work on the packages that you've selected, keeping you well in the loop as to its progress. An important feature is its ability to install packages in parallel, making it seem a lot faster than the native PackageKit installer provided with Fedora, although still not as fast as an Apt-based distro. We'll be keeping a watch on Rally; perhaps it should replace Fedora's current package manager given time.
Portable apps are a brilliant idea. You can package up a binary with all of its dependencies and run it from a memory stick anywhere, which is a great way to demonstrate a piece of software or use it on the go. Imagine if you could run any random piece of software, from anywhere, as easily on your local network. Rootz gives you that power, enabling you to mount an ISO or a directory locally, over the LAN or even over the internet.
Installation has a few dependencies, for all the remote filesystem malarkey you'll be practicing. On Debian-based systems run
sudo apt-get install dchroot sudo apt-get install libfuse2 fuse-utils sudo modprobe fuse
You'll want to check that you have SquashFS and UnionFS; if not, do:
sudo apt-get install unionfs-modules-$(uname -r) sudo apt-get install squashfs-modules-$(uname -r)
For the optional HTTPFS, to allow mounting of HTTP mirrors, check which version of Libfuse you have:
dpkg -l libfuse2
...then download the matching HTTPS version from Vamos and move it to /usr/bin, and do:
sudo chmod 755 /usr/bin/httpfs
Now untar the Rootz package, cd into the rootz directory and enter:
If you want to mount Rootz with the standard mount and add Rootz entries to Fstab (recommended), enter ./setup-mount as root.
Documentation is fairly good, but there are a few quirks in the translation. The HOWTO shows you how to mount remote sytems:
./rootz http://ubuntu-cdimage.datahop.it/releases/7.10/release/ubuntu-7.10-dvd-i386.iso /mnt/ubuntu
Now you can run remote apps directly from the command line:
$ sudo ./rootz-launcher whoami [sudo] password for richard: trying to locate whoami on ubuntu... I: [ubuntu chroot] Running command: "which whoami" Run whoami (ubuntu image)? Hit anything to proceed. Use a or A to abort I: [ubuntu chroot] Running command: "whoami" root $
Or even from your browser with rootz://ps.
75. Secret Maryo Chronicles
Super Mario Bros has inspired many games since its original release in 1985. It was Super Mario Bros that inspired the early development of Commander Keen, and it has also spawned many different clones and other similar games that have entertained people the world over.
When you look at the original game now though, it's hard to not see it through the unforgiving eyes of the 21st Century, where graphics are razor sharp. You could argue that games like Super Paper Mario are the direct descendants of Super Mario, but nothing quite beats that 2D side-scrolling platform adventure that made us all video game addicts from a young age. The beauty of the game wasn't necessarily in the graphics, but the maddening challenges it set you as you jumped and bumped your way through the myriad levels. Fortunately, there is now a rather good clone of Super Mario Bros that uses the same concept, but with a slew of original levels and challenges to conquer. Its name? Secret Maryo Chronicles, the title somewhat betraying its inspiration.
The developers have really gone to town to give the graphics a cartoon-like look and feel without ever going over the top. Each level is richly illustrated, with an abundance of colour that might give you a headache if you've been using to CrunchBang Linux and its delicate monochrome theming. The animation is fluid, with support for older machines with at least a 500MHz processor with a video card that has at least 64MB of RAM. The source has some pretty uncommon dependencies, but primarily you'll need the SDL libraries along with SDL Image, Mixer and TTF. Furthermore you'll need to install the Boost Filesystem Library as well as libcegui. Once you've snagged all of these, and compiled, you'll quickly be enjoying a superb update of a genre-defining platform game.
Let's start with the basics: MPlayer is an awesome media player, bringing together AVI, Ogg, WMA/WMV, RealMedia, Matroska, DVD, DivX and even H264 under one program. But it's not perfect, because the closest thing it has to a standardised GUI is GMPlayer, a thin wrapper around MPlayer for Gnome that happily ignores the Gnome human interface guidelines and squirrels away most of its options under right-click menus. This is annoying, confusing, and actually rather baffling: to change the language in a DVD, to bring up your playlist, to change the equaliser settings or even just to switch to full screen mode, the right-click menu must always be used.
And then there's SMPlayer. It's built on top of Qt, for a start, as opposed to GTK and perhaps more importantly as opposed to KDE. That means it's a truly cross-platform app, it's very lightweight, and still manages to look clean and easy on the eye. What's more, it knocks GMPlayer into the shade with its feature set - you get the file range of MPlayer media support, you can modify playback speed, apply filters such as deinterlacing, denoising and deblocking, and we particularly like the ability to download subtitles straight from http://opensubtitles.org.
MPlayer, just better
What we really like about SMPlayer is that it doesn't try to hide its features: if MPlayer can do it, then SMPlayer probably has an option for it. And yet when you want to watch a movie in fullscreen, SMPlayer is smart enough to get out of your way and maximise screen space.
For the real control freaks out there, SMPlayer has a set of helpful command line options, so you can write a script to start it using your favourite settings - you'll probably want to give minigui a try (an ultra-slim and light interface), add-to-playlist (if something else is already playing, the new media is appended to the end of it), and of course there's fullscreen to get right to the business of watching movies with no distractions.
SMPlayer doesn't add a huge amount of innovation in an area where Amarok, Rhythmbox and Banshee have already been doing great things for a while, but this is definitely one application where spit, polish, and a few carefully considered refinements add up to a lot.
If you're looking for IRC clients you're spoilt for choice with many distributions, as there are plenty to choose from. Some are text-based (IRSSI), some integrate well with instant messenger applications (Pidgin) while others are simply IRC clients through and through.
Smuxi falls into the latter category, and we're glad it does, because it's a good little IRC client. Built using Mono, it's a surprisingly lightweight application using only 24MB even with several channels and chats open. Installation is a doddle, with pre-built packages available for several major distributions; Mono is a must, along with some minor dependencies, which are easily met.
Starting up Smuxi for the first time takes you directly into the #smuxi IRC channel to give you the opportunity to ask any questions that you may have. Alternatively you can quickly and easily configure connections to Freenode and any other major IRC network, along with the channels you want to join upon connection. You can also configure where you want the tabs for each channel or chat to appear, along with options to modify the character used to issue commands to the IRC server. (To be honest though we'd be hard pressed to want to change from the forward slash familiar to any IRC old-timer.) Other than that, there's not really a great deal about the user interface that sets it apart from other contenders such as XChat or Pidgin.
There is one killer feature that Smuxi offers that really does beat the competition into submission though, and that's the ability to connect remotely to a Smuxi session in the same way that you can use the screen command to access an IRSSI session remotely. You're able to configure Smuxi to connect to many different remote sessions, and it's also possible to use SSH connections to increase the security of the remote access connection. All in all, Smuxi is a neat IRC client that shows plenty of promise, and we look forward to seeing it building upon its current success.
From a distance, it sounds like fun setting yourself up as an internet DJ, but in practice it's usually over-complicated and you'd be forgiven for giving up after trying to solve basic user problems for the hundredth time. Sockso has been designed to make it easy to share music over the internet regardless of your technical level, and - most surprising of all - it really works. When you start Sockso (just use java jar sockso.jar), it fires up a web server in the background on port 4444. You can then go ahead and add all the albums you want to share, and Sockso does everything else. No, really: as soon as you add your first songs, you can go to http://localhost:4444 and start listening to music through the Sockso Flash player. The web-based interface automatically creates pages for browsing your collection; it tracks newly added music, and it even allows you to force people to register before they can listen to music.
All your options as DJ are controlled through the local Java program. Should people be able to download your music for offline playback? Should they be able to upload their own music for others to hear? Do you want Sockso to automatically convert Ogg to MP3, or to convert high-quality MP3s to low-quality MP3s for faster streaming? Users obviously get far fewer options, but they do get to choose their preferred playback methods - the Sockso Flash player is the default, but the server can also generate M3U playlist files on the fly so your listeners can use almost any media player you can imagine, including iTunes on OS X and Windows Media Player on Windows. Following the lead of sites like YouTube, Sockso auto-generates HTML that can be pasted into any web page or blog entry to embed its Flash player straight into your site.
What makes Sockso unique is its incredible ease of use: we're hardly internet radio experts, and yet had it all up and working in 10 seconds. The only hiccup you might have is with the firewall on your router - just make sure port 4444 is sent to your Linux box, and you're all set. We'd love to provide some constructive criticism here for the Sockso folks to improve their next version, but we can't think of anything: Sockso is easy and fun, and stands as a great example of the do-one-thing-well approach that open source rocks at.
Sometimes it seems that we are drowning in MP3 players, and that it won't be long before they come free with every pack of breakfast cereal. Audio playback devices are found in our telephones, cars, and virtually every new consumer device. Programs like Banshee and Amarok enable you to update large playlists for iPods and other players, but are overkill for simply adding a couple of files to your phone to listen to during your morning commute.
Step forward SoundConverter, a Gnome app for making OGG, MP3 or lossless files from virtually any format you may have downloaded. Thanks to its use of the GStreamer back-end and its multifarious plugins, it's ideal for producing small files for portable devices without changing your main collection.
SoundConverter is designed to do one thing simply and well. Numerous small improvements and bugfixes have led to this 1.0 release, yet the developers have resisted the temptation to add unnecessary features. Your first call should be Preferences on the Edit menu, to set some basic defaults. Choose a file to place the outputs, and whether you want subfolders created on artist or album name. You can also set what changes you want to make to the filename and tell the app whether to delete the original files. Finally, set the output to WAV, FLAC, MP3 or OGG, and set the quality (bitrate) if you're using a lossy file format.
Now all you have to do is choose the files you want to convert, then click on the Convert button. A progress bar keeps you informed of conversion time, and you can pause the encoding if you need to liberate processing power for some other task. Any modern distro with GStreamer and the Gnome libraries will run SoundConverter, given presence of the gnome-python and PyGTK libraries.
Although Thunderbird is rightly lauded for its functionality, it's something of a one-trick pony in that it primarily deals with email.
A host of plugins can extend the usefulness of the application, but Thunderbird can feel lacking in the integration that programs more akin to Evolution bring. Spicebird aims to be the salve to our woes, wrapping up several elements within the familiar Thunderbird setting.
Spicebird's interface is reasonably straightforward - each different area is accessed by tabs across the top of the screen, and the toolbar icons change depending on which area is selected. The whole application feels very polished, even for a pre-1.0 beta release, but we can't help thinking that the tabs themselves are large considering each holds a limited amount of text.
Within this setup lies the most interesting part of Spicebird: the home screen. It's essentially a space for widgets that you can customise to your heart's content. For this Spicebird makes use of iGoogle's widgets; all you have to do is drag the program from the selection area on to the waiting widget container within Spicebird, then wait for it to download and become ready to use. There are some built-in widgets, such as an RSS reader, calendars and a few to help you get an overview of your tasks and email, but you'll probably find that you'll just stick to the Google Gadgets that are available.
In fact, Google integration seems to be a high priority for Spicebird, and Gmail, Google Calendar or Google Talk are all well supported. There's also great integration of instant messengers, and options to interact with your contact list are all found under the Contact tab.
Although the integration with Google Accounts is good, there doesn't seem to be as much attention paid to services such as Yahoo or Hotmail, let alone task-manager Remember The Milk. However, the calendar does interface with ICS and CalDAV as well as the Sun Java System Calendar Server, while the IM client can all the major IM protocols.
As long as it doesn't become too bloated, we won't be surprised if Spicebird really takes off. The developers are already working towards a 1.0 release that promises some integration with a CMS system as well as Exchange support. If they can pull this off it will be a massive achievement that should only increase the appeal of this already powerful application.
Computational models of composition are nothing new, but Strasheela brings an approach that, while long in the learning curve, is effective with a large number of formal systems. The non-musician or non-programmer will struggle with Strasheela, but non-programming music geeks should soon pick up the possibilities of such a generic approach to CSPs (Constraint Satisfaction Problems - the interface between the fixed compositional rules, and the unknown variables), thanks mostly to the comprehensive documentation.
As Strasheela is based upon the Mozart system, and thus written upon the powerful object-oriented language Oz, you will find the beginners' tutorial under ~/.oz/
Strasheela allows reprogramming of any constraint (rule program) through totally decoupling the definition of a rule from its application, which is a strong parallel to the ability in Emacs to rewrite any section of the editor on the fly, inherited from its birth in the AI-chasing Lisp machines of MIT. If this is more than you want to think about while getting down to some simple musical experiments, have no fear: there's a (relatively) easy way in to Strasheela's maths-based music
Run the tutorial and go through some of the basic examples to get the hang of the syntax, then go for some of the larger examples from the website, such as the real-time counterpoint generator. Try changing a few values - you won't suddenly become Bach, but some surprisingly listenable pieces of music appear that can be used in their own right, or used as the basis for more ambitious work.
Export to Csound, LilyPond or MIDI makes this a simple step, and you can record your experiments by exporting to PostScript and PDF. Further functionality is available via various additional apps, and some Oz extensions, all covered in the Installation file. This may be a little niche as an app, but for the musically minded geek it could open up a new world.
82. Super Grub Disk
The TuxRadar team are installing, re-installing, and upgrading all the time, and have had to become quite proficient at Grub commands, but we still make mistakes here and there. General rescue distros like Insert are great, but for some problems you need a specialist. Hurrah then for Super Grub Disk (SGD). SGD is a bootable floppy or CD-ROM that gives you menu choices for all common rescue disk scenarios, such as a Windows re-install overwriting the bootloader. You can restore Grub to the master boot record, and you can boot from any disk drive connected to the machine, and this new release will work extra magic with Windows partitions on other disks. If these options aren't enough for you, you can always just type C and drop to the Grub command line.
SGD is a tiny download - it's just a 400k bzipped archive. (If you are downloading from an operating system that doesn't support decompressing bzip2 files, you can download the 4MB ISO file.) Floppy and USB pen drive images are also available. To write the files to a pen drive, format the partition (as ext2 or ext3), then use Grub to make the pen drive bootable. For this you'll need to be at a Linux machine with Grub installed. Copy the unzipped files to /boot on the formatted pen drive, then unmount the drive and open Grub from a terminal:
grub grub>device (hd3) /dev/sdc grub>root (hd3,0) grub>setup (hd3) grub>quit
...with (hd3) and /dev/sdc changed as appropriate: eg (hd2,0).
Boot from any rescue media and you'll be presented with a menu, from which the first choice ('with help') will be the most popular. Next, language selection covers most European options, with various languages from Spain reflecting the project's origins in the Iberian peninsular. When you've chosen your language, you'll be given options for most conceivable rescue needs. As well as partitions, SGD will also boot slices (the partition segments used by BSD derivatives such as OpenSolaris) so you will be able to rescue your system after all of your operating system experiments. The SGD website contains enough documentation to get you started in most scenarios, along with links to further reading including Shawn Herman's extensive guides to building and using SGD.
One of the most frequently made New Year's resolutions is to get organised. Thankfully, the boffins at the Gnome project have come up with Tasque: a panel-based applet that's geared towards organising all the little niggly things in your life.
Using Mono as a platform, with C# for good measure, Tasque enables you to work with your choice of data sources. For instance, if you rely on Evolution as your PIM then Tasque can link directly to its tasks and display them. It's possible to use a standalone data source based on SQLite, but the best method is to bind Tasque to a Remember The Milk account.
The biggest benefit of doing this is that you then have access to your tasks wherever there's an internet connection. No longer can you wheel out the excuse that you left your notepad with all your tasks at home. In addition, Tasque's user interface is simple, removing yet another reason to put off doing chores. Simply enter a new task into the Task field at the top of the screen and click the Add button to create the task. It will then near-instantaneously synchronise with Remember The Milk and your task goes live. With that done, you're able to prioritise your tasks, giving them a numbered priority as well as assign completion dates along with categories and notes.
Tasque also keeps you on your toes by grouping each task by its timeframe for completion, giving you a clear view of what's coming up. If you buy into Tasque there's no doubt that it will help you become more productive: there's something strangely compelling about being able to visually complete tasks with the tick boxes and shorten your list.
84. Tiny Core Linux
We came across Tiny Core Linux fairly late on one night, and we're glad we did, because this ultra small Linux distro is something very special. Let's start by saying that the download weighs in at a extremely slender 10MB and contains not only a fully functional 2.6.26 kernel, but also a window manager (JWM) sitting on top of a lightweight X server and BusyBox. After downloading and burning it to disc, we were amazed at just how fast this distro was, booting to its minimalist graphical environment in under ten seconds.
The developers have added other nice touches too, and Tiny Core presents you with a Mac OS X-style dock, complete with magnification effects. One of the first things you notice are the three solitary icons sitting in the bottom launch bar, the first of which opens up Aterm in a really short space of time. It's then that the method behind Tiny Core comes clearly into focus as the entire distro is loaded into RAM in order to maximise performance.
But what of the applications? After all, no distro is an island. Clicking the Apps icon on the dock brings up Appbrowser, which then leads you to click on Connect and choose one of the two mirrors available. Here you can download additional software for Tiny Core, including such heavyweights as Gimp, MPlayer and XMMS. That the distro handles dependency resolution is staggering for its size and we are mightily impressed by it.
It's not unreasonable to question the worth of Tiny Core; after all, just what can you get from a distro that takes up such a small amount of resources? Well, the intention of the developers was to create a Swiss Army knife-style OS that can be turned to any task that you require. For instance, Apache 2 is available through the package manager allowing you to quickly create and implement web services, while you can also build a firewall using Iptables.
As mentioned earlier, Tiny Core's default behaviour is to launch and load everything into memory. By doing this, you're relying solely on connecting to the repository to be able to download more software, making you dependent on a decent internet connection. As such, it wouldn't be far wrong for us to describe this as almost being cloud-based - it allows you the freedom to come and go as you wish, each time installing just the software you need. If a disposable distro doesn't suit you, there are options to use persistent storage to provide additional functionality in one of several ways. The first way is to provide a persistent set of applications that are available when running Tiny Core, forming a local repository of software that loads into memory when executed.
Tiny Core clearly demonstrates that being small doesn't always mean a loss of functionality. It's frugal, but evidence of the attention to detail abounds. For instance, when you install a package it appears in the dock and in the right-click menu under Apps, added in the order that the packages were installed. Also included are a host of tools to help you work with Tiny Core, including options to sync the clock to an Internet Time server, as well as quick access to Vi and Top (sorry Emacs, but you're not included here).
This is only the initial release of Tiny Core and so we can't judge it too harshly; however, what we see here has really impressed us and we're now eagerly looking forward to the work being carried on in the future.
When things stop beeping and flashing at you and telling you what you needed to have done yesterday, you are probably already in Elysium. For the rest of us, managing all the things you were supposed to do but have forgotten because you were distracted by other things which seemed important, but now looking back on it were distractions, unless of course they would have become more important had you not dealt with them at the time, is a constant pain. Or something. Ask anybody at TuxRadar HQ and you will be told that procrastination is inextricably linked with the creation of any of our articles, for example.
Tofu is a lightweight to-do list manager which creates directory-based lists for you to manage, and it's all on the command line, so there's no clumsy, bloaty GUI involved. Sounds terrible doesn't it? Well, not so. There is a certain amount of legwork, or at least, fingerwork to be done in learning a whole load of keyboard shortcuts, but it's pretty speedy once you get the hang of it. ANSI-coloured highlighting and different sort methods will help you manage all those things that remain undone. The Perl-based method of generating the lists grates a bit, but there's a tutorial included to help get you going.
A further bonus is that this is a self-contained script, with no requirements other than Perl and its standard libraries, so this software is eminently useable even on embedded devices
TuxGuitar is a tablature editor and player that will fit most guitarists' needs extremely well. Written in Java, it works with GCJ or IcedTea, as well as Sun's JVM. For those who don't need an editor to write music in, TuxGuitar's playback features alone are worth the price of admission.
As the proprietary Guitar Pro is the market leader, despite not being available on Linux, any other player needs to be compatible with the vast library of guitar tabs available in Guitar Pro format. TuxGuitar is compatible with files created in the last three versions of Guitar Pro, which can be found all over the web. Note that rights to use the music will be necessary (we tested with music we also had in sheet form; copyright issues over guitar tablature vary by country).
As an editor, TuxGuitar gives you good keyboard entry for writing tablature, and extensive options for embellishing the score with slides, grace notes and hammer-ons. Time signatures and tempo variations are handled well. The web documentation covers the editor in good detail, and introduces beginners to many of the basics of music theory.
However you get your track on to the PC, playback is useful for composers to hear tricky passages, but even more useful for anyone wanting to learn a new piece. By default you get a tab and score view, with notes highlighted as they're played. Should you need it you can also see the notes in keyboard and fretboard views, as show in the screenshot.
Other instruments, such as harmonica, are played back too, and may even be viewed in fretboard playback should you wish to learn another instrument's part for the guitar, for closer listening, or as a basis for improvisation.
We've looked at KGuitar in the past, and had high praise for its minimalist, functional approach, KDE integration, and MIDI and MusiXML import/export. TuxGuitar adds Guitar Pro 5 compatibility, LilyPond export, and many fine editing features without losing too much in interface clarity. A real winner.
Typing is rarely taught in schools nowadays, despite being a core life skill for the modern age (at least until Star Trek-style speech input is perfected). A lot of IT professionals still type with fast hunt-and-peck, and aren't willing to take the speed hit while they relearn typing with fingers on the home row. Motivation is needed: TuxType provides a fun way to learn an essential skill. TuxType was written for younger learners, and adults may feel it is not for them, but it does add a certain element of fun to what most people regard as a wearisome learning task.
Practice mode from the Options menu does give you a sentence to type with reminders for which finger to use, which is handy for when you move from the home row of ASDFGHJKL. The Lessons menu contains the traditional exercises, such as lad lass dad fad had etc, to get you used to typing without looking. Move on to 'Fish Cascade' or 'Comet Zap', however, and the fun starts. We tested TuxType on a number of children and adults, and found that very young learners liked the 'Fish Cascade' game the best, in which the player types a letter on to a fish to make them digestible for Tux, who whizzes over to gobble them up. Letters, words and exercises are available, and you can add your own words and sounds to the game, following the documentation.
'Comet Zap' sees Tux zapping the falling words as you type them, in a scenario vaguely reminiscent of Space Invaders. You might con a young son or nephew into thinking that they're getting their daily fix of destructive video gaming, while they inadvertently improve their typing skills - it certainly worked on our test subjects.
Perhaps the most surreal option is to select plant names under 'Comet Zap', and fire noisy lasers by typing 'pansy' and 'begonia'. If you produce a similarly incongruent word list please send it in to us and we'll put it on a future DVD if we can.
TuxType gives an essentially dreary subject a much-needed injection of fun - a daily 10 minutes of TuxType will improve your kids' typing in no time.
For all you Web 2.0 nuts out there, Twitter represents an opportunity to indulge your passion for sharing your life events with the world by writing short updates, less than 140 characters long. Intially only available through a web interface, there's been a growing number of client applications that can post 'tweets' (as these updates are rather whimsically known to the Twitter community) and also pull tweets from those that you're following. Twitim is one of those clients, and it tries to be a little different by taking the form of an instant messenger app. The interface is pretty clean, and by default takes your Twitter feed and displays it in a timeline reminiscent of an instant message conversation. You're able to create further tabs to isolate different strands, such as your followers or the people you are following. Depending on how many people you are following, you may see a flurry of tweets or a steady barrage - Twitim timestamps each post to the second that you receive them, all based on your local time.
Hoot 'n' holler
It's not hard to see Twitter becoming mildly addictive, especially when you have more than a few dozen people who you follow - if you happen to follow Tim O'Reilly you'll be kept up to date with some very heavy posting, some interesting, some random but nearly a dozen or more times a day. We find that Twitim helps you digest the posts easier than if you use the web client, and keeping it open makes you want to check it every so often to see what's changed - it provides a pop-up to let you know that new tweets have been received. One minor gripe with it all though is that, although Twitter restricts you to 140 characters, Twitim doesn't prevent you from going over this limit. On the whole Twitim is a useful interface to Twitter and is definitely an application you should use if you want quick and easy access to Twitter on your Linux desktop.
89. Ubuntu Customisation Kit
Here at TuxRadar, we get a lot of flak for our Ubuntu coverage - people still seem to think we like to receive emails saying "you should be called Ubuntu Format... hahaha LOL", when really we've heard it a dozen times already. And, sadly for you Ubuntu haters out there, it really is only a dozen times, because our reader surveys and website hit logs continue to show that Ubuntu sits firmly on top of the Linux world and nothing else comes close. And so it's without any feeling of remorse, guilt or flame-weariness that we're happy to include the Ubuntu Customisation Kit (UCK).
Last issue we ran a cover feature on building your own distro, and UCK is the fastest and easiest way to get started with your own Ubuntu respin. At the most simple level, you get asked a choice of questions: do you want Gnome or KDE? What languages do you want? Do you want to keep Wubi and other Windows programs on your disc? What do you want to call it? Once that's done, just point UCK at an existing Ubuntu ISO and it will mount it, unpack the SquashFS filesystem and make all the changes you requested.
Once it has performed the basic configuration you can choose to add or remove packages, or switch to a root shell. Either way, UCK works inside a chroot environment, so when it fires up Synaptic to let you choose packages, it runs entirely inside your custom distro. And when you're working at the root prompt, it's all inside the filesystem that'll be used by your users, so you can make all the changes you want to make it just right.
Thanks to the general compatibility of Ubuntu, we were able to remaster 8.10 using 8.04, although you should be careful: don't try to customise a 64-bit ISO using a 32-bit machine or the other way around, as the chroot system will cause problems.
If last issue's distro-building feature was too tough, UCK presents an unmissable opportunity: just follow the prompts, click the buttons at the right times and put on all the software you ever wanted.
If you thought Mikebuntu was good, wait for the arrival of Davebuntu, Andrubuntu and Effubuntu!
News is a good thing. If there weren't news, everything would get old really quickly. The strange thing is how different people want their news, which is why, one supposes, there are so many different newsreaders. Urssus is yet another one. But hold on, maybe it's a good one? Maybe this is the one feed-reading engine you've been looking for all your life, or at least the part of it you have led since RSS was invented.
Written in Python, Urssus makes short work of gathering web snippets for you and serving them up in the traditional multi-paned view. The decorations are all rather minimal, but that can be a good thing if you want a nice uncluttered interface. Although this is ostensibly a KDE app, it doesn't have a particularly KDE-esque look and feel, mainly because it uses Qt 4 directly. Making use of the rendering code from Qt was a smart move, because everything seems to look as you would want it.
If you have previously used some other app, Urssus might be able to import your feeds. It also has an option to fetch your current feed list from Google Reader, if that is what you have been using up to now.
Urssus can be a bit tricky to get working as it depends on some of the more exotic Python modules. The self-installer does a good job of fetching and installing these, but it works better on some distros than it does on others, it has to be said. Trying to get it to work on SUSE was a nightmare, though Fedora 9 had little problem. Remember to install the development version of Python (the package is usually python-dev in your friendly neighbourhood repository) and you will need to have the very latest version of PyQt too. Some of the older packages around were compiled without the WebKit module, which Urssus relies upon.
Assuming you do get it built (and if not, why not give some feedback at the homepage?) you shoud find that it is friendly, responsive and easy to navigate your way around.
Urssus has some nice features, but it can be a pain to get it running properly sometimes - and if it does crash, you may find that you need to delete your preferences and start again. This is definitely one for the experimentation shed at the bottom of the garden for now, rather than in the study where the important stuff is kept. It may not quite be Akgregator yet, but since this is a brand new project, it is worth checking out to see if it could become your feed reader of choice.
91. Vacuum Magic
If you have a passion to save the galaxy and a particularly large nose, there's only one thing you can do: suck up and swallow bad guys as you fly through space. Or at least that's the premise behind Vacuum Magic, a side-scrolling shooter with a lot of action and even more craziness all packaged up in one bundle of fun.
The keys are as simple as they come: use the cursors to fly your superhero around space, and press the Space bar to turn him. If you're finding it a bit tricky, just invite some friends - Vacuum Magic lets you play with up to six players on one computer, either co-operatively or competitively. Sure, it means a few of you have to crowd around a single keyboard, but that's all part of the fun, right?
As you play, Vacuum Magic does a good job of coming up with surprises to keep you up on your feet - there's a good selection of enemies to meet (and swallow), various bosses to defeat, and some clever game mechanics that make it more difficult as you progress, including one level where the screen flips horizontally and/or vertically at random.
To help keep you alive a little longer, you need to spend some time in the target practice mode and learn how to spit out food or enemies and thus damage things that are further away. The practice mode also qualifies as a mini-game in itself; you can still play with your friends and the targets get smaller and smaller over time, requiring you to develop your skills as you play.
Once you step outside of the training mode, the game starts you off nice and gentle: a few bad guys fly around, but for the most part you just need to focus on swallowing the food pellets. Each time you clear the screen, the game levels up and things get tougher. If you find the first few levels easy, Vacuum Magic lets you skip to a later one when you create a new game. With around 100 levels to choose from, you'll find the right difficulty level for your skills in no time.
Where is the fun in cluttering up your desktop with loads of files if you can find the one you want too easily? Denied of the eyebrow-singeing rage customarily generated by fruitless searching for the file you just downloaded, you might turn into a nice person and pass your day in a happy and joyous mood. What's to be done? Downloading random images for your backdrop will certainly make searching a little harder. That important file you left just by that kitten's right ear now appears to be nestling between some mountain peaks.
Wally is an easy-to-configure applet that will automatically download new desktops for you at a specified time interval. As well as the boring, but sometimes useful, random selections from a directory, Wally will also fetch suitable backdrops from a number of web services, such as Flickr. Each source can be configured with appropriate settings (eg setting a search tag for Flickr) and you can relax safe in the knowledge that the desktop will change on a regular basis.
Before you get too excited though, be aware that Wally requires Qt 4, and will only work on particular window managers, which at the moment does not include KWin for KDE 4.x. If you're running Gnome or a less than recent distro, it should work fine though.
Wally uses Qt for the interface, and uses the Qt make tools to build, so when you are compiling from source (only Windows binaries are available from the website) you need to change your routine a little. In the main directory just type (as root):
qmake make make install
There shouldn't be any problems building this simple app, but if you do run into errors it is most likely because you don't have the headers for the Exif library installed. Exif information is metadata stored by digital cameras in the pictures, which Wally uses as overlays. It's an essential requirement, so you need the libexif-devel package for your distro too.
Once it is built and installed, you just need to run wally from the command line for a world of ever-changing backdrops.
Wammu lets you manage your mobile telephone from your Linux box. Written in Python, with the WXPython toolkit; it uses Gammu as a back-end. Wammu supports a number of telephones- particularly Sony-Ericsson, Nokia, Motorola, and most Symbian devices. Supported phones are listed in the Gammu phone database, along with all of the supported features, which can be accessed directly from the help menu.
Wammu is available readily packaged from most distros, with Debs, RPMs and source code available from the website. You'll want to make your phone discoverable by Bluetooth, connect a USB lead or check your laptop's infrared magic is working: then you can use the wizard to discover your phone, and connect.
The most common use for Wammu is to download contacts, calls, text messages and calendar items. Any Gammu (or Gammu+) app can save downloaded data as a file, and you can export messages as email. But it's not all one-way traffic: contacts, calendar items and to-do lists can all be composed on your PC and uploaded to the phone. You can also compose SMS messages, saving you the agony of predictive text and tiny keys.
Some phones can have other files uploaded and downloaded, including ringtones, and each release improves multi-media support in SMS composition. Check out the detailed feature list for support for your model of phone.
When is a calendar app. No, that's not a surreal question, the name of this calendar app is 'When'. When is not a fancy PIM, it's not a Google Calendar rival, it's just a simple, easy-to-install, Unix command line summary of what you need to do on a particular date.
To get started with it, run when e to set preferences, such as default text editor. This also creates a ~/.when directory with files for your preferences and calendar information. Append each new calendar entry to the end of the calendar file, and When will output them in order. By default it lists the next two weeks, but you can call it with different options to list the whole month or year, for example (see screenshot, right).
Regular meetings may be added:
w=Tue,7.30PM Choir rehearsal
...as can birthdays and anniversaries. Adding When to your .xsession config file in your home directory will give you a calendar reminder every time you log in.
As Free Software apps grow and mature they sometimes become too complicated for those of us with simpler needs - thankfully, When is not one of them.
One of the hardest things about moving to a new Linux distribution is the point at which you realise that your favourite packages just aren't available in that distro's repositories. We've nothing against compiling software from source, but it's much faster to install using a package manager, and you'll never have to worry about installing dependencies. Well now you can check your intended distro before you make the switch, and what's more you can find out the precise version number and which repositories carry that package.
Whohas works on a simple concept: check a given package name against various repositories. Where it excels is in the amount of detail and the number of distros that it checks; it covers most of the popular distros, as well as some of the BSDs and the Fink MacPorts repositories.
As Whohas is a command line tool, it's pretty easy to pipe the content out to another file or filter it according to your requirements. You'll get the version number of the package, as well as the repository that the package is located in, which can be invaluable for people who need to know which version of a package ships with a distro.
There are a couple of downsides, as it can produce perhaps too much data at times, unless you're precise with grep, and also support for Fedora isn't included although the developer is looking at it.
This brings us to our next point. Whohas has been around since 2005, and is essentially a Perl script that can be freely modified, but we can only see the hand of one developer; this useful project would definitely benefit from some more people being involved.
There are some productivity tools that are highly contagious, and quickly find their way into your daily life to become a key part of the way that you work. The most basic of these is the keyboard shortcut, allowing you to access commands that you need at a quick press of a memorable set of keys. We know that we'd be lost without Ctrl+C and Ctrl+V.
Taking it one step further, there is the advent of utilities such as Gnome Do that enable you to launch applications by entering the first few letters of an application's name. Then there's the venerable keyboard shortcut of Alt+Tab, which brings up the application switcher and moves between windows in both KDE and Gnome desktops.
Now there's a small application called WMJump, which allows you to switch quickly to the application of your choice by hitting a key on the keyboard. The menu itself is pretty clear: the line with a snowflake on either side of it denotes the currently active window, and all you have to do is hit the key to switch to that particular window.
Making the switch
There's not really much else to WMJump; it's designed to be simple and easy to use. The order in which the windows appear in the menu is taken from the order in which the windows appear in the task bar, with the far-left window being controlled by the A key, and incrementing one letter at a time as you move to the right.
Of course, being the awkward sods that we are, we just had to try it with more than 26 windows. Unfortunately the application can't cope with more than 26 windows open at any one time; it doesn't give you the option to use the numerical characters, but to be fair to WMJump, it's highly unlikely that you'll ever have more than 26 windows open simultaneously. If you're going to use it under Gnome you'll need to do some jiggery pokery with Gconf-editor to edit the keyboard shortcuts for the Metacity window manager.
97. Word War Vi
Old-school arcade games are good, but put a geek twist on it and they become irresistable. Word War Vi is a side-scrolling shoot 'em up that puts an urgent focus on the old Vi vs Emacs debate.
You must pilot your craft through core memory to rescue lost SWP files. On your mission of mercy you must avoid the OS defences and wipe out "memory hogging Emacs processes." It's clear from this that the author has a strong position in the editor wars. Fortunately he also has a sense of humour, as do most of the Emacs-lovers at TuxRadar - it must have caught us on a good day.
You start the game by hitting Q (for quarter, apparently; a 25c coin to start an arcade game). In fact the keyboard controls are all odd: it uses Vi's traditional HJKL direction keys (you can use arrows instead), Z or space bar to fire signal number -9 (laser), B to inject NULL pointer into execution stream (drop a bomb), and C forks to evade pursuers (throw chaff).
To install, untar the source code package (tar xvf packagename.tar.gz), change into the directory with cd then type ./configure followed by make install as root.
This is very old-school arcade, with noisy sound effects of gunfire and explosion. The rock-based soundtrack, recorded by the author and his friends, adds to the fun. As you go up through the levels things become even more frenzied.
Development is rapid, with bugfixes appearing in CVS every week. If you mis-spent your youth in arcades, or on 8-bit PCs and consoles, you'll need no more prompting to try this. If you missed out on 80s games, you might want to dive in now; at least you'll have an answer if anyone asks: "What did you do in the Editor Wars, daddy?"
Worms was such a fine concept - mindless cartoon violence, and cute animals - that this is not the first clone that we've seen, but this is our first look at the multiplatform Wormux.
The developers of Wormux describe their brand of cartoon violence as "convivial mass murder", and refuse to take anything too seriously - other than the very professional production of the game, which even has cover art available to anyone wanting to make a bootable game CD!
Loading the game starts the traditional arcade music, and lets you choose you team and the battleground. If you've never played any one of the Worms family of games, what you get is a 2D platform of brightly lit cartoon worlds inhabited by cuddly mascots with a large choice of ferocious artillery. What follows is a turn-based selection and firing of said weaponry to produce maximum damage. It won't occupy you deeply like a strategy game, but it'll keep the kids happy for half an hour.
This is the first stable release with network support, and also enables a single-player game by giving other characters the name 'AI-stupid'. Perhaps not as much fun as gathering round the PC with friends, but still very entertaining. Wormux's geekiest feature is the array of mascots that represent each team. You can be the Firefox fox, a GNU, Tux, or mascots from Konqueror, PHP, or one of a score of other FOSS projects.
If you're still running the beta version that ships with Ubuntu Hardy, upgrade for the minimap, improved sound cache and new weaponry - and if you've not tried Wormux yet at all, packages are available for all of the major distros, so give it a go.
Have you splashed out on a big LCD monitor recently? If so, you'll find some of your hard-earned money has gone on screen space to display useless window borders. If you've bought one of the new mini-marvels like the Eee PC, you'll be even less willing to give up your precious pixels for window decorations.
A whole school of minimalist window managers exists to liberate your screen space and free you from unnecessary mouse use. Xmonad is a newcomer to this efficient cadre of downsized GUIs, and recent development has been brisk. Xmonad is written in Haskell, a programming language also used in the Darcs revision control system. Packages are available in Ubuntu and other distros, and pre-built binaries are available for other distros and the BSDs, but building from source is easy. Grab the latest tarball from the Xmonad site, or check out the latest code from the Darcs repository. You'll need the Glasgow Haskell Compiler (typically named GHC6 on most systems) and X11 headers (which can normally found in a package named libx11-dev if they're not already installed).
Under your fingers
Working in Xmonad is easy, but you'll need to take a few moments to learn the keyboard commands. Alt+Shift+Enter opens a terminal; doing it again opens a further terminal tiled with the first. Alt+Space tabs between tiled view and full-screen for the focused window. Alt+J and Alt+K tab the focus between panes, as does the mouse. Other combinations move the focused window to different panes, and resize individual panes. Clicking and dragging will float a window, while Alt+T will bring a window back down to the tiling layer.
And there's more...
Beyond the power of Xmonad out of the box, there's much more that can be added on. Dmenu gives access to every app in your system, and is easily downloaded, untarred and installed. Once it's on the system, hit Alt+P and the menu appears as a line of program names along the top of the screen. Start typing the name of the program that you wish to launch, and choices on that top line narrow until you get a unique option, though you can select from the apps on the menu at any point.
The xmonad-contrib package contains hooks and extensions to alter the layout and tiling algorithms, change the font rendering, and various shortcuts for prompts, SSH and more. Writing or modifying a module for the xmonad-contrib package is a useful way to try out some practical Haskell coding. Haskell is sufficiently different from most other common languages to provide a new way of looking at programming.
Nearly all Unix window managers give multiple desktops - something that users of most other operating systems miss out on - and Xmonad is no exception. By default there are nine workspaces, reached via the key combinations Alt+1 to Alt+9. If you have more than one monitor, each can view a different workspace, or you can use Xmonad with Xinerama to run the display across as many screens as your graphics cards can manage.
This latest release can be a drop-in replacement for Gnome's usual window manager, Metacity. This will typically involve editing ~/.gnomerc to add:
...then tweaking Xmonad to make space for Gnome's panel and status bar. You can disable Nautilus with:
gconftool --type boolean --set /apps/nautilus/preferences/show_desktop false
Other necessary tweaks, particularly changes that must be made in ~/.xmonad/xmonad.hs, can be found on the Haskell wiki, which has links from the Xmonad website.
Zile stands for Zile Is Lossy Emacs - in other words, Zile is a cut-down version of Emacs designed to give you a basic editor where space is constrained, such as floppy rescue disks and embedded devices.
Many of the key bindings and function names are the same as on Emacs, so those familiar with the greatest of editors won't find Zile much of a stretch. Zile also offers much to appeal beyond the Emacs fanbase. For example, it can display multiple editing windows on the terminal - not something normally found on such a tiny editor. You are limited only by memory when it comes to editing multiple files, and you can undo edits back to the beginning of the session.
As with Emacs, commands are typed in the mini-buffer, where file, command, and variable names can be auto-completed. In a very small space Zile provides a very usable editor, with more power than the rivals normally found on rescue disks and embedded systems.
Emacs power users will run up against missing key sequences, and Vi lovers may carry a natural antipathy towards all the Ctrl+Meta+Alt+Shift pressing involved in an Emacs session, but Zile packs a lot of power into its compression of Emacs.