FOSSPicks

just

Command runners are curious things because there are so many ways to automate the running of commands. Shell scripts are the simplest and probably the most widely used. If you can type commands into a shell, you can type them into a file and run this separately. But they're also prone to errors, and not particularly resilient to changing environments, location, or systems. At the other end of the scale is a makefile, which has a heavy syntax of its own for running and controlling the commands it runs. The strangely named just is just another example, and it bridges the best of both worlds. It makes command automation as easy as writing a script, but also as potentially programmable as a makefile.

The commands themselves are grouped together into a YAML-like text file called a justfile. These recipes are easy to build and read but are also deceptively powerful. At their simplest, you create a label followed by an executable command, and running the just command followed by the label will run that command. All output is included, as are comments and other feedback from the recipe. But this is just the beginning. Recipes can also include settings, arguments, variables, substitution, and even built-in functions. You can also include conditional expressions, and these are useful for iteration and parsing output and usually more generic than their shell script alternatives. All of this is beautifully documented in the project's main README file. Despite the breadth of functions on offer, it's easy to understand and use yourself. Unlike a makefile, which requires encyclopedic knowledge of the syntax before you even start, just is fun and easy to use. If you ever find yourself running the same old commands over and over, perhaps on different machines on different distributions, just can be a more practical and pleasant experience.

Project Website

https://github.com/casey/just

Create batch control scripts, conditional scripts, testing scripts, and even run and parse native Python commands with just.

CD ripper

Whipper

The name of this command line application seems reminiscent of Devo's definitive 1980s song, "Whip It." This isn't perhaps surprising considering we're dealing with a distinctly 1980s piece of high technology, the audio compact disc. But it's more likely, and less interesting, that the name comes from the act of ripping – copying the data from an audio CD to your computer. Your first thought might be why are CD rippers still relevant in the third decade of the 21st century, and there are two answers to this. The first is that despite a plethora of streaming services, very few serve digital audio at CD quality. Most offer streaming only via lossy compression, and CD audio delivers a gloriously uncompressed 16-bit value, 44,100 times a second. The second is that you can't always stream or buy everything that was available on a CD. Even if you can, it's probably been remastered beyond recognition. This makes many of the original CD recordings the definitive article and still worth ripping.

The ripping process itself is also surprisingly complicated. This is because while the audio data is digitally encoded on the disc, the optical diodes used to read the data are analog and can introduce read errors. While there is some error correction, it's not always enough to guarantee the integrity of the audio data, which means multiple readings and averaging are often required. And this is what Whipper does, "aiming for accuracy over speed." It can detect hidden tracks, read offsets, perform re-encoding, and correctly name and tag the extracted music files. It can also use AccurateRip's drive offset database to set drive offset values to correct known drive misalignment, although you'll need to be using one of the drives already listed. And that's likely to be the biggest problem if you want to finally rip your audio collection – finding a modern computer with an optical drive that can read audio discs.

Project Website

https://github.com/whipper-team/whipper

If you can find a CD drive, Whipper can rip your favorite CD recording.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • MusE 4

    MusE, a digital audio workstation, offers a free software solution for MIDI projects on Linux.

  • Free Software Projects

    Linux is a wonderful and underrated audio production platform, with great applications for every audio task. MuseScore and LilyPond bring elegance and sophistication to score writing, and Chordii is a wonderfully simple guitar sheet-music maker.

  • FOSSPicks

    This month Graham fires up MuseScore 3.0, hexyl, weborf, Chrono, and several other useful Linux tools.

  • ChordPro

    If you play a stringed instrument and want to record lyrics and chord changes, ChordPro gives you an elegant and convenient approach to getting it all on paper.

  • Streaming with Icecast

    For live Internet radio, you need a streaming server. We’ll show you how to get started with Icecast, an open source streaming alternative for Linux.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News