Tuesday, December 19, 2017

OpenBSD 6.2 + CDE

If you've noticed a disruption in the time-space continuum recently, it is likely because I have finally been able to compile and install the Common Desktop Environment (CDE) in a current and actively-developed operating system (OpenBSD 6.2 in this case).

This comes after so many attempts (across multiple platforms) that ended up with the build process prematurely stopping itself in its own tracks for a variety of infinitesimal reasons that were beyond my comprehension as a non-programmer, or when there was success it was not without some broken parts. As for the latter, I've been able to build CDE on OpenIndiana Hipster, but with an end product where I'm unable to change the color scheme in dtstyle (because "useColorObj" is set to "False"), with a default color scheme that is low-res and unpleasant. As for changing "useColorObj" to "True", I tried every recommended trick I could find online, but nothing worked.

My recent attempts at installing CDE on OpenBSD (version 6.1) saw the process stop due to a number of errors that are pure gibberish to these naive eyes. While disappointing, it was par for the course within my miserable experience with trying to build this particular desktop environment. As I wrote in this space in November 2015, in the course of explaining part of my imperitive for installing Solaris 10:

And so I have come to think of building the recently open-sourced CDE as being akin to a coffee mug I saw many years ago. One side of the mug read "Turn the mug to see how to keep an idiot busy." On the other side, it read "Turn the mug to see how to keep an idiot busy." I'm through feeling like an idiot, which is partially why I'm on this one-week journey with Solaris 10.

While I thoroughly enjoyed running Solaris 10 on my ThinkPad T61p, and felt a devilish thrill at using it out in the open at my local MacBook- and iPhone-infested Starbucks and causing general befuddlement and consternation among the occasional prying yoga mom, I never felt like I could do much with it beyond explore the SunOS 5.10 command line and watch YouTube videos. While still supported by its current corporate owner (whose name I don't even want to type), it is no longer actively developed and is thus little more than a retro toy. I hated the idea of installing anything else over it, but productivity beckoned and it was time to tearfully and reluctantly drag myself off the dance floor.

In any case, just last week I noticed that the Sourceforge page for the OpenBSD build had some 6.2-specific notes by way of a series of four patches, and so I decided 'what the heck, let's give this puppy another whirl'. After an initial abortive attempt at a build, I surmised that I hadn't applied the four patches correctly. A day or two later, I took a deep breath and tried again, this time resolving to not proceed with the time make World build command until I could see some sign of a successful patch process. (This time around, I downloaded the patches and moved them into the directory containing the CDE makefiles, and issued each patch command as patch <filename.patch and then reading the output carefully to determine which file in the source code was to be patched, and entering the filename when asked.)

Once I had the thing up and running, and with a mind bursting with fruit flavor, I started messing about. The first order of business was to create a custom color scheme modelled after the default color scheme in UnixWare. (Despite any baggage that system carries from its previous ownership under SCO, I adored the aesthetics of UnixWare 7.1.4 two years ago when I installed the free one month trial version on my ThinkPad. For reasons that escape me now, I named my newly-created color scheme in honor of UnixWare 7.1.3.)

Like a proud papa, I immediately tweeted the above screenshot and risked irritating a Linux kid or two in the process, given SCO's anti-climatic anti-Linux patent trolling from way back when. (I'm not out to irritate penguinistas, I just sure like this color scheme.)

Final Thoughts

It may look a little clunky at first, and may be a little bling-challenged, but the more I use CDE and adapt to it, the more it feels like an extension of my brain. Perhaps this is because it has a lot zip and behaves in a consistent and coherent manner. (I don't want to go too much further down that road here, as OSnews's Thom Holwerda already gave a good rundown about ten years ago.)

Now that I have succesfully paired my absolute favorite operating system with a desktop environment that has exerted an intense gravitational hold on me for many, many years, I don't anticipate distrohopping any time soon. And as I attain a more advanced knowledge of CDE, I'll be chronicling any new discoveries here for the sake of anyone following me from behind as I feel my way around this darkened room.


Sunday, September 17, 2017

