Novel month 2019 – Day 1

Here we go again. Winds of Change is our title this time around. Strictly speaking, I did some worldbuilding and planning early, but that’s okay.

Today’s word count: 2,105
Projected word count: 63,150

Nothing too strenuous this year. In fact, that projected word count is a lie. This book won’t be that long. Not if I have anything to say about it, at least. But who knows where the story will take us?

Release: Seasons Change (Othersides 01)

It’s been about a year since the last time I put out a free story. This one works because it just doesn’t work anywhere else. Seasons Change, the first of my “Othersides” series, is now available on my Patreon.

The rest of this post will contain Otherworld spoilers, so be warned.

Continue reading Release: Seasons Change (Othersides 01)

Release: Change of Heart (Endless Forms 3)

Another October has rolled around, so let’s release another monster novel, why don’t we?

What is real, and what is within our minds?

Cam Weir has seen things no human being should ever look upon. Once, he was a skeptic, believing that monsters were nothing more than figments of the imagination. Hallucinations, certainly not reality. But now he knows the truth.

And the truth is only getting stranger, for this case doesn’t match those he has investigated. Details are different. Motives are unclear. Worst of all, the gruesome murder of an accountant will lead Cam to a frightening conclusion. Because this monster will strike too close to his heart.

Change of Heart is the third installment of Endless Forms, a paranormal thriller series I started writing in 2017. You can pick this book up over at my Patreon with a Serious Reader pledge of only $3 a month, and you’ll also find the two preceding novels, The Shape of Things and The Beast Within. If you prefer physical copies, those two are on Amazon already, and Change of Heart will join them in a few short months. Whatever your choice, thank you, and this is not the end of the series by any means. So keep reading!

Release: Point of Origin (Return to the Otherworld 7)

Part 7 of Return of the Otherworld, Point of Origin, is different in a very important way: it’s all set on Earth. Yes, this entry in the Otherworld series never features the Otherworld. It’s got characters from there, sure, but it’s a bit like the bridge stories “The Control Variable” and “The Candle’s Flame”. Indeed, it connects with the latter of those quite often.

Earth, the cradle of humanity. For the returning members of the second expedition, seeing their home planet once more has left them overjoyed, refreshed, renewed. Now, the vigor of youth reasserts itself. Scarcely any time at all has passed, yet some already plan the next voyage to the other world, while those who never left prepare for new discoveries that will rewrite history.

One among them, however, suspected the truth all along. Now that he has proof, undeniable evidence of his theory, he will bring new players to the table. They have a single goal in mind, and many ways to achieve it. For the expedition, tensions are rising. For the siblings who see Earth as heaven rather than home, their innocence may become their undoing.

This was a tough story to write, I’ll admit. Most of my favorite characters are missing. There’s no Alex, no Amy, no Jeff or Lee or their loved ones. Instead, you get the set-up for one of the major conflicts of Season 3, and a very vague, very oblique tie-in to two of my other series. (I’m not joking there. They really are connected.)

Be sure to head over to my Patreon to check this one out, and get ready for the finale, Future in Sight, coming in November. Until then, keep reading, and get ready for Nanowrimo! Oh, and wish me a happy birthday, because it’s tomorrow. Bye!

Themis dev diary #6

Themis is done. Not complete, mind you, but done. I haven’t worked much on it over the summer, and there are many reasons for that: writing, relationships, and so on. Code falls behind, and I’ve been focusing more on Liblio, my federated creator platform.

It’s a bit different, owing to its different requirements. For instance, there’s no real threading for comments, and the central metaphor is an announcement rather than a discussion. Really, it’s more of a Tumblr/DeviantArt/etc. replacement than a serious platform for debate. (I’ll open up a public repo once I’m more confident in its state, just so you know.)

But designing and implementing Liblio has taught me a lot about Themis. Mostly, what I’ve learned is that it isn’t scalable. New features are very difficult to add. The front end is in dire need of refactoring. And the server stack just isn’t up to what I want. So that’s why I’ve decided to make a change. Thus, I announce the successor to Themis: D4.

What is D4, you might ask? Well, that’s easy. It’s Themis, but revised and revamped. The name itself alludes to alliteration, something I love: the 4 D’s are Declare, Discuss, Debate, Decentralize. That’s basically the project’s motto; branding and the like will come later.

