Background: Shows the dbD circuit wallpaper.

Marcus Edward Butler

dbDistro

The project I would say I'm the most proud of would be dbDistro. dbDistro or dbD is short for distro butler is a distro. Distro is another word for saying operating system. The definition of a distro is the collection of software. dbD and all other Linux distros are different by the software and configs they come with by default. dbDistro's main goal is to be an operating system with no distractions, only whats necessary to have a functional operating system that works with modern software. I had a flash drive with Free-DOS installed on it and was amazed when using it at how much work I got done due to there being no distractions.

dbD version 1.0 was very glitchy and was written in bash using a module that used the curses module called dialog. I did not know how to program in bash very well and reading through dialog's documentation and copying and pasting examples from the internet did not seem to get it to work correctly.

I then decided to create my own module called cursed_widgets that would use the curses module to easily create windows or "widgets" in the command line. I went ahead and rewrote my entire installation script that was written in bash to a mixture of bash and python. The python side of the script takes care of drawing the widgets on the screen as well as asking the user some questions before installation. The bash portion of the installation script takes care of enabling system services, creating the username and password, installing packages, and moving files and directories around. dbD 1.1 was created February 28, 2023 that fixed a few issues with dbD 1.0. Except dbD 2.0 uses a mixture of python and bash to install packages.

dbD 2.0 was released in January 9, 2024 with even more bug fixes. I went and made a small adjustment to the cursed_widgets module that significantly reduced the amount of code needed for the end user to use the module. The only down side was that this update broke my installation script for dbD. So I had to completely write it from scratch a third time. Also without the update to cursed_widgets I would have limitation problems with programs written with it. dbD 2.0 still has lots of issues, looking at the GitLab page revels that I have found 27 bugs with the operating system so far, but is a lot more stable than 1.1. 1.1 was very frustrating because the sound kept going out randomly and some other little annoyances.

I use dbD 2.0 as my main operating system for my school laptop and my tower PC. I plan on adding lots of new features in the future versions to come. This operating system is a year old as of February 28, 2024.

cursed_widgets.py

This project is used to create windows, or what I like to call them widgets, easily in a TUI(terminal user interface) using the python curses module. This is a back end program to be used by a front end programmer.

This project was created after I had issues with the bash module called dialog trying to create a installer for my operating system called dbDistro. I wanted my installer to have a TUI, I wanted the installer to look like DOS's installer.

I also want to use cursed_widgets.py in other system applications on my operating system. For example a settings program where the user can change things like the wallpaper and screen resolution easily. I would also like to create a text editor with cursed_widgets.py as well.

Right now cursed_widgets.py is having a new release made for it. The new release will add a widget called text box.