OpenIndiana Hipster: Console workaround, revised audioctl script, and an extended middle finger to Oracle

This year has turned out to be one in which I've been happily knee deep in OpenBSD (6.0, 6.1 and -current), only venturing into illumos territory on the rarest occasions, either as a quick sensory fix via the OpenIndiana 2016.10 snapshot live DVD or a two- or three-day fling with Tribblix. Otherwise, I've been using OpenBSD on this machine (a Dell Inspiron 1525) on a steady basis for productivity and creativity with no sense of missing apps or features. (So there, Linux!)

This all changed recently with initial unconfirmed reports of Oracle having gutted its Solaris team down to a skeleton crew for maintenance purposes, which had been interpreted in some quarters to mean that this awesome operating system - and the de facto "official" UNIX for those on x86 hardware - is being left to wither on life support just long enough for current support contracts to run out, rather than being actively developed and improved. After almost two weeks of keeping mum on the issue, Oracle has finally confirmed the layoffs via a Worker Adjustment and Retraining Notification (WARN) filing in California. As The Register also reports, Oracle has revised its product roadmap to show that Solaris.next (which will mean further Solaris upgrades occurring in a rolling fashion along the 11.x stream) will not be unleashed until 2018, rather than 2017 as originally planned. El Reg further speculates that this future vision of Solaris may entail it being relegated to an emulated cloud offering, or some such.

Um, okay.

I'm somewhat allergic to all that corporate "cloud" blither-blather, as well as the notion of surrendering as many computer services as possible to a remote host, so Oracle's latest cloud rah-rah session doesn't make me feel confident about Solaris' future as a freestanding operating system.

And so, as my way of extending a middle finger to what I initially felt was (and may still prove to be) Oracle's further mishandling of Solaris, I decided to spend some quality time with illumos, the community-driven successor fork of Sun's OpenSolaris, whose throat was slit by the meanies at Oracle, post-acquisition. Over the past week or two, therefore, I've been vacillating between OI Hipster and Tribblix, both as a way of commemorating the venerable Solaris while also showing contempt for its neglectful foster parent. I don't have anything substantively new to say about Tribblix other than it's a total gas to work with, and so for now I'll limit my comments to OI Hipster.

Workaround for system crash when exiting X11 to console

I have no complaints whatsoever about the OI Hipster implementation of the MATE desktop, though if I had my druthers it would default to the Nimbus theme out-of-the-box in honor of its OpenSolaris lineage, but that's a microscopic complaint. (Being a grown-up, and given that changing the theme is beyond effortless, I'm okay with my current state of drutherlessness.)

On the other hand, I start to twitch and then break out in hives if I can't exit to the console every now and then to experience the spartan beauty of UNIX sans all that GUI goop. Unfortunately, when you enter the appropriate command in OI Hipster (pfexec svcadm disable lightdm) on my particular machine, the system exits MATE and simply hangs before getting to the console command line. This also happens when exiting twm, so the issue is with how my particular graphics driver and adaptor handle an X11 shutdown, rather than being specifically a MATE issue. (See my bug report for more details.)

In the meantime, a reasonable workaround is to enter the above command for exiting MATE and let the system crash, and then do a hard shutdown (in my case by holding down the power button until the machine stops writhing and goes limp), and then once you've rebooted add mate-session to your .xinitrc file, which means you start MATE at the command line with startx rather than the graphical login screen. This also means exiting MATE (or any X11 window manager or desktop environment) simply by becoming root and then issuing the reboot command. (From MATE you can either issue the poweroff command or select Shutdown from the System dropdown menu in order to turn off your computer. In a barebones X11 window manager like twm, you're stuck with the former option.

Revised crank script

Some time ago I wrote about the lack of (or otherwise lukewarm) mouse-driven audio control in OI's MATE implementation. My solution then was a workaround via two shell scripts, which I christened crank (for increasing the volume to 100%) and ucrank (for returning the volume to 50%). This time around, I decided to streamline the workaround by condensing it to a single shell script (still called crank) with the following lines:

read a
audioctl set-control -d /dev/sound/audiohd:0mixer volume $a
audioctl set-control -d /dev/sound/audiohd:0mixer headphones $a:$a
audioctl set-control -d /dev/sound/audiohd:0mixer speaker $a:$a

So rather than the bludgeon-like all-or-nothing of crank and ucrank, the user can fine tune the volume with a single command and enter the precise volume level. (I've got an unhealthy lust for tinnitus, so I never settle for less than 100.)

Parting thoughts

I have used OI enough over the past three years (151_a8 and Hipster) that I have developed a deep affection for it, and thus even though OpenBSD remains my natural habitat I can't resist brief or extended sojourns with the operating system (along with its illumos brethren) that carries on the innovative spirit of Sun Microsystems far more than Oracle ever could (or should I say would ever want to).

While projects like OI may suffer from having far fewer developers than the various operating systems based around the Linux kernel (because, after all, there is no "Linux operating system", contrary to what the lazy and careless penguinistas in the media would have you believe), I believe the future is bright for illumos if those overseeing it continue to improve and innovate on the OpenSolaris code and continue to show what's possible with business-led open source projects.

Another factor that may pay dividends for illumos in general is Joyent's acquisition last year by Samsung. Given that one of Joyent's high-profile offerings is SmartOS, a specialized illumos distro, it's hard not to see how the support of a behemoth like Samsung wouldn't trickle down to the overall illumos project.


Wednesday, July 12, 2017

Tribblix m20: Getting started and performing a minor upgrade

I've been taking Tribblix (version m.20) for a spin for the first time since writing about it in this space last year, when it was version m.16. I was very impressed by the speed and simplicity of installation and use, particularly for a SunOS 5.11-derived system. My only real complaint at the time was that some of the packages were a little unfinished, particularly that ugly duckling of a desktop environment known as CDE, with whom I am inexplicably smitten. (It's kind of like that odd-looking girl you fell for in grade 9 but were too nervous to approach. All these years later you search out her yearbook picture from that year, mall bangs and all, and wonder to yourself, "What was I thinking?", only to find yourself tossing and turning in bed at 3:46 a.m., obsessing over what could have been. That approximates how I feel about the Common Desktop Environment.)

Four upgrades later, some of the packages are a little more finished (or else are imported directly upstream from illumos or sideways from OpenIndiana). In my previous Tribblix fling I didn't use it (on the technical level) as extensively as I could have, opting merely to poke and prod around the perimeter and simply get a general feel for it. This time around, however, I decided to wade a little deeper in.


Nothing substantively different to report here from what I've written about previously, other than to say that rather than entering ./live_install.sh -B c1t0d0 kitchen-sink to commence installation, I instead did ./live_install.sh -B c2t0d0 x11 x11-extras retrodesktop. (The difference is due to the "kitchen-sink" option now automatically installing a graphical login that takes you straight to Xfce4, which is fine if that's what you're into. I'd rather have just a plain ol' text login. Also, c2t0d0 is the label Tribblix gives to my Dell Inspiron 1525's hard drive, as opposed to the ThinkPad T60p I was using the previous time.)


Akin to Solaris 10, the Tribblix install process doesn't give you the opportunity to create a new user until after you boot into your new system. In this case, your initial post-installation login credentials are the same as for the live DVD, which means logging in as "jack" with an eponymous password, and switching to root with "tribblix" as the password. Therefore, my first order of business was fourfold:
  1. add myself as a user
  2. assign root privileges to myself,
  3. create a password for my own account, and 
  4. change the root password.
This was accomplished the old-fashioned way at the command prompt, using my own credentials for the sake of demonstration:
$ su
Password: tribblix
# useradd -d /export/home/jed -m -s /usr/bin/ksh -c "James Deagle" jed
# usermod -P "Primary Administrator" jed
# passwd jed
New Password: __
Re-enter new Password: __
# passwd passwd
New Password: __
Re-enter new Password: __
(That last step, "passwd passwd", is the command for changing the root password.)

