Open Source Shell Game

As I continue to set up my computer for creating game resources, I’ve been looking at a number of development platforms that are open source. Many of them fall outside of my scope, while others intrigue me. Here is a run down on the ones I’m looking at.

  • Windows 10
    OK, this isn’t open source. Not by a long shot. But like it or not it is the dominant operating system for most home computers, and if I’m going to do any development of any type, I need to have Windows on hand. My computer came with Windows 8, which over time has been patched up to Windows 10. I don’t know if it has started reaching for version 11 yet; I’ll ask my daughter. While the operating system isn’t open source, there are open source development tools available for it. In the past I have used Lazarus and CodeBlocks for programming in Windows. In the long past I used versions of Delphi (Pascal), Visual Basic, and others. Lazarus and CodeBlocks are still maintained and in use, so I expect to be making use of them again. They are also available for many of the operating systems I discuss below, so I’ll be using them over there as well.
  • FreeBSD
    As I said earlier, this the primary system I expect to be using. My somewhat older computer runs like a champ using this system,  far better than with Windows. I can’t say that was always the case, though. When I first got the computer, Windows was amazingly fast, and the performance difference between it and FreeBSD (PC-BSD version 1.5 at the time) was negligible. But today, Windows 10 has succumbed to the code bloat problem that has plagued the operating system since the 1995 iteration. It has become slow, bug ridden and cranky. FreeBSD isn’t immune to code bloat either. I’m not sure any operating system is. But even though the disk footprint of FreeBSD has grown, compared to Windows, it’s still pretty lean.
  • GhostBSD
    I tried this one a few months ago, and had some issues with it, so I didn’t retain it. FreeBSD has given me some problems as well, especially with my printer/scanner, and some features on specific applications. So I gave Ghost another try, using the latest version, and targeting the printer issue. Unfortunately the printer problem hasn’t improved, so once again I will not be retaining GhostBSD.
    What does FreeBSD have against printers anyway?
    Even so I will continue to watch the development of this distribution. The biggest hurdle for new users to FreeBSD is the instillation process (in my opinion). GhostBSD has made this considerably easier.
    Regarding the instillation process…  I suspect that FreeBSD, regardless of distribution or flavor, doesn’t like to share a hard drive. Whenever I’ve tried to install it in a partitioned drive, or tried to partition the drive during install, the setup has always failed. It only seems to work when I tell the installer to use the entire drive. I find this mildly annoying, but not a showstopper. More on that some other time.

