Mr. Once-Ler

The Christmas tree is down.

I spoke previously of the cursed tree that wouldn’t hold ornaments and gave me hives.  We’ve since blamed it for a shared allergy-turned-sinus-infection that’s turned the house into a mass of hacking, spitting, and overall generally miserable group of barely-animate skulking human flesh.  So after Liz packed up the ornaments and I the lights, I decided upon a solution more efficient than lugging the thing through the house once more.  I would take my revenge upon the arboreal abomination and in the process use a power tool.  How manly is that combo: violent revenge and power tools? …even if it was the reciprocating saw– AKA the small penis saw aforementioned.

Mua HAHAHAHAHA!
And out the window
Even with the wider hose, the needles clogged up the new shop vac too
Someone got yelled at for getting in the way

I plan to institute a new holiday: Christmas Tree Burning Day.  It will be held on the first weekend day that it isn’t unbearably cold.  I find that appropriate, seeing as the tree itself is a take on the pagan yule log thing (and it totally is, despite having heard ex post facto attempts to explain the tree’s origins in Christianity).

Arbor Ignis!

–Simon

Ephemerality

I registered a domain for this blog–not for any important reason other than it was available: ephemerality.net; and since domain names only become increasingly more rare, I was pleased to see that a single word–the titular word of this blog–was available.  I hadn’t even thought to check its availability until now, assuming it had been taken.

Although .com certainly was taken, by a squatter.  As in, it’s registered but no active site exists at that location, so it must be some guy who thought he’d hang onto it and wait for some company to offer him a big payout for it some day.  But visiting the URL brings up a 404 error, so it’s routing traffic somewhere, just not somewhere with an HTTP site.  Maybe he’s using it as a placeholder to a private server.  Dunno.

In any case, I now own the .net version, which redirects here anyway so nothing amazing going on.  At least it’s shorter to type.

–Simon

Sidecar

“I need a pretentious cocktail to order.”

The request immediately snapped me from my daydreams.

For reasons I won’t go into here, we were headed to a social function.  And Liz wanted to send the appropriate social cue: engaged, but slightly and arrogantly aloof (see above: pretentious).  Not negatively and actively pretentious, but rather one of perceived pretentiousness, as in: I dressed up to go out and I speak with proper grammar.  That kind of pretentiousness–the kind that would complement her husband’s trenchcoat/tie/scarf-wearing pretentiousness.  You get the idea.

Mix pretentiousness with drinking, and in this very specific scenario, she was married to the right man.

“Ah, well then you need an obscure yet classic cocktail,” I replied, then began thinking.  It had to be something she would drink, obviously, yet it had to be something I’d never seen on a menu before.  But, it had to be rooted in old traditions–a recipe that had an official IBA standing and contested origination history.  A memory coalesced of Alton Brown (culinary pretentiousness personified), arguing his historical version of the margarita’s predecessor.  The associated visual he had provided was even in a Parisian cafe–or bar, whatever the French call those establishments.  It was a perfect backstory, if only I could remember what it was called.

I remember having had one before, though I didn’t remember when or where.  It had a dark spirit, and was sweet and citrus-y.  I lapsed into silence, waiting for the fragmented neurons to fire in the appropriate sequence.  Minutes passed since my response; while I grumbled to myself, cursed my memory, and browsed through my phone hoping to find the answer.  Yet Liz didn’t interrupt my thoughts.  Perhaps the visual signals I was sending indicated a heavy CPU load, like a fervently-blinking yellow light–you just let it finish what it’s doing before trying something else or it might lock up and crash.

“A sidecar!”  Huzzah!  I then researched the exact ingredients: cognac, lemon juice, and an orange liqueur–which sounded good to Liz.  Then, to complete the effect, we discussed the manner in which such a drink had to be ordered: with a specified liqueur and manner of serving–ultimately concluded to be Grand Marnier and served up (and Courvoisier–if your preference is for that mediocre product of marketing other cognac that’s only drunk because of its popularity among hip-hop singers, kill yourself).

At the restaurant, the waitress took down the order with an obvious air of skepticism, probably assuming that someone at the bar had to know what it was.  She returned with a cocktail–served up and in the appropriate vessel…with a glass of something else alongside.  Upon inquiry, she explained that that was the Grand Marnier.  Apparently somewhere along the way someone considered the liqueur to be a separate request, rather than a preferred ingredient.  No matter, once the Grand Marnier was mixed in, it made for a very respectable sidecar.