The only other housekeeping matter that I would normally take care of so soon after first booting into a new system is to create my own /bin directory for storing any scripts or programs written by Yours Truly: 
$ pwd 
$ mkdir bin 
$ cd bin
$ pwd 


I'm not going to rewrite my instructions on using this system's handy-dandy package manager (called zap), because then I'd have no reason to force you to read my previous post on the topic. I will say, however, that I highly recommend you install the pkgsrc overlay (courtesy of Joyent), as it will give you an additional boatload of packages (albeit some duplicates of native binaries from Tribblix/illumos). Just how many? That's a great question...let's ask UNIX:
$ pkgin avail | wc -l
Onwards and up(grade)wards...

I don't know if this counts as a proper segue, but the zap package management utility is also used to carry out binary upgrades of the system itself. As explained on the Tribblix home page and paraphrased here, the steps are as follows:
# zap refresh,
# zap update TRIBzap-upgrade
# zap upgrade list (to see if an upgrade is available)
# zap upgrade m20.1

And to boot into your newly-upgraded system:
# beadm activate m20.1
# init 6

Final Thoughts

Especially considering that this illumos distro is the work of just one man, Tribblix is a beauty to behold, and also serves as Solaris in a Hurry for someone who isn't into putting their entire life on hold in order to get an OS installed. (The older I get, the more I fall into that category.) The fact that some of the packages still have some rough edges is entirely a moot point - Tribblix provides a framework and proof-of-concept for the idea of an OpenSolaris derivative that is small and fast, and makes an excellent starting point for those wishing to spin their own distros, whether along the same lines as Tribblix or off in some new and unforeseen direction.

Formal complaint to Toronto Sun: Khadr editorial amounts to unlawful accusation

The following is a formal complaint submitted to the Toronto Sun on July 12, 2017.


I am writing to submit a formal complaint regarding your July 9, 2017 editorial, Khadr payoff a slap in the face to all who serve, and will escalate the matter to the National NewsMedia Council should the results of the current complaint submission process prove unsatisfying.

In the editorial in question, you refer to Canadian citizen Omar Khadr as "(an) expert bombmaker and the killer of U.S. Army Sgt. Christopher Speer." Nowhere does this piece mention that there were no eyewitnesses to the alleged crime, that the process by which Mr. Khadr "confessed" to the killing of Sgt. Speer involved intense physical and psychological torture (including threats of anal rape), nor that the tribunal in front of which he was tried without legal representation has since been discredited. Furthermore, the editorial neglects to mention that Mr. Khadr, who was 15 at the time of Sgt. Speer’s killing, was indeed a child soldier according to internationally-recognized guidelines, for which the threshold is 18. Also, the editorial omits the fact that Mr. Khadr was raised by a family with direct jihadist involvement, and thus grew up subject to what can only be called brainwashing, which itself is psychological abuse of a different sort, and the key ingredient to the making of any child soldier. (Although he was 15 at the time of his alleged crime, one can only assume that his inculcation began much earlier, and that even if he wanted to leave such circumstances he likely didn’t feel like he had a lot of say in the matter.)

For the reasons stated above, and given that the way in which Mr. Khadr’s detention and tribunal were managed would have had the case thrown out in any other circumstances, I believe Postmedia is engaging in unlawful allegation by labelling Mr. Khadr a “killer” without any attempt at providing a reasonable context, and thus also misleading readers to unwittingly assume that Mr. Khadr was convicted in a process that would satisfy the threshold in our own domestic legal system.

I consider this conduct unlawful on Postmedia’s part, not to mention an abuse of its power as a nationwide media conglomerate, and as such I would like to see your organization issue a retraction of the above quoted passage, as well as a formal apology to Mr. Khadr and to readers who deserve more responsible behavior from their news media.

Friday, July 7, 2017

OpenBSD 6.1: XFCE 4 posing as MATE, the joys of syspatch, doas mount and no-fi connectivity