Technically these two operating systems are the only ones I “need” for the work I’m doing. But I still want to explore some others, if only for testing purposes.

  • Solus Linux
    I’ve only periodically used live Linux CD’s for specific tasks. GPartED, for example, is a very good system tool. But generally I have actively avoided Linux for over ten years. However, Linux is no longer the side show it used to be (and which FreeBSD still is!). It is now an important player in the personal computing arena, and I figure if I’m going to do any type of development, even as a hobbyist, I should reacquaint myself with it. Solus is a distribution that has always targeted personal computing, with a focus on desktop and laptop users. It also seems to have decent reputation of stability and adaptability, and a small but active support community. I’m also curious about the Budgie desktop environment, which has long been part of Solus (though apparently it has recently gone independent).
  • RoboLinux
    Another Linux distribution I’ve looked at is RoboLinux. According to it’s primary designer, John Martinson, RoboLinux was designed for people who don’t want to give up the flexibility of Windows. Just the cost. I like and agree with his approach, even though Martinson himself sounds a bit eccentric. I’m guessing that RoboLinux has the Wine system fully integrated to allow for lateral compatibility with Windows. I find Wine useful and fun to experiment with, so I’ll see what this one has to say. My plan is to set up both of these Linux installs on a two terabyte internal drive. I figure they can each have a primary partition and share swap space, since they obviously won’t be running simultaneously.
  • ReactOS
    This one is different. This project aims to create an open source functional clone of Windows 2000 (I think), with the aim of running most if not all software that was designed for that platform. I’m planning to try a few things with this one, and see if the programming tools for Windows will work on this one. I like the idea of this project, especially with all of the legacy software available. But based on the apparent slow development progress it has, I don’t know how active this really is. I’m hoping to install this to an actual live partition on a real hard drive and see how it fares.
  • FreeDOS
    This one is pretty well known. The various versions of Dos were the norm for almost two decades, and it saw a lot of software development. FreeDOS has allowed that development to continue, and made it possible for many legacy programs to see continued use. I don’t know how much use I’ll get from this one, but I’m curious enough to find out. I’ve used FreeDOS before via VirtualBox, and from a live CD, and have been satisfied with it. I’ve never tried it in native mode, though. I don’t know if my current computer will accept it, but I’ll be looking into it. If I can install this to a logical partition, I’ll try that. I understand it can also be installed to a USB stick, so that’s another option.
  • Haiku
    OK, confession time. I ran BeOS on an IBM Aptiva computer back in the late 1990’s, and I really liked it. I found it to be a fresh, new take on personal computing, and with a lot of interesting features. I really wanted this one to take. I was gradually making BeOS my primary operating system, and was populating my BeOS partition with a variety of applications, when things went totally sideways for BeOS. After watching the community and support network fall apart, I reluctantly abandoned BeOS. That being said, I have long wanted to see BeOS reincarnated as an open source system. Haiku is a long running attempt to do precisely that, and I would love to see it succeed. But progress has been slow, and there are parts of the system that are still being worked out, even after 20 years. In computer terms, 20 years is an eternity, so as much as I hate to admit it, Haiku isn’t likely to ever reach maturity. But if I can get an install of it working, and do even a little development for it, well, at least I can say that I tried to help.
  • Minuet
    This one is pure curiosity. The idea of a microscopic operating system written entirely in assembly language is intriguing, so I’m going to look into it. I’ll probably install this one to a USB drive, or use a VirtualBox image, and see what is has to offer.

This rogues gallery of operating systems is currently being assembled and deployed on my poor computer. How things work out remains to be seen, but I’m pretty sure it will be quite an experience.

Return of the Daemon

Beesdie as a pinup girl!

The time was late November of 2021, and I was ready to try some new things. Specifically, I want to learn how to create and distribute 3D models for use in games and simulations. For this I would probably need a new computer, preferably with a graphics acceleration chip. But that is currently beyond our financial reach, and is likely to remain so until mid-2022. So, I needed a way to amp up my existing computer to handle some of the rendering and development tasks I had in mind. I knew it wouldn’t be able to do all of them, but hopefully it could perform the tasks I needed for learning the basics. That would push my technological road block further away, hopefully to a time when acquiring a new computer was financially feasible. The answer for enhancing my old computer had been sitting in front of me all along: FreeBSD.

I had a TrueOS instillation on my computer, but I hadn’t used for quite some time. I suspected it would need a lot of updating. So much so that I figured a better option would be to start fresh. I had started with PC-BSD, which later became TrueOS, so I went online to get the latest release. I was very disappointed to learn the TrueOS had shut down, with very little explanation. A possible replacement was a different desktop oriented distribution of FreeBSD called GhostBSD. So I downloaded the current version of that and burned it to a disc. I then backed up my relevant files, cleaned and prepared the appropriate hard drive, and started the installation.

It went perfectly! I can honestly say that it was the cleanest and fastest instillation of an open source operation system that I have ever seen. I had a fully working system up within just under an hour. Most of that time was spent copying and moving files from the disc to the hard drive. I was able to take a short nap while it worked. I remember thinking ‘that was too good to be true!’

Unfortunately, I was right. As I started to install my favorite programs and utilities, I started encountering bugs and glitches. At first they were minor, and work-arounds were easy to find. I figured this was the result of system changes since my original install. But, when Window Maker wouldn’t operate correctly, and would frequently freeze the system, I knew something was very wrong. When other problems started to occur with other programs, I hit the breaks.

