Sparkling gems and new releases from the world of Free and Open Source Software
ImHex
Hex editors are cool. Even when you don't know what you're doing, they can be a thought-provoking tool to play with. Hex, or hexadecimal, is a number system that represents 16 decimal values starting with 0 as a single digit, with 0 to 9 followed by a, b, c, d, e, and f (for the double digit decimals 10 to 15). This is useful because computers typically process binary values in multiples of 16 bits, which are easily represented with a single 0 to f character in hexadecimal. This is what hex editors do, and they're an acute reminder that despite all appearances, your computer really is just iterating over a set of instructions with a set of data. Even the humble xxd
command, which simply creates a hexadecimal dump of its input, can reveal the hidden secrets of whatever binary files you have read access to, from the crude text strings programmers often compile into their code, to the data structures they use to hold values.
ImHex has far more features than xxd
and is likely to appeal to those pursuing more ambitious projects. It's one of the most powerful hex editors we've ever seen, with a sprawling desktop GUI that can quickly become complicated but that easily competes with popular commercial editors for other platforms. The "Im" in the project name is used to denote that ImHex has been built with Dear ImGui, a graphical interface library for C++. It's fast, powerful, and efficient, and it allows developers to quickly iterate over their design ideas. You can see this in the application itself, as every pixel has been made to count, with very little space for superfluous design. The main window acts as a dock for the various smaller panes you can enable or disable. These can either float freely, or be dragged into various docking positions within the main window. Every pane is filled with details, often with draggable borders to make use of any empty space. This can make the application difficult to use on a high-DPI display, but it's also excusable at the moment. The project is nascent, and while there's no way to currently configure the scaling, or change the default dark color palette, these options will surely come.
The lack of configurability does not mean functionality suffers in the same way. The development focus has obviously been on creating a full-fledged powerful hex editor first, and ImHex goes way beyond viewing and editing binary files. The editor is still the heart of the application, but it also lets you copy bytes, strings, arrays from popular languages, and various markups. These functions are augmented by the floating and dockable panes, which include a disassembler that can convert ARM, x86, PowerPC, SPARC, M68K, and other binaries into their native CPU instructions. This can help with debugging, but also with reverse engineering. It works well with the analysis pane, which visually shows the distribution of byte values across the file and can help you discern which parts are compressed or encrypted, or contain text or instructions. It will even attempt to decode magic file values, such as MIME type, and how you entropy values in a graph. There's a tools pane that shows ASCII and color values for quick reference, a string tracker that can help you track values through the file you're analyzing, and a regex replacer that can simplify making batch edits across a file. ImHex includes everything you need to analyze and unpick all kinds of files and executables from all kinds of legacy and modern systems and rip them into their constituent threads. Both figuratively and literally.
Project Website
https://github.com/WerWolv/ImHex
Stock trading simulator
TradeSim
It's difficult getting into trading stocks because it involves learning with real money. Even the free simulation sites are typically linked to real trading portals, which will then try to tempt you into their paid-for accounts after they've no doubt created a model for your behavior from the data you've provided them. TradeSim doesn't have that problem because it's the open source beginnings of a game you can play on your local machine, and it starts with importing a set of data you can use to test your instincts. The package includes access to Euro and GBP to USD currency databases from 2019 and 2020. They can be downloaded in-game, but also manually as an SQLite database from the project's GitHub account. With these imported, you create a new simulation from the start wizard, give yourself some arbitrary credits and start the game.
The aim of the game is to make a profit; buy at one price and hopefully sell at a higher price. The main window shows a candlestick chart for the beginning of the time period in the selected database. This candlestick chart will be familiar to anyone who's dealt with stocks or digital currency. They're like bar charts, with variably long rectangles going up or down, colored green or red respectively. Each rectangular bar has a variably long stick (their wicks) in the middle of the top and/or bottom sides, and they look a little like candlesticks. Either end of each bar is the open and close price for a time period, while each end of any wick is the highest and lowest price offered in the same period. They allow you to judge demand, and it's supposedly possible to recognize certain patterns as trends on which you can predict and capitalize. Press play in the game and time moves on automatically through the data. This is where the game element comes in, as TradeSim tracks your profits and losses as you buy time points in the chart. It's brilliantly executed. While it's early days for the game itself, we can't wait to see how it develops.
Project Website
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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.
News
-
OSJH and LPI Release 2024 Open Source Pros Job Survey Results
See what open source professionals look for in a new role.
-
Proton 9.0-1 Released to Improve Gaming with Steam
The latest release of Proton 9 adds several improvements and fixes an issue that has been problematic for Linux users.
-
So Long Neofetch and Thanks for the Info
Today is a day that every Linux user who enjoys bragging about their system(s) will mourn, as Neofetch has come to an end.
-
Ubuntu 24.04 Comes with a “Flaw"
If you're thinking you might want to upgrade from your current Ubuntu release to the latest, there's something you might want to consider before doing so.
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.