09 April 2017


Do we, all of us, walk in the footsteps of our ancestors?  Some people speak of a wheel of time, and others, an arrow.  Might time be both at once, each minuscule ending pointing to some new calamity, a series of singularities?

Is my contemporary homeland the new Rome, doomed both to rise to the same greatness, and to fall to the same depths of annihilation for its sins?  Some people believe that we live multiple lives, that our souls somehow shed bodies in the same way that our bodies shed clothes after a long day's work... or after we're burned.  Do we consider that, if the self has lived multiple lives, that those other than the self may well have done so, too?

Are those who pay the price of repeated mistakes truly innocent?  In some cases, it can be folly to leave one's self open to injury as much as to do injury to others.  Just as foolishness can learn to avoid making mistakes, might innocence so learn to avoid the consequences of such mistakes being made?

Who are we, such small creatures in our arrogance, to question the universe around us?  Or to question our gods?  The image is reminiscent of the peddler's dirt-smeared child asking questions of the emperor, a chance meeting in the street- if anything so momentous could be attributed to chance.  And, in the small, quiet hours of the night, when we fancy that we hear our foolish questions answered... are we sure that the voices doing the answering are to be trusted?  Might the universe tell lies?

What makes the life of a human, more aptly an ape of the species Homo sapiens- oh so scandalously hybridized with H. neanderthalensis, H. rhodesiensis, and most certainly others of more hair and smaller brains (and thus more scandalous still) in the ancient past... what makes our lives so much more valuable than others?  A blade of grass is alive, just as much as a fish, or a cow, or a worm.  Does a blade of grass not have ambitions?  Does a worm not have them either?

Do the ghosts of all of humanity wander among us, unseen by all by a gifted few, and laugh at our errors?  Do they despair of them?  Our fathers and mothers, and their fathers and mothers, so on back through the mists of time to the first mote of a protobiont, surely are wiser than we are, in our infancy.  And the stars from which nearly all that we see and know was born- dust and rock, water and sky, light on the moon and the embrace of another living creature- those ancient stars, are they yet wiser still?

And so, like a wizened and surly mage in some tale of wars and heroes, I haunt my tower.  Surrounded by my books and herbs, and accompanied by my familiar, I advise such kings and lords (though less well-dressed than in bygone days)... I advise such kings and lords who as are bold enough or reckless enough to climb the steps, and of nights I ask questions of the stars.

20 March 2017

State of the BSDs

So, every once in a while I find myself doing a mental comparison of the various flavors of the main *BSD implementations, where they stand, what they support, etc.

Even more rarely, the comparison necessarily becomes manifest, in the form of trying to install each of them, and cursing like a sailor with a bad case of boils about what works and doesn't work on each one.

Just for posterity's sake, below you'll find a table of the standing of each, in my observation, as of today (Monday 20 March 2017).

This table only compares features that are significantly different and reasonably uncontested.  There's not much point in comparing things that they all have in common.  They all support DRM2 / KMS on x86[-64] in their most recent releases, for example.  Other concepts, like "security of the base system" are relevant and have some numbers available but are hotly debated, whereas nobody is arguing that Dfly supports PowerPC, or that OpenBSD has netmap.

Points awarded:
  1. Does not exist or work at all
  2. Exists or works, but is not documented or well-supported, or requires third-party patches
  3. Exists or works well, is documented, and is supported
Please note that if you have a factual correction about some information and care enough to post about it, I will gladly review an amend as appropriate - I do not care, however, if you agree with me on the more subjective measurements, that I didn't include your favorite BSD flavor, that Linux blah blah blah, etc. ad nauseam...

Differentiating FeatureFreeBSDOpenBSDNetBSDDragonflyBSD
Niche Architecture Support1220
Modern Security Hardening1221
SMT-aware Scheduler2002
Network Ring Buffer2012
Modern C[++] Compiler in Base1112
Next-Gen File System Available2122
Native Hypervisor2200

Here's the break-down:

