Mini Commander - an experiment to create software with AI

I use Midnight Commander on daily basis and I am a big fan of it. As an experiment, I decided to try to create simple clone, which I called Mini Commander. However, I didn't write much of the code. Rather, the code was generated by Chat GPT-4 upon my instructions.

The process of creating software using ChatGPT4 is very interesting. Basically you have to guide the chatbot to do what you want, so you need to have some basic understanding of programming, but you do not need to know the syntax of the particular programming language, the chatbot can handle that for you.

If you are interested, check out Mini Commander at Github :)



Slax's Recent Release: A Tale of Challenges

Last week marked a significant milestone for me as I released the latest version of Slax. Slax, for those unfamiliar, is a modern, portable, small and fast Linux operating system with modular approach and outstanding design. However, like any software release, it wasn't without its challenges.

The Slackware Hiccup

In my enthusiasm to refine and optimize, I made a last-minute decision to remove the devel-tools module, which I use during preparations of Slax based on Slackware. Little did I realize that this module housed crucial libraries for the X panel (xfce4-panel). As a result, the Slackware version of Slax faced issues. It's an unfortunate example of the unforeseen consequences that can arise from even well-intentioned changes.

The Debian Dilemma

While the Slackware version had its problems, the Debian version wasn't without its own set of challenges as well. A leftover whiteout file (.wh.*) in the chromium module led to an unexpected behavior. It gave the appearance as if the entire /root/.fluxbox folder had vanished into thin air. Consequently, the default fluxbox configuration was initiated, which was not the intended outcome. For users familiar with Slax, this was a noticeable and unintended shift :)

Rising from the Challenges

Acknowledging these issues, I immediately set to work. It's essential to understand that in the world of software development, challenges are not setbacks but opportunities to refine, learn, and grow, right? :) I'm pleased to announce that both the issues have been addressed and rectified. Updated ISO files have been released to ensure users get the best experience possible.

Moreover, the Debian version of Slax has been updated to version 12.2. and the Slackware version has been updated to align with Slackware current.

In Conclusion

Releasing software is a journey filled with excitement, anticipation, challenges, and learning. The recent release of Slax was no different. I'm grateful for your feedback and patience!

As usual, enjoy the new release, which you can download from www.slax.org



New Slax - Key Features and Enhancements

It's my birthday today (turning 44) and I am thrilled to introduce the newest version of Slax, your only pocket operating system. This update is available for both of its bases: one that's built on Debian (version 12.1) and the other one on Slackware (version 15.0.2-current). In this blog post, we'll delve into the significant changes and improvements that this release brings to the table.

1. Enhanced Session Management for Writable Devices

One of the most notable enhancements of this release is the improved session handling, especially when running Slax from writable devices like USB drives or hard disks.

In the past, Slax didn't offer an easy method to manage multiple sessions. All modifications were simply stored in the /slax/changes directory, providing just one session in general. However, with this update, you can now maintain multiple sessions. Each session is neatly saved in its own subdirectory within /slax/changes/. At boot time, you are presented with options: you can either start a new session, resume a previous one, or select a session of your choice from a menu.

2. Adjustable storage size for sessions

For quite some time, Slax has utilized dynfilefs to store session changes. This unique auto-growing filesystem is designed to store vast amounts of data, even on non-linux filesystems like FAT32. While dynfilefs received significant performance boosts in earlier Slax versions, it still has a limitation: the maximum size of its storage must be set beforehand. By default, every new session in Slax has a 16GB size limit.

Starting today, if you need more space for a specific session, you can adjust the maximum size manually using the boot parameter perchsize=X. For instance, setting perchsize=32G would set the limit to 32GB for the current session. This way, you are no longer limited by the default maximum size. The good news is that this adjustment is a one-time process. Once set, Slax remembers the maximum size for that session, eliminating the need for reconfiguration during subsequent boots.

3. Enhanced Boot Parameter Options

