Release: Beyond the Horizon (Orphans of the Stars 2)

Let’s get back to space. Back to the future, even.

They were lost, but they found themselves. Now, they will find a piece of their past that brings about a new chapter in humanity’s future.

Seventeen children inherited a ship, a mission, a legacy. Few among them truly understand what it means to be an officer, an engineer, or a medic. Youth is bold, however, bold and adventurous. Thus, the immature crew of the Innocence yet believe they know what they are doing. They believe they can navigate not only the endless void of space, but also the turbulent waters of life, a life marked by their shared history.

Something lurks out among the stars. Something turned these young people into orphans, into the last survivors of Marshall Colony. Only they have seen the truth and lived to speak of it. Only they are prepared to find what lies beyond the horizon.

I was really excited when I released Innocence Reborn last year. Rarely have I ever felt so good about a book, like it had so much promise. Maybe I consider Nocturne my best work, but Innocence Reborn was by far the most fun.

That’s all I ask from the Orphans of the Stars series. It’s my chance to have fun, to show that space opera and science fiction can still be fun. Whatever you think about our future, the one I’ve created in these books is bright. In my darker times, it’s one of the few lights that shines through. In better days, it outshines the sun.

You can head on over to my Patreon if you want to check this one out. It’s currently in the Serious Reader tier, which requires only a monthly pledge of $3. A cup of coffee, a small meal, or the future. It’s your choice.

And, in case you’re wondering, I’m already planning out Part 3 of Orphans of the Stars, tentatively titled Time in the Sun. Keep watching this space for more info on that.

🖼🗣 : the emoji conlang, part 3

As we have seen, 🖼🗣 is perfectly capable of writing simple sentences using nothing but emoji along with standard English punctuation. In this post, we’ll delve a little deeper into the script, focusing first on verbs.


Before we get started, let’s add in a few more simple words. All of these are verbs that represent actions, and I’ve tried to choose those best suited to “dynamic” phrasing.

  • 🛬 – to come
  • 💃 – to dance
  • ✈ – to fly
  • 🛫 – to go
  • 👊 – to hit
  • 🤗 – to hug
  • 😆 – to laugh
  • ⛹ – to play
  • 🏃 – to run
  • 💺 – to sit
  • 🏊 – to swim
  • 💼 – to work
  • ✍ – to write
  • 🔥➡ – to burn
  • 🚗➡ – to drive
  • 💕➡ – to love

Of course, most nouns can be “verbalized” by adding the ➡ suffix. In most cases, the resulting word can be interpreted in one of two ways. It’s either an action that uses the root noun (e.g., you drive a car), or one that is caused by the root (fire burns).

Adjectives can also take ➡, but their meaning is a lot simpler. Most of the time, the verb created is one that represents being in a specific state. Thus, 😃➡ translates as “to be happy”. Those are far more regular than verbs derived from nouns, but not nearly as flashy, so we don’t really need a list yet.

The usual suspects

🖼🗣 verbs express actions. As in English, they can also express when an action occurs. In other words, verbs have tense.

You’re probably expecting a table showing the different tenses in the script, because that’s what most language-learning texts offer right about now. But hold on just a minute. This is a little different. We don’t just have a simple three-way distinction, because 🖼🗣 combines tense and the linguistic notion of aspect into a single marker. So let’s slow down and take these things one at a time, since they can trip you up if you’re not careful.

First off, the present tense is simply the lack of any other marker. It’s the default. (Linguists can argue the point that non-finite verbs are also unmarked, but we’ll ignore them.) Also, the present tense here is best interpreted as the “imperfective” or “progressive” kind. That’s more in line with typical English speech, which is what 🖼🗣 tries to follow. Thus, a phrase like ♂ ✍ should read as “he is writing” rather than “he writes”. Obviously, that’s not set in stone, but it’s a good rule of thumb.

