The life I’ll never have

(The title of this post is adapted from a line in “Act Of Faythe” by Dream Theater. I’m going to try to be more diligent in crediting the musicians who inspire me.)

It doesn’t take much to trigger depression, to send a person who suffers from it down into the depths. Sometimes all it takes is the slightest thing, a casual remark uttered where he can hear. Just some little comment that gets misinterpreted, gets filtered through this dark lens I’m forced to use to look at the world, and I’m in the dumps again.

It works even better when you throw it in my face.

I love my family. I’ve said that so many times, and I’ve often wondered if I write it so much because I need to be reminded. But I really do. I love them with all my heart. I wouldn’t be here without them, and I mean that in a very literal sense: besides the obvious “my mother gave birth to me” stuff, I would have killed myself long ago without the support I receive from my close relations.

That said, they make mistakes. Nobody’s perfect, after all. In the past year, they’ve grown more accustomed to my mental state, and I’ve tried to work with them to help them understand what it does to me. That’s good. For too long, I felt like I couldn’t talk to anybody about it, as even my own mother would say, “What do you have to be depressed about?” If I said something to my aunt, she’d always counter, “Imagine if you lost your son.” My brother? “So am I.”

Now, it’s better, if only because all their fortunes have gotten worse to match mine. And that, I think, is what made yesterday’s triggering event so…powerful. My mom and I were talking. I’d just ordered pizza for dinner, and we were waiting on the delivery. For no reason I can fathom, she started browsing Facebook (she’s become quite the social media fanatic since last May), and she showed me a picture.

My half-sister. At her wedding.

I’ve told the story before, but I’ll recap. My father left when I was 12. (That’s 1995, for those keeping score at home.) He was having an affair with his secretary, and they got married the week his divorce was finalized. The first baby, a girl, was born in 1998. She’ll be 23 this summer. Twenty-three years old. The last time I saw her in person, she wasn’t old enough to walk! (For the record, she has a younger sibling. I’ve never actually met my half-brother, and he was born in 2001.)

Something about that just hurt on the deepest level. Here I am at age 37, driving myself into near-suicidal insanity in an attempt to make even the smallest step toward a life of my own, and the little baby from that weekend vacation in ’99 is not only grown, but married.

I made some mumbles of acknowledgment when my mom was swiping through the pictures. Somehow, she didn’t notice the tone of my voice growing dull and lifeless, or the way I quickly turned my head so I wouldn’t have to see yet another yardstick for my failure. No, she kept on going, looking through Little Sister’s friends list.

Did you know that my cousin, who (I think?) is also 37, is a mother of two? I certainly didn’t. You tend not to hear about these things when you don’t talk to certain people for literal decades. Her sister, about five years younger, has a child of her own, apparently. Their brother in the middle? No idea. I got tired of the pictures and had to excuse myself, because I was already on the verge of tears.

I’ve never met any of my once-removed cousins on my father’s side. I don’t know their names; they may not even know I exist. That doesn’t trouble me as much as it probably should. We all have some relatives we don’t see often enough. Mine just happen to be very close on the family tree.

What bothered me was the comparison. My mom didn’t mean to do that. I don’t blame her for it. I am upset that she seemed oblivious to the pain she was causing me, but it was my own mind that made something painful out of what should have been fun and lighthearted.

Still, it hurt to be reminded of what I don’t have. What I sometimes believe I’ll never have. Because…this world isn’t getting any better, and I’m not getting any younger. I’ve been denied for so long, and maybe it’s pity or envy talking, but it just isn’t fair. It really isn’t.

I try. I try every day to be better. I’ve written dozens of novels. I’ve created a few applications and websites. I instinctively grasp things most people don’t even try to comprehend. Those who know me best all agree that I’m good at what I do.

