Getting lost in the world of GNOME…

Since the late 90s I’ve enjoyed using the Linux distros and learning how it all works and for many years before using MacOS, I daily drove Linux at home. My move from Linux to Mac was nothing short of caused by an aggressive ad campaign by Apple touting all the Unix-like features in MacOS-X. For many years I was content with what Apple offered. I do love the classic iPod devices and have consistently bought Macs since the early 2000s, around the 10.2 era.

That said, I’ve used Slackware Linux even longer, and after trying a few distros before it, nothing felt right like Slackware did. I stuck with it and learned all I could about Linux and even now, this server runs the latest release.

At some point in Slackware’s past, the singular developer, Pat Volkerding, removed the GNOME desktop. Citing constant changes in API and libraries and just a general unstable flux in development of it as the reason for removal. I had always used GNOME until this point. Now, without it, I was forced onto KDE for a desktop but I mostly just used XFCE since my machine couldn’t handle KDE gracefully.

Recently, I had given Ubuntu a try, as I wanted to see how GNOME had changed over all these years and I really liked what I saw. A nice clean desktop with a great interface and polished apps is refreshing after so many years of seeing apps that all start with a “K” in the name (which to me, is a terrible choice, and just overly ugly). Now ubuntu isn’t a top tier choice for a distro for many reasons (can you say snaps?), but Debian as a base is a solid choice for them. I’ve never really ran Debian but I do appreciate it’s package management and stability. I played with GNOME for a few weeks in this environment but ultimately decided I wasn’t happy. This didn’t feel like home. Home is Slackware.

I started looking into the idea of possibly running GNOME on Slackware. There used to be a project called Dropline and it exists at least. The website exists and has updates as of last year for an older GNOME desktop, nothing recent, nothing bleeding edge. This wouldn’t do. I found another project called “GNOME from Scratch”, being a Slackware based GNOME 40 desktop. This had scripts for a ton of software but still was out of date and apparently dropped by the dev. So I began updating and upgrading it myself, determined to get a fancy GNOME desktop on my Slackware.

I got 42 running and was happy, only I had made an absolute mess with software on my machine. I kept building more and more and refining things and then I stumbled on another project that was attempting to cleanly create a GNOME desktop on top of the Slackware base. I scrapped it all and started over. Using this as the base and keeping much better tabs on what I’ve done. Before long, I had patches to submit to them for small bugs or new software to include, and the work continues and I’m having a blast really getting into Linux again. Contributing to a project makes it much better than just doing it for me. I appreciate the work others have done on this and hope with all our work combined, we can create and maintain the definitive GNOME experience on Slackware in time.

As a group, we have quite a few separate projects, and one that we all contribute to. https://github.com/0xBOBF/gnome-42-slackbuilds is the spot where we’ve put together a set of the stable GNOME 42.x build scripts where we have a complete desktop and some of the other GNOME apps. Progress here has slowed of late, not because we’ve moved on, but because we’re working on the next “new-stable” GNOME release coming in September. GNOME 43 has a ton of new features and many, many improvements to the user experience. So naturally, we want to be able to provide that when it officially drops. I’ve personally been building up this desktop, partially available in my own repo here: https://github.com/mac-a-r0ni/gnome-43-slackware. It’s been about a week since I’ve touched it because I wanted to get back to the stable desktop and another project that was started by a fellow porter, rizitis.

“GNOME liveslak” is exactly what it sounds like. It’s Slackware (in this case, x86_64) for live booting. It can be burned to dvd or converted to run on a usb stick (best option) and even used with the popular Ventoy. Liveslak is a project by Slackware-guru AlienBOB, which is honestly one of the coolest uses I’ve ever seen for a usb stick, and it runs just like an installed system. If you have a fast read/write usb stick, it’s well worth the effort to try one of his isos for yourself, it’s really good stuff.

Now, it wouldn’t be worth mentioning that without a reason. Reason being, is we’ve taken the base set of “core” GNOME 42 desktop apps, built the packages, worked out dependencies, and packaged it all up in our very own liveslak iso to showcase the amazing work our team of individuals has put together!

But wait– there’s more! That’s right, I can’t pass up the opportunity to sound like a game show host 😉 We’ve taken the full Slackware (latest development version) and removed KDE and XFCE… why?!? Because we’re shipping it with GNOME instead! With the gnome-software client powered by the magic of flatpak, you can add any (well, almost any) Linux app you want right to your desktop. You want Discord? You got it! The excellent Bottles app (for virtualizing your favorite Windows games)? That’s there too! Dolphin? Yuzu? It’s all there! Just download it and go.

I think that’s really cool. Sure, we can package stuff and make official packages for plenty of software, but why wait for us? You can have it all now. The iso even has a script (in the live user ~/Desktop folder) to install it directly on your HDD. Totally awesome. It’s like a contest with no purchase necessary and only winners.