Next up, we have your basic past and future tenses. These are ◀ and ▶, respectively, and it’s not hard to get the symbolism. As opposed to the present, you can assume both of these are “perfective” by default: ♂ ✍◀ “he wrote”, ♂ ✍▶ “he will write”.

Here’s where it gets tricky. If you’re familiar with both English and Romance languages such as French or Spanish, you’ll also know the perfect tenses. They’re the “have” forms of an English verb, or the separate conjugations in Latin, or however you like to look at them. They’re hard to explain without resorting to linguistic nastiness, so I’ll keep it simple. A verb in a perfect tense refers to an action that took place before the time it’s talking about. It talks about something that, from the point of view of the verb, has already finished.

For 🖼🗣, we’ve got a trio of perfect markers. Each simple tense has a corresponding perfect form, and they look similar enough to the basics that you can almost imagine they fit. ⏯ marks the present perfect (“he has written”), ⏮ the past perfect (“he had written”), and ⏭ the future perfect (“he will have written”).

Last are two linguistic aspects that English doesn’t mark in a simple way. Other languages do, however, and two emoji perfectly fit the bill for them. Rather than use the technical terms, I’ll describe them more informally. ⏺ marks an action that is beginning (“he is starting to write”), while ⏹ says that an action is ending (“he isn’t writing anymore”). As you can see, these aren’t easy to translate, but the concepts aren’t too hard to grasp.

Combining the tense and aspect markers works just fine. You can use one of each, and the order doesn’t matter. Add in the adverb 🚫 “not”, and you can express some fairly complex ideas in just a few symbols. 🤳 🚫 ✍⏭⏹ “I will not have stopped writing”. Wow.

Back to pronouns

About that last example, though. You’ll notice I used 🤳 as the first-person pronoun. Last time, as you may recall, I mentioned that this is an acceptable substitute, and now it’s time to explain why.

Any 🖼🗣 pronoun can take 🤳 as a suffix meaning “-self”. (Get it? Because it’s a selfie.) Most of the time, you’d use this as the object of a phrase: ♀ 👀 ♀🤳 “she sees herself”. But that’s a little repetitive, so there are other ways. Placing this “reflexive” pronoun as the subject lets you say the same thing in a more concise way: ♀🤳 👀.

So far, so good. But the other meaning for 🤳 is as an “intensifier”. Those of you who know Spanish may recall that subject pronouns are optional in that language. Indeed, using them regularly is one of the hallmarks of beginner speakers. But when they do appear, it’s usually to indicate emphasis. In effect, they say that I’m doing this, not somebody else.

While our emoji script doesn’t allow omitting most pronouns, the emphatic use of 🤳 works just fine. And that’s our loophole to let us use 🤳 as an acceptable alternative to 👁️‍🗨. Language geeks rejoice.

We’ve also got a few other pronouns to cover before we go. These are the indefinite sort, and they’re all formed as compounds using 🔳 “some”. Thus, you have the following:

  • 🔳◻ – something
  • 🔳👤 – someone/somebody
  • 🔳📍 – somewhere
  • 🔳⌛ – sometime
  • 🔳〰◼ – somehow

Moving forward

So that about wraps it up for this one. Next time around, I promise we’ll get more into making actual sentences. We’ll also go a little deeper into what makes up words, including some of the more regular compounding constructions. 👀▶ 💮 🔜!

Themis Dev Diary #1

Yesterday, I quietly released the second alpha of my current long-term software project, Themis. For the moment, you can check out the code on my Github, which has returned to life after lying dormant for three years. I’m developing this one in the open, in full view of all the critics I know are lurking out there, and I’ll be updating you on my progress with dev diaries like this one.

The Project

First off, what is Themis? Well, it’s hard to explain, but I’ll give it a shot. What I mainly want to create with this project is a kind of successor to Usenet.

We have a lot of discussion platforms nowadays. There’s really no shortage of them. You’ve got proprietary systems like Facebook, Twitter, and Disqus; old-school web forums such as vBulletin, XenForo, and the more modern NodeBB; open, federated services like Mastodon and Pleroma; and the travesty known as Discourse. No matter what you’re looking for, you have options.

