FOSSPicks

hexyl

Hexadecimal, as everybody knows, is base 16. This means you can represent 16 values with a single digit, 0 to 9 and then A through F for the additional six values (where A=10 and F=15). It's often used to view memory and binary files for a couple of reasons. Firstly, it's more compact than decimal – a single digit can hold more data and consequently, doesn't require so much screen area (or 1970s printer paper). But more importantly, computers thrive on working with 8 or 16 values, thanks to their architecture. When viewing hexadecimal, you're able to decode more than the literal value for any one location; you're actually able to see patterns and even raw data emerge because the view can represent the way data is physically passing through memory. This is why a hexadecimal viewer is still an essential utility to have at hand, especially if you're interested in how files are stored or how an executable may work.

One such tool, hexyl, couldn't be any simpler. It's driven from the command line and takes a filename as an argument. The only other potential argument is a value to adjust the number of bytes read from the input. This is useful if you're trying to view something large, such as a swap file or even a virtual device such as memory. But the best thing about hexyl is how clean the output is. There's no superfluous detail, with the same three columns you traditionally see in hexadecimal viewers and editors – the starting location for a row, the hexadecimal value for each location for the input shown on the left, and an ASCII rendering of those locations on the right. Locations are colored according to their type: NULL bytes, printable ASCII characters, ASCII white-space characters, other ASCII characters, and non-ASCII. This makes it very easy to correlate the ASCII output with that data's location within the main view.

Project Website

https://github.com/sharkdp/hexyl

Hack those high scores and high score tables with an old school hex viewer.

File sharing

weborf

Last month, I looked at a fantastic command-line tool called wormhole that can magically and securely transfer a file from one machine to another. The best thing about wormhole is that it's easy to use – you run the command with a file as an argument and a few keywords appear. All your potential recipient has to do is type the equivalent receive command with those keywords and the file will be automatically transferred. It's perfect for one-off transfers, but it's not all that great if you want to share more than a single file or leave the tunnel open so that you don't have to keep renegotiating keywords. There are of course lots of ways this can be done, but weborf attempts the task while remaining almost as simple to use as wormhole.

Rather than being a command for one-off transfers, weborf actually sets up a simple HTTP server, just like running Apache in the olden days to share the contents of /home. This makes it supremely flexible, not just from a web browser, but from almost anything with access to the network using WebDAV, with caching, even from virtual hosts or running CGI scripts. You simply run the server command with an argument for the port to use and a folder to share, and all the client has to do is access your IP address with the correct port. It can be run in the background as a daemon, use certificates, handle authentication with your own tools, and listen only for connections from specific IP addresses. If the command line offers too many options, a convenient Qt-based GUI can be run to handle all this semiautonomously, even adding the ability to do NAT traversal to share files outside of the local network and sending directories as .tar.gz files.

Project Website

https://github.com/ltworf/weborf

Sharing files over HTTP can be done quickly, conveniently, and securely without the need for either Apache or Nginx (or python3 -m http.server!).

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

  • 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

    Graham has been playing with the source code to the amazing Mutable Instruments Eurorack modules. The company is closing, but every firmware to every product is open source. Merci, Émilie Gillet.

  • Kick-start Your Brain with Scribble
  • Lakka

    With the right software, you can turn the Raspberry Pi into a versatile console for retro games.

  • MusE 4

    MusE, a digital audio workstation, offers a free software solution for MIDI projects on 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