Skip to main content

Resetting a USB SSD For Optimal Performance

usb-logo.png

Pulling out an older SSD device from the shelf for re-use, I realize that because of the "weirdness" of SSD devices, I should reset the device beofre using it to refresh the NAND storage in it. As always, I want to do this from the Linux command line, so my first attempt was to search the man-page of smartctl for the string erase. As this yielded no results, it only took about 5 minutes from looking for a solution on the Internet to actually doing it. And this without using any LLM to do the job for me. And I even learned something new.

Read more… (5 min remaining to read)

Btrfs and Compression

btrfs.png

The btrfs filesystem sports some real cool features, like snapshots, automatic de-duplication and automatic compression. This post will look at the latter one, i.e. automatic file compression on file system level. This is a very cool feature, so let's just see a short console transcript of interacting with it.

Read more… (2 min remaining to read)

Orgmode And Tikz Diagrams

ob-tikz-example.svg

I have written a lengthy post about my usage of diagrams. This is just a short reminder to myself, that there are also LaTeX tools to generate diagrams. The TikZ tool especially is very interesting as it can do amazing stuff. I wondered how difficult it would be to use it from my setup. Turns out it isn't.

Read more… (1 min remaining to read)

iCAL STATUS Support In Fossify Android App

fossify-horizontal.svg

Using shared calendars with my wife is a very productive aspect of todays digital tools. As we coordinate more and more things in this domain, I have learned to love the STATUS property of iCalendar entries. It immediately tells me if a calendar entry is a real, i.e. fixed and confirmed entry, or if it is just a blocker so that other planning can take into account that the dates are not yet finalized. The usual calendar apps (NextCloud Calendar, Thunderbird, Fossify) display this information in an intuitive manner, but I found out that the Android app fossify (fork from simple-tools), does not allow editing this property of an entry.

Whenever I need something in a Free Software project, but it is not there, I eventually come to the conclusion that I could implement it myself if I need it "bad enough".

So let's find out another time, how Free Software empowers users.

Please note that this blog post was lying dormant for some months, so the situation probably has already again changed upstream.

Read more… (7 min remaining to read)

Empowerment Through Free Software

fsf-member-badge.png

Due to having ordered a new multi-function printer, I find myself wanting a feature in my software stack, which seems not to be available. But as I use a Free Software GNU/Linux system, it is possible to modify and extend the software on every level, so I decide to find out if I can fix the problem myself.

Specifically, the new printer has a document feeder for the scanner, so that I can feed a whole stack of documents to it without manual intervention. Unfortunately, it is not able to do both side scans, as this feature is only available at a much higher price tag. But double-sided scanning can be done in two batches by first scanning the front sides, and then in a second batch the back sides. The scanned pages then need to be reordered in a post processing step to group the corresponding front- and back sides. Already with my own scanner, I am pretty happy using the default scan software from the GNOME desktop, i.e. simple-scan. I used the GUI to remove pages and reorder them manually, but I did not find such a functionality that I would now like to use. So the topic for today is how to make this work, ideally before the printer arrives.

I believe this to be a very good example of how empowering Free Software is, and so I decided to document all my steps in order to show how I approach this task, which is completely inaccessible for people working with non-free software. Actually I invite you to reproduce the steps on your own distribution to get a feeling on how easy (or difficult?) it is to work on an arbitrary aspect of the whole system.

So fire up your terminal and follow along! Expect some transcripts!

Please note that this blog post was lying dormant for some months, so the situation probably has already again changed upstream.

Read more… (15 min remaining to read)

Firmware Updates on GNU/Linux

lvfs-logo.jpeg

Modern PCs have many hardware components needing their own firmware to run. As always, when software comes into play, there is a need to update this firmware. Unfortunately, this has been done in vendor dependent ways in the past. The Linux Vendor Firmware Service set out to become a vendor independent platform for doing this in a generic way. In this post I want to share a few transcripts to show how this works in practice.

Read more… (13 min remaining to read)

Updating a Risc-V system to its latest Yocto release

Having a RZ/Five based Risc-V board lying around in my office made me wonder what its latest supported GNU/Linux software would be. So I dusted off the old SMARC based EVK and connected it up.

Sure enough it booted from its internal eMMC as no SD card was plugged in. With the board working, it should not be too difficult to get the software to the latest version. The route I chose was not without problems, but instead of glossing over them, I decided to write it down completely. May be others can learn from my errors.

risc-v-logo.png

Read more… (10 min remaining to read)

MicroPython on Zephyr - MCXN947

In my recent post on MicroPython I looked at the Zephyr port of MicroPython on the i.MXRT1060 EVK. As that board has an SD card connector populated, I was able to use an VFAT SD card for storing Python programs. For the FRDM-MCXN947 the situation is different. Although the MCXN947 micro-controller features an SD controller, the Freedom board is lacking the actual SD card connector as it is not populated, probably to save money. As I am a software guy, mounting this SMD connector is more difficult than looking for software alternatives, so let's find out if we can use the internal flash or the external QSPI as a file system instead.

micropython-logo.jpeg

Read more… (7 min remaining to read)