About seven months have elapsed since the last time I shared any episodes from my ongoing UNIX adventures. This prolonged silence, methinks, was probably due to the fact that I was on a single installation (OpenBSD) almost the whole time, which is quite a feat considering my distrohopping tendencies. I was so busy using UNIX for my own day-to-day tasks, rather than endlessly reinstalling and tweaking entire systems, that I simply felt like I had nothing to say, UNIX-wise. (The important thing to note here, for those who are quick to write OpenBSD off as some "security only" distro with no desktop potential, is that I have been getting along just fine using it as an all-purpose desktop system for tasks that were often multimedia in nature. So there!)

Within the past few days, however, I had succumbed to some old bad habits, and took OpenIndiana Hipster for a spin after an extended absence. I installed from the 2016.10 iso and then was able to patch it up to whatever was current as of July 2. And while some bugs and hiccups (not to mention a lack of some of my favorite multimedia apps) sent me scurrying back to OpenBSD before long, I nevertheless enjoy the overall feel and aesthetics of that system's iteration of the MATE desktop environment (which itself is a successor fork of Gnome 2).

OpenIndiana Hipster's default MATE desktop, as shown 
from a 2016.10 live DVD session

Once I had OpenBSD (version 6.1) back up and running, I installed the XFCE 4 desktop environment with the intention of going for the default configuration (as usual), but after an errant mouse click found myself faced with the prospect of configuring it from scratch, one panel at a time. Still longing for OpenIndiana's aesthetic, I proceeded to see just how much I could tweak XFCE 4 until it bore a passing resemblance to OI's default MATE desktop configuration. (One essential part of this task included downloading and installing the "Nimbus" window theme. It also helps that the default typefaces for xfce4-terminal, Monospace Regular 12-point, is the same as that for mate-terminal.) After a few hours that felt more like 20 minutes, here is the fruit of my labor:

OpenBSD 6.1 running XFCE 4, tweaked to somewhat resemble MATE.

Akin to an Elvis impersonator, the above looks like like Solaris/OpenIndiana MATE if you squint your eyes and don't look too closely at the applications button. (I should note here that I haven't tried installing MATE on OpenBSD yet, as I'm not 100% certain yet that a polished version is available on that system. Nevertheless, it appears to be in the "work-in-progress" stage.)

And for anyone who has fiddled with Oracle Solaris 11.x, all it takes is a simple change of background wallpaper to make the above look even more familiar:

And the "Desktop Least Likely To..." award goes to OpenBSD 6.1
pretending to be Oracle Solaris 11.3.

The above pic is the exact configuration of my XFCE desktop as of this writing. The visual aesthetics of Oracle Solaris crossed with the speed of OpenBSD is sending conflicting information to my brain, though not in an entirely bad way. (File under "Recreational High".)

Odds and ends

syspatch - As of OpenBSD 6.1, you can use the syspatch command to scan for system patches (syspatch -c) or to simply let 'er rip and apply all available patches (syspatch with no options).

doas mount/umount - While running OpenBSD 6.0, I had been using hotplug-diskmount for mounting and unmounting of usb drives/devices. This time around (after reinstalling from scratch with 6.1 DVD iso), I somehow couldn't get that utility to work, but came across a simple method in an excellent online article, Installing OpenBSD 6.1 on your laptop is really hard (not). The steps, as shown by that author and followed by me, are to first append the following lines to /etc/doas.conf (or create a new file with those lines if it doesn't yet exist)

permit nopass jed as root cmd mount
permit nopass jed as root cmd umount

Next, create a directory from which to access your USB content (in my case /home/jed/usb), and then mount or unmount as follows:

$ doas mount /dev/sd1i /home/jed/usb
$ doas umount /dev/sd1i

Brother, can you spare a compatible wifi card? - I love my current laptop, but the one blind spot is that it uses a Broadcom BCM4215 wifi card which, as far as I can tell after much Googling, only works with Microsoft Windows. (That may not be entirely true - it appears Ubuntu has a driver, firmware-b43legacy-installer, but my particular card may not be covered.)

Thursday, June 1, 2017

Don't burden Wonder Woman with American jingoism