We’re still evolving the packages and the iso will evolve as well. I’ve set up a package repository so once you have the usb stick you can directly update any packages with new ones just by simply running Slackware’s “slackpkg” update tool. It’ll pull any updates right from the server and install them, not only from Slackware-official repos, but from our GNOME repo as well. You can even setup and use an alternate repo if you like, thanks to the included slackpkg+. The oldest Linux distro now has what I feel is the only major contender for being a Linux Desktop, that isn’t trying to be something it isn’t. GNOME offers a great set of tools, on top of the solid as a rock foundation of Slackware, you get a powerful environment, that like-minded individuals has refined for decades.

Don’t listen to my babbling any longer– go check it out yourself, if you dare.

https://lngn.net/slackware/liveslak/

P.S. I started writing this in June, just as summer began and never finished it then, and came back three months later as the sun sets on summer and forced myself through writing a blog post, so you better download it and check it out!

Site-wide Updates

For quite some time behind the scenes I’ve been working on doing some housekeeping on this server. I began noticing the days after a MAME release things were getting really slow. Server slow to respond, major delays when I’d try to do anything, etc. It appears I had overburdened my poor little server. Running apache, postfix, mysql, fail2ban, and other general linux processes had taken all this lowely 1gb ram vps could handle.

Around this time Slackware 15.0 has come out which meant I was already planning all the changes I’d need and the upgrade/integration of what was already running for the new release. Software I had been building and maintaining for my use was now included within the distribution, but not everything was built for my needs. I began planning out how update process a while ago using multiple installs in vmware to build needed software and test configurations.

It was during this time I became interested in FreeBSD, and playing with the OS within VMs as well. I was surprised at how small the initial install was. Packages were easily installed and it tracked dependancies and took care of all of it. And it even can upgrade the OS inline, something you can do on slackware with a bit of work, but it’s not ideal. As I grew more and more familiar with FBSD and discovered more (the ports system!), I decided that I needed a reason to run it on a machine.

In the end, I decided I was going to re-build my email server on a FreeBSD box. The way the OS handles package and OS updates was a huge reason why I chose it rather than running two different Slackware VPSs. I wanted a machine I could setup once and can update without ever needing a re-install, that maximized the amount of space left over, without installing a ton of shovelware by default, (yes, 90% of a Linux distro is not needed).

This gave me a legit reason to continue to learn and use FreeBSD along side my fav Linux distro and I can even compare how the systems perform. (It’s worth noting overall Linux appears to perform better with less resources than BSD does.) After multiple attempted installs with different configurations, I settled on building the mail server using the iRedMail suite. It bundles user-built postfix, dovecot, roundcube and your choice of databases, including it’s own management software to maintain it all. Only, its bloated and it likely meant for larger scale operations. The main thing I got with this is a secure mail server, which I had struggled with before, (TLS is a bitch). It provided me with a great starting point to customize it for what I wanted it to do.

After fleshing that out for a week and trimming the fat, I was happy. That left my web server which needed work next. I opted to keep that running on Slackware and do a fresh install of the latest release, as a lot had changed in the six years since the last full release. I tore out much of the cruft and reduced its footprint as much as I could (there’s likely more I can remove, but I’m content for now). I looked into some web backends to bring the site more into this century (not that I don’t love my basic html site), I felt it was time to bring a little life to my space on the web.

So that brings us to this site-wide WordPress install (I’m sorry, Jeremy ;). I briefly looked into some other CMS solutions, but decided, for now I’ll go with what I’m familiar with. I always have the option to move on again (….right?!?) in the future. There’s still much to be done, and I’ll finish it up over the next week or so, but I just wanted to get it back online before the next MAME release comes. I hope to add some more content and things revolving around MAME and maybe other stuff as well. I don’t feel like I’m in a prison any longer and can finally do some other things that I’ve wanted to for some time now.

Much of my reluctance to add any content to this site stems from not wanting to design anything to hold said content. With WordPress, it mostly takes that element out of my hands and frees me to just do stuff. That also comes at a cost, of doing things within the confines of the environment, but I think it’s a nice starting point. I’m not sure if I’m happy with the themes I’m using or not, they work for now, but they’re still “basic bitch” as far as I’m concerned. Alas, I’m not a web-designer or graphic artist but just a lowly OS nerd, so don’t expect greatness any time soon. I’ll bring what little content I had online into this soon enough, but my goal of getting it up and running has been completed for now.

There are some things I’d like to go into detail about that have nothing to do with MAME, and I’ll use this space to do that. I’ll try my best to keep the sdlmame subdomain free from my rambling, as it really only has one point– to get MAME. I’ll ramble here. So if you want to read my rambles, check this space every so often and read me basically talking to myself. I’ve heard it gets old, but I’ve never gotten bored of it. Your mileage may vary.

Thanks for reading!

MAME 0.227 Major Changes

Along with the lua changes and many other new things in MAME during the extended release calendar, they have also completely moved over to C++17 as the standard for the project. What this means for users is not much overall, what this means for development is something different entirely.

