Character alignment

If you’ve ever played or even read about Dungeons & Dragons or similar role-playing games (including derivative RPGs like Pathfinder or even computer games like Nethack), you might have heard of the concept of alignment. It’s a component of a character that, in some cases, can play an important role in defining that character. Depending on the Game Master (GM), alignment can be one more thing to note on a character sheet before forgetting it altogether, or it can be a role-playing straitjacket, a constant presence that urges you towards a particular outcome. Good games, of course, place it somewhere between these two extremes.

The concept also has its uses outside of the particulars of RPGs. Specifically, in the realm of fiction, the notion of alignment can be made to work as an extra “label” for a character. Rather than totally defining the character, pigeonholing him into one of a hew boxes, I find that it works better as a starting point. In a couple of words, we can neatly capture a bit of a character’s essence. It doesn’t always work, and it’s far too coarse for much more than a rough draft, but it can neatly convey the core of a character, giving us a foundation.

First, though, we need to know what alignment actually is. In the “traditional” system, it’s a measure of a character’s nature on two different scales. These each have three possible values; elementary multiplication should tell you that we have nine possibilities. Clearly, this isn’t an exact science, but we don’t need it to be. It’s the first step.

One of the two axes in our alignment graph is the time-honored spectrum of good and evil. A character can be Good, Evil, or Neutral. In a game, these would be quite important, as some magic spells detect Evil or only affect Good characters. Also, some GMs refuse to allow players to play Evil characters. For writing, this distinction by itself matters only in certain kinds of fiction, where “good versus evil” morality is a major theme. Mythic fantasy, for example, is one of these.

The second axis is a little harder to define, even among gamers. The possibilities, again, are threefold: Lawful, Chaotic, or Neutral. Broadly, this is a reflection of a character’s willingness to follow laws, customs, and traditions. In RPGs, it tends to have more severe implications than morality (e.g., D&D barbarians can’t be Lawful), but less severe consequences (few spells, for example, only affect Chaotic characters). In non-gaming fiction, I find the Lawful–Chaotic continuum to be more interesting than the Good–Evil one, but that’s just me.

As I said before, there are nine different alignments. Really, all you do is pick one value from either axis: Lawful Good, Neutral Evil, etc. Each of these affects gameplay and character development, at least if the GM wants it to. And, as it happens, each one covers a nice segment of possible characters in fiction. So, let’s take a look at them.

Lawful Good

We’ll start with Lawful Good (LG). In D&D, paladins must be of this alignment, and “paladin” is a pretty good descriptor of it. Lawful Good is the paragon, the chivalrous knight, the holy saint. It’s Superman. LG characters will be Good with a capital G. They’ll fight evil, then turn the Bad Guys over to the authorities, safe in the knowledge that truth and justice will prevail.

The nicey-niceness of Lawful Good can make for some interesting character dynamics, but they’re almost all centered on situations that force the LG character to make a choice between what is legal and what is morally right. A cop or a knight isn’t supposed to kill innocents, but what happens when inaction causes him to? Is war just, even that waged against evil? Is a mass murderer worth saving? LG, at first, seems one-dimensional; in a way, it is. But there’s definitely a story in there. Something like Isaac Asimov’s “Three Laws of Robotics” works here, as does anything with a strict code of morality and honor.

Some LG characters include Superman, obviously, and Eddard Stark of A Song of Ice and Fire (and look where that got him). Real-world examples are harder to come by; a lot of people think they’re Lawful Good (or they aspire to it), but few can actually uphold the ideal.

Neutral Good

You can be good without being Good, and that’s what this alignment is. Neutral Good (NG) is for those that try their best to do the right thing legally, but who aren’t afraid to take matters into their own hands if necessary (but only then). You’re still a Good Guy, but you don’t keep to the same high standards as Lawful Good, nor do you hold others to those standards.

Neutral Good fits any general “good guys” situation, but it can also be more specific. It’s not the perfect paragon that Lawful Good is. NG characters have flaws. They have suspicions. That makes them feel more “real” than LG white knights. The stories for an NG protagonist are easier to write than those for LG, because there are more possibilities. Any good-and-evil story works, for starters. The old “cop gets fired/taken off the case” also fits Neutral Good.

Truly NG characters are hard to find, but good guys that aren’t obviously Lawful or Chaotic fit right in. Obi-Wan Kenobi is a nice example, as Star Wars places a heavy emphasis on morality. The “everyday heroes” we see on the news are usually NG, too, and that’s a whole class that can work in short stories or a serial drama.

Chaotic Good

I’ll admit, I’m biased. I like Chaotic Good (CG) characters, so I can say the most about them, but I’ll try to restrain myself. CG characters are still good guys. They still fight evil. But they do it alone, following their own moral compass that often—but not always—points towards freedom. If laws get in the way of doing good, then a CG hero ignores them, and he worries about the consequences later.

Chaotic Good is the (supposed) alignment of the vigilante, the friendly rogue, the honorable thief, the freedom fighter working against a tyrannical, oppressive government. It’s the guys that want to do what they believe is right, not what they’re told is right. In fiction, especially modern fantasy and sci-fi, when there are characters that can be described as good, they’re usually Chaotic Good. They’re popular for quite a few reasons: everybody likes the underdog, everyone has an inner rebel, and so on. You have a good guy fighting evil, but also fighting the corruption of The System. The stories practically write themselves.

CG characters are everywhere, especially in movies and TV: Batman is one of the most prominent examples from popular culture of the last decade. But Robin Hood is CG, too. In the real world, CG fairly accurately fits most of the heroes of history, those who chose to do the right thing even knowing what it would cost. (If you’re of a religious bent, you could even make the claim that Jesus was CG. I wouldn’t argue.)

Lawful Neutral

Moving away from the good guys, we come to Lawful Neutral (LN). The best way to describe this alignment, I think, is “order above all”. Following the law (or your code of honor, promises, contracts, etc.) is the most important thing. If others come to harm because of it, that’s not your concern. It’s kind of a cold, calculating style, if you ask me, but there’s good to be had in it, and “the needs of the many outweigh the needs of the few” is completely Lawful Neutral in its sentiment.

LN, in my opinion, is hard to write as a protagonist. Maybe that’s my own Chaotic inclination talking. Still, there are plenty of possibilities. A judge is a perfect example of Lawful Neutral, as are beat cops. (More…experienced cops, as well as most lawyers, probably fall under Lawful Evil.) Political and religious leaders both fall under Lawful Neutral, and offer lots of potential. But I think LN works best as the secondary characters. Not the direct protagonist, but not the antagonists, either.

Lawful Neutral, as I said above, best describes anybody whose purpose is upholding the law without judging it. Those people aren’t likely to be called heroes, but they won’t be villains, either, except in the eyes of anarchists.

True Neutral

The intersection of the two alignment axes is the “Neutral Neutral” point, which is most commonly called True Neutral or simply Neutral (N). Most people, by default, go here. Every child is born Neutral. Every animal incapable of comprehending morality or legality is also True Neutral. But some people are there by choice. Whether they’re amoral, or they strive for total balance, or they’re simply too wishy-washy to take a stand, they stay Neutral.

Neutrality, in and of itself, isn’t that exciting. A double dose can be downright boring. But it works great as a starting point. For an origin story, we can have the protagonist begin as True Neutral, only coming to his final alignment as the story progresses. Characters that choose to be Neutral, on the other hand, are harder to justify. They need a reason, although that itself can be cause for a tale. They can make good “third parties”, too, the alternative to the extremes of Good and Evil. In a particularly dark story, even the best characters might never be more “good” than N.