I did a little digging, and found that GhostBSD uses its own port tree and configuration schemes. For me that is a red flag. The largely standardized structure of FreeBSD and the related port tree was one of the things I really liked about it. One of the things I disliked about Linux was how each version of Linux had its own scheme and distribution methods; essentially a ‘port tree’ for each version of Linux. Reluctantly, I made a backup of my GhostBSD install (just in case), and went back to the source:

I’ve tried to install vanilla FreeBSD before, but with little luck. I find the instillation program is often confusing, and asks questions that most users, even intermediate level ones like myself, would have no reason to have answers for. The instillation script is clearly designed by experienced system administrators, for experienced system administrators.

One of the big strengths of PC-BSD was that the instillation process was designed with average users in mind. One of the distribution’s goals was to make FreeBSD more accessible to average users who weren’t experienced with Unix. Granted, it had some bugs, and some of the added features were cumbersome. In my opinion, when using FreeBSD you will eventually need to get very technical. But PC-BSD provided a good set of training wheels for the operating system. The GhostBSD instillation script was also very straightforward, so it could fulfill the same role that PC-BSD did. I’ll be keeping an eye on the distribution and see how it develops.

Anyway, I downloaded and burned a system install ISO for FreeBSD, prepped the hard drive again, and dove in. When presented with a question I didn’t understand or didn’t know the answer to, I accepted whatever default values the script recommended, and wished for luck. The only variable option I selected was to include the port tree. (A portsnap install.)

To my relief, it installed correctly. X-Windows wasn’t part of the instillation disc, so that explained a few things. (X-Windows is as inherently tricky as it is useful.) I was able to do a console login using both the root password and a user password without any trouble, though I did find that some permissions needed to be changed on my user password.

This was from one of those cases where the instillation script asked me question that I didn’t fully understand, so I accepted the default and hoped for the best. I figured (prayed…) that if problems arose I could fix them later. When I attempted some simple commands, I received a few messages about permissions and access rights. A search of the various FreeBSD related forums and documentation libraries eventually provided me with the information I needed. Persistence and patience are ‘user requirements’ that are still needed for setting up FreeBSD, and I suspect they always will be.

Once the core system was installed and running, I attempted to install a program from the port tree. This was more to test the network configuration that it was to install the actual program. The program in question was Midnight Commander, an open source stalwart that does not require the X-Window system. To my relief, the port installed normally, so my network configuration was (at least) adequate.

The next step was to install X-Windows. I was expecting this to be a nightmare, because on every other X-Window install I’ve done, be it Linux or FreeBSD, there were bugs to iron out. I went with the package install route, so as allow a faster download:

pkg install xorg

I really like the name xorg; it sounds like the name of a creature from Dungeons and Dragons.

Had this install failed, I would have tried the source compilation route, but luckily that wasn’t necessary. Even so the process took a while. Most of a night in fact. I entered the command mid-evening, and it was still downloading when I went to bed. I got up in the middle of the night to use the bathroom, and checked on it. According to the timestamp, it finished downloading around 2:30am, having taken six hours to fully download. I found out later that there was a problem with our satellite internet connection, so this slow process had nothing to do with FreeBSD.

The next day I attempted to launch X-Windows. I was presented with three questions related to my video card, which fortunately I did know the answers for. I had the original manual for my computer, a Dell Inspiron 660 series, with all the specs laid out, right next to me. This may be a no-brainer, but if you’re going to try installing an open source system like FreeBSD, I highly recommend having such documents on hand.

I entered startx, and after a few seconds the TWM window manager came up, in full ugly glory. The color resolution was painful to look at, and the windows didn’t fit my monitor very well. But X did launch without issue, and I was able to change the colors and resize the windows without any problem. So the initial horrid appearance proved to be nothing of concern. I figured if anything was going to go wrong with this instillation, the X-Window instillation was the most likely place. But apparently things went fine. So far, so good.

The next step was KDE. I knew this would be a haul. KDE is a full blown desktop environment with all kinds of tools and features. The funny thing is that I generally use Window Maker, but I still make use of numerous KDE tools and features, so I still needed to install the full beast. Once again I logged into the console as root and put the system to work:

