If there's one trait that seems extraordinarily common to people in the Linux and open source communities, it's the desire to deconstruct a process so it can be rebuilt better. You see this in software development, but it also reaches into many other geek-friendly niches, from retro-computing and circuit design through to craft beer brewing and creating the perfect coffee. It could be because these subjects require a lot of data and a lot of parameter tweaking. In beer brewing, for example, even a simple brew requires a complex recipe, varying temperatures and pressures, and particular carbon dioxide levels. It's also why software like BrewPi and Fermentrack, both of which we've previously looked at, produce such good results. They manage the data processing for us and allow us to track and create the perfect reproducible brew.

The realm of coffee brewing is the same. Whether it's at the roasting stage, the grinding stage, the tamping stage, the brewing stage, or the frothing stage, coffee presents limitless options for tuning, adapting, and perfecting. Artisan can at least help with the first of these. It's an open source application that does for the coffee roasting stage what BrewPi does for the beer brewing stage. It connects to many popular heating mechanisms designed for coffee bean roasting and allows you to monitor and control everything about the roast. This collection of metrics then becomes a profile that can be used to perfect your next roast. The main functions include a profile analyzer, roast comparator, profile transposer, and roast simulator. The analyzer is the heart of the application, as it maps incoming data to curves and sets profiles. A second profile can be loaded into the background for comparison, and the transposer helps you map profiles from other hardware. You can then run the simulator to engage the hardware without wasting the beans. It's complex, but much easier than writing this stuff down or controlling it manually.

Project Website

The analyzer is the heart of Artisan, as it allows you to track many different values across roasts and easily view and compare the most important values at any time.

Hexadecimal editor


Back in the olden days of home computing, after your pocket money had run out and you'd completed your last computer game, the only thing left to do was revisit the games you'd long since finished. But this didn't necessarily mean replaying them. With the help of a cartridge like the Action Replay on the Commodore Amiga, or a dismantled joystick button located between two serial port pins on a Commodore 64, you could reset your machine whilst keeping what was previously running in memory. You could then carefully peek and poke your way around the RAM – easily with the Action Replay – and even sideload a memory editor, allowing you to explore a disassembly of the original game code alongside the raw image, sound, and level data from which the game was built.

In the 1980s and early 1990s, hardware limitations meant the code and data you could view was typically free of the hardware or operating system abstraction you generally have to deal with today. Executables on Linux, for example, are compiled against many different libraries running at many different levels, and the running binaries themselves are often confined from accessing anything outside of user space. But that doesn't mean there isn't fun to be had and insights to gain by looking inside those binaries. Reverse Engineers' Hex Editor (rehex) can do this because it has been developed to help you get the same kind of insight into how binaries run that you might have gotten by pressing the red button on an Action Replay. It will load a binary, or any other file, and show its contents on a hexadecimal grid, even files greater than 1TB in size. You can edit these values and conveniently view them as various decoded value types, which is useful when you're looking for specific patterns. But what makes rehex really special is the integrated disassembly of an executable's machine code, similar to those old '80s hacks, and equally as liberating – even in the modern era.

Project Website

The rehex hex editor also disassembles a binary, allowing you to explore how an application actually works.

Buy this article as PDF

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

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

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.