The following is a letter to the editor of the New York Post.


Dear Editor,

Maureen Callahan's appraisal of the upcoming Wonder Woman movie (Why 'Wonder Woman' is less American than ever, June 1, 2017) seems to center on the extent to which it fails to be a propaganda exercise for the cause of American Exceptionalism. In the process, she betrays the national insecurity and defeatism at the heart of mindless flag-waving for its own sake.

America is already great in many ways, even if its sons and daughters have been repeatedly deceived into harm's way in the name of (or within the highly-charged milieu of) patriotism. Think of the Gulf of Tonkin "incident" that was fabricated by elites to lure unwitting Americans into the Vietnam war (which didn't actually have anything to do with "stopping communism"), or the "pre-emptive" oil war in Iraq that was waged by George W. Bush under the false pretense of the "Weapons of Mass Destruction" that were already known not to exist.

When will more Americans realize that the sense of "patriotism" they've been trained to feel is actually a form of mind control that keeps them supporting people and causes that are diametrically opposed to their own interests? When will they stop offering themselves up for manipulation by politicians such as President Trump, whose numbskulled appeals to patriotism of the most jingoistic variety were designed to turn the crowds at his campaign rallies into arenas full of angry barking dogs?

Patriotism in and of itself is a complicated and contradictory affair, and so I do not share Ms. Callahan's dismay that today's Wonder Woman doesn't honor her roots as wartime propaganda with an hourglass figure.

Finally, Ms. Callahan concludes her piece by asking "Why can't Wonder Woman make America great again?", which inadvertently amounts to the author bashing her own country. Looking at the bigger picture, a country that is truly great doesn't need to constantly preen and flex its muscles for the benefit of the rest of the world - it simply needs to let its actions speak for themselves.

James Deagle
Ottawa, Canada

Wednesday, May 31, 2017

Tory leader right to give Jack MacLaren the boot

The following is a response to a news article comment on lake88.ca.


Firstly, Patrick Brown is not the Premier, and so the Province of Ontario is not "under Patrick Brown", nor is it a "dictatorship". (By definition, the Leader of the Opposition doesn't have the authority nor ability to make the Province a dictatorship. All he can do is heckle the Premier and hope for the best.)

Secondly, the "PEOPLE" of Carleton-Mississippi Mills chose Jack MacLaren as their MPP, and in that particular job he remains until the next election. Mr. Brown has simply revoked Mr. MacLaren's party affiliation - otherwise, the same person continues to represent the "PEOPLE" in question

Although we have a party system in Ontario, you vote for the person, not the party, even if your candidate's party affiliation factors into your choice at the ballot box. (Furthermore, becoming a given party's candidate is a matter of selling more party memberships than one's competitors, which isn't quite the same thing as the "PEOPLE" speaking their mind.)

On the other hand, any party has its own disciplinary process, and any party has the right to strip any of its MPPs of their party affiliation, particularly if that MPP is conducting themselves in a way that is detrimental to the party's political viability. While some of Mr. MacLaren's comments (regarding French rights, women or sexual abuse) may be met with rounds of applause from the more redneck corners of his riding, they nevertheless hurt the party's brand overall. If Mr. MacLaren's statements are not in line with the party's own philosophy and world view, then they are right to give him the boot.

Party affiliation is a two-way street.

Wednesday, April 19, 2017

Blessed St. Xenia of Petersburg Cathedral

I snapped these pictures yesterday of Blessed St. Xenia of Petersburg Cathedral (Russian Orthodox Church Abroad) in Kanata, Ontario while waiting for the bus. This is definitely an old-school Russian church, as it has no pews in the sanctuary (though there are benches along the back wall for those who need to sit), and services are mostly in Russian.

Construction began in 1996, with the inaugural service being held in February 1997.

Thursday, February 2, 2017


I recently posted an art video on YouTube entitled Denial, which is a visual meditation on the Armenian Genocide in particular, as well as religious persecution and unacknowledged genocides in general.

All work on this video was done in OpenBSD 6.0 using Blender, GIMP and Audacity.