I have used an OSX 10.9 system to create these builds for many years now, managing to keep MAME enjoyable for many generations of Macs. With the MAME teams change to C++17, this effectively makes the lowest denominator OS to be 10.14, earlier OSes do not have the ability to use this standard. Macports and brew intentionally do not mess with this stuff for reasons unbeknownst to me.

The side effect of this change is that it is now impossible for me to offer builds targeting 10.9. The latest 0.227 is built on 10.15 with XCode 2.2 and the latest sdl 2.0.14 library.

Going forward I’ll be using this environment to build with as I don’t have an available 10.14 system (and one likely can no longer get this install from Apple). I’d like to think these changes will benefit the project in the future and one cannot move ahead if they must constantly support the past.

If you’re running an older Mac OS install 0.226 will be the end of the road for you. Most current Macs can run the latest Mac OS, mine has officially entered EOL and 10.15 is the end of my mbp’s road. I’ll be offering builds from this environment for the foreseeable future. Hopefully, within a few months time I’ll be able to offer M1 builds as well.

Thank you for reading, sorry for the delays, and Happy New Year!

The Woes Of Relying On SSL “Services”

I had struggled to get SSL up and running on my server for years. I could generate self-signed certs and use them no problem, but getting actual certs working seemed to elude me. For some time now, everyone uses the great https://letsencrypt.org/ certs, and I wanted in on that as well. About 6 months ago I finally got them working thanks to a link I found in a WordPress plugin I had installed for SSL within WordPress. I finally had gotten legit working (not self-signed) certs for my server through the http://zerossl.com website. It was great. All my woes attempting to get certbot working on Slackware virtually disappeared. It created my certs, I installed them and they worked great right away!

Only when I went to renew them this time as they expire in 10 days, I noticed the site had changed on me. No longer was the free (awesome) service I found to generate my certs there but a shell of that service now with tiered payment plans (for a FREE certificate CA, at that!) For my sitewide wildcard cert, they now wanted $50 a MONTH for a cert only good for 3 months! Fucking insanity. Some poor sap like me has likely been put in a hell of a bind as a result of this shady bullshit. How one can take a free software initiative and turn it into a for-profit scam is beyond me, but I find it repulsive. We all have to make money, I get it. But destroying a useful gateway to a free to anyone cert signing service is downright disgusting practice.

So now I had to really figure this cert stuff out. Within 10 days at that.

I must point out, I don’t really need SSL on this server, I do use it mostly for personal security and the security blanket it provides users who see that nice little green lock icon and know they are getting safe content when they come here. That’s worth something, I think.

My issues stem from using a Linux distro that basically no one in the Linux industry uses for actually running any kind of server. Since I use Slackware, I’m basically a black sheep in a crowd of other black sheep (That’s me in the corner…). So certbot or any of the other ACME clients out there are not tailored or even support the basic utilities of my OS, so getting anything even running is a miracle in and of itself.

But that is when I found a great write-up by Slackware guru AlienBob, https://alien.slackbook.org/blog/using-letsencrypt-to-secure-your-slackware-webserver-with-https/. It took most of my free hours the past two days to work through setting this all up and testing it with my config, but I’ve got it running at this point. It will be a few months before I see if all the cron jobs go off without a hitch and it renews everything for me, but this article was a complete lifesaver. I’m genuinely happy there are people out there writing this kind of content still. Most things I’ve had to go and dive into a hole and sink or swim with Slackware, and this is one time where I didn’t have to do that for a change, and I still walked away learning something.

So I’d just like to thank AlienBOB for the write-up and also https://dehydrated.io/ for writing a script without 17 dependencies that finally enabled me to setup and maintain working SSL certs on this server. And as usual I’ve learned it best to stay away from a “free” service and just go learn it yourself, it’s more rewarding and always pays off in the end!

gofundme campaign successful

I’m very happy to announce the gofundme I setup to raise funds for the site to remain online was very successful! As of this writing we have raised $250 (which is MORE than we even needed!) which will keep things squared up for the next two years!

I do greatly appreciate all of the support from donors and users alike. This is a wonderful community, and I’m proud to be involved in even the remotest way.

I’d like to thank all the donors thus far (in no particular order): Jarrod Johnson, James Llyod, Joseph Boyd, Stefan Stockinger, Zoe Blade and Laurent Raufaste. There is more donors, but they wish to remain private (according to the gofundme page at least), and I’d like to thank them as well!

I truly appreciate all the support and all of the well wishes everyone has sent. Thank you all for everything!

Updates

Today I updated WordPress. Two years later. And annoyingly enough, did it all manually since I’m OCD and I keep my server completely locked down like that. There is no FTP access as it’s insecure, and since I don’t use FTP, there’s no reason to enable an FTP server on my server. Ya dig?

I also changed the colors and theme today as well. Eventually this might even disappear completely and be replaced with either another install with a different focus, or I’ll duplicate it for that purpose and leave this one here.

Maybe I’ll actually write a blog someday…