Liz found it very agreeable to her palette, and decided to request the drink elsewhere, and each time it was a phenomenal success.  This made me re-think my own cocktail of choice, the Manhattan, because 1) Bourbon is increasing in popularity, and 2) Possibly as a result of the first reason, the Manhattan is now well known, which leads to 3) The drink appears on cocktail menus now which means that everyone makes their own non-standard version, they’re watered-down, and they’re overpriced.  My weak-ass Manhattan cost $10 next to Liz’s significantly stronger and tastier $7 sidecar.

So now I’m jealous.  We can’t both order the same drink, and the sidecar’s become her socially-refined signature cocktail.  Perhaps it’s time for me to just move on.  Bourbon, you were good to me for a long time, but you’re kind of a whore, and too many lips have touched you.

–Simon

Perspective

With the looming winter there just aren’t as many projects to undertake (and to write about), but rather than make yet another video game post I thought I’d ramble a bit about economic and workplace observations.  I’m sure that sounds riveting, but I’m not one to mislead with a false premise.  If you prefer, simply rename this post’s title to: Ten Things You Need to Know About the Millennial Worforce (in the typical clickbait list fashion).

Although, I still don’t consider myself a Millennial.  I fit somewhere into that forgotten Generation-Y group, before Millennials but too young to be a Gen-Xer.  And like everyone else, I feel that my generation had it worse, and I will explain why.

I will do so by mentioning two movies that I consider to be flagships of this Lost Generation, Gen-X: Fight Club and Office Space.  Media serves as an excellent historical record of a society.

Taken at face value, they’re comedies.  Looking deeper, however, I became irritated at the protagonists’ complaints.  In Fight Club, for example, a young professional becomes disillusioned with the consumerist society in which he lives, abandons it all, recruits followers, and then uses domestic terrorism to try and topple the financial sector.

I’m so angry and brooding. Look how cool I am though. In a later scene I take off my shirt.

Here’s another look: a young professional has more money than he knows what to do with, struggles to find meaning in his life, becomes an asshole at work, foregoes finding a meaningful relationship because he’s a misogynist and opts for a friend with benefits (to whom he’s also an asshole), then creates a gang to commit large-scale vandalism.

I’m so sad because I’m a cubicle jockey. Fucker–I had to work 9 YEARS to get my OWN cubicle.

In Office Space, a young professional becomes disillusioned with the lack of meaningful employment, struggles with having a relationship, then snarkily finds ways to strike back against his evil corporate overlords.  Or, a young professional doesn’t like his job and girlfriend, so he grabs the hottest girl he can find (obvious because it’s Jennifer Aniston–who’s always playing the part of hot chick), shamelessly ceases to do any work (but doesn’t quit his job–just pulls a paycheck while sitting around), then convinces a couple of his colleagues to commit computer crime and steal a lot of money, culminating in some vague message that these actions were maybe not justified, but permissible, since his boss/employer was terrible.

If I extrapolate a line of reasoning akin to the hierarchy of needs, then I would conclude that the Gen-Xers, not having to work as hard for economic sustenance, invented problems, or possibly focused too much on more minor problems, and as a result have a much greater expectation of their effort/reward ratio.

I mention all this because I work with this older generation.  As a whole, I’ve been reasonably content in my current role and department, feeling as though I’ve finally achieved a satisfying level of accomplishment and respect (see above: my own cubicle).  At least I don’t feel like killing myself anymore, so I was a little surprised that when we took our usual round of company surveys, the overall scores for the department were rather low.

I was not the only one who wanted to know why, as committees were soon formed with the intent of identifying the factors that were lowering the scores.  As I was conscripted, I had little say in my involvement.  So I just listened.  Common complaints were: inconsistencies regarding using benefit time, lack of established policies, perceived lack of trust, and a general feeling of being treated like a child.  I found little merit in these claims, seeing them as superficial interpretations of inevitable inconsistencies.

But I suppose the surveys did what they intended: measured the level of employee contentment; and the committees identified specifics.  Still, I can’t help but feel that the prior generation had it a little too easy.  I suppose, in time, the Millennials will consider me a big whiner with unreasonable demands too.