Unless you want the freedom, the simplicity, and the structure Usenet brought to discussions so long ago. That’s what Themis aims to recapture. My goal is to make something that anyone can install, effectively creating their own node (instance, in Mastodon parlance) that connects (federates) with all the others.

So far, that’s not too different from most of the “fediverse” platforms, but here’s the kicker. While Mastodon, Pleroma, GNU Social, and Misskey all focus on a flat, linear timeline in the vein of Twitter, Themis will use a threaded model more akin to newsgroups. Or Reddit, if you prefer. (Yes, there’s Prismo as the federated counter to Reddit, but bear with me.)

Also, while the current drama on most any platform is about banning, filtering, and censorship, I want to make Themis a place where speech is free by default. Rather than hand all the power to server admins, who can implement blocklists, filter policies, etc., Themis is going to be focused on user-guided filtering. If you don’t want to see what a certain user says, then you block that user. If you don’t like a specific topic, you can hide any threads where it’s discussed. And so on.

In my opinion, that’s a more viable model for open discussion. Rather than skirt around sensitive topics out of the fear of “deplatforming”, we assume that users are adults, that they have the maturity to know what they like and don’t like. The filtering system will need to be robust, powerful, and precise, but the key is that every part of it will be in the user’s hands. Yes, admins will still have the ability to ban problematic users (only on their server, of course) and remove posts that may violate laws or rules, but these should be the exception, not the rule.

Also, Themis is group-oriented. Every post falls into at least one group (crossposting isn’t implemented yet, but I’m getting there), and every group contains a set of threads. This will also fall into the filtering system, and here’s a place where admins can steer the discussion. A “tech” group on, for instance, would follow the rules of that server, and it might have an entirely different “feel” to the tech group on themis-is-awesome.tld. Configuration will allow admins to make groups intended only for local users, or invite-only, or moderated in the classic “all posts must be approved” style.

Where we are now

At the moment, most of this is a distant dream. I won’t lie about that. Themis is at a very early alpha stage, and there’s a lot of work left to even get it feature-complete, much less in a state worthy of release. To make matters worse, I’m not entirely sure how possible it is. I’m working alone, and I’m not the best programmer out there.

I’m giving it a shot, though. In only six weeks, I’ve gone from nothing more than a skeleton app in a framework I’d never even used to something that actually runs (albeit only on localhost). As of the 0.0.2 release, you can create an account, log in, view posts, add new ones, and reply to existing ones. The group creation functionality isn’t there yet, authentication is…haphazard at best, and the admin section is next to nonexistent. But that’s what alphas are for. They’re for getting all these pieces into place, even if there are a lot more of those pieces than you first anticipated.

What’s next

As I said, Themis isn’t even close to beta yet. I’ll likely put out quite a few more alphas in the coming weeks. The third release, if all goes well, will add in an admin control panel, plus the necessary scaffolding for site settings, preferences, and other configuration stuff. Alpha 4, in my vague mental outline, will fix up the posting functionality. Future milestones include group creation, filtering (a big one!), network optimization, and so on.

The beta releases, assuming I make it there, are all about getting Themis where I want it to be. That’s when I plan to start adding in federation, even better filtering, ActivityPub support, and an NNTP gateway, among others. (In case you’re wondering, I don’t have the slightest idea how to do half of that. And here I thought I’d be reading fiction in 2019! Nope, looks like specs instead.)

In my wildest dreams, all this somehow works out, and I can make a stable 1.0 release on October 1st. Stay tuned to see how that pans out.

If you want to help with Themis, or just take a look at it, check it out here. For the techies out there, it’s written in Typescript, using NestJS for the back end, Vue for the interface, TypeORM as a database abstraction layer, Axios for HTTP, Passport and JWT for authentication, and a whole bunch of other libraries I can’t remember right now. The project is entirely open source, under the MIT license (not AGPL, as so many other fediverse projects are), and I promise I’ll take a look at all serious suggestions, issues, bug reports, and advice.