True Neutral people are everywhere, as the people that have no clear leanings in either direction on either axis. Chosen Neutrals, on the other hand, are a little rarer. It tends to be more common as a quality of a group rather than an individual: Zen Buddhism, Switzerland.

Chaotic Neutral

Seasoned gamers are often wary of Chaotic Neutral (CN), if only because it’s often used as the ultimate “get out of jail free” card of alignment. Some people take CN as saying, “I can do whatever I want.” But that’s not it at all. It’s individualism, freedom above all. Egalitarianism, even anarchy. For Chaotic Neutral, the self rules all. That doesn’t mean you have a license to ignore consequences; on the contrary, CN characters will often run right into them. But they’ll chalk that up as another case of The Man holding them back.

If you don’t consider Chaotic Neutral to be synonymous with Chaotic Stupid, then you have a world of character possibilities. Rebels of all kinds fall under CN. Survivalists fit here, too. Stories with a CN protagonist might be full of reflection, or of fights for freedom. Chaotic Neutral antagonists, by contrast, might stray more into the “do what I want” category. In fiction, the alignment tends to show up more in stories where there isn’t a strong sense of morality, where there are no definite good or bad guys. A dystopic sci-fi novel could easily star a CN protagonist, but a socialist utopia would see them as the villains.

Most of the less…savory sorts of rogues are CN, at least those that aren’t outright evil. Stoners and hippies, anarchists and doomsday preppers, all of these also fit into Chaotic Neutral. As for fictional characters, just about any “anti-hero” works here. The Punisher might be one example.

Lawful Evil

Evil, it might be said, is relative. Lawful Evil (LE) might even be described as contentious. I would personally describe it as tyranny, oppression. The police state in fiction is Lawful Evil, as are the police who uphold it and the politicians who created it. For the LE character, the law is the perfect way to exploit people.

All evil works best for the bad guys, and it takes an amazing writer to pull off an Evil protagonist. LE villains, however, are perfect, especially when the hero is Chaotic Good. Greedy corporations, rogue states, and the Machiavellian schemer are all Lawful Evil, and they all make great bad guys. Like CG, Lawful Evil baddies are downright easy to write, although they’re certainly susceptible to overuse.

LE characters abound, nearly always as antagonists. Almost any “evil empire” of fiction is Lawful Evil. The corrupted churches popular in medieval fantasy fall under this alignment, as well. In reality, too, we can find plenty of LE examples: Hitler, the Inquisition, Dick Cheney, the list goes on.

Neutral Evil

Like Neutral Good, Neutral Evil (NE) fits best into stories where morality is key. But it’s also the best alignment to describe the kind of self-serving evil that marks the sociopath. A character who is NE is probably selfish, certainly not above manipulating others for personal gain, but definitely not insane or destructive. Vindictive, maybe.

Neutral Evil characters tend to fall into a couple of major roles. One is the counterpart to NG: the Bad Guy. This is the type you’ll see in stories of pure good and evil. The second is the true villain, the kind of person who sees everyone around him as a tool to be used and—when no longer required—discarded. It’s an amoral sort of evil, more nuanced than either Lawful or Chaotic, and thus more real. It’s easy to truly hate a Neutral Evil character.

Some of the best antagonists in fiction are NE, but so are some of the most clichéd. The superhero’s nemesis tends to be Neutral Evil, unless he’s a madman or a tyrant; the same is true of the bad guys of action movies. Real-life examples also include many corporate executives (studies claim that as many as 90% of the highest-paid CEOs are sociopaths), quite a few hacking groups (those that are doing it for the money, especially), and likely many of the current Republican presidential candidates (the Democrats tend to be Lawful Evil).

Chaotic Evil

The last of our nine alignments, Chaotic Evil (CE) embraces chaos and madness. It’s the alignment of D&D demons, true, but also psychopaths and terrorists. Pathfinder’s “Strategy Guide” describes CE as “Just wants to watch the world burn”, and that’s a pretty good way of putting it.

For a writer, though, Chaotic Evil is almost a trap. It’s almost too easy. CE characters don’t need motivations, or organization, or even coherent plans. They can act out of impulse, which is certainly interesting, but maybe not the best for characterization. It’s absolutely possible to write a Chaotic Evil villain (though probably impossible to write a believably CE anti-hero), but you have to be careful not to give in to him. You can’t let him take over, because he could do anything. Chaos is inherently unpredictable.

Chaotic Evil is easy to find in fiction. Just look at the Joker, or Jason Voorhees, or every summoned demon and Mad King in fantasy literature. And, unfortunately, it’s far too easy to find CE people in our world’s history: Osama bin Laden, Charles Manson, the Unabomber, and a thousand others along the same lines.

In closing

As I stated above, alignment isn’t the whole of a character. It’s not even a part, really. It’s a guideline, a template to quickly find where a character stands. Saying that a protagonist is Chaotic Good, for instance, is a shorthand way of specifying a number of his qualities. It tells a little about him, his goals, his motivations. It even gives us a hint as to his enemies: Lawful and/or Evil characters and groups, those most distant on either alignment axis.

In some RPGs, acting “out of alignment” is a cardinal sin. It certainly is for player characters like D&D paladins, who have to adhere to a strict moral code. (How strict that code is depends on the GM.) For a fictional character in a story, it’s not so bad, but it can be jarring if it happens suddenly. Given time to develop, on the other hand, it’s a way to show the growth of a character’s morality. Good guys turn bad, lawmen go rogue, but not on a whim.

Again, alignment is not a straitjacket to constrain you, but it can be a writing aid. Sure, it doesn’t fit all sizes. As a lot of gamers will tell you, it’s not even necessary for an RPG. But it’s one more tool at our disposal. This simple three-by-three system lets us visualize, at a glance, a complex web of relationships, and that can be invaluable.

Let’s make a language – Part 5c: Verbs (Ardari)

The nouns of our conlang Ardari, you might recall, were quite complex. So you’ll be happy to know that the verbal morphology, by contrast, is actually fairly simple. That doesn’t mean it’s less capable of expressing the full range of description, nor does it mean that everything is entirely straightforward. It’s just a little easier to figure out than the nouns, that’s all.

The shape of a verb

Where Ardari nouns had three main classes, verbs effectively have two. A verbal stem can end in either a consonant or a vowel, and the vowel stems are typically verbs with an intransitive meaning. This isn’t always true, of course, but it will be a fairly effective rule of thumb. There aren’t any genders or cases to worry about, no definite markers or plurals or anything like that. Just two main classes, and they share the same basic conjugation pattern.

We’ll use the same two example words from last time, but they’ll be the Ardari stem forms brin- “walk” and tum- “eat”. See the hyphens? That means that these aren’t words in their own right. They can’t stand alone, but we’ll see how to turn them into proper words.

Concord

Like Isian and many natural languages, Ardari requires agreement markers on its verbs. They’re a bit odd, though, mainly because there are two sets of them, and they don’t exactly mean what you think. First, let’s take a look at them.

Concord Agent Sing. Agent Pl. Pat. Sing. Pat. Pl.
1st Person -o -on -ma -mi
2nd Person -tya -tyi
3rd Person -a -e -da -dyi

As you can see, the forms change for person and number, but also for “agent” and “patient”. These are more technical terms than the usual “subject” and “object”, and for good reason. They don’t quite match up. For transitive verbs, it’s simple: the subject is the agent and the object is the patient. So we can say konatö fèse tumada “the man eats food”. (Verbs usually come at the end of a sentence in Ardari, by the way.)