pkg install kde5

I did nothing else with the computer that evening, because it was too busy downloading to be of any other use. When I returned the next day I made some necessary changes to some key configuration files, took a deep breath, asked for the favor of the technology gods, and reluctantly launched X.

I anxiously waited while the computer whirred for several minutes until the login manager (a variant of SDDM) popped up. I entered my userid, then waited again. After about 30 seconds the bouncing KDE pointer appeared, and the various components of KDE came into focus. I heaved a sigh of relief, but I still wasn’t out of the proverbial woods. My problems with GhostBSD really increased when I tried to change the window manager and add other programs. Even so, I went through a series of tests and checks to make sure that KDE (at least) was working as advertised. With KDE working, I figured my largest hurdle had been cleared.

The next step was my preferred window manager, Window Maker. I installed the packages just as I’ve done before:

pkg install x11-wm/windowmaker
pkg install x11-wm/wmakerconf

When I boot up, the login manager screen provides an option for selecting a window manager. But to my dismay, Window Maker wasn’t among them. After doing some quick surfing of Linux and BSD forums, I found that for SDDM to recognize and use a manager client, it needs a .desktop file in:


Such a file can be created using any text editor. Using the KDE one as a model, I made one that looked like this:

[Desktop Entry]

I named the file wmaker.desktop, and placed it in the appropriate directory. When I logged out and back in, Window Maker appeared as one of my options on the menu. If you have a window manager client that you particularly like, but that doesn’t provide a .desktop file, a file of this type is probably what you need.

Window Maker popped up, and it’s various applets whirred into operation. I then opened a root terminal and attempted to install a simple x-window application from the port tree. The package installed normally, and my userid was able to launch the application without a fuss.

Now I was able to relax, because if I could get this far then I was probably in the clear. At this writing I have installed many of my favorite applications from my earlier TrueOS install, and haven’t had any major problems. Either I’ve gotten better at this open source thing, or FreeBSD has gotten easier to work with.

I had forgotten how much faster FreeBSD can handle heavyweight programs like Firefox and LibreOffice, especially when compared to Windows. Earlier today I had six heavyweight programs running in different workspace windows, all handling a variety of tasks, and my computer didn’t show the slightest lag. That same workload would have killed Windows. It’s almost like having a new computer.

My next step is to install and load the development and rendering tools I will be using for developing game materials. If the increased performance of the rest of the system is anything to go by, I’m cautiously optimistic.

OK you tricky little daemon, show me what you’ve got.

The image of the Beesdie daemon as a pinup girl was pulled from a wallpaper that appeared in the PC-BSD forums some time ago. Sadly I don’t remember which version, and I certainly can’t remember the name of the creator. Here is the original wallpaper for those who are interested.

Frightful Weather

The new year started with what could be called a “psych out.” New Year’s day itself, and the day after, had mild, unseasonably warm temperatures. On January 3, central Virginia, and much of the mid-Atlantic states, were hit with a massive snowstorm. Having been born and raised in upstate New York, I’ve been through many winter storms, and in terms of temperature and snowfall, this one was fairly standard. What set it apart is that we had very little warning. The weather services knew that a blizzard was possible, and had been saying so for several days. But it wasn’t until the day before the storm actually hit that they started saying “this is not a drill!”

The snowfall averaged around seven inches, and it was the wet, heavy snow that I tend to associate with lake effect snow. Around here, such snow is uncommon, because the nearest body of water large enough to create the necessary conditions is the Chesapeake Bay. It lies almost 100 miles east of us, and there are a lot of hills in between. For a storm to be coming from the east, and carry that much moisture over such a distance, it would have to be a powerful storm.

And this one certainly was. I am writing this on January 9, and the effects of this storm are still being felt. Electrical and telephone service was out for most of the area, and wasn’t fully restored until the end of the week. We lost power on Monday morning, and didn’t get it back until late Thursday morning. Trees were broken all over the place, numerous utility poles were weighed down with snow and ice, and many roads had a dangerous layer of black ice under several inches of snow. This combination of circumstances made it very difficult for the utility crews to get done. Needless to say, the public schools were closed, and many businesses were closed or were using emergency protocols. My own company went into the same mode it did when the Covid-19 pandemic was at its peak, almost a year ago.