But does that really matter? In the end, does it matter how good you are, if you never have the chance to prove it? Connections count for more than experience when it comes to job hunting, and I have no connections. The easiest way to make money is to inherit it, but that’s hard to do when the man who was supposed to provide the inheritance ran off to spend it on the woman he thought was more worthy. My only marketable skills are in overcrowded fields, I can’t open a business of my own when nobody’s allowed to open a business at all, and that doesn’t even begin to get into the other blocking factors.

I know what I want: I want to be a husband and a father. Part of that comes from a competitive drive to outdo my own father, to prove that I wouldn’t make the same mistakes he did. Part of it comes from my personal belief in bionatalism, the idea that my primary purpose is to reproduce and thus further not only the species, by my own genetic lineage. And the largest portion of it comes from the simple fact that I have someone with whom I could make it all happen. Best of all, she genuinely wants the feminine counterpart to that life. With me.

I don’t think I’m more deserving than, say, my half-sister or cousins. My low self-esteem won’t let me think that. I do think I deserve a chance. We all do, and I’m still waiting on mine.

I’m just tired of waiting.

1 impostor remains

(Yes, I made the Among Us reference. I’m not immune to memes.)

Yesterday, I had a job interview. Well, it was really just the introductory phone screen that starts the interview process, but I’ve only once made it past that point, so it’s as good as the real thing for me. I’ve done about ten of these things in the past two and a half years, ranging from lengthy phone conversations to orientation seminars to code tests. Every time, I have the same problem: I feel like I don’t belong.

I know, I know. That’s strange to hear. You would think a guy who’s been writing code since before most of the interviewers were even born would be able to project confidence. The wisdom of age, if nothing else.

Not me.

As I’ve stated many times before, I suffer from a cocktail of mental problems that add up to what’s called Impostor Syndrome. Put simply, it’s the feeling that I’m only pretending to be what I claim. In my case, a programmer. (I prefer that to “developer” when describing myself, as I’d rather write code than worry about infrastructure, marketing, PR, UI design, and all the other things under the developer umbrella.) I started learning this trade when I was 8. I started doing it seriously around age 13. I have nearly a quarter century of experience at this point. Maybe not all professional experience, but my mind doesn’t allow me to take it casually. Every line of code I write is serious business to me.

Yet the same thing happens every time I try to talk to someone else about it with the aim of getting paid to do what I love. I second-guess myself. I waver. I panic. Because these people have been in the business world, while I make a string of half-baked, half-finished toys. They spent tens of thousands of dollars on a degree. I’m self-taught; my formal programming education consists of the occasional BASIC lesson in elementary school.

If that sounds self-deprecating, well, it is. That’s how I get when my anxiety kicks into high gear. I begin to think that they’re thinking, “This guy is a joke. Why would we ever hire him?” I can’t compete with the imaginary “perfect hire” my mind has created. And if I know I’m going to lose, why bother trying in the first place?

I do have some serious accomplishments. I know I do. Look at Agena. Look at the little queue service I wrote for my brother’s Twitch stream, which he still occasionally uses after three years. As unprofessional as it may be, I can even point to a certain, ah, unsavory forum he used to administer: for the better part of eighteen months, I kept it running and even improved it. Without access to docs or even, in some cases, the server itself.

It’s just that…I can’t point to these when it’s time to step up. I get too scared that someone will think they aren’t real enough. “Oh, he wrote 50 lines of PHP. Wow.” And so much of what I feel makes me a good programmer is intangible. There’s no space on a résumé for passion, drive, and focus. HR doesn’t care about those; they want to see a BS in computer science and 4-5 years of DevOps.

Worst of all, this is a self-reinforcing problem for me. Each rejection only proves, in my mind, that I’m not good enough. If I were what I claimed, wouldn’t I already have a job? So that feeds the Impostor Syndrome, which makes the anxiety even worse for the next time around.

Short of actually getting hired (or somehow starting my own business, a near-impossibility nowadays), I don’t know how to break this cycle. Maybe, if I had more exposure, I could cope, but even getting to the interview point is hard enough. As I said, ten in two and a half years. And that’s from about 1500 applications.