Note that I am not simply throwing away the Themis code. All of the core functionality will move to D4. It will be a federated platform for discussion with a heavy emphasis on threaded conversation, rich filtering systems, topic-based grouping, and all the good things that come from opening up and having honest debate without the fear of reprisal. It will still speak ActivityPub, so you can (in theory) follow and participate even if you’re on Mastodon, Pleroma, or any of the other myriad fediverse platforms.

In the coming weeks, I hope beat the code into shape for a release. Once that’s done, I’ll go ahead and push the final Themis alpha, which will have a link to the project’s successor. Until then, here’s a bit of a postmortem.

Rationale

The premise behind Themis was sound, in my opinion. It still is. If I didn’t believe that, I wouldn’t be doing the same thing all over again with D4. And the world truly needs platforms like this. The flat timeline approach of Twitter and Mastodon makes it difficult to track a conversation. The commercialization and attendant censorship necessities on, say, Facebook and Reddit create a hostile environment for honest debate. Essentially every popular platform now promotes (by design or by accident) the polarization of social media that we see today. So we do need something different.

However, the software I was using to develop Themis just didn’t cut it. Nest is a great framework. Typescript is what JavaScript should be, if you ask me. Vue remains my favorite UI library. But everything I had done became too brittle. As any developer knows, it’s all too easy to turn your code castle into a house of cards, and that’s what happened to me.

It’s a poor craftsman who blames his tools, yes, but in this case some of the tools weren’t up to snuff. In particular, TypeORM, the database abstraction layer specifically recommended by the Nest documentation, is…not production-ready. It was at version 0.3 when I used it, and that beta label showed in too many respects. Thanks to Liblio (and the excellent SQLAlchemy library I’m using for it), I can see the deficiencies more clearly. Most apparent is that TypeORM has very limited support for nested or hierarchical data. For a back end based on nested messages, that’s far from ideal.

I have other problems with the stack I was using, but I don’t want this to turn into a rant, so let’s just say that I had to do some major hacking to make everything work right. (One example: Nest’s HTTP body parser, obviously necessary for requests like, oh, making a post, doesn’t allow you to use custom JSON mimetypes. Those are required by the ActivityPub spec.) And the documentation, as is far too common in the Node/JS/TS world, told me almost nothing. In a lot of cases, I discovered a bug or limitation only after hours of digging through Github issues, StackOverflow posts, or even the actual source code of a library. And it was just maddening.

But the final straw was my attempt at upgrading a few weeks back. I was using Vuetify for the Themis UI. (What can I say? I’m the weirdo who really likes Material Design.) Well, they put out a new major version, 2.0. So why not upgrade, right? Themis is still alpha, so breakage is to be expected.

Uh, nope. I still have no idea what happened, but upgrading from Vuetify 1.5 to 2.0 broke everything. I followed the instructions in their docs, but got a series of Typescript compilation errors that I could not resolve. Maybe it was something to do with my build setup. I don’t know. What I do know is that it frustrated me so much that I just plain quit. I don’t need that level of stress.

Compared to that, Liblio is a breath of fresh air, and it gave me the perspective to see what’s wrong with Themis and, more importantly, what I can do to fix it.

Fixing it, I think, means making it into something else, and that something is D4.

Release: Whence We Came (Return to the Otherworld 6)

In my works, I sometimes use “archaic” language. It often feels more appropriate, especially when you’re writing fantasy or something otherwise set in the distant past. Well, the Otherworld isn’t the past, but it’s a little like it, so I went for it. And now you get to see the result: Whence We Came. (For reference, “whence” roughly means “from where”.)

Revelry marks the changing of the season, and many of those visiting the other world fondly recall the celebrations of a year ago. Some seek to rekindle the flames doused when they departed, while others look for a spark to set them alight.

Most of all, they want to go home. Whether that home is on the planet of their birth, or the new one in which they have found themselves, everyone looks forward to the first day of summer. But when the away team returns, they will find that changes await them. Discoveries have been made, alliances forged, and three months in the other world have left the second expedition behind.

In a way, this one’s a lot like Long Road’s End from Chronicles of the Otherworld. I used the same “whip-around” narration for the first few chapters, giving each of them a single day rather than a single character. But the other four aren’t epilogue material. Instead, they set things up for the next two stories.

