Wondering What TODO

I’ve been thinking of adding a Kanban board to my site for a more advanced TODO list. So far I’ve looked at:

  • Kanboard – Interesting and right now the main contender. It’s fast, easy to set up, and can use Postgres. It’s somewhat ugly, and the existing themes are few and far-between. It’s also PHP, which isn’t winning it any points. Also, every single theme breaks the code syntax highlighting in the hover tool-tip of the Board view. The fact nobody noticed this makes me wonder if the project is even still alive.

  • Wekan – Better look and feel, and more features. But it relies on MongoDB and appears to be a node.js project, and relies heavily on Sandstorm. It does have standalone, but that is packaged in Snap, and I’m not sure I want to encourage that. Nor am I convinced the public VM I’m leasing will be powerful enough for such a bloated stack.

  • Taiga – Looks to be the most advanced, and a Django app to boot, so it can use any compatible database backend. Unfortunately there’s been a ticket open since 2014 for swimlanes, and the feature is still missing. That’s basic functionality and they can’t get around to adding it.

  • Restya – Another PHP contender, and far more “pretty” than Kanboard. Unfortunately also no swim lanes. How do these devs have ample time for shiny glitz but not basic functionality?

All the rest I ran into were either paid apps or couldn’t be self-hosted. Perhaps someone out there knows a better alternative, but it looks like I’ll be tossing a Kanboard up for now. I can deal with the minor visual bugs for now, and it’ll be a huge step up from the Google Docs file I’ve been using.

Straying From the Path

People are so blind to their own flaws. Through certainly no bastion of saintliness, I try to at least remember to listen. It’s better to be wrong and learn, than remain steadfast in my ignorance. And there is always so much left to learn. May there be so many mistakes yet to come.

On the cusp of my 41st birthday, it’s inevitable that a certain amount of melancholy or nostalgic regret seizes my attention. At least, that’s the cold and clinical way I’d normally frame it, given my disposition. In reality, being 40 wasn’t so bad. My life is decidedly not perfect, but perfect is the enemy of good.

It’s hard not to consider though, the path that led me here.

1998 was probably one of the hardest years of my life. The first woman I’d ever really loved had essentially tired of my oblivious selfishness and cut me loose. Hindsight being what it is, I can’t really blame her for that. And in that same regard, it’s trivially easy now to see that we were truly awful for each other. Give a starving man a buffet, and he will gorge himself until he dies.

The improperly socialized don’t even know the mistakes they’re making. That’s probably the hardest lesson to learn, that looking back shines the harshest light of truth. I hurt so many in my floundering for meaning, even if unintentionally.

And there’s the rub. If I tried really hard, I could adapt my perspective and see the rose beyond the thorns, the lessons borne from the failures. But that isn’t—and never has been—who I am. I’m the eternal pessimist, the watcher who strives to see the bigger picture. The witness of an experiment I yearn not to taint by participating. It’s why I practice everything to a fault, mull every sentence until the inspiration and opportunity has passed, and live in a carefully cultivated life free as possible from chance.

Rather than fail and try again, I strove to be flawless. I was my own worst critic, because I believed the world would never tolerate imperfection. A mentor could have perhaps warned me of my folly, that experience and consideration of the situation are far better teachers than I believed. But youth is famously wasted on the young, and my impatience was fueled by an unwavering persecution complex. I wove a cocoon where I would finally be safe.

So I can’t help but feel like a failure most of the time. Despite how good my life is, it could always have been better. I could have done things differently. Perhaps been a better friend, or made good on my early dream of being a novelist, or have done it all by 30. Instead of enjoying my success, it’s damnably hard not to see my life as a litany of various catastrophes ending in utter mediocrity.

Since I started meditating two years ago, another obvious truth has emerged. Even were that my ultimate fate, would that be so bad? Why must I strive to be highly regarded? What do I seek to gain through unmitigated success? Why care so strongly, when driven by their own concerns, few are even so cognizant to see or even acknowledge my shortcomings? And why do I see things this way in the first place? No life is perfect, and even if through some miracle someone out there could claim such, why is my first reaction one of envy? Why must I regret so much?

I have no reasonable answer for those questions, except that I don’t. I don’t have to eternally yearn for some mental image of what could have been, but derailing nearly 40 years of momentum feels insurmountable.

Had I a chance to speak with my younger self from 20 years ago, I’d say very little.

Have patience, and be kind. Care not for the past, but for the lessons it teaches. Live not for the future, nor carelessly disregard it. Calm your mind, lest your perception rob life of its succor.

I would probably have seen it as maddeningly cryptic and complained about a lost opportunity at cheating destiny, but it’s also the truth. It’s always been there, had I stopped to consider rather than hyper-analyzing every situation or endlessly projecting hypothetical scenarios. I can’t prepare for every potential eventuality, nor should I attempt to do so. It’s a hard habit to break, and I’ll inevitably do it anyway, but every day it will happen just a bit less.

And that’s OK. Maybe one day I’ll even reach a point where I would impart no advice at all to my younger self, except perhaps a wink and “Strap in, kid.” That would not affect my life one whit and my misadventures would remain, but that could be for the best. Doing otherwise is still wishing life turned out differently, and that’s ultimately the same trap as before.

Ultimately I hope to escape the melancholy that seemingly defines my perspective. If not that, then at least accept it as merely another card in the hand I was dealt, rather than the trump card it became. I’ve never really been happy, and that’s much the reason why.

Mistakes are part of life, and the only direction is forward.


In the lonely hint of darkness,
for there are nor wit nor wail.
It matters not how things began,
for all is doomed to fail.

In despondence, it occurs that few things persist so well as uncertainty. That constant, maddening drip, penultimate and voracious through and through. The criss and cross, flaying and barreling forward, draining into yawning steel or simpering infinity. It’s there.

And so, these times that conspire to wrest recollection from failing and questionable histories, that ascribe nostalgia to a litany of inconsistent but unfailing missteps, revenge is both meticulous and triumphant.


Bereft and harrowing, I can’t but notice—witness the pendulum ticking twixt extreme and excess, righteous and indignant, awake and contrite. It is failure and reliance; meaningless, droll, and trite, or terrifyingly bright. Is it oblivion, cautious and shrouded, stealing reality from entropy’s embrace? Long defiance wrestles with unmitigated disaster or unflinching resolve, drifting ultimately beyond any realm of clarity. It’s there I’ve dwelled from time immemorial.

And so, vibrating with a sense of inexplicable urgency, driven forward by a cattle-prod comprised purely of unbridled agitation, I sit astride The Apocalypse. An unbroken fever of decades foments within an addled mixture of apprehension and pessimism, deriving nothing but unfettered wariness from once primal vengeance. It’s that culmination, inescapable and conclusive, that badgers all conscious thought.

Hidden here is the esoteric origin of disdain. Forever entwined with Schrodinger and his contemptible feline, contemplation and existential crisis begets not a little madness. And from there, a font of drivel resolute and astonishingly cynical, decries a universe unraveled. And fleeting rest is no escape, nor even death an end.

It’s only now, in a fever born of a withering cascade of chronic insomnia, I can look back upon what I am and how I came to be. Always anxious and unsure, contemplative and melancholic.

One of my strongest memories comes from when I was three or four years old, and is likely common enough. It was a question I was incapable of articulating and launched from a brain with a short attention span; I wanted to know where I came from—why there was nothingness before. Frustrated by my uncooperative mind, I gave up and told my mom I loved her, uttering possibly my first non sequitur. It’s a memory framed by years of medical tests and other procedures that culminated in an open heart surgery I knew I might not survive.

Something broke in me then. A bit of research suggests it’s just a mundane expansion of amygdala due to persistent early life stress, and thus exaggerated conditioned fear response. Regardless, I’ve no more constant companion than doubt. It makes me overly cautious, methodical, and skeptical. I approach everything as if failure is inevitable, understanding that I have no choice but to proceed anyway. If I somehow won the lottery, my next thought would be a litany of practical concerns of how to best manage and secure the windfall, rather than joy.

So I started to read escapist fiction. I probably maintained a book per week, or more, for a solid twenty years before video games finally supplanted the habit. Instead of bettering myself or increasing my skillset, I ran away. Disengaging mentally from my inherent curiosity was how I coped. I loved to learn, but was uncommitted, electing to absorb rather than generate. It made me mediocre, safe, and generally unassuming. Quiet and reserved, that’s my motto. Observe; don’t interact. Turn off that brain, and maybe you’ll feel something other than a sense of obligation. Not so occasionally, I wonder if things could have been different.

That’s a very unforgiving and unrewarding way to live, and it has made me weary beyond belief. Normally I’d call such a statement hyperbole, but it’s all I’ve ever known. All of my emotions have always been muted, withdrawn, or from my perspective, non-existent. That’s just how things were; how they are, really. In fact, around the time I was 13, I woke up with depersonalization, and it lasted for several years afterward. The feeling gradually faded, though its effects were long-lasting.

Yet one day when I was 24 or 25, something very strange happened: I felt good. My usual brooding disposition transformed into optimistic acceptance. I felt like I could accomplish anything, and even if I didn’t, everything would be fine. For one beautiful day, the veil was lifted. To anyone else that may have been a normal day, but to me it was euphoric. It provided a taste of what I was missing, and I’m not sure if I should be thankful that I had the opportunity, or miserable because I’ve never felt that way since.

These days, for each milestone in life, no matter how beneficial, I feel only relief that things didn’t go awry. I can smile to an extent, but do not feel excitement or anticipation. I shrug and nod, not because I’m nihilistic, or because I’ve become enlightened and above Earthly desires, but because that’s my capacity of engagement. For anyone who doesn’t understand depression, it’s not one thing. It’s a progression that relentlessly robs life of succor. It is food without taste; light without warmth; sleep without rest. It’s being alone in a room full of friends and family.

Some can hold on better than others, and at 40, some would say I’ve done pretty well in that regard. But again, for me that’s not due to some indomitable inner strength, but because I endeavor to never return to the nothingness which spawned me. All other concerns are academic. Had I been born even a decade before, I may not have survived past two months due to my heart condition, so I fully intend to wring every last iota of life from this malfunctioning lemon of a husk I’ve been saddled with, psychological consequences be damned.

So I can’t in good conscience, begrudge those who finally loose their grip. In a meandering stream of consciousness that unerringly focuses on the malevolent and hopeless, it’s easy to get caught in the current. Sometimes it’s easier to let go. To those who have lost, or are losing that battle, I offer only understanding. It’s probably the one thing a bitter angry pessimist can do without reserve.

Otherwise, it is with grim determination I wage this campaign. Though the void is uncaring, and circumstances random, and entropy will eventually render my efforts moot somewhere at the end of time, I’ll soldier on because it’s all I know. I suspect I’ll bring this maudlin perspective to my grave, but until then, I can at least be reliable.

I have a reputation to maintain, after all.

Politically Bankrupt

Dear subhuman filth,

I know you’re probably too busy fornicating with your toothless inbred sister to read this, and your unkempt diaper-strewn trailer likely isn’t compatible with such technological advancements such as the internet, but we need to talk, provided you’re even capable of understanding English sentences that don’t include phrases such as “Y’all” or “Hold my beer!”, you hopelessly ignorant Redneck. Stop beating your pitbull with your fourth extra copy of the Holy Bible for one goddamn second, and listen here.

It’s your fault we’re stuck with this incomprehensibly idiotic, corrupt, rapist, Nazi, buffoon of a president. While you’re busy sodomizing hapless men in the woods and telling them to “squeal like a pig, boy!”, Donald Trump is personally, literally, doing the same to our country. While you slack-jawed country yokels chug bathtub moonshine out of chipped mason jars that still contain the remnants of last night’s “good eatin'”, Trump is visiting each country and urinating on our reputation. And every time you contemptuous reprobates “saddle on up” to the crusty old outhouse across the dirt yard from the dilapidated shanty you drunkenly refer to as your trailer’s attached garage, Trump sells your worthless support to the highest bidder that happens along and wants to help screw the country into the ground.

It’s thanks to you, and your bible-thumping, white privileged, racist, Nazi, homophobic, science denying, flat Earth, misogynist, traditional bullshit beliefs, that a man who is literally Hitler is now in the process of transforming the United States into a Fascist dictatorship. Everything you are, have been, or ever will be, is an affront to all that is Good in the world, and your mere existence is a pox upon the taint of Humanity. Jesus Tapdancing Christ, how it’s possible you have enough functioning brain matter to remember how to breath is a mystery even the greatest minds could never solve. Please do the entire planet a favor, and go die in a fire, preferably by igniting that questionable slurry of chemicals you and your buddies pour into that lake in your back yard and chuckle at the “purdy colors”.

Sincerely yours,

The Sane Half of the Country

It’s incredibly sad this appears to be the level of discourse we’ve sunk to. Regardless of how I personally feel about Trump, who is quite likely the most incompetent and self-serving person to ever hold the office, the amount of hyperbole surrounding his administration is staggering. What’s worse, the indignant zeal, the sheer vehemence directed toward those who voted for him, is nothing short of appalling. Here’s a partial collection of headlines from a quick Google search on the topic:

Not only is this incredibly divisive, it’s promoting a narrative of one-sided moral superiority. And the character assassination doesn’t just stop at Trump or his voters. Dave Rubin is a married gay man, and has been called everything from alt-right to a Nazi. Milo Yiannopoulos, while an admitted provocateur, is also married to a black man and somehow apparently a racist Nazi. Jordan Peterson is a prolific clinical psychologist, and also an alt-right Nazi. The amount of articles denigrating the character of these people is as vitriolic as it is confusing. Carl Benjamin, perhaps better known as Sargon of Akkad, is a traditional liberal who has also been tarred by the same increasingly wide brush. And while Christina Hoff Sommers is what many may consider an “old school” Feminist, she too is a misogynist Nazi. Even Lindsay Shepherd, a graduate student who made the mistake of using a video featuring Jordan Peterson, is now an alt-right super-Nazi.

It’s become quite evident that social norms are beginning to consider the fundamental Liberal concepts of Free Speech and Democracy, as passé, or possibly even tools of oppression.

Like the disdain for anyone who would dare to vote for Trump, these articles either directly advocate the position, or paint an illustration of a turning tide: Free Speech enables Hate Speech, which is used by Nazis, ergo, it must be dismantled. What is bewildering to me, is how short-sighted and ham-fisted such a result would be. What starts out as apparently reasonable limits on Hate Speech now, will become arbitrary directives barring opposing political discourse in the future. Assuming Trump is the epitome of evil, imagine him with the power to declare the act of criticizing his administration as Hate Speech. That’s the kind of world we would eventually have; no social norm is perpetual, and the pendulum of opinion will forever swing from one extreme to another.

That’s how far the extremism has gone. The very bedrock of freedom in the United States, and those who happen to disagree with the Democratic party enough to vote for the opposition, are now indicative of White Supremacy and tantamount to the worst atrocities in the history of the world. In what is essentially Coke vs. Pepsi tribalism inherent to the Human species, the only thing we’ve learned is to further de-humanize those whose opinions are not our own.

What particularly saddens me most about this, is that the side which presumably stood for logic, science, and reason, is now perpetuating some of the coarsest assertions. We all remember the bilge Rush Limbaugh and his ilk regularly pumped out, with all their talk of Lib-tards. That the discourse of The Left would stoop to that level, and even in some cases burrow even further into the bedrock, serves mainly to suggest an enemy is fair game. In reality this is hardly surprising, as multiple decades of studies suggest othering is what enables a human being to trick, harm, or destroy another person. It’s the solution to cognitive dissonance against the act of harming a member of the tribe. Someone who isn’t considered human is fair game.

So the fact that these labels: Alt-Right, Nazi, and White Supremacist, are all being willfully applied to even factually inaccurate targets, isn’t that startling. It’s much easier to hurl insults at someone who’s barely human, or not even worthy of that designation. You can punch a Nazi, so if someone disagrees with you, and you want to punch them, they must ergo be a Nazi. Demand they be fired. Confound their business prospects. Ensure they live in a gutter, if they even survive at all. They deserve it, after all. None of this is really new.

What I dislike most of all however, is the hypocrisy. The current moral busybodies on the Left are no different from the Christian Right that plagued the 80’s and 90’s. They’re just as myopic, just as indignant, and just as willing to unilaterally impose their worldview under the guise of moral righteousness. And they’re just as reprehensible. The people who voted for Trump are human beings, many with families and concerns that diverge from the narrative. They’re not a mass of grunting troglodytes that interchangeably oppress women and lynch minorities. Yes, “even they” have largely moved beyond that in the interceding decades. But the continuous and divisive rhetoric may reverse that trend. “If everything I do is racist, well I guess I’m racist, then.” In for a penny, in for a pound, as they say.

Do I disagree with them? Absolutely. Will I treat them as human trash unworthy to even lick my chamber pot? Launch a moral crusade against them when they regurgitate something on Twitter that makes me roll my eyes? Castigate them at every possible opportunity simply to signal how virtuous I am? No. I’ll tell them I believe they’re wrong, and why. I’ll be a decent human being and take a reasonable approach that used to be considered an honorable tactic. Why spend so much energy on hate? What’s even the point?

Asserting someone is evil only serves to galvanize them against you, and you’ve gained nothing. Alternatively, a black man can convince hundreds of people to quit the KKK by simply being himself. How would that scenario have played out if he took a purely adversarial approach, I wonder? Did people really forget the old adage “You catch more flies with honey than you do with vinegar” so soon? Is the mad scramble for views, clicks, and smug superiority, so enamoring that it’s worth tearing apart the brief flirtation we’ve had with equality and acceptance?

I’d like to think it isn’t, but there’s a reason I often refer to myself as a misanthrope. Despite the progress we’ve made, we’re still animals, prone to our baser instincts and reactions. I purport that we’re largely not equipped for this brave new world of instantaneous communication and self-reinforcing filter bubbles that imply our own opinions are the majority in spite of reality. In a world absent of truly Free Speech, there’s nothing left to challenge incorrect assumptions, nobody around to remind you that another whole half of the world exists that thinks you’re wrong. Without being confronted regularly by intellectual diversity, it’s easy to consider opposing viewpoints as aberrant, offensive, or even evil. And things which are evil must be destroyed.

I don’t like where that’s going. I don’t like that it’s regularly accepted and even encouraged. We’re better than that, if we want to be. The trouble is, we must actively resist the temptation to consider ourselves above reproach, and that’s a rapidly diminishing resource. It’s much easier to turn those efforts outwards than accept our own fallibility, especially when everything and everyone in our purview says we’re right. I don’t like this world we’re making in our own image, and see no easy way to stop the momentum.

I just wish people would be civil. I don’t mean hugs, unicorns, and rainbows. Just to refrain from the tactics of othering, assigning blame, and character assassination. We can move forward, if only we’d bother to try.

Adventures in Server Sitting

To support more of my tinkering in an effort to test various Postgres cluster configurations, I decided it would be really nifty to have a virtual server. I could not only spin up VMs and containers to validate architectures, but experiment to my heart’s content with other potential technologies.

At first, I was going to buy an Antsle. But the fact such a thing existed made me wonder what other kinds of dedicated virtual device hardware might exist. That led me in endless random directions until I stumbled over a link to eBay that boasted a price that seemed both ridiculous and impossible. Apparently old servers are incredibly cheap and plentiful these days. After the shock wore off, I eventually settled on a Dell PowerEdge R710. This is what I ended up getting for about $300:

The iDRAC6 Enterprise is important, as it enables a virtual console over TCP through a Java app that launches from a web browser pointed to the configured IP address. No need for monitors, here! It’s an optional module and cheap by itself, but the particular model I bought had one already. Well, it would have, but they forgot to send that part. Though I fiddled with the server after it arrived, I couldn’t really go nuts with it without the iDRAC card, because that would mean dragging it over to my desk and actually hooking it up to one of the other inputs on my monitor. No thanks.

I called the seller’s support line and got them to send me the missing card. Having taken care of that, I did some more searches to decide how I wanted to configure the beast. For example, how should I configure the storage so that it’s expandable in the future? RAID 10? JBOD with software RAID and LVM for the sake of flexibility?

Naturally I searched Reddit for R710 threads, and stumbled into the Homelab reddit. Apparently it’s one of the most popular servers to start with because it’s so hilariously inexpensive and plentiful. A few helpful replies later and I had my answer: install two more 1TB drives and install ZFS.

But that left me with a new problem. ZFS likes to have direct control of devices, and the included PERC 6/i RAID card didn’t have device pass-through mode. Fortunately Homelab was helpful in that regard as well. It’s possible to flash a H200 RAID card to Host Bus Adapter (HBA) mode because it’s basically a re-branded LSI card. Well, as with all parts for the R710, such a card is also comparatively cheap, as are the cables necessary to connect it to the SAS backplane for the drives.

Which of course led to the next stumbling block. ZFS on Linux is still a bit sketchy as a boot device since its license isn’t compatible with the Linux Kernel. As such, it’s only included by Ubuntu, and I’d be one sketchy kernel away from having an unbootable system. It’s usually better to install Linux on a separate boot device and use the hard drives as a storage pool. Well, I’m not using the included DVD drive for anything, so out it goes. It’s being replaced with a 250GB Samsung 850 Evo. Not only can that act as a stable filesystem, but I can partition it as a ZFS read/write cache as well. After reserving 50GB for the OS, 200GB beats a 1GB RAID controller any day.

I finally got most of the parts and spent the weekend reconfiguring everything. I have to say, re-flashing a RAID controller into an unsupported configuration isn’t easy, especially when the available instructions are conflicting, haven’t been updated in a year, and weren’t written specifically for the R710. These were the most comprehensive instructions I could find, and supplied all of the files I’d need to pull off the entire surgery.

First I needed to get the iDRAC6 working so I could decouple the server from my monitor. That took over an hour because the included module includes its own dedicated LAN port which is required to access the virtual console. I didn’t know it gets bypassed unless you boot into the iDRAC and change its configuration to use the dedicated port instead. That took a lot of reboots. Did I mention that the R710 takes several minutes to boot? It’s true, and that’s something that’s apparently common with most server hardware, even if you don’t count the numerous prompts to configure various add-on components.

Well, I finally got that working, and moved on to the H200. I followed the instructions I found, and got stuck because they were wrong. For whatever reason, the R710 or the H200 don’t like the megarec.exe utility, and hung every time I tried to use it for the first two steps. Cue a few more reboots while I figured out it wasn’t just really slow at flashing the firmware and was actually stuck. With a bit more research, I eventually got everything working with these commands:

  1. Erase the existing BIOS and firmware, then replace it with a generic 6GB SAS profile.

    sas2flsh.exe -o -e 6
    sas2flsh.exe -o -f 6GBPSAS.fw -b mptsas2.rom
  2. Reboot.

  3. Flash the generic LSI HBA firmware.

    sas2flsh.exe -o -f 2118it.bin

I say I eventually got it to work, because the instructions I used were based on the megarec.exe utility working as described. Since I had to use sas2flsh.exe to erase the card’s firmware instead, I also removed the card’s BIOS. So even though the card had the right software, there was no BIOS to actually invoke it. That took several more reboots to diagnose and remedy.

But finally after three befuddling hours, everything was working. I didn’t fully remove the existing RAID card just in case all of this went sideways, so I’ll be finishing the operation later. At that point, I’ll remove the old controller so it stops complaining about having no cables attached. The 850 Evo hasn’t arrived yet, so I’m in no hurry. Once it comes in, it will replace the DVD drive, and then I can shove the server in my closet where it will supply me with VMs and containers until it dies.

The next leg of my adventure will be installing Proxmox to manage the VM army. I experimented with it today to verify all four drives function properly in a RAID-10 configuration with the new controller card, but that’s about all. All I know is that I managed to get things mostly working, and I’ve got a lot further to travel before I have something I can use as a virtual laboratory.

But hey, at least I’m closer than I was before.