Earlier Slax versions already supported special boot parameter, from=..., which enables loading of Slax data from a specified location. This could be a directory format like from=/myslax/ or even an URL to an ISO image, like from=http://domain.com/myslax.iso.

The latest release now expands on this flexibility. Users can now direct Slax to load data from a specific directory on a specified disk using from=/dev/device/path (e.g., from=/dev/sda1/slax). Alternatively, the from=ask option is supported as well, to prompt you with a menu during boot, to choose the device from which Slax should fetch its data from the list.

4. Bug Fix: Module File Deletion

A previously identified bug in Slax prevented modules from deleting files. For instance, if you removed certain filesystem files from Slax and then used the 'savechanges' command to capture these changes in a module, the deleted files would still be present after a reboot. This issue has been addressed in the new release. The technical solution involves Slax mounting and adding them to the AUFS union with the readonly+whiteouts flag. This approach ensures that erased files on a mounted aufs branch are correctly handled.

5. Improved Xorg Graphical User Interface Initialization

Last but not least, the way Slax starts the Xorg graphical user interface has been refined. While earlier versions of Slax assumed that X could initiate without a configuration file (which is true in many scenarios), there are instances where this did not work at all. To address potential issues, the new Slax version uses autoconfiguration which is built into the X server itself, to create a better configuration file. This method provides a more accurate setup than running without any config file at all. This enhancement aims to resolve the rare instances where Slax couldn't launch the graphical user interface.

In conclusion, the newest Slax release is packed with features and improvements that promise a smoother and more efficient user experience. Whether you're a long-time Slax user or just getting started, this update is sure to enhance your Slax journey.

Download Slax today, visit www.slax.org

Enjoy! :)



New Slax released

New version of Slax is available, and I take the opportunity to use ChatGPT to let AI generate an announcement about it. Here it is! :-)

The world of Linux distributions is constantly evolving, and I am excited to announce the release of Slax's latest versions: Slax version 15.0.1 based on Slackware-current, and Slax version 11.6.0 based on Debian 11.6. Both versions are available for both 32-bit and 64-bit processor architectures.

In this short announcement, I will take a closer look at the new features and improvements in the latest Slax versions, and why it's worth considering for your next Linux experience.

All-New Packages and DynFileFS

One of the biggest improvements in Slax 15.0.1 and 11.6.0 is the updated packages to the latest versions. This ensures that you have access to the latest software and tools, making your experience with Slax even better.

Another key feature of the new Slax versions is the use of newest DynFileFS, which implements how "persistent changes" are stored on writable media. This means that when you run Slax from an USB device, for example, all the changes you make to the system will be stored to a special file (actually, a set of 4 files) on the USB disk, making it possible to use Slax on-the-go. In the past, this feature was limited to a total size of 4GB, but with the newest DynFileFS, you can store up to 16GB of data, providing you with much better performance and capabilities.

A Guide to Help You Choose

To make the selection process easier for you, the users, I have created a guide that will help you choose the right version of Slax for your needs. There are no longer direct download links available on the website, but the simple guide will help you decide what version is best for you.


The new Slax versions are a step forward in the world of Linux distributions, offering improved performance and capabilities, as well as access to the latest software and tools. Whether you're a seasoned Linux user or a newcomer, Slax is definitely worth considering for your next Linux experience.

I can't wait for you to try it out and experience the power of Slax! Visit slax.org today.

ChatGPT is simply awesome, isn't it?



Persistent changes 10x faster in Slax

Slax is using DynFileFS for storing persistent changes if you boot from a FAT32 drive. DynFileFS is a fuse-based filesystem which I wrote 10 years ago as a quick hack, and to be honest, it was sometimes a bit slow, especially after storing several gigabytes of data.

If you noticed "changes.dat" file in Slax's /changes/ directory, this is the default storage for persistent changes, which are created by using DynFileFS.

I decided to review the code and as a result I rewrote the filesystem's internal logic completely. New DynFileFS version 3.0 is now available at github. It uses different file format on disk, so it is not backward compatible, but I believe it is worth it.