Intransitive verbs are a little different. For many of them, the same rule applies: the subject is the agent. This is true for our example: brino “I walk”. But some are different. This class of irregular verbs consists mainly of those with less “active” meanings, like minla- “stand”. For these, the subject takes the patient concord markers: minlama “I stand”. Most of these are verbs just like “stand”, in the sense that they’re kind of “static”. I’ll point out those few that act like this as we meet them, but it’s one more thing to watch out for. Fortunately, they’re pretty easy to spot, as they’re mostly the stems that end in vowels.

Also, there’s a special concord marker -y. This is used in two main places. First, Ardari uses this for “weather” verbs, where English would have a dummy “it” as subject, as in luvy “it’s raining”. Second, any transitive verb can take it to make a passive-like construction: fèsetö tumyd “the food was eaten”, using the preterite tense marker we’ll see in a second.

Tense and aspect

Ardari has a total of seven classes that are effectively combinations of tense and aspect. Each of them (except the present, which is considered the default) has its own suffix, and that suffix goes after the concord markers above. The choices are:

  • -s: A present “progressive” that indicates an ongoing action: fèse tumodas “I am eating food”.

  • -d: The preterite, which is effectively a past tense, but always implies a completed action: fèse tumodad “I ate food”.

  • -dyt: Usually a past tense to reference actions that were ongoing at the moment in question: fèse tumodadyt “I was eating food”.

  • -jan: Implies that an event began in the past: fèsetö tumodajan “I began to eat the food”. (The technical term is inceptive.)

  • -ll: A basic future tense: fèse tumodall “I will eat food”.

  • -lyët: Used for speaking of events that will end in the future: fèsetö tumodalyët “I’m about to finish eating the food”. (Technically known as a cessative.)

Mood markers

In Ardari, a change in mood is handled by a separate set of suffixes that follow the tense markers. These include:

  • -u (-ru when following a vowel): A simple negation marker: brinaru “he doesn’t walk” or brinasu “he isn’t walking”. This can replace the final vowel of most of the other mood markers.

  • -ka (-ga when following voiced consonants): A subjunctive, mostly used for various types of phrases we’ll see later.

  • -afi (-rafi after a vowel): A conditional mood that states that another action depends on this one: brinarafi “if I walk”.

  • -je: An imperative, for giving commands or orders, but also used to express a desire, hope, or even a call to action: tumje “let’s eat”. (When combined with the negative marker, it becomes -ju, and it’s technically called the prohibitive.)

  • -rha: This one’s a little hard to explain, but it implies that the speaker assumes or otherwise doesn’t know for sure that the action has taken place: fèsetö tumadadrha “he ate the food, as far as I know”. (This is very much a rough translation.)

Most of these can be combined. The negative marker works with pretty much all the others, and the “indirect” -rha goes with anything but the imperative. The conditional and subjunctive are mutually exclusive, though, and the imperative doesn’t make sense with anything else. In total, there are 14 sensible combinations:

  • (no suffix): indicative
  • -ka: subjunctive
  • -afi: conditional
  • -je: imperative
  • -u: indicative negative
  • -ku: subjunctive negative
  • -afu: conditional negative
  • -ju: imperative negative (prohibitive)
  • -rha: indicative indirect
  • -karha: subjunctive indirect
  • -afirha: conditional indirect
  • -rhu: indicative indirect negative
  • -karhu: subjunctive indirect negative
  • -afirhu: conditional indirect negative

These 14 moods, combined with the seven tense suffixes and the 31 possibilities for concord give Ardari just over three thousand forms for each verb, but they’re all so regular and predictable that we don’t have to worry about ever memorizing anything like that. Instead, we can just build up a verb piece by piece. That’s the power of the agglutinative style of language.

Vocabulary

That’s pretty much it for the basics of Ardari verbs. There’s a lot more to them, but we’ll cover everything else in a later post. For now, here are some new words, including all the new verbs I’ve used so far. With the exceptions of minla- and luz-, these are all perfectly regular, even the one for “to be”.

  • to be: èll-
  • to become: onyir-
  • to seem: ègr-
  • to stand: minla-
  • to have: per-
  • to come: ton-
  • to go: shin-
  • to drink: kabus-
  • to laugh: jejs-
  • to hold: yfily-
  • to hear: ablon-
  • to wash: oznèr-
  • to cook: lòsty-
  • to speak: sim-
  • to call: qon-
  • to read: proz-
  • to write: farn-
  • to want: majtas-
  • to rain: luz-

Next time

The next post will be about word order, so that we can finally start constructing sentences in our constructed languages. After that will be the third part of the trinity of word categories, the adjective. We’re really starting to flesh out both our conlangs. Pretty soon, we’ll be able to write a whole story in them.

Assembly: narrowing the field

Okay, I guess I told a little fib. But I’ve got a good reason. I’ve been thinking this over for a while, and I still haven’t come to a decision. I want to do a few posts introducing an assembly language and the “style” of programming it, but I don’t know which assembly language to use. So, in the interest of better informing you (and giving myself an extra week to figure out an answer), I’ve decided to put some of my thought processes into words.

The contenders

I know a handful of assembly variants, and I know of quite a few more, especially if you count different versions of architectures as separate languages. Some of these are more useful for introductory purposes than others, while some are much more useful in actual work. These two subsets, unfortunately, don’t overlap much. But I’ve come up with four finalists for this coveted crown, and here they are, complete with my own justifications.

6502

If you’re older than about 25, then you’ve probably used a 6502-based system before, whether you knew it or not. It was a mainstay for 80s “home computers”, including the Apple II and Commodore 64, and a customized version was used in the NES. It’s still a hobbyist favorite, mostly for nostalgia reasons rather than any technical superiority, and there’s no sign that it will ever become truly extinct. (Bender, after all, has one in his head, which explains a lot.)

Pros:

  • 8-bit processors are about as simple as you can get while still being useful.
  • There’s a lot of work out there already, in terms of tutorials, programming guides, etc.
  • An online assembler exists, which makes things much easier.
  • Plenty of emulators are available, although these are usually for specific 6502 computers.

Cons:

  • 8-bit can be very limiting, mostly because it is so simple.
  • There aren’t many registers, which slows down a lot of work and means a lot of memory trickery.
  • Despite what its followers might think, 6502 is pretty much a dead end for development, as it has been for about 20 years.
Early x86

By “early”, I specifically mean the 16-bit x86 processors, the 8086 and 80286. These are the CPUs of the first IBM-compatible personal computers, and the ancestors of the i5 and A10 we use today. You would think that would give it direct relevance, but you’d actually be wrong. Today’s x86 processors, when running in 64-bit mode, actually can’t directly run 16-bit code. But we’d be using an emulator of some sort, anyway, so that’s not a problem that would concern us.

Pros:

  • Very familiar and widespread, as (a descendent of) x86 is still used in just about every PC today.
  • 16-bit isn’t that much more complicated than 8-bit.
  • All those old DOS assembly tutorials are out there, somewhere, and most of them contain useful information.
  • Even though current processors can’t execute 16-bit code directly, you can still use one of the dozens of emulators out there, including DOSBox.

Cons:

  • The segmented memory architecture is weird and hard to explain.
  • It’s easy to fall into the trap of using skills and tricks that were relevant here in more modern applications, where they simply don’t carry over.
  • A lot of people just don’t like x86 and think it’s horrible; I don’t understand this, but I respect it.
AVR

Atmel’s AVR line of microcontrollers is pretty popular in the embedded world. One of them powers the Arduino, for example. Thus, there’s actually a built-in market for AVR assembly, although most programmers now use C. Of course, AVR has its own problems, not the least is its odd way of segregating program and data memory.