We used a gasoline generator to provide electricity for our refrigerator and a few minor appliances. At night it also powered my CPAP machine. This is important, because without it, I can’t get any real sleep, and succumb to sleep deprivation very quickly. We also had a space heater to keep at least one room of the house warm enough to prevent us from catching pneumonia. It was a bit uncomfortable having three people crammed into one room for most of the week, but we managed. And besides, for centuries it was normal for an entire family to crowd into one room at night. It also allowed us to just sit and talk as a family, which can be difficult to set up these days.

Why am I talking about this storm? So I can extend some friendly advice. Everybody should have some emergency supplies available for when nature decides to get nasty. At the very least you should have the following:

  1. If you live in an area where weather related power outages occur, get a generator. And make sure you have a supply of gasoline (or diesel fuel) on hand to power it up at a moment’s notice. Also make sure you have whatever tools and supplemental materials, like machine oil, on hand. Our generator was running for over three straight days, and needed frequent tweaking.
  2. Have some bottled water and canned food available. If you aren’t able to cook, or if your access to water is compromised, you’re going to need this. This is pretty self-explanatory.
  3. Make sure you have transportation available at all times. This one can be difficult, because the state of the roads can affect everything. But do whatever is necessary to make sure you can get a car out of your driveway, a snowmobile down to the road, a tractor across the snow field, or whatever. So long as you can get to a place where essential food and supplies are available, even if it’s just the local Seven-Eleven, you’ve got this one covered. It was during a blackout that I came to understand why horse theft was historically such a serious crime. If you stole someone’s horse, you were taking away their ability to get the supplies necessary for life. If we didn’t have a car available to get back and forth from the outside world, we would have been thoroughly hosed!

Emergency preparedness varies from one location to another. So wherever you live, do some reading up on what is considered essential for your area. But I’m willing to bet that these three items are pretty universal.

Since the Blizzard of ‘22, we have had a second major storm. And we are expected to have a few more over the next few weeks. But now we’re in a better position to deal with them. People either have, or are acquiring emergency supplies, and the various utility crews are ready to move at the drop of a snow hat. I’m hoping that the upcoming storms aren’t on par with the big one, but I lived in the snow belt long enough to know that unnecessary risks shouldn’t be taken.

Be safe out there.

Photo credit: New York Post

Troubling Futures

The year is now 2022. Or for those who prefer a broader view, 12022. But regardless of what calendar you prefer, our soggy, muddy ball of rock has completed another lap around that giant mass of compressed gas we call the Sun. That being said, what does the future hold? That depends entirely on who you ask. There is a YouTube channel I like called Beau of the Fifth Column, which recently had an interesting presentation about this.

For fans of science fiction, the year 2022 has two associations. First, it is the birth year of George Jetson. The Jetsons portrayed a future world that was full of hope, luxury, and a lot of fun technology: Flying cars that could collapse into a carrying case, domestic robots, common interplanetary travel, and so forth. When the show was created in 1962, that was how the creators saw the world in 100 years. Granted the world wasn’t perfect, and some even considered it a technological dystopia. George hated his job, much of life’s drudgery continued as always (just with fancier technologies), and corporate nastiness was as rampant as ever.

But on the whole it was an optimistic view. World hunger, economic inequality, and other social problems were either resolved or were at least no worse than they are today. And some of the fancy technology we see in the Jetsons has come to pass. For example, supercomputers the size of a wristwatch aren’t far removed from our smart phones and notebook computers. But I don’t think we will have flying, transformer-esque cars, or common interplanetary transport, by 2062. And I certainly don’t think we’ll have our various social and economic problems under control by then.

