The "Ultra" Desktop

September 24 2019

Back in 2011, after having used GNOME 2 for such a long time prior, I one day ran an update on my Arch-based system... and was thrown into GNOME version 3.0. It was bad. Like, really bad. It felt as if the developers had forgotten that devices without touchscreens existed and didn't care about customizability or usability any longer. I was so disappointed -- along with so many others on the internet, even Linus Torvalds himself. I tried very hard to like GNOME 3, but ultimately I couldn't stand it.

After I got sick of GNOME 3, I tried out many other desktop enviroments. KDE, XFCE, LXDE... Each one had their own set of things that I didn't like about it. However, there were things about each that I did like. KDE looked wonderful. XFCE was very customizable. LXDE was very modular. I wanted to be able to pick and choose the features of each that I liked. So, late into the night on a late-Spring day, I got to work on piecing together a desktop that would suit my needs well. This would be the ultimate desktop -- or, as I would call it, the Ultra desktop.

Ultra Desktop

The Ultra Desktop consisted of multiple bash scripts that would manage launching individual components of the desktop environment. One for the panel (which was XFCE4's panel), one for the dock (which was Docky), and one for Compiz, which was chosen to allow for some nice compositioning effects. There were other functions that handled other tasks that would normally be done automatically in a desktop enviroment such as GNOME, like enabling ConsoleKit, PolicyKit, etc. Shutting down, logging off, restarting were all done using a modified version of qtLogout, accessible through the menu. Logging on was done through an old version of GDM, with a custom theme to accompany it.

I worked on and used Ultra a lot from 2011 up to the Summer of 2014. When I purchased my new (at the time) laptop, it came with a touchscreen, which I knew that Ultra was never designed for. I decided to try out GNOME 3 again, which was at version 3.12 at the time. I ended up really liking it after doing some customizations and using some extensions. I decided to keep it on my new laptop.

Within a couple of months, I had stopped working on Ultra entirely. Once it stopped working properly after system updates, I switched over to GNOME 3 on my desktop as well. The Ultra Desktop was now defunct, collecting dust in a folder on my desktop computer, along with all of my other old projects. Early in 2015, I started to consider releasing everything that made up Ultra, but decided to hold back on it and see if I could clean it up and make it functional once more before doing so, along with writing some documentation on how to set it up and get it working.

That never ended up happening, and unfortunately, at the beginning of Summer of 2015, my desktop computer, the only thing having a backup of all of the old Ultra files and programs/scripts on it, along with almost everything of mine from before that point, was forcefully stolen from me, never to be seen again. Those events are a subject for a different time, and likely not on here.

After building a new desktop PC a couple of months after, I had a near-100% clean slate, whether I liked it or not. Everything was gone, but the idea behind Ultra stuck with me. I still liked GNOME, but there were things I felt could be improved, such as the look and functionality. I also wanted stability and an easier way to bring up a GNOME desktop with the customizations already done to it. For the distribution, I had chosen Debian, which had just released version Jessie (8.0) a few months prior, and had GNOME 3.14. I was familiar with it and knew exactly what I liked by default, and what I wanted to change.

I started work on a new project which I called "EDC". This project, when run on a clean Debian install, allowed for bringing up a system just the way that I wanted it: clean-looking, lightweight and rock-solid stable. I have been using this project on all of my computers since 2015, updating it to work on Stretch in 2017 and Buster this year, 2019. For the version that works on Buster, I decided to rename it Eridanus.

I do plan to release Eridanus one day, but not right now. I had mentioned previously wanting to do so as well, but I feel that I need to iron out a lot of issues to actually make it a usable project for others.


April 25 2019

Since 2015, I've used a semi-custom version of Debian that I affectionately referred to as "EDC". It uses a much lighter set of software than what is included with the standard Debian GNOME desktop installation and also includes several software and user interface tweaks and modifications that make Debian feel a lot more like a modern operating system.

I've always been a huge fan of Debian since I started using it on my PowerPC-based Mac Mini back in 2011. I grew to love APT, and grew to love the stable (yet, admittedly stale as well) software that Debian provided. At the time however, my main PC ran Arch Linux, as I preferred to have cutting-edge software. I would only seriously give Debian a shot in 2015, with the release of Jessie. There was a lot I liked about it right away, but I felt that things could be improved. I spent hours looking at the GNOME and Debian documentation to see how to adjust certain parts of the system to fix odd quirks or things that I just didn't like. At the time, all of my changes were done manually, but once I was done customizing it, I was left with what I wanted: a stable desktop without any of the quirks. It was, for my needs, almost perfect. But, the main issue at that point was if I needed to reinstall. I didn't want to have to go through all of that customization again. I started work on a Bash script called "EDC Bootstrap", which would configure the system automatically for me as I sat back and watched.

The bootstrap script took several days to get somewhat desirable results with Debian Jessie, but there were a lot of things that weren't perfect about it. It would take me weeks of rewriting the script, running it in a virtual machine, then going back to the drawing board. Eventually, I had a script that worked nearly flawlessly...

For myself, anyway. At the time, EDC was written to look for several of my computer's product names and install video drivers, wireless card firmware, etc. depending on what the product name returned. If there was a product name that the bootstrap script ran into but didn't have a "formula" for, it wouldn't know what to do. However, my main focus wasn't on making it compatible with more hardware. I was focused on getting the bootstrap script to work on the testing version of Debian, which would later become Stretch. By the time Stretch came out in 2017, I was able to upgrade all of my machines using the updated bootstrap script. It worked perfectly, and again I was left with a stable, yet modern desktop.

I took a break from EDC for about a year after Debian Stretch came out, but started work on it again in 2018 for Debian testing, which is set to become Buster this year. At this point, I wanted to really push what I could do with my bootstrap script. Once I got the bootstrap script working with Debian testing, I got to work on several key points: giving the desktop a new look, and allowing the script to find the correct software, drivers, firmware, etc. to install on any hardware; not just hardware that I owned. I also renamed this project to "Eridanus", as I'll be honest, I can't remember what "EDC" stood for originally.

I have put a lot of time and effort into Eridanus, and have recently thought about what the bootstrap script does and what I want out of a distribution: stable software, a non-quirky desktop that 'just works', and a light footprint with the option to add a wide variety of software. I don't believe I'll ever actually release Eridanus to the public... in it's current form. However, if I do make Eridanus public, I plan to do it correctly: by completely forking Debian. This isn't something that will happen today... or tomorrow, or even in a year or two, or possibly ever. But, I have had thoughts about forming a new distribution with the changes that the bootstrap script does to Debian.

Or, I may end up releasing the Eridanus bootstrapper to the public as it is. I don't know. Maybe if people want it?

Welcome to Deneb Kaitos

January 29 2019

This is the official website of the Deneb Kaitos project. There is not much here at the moment since a lot of projects that will (eventually) get released here are still heavily work-in-progress and I don't feel as though it would be a good idea to release any of it yet. In the meanwhile, you can entertain yourself with BaconCore, my IRC bot platform written entirely in bash, by visiting the Downloads page.

I will also be releasing a couple of my other smaller finished projects here as I get the chance to do so. Stay tuned.