I know I’m not the best at what I do. I also know that I’m a lot better than many people already working professionally in this field. I’ve found and even fixed their bugs, so that’s not just Dunning-Kreuger talking. So why is it that, when push comes to shove, I feel like a pretender?

HCW #2: Shot in the dark

Once again, I’ve posted an extended article over at Hardcore Worldbuilding, my Substack column. Or whatever you’re supposed to call them. The topic this time is guns. Specifically, I’m talking about guns and gunpowder weapons in fantasy. Considering how many stories I’ve written in that vein (Hidden Hills, some of the Otherworld episodes, the unfinished Shadows Before the Sun), it’s obvious where I stand on that argument.

Check it out, subscribe, and help me grow. Please. I’m begging you. I need validation!

Seriously, though, it’s one of my better articles, I think. On March 1, I’ll post #3, about the intersection of magic and education. From that point on, new posts will come on the 1st and 16th of each month. February’s short, so you got this one a day early.

Introducing Agena

I’ve been sick this past week. Sinus infections are always bad news, but this one has left me so out of sorts that I did something crazy. Okay, crazier than usual for me. Therefore, I give to you Agena.

What is it?

Agena is a server for the Gemini protocol, written in pure Python with no external dependencies. It supports static and dynamic routing, server-side scripting, virtual hosts, and wildcard SSL certificates while being light on resources and relatively easy to configure. It’s named after the Agena target vehicle, the unmanned rendezvous partner of the Gemini space missions, which was itself named after the star Agena, also known as Beta Centauri.

No, seriously, what is it?

Right. Let’s back up a step or two. First, Gemini. As you know, alt-tech is all the rage right now. If it isn’t where you live, it should be. Now that Google, Facebook, Twitter, and the other big players have shown themselves to be in opposition to basic human rights such as free speech and fair elections, while also exercising dictatorial control of their platforms by banning anyone whose ideology doesn’t perfectly align with that of the global elite, we need a change.

That change has already begun. Parler and Gab are two popular sites that have been attacked ruthlessly by Big Tech and the media for the crime of allowing free expression, while the superior alternative of the fediverse (note the link on this page) offers a truly decentralized option for social media.

But evading censorship isn’t the only reason to look at alt-tech. Some people like it because it’s new, because it’s a wide open space for experimentation, the way the internet was until it became overcommercialized in the last generation. (Wow. The internet has been around for generations now. I feel so old.)

Gemini, then, is one of a number of projects that aims to bring back some of the feel-good feel of old. Some of us still remember the glory days of Gopher, Usenet, and FTP sites, days when you didn’t need to download six megabytes of Javascript just to load a web page. Sure, those old platforms were limited, but that was by necessity; Gemini does it intentionally, replacing the HTTP protocol that underlies what we think of as the Web with a bare-bones alternative focused on content. There’s no CSS, client-side scripting, or even inline hyperlinks! In return, you get blazing speed and austere simplicity.

You get, in other words, something a decent programmer can write in a weekend.

The weekend project

Now, I’m not sure I’d be considered a decent programmer, but I did exactly that. To be fair, I needed a little longer, but that’s due to my own failings. I started on Wednesday, then slept. A lot. I haven’t been awake too much in the past few days, and most of my waking hours have been in the dead of night. The headaches and occasional dizziness make it hard to think straight sometimes.

Altogether, it took me about 8 hours of coding over 4 days to get a fully functional server. I could have finished it in a weekend, if I’d been physically capable. Sunday and Monday were for adding features: virtual hosts and server-side scripting, respectively.

No software project is ever complete. There are always bugs to be fixed, features to be added, and refactors to be, uh, refactored. Agena is no exception. I consider it beta quality (I’ve put it at version 0.4.2), and you probably shouldn’t use it for anything serious yet. That said, I’d like to keep working on it when I have the chance.

