Well, it’s that time of year again. The time when we look back at the closing year, and make tentative plans for the upcoming one.
Most people agree that 2022 was an eventful year, especially on the national level. Between the surprising outcome of the mid-term elections and the findings of the January Sixth Committee, the news has never been stagnant. From my perspective, some of the divisive partisan trends seem to be receding, so perhaps the insanity that has defined this country for much of the last decade is coming to a close. I hope that’s the case, though I’m not willing to place any bets on it, and I won’t fully believe it until I see it. But that’s all I want to say about the national political scene today. I’m sure I’ll go back to parts of it in more detail sooner or later.
I’m looking at things on a more personal level. For me, 2022 saw a lot of self-discovery, and re-evaluating a lot of long held beliefs. Most of these were not what would be considered drastic or life changing, because they tended to deal with specific topics and issues. But there were a lot of them, and their cumulative effect has been, shall we say, comprehensive. Social issues that I didn’t give much attention to in the past were pulled to the forefront, and their importance and relevance in many areas is very apparent to me now. Issues with my mental and physical health, which didn’t overly concern me, surprised me (any my family!) in some very unsettling ways. As a result I’m gradually re-arranging many aspects of my life, and am actually starting to take better care of myself. This is also something else I hope to delve into later.
Change is everywhere. There is a cliché expression about change being the only real constant in life. All kidding aside, there is a lot of truth to that. The Buddhist tradition often speaks about how ephemeral the world around us is. The word the core writings like to use is “impermanent.” What seemed like an absolute truth on Monday is written off as a passing illusion by Friday. What seemed like a trivial issue on Saturday turns out to be something of paramount importance the following Tuesday. Elaborate plans made on Tuesday needed to be changed around by Wednesday, re-organized and re-structured again on Thursday, and then postponed or even scrapped on Friday. Day to day events, even small ones, can have lasting effects on our lives in ways we can’t really anticipate, control, or immediately notice. But when we do, the only real option we have is adjust.
One thing to remember is that our perception of things at a specific moment isn’t necessarily wrong. On Monday, we may have a picture perfect take of the world around us, and the plans and reactions we set forth make perfect sense. But by late Tuesday we realize that our plans either need to be adjusted because something changed, or something new entered the picture. We may ask ourselves if we made a “mistake” somewhere, by not anticipating changes, or by not having contingencies for it. But did you actually make a “mistake” on Monday? Could you have anticipated everything that could have happened on Tuesday? Or even events on Monday that you had no way or knowing about, or even have any reason to consider? Could you have possibly anticipated every possible change or had a contingency for every possible variation of every circumstance? Of course not. These new and unknown events are what forced you to re-design Monday’s plans. It doesn’t have anything to do with your life management skills.
So I guess if you’re going to make big plans for the future, it’s a good idea to have flexibility in your overall schedule. Plan things so that the specific day to day details can be adjusted without notice, and allow for flexibility in your timetable, should one detail or project need to go on hold so as to make room for another. If you keep most of your wits about it, you should still eventually reach your final goal. Though you may end up taking a route you didn’t expect.
This idea of impermanence is not an easy one to describe or explain, and I don’t have a good history of dealing with it. One of the things I discovered about my self during the past year, was that I’ve made some downright stupid decisions along the way, and I often didn’t handle change well. Now that I’m more aware of this fact, perhaps this year will be different. For example, once again I hope to update this blog on a weekly basis. I’ve tried this before but never maintained it, but I’m going to try again.
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.
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: FreeBSD.org.
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:
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:
usr/local/share/xsessions
Such a file can be created using any text editor. Using the KDE one as a model, I made one that looked like this:
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.
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:
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.
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.
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.