As always, remember that you can get my Otherworld works over at my Patreon, and they only cost you a pledge of $3 per month. Not to mention all the other great stuff you get.

I hope you’ll stick around for at least a couple more months, too, because it’s time to start wrapping up the Otherworld expedition for this year. The final stories are a bit different, as you’ll see soon enough. Until then, keep reading!

Summer Reading List 2019: A delayed finale

(Note: I posted this late because I wrote it late. But I’m slipping it in like it was here all along. Rest assured that I did finish the reading on time, as you can see on my fediverse postings: @mikey@letsalllovela.in.)

Summer is over, at least in the unofficial sense. We’ve still got a few days left in the actual season, but the vacation part is done, so let’s take a look at what I read.

This year was a little different, owing to my…current relationship status. I only had about a week and a half of that during last summer’s challenge, but this one has seen me interested in someone (and seen her interested in me, which is far more surprising!) for a full two months of summer. And it thus became a lot harder to complete the challenge, because I barely have any reading time as it is, and that just caused a bigger crunch. So I actually didn’t finish the third book until the last few days of August.

But that’s okay. I accomplished my goal. On time is on time, even if it’s the 11th hour. You saw the first book I read back in my midpoint update. Here are the other two.

History (non-fiction)

Title: The War that Made America
Author: Fred Anderson
Genre: History
Year: 2006

This was the last book I finished, but the first I started. Throughout the summer, I used it as kind of a “background” book, one I read when I had a few minutes and didn’t want to get into anything. As a general-audience history text, it’s perfect for that, divided into small chapters and littered with numerous illustrations that I mostly ignored.

The topic is the French and Indian War, and that hooked me for one reason: I like more obscure events in history. Considering how pivotal this war was for creating the United States as we know it, you wouldn’t expect it to be that obscure, but it’s a bit of a forgotten war, in much the same way as, say, the Spanish-American War. (I suspect that Korea will follow that, once it passes beyond living memory in a couple of decades.)

Mostly, the book describes how the British nearly bungled their attempt at conquering French holdings in North America. By a series of fortunate events, they got a few important victories. That, coupled with the way they were able to play the various Indian nations off one another (and the French), enabled them to take vital forts and trading posts in the modern Midwest and Pennsylvania, but at a high cost of men and honor. At the same time, they and their allies in Germany were fighting a much more “traditional” sort of conflict in Europe—the Seven Years War, of which the French and Indian was merely a theater of operations—so this could be considered, in effect, the real first world war.

Anderson does a good job of telling the tale, though he focuses more on the events leading up to the important battles than the fighting itself. Yes, there is some description of 18th-century siege warfare, as well as the way the rules of engagement differed between the Old World and the New, but this is definitely not an action-packed account of a war. Instead, it’s a higher-level view that shows why that war came about, how it almost fell apart, and what happened next.

That’s both the best and worst part of the book. George Washington had a command in the French and Indian War, and he pretty much blew it. For that effort, he becomes the “wrapper” for the text, which is an odd choice, in my opinion, as he then all but disappears from the tale until the end. Still, it’s nice to see what is, in effect, the prequel of the American Revolution.

All in all, I liked The War that Made America, but I won’t say it’s great. It’s a solid, well-researched account of an undervalued part of history, but it’s not the kind of book you want to scour for trivia. Really, it’s more a teaser than anything, because now I do want to delve more into the world circa 1760.

Science Fiction

Title: Red Mars
Author: Kim Stanley Robinson
Genre: Science fiction
Year: 1993

I don’t read a lot of science fiction. This may seem odd, considering I’m writing a novel of that genre at this very moment, but I just don’t. That, I’ve learned, is related to my depression: the future described in so many of the stories that interest me is so far away that I’ll never live to see it, and that makes me very sad for myself and for the world that, to my eyes, has all but given up on advancement and is looking instead to return to the barbaric times before the Industrial Revolution and the Enlightenment, two of mankind’s three greatest eras.

The greatest of all, of course, is the Space Age, and that is where we have squandered our future the most. Reading Red Mars, I can’t help but think this. Written over a quarter-century ago, it shows its age mostly by referring to a present that never was.