If you want to check it out, head to the Gitlab repo, where you can download a copy of the source, read the installation instructions, and all the usual Git goodness. It’s not often that I actually release something on the code side of things. It’s even rarer that it’s something I’m proud of.

But this is that time. I really feel a sense of accomplishment. Considering how down I’ve been the past few days, that’s saying something.

Rhythm of War: my thoughts

It’s no secret that I’m a huge fan of Brandon Sanderson. I’ve stated that many times here, and I often use him as a yardstick for my own writing skills. Why? Because he’s one of the few authors out there who is popular and accessible, but also takes worldbuilding seriously. In other words, he’s a kindred spirit, an idealized version of myself in one specific aspect.

I felt that way when I got hooked on Mistborn. His series that started with Skyward filled a need I didn’t know I had. And then there’s his in-progress magnum opus, The Stormlight Archive.

This thing is massive. It’s comparable to the Wheel of Time or Song of Ice and Fire novel series in sheer size and scope, but it’s really nothing like either in the details. No, this is something else.

So far, the series comprises four enormous tomes. The first, Way of Kings, clocks in over 1000 pages, and this is no simple text. I knew that when I saw the table of contents, which included not only two different prologues, but also an “Ars Arcanum” section (a common feature of Sanderson’s writings, where he describes the book’s magic system through the eyes of a character) and illustrations.

That’s a trend that has carried through the series. These books are works of art, and I encourage anyone who wants to read them to pick up the hardcovers. They’re just worth it.

The story

(Note that I will be spoiling the first three books of The Stormlight Archive. That’s kinda hard not to do when you’re discussing the fourth entry in an epic fantasy series.)

Rhythm of War picks up, following a prologue that is the fourth retelling of a pivotal event in the series, shortly after Oathbringer leaves off. The world of Roshar is at war, as the dark god Odium has resurfaced after thousands of years. His malign influence turned the enslaved Parshendi into the demonic Voidbringers, powerful beings from such a distant past that they were thought to be legendary.

Standing against the tide of darkness are the Knights Radiant, a small but growing group of humans with divine powers of their own, granted when they bond with beings called “spren”, fairy-like creatures that represent emotions, forces, elements, and essentially any other part of the world.

Odium’s forces control much of the world, while the Radiants and their followers have retreated to the lost city of Urithiru, and it is here that most of the book’s story takes place. For the Voidbringers have found a way to not only locate the lost city, but turn its magical defenses on the Radiants, shutting them down.

The secondary plot of Rhythm of War concerns the spren themselves, specifically those representing honor. These are some of the most powerful, as they are closer to divinity; Honor is another deity of the setting, specifically the one worshipped by humans as the Almighty. Problem is, he’s dead. The circumstances leading to his death were revealed in prior books, and the fallout has been on display ever since.

Honor’s spren “children” consider humans to be oathbreakers, owing to events of ages gone by, and they have begun to refuse the bonds that create knew Knights Radiant. That weakens the war effort, obviously, so getting them back on the good guys’ side is paramount. Doing that, however, requires meeting them on their own terms, in a kind of parallel dimension called variously Shadesmar or simply the “Cognitive Realm”.

A digression

This is one of those Sanderson conceits, and I have to pull you aside to explain the gist of it. Many of his works are in a shared setting, the Cosmere—this inspired my own Paraverse, as I’ve stated before. Rather than a single planet, however, the Cosmere is something closer to a whole galaxy. Roshar is merely one planet. In fact, it’s one of three in its system. The other two, Ashyn and Braize, are not physically inhabitable (Ashyn used to be, apparently), but have a kind of spiritual presence; humans in the series consider them heaven and hell, respectively.

Other books in the setting take place on different planets. Mistborn, for instance, is set in the world of Scadriel. For the most part, this is nothing more than flavor, a background detail put in for more serious readers to drool over. Each world has its own characters, its own history, its own magic system, and they’re mostly separate.