N.B. I'll add links to supporting documentation later as a follow-up, when I have a few minutes
  • Niche Architecture Support: NetBSD and OpenBSD are both strong here, with the base system and a good selection of pre-compiled binary packages available for a wide variety of architectures.  FreeBSD supports a few of the less-common architecures, but only has pre-built packages for x86[-64] and ARM.  Dragonfly, of course, only supports x86-64, period.
  • Modern Security Hardening: Again, NetBSD and OpenBSD are both strong here, with a good selection of PaX features (or workalikes) in the base system and well-documented.  DragonflyBSD has started on a few of them but doesn't have the whole buffet yet.  FreeBSD only has them as a separate distro-nee-patch-set (HardenedBSD).
  • SMT-aware Scheduler: FreeBSD has ULE, DragonflyBSD has... well... whatever it's called, but poor OpenBSD and NetBSD are stuck with descendants of the old 43BSD scheduler, which isn't particularly aware of CPU topology as far as I can tell.
  • Network Ring Buffer: FreeBSD and Dragonfly both have netmap.  NetBSD seems to have an implementation, possibly related to the kernel-in-userland option, but I can't find much about actually using it.  OpenBSD has nada in this department.
  • Modern C[++] Compiler: DragonflyBSD has a modern GCC in the base system.  All of the rest have Clang in base, either as an option or as default, but Clang on anything other than x86[-64] and ARM[64] is catch-as-catch-can at the moment, and the default releases for different architectures reflect that.
  • Next-Gen File System Available: Think copy-on-write, filesystem-level snapshots, multiple virtual filesystems on a single partition, abundant bit rot protection etc.  All of the BSDs have ZFS in some form, though OpenBSD's ZFS does seems quite experimental even though it does exist (thanks to Ted Unangst).  Dragonfly also has HAMMER[2], which is pretty alright.
  • Native Hypervisor: Pretty straightforward - is there a hypervisor in the base system, or not?  FreeBSD has Bhyve.  OpenBSD has vmm.  The others have naught.  I'm not counting the ability to act as a Xen Dom0 here, because even though Xen is a good hypervisor, its administrative experience is normally a far cry from "native."

Now, none of this should be construed to mean that I just absolutely adore one above all others - they each have their strong points: Dragonfly simply won't run on anything other than x86-64, and FreeBSD's support for anything but x86[-64] and ARM is shoddy at best (no pre-built binary packages AND a ten-year-old compiler in base?  C'mon?!); NetBSD supports the most platforms out of all of them, but OpenBSD is the only one with solid sun4v support, etc.

The point is that I've got each of them running happily on at least one (1) system that I own, for a good reason or two.  Diversity in measure is still a good thing.

08 February 2017

A Sordid Affair: Technology Giants and the States that Govern Them

Feuds between technology and law are not a new item in the news- policy makers often find themselves variously courted by the technology industry, or lambasted by it, depending on which way the winds are blowing on any given afternoon.  Many consumers, for example, in the United States and indeed around the world, may be familiar with the Apple/FBI tangle in 2016.

But the relationships are not always "IT vs. the Big Bad Government."  IT businesses are... well... businesses, after all, and can only be expected to act accordingly.  As such, today's choice pairing of Intel Corporation (NASDAQ: INTC) with the U.S. Blunderer in Chief should come as no surprise.  Business-savvy Intel is simply attempting to capitalize on the momentum of the "Make America Great Again" movement, and it's difficult to blame them.  The fact that Trump had nothing to do with the touted job-creating factory is a triviality, of course; there's publicity to be had.

Lest this post be perceived as picking on poor, defenseless little Intel, let's look at a few other examples in recent memory of tech giants playing the quintessential bellweathers to political winds- most often around privacy issues (this is the 21st century, after all):

What can a normal consumer take away from this?  One simple lesson:

No for-profit technology company is going to be the persistent champion of your privacy or your freedom of speech.

Businesses can, will, and do change privacy positions, even to the point of violating their own published policies, if there's cold hard cash to be made.  So who is your champion?  You are.  You, and you alone, can assume responsibility for your rights under the law.  This is not a new idea, but sometimes we need to be reminded of it.

The more judicious reader may have already asked, "but if I have nothing to hide, why bother with privacy at all?"  This is, as history has shown time and time again, a fool's argument.  The statements, views, and opinions that are blithely ignored today can (and, tragically, often do) become sedition tomorrow, and prohibitions against ex post facto legislation don't always hold up as well as they should- particularly once the specter of terrorism starts blasting its banshee-like wail over the land.  Shouting "but that's an ex post facto law" will do precious little to get one out from behind bars.

As such, it behooves all freedom-loving folk to arm themselves with weapons of free speech, just as must as with weapons of steel and lead.
  • Have a home alarm system (electronic or furry) to alert you of physical intruders?  Great.  Repurpose an old computer as a firewall to protect from cyber-intrusion.
  • Keep a firearm around in case somebody breaks through the front door?  Awesome!  Have legal weapons at the ready in case your digital privacy is breached.
  • Lock up when you leave the house, as a simple deterrent to theft?  Smart move.  Encrypt your computers and mobile devices to do the same thing for your data.
None of these will take much of anything from you in terms of time or money- a couple of hours end-to-end, and ostensibly all of it is free.  If you can't be bothered to protect yourself, you don't get to play the victim when you get pwned, censored, or silenced.