How does it work? Simply said, it provides a virtual file called "virtual.dat" after mounting it to some directory. This file can be of any specified size, like 30GB, but it does not need to pre-allocate this huge amount of disk space on mount. All changes made to this virtual file are stored in an indexed storage in a different file on disk, for example called changes.dat, and this file grows in time as your changes are made. As a result, it stores only the changes on disk, and not the free space between them.

The same effect could be achieved by using sparse file for storing changes, but unfortunately FAT32 does not support sparse files, and it is still the mostly used filesystem on USB devices.

The overhead of DynFileFS is around 2MB for each 1GB of virtual storage capacity, and each read/write operation requires only one additional seek+read in the storage file, so it is extremely fast.

I will use DynFileFS 3.0 in the next Slax release. Stay tuned. Have a nice day :)



Releasing Slax 15.0 (based on Slackware again after 9 years) and 11.4 (based on Debian)

I am happy to announce new Slax release based on Slackware 15! Previous Slackware-based version dates back to 2013, I am sorry for the delay :)

Slax version 11.4.0 is a new incremental update of Slax based on Debian,
Slax version 15.0.0 is now a new initial release of Slax based on Slackware again.

These Slax releases were made possible by generous supporters at Patreon. If you like to see more releases in the future or if you like to become a part of the growing community of people who are interested in supporting Slax regularly, feel free to join us there.

Both releases provide the same desktop with mostly the same installed packages.

Download at www.slax.org

Enjoy! :)



Slax based on Slackware 15.0

I had nothing better to do so I decided to give Slackware 15.0 a try. Slax is no more a KDE-based distro with full applications, so it shouldn't be hard to make a fluxbox-based version from Slackware, right? Well yeah :) I managed to build a working prototype.

For a limited time, it is available only for supporters at patreon.com/slax/

If you wish to test it out, feel free to join the community of supporters with any monthly plan you can afford. You can find the download link to the prototype of Slackware-based version of Slax there.

- It boots into text mode, so login as root and use 'startx' to start the X desktop.

- It supports 'slackpkg' with 'slackpkg+' plugin. This means you should be able to install software from various repositories (preconfigured is official Slackware repository and a SlackOnly repo, which contains most packages from slackbuilds.org).

- As usual with Slackware, dependencies are not tracked, this is something you need to resolve manually. Use slackpkg this way:

slackpkg update
slackpkg install YOUR_DESIRED_PACKAGE

Enjoy! :)



Releasing Slax 11.3

I am happy to announce that an incremental update of Slax, labeled as version 11.3.0, is now available for download.
Current release updates packages to the newest versions available in latest Debian 11.3, and fixes a minor issue in application launcher.

This Slax version was made possible by generous supporters at Patreon. If you like to see more releases in the future
and you like to become a part of the growing community of people who are interested in supporting Slax regularly,
I would kindly encourage you to join us there. You will help to ensure I can continue releasing new versions and
improve Slax in the future. Your financial contribution also accelerates development of certain milestones, which
would not be possible without you. Your help is truly appreciated. Visit www.patreon.com/slax, thank you very much for becoming one of Slax's patrons!

Download links are, as usual, at www.slax.org main page



Releasing Slax 11.2.1

Bugfix release of Slax, labeled as version 11.2.1, is now available for download.
More info can be found in Changelog.

Download links are, as usual, at www.slax.org main page



Releasing final Slax 11.2.0

More than two years since the previous update, I am happy to announce the immediate availability of final Slax version 11.2.0.
It has been an interesting journey, thanks everyone for your suggestions, help and testing.

This release features EFI support for USB booting and complete update of all packages to the versions
available in Debian Bullseye. Furthermore, it provides full AUFS support, so you can continue working
with additional modules as like in previous Slax versions, add and/or remove modules on the fly. Changelog here

The core of Slax remains similar like always, network connection can be now managed using connman, and most importantly,
chrome is no longer a part of Slax, but you can still install it with a single click or two, as well as VLC video player.

Download links at www.slax.org main page