With Rhythm of War, that’s starting to change. I don’t know if this is because The Stormlight Archive is meant to be a series that “connets” the Cosmere as a whole, but it certainly seems that way. Flavor text, in the form of opening quotes, talks of the various “shards of Adonalsium”, some kind of divine artifact that effectively turns people into demigods. Odium has one, that of Passion. Honor’s was, well, Honor. Sazed, a character in Mistborn, gets two of them, uniting Preservation and Ruin into Harmony.

It’s all very interesting, if mostly because it’s so maddeningly vague. We get a few tantalizing hints that some of the Stormlight characters are from other parts of the Cosmere. One, known only as Wit, actually is: he’s some kind of world-hopping author insert who has cameos in all the setting’s various novels. Obscure references from him and the chapter intros point to something big happening in the universe at large. As Sanderson has repeatedly stated that he’s a fan of Stephen King’s The Dark Tower, I can imagine what sort of reckoning that would be.

The world

So Roshar is part of a larger setting, but that doesn’t mean it’s bland. Not by any means. As usual for a Sanderson world, there’s a lot of thought put into it. The world map is a rough approximation of a Julia fractal, for instance, and this fits with a number of references to mathematics and aesthetics that permeate the series. The original Knights Radiant all have palindrome names (e.g., Kelek) as did their cities—Urithiru counts if you treat “th” as a single letter.

The biggest feature of the world is the storm. Something of a supernatural hurricane, it repeatedly crashes into the east coast of the Roshar continent at somewhat regular intervals, bringing heavy rain, damaging winds, and the magical essence of Stormlight.

In typical Sanderson fashion, the storm defines the cultures, the kingdoms, and every aspect of life. The word “storm” itself can be used as a curse. (The author prefers not to use English profanity due to his religion, so this is his way around that.) Calendars are oriented around the storm schedule rather than the sun and moon—moons, rather, as Roshar has…two, I think? Cities, towns, and even villages have to bear the brunt of constant battering, so they’re designed to sit in the lee of walls or natural rock formations. And so on.

But the worldbuilding goes deeper than this, because you also have to take into account the geography, the ecology, and here is where Brandon Sanderson shines. Roshar is a harsh planet with harsh terrain. Except in the far western land of Shinovar, where storms are far weaker, the land is cold, rocky, and downright alien. There’s no topsoil, because it’s all been eroded away. Permanent rivers are rare. And the native life reflects that. Instead of trees, plant life mostly consists of short, stout organisms, most of which have adapted to encase themselves in hard shells. Animals do the same; some also have gemstones within, a nod to oysters and the fabled bezoar that serves as a major plot point.

Natives to Roshar don’t see anything wrong with this. To them, it’s life, even if it’s a life unlike ours. In much the same way, Mistborn‘s inhabitants think nothing of a sky full of volcanic ash or a land so brown it could be a map in a Quake game. The inhabitants of Skyward‘s devastated planet know only their world, their life of eternal aerial warfare and a life lived underground.

That’s what draws me to Sanderson’s works. He doesn’t make a big deal about his worlds. They’re different, sometimes so incredibly different that we find it difficult to imagine them. But to his characters, they’re home. And home is nothing special. It’s just where we live. It’s part of who we are.

The characters

If he has any weak spots, writing good characters definitely comes close to the top of the list. Kaladin is exactly like Vin, Spinsa, and almost any other protagonist Sanderson writes. The troubled youth with a checkered past who stumbles into a superpower. It’s so cliche that you want to cringe, but he plays it well, and the worldbuilding more than makes up for it.

I will say that he’s getting better. Rhythm of War‘s ensemble cast at least offers variety. It’s also pretty much the DSM-5 in novel form, though. Kaladin is now suffering from severe depression and anxiety, which resonated with me so strongly that I sometimes had to put the book down. Shallan has multiple personalities (whatever that’s officially called these days) that get confusing in the narration. Taravangian, a relatively minor character who ends the novel in a much different position, is a bona fide sociopath.