Pros:

  • Very relevant today as an embedded platform.
  • A ton of support online, including tutorials, forums, etc.
  • The assembly language and architecture, despite a few warts, is actually nice, in my opinion.
  • Lots of good tools, including a port of GCC.

Cons:

  • Emulator quality is hit or miss. (AVR Studio was okay when I used it 4 years ago, but it’s non-free and Windows only, and the free options are mostly beta quality.)
  • The Harvard architecture (totally separate memory spaces for code and data) is used by almost nothing else today, and it’s cumbersome at best.
  • AVR is very much a microcontroller platform, not a microprocessor one. It’s intended for use in embedded systems, not PCs.
MIPS

MIPS is a bit of an oddball. Sure, it’s used in a few places out there. There’s a port of Android to it, and MIPS CPUs were used in most of the 90s consoles, like the N64 and PlayStation. There’s not much modern development on it, though, except in the Chinese Loongson, which started out as a knock-off, but then became a true MIPS implementation. But its true value seems to be in its assembly language, which is often recommended as a good way to learn the ropes.

Pros:

  • Fairly simple assembly language and a sensible architecture.
  • Tools are widespread, including cross-compilers, emulators, and even native versions of Linux.
  • RISC, if you like that. After all, “RISC is good”, to quote Hackers.

Cons:

  • Not quite as relevant as it once was. (If I had written this 20 years ago, the choice would probably be between this and x86.)
  • A bit more complex than the others, which actually removes some of the need for assembly.
  • I don’t really know it that well, so I would have to learn it first.

The also-rans

Those aren’t the only assembly language platforms out there. There are quite a few that are popular enough that they could fit here, but I didn’t pick them for whatever reason. Some of them include:

  • PowerPC: Used in Macs from about a decade ago, as well as the consoles of the 2000s (GameCube, Wii, PS3, XBox 360), but I don’t know much about it, and it’s mostly on servers now.

  • 68000: The 16-bit CPU from the Sega Genesis and the original Macintosh, later developed into a true 32-bit processor. It has its supporters, and it’s not that bad, but again, I don’t know it like I do the others.

  • Z80: This one was used by a few home computers, like the ZX80, Kaypro, and (my favorite) the TRS-80. It’s a transparent remake of the 8080 (forerunner to the 8086) with just enough detail changed to avoid lawsuits. But I know x86 better.

  • PIC: One of the most popular architectures in the 8-bit embedded world. I’ve read a little bit about it, and I don’t exactly like what I see. Its assembly requires a few contortions that I think distract from the task at hand.

  • ARM: The elephant in the room. Technically, ARM is a whole family of architectures, each slightly different, and that is the main problem. The tools are great, the assembly language isn’t half bad (but increasingly less necessary). It’s just that there’s too much choice.

  • MIX: Donald Knuth invented this fictional assembly language for his series The Art of Computer Programming. Then, after 30 years of work, he scrapped it for the next edition, replacing it with the “modern” MMIX. Neither one of them works here, in my opinion. MMIX has a lack of tool support (since it’s not a “real” machine language) and the best tutorial is Knuth’s book. MIX is even worse, since it’s based on the horrible architectures of the 60s and early 70s.

Better times ahead

Hopefully, I’ll come to a decision soon. Then I can start the hard part: actually making assembly language interesting. Wish me luck.

On rogues and rebels

A popular trope in fiction is that of the rebel. Rebels, in their various disguises as rogues, thieves, pretenders, vigilantes, and terrorists, live outside the normal bounds of society in some way, and that apparently speaks to some primal instinct in us all. We may not empathise with them, and we rarely support them, but we enjoy them. Sometimes, the rebels are the good guys (Star Wars, V for Vendetta), sometimes they’re bad (every hostage movie ever), but they’re almost always interesting.

But what makes a “good” rogue, character-wise? I can’t claim to know the answer, but I do know what makes a rebel “real”: motivation. Few people turn to the “dark side” on a whim. There’s a reason why someone in real life becomes a rebel. What that specific reason is, however, depends on many factors.

Today’s terrorist groups are founded on ideological grounds, and the same is true throughout history. Religion is the one we’re most familiar with, as it’s so easy to spur people to violence over differences in faith. Peaceful religious rebels exist, too, but we so rarely hear of them in the news. Still, they’re out there, and they were formed on the same basis as ISIS and the IRA. Many of the first English colonies in the Americas, for example, were intended as religious endeavors; the Pilgrims, to name one, intended to create a utopia ordered around their ideals, far away from the influence of the outside world.

Religion isn’t the only motivator for rebellion. Politics can work, as well. That’s what got us the American Revolution, the French Revolution, and a thousand others throughout time. (Obviously, once the rebels take power, they’re no longer rebels, but everyone has to start somewhere.) Political rebellion can happen in just about any form of government, too, and it’s not always an attempt at overthrowing the whole system. In medieval monarchies, succession laws created a breeding ground for pretenders, some of whom gathered followers and pressed their claims.

Other factors can come into play. Economic inequality got us the Occupy movement a few years ago, but it’s also a good explanation as to why some turn to crime. Society itself can also turn people into rebels—minorities of any kind are especially susceptible—but it’s more likely to “amplify” other effects. How, you might ask? Put simply, people become marginalized (for whatever reason), which leads them into rebelling. Once they begin to rebel against authority, social pressures polarize the reactions of others, causing a “with us or against us” dichotomy. From here, there are a couple of paths, but the outcome is the same either way: the “rebels” tend to become more extreme, more hardened against negative opinion.

Individual rebels

The lone rebel is popular in all forms of fiction. He can appear on either side of a fight, as good or evil or (increasingly) as an anti-hero. For the individual rebel, think of Batman, a vigilante who works in the shadows, following his own moral compass. But also think of the Joker, because he’s no less distant from society.

Individual rebels in fiction tend to be outcasts, if for no other reason than the simple fact that it’s the easiest way to motivate a rebellious character. The orphan turned to a life of crime (or of fighting it), the woman in a man’s world, the racial minority—not just black in a sea of white, but also an elf among humans or the single Earthling in a universe full of aliens—whatever the cause, this character is alone. He has few or no connections to the society around him, so he has no reason to follow its norms, no reason to try to conform.

Loners like this are good protagonists in many stories, and some of my favorite lead characters are of this sort. I’d say that’s true for a lot of people, if the popularity of lone-star action heroes is any indication.

Organizations

It’s usually social factors that create individual rebellion. By contrast, organized rebellion tends to be caused by “the system”. The Rebel Alliance is fighting the Empire. Freedom fighters want to create their own nation where they can live in peace. The faithful are sent by God to wrest control from the heretics running the kingdom. (The savvy reader will note that each of these examples makes the rebels look like the good guys. That’s by design. But you could just as easily invert expectations. After all, the scenarios equally describe the Confederate States of America, the Chechens, and al-Qaeda, respectively.)

Organizations range from the small (a band of anarchists, for example), to the large (national rebellions). At each stage, they can fight for good or bad. The common trait that all of them share, though, is that they all have a “mission”. Why do they fight society? Answer that, and you can better characterize the group. (And that goes just as well for real life, a fact that many people forget.)

Smaller groups tend to be localized. The Thieves’ Guild, a common trope in fantasy, is one example, but any kind of organized crime fits. Assassination plots work, too, as do “heists”. On the side of the good guys, there aren’t a lot of familiar options, unfortunately. Small paramilitary organizations might work, but a band of adventurers (or, in science fiction, the crew of a ship) doesn’t quite fit, unless there’s a very specific reason why they’ve been shunned by society. Of course, it’s possible to make criminal groups sympathetic; look at Robin Hood.

A larger organization, one spanning more than a single locality, is more likely to exist in modern or futuristic settings, as communication over greater distances becomes more practical. Today, we tend to equate “organized rebel group” with “terrorists”, but that’s largely a function of media manipulation. It might be less likely, but it’s no less possible to have a large group of rebels fighting for good. (Again, the Rebels of Star Wars serve as illustration.)

While the lone rebel as a protagonist is a staple of fiction, rebellious groups tend to be the bad guys or, at best, a backdrop. This makes intuitive sense, as it’s awfully difficult to characterize a group from the inside without focusing your attention on a handful of its members. Sure, the good guys might belong to a rebellion, and they might even believe in its cause, but it’s harder to work that into a story, in my opinion.

Let’s make a language – Part 5b: Verbs (Isian)

Verbs, as we have learned, are words of action, and we’ll start taking action on them by looking at Isian. As usual, Isian is the simpler of our two conlangs. Its verbs are fairly straightforward, and they shouldn’t be that hard to understand, even for speakers of English and other morphologically lacking languages.

The stem

Like nouns, Isian verbs start with a stem. This can be any verbal morpheme or (as we’ll see later on) a combination of them. For now, we’ll stick with the simplest form: a single morpheme stem representing a “basic” verb.

Most Isian verbal stems end in vowels, though we’ll see that there are a few very important exceptions. Some examples you’ve already met include coto “walk” and hama “eat”, and we’ll use these as our main running examples.

Tense, aspect, and mood

The three main verbal categories of tense, aspect, and mood are often lumped together, mostly because many languages make a mess of them. Isian is little different in this regard. There are four main verbal forms: present tense, past tense, perfect, and subjunctive.

Past and present should be obvious, even if you’re not a linguist. Perfect is a bit like the English pluperfect (“has walked”, “has eaten”); to a first approximation, they’re essentially identical, but we’ll see differences pop up later on. The subjunctive is a bit harder to explain. Fortunately, we won’t be using it much this time around. For now, just know that it can’t be used for the main verb of a sentence.

Now, this doesn’t mean that Isian has no way of talking about events in the future, for instance. But the language doesn’t mark these finer shades of meaning directly on the verb. Instead, it uses auxiliary verbs, much like English. As an example, nos acts as a future tense marker when placed before a verb: nos coto “he will walk”. We’ll see a whole list of the main auxiliaries in a moment, but we need a quick digression first.

Agreement

One wrinkle of Isian verbs is agreement, also called concord. Each Isian verb takes a specific inflectional ending to mark the person and number of its subject. For example, coto can mean “he walks”, but to say “I walk”, we must use coton. There are four different sets of agreement markers, one for each of the three main persons (first, second, and third), while the fourth specifically marks the first-person plural, equivalent to English “we”. (We’ll say that Isian had plurals in the other two persons, but they’re gone now.)

Thus, we have a total of 16 different verbal forms. That’s way more than the maximum five of English (“eat”, “eats”, “ate”, “eaten”, “eating”), but it’s a far cry from the dozens found in Romance languages. It’s a lot, but it’s manageable. And it all fits into a neat table, too:

chere 1st Sg. 1st Pl. 2nd Pers. 3rd Pers.
Present cheren cherema cherel chere
Past chereta cherenda cherelsa cheres
Perfect cherecan cherencan cherecal cherec
Subjunctive cheredi cheredim cherelde chered

Here, I used chere “see”, but the endings are the same for all regular verbs. The first column is all the first-person singular, so its English translations would be “I see”, “I saw”, “I have seen”, and something like “that I see”. (Subjunctives are hard.) The same follows for the other columns: first-person plural is “we”, second is “you”, and third can be “he”, “she”, “it”, or “they”.

Auxiliary verbs

Most of the other tenses and aspects and moods are constructed in Isian by using auxiliaries, much like English “is”, “has”, “will”, etc. We’ve already seen the future tense nos, but there are a few more that we can introduce.

  • an: A negative marker similar to English “no”: an coto “he does not walk”.

  • cal: A mood marker like “should”: cal coto “he should walk”. (Unlike English, Isian can directly use this with the past tense: cal cotos “he should have walked”.)

  • mor: Mood marker that indicates the ability to act: mor coto “he can walk”. (In the past tense, it’s more like “could”.)

  • sum: Indicates a possibility, like “might”: sum coto “he might walk”.

  • ish: Like sum, except that implies “probably not”: ish coto “he might walk (but he likely won’t)”.

Two particular auxiliaries deserve more than a bullet point. First is ade, which actually functions as its own verb, inflecting for person just like any other, but its tenses have different meanings. In the present tense, it marks an “ongoing” aspect, like the English participle: ade coto “he is walking”. (The main verb, of course, can be in any tense: ade cotos “he was walking”, and so on.)

Put ade in the past tense, and it marks the completion of an action: ades coto “he stops walking”. Again, the main verb can change tenses independently.

Using ade in the perfect creates a “past perfect”: adec coto “he had walked”. Here, it doesn’t really matter whether the main verb is in the present, past, or perfect. The meaning is the same.

The other peculiar auxiliary verb in Isian is par, which marks the passive voice. Passives are complex in many languages, but they’re not that hard to figure out here. We can’t use coto here, because it’s intransitive, and you can’t really make intransitive verbs passive, so we’ll use our other example, hama. An active sentence might be hamata e tema “I ate the food”.

To put this in the passive voice, we do three things. First, the old object becomes the subject; the old subject can be ignored or put in as a prepositional phrase, but we haven’t discussed those yet. Second, we add par before the verb. Finally, we change the verb’s conjugation to match its new subject (the former object). Put all this together, and we get the new sentence tema par hamas “the food was eaten”.

Irregular Verbs

Isian does have a few genuinely irregular verbs. One of these, possibly the most important verb in a language, is the “copula” verb, like English’s “to be”. In Isian, it has the infinitive (or dictionary) form tet, but its conjugation looks like this:

tet 1st Sg. 1st Pl. 2nd Pers. 3rd Pers.
Present en tem il e
Past et eda tel tes
Perfect tec tec kel ec
Subjunctive meyn menim med med

Two other, similar verbs that have irregular forms are sedel “to become” and fer “to seem, look”. For these, we have:

sedel 1st Sg. 1st Pl. 2nd Pers. 3rd Pers.
Present seden sema sedil sede
Past sed seda sedel sedes
Perfect selec selec sedel sec
Subjunctive sidi sidim sid sid
fer 1st Sg. 1st Pl. 2nd Pers. 3rd Pers.
Present fen feter fel fe
Past fet feta fil fes
Perfect fen feter fel fe
Subjunctive safen safim safed safer

If you were actually learning Isian as a real language, you’d probably have to memorize these. Our imaginary Isian schoolchildren would, too.

Vocabulary

Here are a few more verbs that you can play around with. All of these are perfectly regular, following the pattern laid out for chere.

  • to have: fana
  • to come: cosa
  • to go: wasa
  • to drink: jesa
  • to laugh: eya
  • to hold: otasi
  • to hear: mawa
  • to wash: hishi
  • to cook: piri
  • to speak: go
  • to call: tede
  • to read: lenira
  • to write: roco
  • to want: doche

Assembly: back in time

Assembly language, in some form, dates all the way back to the first programmable computers. It started out as machine code, a series of numbers written out and somehow entered into the computer. Soon enough, though, it became a programming language in its own right. Modern assemblers have most of the same features as compilers, and many of them allow you to use macros, constant definitions, and lots of other helpful additions, but the idea is still the same: you’re working with the computer itself, by yourself.

Sacrifices

Using assembly is, in a very real sense, like going back in time. All those things we take for granted in higher languages—functions, classes, even if and while—are lost. If we want them, we have to make them ourselves. Sure, there are standards, and we can use libraries (even those written in other languages), but assembly is…primitive. It doesn’t hold your hand. It doesn’t lead you anywhere. And it’s very much working without a net.

Think of a cabin in the woods. You might go there to relax, to find yourself, to commune with nature, or to plot a string of murders. Assembly, similarly, will make you want to do all these things. (Well, maybe not the murder part. Then again, it can be awfully frustrating.) It’s a return to your roots that appeals to the self-reliant instinct of us all, a programming Walden.

Tools of the trade

Rather than dwelling on what we don’t have when working with assembly, let’s focus on what we do have. There’s not all that much, but remember this: everything we use today is built out of these simple tools.

First, types. Most high-level languages have them. Those that don’t are lying. You typically have various kinds of numbers (integer, floating-point, maybe some higher-precision deal), single characters and strings, and then whatever else the language needs. In assembly, there’s one basic type, the machine word. It’s an integer, the size of which gives us the “bits” of the processor; 64-bit processors have 64-bit words sizes, for example. (Most modern processors have additional support for floating-point numbers, but these are usually kept separate, and lower-end embedded hardware often doesn’t bother.) It’s spartan in the extreme, true, but it’s really all we need, because that same N-bit integer can be used as a number, a character, an index, or a pointer.

Next, assembly language in itself doesn’t have variables (though many assemblers offer a simulation of them), but it does have the register. These are small areas of memory in the innermost core of the processor. They’re ultrafast but truly limited, both in size (almost always a single word) and number. It was a big deal when AMD created their 64-bit extensions to the x86 architecture and added a whopping eight new registers, because that doubled what Intel had offered since the 1980s. The 6502, mainstay of the 80s home computing revolution, managed with only six, and only one of those (the A register) was truly general-purpose. (The others were two index registers—X and Y—a stack pointer, program counter, and status or “flag” register.)

Instead of dedicated control constructs like the for-loop, while-loop, or switch, assembly works on a lower level, using basic instructions. These differ for different architectures, but there are a few that are near-universal. These include arithmetic (adding and subtracting are nearly everywhere, but multiplying and dividing aren’t), bit-twiddling (shifts, AND, OR, and XOR, but also the bitwise rotate, which high-level languages ignore), loading and storing, branching or jumping (conditionally or not), some sort of “indexing” operation, and direct hardware access.

From these little blocks, great things can be accomplished, but it takes time. The tradeoff of development time for execution time is a hard one to make, and it’s almost always uneconomical, which is why assembly is so rare today. But it’s possible and sometimes necessary.

The great divide

Like any movement, assembly language has splintered into two main camps. These are divided on the way an architecture is constructed. Particularly, the sticking point is how many instructions, and of what kinds, are provided. Some like their assembly to be full of features, with instructions for everything (the CISC style). Others prefer a simpler set of building blocks (RISC). The RISC camp has all but won the battle, as most new systems are of that style, and even the CISC holdouts like x86 actually have a RISC core underlying the assembly language that we can access. Still, it’s a good historical footnote, and both sides do have their merits.

To be continued

Next time, we’ll look at an actual assembly language instruction set and architecture. (As of this writing, I haven’t decided which. I’ve narrowed it down to a few possibilities: 6502, early x86, AVR, or MIPS.) I’ll hopefully have links to online assemblers and emulators, so that readers won’t have to download anything. Then we’ll get to see what the old days were really like.

Governments in fiction

I’ll continue this ongoing not-quite-series for another week today by looking at the idea of government and how it is realized in fiction. This time, we almost have to lump science fiction and fantasy in together, simply because they share so many similarities. Most important among those is the fact that they are often (but not always) set in worlds besides our own, in societies besides our own. And a society needs a government of some sort; even true anarchy is, in effect, a form of government.

The rules of rule

Government is as varied as anything in this world. In the modern world, we have representative democracies (like the US is intended to be); parliamentary republics (much of Europe); monarchies (Thailand, Saudi Arabia); juntas (Burma, aka Myanmar); theocracies (ISIS, if you consider them an actual government); and dysfunctional anarchies (Somalia). Go back through history, and you find even more possibilities.

In fiction, though, many of the finer distinctions are lost. Much fantasy tends to go with the most known examples out of the Middle Ages: feudal monarchy, merchant republic, and a distant and inscrutable theocracy. Science fiction set in the future or on alien worlds prefers something more modern: democracy, corporate oligarchy, utopia (either libertarian or socialist), or a distant and inscrutable hive mind.

But there’s more to it than that.

Who rules?

That’s a simple question, but a profound one. Who’s in charge? We have options:

  • A single person: This is true of monarchies, dictatorships, and many theocracies. A single ruler is well-attested in history, from hunter-gatherer chieftains, to the pharaohs of Egypt, through the Chinese emperors, to the French kings and the Arabian emirs.

  • A small group of people: Not necessarily a council, but more of a cabal. They’re usually unelected, and they’re certainly not representative of the people as a whole. An example might be the two consuls of Rome, who had a sort of “power-sharing” system.

  • A larger group of people: Republics and democracies generally have a large government. This isn’t always because of bureaucracy; a system where each representative has N constituents will obviously need more and more representatives as the population grows. Of course, this smaller segment of society can then choose its own government and even a leader. Most modern countries in the West use a system like this, with a president or prime minister leading a larger body.

Why do they rule?

The rule of law is very important, but the reason the rulers are there in the first place shouldn’t be forgotten, either. Again, there are plenty of possibilities.

  • Will of the people: Ideally, this is the goal of representative democracies and republics. People vote for those most likely to support them. We can argue forever about just how effective this is, but the intent is clear.

  • Will of God: Leaders can claim their position is the result of divine will. Theocracies, quite obviously, follow this method, but medieval kings and emperors in West and East claimed the same thing. The coins of many countries in the British Commonwealth still bear an inscription that translates to “By the grace of God, Queen”, even if nobody really believes that anymore.

  • Family connections: Inheritance of rule was (and is) common in the world. Thrones and seats can be passed from father to son, mother to daughter, or any other relation. And nepotism remains a factor in any position of power. (There’s a reason why Jeb Bush and Hillary Clinton are two of the current election favorites in the US as I write this.)

  • Cold, hard cash: If you can’t get elected, you don’t know the right people, and God won’t help you, you can always buy your way in. Rule by the rich is a hallmark of feudalism and merchant republics alike, but oligarchs are the secret power in many countries today.

How do they rule?

This one’s a lot harder to break down into bullet points. How do your rulers rule? Do they have a codified set of laws, like the US Constitution? Or do they turn to holy scripture (or some facsimile thereof) for laws, morality, and punishment? Or is it simply power, the idea that might makes right?

A “lawful” system like those of most republics, democracies, and similar governments of today gives us a way to change the system from within. The Constitution can be amended, for example. And the turnover inherent in an electoral government means that outmoded ideas eventually get cast aside.

On the other hand, a theocratic system is, by definition, conservative. I don’t mean the political notion of conservative, here, but a philosophical one. Holy books can’t be changed, only reinterpreted, but there are some passages in every scripture that are all but absolute. There aren’t too many ways to read “Thou shalt not kill,” after all. (I don’t think there are too many ways to interpret “the right to keep and bear arms shall not be infringed,” either, but some disagree.)

Similarly, a government ruled by the powerful will tend to be conservative, simply because those in charge don’t want to change things enough to put themselves on the outside. Military conquerors and coups don’t like to reinstitute elections, and corporate overlords aren’t going to allow a higher corporate tax. Power takes care of itself, and a more pessimistic person might say that’s the general tendency of all governments. But that’s a different post.

Far-fetched

Really, like I’ve said in many other posts, the best way to make your fictional culture more realistic is to work it out. Using logic, common sense, and the knowledge at everyone’s fingertips, you can figure out just what kind of society you’re making and how it relates to the ones we know.

Government has its reasons for existing, no matter what you might think of it. Those reasons will be the subject of a future post, but you can probably think of a few of them right now. Think of the three main questions I’ve asked so far. Who rules? Why are they the ones in charge? And how do they stay at the top? Answer those, and you’re well on your way to a properly realistic solution.

Let’s make a language – Part 5a: Verbs (Intro)

Last time around, we talked about nouns, the words of people, places, and things. This post will be the counterpoint to that one, because we’re going to look at verbs.

Verbs are words of action. They tell us what is happening. We might walk to the bathroom or drive to the grocery store, and verbs are the words that get us there. But they can also help describe what we are (“to be”), what we possess (“to have”), and what we do (“to do”), along with many other possibilities. Where a noun is an object or an idea, a verb is an action or a state of being.

Just like nouns, every conlang is going to have verbs (except those specifically designed to avoid them, and they do exist). And just like nouns, they have a lot of grammatical baggage. In inflectional languages, verbs will likely have a variety of forms (think of Latin’s verb conjugations). Isolating languages, by contrast, might have verbs that are constant, but they may be able to string them together in such a way that they can create the same shades of meaning. As before, the type of conlang you want to make will influence your verbal structure, but the basic idea of “verb” will remain the same.

Parts of a verb

Where the different categories for nouns are largely concerned with identifying a specific instance of something, verbal categories are more focused on the circumstances of the action in question. The most widely recognized of these include transitivity, tense, aspect, mood, and voice. Below, we’ll look at each of these in turn.

First, though, we need to decide what kind of word the verb will be. This will depend on your conlang, and it will follow the same general pattern as the noun. Isolating languages won’t have a lot of verbal morphology, relying instead on a lot of adverbs, adjectives, and preposition-like phrases, or just more than one verb in a phrase (“serial” verbs). More polysynthetic languages, on the other hand, will tend to concentrate a lot of information in the verbal word itself; agglutinative conlangs will likely have a series of affixes, leading to long words, while inflectional types will instead have fewer affixes each with more permutations.

Second, we need to know a little bit about verbs in relation to nouns. A typical sentence in most languages will have a single verb that acts as the “head”. For our running example, we’ll use the ridiculously simple English sentence the man drives a car. Here, drives is the verb, and you can see why it’s considered the head. Change the verb, and the whole meaning of the action changes as a result. If we say pushes instead, then the man probably ran out of gas. Say steals, and now he’s a thief.

Verbs, like people, have arguments. Here, the term “argument” just means a phrase that’s directly connected to the verb in some way. Our example has two arguments: a subject (the man) and a direct object (a car). If you remember when we were talking about noun case, well, that’s what some of the cases are for. The nominative and accusative (or ergative and absolutive, if you swing that way) basically represent the two main arguments of a verb, subject and object, while the dative indicates the indirect object. (Other cases, like the ablative, aren’t for verbal arguments, so we’ll mostly ignore them here.)

Transitivity

The idea of transitivity isn’t one that most people think about after high school English classes, but it’s central to the construction of a verb. A transitive verb has two arguments (subject and direct object), while an intransitive verb has only one. That would be simple enough, except for the exceptions.

Few languages directly mark transitivity. Some, like English, almost ignore it. Mostly, though, there might be a special verb form to temporarily change transitive to intransitive, or vice versa. Something like this can be seen in Spanish, where a number of intransitive-looking verbs actually have a direct object, typically a reflexive pronoun like se.

If that wasn’t bad enough, there are a few verbs that don’t really fit in the transitive dichotomy. The most important of these is give, which (in many languages) takes not two but three arguments. (This is where the dative comes into play, if the language has one.)

And then there are the “impersonal” verbs, which effectively have zero arguments. Weather verbs are the most common of these. Where English uses a dummy subject (it’s raining), Romance languages can just say the verb itself (Spanish llueve).

Tense

Tense describes when an action takes place in relation to outside events. Obviously, there are three main possibilities: past, present, and future. Not all languages use these, though. English, technically speaking, only has a grammatical distinction between past and present; the future tense is just a present-tense verb preceded by the auxiliary will. And this is a fairly common arrangement. Others prefer having three explicit tenses, while a few (such as Chinese) don’t really mark tense at all on the verb.

So, when we have tense at all, past and present are usually in, and future slides in there occasionally. What else is possible? Well, a few have the opposite distinction as English, marking the past and present the same, but future differently. Another option is to add tenses, splitting either the past or future into more than one. Plenty of real-life languages do this, although probably not any you’ve ever heard:

  • Cubeo (an Amazonian language) is one that has a “historical” past tense used for events long ago.
  • The Bantu language Mwera has a tense specifically for “today”.
  • The language of the Western Torres Strait Islanders, known as Kala Lagaw Ya, is said to have six tenses, with a present, “near” and “far” versions of past and future, and a “today” past tense.
  • A few languages, mostly in Africa, have special verbal forms for “yesterday” and “tomorrow”.

In our example, we’re talking in the present tense, but we can change it to the past by saying the man drove a car. That doesn’t tell us when he drove it, only that he did at some point before now.

Aspect

Where tense is concerned with an absolute fixing in time of an event, aspect tells us more about the “internal” structure. Is the action complete? Is it still ongoing? Did it just start? These are the questions aspect answers, and it turns out that there can be a lot more of them than you might think.

The first distinction, the most basic and most common, is between events that are complete or ongoing. In linguistic terms, these are the perfective and imperfective, respectively. Taking our example sentence (we’ll need to switch it to the past tense for this, but bear with me), we have the perfective the man drove a car versus the imperfective the man was driving a car. As you can see, the later fixes the “reference point” of the sentence inside the action, while the perfective version looks at the act of driving from the outside.

There are dozens of aspects, but most languages don’t directly mark more than a handful. Perfective and imperfective are common, but they’re sometimes mixed with tense, too. That’s the source of the English perfect and pluperfect, which are kind of like crossing the past tense and perfective aspect, but the result can be treated as any tense: the man has driven/had driven/will have driven a car.

Wikipedia has a long list of aspects seen in various languages, but remember that many of these are restricted to just a very few languages.

Mood

Mood (or “modality”, a more technically nuanced term) talks about how a speaker feels towards the event he’s talking about. Is it a statement of fact? A command? A wish?

Moods probably aren’t marked quite as much as tense and aspect, but a few of them cross paths with those two in some languages. The subjunctive mood (which can be used for hypotheticals, opinions, desires, etc.) shows up in English, although it’s starting to disappear in the spoken language. In Romance languages, though, it’s still going strong. Imperatives, marking commands, are found in most languages, and they often have their own morphology.

The other moods don’t show up on verbs quite as often. Some languages have an optative mood specifically for hopes and dreams, wishes and desires. Arabic has the jussive, which is a kind of catch-all mood like the subjunctive. A few languages have a special mood marker for questions, for conditions, and for events that the speaker thinks are likely to occur.

As English doesn’t really have morphology for moods, our only change to the example sentence is the subjunctive that the man drive a car, which sounds overly formal, maybe even archaic.

Voice

Voice is a way to describe the relation between the verb and its arguments. The active voice is the main one, and it means that the subject is the main “doer” or agent, while the direct object (if there is one) is the “target” or patient.

The passive voice is a common alteration. Here, the subject and object switch places. The object becomes the subject, but it’s still the patient. The former subject is demoted to a prepositional phrase (or the language’s equivalent), or it’s dropped altogether. In our English example, we would have a car was driven. (Passives in English, incidentally, have an air of formality to them. It’s popular in business specifically because it de-emphasizes the subject, which minimizes liability.)

Some languages have a middle voice, where the subject is a little bit of both agent and patient. English doesn’t have this, but it can almost emulate it: the car drove. Obviously, in that sentence, the car isn’t driving something. In a sense, we’re saying that it’s driving itself, but that’s not exactly the middle voice, either. That would be the reflexive, which appears in a few languages.

Other moods include the antipassive (where it’s the object that gets dropped, instead of the subject), the applicative, and the causative. None of these are really present in the languages we’re most familiar with, but they pop up all over the world.

Odds and ends

All this, and we still haven’t touched on things like the infinitive, the gerund, and other miscellany. Well, this post is already getting pretty long, so we’ll look at those as they come up. They’re mostly concerned with larger phrases, anyway, and we haven’t even started on those.

Next time, we’ll look at how Isian and Ardari make their verbs. Along the way, we’ll cover some of the bits left out of this post, like grammatical concord. After that, our next topic will be word order, which means we can finally make a sentence in each of our conlangs.

Assembly: back to basics

When it comes to programming languages, there are limitless possibilities. We have hundreds of choices, filling just about every niche you can think of. Some languages are optimized for speed (C, C++), some for use in a particular environment (Lua), some to be highly readable (Python), some for a kind of purity (Haskell), and some for sheer perversity (Perl). Whatever you want to do, there’s a programming language out there for you.

But there is one language that underlies all the others. If you’ll pardon the cliché, there is one language to rule them all. And that’s assembly language. It’s the original, in a sense, as it existed even before the first compilers. It’s the native language of a computer, too. Like native languages, though, each computer has its own. So we can’t really talk about “assembly language” in the general sense, except to make a few statements. Rather, we have to talk about a specific kind of assembly, like x86, 6502, and so on. (We can also talk about “intermediate languages” as a form of assembly, like .NET’s IL or the LLVM instruction set. Here, I’ll mostly be focusing on processor-specific assembly.)

The reason for assembly

Of course, assembly is the lowest of low-level languages, at least of those a programmer can access. And that is the first hurdle, especially in these days of ever-increasing abstraction. When you have Python and JavaScript and Ruby, why would you ever want to do anything with assembly?

The main, overriding purpose of assembly today is speed. There’s literally nothing faster. Nothing can possibly be faster, because everything basically gets turned into assembly, anyway. Yes, compilers are good at optimizing. They’re great. On modern architectures, they’re almost always better than writing assembly by hand. But sometimes they aren’t. New processors have new features that older compiler versions might not know about, for example. And high-level languages, with their object systems and exceptions and lambdas, can get awfully slow. In a few cases, even the relatively tiny overhead of C might be too much.

So, for raw speed, you might need to throw out the trappings of the high level and drop down to the low. But size is also a factor, and for many of the same reasons. Twenty or thirty years ago, everybody worried about the size of a program. Memory was much smaller, hard drives less spacious (or absent altogether, in the earlier days), and networking horrendously slow or nonexistent. Size mattered.

At some point, size stopped mattering. Programs could be distributed on CDs, then DVDs, and those were both seen (in their own times) as near-infinite in capacity. And hard drives and installed memory were always growing. From about the mid 90s to the late 2000s, size was unimportant. (In a way, we’re starting to see that again, as “anti-piracy” measures. Look at PC games that now take tens of gigabytes of storage, including uncompressed audio and video.)

Then, just as suddenly, size became a big factor once again. The tipping point seems to be sometime around 2008 or so. While hard drives, network speeds, and program footprints kept on increasing, we started becoming more aware of the cost of size. That’s because of cache. Cache, if you don’t know, is nothing more than a very fast bit of memory tucked away inside your computer’s CPU. It’s way faster than regular RAM, but it’s much more limited. (That’s relative, of course. Today’s processors actually have more cache memory than my first PC had total RAM.) To get the most out of cache—to prevent the slowdowns that come from needing to fetch data from main memory—we do need to look at size. And there’s nothing smaller than assembly.

Finally, there are other reasons to study at least the basics of assembly language. It’s fun, in a bizarre sort of way. (So fun that there’s a game for it, which is just as bizarre.) It’s informative, in that you get an understanding of computers at the hardware level. And there are still a few places where it’s useful, like microcontrollers (such as the Arduino) and the code generators of compilers.

To be continued

If you made it this far, then you might even be a little interested. That’s great! Next week, we’ll look at assembly language in some of its different guises throughout history.

Writing inertia

It’s a well-known maxim that an object at rest tends to stay at rest, while an object in motion tends to stay in motion. This is such an important concept that it has its own name: inertia. But we usually think of it as a scientific idea. Objects have inertia, and they require outside forces to act on them if they are to start or stop moving.

Inertia, though, in a metaphorical sense, isn’t restricted to physical science. People have a kind of inertia, too. It takes an effort to get out of bed in the morning; for some people, this is a lot more effort than others. Athletic types have a hard time relaxing, especially after they’ve passed the apex of their athleticism, while those of us that are more…sedentary have a hard time improving ourselves, simply because it’s so much work.

Writers also have inertia. I know this from personal experience. It takes a big impetus to get me to start writing, whether a post like this, a short story, a novel, or some bit of software. But once I get going, I don’t want to stop. In a sense, it’s like writer’s block, but there’s a bit more to it.

Especially when writing a new piece of fiction (as opposed to a continuation of something I’ve already written), I’ve found it really hard to begin. Once I have the first few paragraphs, the first lines of dialogue, and the barest of setting and plot written down (or typed up), it feels like a dam bursting. The floodgates open, and I can just keep going until I get tired. It’s the same for posts like this. (“Let’s make a language” and the programming-related posts are a lot harder.)

At the start of a new story, I don’t think too much. The hardest part is the opening line, because that requires the most motivation. After that, it’s names. But the text itself, once I get over the first hurdles, seems to flow naturally. Sometimes it’s a trickle, others it’s a torrent, but it’s always there.

In a couple of months, I’ll once again take on the NaNoWriMo (National Novel Writing Month) challenge. Admittedly, I don’t keep to the letter of the rules, but I do keep the original spirit: write a novel of 50,000 words in the month of November. For me, that’s the important aspect. It doesn’t matter that it might be an idea I already had but never started because, as I said, writing inertia means it’s difficult for me to get over that hump and start the story. The timed challenge of NaNoWriMo is the impetus, the force that motivates me.

And I like that outside motivation. It’s why I’ve been “successful”, by my own definition, three out of the four times I’ve tried. In 2010, my first try, I gave up after 10 days and about 8,000 words. Real life interfered in 2011; my grandfather had a stroke on the 3rd of November, and nobody in my extended family got much done that month. Since then, though, I’m essentially 3-for-3: 50,000 words in 2012 (although that was only about a fifth of the whole novel); a complete story at 49,000 words in 2013 (I didn’t feel the need to pad it out); and 50,000 last year (that one’s actually getting released soon, if I have my way). Hopefully, I can make it four in a row.

So that’s really the idea of this post. Inertia is real, writing inertia doubly so. If you’re feeling it, and November seems too far away, find another way. There are a few sites out there with writing prompts, and you can always find a challenge to help focus you on your task. Whatever you do, it’s worth it to start writing. And once you start, you’ll keep going until you have to stop.