The year 2022 has another association. It is the year in which the 1973 dystopian movie Soylent Green is set. In that world, unregulated capitalism has created the largest contrast between rich and poor imaginable. Only the very wealthy can afford actual food, as even the most common vegetables cost more than a month’s wages. Most people have to survive on a concoction of algae and proteins called Soylent Green, and the proteins for the mix come from human flesh. It’s a nicely packaged form of cannibalism. This was definitely not an optimistic view of the future.

Which future vision is more likely you ask? In my opinion, neither one. The Jetsons represent a vision of the future that has become laughably naive. As much as I would like to say the world has a bright future on a scale the Jetsons portrayed, I simply can’t see it happening. But I don’t foresee a Soylent Green future either. Unfortunately, what I do see is perhaps even darker.

What I see resembles a different science fiction film, Neill Blomkamp’s 2013 film, Elysium. In that film, the world is in shambles. The environment is dying, pollution is out of control, overpopulation is a global problem, nearly every type of resource is scarce, and the list of social problems is too long to recite. But all of these problems are willfully ignored by the people who are able to do anything about them.

Those people, who were the wealthy and privileged, lived on a spectacular orbital habitat called Elysium. On Elysium, people generally lived comfortable, almost idyllic lives. Food was plentiful, the environment was well managed, and services like health care were plentiful and easy to obtain. The population of Elysium was around 200,000, but while the rest if humanity – which numbered in the billions – lived in poverty and squalor on decimated Earth.

And there was no serious attempt to change or even address this inequity. The totality of all human activity was focused on maintaining and improving Elysium. Education, infrastructure, public health, and almost any other issue you can think of was of secondary importance. The bare minimum of resources were used to keep the communities of Earth functional enough to fulfill their obligations to maintaining Elysium, with everything else going to the orbital habitat itself. Even food production favored Elysium, resulting in food shortages all over Earth. It’s not unlike what happened in Ireland during the potato famine of the 1840’s.

Many people on Earth aspired to move to Elysium, but between the draconian immigration laws, and the extreme inequity of wealth, they never got a chance. If you wanted to live on Elysium, you pretty much needed to be born there. The movie went into the details somewhat, but the gist was that if you lived anywhere other than Elysium, there really was no way to improve your life. And your wisest choice was to simply accept that and stop complaining.

At one point the main character looks into the late afternoon sky, which is usually hazy from pollution, and could see the Elysium habitat spinning in the sky. A number of people are looking wistfully at the star-shaped structure, and are miserable. Elysium was the ultimate gated community, and the people who lived there did everything they could to make sure it stayed that way. At another point someone tries to sneak aboard the habitat to get their daughter some life saving medical treatment. They were met with gunfire. If you don’t live on Elysium (i.e. are extremely wealthy), you are denied many of the necessities of life.

How is this worse than Soylent Green? In Soylent Green there was an attempt to meet the demands of growing food shortages. It was a totally disgusting solution, but it was still a solution. In Elysium no such attempt is made. Addressing the problem would require diverting resources from Elysium. It was considered better to allow millions on Earth to starve than force some of Elysium’s citizens make do with slightly less.

There is one very telling moment during the climax of the film. Jody Foster’s character was definitely one of the “bad guys.” Early in the film, when she was questioned about the living conditions on Earth, she responded with “when one of them stands up, five of us fall down.” When she is mortally wounded during the final battle, she refuses medical treatment. She preferred to die rather than live in a world where her privileged position would change.

I think her attitude is reflective of many in our current society, and why the future looks potentially bleak. The very wealthy are doing everything they can to make sure that the status quo remains exactly the way it is. The cost to society, the environment, and anything else that doesn’t lie within their “gated community,” is of little or no importance.

The movie itself showed some excellent world building, and of creating a social situation worthy of Philip K. Dick. But it doesn’t have a convincing ending. Everything is wrapped up too quickly, and in an unconvincing way. But the social situation it portrayed was disturbingly realistic and far too plausible. I’ll probably go into this more in a later post, but suffice to say that the future I foresee resembles the one portrayed in Elysium.

All I can say is that I dearly hope I’m wrong.