It goes on from there. Kaladin mentors a small number of men who clearly have PTSD. The Lost Heralds—four of the original Knights who found immortality at some point—are varying degrees of insane. Adolin is a narcissist, though he is getting better; one of his subplots turned out to be my favorite part of the story, even ahead of exploring the lost city and waging a resistance against an occupation force. Schizophrenics, psychopaths, and sadists are all represented in the cast. One of the heroes has a developmental disorder, but pretends to be mute so no one will hear his “slow” speech.

In other words, it’s almost like everyone in Roshar is damaged in some way. Nobody’s perfect, and this setting shows the truth of that in all its naked glory. That said, these characters aren’t defined by their mental state. They’re people. Kaladin, for example, has a very good reason for his depression: he blames himself for his brother’s death eight years ago, and losing his friends in battle only reminds him of that. His father pressured him into becoming a surgeon, someone who saves lives instead of ending them, but fate put him in this position.

There are other good characters. I greatly enjoyed Navani’s story of invention, experimentation, and quiet resistance. The spren, when seen in their native realm, are a fascinating take on fairy and “daemon” myths. Most of all, the people interact in ways that seem logical. You don’t always understand their reasons, but you get that they have them. It’s a rarity in today’s hyper-politicized fantasy landscape.

The fatal flaw

I’ve said this one before. If I have any problem with Sanderson’s writing, it’s not the worldbuilding. No, that’s top-notch. It’s not even the character development, because I can see that he’s getting better at that. Book design? Rhythm of War, like its three predecessors, is a masterpiece in that department.

But the prose. Oh, the prose.

I will freely admit that I’ve never taken a class on writing. I scraped by in English class in high school, even if I somehow managed to be #1 in the school on standardized writing assessments. (20 years later, and I still can’t figure that one out!) On top of that, when I write a novel like Nocturne or Innocence Reborn, I’m doing it without an editor. I’m my own proofreader. You’d need a microscope to find my self-esteem, a miracle to get me to praise my own work.

Despite all that, I can say with no reservations that my prose is far better than that of my favorite author. Yes, Rhythm of War is 1200 pages, but he could probably cut a hundred or more off that if he just learned how to use a pronoun every now and then. His word choices leave a lot to be desired, and leave what would be an otherwise impeccable book with long stretches of repetitive dialogue or narration. And all that isn’t getting any better. It was the same in Mistborn—the prologue of Shadows of Self left me literally wincing at points.

Unlike many, I won’t criticize Sanderson for avoiding profanity. I do the same thing in my works. It’s a personal decision that contributes to an author’s style. For the same reason, I had no problem with Peter Brett’s use of dialectal speech in the Demon Cycle series, to name one example. It fit his style and the world he was building.

Yet there’s no excuse for some of the cringeworthy prose in these bestsellers. (Worst of all, in my opinion, was the random use of “okay” by a character in Oathbringer. I have never in my life lost suspension of disbelief so fast.) What is the point of a professional editor if not to polish these things?

Take that away, and Rhythm of War is a solid 10 in all respects. Sure, the series as a whole is a huge time investment, but it’s one that pays out better dividends than buying GameStop stock. You’re getting access to a beautifully made world, a creation that rivals Middle-Earth in its complexity and sheer gravity. The story is truly epic. The characters are, in some cases, perfectly imperfect. Sanderson knows how to write.

I just wish he’d learn how to write.

HCW #1: Faster than light

As promised, the first entry in Hardcore Worldbuilding is now live! As the topic, I chose FTL travel, since that’s something I could ramble about for days. In a couple of weeks, you get issue #2, all about guns in fantasy.

Check it out over on Substack, and be sure to subscribe if you like what you see. Writing this was really exciting, and it’s helping me get back in the groove.