Fresh from the Lab
deco is great for people sick of typing tar -zxvf, -jxvf and so on. According to the project's Web site, “deco is a generic archive file extractor that has a consistent command-line interface (deco 1.tar.bz2 2.zip 3.flac 4.rar 5.deb will just work) and consistent behavior (it never deletes archives after extraction, it extracts relative to the current working directory, and it extracts just verbosely enough, all unless explicitly requested otherwise). It provides automatic handling of extractor gotchas by creating an extraction directory if there is more than one file or directory at the archive top level and by being able to fix strange permissions. Dozens of archive file extensions are supported out of the box, and adding support for others requires very little work.”
At the time of this writing, deco is available only as a source tarball; however, installation is easy and unlikely to cause any hassles. After extracting the archive and entering the new directory, doing a standard:
$ ./configure $ make (if not root) $ su # make install
worked with no issues, and probably will do the same for you, as it doesn't have a large amount of dependencies.
The general usage is simply:
$ deco filename.tar.gz
That's about all there is for most people—short and sweet. But, what tricks lie under the hood? There are all sorts of neat optimizations.
For instance, usually Linux projects are placed in a directory within an archive to keep source directories from becoming cluttered. Unfortunately, archives sometimes have files placed straight in them, without being placed in a directory. This fills up your source directory with all sorts of unwanted files that also may be overwritten. deco places an archive's extracted contents within a directory to keep things clean. Cleverly, if an archive already has its contents contained within a directory, deco extracts the archive as is. If not, deco places them within a directory named after the filename, minus its extension.
For example, if I had a file called tuesday-jam-session.tar.gz, deco would place the contents under the directory tuesday-jam-session.
If you want further control, such as deleting the archive after extraction and so on, this also is possible with a series of command-line switches, available on the project's Web site. Even if you're happy with the way it works already, it's worth reading the site to see some of the other options available, and also what neat tricks and shortcuts lie under the hood.
Something to keep in mind is that the deco project doesn't try to re-invent the wheel—it isn't monolithic. It's reliant on having the necessary external extraction tools available, such as unrar for .rar files and so on. However, this is the approach taken by most archive tools, so most people expect that anyway. Nevertheless, it wouldn't take a great deal of work to include all these external programs in one big package, so any enthusiasts of the project may want to do just that. Although it's currently available only via source, hopefully it will make it into most distro archives soon.
Overall, deco is a lovely little program that is likely to save many a tired, caffeine-fueled coder some midnight grief and make computing just that little bit nicer.
orDrumbox is a small, Java-based drum-machine applet that runs on Linux, Windows and Mac OS X. Designed less for the drummer and more for the desktop DJ, orDrumbox quickly makes funky mid-tempo electronic tunes with beats and inserted samples. Developed using Java, this drum machine is highly portable and lightweight, which is ideal for DJ enthusiasts jumping between machines and showing their friends.
As far as packages go, the only Linux binary available is an .rpm (not handy as I have a Debian-based system). Source code is available, but it is zipped and for Java, and not everyone will have a compatible compiler. I downloaded the .rpm and converted it to a .deb using alien, which is not difficult; check the alien man page for more info. Thankfully, it converted and installed with no major issues. When I started the program though, it required a particular version of Java, jpackage-utils (see www.jpackage.org, also available on rpmfind.net). This had no Debian file either, so I had to use alien on this package too. Luckily, there were no complaints here either, and after these two steps, the program simply worked.
To start the program, enter orDrumbox.sh into your shell. If all goes well, the program now should be working. If you look in the top half of the orDrumbox screen, there should be a window called Pattern 0 (Edit)—this is where most of your work will happen. If you look to the right of the box containing a 4 at the top of the window, you'll see a gray and yellow box. Hover your mouse over it, and it will say, “create new track”. Press this a large number of times (14 and up for the default drum kit), as each line creates a new instrument with which to play. On the left of each line are the controls for each instrument, including volume and so forth. On the right is the Note Editor area.
With the Note Editor, double-click any of the boxes, and they will change from white or gray to green and red. The green tells you what note will be played, and you'll see there are two red sliding bars: one going from bottom to top, the other from left to right. The bottom-to-top slider controls the note velocity, and the left-to-right slider determines the note and octave played (or the pitch). It defaults to C2, but it can be tuned up or down accordingly. Click randomly in any of the boxes, then click the large play icon in the bottom center of the screen. A beat will start playing—probably a strange one. Try changing the pitch and velocity randomly, as well as adding new notes and removing old ones to see how it affects the beat. To remove any notes, simply right-click in the note's box and choose delete note.
This should be enough to get you started on beats, but you'll need the user manual to get more involved and create whole songs. Check the manual available on the Web site, and try out some of the custom drum kits available too. There are some limitations with the scalability of the program, and the biggest limitation is that it's limited to 120BPM. This is enough for most electronic and dance music, but it's unsuitable for genres like punk, speed metal and so on. The sounds that are provided with these kits really are geared for more electronic genres anyway and will sound strange with anything rock-based, so those into fast rock genres will want to stick with something like Hydrogen. Overall, this is a fun little utility that will find its way into the hearts of many a home DJ.
John Knight is the New Projects columnist for Linux Journal.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- Doing for User Space What We Did for Kernel Space
- SuperTuxKart 0.9.2 Released
- Parsing an RSS News Feed with a Bash Script
- Google's SwiftShader Released
- Rogue Wave Software's Zend Server
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide