25 Years, Still Going Strong

Descent.

When I say that word, what do you think of? Perhaps the 2005 horror movie based in a cave? Good film. Not quite there.

Descent 1 intro briefing
Descent 1 intro briefing

“Prepare for descent…”

How about now? If you just got goosebumps up your joystick arm and tickly tingles in you trigger fingers, you’re my kind ‘a people. That’s right, my fellow four-eighty-six pilots, I’m talking about THE game. The game of the year; nay, of the decade. The one that changed shooters forever. The ever impressive.. the one-contained.. the often imitated but never duplicated oh shi–.. Descent!

Yes, this game will forever live on in my memory as the pinnacle of 3D gaming from my childhood. The mid-1900s saw some killer game releases. Top shooters included Doom, Quake, Goldeneye, Wolfenstein, Half-Life, Unreal. But NONE of these could hold a candle to the mind-bending stomach-churning six-degrees-of-freedom true 3D shooter that was Descent. Bonus, since it didn’t involve killing humans (and thus, no gore) — evil robots were the enemy here — it was perfectly acceptable to my parents for a young 9-year-old Nate’s innocent eyeballs. The sheer rush of adrenaline as the ‘bots tried to ambush as you barely escaped with evasive maneuvers and turned around to blast them to bits… Pure nostalgic gold.

Descent D1x-Rebirth level 1 Lunar Outpost
Descent D1x-Rebirth level 1 Lunar Outpost

“But what the blazes are you going on about”, you may ask. Excellent question. Please see YouTube. It’s not the absolute greatest representation of the true 6DoF potential, but you’ll get the idea. And if you get a little queasy, a little motion-sick, that’s perfectly normal. Anybody who’s never played one of these before is likely to need some.. perspective.

Open-Source Developers are Awesome

Here’s why I love developers. Gather a few of ’em together around something they’re passionate about, and watch magic happen. Descent is 25 years old this year. It was made for DOS and Windows 95, as well as a few consoles. Heck, I even have the original CDs from the “Definitive Edition” pack (re-released a few years later). But there’s no way in heck they would run on modern computers with modern operating systems.

Enter open source. Thankfully, the Descent 1 & 2 source code was released to the public at some point. That’s like Christmas Day to developers — anybody with any programming skill could now peek and tweak at the code, even rewrite it from scratch. Two separate projects — called “source ports” — spawned from that seed: DXX-Rebirth, and D2X-XL. The former is simpler and more true-to-form, retaining as much of the original gameplay look & feel as possible, while still enabling it to run on modern systems and adding a few nice conveniences for the 21st century player. The latter is more of a “let’s see how far we can take this” philosophy, in that the author has consistently added many changes and enhancements to the core game mechanics and graphics that, while some players find appealing, I personally take it as “noisy”. But due to its popularity, there are even a number of levels (aka ‘missions’) that will only work with this version. And don’t get me wrong, the work is impressive, by any developer’s standards.

D2X-XL gameplay on D1 level 1 revamped
D2X-XL gameplay on D1 level 1 revamped

A Legacy Lives On

As with most legendary hit games, a dedicated “mapping & modding” community sprouted up around it. To this day, DescentBB forums are active, and a few members are even still making levels. I even tried my hand at it a couple times. I remember almost begging my parents to buy the re-packaged game box because it included the “Descent Mission Builder” software that let you make your own levels. Hours upon hours spent manipulating cubes and flying through tunnels to test. But nothing compared to the fun of playing through the true masterpieces of level-design produced by the most prolific builders of the day — they pushed the game so far beyond what the creators originally imagined, yet likely dared dream of.

a waterfall from a custom level in Descent 2
A waterfall in custom level “Alhambra” for Descent 2

OMG I Must Play!

Then have I got a page for you! Includes download links and step-by-step instructions for Windows users. Bonus, it’ll soon include my own hand-picked custom-levels pack (so you don’t have to sort through the piles of crap that accumulated from half-baked “level contests” and “archive servers” over the decades).

A Challenger Appears

Overload, a spiritual successor to the Descent series, and involving the very founders of Parallax, was released in 2018 after a successful Kickstarter campaign. I haven’t played it yet, but from the footage and reviews I’ve seen, it’s right at home in this game-hall-of-fame.

Overload gameplay screenshot
Overload gameplay screenshot

So what are you waiting for? Catch me on Twitch and watch me play, or go download all the goodies and check it out yourself!

See you in the mines!

Favorite tagline of many hot-shot pilots and level-designers.

A Journal Revisited

earth, green and vibrant on one side, fiery and desolate on the other

The start of the new decade is brought to you by Steven King, Dean Koontz, and that episode of Supernatural where the globe was plagued by a virus starting with ‘C’ and a post-apocalyptic Chuck told past-future-Dean to hoard toilet paper like it was gold.

No, dear reader, I’m not joking. Look it up. Kinda freaky.

But let’s go back a bit. Winter started with more snowboarding. January was a fairly successful season, as was early February. I took the guys to the slopes. Chuck had a hell of a time learning, while Rex picked it up again after many years away. We decided to make the podcast seasonal, so we topped off season 1 and started making preparations for season 2. The new website is live, along with a fledgling YouTube channel.

Making friends with worship and sound crew at church led to something I never would have expected in the past ten years. But somehow, I think because of your exceedingly musical spirit, it makes perfect sense. One morning, as I arrived just a bit late to practice, F. was already at the board, and he just said “hey Nate, grab that mic.” And the rest of the team encouraged me — “egged me on”, if you will. So I did. And I stood up there and looked at the songs and the words. And I just sang along with them as they practiced. They started telling me how good things sounded with a low male voice in the mix — Rex is of course a low-mid tenor and the ladies are, while not particularly high (in fact, P. is quite low), still distinctly feminine. So I believed their encouraging words. And I kept singing. And that’s how I became part of the worship team.

As the winter got warmer and the snow started to melt, it was pretty clear the ski-season was going to be cut short. I used up almost all my prepaid tickets, thankfully, and got a few more middling-average days in. I screwed up my right shoulder though — doc says it’s probably the rotator cuff tendon. Super. At least nothing was broken though. I do have a gnarly new scar from the fall, just above my right eyebrow. If it were at all jagged you could call me Harry Potter.. but it’s basically just a straight 3/4-inch vertical line, with an ever-so-slight arc. You might find it sexy.. or you might have made me treat it with anti-scar ointment and prevented it in the first place. God I miss your doting.

Oh, and then. Get this. Kobe Bryant died. In a freak helicopter crash. With his young daughter. It shocked the world, for sure. And of course you, being the empath, would have no doubt been in sharp mourning as well. I mean sure, he was accused of rape.. Who knows if that woman was telling the truth or just after money and infamy. But he played some of the damned finest basketball in history. And just like that, GONE. Plastered all over magazine covers and newspapers and headlines, but gone. Legends never die, they say. Tell that to his widow and other children.

But all that pales in comparison to March 2020. The world has become engulfed in the throes of the worst viral disease outbreak it has seen in modern memory. It began, as many things do, in China. Not a xenophobic statement, just a fact — they are the most populous and most industrious country in the world, and if something is going to start, it simply, statistically, will likely be there. Coronavirus, COVID-19, took hold and spread like wildfire. At first is was isolated to Asia. But tourism and trade soon brought it across the globe, to our very shores, even to our own neighborhood. And of course our incompetent imp of a president failed so spectacularly to respond, to prepare and arm the public with concrete factual information, that we’re charted along with some of the worst-handled outbreak scenarios of the 1st-world nations — Italy, Mexico, Spain. “Tremendous” is a word he keeps throwing around, as if it means anything other than the magnitude of his own failure as a leader and a public servant.

Obviously most of this belongs in my memoirs, not in this journal to you. Yet I find it helpful to write to you as if I’m telling you stories of the world that you’re missing while you bask in paradise. It’s unthinkable that there could be any other eventuality.

tonight at 11.. DOOOOM
Aha ha ha… Thanks Morbo. In other news… Oh wait. There is no other news. EVER.

The past few weeks have been a whirlwind of change and breaking news. Counties issue “lock-down orders” only to rescind them the next day. The state and federal governments change their guidelines for “social distancing” — a new colloquialism that will surely go down in history as a defining moment of this decade and the generations living through it — as well as self isolation, quarantine protocols, and limitations on gatherings, almost every other day. People panic-buy bread and toilet paper en-masse as grocery stores and warehouses struggle to keep shelves stocked. Schools close. Businesses start to follow suit. The economy, having started the year quite strong, stronger than most would give the current administration credit for, is now in utterly unprecedented free-fall.

Finally, on March 20th, today as I write this, California joins New York and a couple others in declaring a state-wide “shelter in place” order. Meaning, citizens are to stay in their homes except for emergent or urgent needs, or beyond that, to stay close to home and forgo all forms of travel, barring critical events and life-or-death situations. Which means, obviously, that most non-critical industry is on some level of partial or non-operation for the next several weeks. My employer, thank God, has a sensible and morally upright CEO, who has kept communications up during this time and has enacted payroll protections and measures to ensure employees do not panic about their immediate future. What things will look like, how things will change, if the governments continue to enforce lock-down policies, is a another matter entirely.

All this means, of course, that many people suddenly find themselves having to work from home. As I and many other tech workers have done for the past several years. Teachers, for example — God love them for their creativity and their get-shit-done attitudes — have had to literally re-architect educational processes overnight. And successfully, by all accounts, which is nothing short of a miracle.

Imagine if we’d had had children. I mean, they’d only be toddlers, right now, but still. What a world to be raising them in. Is it wrong that I almost wouldn’t wish that? That I’m almost relieved that that is not our reality? I can’t discard all of my cynicism, after all. Your optimism and light-full spirit did wedge its way through my cold heart, but a man does not change so irrevocably, completely, utterly, wholly and absolutely, in one lifetime.

Something I did accomplish today, that I’m slightly proud of, is that I did my usual 2 and 2/3rds mile run with an average pace of 8 minutes and 59 seconds per mile! YES, under 9 minutes per mile!! I never thought I’d see that happen, at least not this quickly. This comes after a recent doctor appointment informed me that I weighed in at 155 pounds. Unfortunately, my cholesterol was still a bit high, but only slightly. So, anyway, yay!

I’m writing all this because I realized how long-winded and philosophical I’d been in some recent text or email exchanges, which of course means that my brain needed to get its thoughts out onto the page. I can’t really explain why this happens. Is it still your spark? Is it me, just growing my own spark? Do we nurture this fledgling seed together from opposite sides of some metaphysical veil? Such questions are not productive.

I loved you. Pray for this world. Pray for our families and friends. I’ve said it at your passing, and I say it now in unison with millions of others: Things will never be the same.

a hand holds a globe, green and vibrant on one side, hellish and desolate on the other.
We will not all perish, but we will ALL be transformed.
-1 Corinthians 15:51

It’s a Hack! (Android tablet edition)

Recently I inherited an older Android tablet from a friend. It’s a Sprint AQT100, to be precise. It runs Android 5.1, aka “Lollipop”. For those of you unfamiliar with Android OS version history, that’s 5 major versions behind current, version 10 (in which they stopped publicly proclaiming them with cute dessert names and just stuck with the major #).

sprint slate 10 tablet
It’s an older tablet, sir, but it checks out.

However, like most old tech, it could still be useful given a little TLC and appropriately leveled expectations. Being that this thing is a bit light in the hardware department (1GB memory, 1.1GHz CPU), it’s not going to be playing the latest games or watching 4K Youtube. But for basic web browsing, ebook reading, note-taking, and email-checking, it should suffice.

The first things I did were a) fully charge it, and b) remove the old SIM card, via a little pop-off panel on the rear top left. Under this same panel is a micro-SD slot, in case I ever want more than the native 16GB* of storage.

*Actually works out to just under 10GB of usable storage, due to the space taken by the Android OS itself. This is universally true on all mobile devices.

The next and most important thing I did, as I do with all inherited/obtained/gifted devices, was factory-reset. On this device, and similar tablets from the past several years, if you don’t know the PIN or password, you can boot into “recovery mode” with a combination of button-holds while powering on.

Aside: I linked to a helpful article that walks you through recovery-mode-boot and factory-reset. It’s quite simple: Fully power off the device. Then, hold the power and volume-up buttons to power it back on and into “recovery mode”. To navigate the old-school-console-style menu (which definitely looks like something a hacker would use), use the volume up & down buttons to scroll up and down, and use the power button as the ‘Enter’ or ‘OK’ button.

Now, the problem was, this device was not fully wiped nor disconnected from the original owner’s Google account. Much like modern iDevices have the “iCloud activation lock”, it seems that Google devices have a similar lock, what they’ve called ‘FRP’ – Factory Reset Protection. The idea here is, if the device is lost or stolen, we want to make it more difficult for the finders-keepers or thieves to wipe it clean and call it their own. So even after using the hardware-button-driven approach to reboot to recovery mode and perform a factory reset, the device still requires the Google credentials of “a previously registered account”.

In this case, the previous owner was not reachable by any means. So I started the requisite Googling. I came across a lot of Youtube videos that involved various tricks like “disconnecting your internet right after it transitions from this screen to the next” (during the setup process), or using a computer with the Android SDK and an ‘OTG’ cable, or downloading mysterious APKs (those are Android app installer packages) from random strangers’ Google drives; and I just thought, wow, there’s gotta be a better way. And of course, there was.

Before I dive way down deep into the rabbit-hole, the brief summary overview goes something like this:

  • Open the camera from the lock screen, take a picture, and Share it to an app like Maps where you can go view a boring legal disclosures doc.
  • Use the built-in “Web Search” functionality that pops up when you select text in a document, to open the device’s native web browser to get to the Settings menus.
  • Use Protected Apps to launch Chrome to download and install two APKs.
  • Use the APKs to fire up a new Google Login screen that bypasses the FRP one.

So it’s really not that complicated, from a broad perspective, but as they say, “the Devil’s in the details”. Which is why I’m writing this!

Ready? Hold your nose and take a deep breath…

Enter this helpful post on the XDA Developers forum. Now, it’s not quite the whole picture, but the thing he calls out importantly is the fact that you need to go to “Protected Apps” to be able to launch Chrome once you’ve gotten past the Settings part and enabled ‘install from unknown sources’. You should definitely read the post, but I’ll bring you my excruciatingly detailed commentary here.

  1. After factory-reset (via the buttons method earlier), walk through the setup process until you get past the “connect to a WiFi network’ stage. Yes, you DO need to connect to WiFi so you can download stuff.
  2. Lock the screen. On most devices, this simply means tapping the power/sleep/wake button. On some devices, you’ll want to wait about 10 seconds before attempting to turn it back on (with the same button) for the next step, because there’s often a setting to “leave it unlocked for X seconds” for your convenience.
  3. Turn the screen back on (using that same button of course), and you should see the lock screen.
  4. This screen should have a camera icon near the lower-right. On my Slate tablet, I had to swipe it from right to left to open the camera. So, open the camera.
  5. Now that the camera is open, take a photo of anything (or nothing). Tap the photo’s thumbnail in the lower right corner after it’s taken.
  6. Hit the ‘Share’ button (it looks like a sideways-V with dots). Tap the ‘Maps’ app to share the photo via Maps (lord knows why you’d ever do this in real life…)
    • Similar steps (7-11) may work in context of another sharing app, but as most tutorials recommended Maps, I stuck with it, and had success.
  7. You’ll be asked for an account, but at this point you can ‘Cancel’ the sharing action and the Maps app should remain open.
  8. In the upper-left corner there should be a “hamburger” menu icon (three horizontal lines); tap that and tap Settings.
  9. Go to Terms & Privacy, then to Terms (possibly called Terms & Conditions).
  10. Hold your finger over a word in the boring legalese until it’s selected/highlighted.
    • Who’d a thunk that silly stuff would actually come in handy someday? =P
  11. You should get a pop-up at the top of the screen with options like ‘Copy’, ‘Share’, and ‘Web Search’. Tap on the latter, ‘Web Search’.
    • The point of all that was to get the device’s default web browser to open up. Because, unlike in, say, Chrome, your device’s native browser should allow you to navigate to its device Settings screen.
  12. So now, in the web browser, tap inside the address bar, delete whatever’s in there, and just type in ‘settings’. You should get at least one option that pops up below it, as a ‘suggestion’ — the ‘Settings’ screen. You will probably also see ‘Google Settings’, but you don’t need that right now.
  13. If you’ve been using Android devices, the Settings screen should be pretty familiar to you. Go to ‘Security’ (which is under the ‘Personal’ grouping), and enable ‘Unknown sources’ under ‘Device administration’.
    • This allows installation of apps from unknown sources, which is what we’re about to do. But DON’T PANIC! These are legitimate, community-vetted, well-known and respected sources. They won’t steal your cookies and mine all your private information. 😉
  14. Now hit the ‘back’ button in the upper left to return to the main Settings screen. (NOT the back button at the bottom navigation-bar of your device — that would be sad, because you’d probably have to repeat some of these steps.)
  15. Go to ‘Apps’ (under the ‘Device’ grouping). It will show you, by default, your ‘Downloaded’ apps. Don’t care. Go to the top right and tap the 3-vertical-dots icon (it’s a context menu).
  16. Tap ‘Protected apps‘. You will have to set a protection PIN or pattern — do so.
  17. Here, you’re presented with a screen that lists your main apps, one of which should be Chrome. Tap it once to check the box (that it will now be a ‘protected app’).
  18. Now, the line for Chrome should have a new icon on the far-right, which looks like a box with a diagonal arrow pointing up & right. THAT’s what we want, because that will launch the Chrome browser (as opposed to the native one), which will allow us to one-click-install our APKs (Android apps).
    • This is where a lot of the other online tutorials failed, because they assumed that you could just launch Chrome from the MAIN apps screens (like the ‘downloaded’ or ‘installed’ lists).
  19. And now we switch tutorials, to this lovely guy, at Step 14 to be precise.
    • More specifically, when you search the web for “Google Account Manager” and “QuickShortcutMaker”, you will want to make sure you download them from a good source. My personal preference is APKMirror.
    • When you search for Google Account Manager, make sure you also include the Android OS version you’re running. Mine was, as mentioned, 5.1. If you aren’t sure how to find this info, go back to the Settings screen and find the ‘About tablet’ (or ‘About phone’) section.
    • QuickShortcutMaker 2.4.0, which I will now abbreviate as ‘QSM’, should work regardless of OS version, but it probably hasn’t been tested on the absolute newest (9 and 10) because it’s not actively maintained by the developer. That’s ok, we won’t use it for very long, and we’ll get rid of it as soon as we’re unlocked.
  20. First, download the Google Account Manager APK. Chrome will prompt you on what to do with the file. Obviously, ‘Open’ it. This will get it installed. You don’t need to open the app itself, so just cancel/back to the Chrome browser screen you were on before.
  21. Then download the QuickShortcutMaker APK and do the same thing – ‘Open’ it and let it install. But this time, after it’s done, Open the App itself too, if prompted! If not, that’s ok. You can back-out to the Settings screens from before (Step 15-18) and go to the Protected Apps screen to enable QSM and then to launch it using that arrow-in-a-square icon.
  22. Here’s the real fun. On QSM’s ‘Activities’ screen, instead of typing in what they tell you, just type in “Type Email and Password”.
    • Pay attention to the fine-print below it — you do NOT want the one that says ‘Edu’, because that’s a slightly different flavor of setup than you standard personal device.
    • The one you want says, in full, com.google.android.gsf.login/com.google.android.gsf.login.LoginActivity
  23. QSM will take you to the next screen where it wants you to ‘Create this shortcut’ with certain properties. Don’t worry about all that; just hit the ‘Preview this action’ button to actually launch the action.
  24. Finally, FINALLY, you should have a screen that prompts you to enter your own Google Account credentials.
  25. Once that’s done, restart the device. It should resume setup from where it left off before, bypassing the “Enter a previously registered account” nonsense.

Phew! That was a lot of steps. But it’s really not as hard as it all sounds. I promise. And it’s less tricky than trying to shut off your whole internet at the exact moment a screen passes by (which I tried to no avail), or buying a cable and downloading a bunch of junk to your PC.

Good luck! Hope this helps someone out there.

Speaking of legal nonsense, it should go without saying that this is NOT ethically responsible unless you are the legitimate owner of the device in question. But you’re a smart reader, and you knew that already, didn’t ya?

N.

Singles and Widows Awareness Day

I’m not bitter. Let’s just get that straight. I was blessed for 10 years. More than blessed. And now I’m trying to make peace with the fact that I may never be that loved again.

K. was the best Valentine’s Day giver in the world. Creative, adorable, spontaneous, funny, and always incredibly heartfelt. She made a WHOLE WEEK of it, one year. Actually more than once. Every day for seven days in a row, a little love note and a cute gift. And always the best, warmest, sweetest hugs and kisses. I’ll try to find the photo book she made one year and post pictures.

It was incredible. It was so much more than I deserved. She was so much more than I deserved. That is the realization I’ve had to come to. It is, perhaps, a bit of idolizing that many grievers do out of necessity — we put our deceased loved ones upon a pedestal and ignore their shortcomings and faults, focusing exclusively on their positive and endearing qualities, sometimes to the point of magnifying them beyond reality. But that is in our nature. We romanticize our lost loves because it’s far easier to do so, than to dwell on the imperfections and the errs of their humanity.

And yet. Yet. I will hold steadfast to this. That she was the most incredibly kindhearted, loving, creative, caring, romantic soul that I’ve yet had the privilege of being bonded with.

So what’s my point? To brag about what I had only to wallow in the misery that it was taken away, so suddenly and irrevocably? No. To remind you, my fair reader, that life is short, and we are not guaranteed tomorrow. So BASK in your lover’s arms, in your partner’s romantic gestures and demonstrations of devotion. MAKE time to express your love in nauseatingly adorable ways. Because I guarantee you, you will not regret one moment of your life spent in making your soulmate smile.

That is all. ❤

a woman on a swingset reaches her hand toward an empty swing
I reach to the skies, and call out your name.

A New Decade, Without You

It is now 2020. The start of the first decade which you were meant to see, which we were meant to live through together, yet you did not, and we will not. Is this as momentous as it seems? Time is still so strange. I wake from a dream of you, feeling like you were just here with me yesterday. Yet I feel a thousand days pass by each night I don’t come home to you waiting in bed for me. There are people and moments that find you but a distant memory, while other people and more moments carry the raw, searing loss of immediate heartbreak. I suppose the truth is somewhere in between.

Life does go on. Our nieces keep growing, our dog keeps acting goofy. My job is steady, my friends are supportive. Our families are healthy, mostly. There will always be a missing piece, though, won’t there? Always a void, a space or a word or a thought or a smell, where YOU were supposed to be. Should be. Can’t be. Will never be again.

Sometimes we try to fill that void with something else, or someone else. Other times we weep. We scream at the universe and ask why. We stare blankly into the bleak long dark, hoping that somewhere along the way you found the light. Knowing that you did. That you now sparkle with the burning brightness of a million suns in the glory of Heaven. That you ask us not to weep, or to scream, or to stare. But you ask us to live, to love, to give of ourselves. To put forth into THIS world that little sliver of luminescence, that bit of spark, that flake of glitter, which your soul left behind in ours.

And that is difficult, to say the least. It’s hard to find the time, the energy, the motivation, the inspiration, to do that which you truly would ask of us. But we try.

Oh God, I try.

I loved you.

You are forever in our hearts. To the final dying beat.

bioluminescent waves at dusk

And Then it Happened

The holiday season is generally difficult for ALL who are grieving the loss of a loved one. It is doubly so for those who grieve one who specifically genuinely loved and enjoyed Christmas. I didn’t even bother putting up decorations, neither last year nor this (being now the 2nd holiday without her). I was admittedly quite lazy and last-minute (or even late) with the gift-giving, and probably will be so again — though hopefully at least a little less lazy. So I was quite sure that this season, I would be just as Grinch-y.

Now, to fully appreciate this story, you need to understand how in LOVE my wife was with the music of Pentatonix, in particular their Christmas albums. The bowel-rumbling bass tones of Avi, specifically, would give her goose bumps. So just keep that in mind.

This week, as I walked into my grief counseling appointment — the last one, I had decided, at least for a long while — they had, as everyone does this time of year, some Christmas music mix playing in the background at the front desk. I pay my co-pay and sit. And then I hear it. The bouncing quasi-African-tribal-ish beats of PTX’s rendition of O Come All Ye Faithful. I can’t help but tap my feet to the rhythm. It stays with me as I work through the therapy session, confiding and venting and questioning, and all the things one normally does to their counselor. As we wrap up and say goodbye (for now), I wish her a Merry Christmas. The first time I’ve said it this year. I walk out the door and immediately pull up the Youtube video so I can listen to the whole song.

Hot on its heels comes Go Tell It On the Mountain, another unconventional rendition of a classic that hits all the right beats and all the good feels. And even the more traditional Little Drummer Boy makes an appearance. I defy you to listen to these songs and NOT feel a little warmer inside, a little spark of cheer.

And then it happened. I was “in the Christmas spirit”, as it were.

I was filled with the memories of our holidays together. They swept over me like a warm tide upon the cold stony shoreline. The happiness and excitement you exuded from every pore as we decorated our various apartments and trimmed our various trees. The warmth and aroma of your baking holiday treats for family and friends. The pure unbridled joy at seeing your loved ones happy as they opened your carefully selected and meaningful gifts. The cozy heart-healing cuddles in bed as we watched our traditional lineup of holiday movies. And always, always your extra special, extra mushy, romantic, heartfelt, soul-stirring handwritten card to me. (Often penguin-themed.)

I was no longer weighed down by the grudges I held against all who were happier than I was because they had not lost a spouse so close to the season. Nor did I require the constant re-validation that my feelings of guilt, sadness, anger, and confusion, were all perfectly valid and reasonable. Because they were. And are. But so are happiness, joy, generosity, charity, peace, and love. And so much more important are these. So much more healing to the soul. So much more warming to the heart.

Because that is what you, of all people, would have impressed upon me, upon us, during the holidays. Peace. Joy. Love. Your smile, your laughter, your happiness, your sparkle, your very essence, is what lives on in us — if only we let it.

Merry Christmas, my angel. ❤

joy peace love
And the greatest of these, is love.

Sometimes, there just aren’t enough rocks…

I cracked the laptop screen on vacation. The one that we got for you special, the Macbook Pro with all the upgrades. I was so disappointed with myself. It happened near the end, too. It’s a hairline fracture. Noticeable, but not productivity-hampering. Just enough to really irk me that I let it happen.

We finally gave away the rest of your clothes. I mean, all of the stuff that was worth saving but not brand-new/like-new-that-might-be-sellable-LuLaRoe stuff. Most of it went to J & M up in Oregon. They absolutely loved it, it was like early Christmas for them. There were some things that didn’t fit their style or size, so I returned home with a small bag of clothes to donate to wherever. I left it sitting in the closet, not on the floor but near floor-level.

Keira, while I was gone recording the podcast (@RARCpodcast | iTunes | Google), got into this bag of your clothes and pulled out a shirt. She didn’t chew or bit or otherwise maim it, she just pulled it out of the bag and left it there on the floor nearby. As if she’d smelled your scent, faint though it must have been, for a brief moment, investigated, and found that you were not there.

If only I could tell her how many times I’ve done that. Not literally, of course, but figuratively, metaphorically. Spiritually even.

She misses you. I miss you.

keira curled up on bed
the floof curled up on the bed ❤

Last Night I Saw You

I saw you last night in my dreams. More clear and close than I have in over a year. I felt your hand squeeze mine, for the very briefest of moments. I tried to capture that moment, to hold on longer, to curl up into a ball of warm memories, a puddle of desperate longing. It almost worked.

I saw your eyes. Your big, beautiful, blue-green eyes. They were closed for a blink, but they opened up and looked back at me. For the very briefest of moments. I knew that moment was fleeting. Light and time were already beckoning me to wake. Just a little longer, I beg. But no.

I heard your voice. Your sweet, strong, comforting voice. We had an argument that passed just as quickly as the dream itself. Even in that, the pangs of familiarity pulled at my heart. And we reconciled, and became as one. And it was gone.

You were sitting across from me, listening to me talk about something that was about to happen, as if it already had. You had no words, only your loving and knowing eyes. Are you still with me? Do you keep vigil on these lonesome roads and dark nights? Do you still love me?

I love you. I loved you.

K.
Shine on, my sparkler, shine on.

Movie-time: Starship Troopers

cropped movie cover of starship troopers

I’m doing my part!

Federal Propaganda

I’m back baby! And I finally understand those memes. Yes indeed, I’m talking about the one, the only, 1997 socio-political commentary disguised as big-budget sci-fi xeno-war Starship Troopers! And it did not disappoint.

i'm doing my part!
Yes you are, you little super-vaguely-ethic and kinda-androgynous thing you!

Do you want to know more?

Let me just start by saying the interjected propaganda bits are pure gold. It’s part of what elevates the film from your standard, near-B-grade sci-fi, to a legitimate topical satire. It doesn’t hurt that Barney Stinson is one of the scientists bandying about bug brutalization and badassery.

Look closely at how frenzied the mother is as she watchers her kids stomping on cockroaches. Or how the mobile infantry recruitment tactics bear a striking resemblance to decades-past American armed forces ads. This isn’t a movie about noble humans fighting evil bugs. This is a movie about runaway big-militarized-government and ruthless imperialism, with a dash of blind nationalism for good measure.

And it’s surprisingly relevant, even today.

rico with orange bug guts on him
I killed it. ‘Merica.

Welcome to the Roughnecks!

If you start paying too much attention to the visual FX, you’ll probably say it looks a bit dated. Now, this was 1997, 1 year later than Independence Day, for example, so you may be onto something. But remember, too, that this was only the late 90s. So I would say, actually, go back and watch other sci-fi from around the same time, and you’ll find that it actually fits right in.

The war-time scenes, both in training camp and actual combat, are average at best. There is a decent amount of guts and gore, mixed with some tongue-in-cheek humor and interpersonal drama, and sprinkled with the standard lead-character heroics. However, you get frustrated with lack of tactical sense and storm-trooper-level firearm competency (that is to say, very little, for those of you who’ve never seen Star Wars). But again, this actually screams ‘parody’ to me, as though they did it this way on purpose to show how laughable most sci-fi action really is.

The characters are, generally, a bit one-dimensional. But some of the actors play it so well that you’ll forgive them for it. Like the drill sergeant and the stump-arm commander. Make no mistake, a lot of the acting IS quite bad. But is it bad.. on purpose? Think about it.

The enemy cannot push a button, if you disable his hand!

And can we just take a moment to acknowledge how incredibly forward-thinking this society was in one very small yet very significant way? Gender equality! The football team, the infantry, the co-ed showers. I mean, there was literally NO friction caused by the fact that men and women were completely equal in these environments. Hats off to that, my friends, hats off to that.

the cast agreed to do the shower scene only if the directory would film it naked too
[citation needed]

MEDIC!

Here’s the main problem I had with the character arcs and story. Right from the jump, Dizzy is framed as a strong, kickass woman who knows what she wants, and doesn’t put up with your crap. She proves it in bootcamp, and again in the field. And yet, spoiler-alert, her death scene is just so terribly weak. I mean sure, she also played up the silly schoolgirl crush on Rico, but she definitely wasn’t the lovelorn doe-eyed damsel. Maybe I’m reading the character wrong. But COME ON. “It’s OK, because I got to have you”?? PLEASE. And your competition is literally in the front seat, maybe even within ear-shot.

If I were to see this movie remade, and I had any input, this scene would be my rewrite. Oh don’t get me wrong, she’d still die horribly. But ol’ Carmen would be close enough to hear Diz’s very last words, which would be something to the effect of, “But hey, Rico, I rocked your goddamn world!”, sending that metaphoric knife-to-the-heart for Ibanez. And she would NOT beg that candy-ass of a man to “hold me” or anything as she drew her last breath.