–Simon

Broken WordPress

Techies live by two very wise philosophies:

  1. If it’s working, leave it alone
  2. If there’s a security update, install it

You might notice a paradox here.  And therein lies the source of endless frustration.  Plainly stated, you can’t install a security update unless you mess with a working system.  So what to do?

Well, my personal plan of attack has been to check the patch notes before installing anything, and judge its relevance to my given application.  For example, I put off updating my VPN software because the patched vulnerability was an old version of L2TP/IPsec–something I don’t use.

But the growing list of CVEs on my WordPress install started to concern me, some of which were alarming, like broken access restrictions with URL injection.  Yikes.  Still, I waited, because I really didn’t want to mess with it.

Then my server automatically updated its PHP packages (I thought I had disabled automatic updates), which brought my blog down.  So begrudgingly, I used it as an excuse to finally update.  I began the install process.

As it turns out, WordPress runs on PHP 5.6 (the scripting language which loads data from the SQL backend)–at least the package I have installed anyway.  Other programs I run require PHP 7, so I have both installed.  But the automatic PHP upgrade deactivated 5.6 in favor of 7, which not only broke the site, but prevented the install.  I manually reactivated 5.6, which then triggered its own update, requiring me to patiently wait another hour while it completed.

PHP updated, I tried to load the installer again, but found out that the MariaDB (the open-source fork of SQL) version, version 5, had been stopped in favor of version 10–very similar to the PHP problem.  So I reactivated version 5 and waited patiently while it updated.

These updates collectively maxed the server’s processing power, which then brought down the entire machine.  Nothing’s more nerve-wracking than watching an eternally-spinning icon, devoid of any meaningful information like a status bar.  But, patience and a lot of burning stomach acid later, the installs completed and the server came back online.

I started the WordPress install, and was prompted for MariaDB 5’s root password.  I looked up my complex and randomly-generated password, pasted it in, and continued.  Then I was prompted for MariaDB 10’s root password.  Curious, why would it need both?  Unfortunately, I have yet to find a solid answer, as the WordPress package installations and their associated communities vary widely across the web.

It’s friendly logo hides its true nature

Then I was prompted for my database user account, which I input as well.  The installation clocked for several minutes, then advised that I did not have access to the databases.  Curious.  I knew with certainty what my user password was.  I considered that maybe the root password was different.  To find out, I installed a database management interface and attempted to log into both databases as root.  All attempts failed.  So apparently I didn’t know the root’s password.

A brief web search revealed the default password to be blank, which bothered me immensely.  Granted, it probably wasn’t as big a problem as I was thinking, since presumably only the localhost would have access to the database, but that still seems like a bit of a security hole, like say if malware made its way into the machine.  Also, the management interface I had installed was Internet-facing, which meant that the moment I installed it, my databases were publicly accessible.  Nothing private is in there, but still.  Ah well, I used the interface to change the root passwords for both databases and reattempted the update with the correct credentials.

The install crashed and the logs said the update failed.  I checked the install package, and its version matched the newest.  Confused, I consulted the logs again, but this time it said that the install was successful.  Finally some good news.  I opened up the site.

The site loaded its front page, but without images.  I refreshed the page, only to then find that the only data loading was in the browser’s cache.  The page wasn’t there anymore.  So I checked the web directory’s contents and was dismayed to see that the entire WordPress folder had been purged of data.  The update had reinstalled anew, rather than updating.

I had taken the precautions of backing everything up, so I wasn’t completely distraught, but I began to fear that the WordPress package itself was beyond repair.  I had previously considered 3rd party hosting solutions, and figured that this would be my final salvation.  But first–I would use my automatic backup service to retrieve the last version from my Amazon Drive account, which was timestamped as that morning around 5AM.

The restore took about a half hour.  I reloaded my site, and it worked!  I admit I was surprised.  I had surmised that the site solely operates through a conglomeration of PHP scripts which access the database, but if that were  the case, then the file restore would have wiped out the upgrade–which after checking again, it hadn’t.  So it was the package itself that got updated, not necessarily the script files.

I admit, I still have a long way to go to understanding this technology, but that was the original point of starting this blog.  For now, I’ll remain content that my site is functioning at all.

–Simon