Whatever the future holds, I’ll call this venture well worth it. Maybe I’ll burn out and fade away. Maybe I’ll change the world as much as Gargron and Lain are doing. I don’t care what the outcome is. I’ve found a passion, and this is it.

2018: a recap

So it’s another year in the books. 2018 is ending, and I think that’s something we can all be thankful for. No matter what you believe, no matter where you live, no matter who you are, this one’s been a wild ride. For me, that’s especially true. I’ve done a lot this year that I didn’t think I’d ever do, and you can probably figure out some of that by reading between the lines on my posts the past few months.

But now we have to look forward to 2019, the year of the future. (Seriously. Blade Runner is set in 2019. PKD couldn’t write some of what’s happened in real life lately, though.) Other places can give you some idea of what to expect in the wider world, but this post will let you know what it means for me.

First off, my main resolution for the coming year is to finish all the stories on my list. To start, that’s 6 Otherworld “bridge” novellas, which shouldn’t be too much of a problem. (I sometimes wonder if I could write one in my sleep. The way the words come to me when the mood is right, it’s not that far-fetched.) On top of those, I’ve got a pair in the Modern Minds series, Orphans of the Stars #3 (tentative title: Time in the Sun), Endless Forms #3 (confirmed title: Change of Heart), and a Nanowrimo story to be named later. All told, expect about 500,000 words of output on that front.

That’s about half of what I wrote in 2018, and an even smaller fraction of my massive 2017 output. Why the steep drop? Because I’ve got other projects I’m working on right now, most of which have little to do with writing. As they tie in to what the new year means for Prose Poetry Code, I’ll deal with all of it together.

If you’ve noticed the last few weeks, I’m working on a new conlang. Well, it’s not technically a conlang. More of a conscript, you might call it. Earlier in the year, I asked myself whether I could make a hieroglyphic or ideographic script using only emoji. The answer can be found in the 🖼🗣 or “Pictalk” series, which I’ll be extending throughout 2019, mostly at 5-week intervals.

That’s a side project, as language work tends to be for me. My “day” job, I hope, will involve programming. (I’m looking for work, and I’ve already signed up for at least one freelancing site.) That’s right. It’s time to put the “code” back in Prose Poetry Code. While I’m working on what I’m calling Project Themis, I’ll add in a dev diary every now and then. Don’t expect these to be regular—I’m not that dedicated. But this is a project I’m really passionate about right now, one I hope I can get into a stable state very soon. If all goes well (don’t count on it), I want a full 1.0 release on October 1st.

The more sporadic “whatever I feel like writing” posts will still be here, but not nearly as common. Maybe one a month, if that. Mostly, what you’ll see here in 2019 are those two series and release announcements. Unless I hit it big, of course. In that case, I’ll have a lot more free time.

Whatever the new year brings, I hope you all enjoy it, and I hope it turns out great for everyone. Just remember one thing: keep reading!

Release: Smoke and Mirrors (Modern Minds 3)

Another four months have passed since the last release in the Modern Minds series, so now it’s time for the third entry. Here’s “Smoke and Mirrors” for you:

In her old life, Tabitha had nothing. Now, she possesses a secret weapon, a talent to protect her mind from the invasion of others. And she has friends, friends with talents of their own. By exploring their minds, she hopes to unlock the full potential of her own.

Head on over to my Patreon (at least until it gets shut down!) to pick this one up. All you need is to subscribe at my Serious Reader level, which only costs you $3/month. That’s not much at all. Think of it as your Christmas present to me.

🖼🗣 : the emoji conlang, part 2

In the previous article, I showed that it is possible to create a kind of modern-day hieroglyphic script using the ~1200 emoji characters available in Unicode. Now, let’s expand on that.

Rather than go through a formal grammar, we’ll work our way up from a few simple phrases and sentences, much in the same way as a student learning a new language. 🖼🗣 is, after all, a bit like it’s own language.


First off, let’s define a few very simple words. These are all “content” words, as you’ll see; grammatical particles (what few we truly need in 🖼🗣) can come later.

  • 👨 – man
  • 👩 – woman
  • 👤 – person
  • 🧒 – child
  • 🐕 – dog
  • 🐈 – cat
  • 👁 – eye
  • 👄 – mouth
  • ✋ – hand
  • 👣 – foot
  • 🍴 – to eat
  • 🥤➡ – to drink
  • 👀 – to see
  • 👂➡ – to hear
  • 🧠➡ – to know
  • 🚶 – to walk
  • 💧 – water
  • 🌬 – air
  • 🔥 – fire
  • 🌐 – earth
  • 🌞 – sun
  • 🌝 – moon
  • ⛅ – sky
  • 🔴 – red
  • 💚 – green
  • 🔷 – blue
  • ◻🌈 – white
  • ◼🌈 – black
  • ♨ – hot
  • ❄ – cold
  • 😃 – happy
  • 😢 – sad
  • 💪 – strong
  • ⬜ – big
  • 🧠〰 – smart

For most of these, the meanings should be fairly obvious. Some, however, are compounds. As an example, the color terms for white and black, ◻🌈 and ◼🌈, combine their first glyphs (ordinarily simple nominal particles) with 🌈, a regular derivation that makes color terms. Similarly, the numerous verbs with ➡ are derived from nouns; the second symbol here acts as a verbalizing suffix. And for adjectives, you can often use 〰, as we did with “smart”: 🧠〰.


The simplest sentences are those with nothing more than a subject, verb, and object. And, to make things even simpler, we’ll start with the most basic verb of all: “to be”. In 🖼🗣, that’s 👉. No need to worry about agreement suffixes or anything like that, though. For our purposes here, 👉 is all we need. (We’ll get to tenses in a later part.)

Here are a few examples to show what I mean:

  • 🧒 👉 😃. – The child is happy.
  • 👩 👉 🧠〰. – The woman is smart.
  • 👨 👉 💪. – The man is strong.
  • 🔥 👉 ♨ – Fire is hot.

Note that we don’t need any special word for “the”, either. It’s understood. (If you really think you need it, you can use 👇, though its meaning is closer to “this”.)

Our other verbs aren’t quite as easy to work with, but we can manage. The principle’s the same, after all:

  • 🧒 👀 🐕. – The child sees a dog.
  • 👨➿ 🚶. – The men are walking.
  • 🐈 🥤➡ 💧. – The cat drinks water.

Once again, don’t worry about the difference between English simple and progressive forms. 🖼🗣 doesn’t bother distinguishing the two.

You, me, and all the rest

Today, everybody’s worried about pronouns. Well, I’ve got you covered there, because 🖼🗣 has plenty of them.

Most languages make a distinction between persons: first, second, and third. To some extent, that’s what we’ll do here, but modern communication, especially on the Internet, is more geared towards a distinction between speaker, audience, and others. (Technically, that’s all the three degrees of person represent, but bear with me.)

A speaker’s solo pronoun is 👁️‍🗨. If they’re including others (whether inside or outside their audience), then this becomes 🤲. These are like “I” and “we”, respectively:

  • 👁️‍🗨 👉 🧠〰. – I am smart.
  • 🤲 👉 😃. – We’re happy.
  • 👁️‍🗨️ 👀 🔷 ⛅ – I see the blue sky.

(Important note: Some systems are not able to display or input the “compound” emoji 👁️‍🗨️. If yours is one of them, don’t despair. You can use 🤳 instead. It doesn’t mean exactly the same thing, as we’ll see in the next part, but it’s close enough.)

But here’s where it gets interesting. If you’re only speaking of yourself, there’s really no reason to need that cumbersome pronoun. It’s implied, because you’re the one talking. So that first sentence can become “👉 🧠〰.” instead, and it’ll mean the same thing.

Only the singular speaker pronoun can be dropped like this, which is far different from most spoken languages which allow such things.

The listener pronouns are much simpler. In fact, they’re not even pronouns at all, because there’s only one of them: 💮. Example:

  • 👁️‍🗨️️ 👀 💮. – I see you.

As with English “you”, this works for both singular and plural.

Last are what most languages call the third-person pronouns. Here, 🖼🗣 has a wide variety to choose from, so let’s take a look.

  • For talking about people in general: singular 👤, plural 👥
  • For talking about anything not human: singular ◻, plural ◻◻
  • For talking about only men: singular ♂, plural 👥♂
  • For talking about only women: singular ♀, plural 👥♀

Mostly, the first two pairs should be preferred, and the “general” form is required when you’re referring to mixed groups. And, of course, using the “non-human” pronouns when you want to talk about people is just wrong.

Some examples using these pronouns:

  • 👥 👉 😃. – They are happy.
  • ♂ 👉 ⬜ 👨. – He is a big man.
  • 👀 ◻. – I see it.
  • 👥♀ 👂➡ 💮. – They (i.e., those women) can hear you.


Last in this little lesson, we’ll discuss the possessive form. As with many parts of 🖼🗣, that’s a little different from what you might expect. In fact, it’s one of the few cases where the script recycles English punctuation.

Our key here is the apostrophe, or single quote mark: ‘. When put between two nouns (pronouns included), it indicates that the first possesses the second. So we might say 🧒’🐈 for “the child’s cat” or ♂’✋ for “his hand”.

These aren’t exactly compound nouns, but they can function much like them, fitting into sentences with ease.

  • 👁️‍🗨️’👁 👉 🔷. – My eyes are blue.
  • ♀’🧒➿ 👉 😃. – Her children are happy.
  • 👀 ⬜ 👨’🐕➿. – I see the man’s big dogs.

In the last example above, you can see a difference between the script and English, as far as word order is concerned. The possessive “attaches” to the head noun, even if there are modifying adjectives before it.

Also, you can “chain” possessives, as in ♂’🧒’👁➿ “his child’s eyes”.

Moving forward

Now that you’ve seen a little bit more of this experiment, does it still seem so outlandish? Stay tuned, as this series will delve even deeper into the weird world of emoji, and the strange things we can accomplish when our language is allowed to use nothing else. 👀▶ 💮 🔜!

Novel month 2018 wrap-up

I know it’s late, but I felt awful yesterday. I just didn’t think I’d be able to write anything, let alone a wrap-up of the last month. So here it is a day late. Seems like that fits everything else in my life right now.

Seasons Change was, by the rules of the game, a success. I completed a story of at least 50,000 words in the month of November, and I did it without stressing myself to the breaking point. (Other factors in my life took me there, of course, but that’s neither here nor there.)

The story itself isn’t my best, I’ll admit—that honor still goes to Nocturne. This one I’ll call solidly average. It didn’t have any big moments. Instead, it was more of an opening piece intended to fill in the backstory of the Otherworld. In that, I think it worked. Especially the ending, as it directly connects to Falling Into Place, the penultimate entry in the “season 2” set of Otherworld tales that I’ll bring to you in 2019.

On the writer side, I also had a lot of good fortune, relatively speaking. Except for this head cold (or whatever it is) I’ve suffered the past few days, most of the month was decent. Not great, but passable. I didn’t get into a bizarre sleeping schedule that effectively took away a writing day. The weather was both unusually clear and unseasonably cold (highs for November averaged 7 degrees below normal!), so no storms knocked me out of the zone. Debian was kind enough to hold off on any breaking upgrades. And my family made it through what’s often a tough time without too much hassle.

All in all, this year was both a nice change of pace and a great return to form. The last time I truly “won” Nanowrimo, in the sense of completing both objectives, was 2015, with The City and the Hill. Maybe that’s the trick. Otherworld seems to work for me. Which is a great thing, because I’d really like to spend more time there. It can’t be worse than here.