diz gets spiked by a bug
I was also disappointed by the lack of Wilhelm Screams.

Come on you apes! You wanna live forever?

Two thumbs up, but beware the dated CGI and bad acting.

PS: OMG is that freakin Father Gabriel from The Walking Dead!?! IT IS!! Hah. Oh I can not see him as a soldier. But he tried, God bless him, he tried. =)

First Anniversary Without You

angel of grief statue at Stanford

Today is.. would have been.. our 9th wedding anniversary. That day was a whirlwind! We didn’t spend the night apart like many couples do; we didn’t feel the need to. We forgot to bring our wedding favors — our customized M&M’s. But we distributed them later at a family gathering. Your mom burned her hand on a curling iron. You got so anxious you couldn’t eat. We trekked all over the University of Redlands for pictures. And you in your 5-inch zebra heels. We almost forgot to pay the photographer! I had to borrow a check from your aunt and pay them back later.

Nine years ago, you said ‘I do’ and made me the happiest man in the world. We planned, prepared, and set everything in place as best we could. We celebrated the beginning of a new life, together with our family and friends.

And almost one year ago, minus a week or so, you suddenly and inexplicably left this world. There was no warning, no preparation, no setting, and no goodbye. And we mourned the loss of your life, alone and apart.

i feel so alone without you...

Til death do us part.

When a bride and groom say those words, they don’t actually think that they’ll truly become reality. At least not before they grow old and frail. That’s way far off in the future, not something anybody should worry about anytime soon. Living will? Death folder? Life insurance? PAH! Nonsense. A problem for future selves.

Let alone the emotional, physical, and mental implications. When you do this right, your spouse becomes your WORLD. And don’t get me wrong, you can and should retain some of your independent interests and person-hood; but by and large, you become intertwined together as one new entity, as ‘US’. So then to suddenly lose that half (or at least, large part) of your life, your “new self” that was/is ‘US’, is quite literally devastating. It’s like violently tearing apart a zipper that’s been stuck together for years and years, happily rusted together at nearly every turn — it’s gonna hurt like hell, and you’re gonna lose some pieces.

broken heart with cracks and bandage
Our hearts are strong, but not invincible.

Hold every memory.

We made so many memories in our relatively short time as US. Disneyland, beach days, Halloween parties, Christmas light tours, snow days, County fairs, occasional vacation trips, surprise Valentine scrapbooks, lazy stay-in-bed-all-days, steamy and wonderfully passionate nights… I will never forget any of them. Yet even as I say that, I know some of those memories are fading. Thank god, despite my protests and eye-rolls, you always insisted on taking plenty of pictures. I will always cherish them. And, as you know from my occasional zealous need to organize things, I will probably continue to find some excuse to sort and sift through them every so often.

Those scrapbooks, in particular, will continue to be some of my most beloved possessions. The time and thoughtfulness you dedicated to them was unparalleled. Your creativity was a marvel to me, unmatched in my eyes by anything but your love and devotion. I cannot thank you enough for these treasures, even as I mourn the loss of never seeing any more of them in my future.

I tried to do them justice when I constructed your memorial video and music playlist. I’m sure that I fell far short of potential. Yet who even thinks they’ll ever need to undertake such a task? Surely, again, not until you’re 80. And then it should have been our children’s job. Not mine, nor yours.

a heart in the sand is being washed away by the ocean

Here’s to Us.

As the song goes, from P!nk’s Beautiful Trauma album:

What about us? What about all the times you said you had the answer?
What about us? What about all the broken happy-ever-afters?
What about us? What about all the plans that ended in disaster?
What about love? What about trust? What about us?

We thought we had the answers. We thought we had our happy-ever-after. We had plans. And indeed, it ended in disaster. You were taken from this world, from us, from your family, from me. And we don’t get to be ‘US’, anymore.

But when we were… Oh, it was beautiful. You gave me purpose, life, beauty, laughter, tears, joy, happiness, heartache, inspiration, passion, ecstasy, agony, purity, drive, desire, wholeness, openness, and most of all, love.

I just want to lay on your chest and listen to your heartbeat.
But I can’t. Not anymore.

The greatest of these is Love.

Today, as I have every year since that first time I saw you in that perfect white dress, with your curled blond hair and your ruby lips and your ocean eyes, I say thank you. For all of it. Everything you did for me, everything you made me, everything you gave me. For richer or poorer. In sickness and in health. Through hard times and happy times. As long as we both shall live lived.

And though you live no longer, in this world, know that you will always live on in my heart. I may or may not find love again; yet even if I do, it will never be the same. You were, are, and always will be, my soulmate. And I will see you again in Paradise.