Anyway, I’ve made it pretty clear on here that I love space exploration, and I love Mars. So this novel should be right up my alley, but I just didn’t like it that much. Maybe I’m too critical, but the whole thing felt like a scientist writing fiction, not a fiction author writing science. The prose style is grating in a way I find hard to describe. The pacing makes the novel feel more like an anthology of short stories. On the other hand, the scientific aspects are mostly impeccable. Mostly. I’m an amateur, but even I noticed a couple of errors that can’t entirely be attributed to optimistic projections. (The most egregious example is setting up solar panels at ~80°N latitude on Mars. That’s…not exactly a power move.)

Story-wise, Red Mars is all over the place. At the start, you’re unceremoniously dumped into a tense situation, with little idea of who’s who or what they’re even fighting about. But that’s a flash-forward. After this extended prologue, the story jumps back to the trip from Earth to Mars, the founding of the first human colony on another planet. Honestly, the voyage itself is underwhelming (I blame the POV character for this part). The founding of Underhill and the events of Part 3, on the other hand, contain some of the most evocative passages I’ve ever read. Then, after a large time-skip, the second half of the book seems to be a rushed mess that still somehow lasts for about 300 pages.

To sum up, I’ll say that I see Red Mars as a flawed masterpiece. In setting, it’s great. The Mars painted by Robinson is, as Buzz Aldrin said of the Moon, magnificent desolation. And a lot of the colony-building aspects are surprisingly deep. Alas, there’s just not enough time to explore, whether that’s the beautiful wasteland of the Red Planet or the inner space of the few characters who aren’t total sociopaths or misanthropes. I’ve been told that the other two entries in the trilogy make the story more complete, so I’ll give them a shot, because the setting itself is worth it.

Conclusion

So that’s another summer in the books. (Heh. Look at my puns.) If you played along, I hope you had fun, you achieved your goals, and you broadened your horizons. Two of my three choices—the two above, in fact—were never on my radar until the end of May, and that’s really the point of this challenge. Try something new. You won’t know what you like until you do.

Even though the Summer Reading List Challenge is over for 2019, that’s no reason to stop, so…keep reading!

Release: Fortress of Steel, part 2 (Modern Minds 5)

Four more months means a new Modern Minds story. This time around, it’s the conclusion to “Fortress of Steel”, which you first saw back in April. If you read that one, you don’t really need a blurb, but you get one anyway:

Amid the tumult of storms and the times, Dirk finds himself drawn into an adventure he never truly wanted. For all its impenetrable defenses, his mind continues to follow his heart. No power on earth can affect his thoughts, his emotions, but love and fear will find a way.

As usual, you can find it over on my Patreon for only $3 a month. And December will bring yet another little story in this series, “Memory Remains”. Keep watching for that one, and I’ll see you soon.

Summer Reading List 2019: Midpoint madness

We’re around the halfway point of summer, and considerably farther through the unofficial season of the Summer Reading List Challenge. This year, thanks to what we’ll call “fortunate events”,1 I haven’t finished all three of the books, but I do have one, so here we go.

Fiction

Title: Sins of Empire
Author: Brian McClellan
Genre: Fantasy
Year: 2017

I’ll go ahead and say this up front: Brian McClellan’s Powder Mage series quickly became one of my all-time favorite fantasy trilogies. It occupies a small but growing niche variously referred to as flintlock fantasy or riflepunk, which counters the oft-held belief that fantasy ends with the invention of gunpowder. I love that sort of genre-bending, and those three novels hit a sweet spot for me.

Well, Sins of Empire continues the story. It’s the first of a new series, Gods of Blood and Powder, but it carries over many of the characters. Set about ten years in the future, on a new continent, it has a kind of “summer blockbuster” feel: full of action, with a few nonsensical twists and an epic finale. The prose is, at times, not the greatest, something I’ve begun to notice with increasing regularity. But this book makes up for it in worldbuilding, in pacing, and in the sheer fun of the ride.

I’ve had this one sitting in my to-do pile since last Christmas, and I’m glad I chose it for this year’s challenge. It’s not a filling meal. No, it’s more of a dessert, something for a reader’s sweet tooth. Which isn’t all that bad, as long as you don’t over do it.

Coming up

I still have two more books to finish in the next month or so. I’m more than halfway through one, but I haven’t started the other. It looks like this might be a summer of procrastination, but that’s okay. It’s what I did in school, right?


  1. One of those fortunate events doesn’t like my completely logical punctuation style, but she’s not reading this.