Steven D. Brewer

← Home About Archive Photos Replies Subscribe Also on Micro.blog
  • Using a Text Editor for Writing

    odd typewriter word processor hybrid manufactured by Canon in the early 1980s. It has a lcd display where someone has typed

    I use a text editor for pretty much all of my draft writing. I can date this pretty much to 1993, when Microsoft Word 6.0 was released. It really sucked and, after many years of using a word processor, I quit using one for writing.

    I did most of my early writing by hand or using a typewriter. I took “secretarial typing” in high school — they changed the name that year to “business typing” which was perceived as less sexist. I was the only boy in the class. There was a “personal typing” class that required students to learn to type 45 words per minute. But in secretarial typing, you needed to learn touch typing (to not look at the keyboard) and type 60 words per minute. It was perhaps the single most useful class I ever took in my life.

    I also learned to use DEC computers with a paper terminal in high school. Mostly, I was programming in BASIC. There was rather crude text editing, but I could see the potential for writing text. There was a text formatting program called RUNOFF that I experimented with a little bit, but it was too complicated for my purposes and so I never actually used it for anything. But I could see the potential.

    When I went to college, my family purchased a Smith Corona electric typewriter for me as a gift for going to college.

    As an undergraduate, I learned to use a word processing system — maybe ALL-IN_1 — on the VAX computer at Alma College. It used a “gold key” to access formatting commands and you could do a lot of amazing things. I had been using my typewriter to write papers, but quickly switched to writing everything using the word processor.

    Around that time, a friend kept asking to borrow my typewriter. I didn’t mind since it wasn’t like I used it anymore: once you got used to using the word processor, the idea of going back to using a typewriter was a monstrous impossibility. I kept suggesting that he learn to use the word processor, but he always claimed to not have time. So I finally said I would type his paper for him using the word processor.

    There was a central terminal room, but we went to a small computer lab in the life science building. I logged in and quickly typed his paper. Then I printed it using the dot-matrix printer in the lab. He looked at it skeptically, then said, “Yeah. OK. But it has a widow.”

    “Let’s fix that,” I said. I typed a few keystrokes and printed again. When I handed him the output, his eyes got bigger and bigger and bigger.

    “You can print it again?” he breathed.

    He got an account the next morning.

    I had other computers along the way (including the odd typewriter/wordprocessor hybrid pictured above) but when I started graduate school, I bought a Powerbook 100 and a copy of Microsoft Word 5.1. It was amazing. It was perhaps the best word processing system I ever used. I used it to write all my papers as a graduate student, including my gigantic 200 page dissertation that had 88 figures and 15 tables.

    Then Word 6.0 came out and it was garbage. It was clunky and unstable. It frequently crashed and you lost what you’d been working on. Its documents frequently became corrupted and were unrecoverable. I kept using my old copy of Word for a while, but it was clear its days were numbered. So I switched to doing all of my draft writing using a text editor — so at least I wouldn’t lose my writing.

    On a Mac, the best GUI text editor for a long time was BBEdit. I used that for a number of years, then (when it quit being shareware) I switched to TextWrangler.

    Note: I’m leaving out the whole chapter where I learned Unix and the vi editor. I used vi a lot for programming, but there wasn’t a native vi for classic MacOS, so it wasn’t something that was convenient to use for local files until MacOS X came out. So, although I use vi a lot, I never used it much for writing.

    When I began teaching the writing class, at first I chose different packages for Macs and PCs. Then I started using Linux myself and started looking for applications that would work identically on all three platforms. Eventually, I settled on Atom, which was released in 2015 and I started using that.

    Atom was an adequate text editor. It was built on Electron, which made it a bit bloated and clunky. But it worked exactly the same on all three platforms. It was also highly configurable and had a lot of community add-ons to provide additional functionality.

    In 2018, Microslop purchased Github, and in 2022 killed off development of Atom — probably to force people to use their proprietary development environment. But, because Atom was Free Software, the developers promptly forked it and renamed it Pulsar. It works exactly like Atom did and I still use it today.

    I had very little success persuading students to use a text editor to write. And I didn’t see many other people using text editors either until this year. Suddenly EVERYONE seems to be using text editors to write. Weird. I guess everything old is new again.

    A bunch of people seem to be using Obsidian. Tobias Buckell described building a whole writing environment based on Obsidian. Other people are using Notion and NotebookLM and there are a bunch of others.

    I’ll keep using Pulsar, at least until I finish teaching the writing class. Then, maybe, I’ll look at others to see if I can find something I like better. But I’ll still want something that is Free Software and cross platform.

    → 1:54 PM, Mar 26
  • A Much Needed Spring Break

    crocuses

    When I was the Director of the Biology Computer Resource Center, Spring Break was just a chance to get caught up with software and hardware updates. Since then, I’ve used it to accomplish significant bits of writing. This year, however, I really needed the break. And I took full advantage.

    I used my time for self-care. I slept a lot. I got in a lot of walking. I hung out a friend on the patio. It took some time, but I finally started to feel like myself again.

    For the first time since December, I felt like I could write some fiction. I wrote a short story, A Persistent Curse, and submitted it for publication.

    With his paws on the back of the sofa, Makul poked his nose through the curtains and looked out. A misty drizzle was falling — it always rained when the curse was bad. The raindrops passed through an assemblage of shadowy spirits clustered just outside the window trying to get in. 

    Makul waited, watching, until she came around the corner: a short, wizened crone with a dowager’s hump who shuffled along with a stick to hold her up. She gathered her black shawl around her shoulders as she hobbled around the corner and into the shade from the lone cloud that hovered over the apartment building. Her mouth made a hard line when she looked at the building and saw the swarm of spirits jostling around the first-floor apartment of her grandson.

    “Tiom da fantomoj!” she muttered. “The curse is bad this morning.”

    It was rejected. But at least I feel like I have some creative energy again. It was a long dry spell.

    I’m still getting some extra Tanuki time. But little by little, things are returning to baseline.

    I remind myself that it’s my last Spring Break. This is my last semester as an active faculty member. I’m trying to be particularly cognizant of the milestones and rhythm of academic life as I experience them for the last time.

    In any event, today is the last day. Tomorrow, the students come back and on Tuesday I’ll start teaching again. I have a fair amount of grading I’ve been putting off — and my regular service commitments this week: Faculty Senate and Rules Committee.

    Once more unto the breach, dear friends!

    → 3:42 PM, Mar 22
  • Languages of Tsukimichi

    A graphic for Chapter 10 of Tsukimichi, 10th Night: Language Barrier, showing the protagonist reciting a tanka remembering his first encounter with a hyuman:
the first human
that I've met
in this other world
screamed
and ran away

    I read a chapter or two of a manga a couple of years ago and, at the time, it didn’t grab me enough to keep reading it. But my son wanted me to try an anime he liked and, after an episode, I realized it was the same one: Tsukimichi: Moonlit Fantasy. After watching a few episodes, I decided to read the manga, Tsuki ga Michibiku Isekai Douchuu. (I have not read the light novel, though it might be interesting to do so.)

    I mentioned to Philip that I was watching the anime. I said something like, “It’s an isekai about a guy who is dropped into a kind of wasteland. He makes some powerful allies and things just go pretty well for him.”

    “It sounds like slime,” he said, meaning That Time I Was Reincarnated as a Slime.

    “It is!” I said. “It’s exactly like slime! But completely different.”

    What I really want to write about, however, is how Tsukimichi manages representing different languages. I’m not sure I’ve ever seen a manga that tries to manage so many languages like this.

    The protagonist, Makoto, is picked up from Japan (where he spoke Japanese) and is sent to the other world where he meets with the “goddess” who is repulsed by his ugliness. She banishes him to the “edge of the world” but gives him “the ability to understand what demons, monsters, and other non-human races say”, but not to speak the “hyuman” language.

    The Edge of the World is a wasteland inhabited by powerful monsters where hyumans (people) rarely go. And, sure enough, he can seamlessly communicate with monsters and a girl orc that he encounters there. She is rather puzzled that a (seeming) hyuman can speak her language. When she teaches him magic, she apologizes that the chant “isn’t in orcish”. It’s represented in the manga with some weird script.

    The protagatonist reciting an incantation

    You don’t learn the background of what the script actually represents for another hundred chapters. But this is one of the ways that other languages are represented.

    When Makoto first encounters hyumans, their speech is represented in a different odd script and (as the goddess had said) he can’t understand them and they can’t understand him. (He writes a tanka about it — see the top graphic above and read the alt text for the translation of the tanka.)

    He subsequently discovers that basically everyone can speak a “common tongue” — except him. Even when he studies it, although he gets so that he can understand it, he can’t make himself understood by speaking. But he discovers he can generate written speech with magic that people can see and read.

    In this graphic, you can see the protagonist using the written speech that someone can see. But you can also see a speech balloon with a doubled line that is a horse (actually a kind of monster called a “bicorn” hiding its two horns) that is talking to him in a language that others can’t read, represented with the doubled line — what others can hear “buhii”. And then his thought balloon with the hashed outline.

    A little girl explains the common language to Makoto. She says its a blessing of the goddess that people receive after visiting a shrine. It makes it seem like she considers it something separate from just learning a language as a child. But her description makes it seem indistinguishable from just learning a language as a child. The demihumans, who lack the blessing of the goddess have to learn it in addition to their native language. But basically all of them seem to do so.

    As an aside, I would be interested to learn more about the common language. It seems like it could be Esperanto-like. But we really haven’t learned much about it at this point or why hyumans don’t have separate languages or even regional variation. In Japanese, of course, there are a lot of regional variants (e.g. Kansai and Osaka-ben).

    In the end, he needs to address most hyumans using magic writing. But he discovers an alchemist who can speak an “ancient language” (normally used for spellcasting) and can speak with them. He can also speak with demons and all of the demihumans, including bicorns (pictured above), werewolves, forest ogres, etc. There are a vast number of different kinds of demihumans.

    In addition to speech, some characters can use telepathy with the protagonist. This one is a bit complicated but represents the linguistic complexity being represented pretty well. Read top-to-bottom, right-to-left.

    First, the upper panel. The first statement, “They even had quite the fanbase in Tsige” is a telepathic communication by an interlocutor (not the person represented in the panel). The statements, “Aqua-san went to Rotgard?! Our Eris-sama!!” are comments made by those people in the common tongue, but recollections — not part of the current conversation. Makoto says, “And won’t fans be sad about their departure?” is a telepathic communication from him that is part of the conversation.

    In the lower panel, Eris (a demihuman forest ogre) is speaking the common tongue (which you can tell by the font), to which Makoto replies in the forest-ogre language. Then Makoto switches to using a new form of secure telepathy that Eris can’t eavesdrop on, which is identified by the thick black inner border.

    There are also a number of nods to Japanese. The only characters that can speak Japanese are Makoto and his contracted magical servants, that gain it through their connection with him — plus two other characters that were isekaied from Japan. One of his servants is a dragon who decided to contract with him after studying his memories and becoming fascinated with period dramas. She styles herself as a samurai and adopts various aspects of samurai dress and speech (using “washi” instead of “watashi” as a pronoun, for example.) Another older, more powerful dragon, is revealed to have lived with a previously isekaied person who has since passed away. They haven’t yet had that character speak Japanese, but I’m looking forward to it.

    It’s a charming story and I’ve enjoyed reading it so far. I’m looking forward to further releases as they become available.

    → 11:55 AM, Mar 20
  • When the Well is Dry

    Geyser

    Since December, I’ve basically not written any fiction. I’ve written a few blog posts and managed to keep up with my class — checking my students’ writing and making comments on their papers. But I’ve barely been able to write fiction.

    I learned long ago that my creative output is unpredictable. And I generally don’t really worry about it. I know that it will bounce back in time. But it’s still no less frustrating when I try to do some creative writing and the words just aren’t there.

    I did manage to write a haiku today. And tonight, I did got a few manuscripts that had been previously rejected back out to calls for submission.

    It’s been a discouraging year.

    I understand why so many people drop out of trying to get their work published. It’s easy to get depressed and lose hope when your work gets rejected over and over and over again. But this is not my first rodeo.

    I know that at some point, the words will come. And, like a geyser, they’ll come pouring forth so fast I’ll be hard pressed to get them down as they come spraying out.

    Until then, I just need to hang on.

    → 8:45 PM, Mar 10
  • War, by any other name, still stinks

    pepper box

    Like most, I was astonished when my country performed an unprovoked military attack on another country. My initial reaction was to note that every journalist had pulled out a thesaurus to look for synonyms for “war” because in the United States, according to the constitution, only Congress could declare war and no such declaration was made.

    Since then, I’ve watched with horror as my country assassinated the leaders of the other country and committed war crimes by attacking water supplies and sinking unarmed naval vessels. It’s appalling.

    I was hopeful that Congress might actually develop a spine and reign in the brutal madness of this administration. But no such luck.

    As I said on Mastodon, I am anti war, but not just anti war:

    Post by @stevendbrewer@wandering.shop
    View on Mastodon

    The Iranian regime has been a disaster for the region since the United States destabilized the democratically elected government in 1953. The puppet government the CIA installed oppressed and tortured people and precipitated the Iran revolution. The fundamentalist Islamic government took over the US embassy, oppressed women and minorities, and has worked to destabilize the entire region, funding militia groups and supporting terrorism.

    Personally, I think it’s most likely that destabilizing Iran will prove to be disastrous. At best, we’ll end up with a strongman bent on revenge. At worst, a failed state with warring groups that align with different regional powers where fighting spills out across the entire region.

    Another likely possibility is that we get someone who says the things that Trump wants to hear. Some people might take that as evidence that Trump’s intervention was “successful.” I think that’s not the right lesson.

    Trump is good at getting people to say things that aren’t true. This sometimes make it seem like he’s being more successful than he actually is. Getting people to say something is one thing, but what they actually do when they’re seething, is likely quite different. But we won’t see the effects of that immediately.

    The other related thing is that we don’t have any journalists anymore. So, irrespective of the facts on the ground, we may well only see reporting that gives the impression his intervention was successful.

    I still think that’s the least likely scenario. Far more likely is that we’ve bought ourselves another “forever” war and it will take a generation to extricate ourselves from trying to provide security for the region. And, in the meantime, we’ve dramatically increased the value of the oil that both the US and Russia produce. That’s probably what this is really all about in the first place.

    → 8:09 PM, Mar 7
  • Oni Diras Nun! A Tabloid for Esperantujo

    an image of Källë Kniivilä, Tutmonda Ĵurnalisto, photoshopped in front of some building — in England, if I recall correctly — wearing a Carmen Miranda hat with a weasel riding a woodpecker on top.

    In 2007, when I was still engaged with US Esperanto movement, I decided that what it needed was a tabloid newspaper to share fantastical stories about Esperanto personalities and events. I persuaded a couple of people to help (mostly Philip Brewer and Robert Read) and we produced a one-off newsletter — printed appropriately on tabloid paper — to hand out at the Landa Kongreso in Tijuana. We did it a few more times — in 2009 and 2013. I don’t know that it ever gave anyone more than a chuckle. But we had fun doing it.

    I called it Oni Diras Nun! (or ODN for short.) This translates roughly as “one is saying now” but an onidiro is a rumor, so it has a tongue-in-cheek meaning more like “current rumors”. I hacked together a logo that shows the face of a prominent Esperanto journalist speaking into the ear of Zamenhof (the creator of Esperanto).

    I hacked together a website for it. Eventually, however, the website quit working. Recently, I saw something that reminded me of it (an artist, Jason Chou is photoshopping Paddington Bear into everything imaginable. In ODN, I photoshopped a picture of a friend into a whole variety of unlikely places.) So I decided to take a few minutes to at least post a page that recovered the links to the PDFs of the issues — which never really left the Internet. So, for everyone (Anyone? Anyone?) who’s interested, here is OniDirasNun!

    Highlights include:

    • The face of Zamenhof on toasted bread — but unfortunately the face of Felix Zamenhof, which limited its potential value.
    • The presidents of Esperanto associations who form a committee to consider the possibility of doing something.
    • A local Esperanto group success story from Champaign, Illinois.
    • An article about a memorial toilet seat where a local Esperanto group has met.
    • “Are Language Rats Human Rats?” (In Esperanto the words for “rats” and “rights” look similar).
    • The largest Esperanto library that you can never visit (the NSA’s archive of intercepted communications.)
    • Källë Kniivilä Worldwide Journalist (pictures showing an Esperanto journalist photoshopped into various fantastical locales).

    We did have one more issue planned that was going to include La Ligo de Esperantaj Senmortuloj — an imaginary league of immortal Esperantists who had gone by various names over the century of Esperanto’s existence. But I got busy and my enthusiasm for Esperanto waned, so that issue never saw the light of day.

    → 1:09 PM, Feb 28
  • Hash-browned Potatoes

    A russet potato and grater.

    I’ve always loved hash browns. It’s perhaps my favorite way to eat potatoes. I don’t really like mashed potatoes (though they’re edible with enough gravy). And, as far as I’m concerned, you can discard the potato part of a baked potato because I really only like the skin. But hash-browned potatoes are special.

    I tried making them a few times years ago and failed pretty utterly. Then I discovered a boxed brand of dehydrated potatoes that worked OK. They weren’t great, but it was better than nothing. Then the grocery store quit carrying that brand. So I broke down and actually looked at some recipes for hash browns. Using those, with several rounds of experimentation, I’ve developed a set of heuristics that works pretty well for making hash browns the way I like them.

    Grating a hemispherical band around the potato.
    Grating around the potato.
    Grating along the long axis of the potato.
    Grating along the long axis.
    Rinsing the grater and filling the bowl of grated potatoes with water.
    Rinsing the grater and filling the bowl.

    I’ve tried several varieties of potatoes and found that russets seem to the best for hash browns. The others have a tendency to become mushy. Nobody likes mushy hash browns.

    I have this ancient grater that works, but requires a few tricks. I start by grating all around the potato, to make a band around the potato. Then I rotate the potato and grate along the longest edge, periodically switching which direction I’m grating to grate the potato evenly. This gives nice long strips of potato. Eventually, I turn the potato on its end and grate it down to a tiny bit of skin.

    Note that I include the skin in my hash browns. Some weirdos might like to peel the potato before grating it, but for me the skin is the best part.

    Once the potato is grated, I fill the bowl with water (which is a convenient way to rise the rinse the grater. Then I add a fair amount of salt to the water. I probably should measure how much salt I use sometime. I’m not sure it really matters all that much. Most of the salt is lost when you drain the potatoes. But I think increasing the osmolarity of the water causes the potatoes to lose water, which makes them taste better.

    Grated potatoes spread out in a cast iron skillet.
    Spreading out the potatoes.
    Hash browned potatoes with melted cheese on top.
    Melting cheese on top after turning.

    Once the potatoes are soaking, I pour a bit of canola oil into the cast iron skillet and start heating it up. I use medium heat (6/10 on my dial). As the skillet heats up, I drain the potatoes into a colander. Once the oil is hot, I spread the potatoes out in the skillet.

    I let them cook until they’re brown on one side (5-10 minutes) then flip them over, usually in two portions. Rather than timing, I tend to cook them until I see and smell that they’re browning. Probably actually timing things would be better, but I’m not that kind of cook.

    I usually like to melt some cheese on my hash browns. I sometimes joke that this is how I make my vegan hash browns non-vegan. There are other ways you could make them non vegan: e.g. use butter or bacon grease instead of canola oil. Or make breakfast stew.

    Maggot's Breakfast Spew: a plate of hashbrowns with scrambled eggs, sausage, and bacon.

    A restaurant in Southwest Michigan I used to frequent in graduate school made a dish called “Maggie’s Breakfast Stew” which is easy to make at this point. Rather than adding cheese, just throw in some diced sausage, bacon bits, and two eggs, then scramble. I think they also added onions and green peppers, but I think it makes the dish a little wet. You can add cheese at the end too. Or not. It’s not going to be vegan either way.

    I used to call it “Maggot’s Breakfast Spew” because it’s not a very pretty dish. I imagined they kept these giant caterpillars in the kitchen that would eat the ingredients and then they would squeeze them out into the pan to cook the dish. I have a very vivid imagination.

    Maggie’s is also where I learned to make a so-called Mexican omelet, but that’s a recipe for another day.

    Anyway, that’s how I make hash browns. Enjoy!

    → 10:06 AM, Feb 22
  • The Language Game: AI Edition

    NPR headline: ChatGPT promised to help her find her soulmate. Then it betrayed her

    I find it intensely annoying when people ascribe intelligence, or intentionality, to statements by AIs (i.e. Large Language Models). In today’s example, a writer said that an AI “betrayed” someone. This kind of statement is a category error. It projects intelligence onto a system that, though facile with language, does not in fact engage in human reasoning at all. It just makes pronouncements that look like human speech. I really wish writers would stop using these kinds of statements that mislead people into thinking that AIs are, in fact, intelligent.

    I began trying to imagine the words that shouldn’t be used to describe AI speech. In chatting with Philip, I said, “AIs can’t ‘promise’ anything either.”

    “They can say they do, though. They can say anything.”

    “They can say anything. It just doesn’t mean anything.”

    “I don’t know,” he said. “It ‘means’ something, in the sense that a string of words means things. I mean, the AI can’t mean anything, because it has no agency, and no real existence. But the WORDS mean things, which is how we get this puzzlement.”

    I disagree. Here’s the thing. Statements (strings of words) never mean anything on their own. The receiver always has to ascribe meaning to a statement. This is a fundamental tenet of social constructivism: You can’t transmit meaning — only words. You probably had a meaning in mind when you transmitted the words, but the other person receives the words and has to construct their own meaning from them.

    In a normal case, one makes the assumption that the statement meant something to the person who made it. When the receiver ascribes meaning to it, they make assumptions about what it means to themself and what it may have meant to the speaker. And, in this way, interlocutors negotiate a shared understanding. But things don’t mean anything to AIs. So you’re projecting meaning onto something that isn’t there.

    It reminds me of Wittgenstein’s “Language Game.” Wittgenstein began his philosophical inquiry with that the idea that propositions (human statements) are (1) tautologies or (2) contradictions or (3) neither. He agonized over what would could be said and what could only be thought or shown. But, eventually, he came to call language a “game” and recognized that one of the principal outcomes of language was that most of what could said were things that had no corresponding referent in reality. I think he basically gave up on philosophy as a meaningful endeavor.

    AIs are the language game as simulated by machines. Nothing they say has any referent. There is no intentionality or thought process behind their utterances. But when people see a statement, they are seduced into imagining there must consciousness and meaning behind it. I would recommend people not give into the temptation. AIs are not trying to accomplish anything. They do not have motives. Or goals. All they do is generate text that looks like an answer.

    Do not project intelligence onto them. In fact, I would recommend not using them at all.

    The people who are creating these machines obviously do have motives and goals. And it would be a mistake to believe that their goals align with yours.

    → 7:37 PM, Feb 14
  • The Language of Flowers

    an iris which means

    When I wrote Revin’s Heart, I realized that one thing that the protagonist couldn’t really do was talk about plants. He didn’t have any background to have learned about plants.

    I love plants and wanted a character that could talk about them. So I wrote in a botanical garden and a curator to run it, Lady Cecelia. She appears for the first time in Storm Clouds Gather. She didn’t have much backstory at first. Momo, one of Revin’s love interests, addressed her as “aunt” so she was the sister of the Baron’s wife.

    She appears again in Then They Fight You when Revin wants to make a corsage and Cecelia advises him regarding flowers to choose:

    “These yellow lilies are pretty,” Revin said, remembering the yellow dress Momo wore on the first day he met her. 

    “Oh, no,” Cecelia said. “No, no, no. In the language of flowers they mean falsehood. No, a white lily, that would be more appropriate. Or perhaps one of these orange blossoms — those mean ‘purity equaling loveliness’. Does that suit, Sir Revin?”

    I was fascinated by the idea when I first learned about the language of flowers. I wrote a blog post in 2020 describing it and mentioning some haiku I wrote (unfortunately posted at twitter) that were inspired at the time by the language of flowers.

    I subsequently wrote a whole series of novelettes, Lady Cecelia’s Journey, that tell her backstory. I had hoped these would start appearing by now, but they haven’t. The language of flowers plays a small role in one of those stories as well.

    For the Wandering Shop Stories prompt today, the word was #rue which immediately put me in mind of the language of flowers. so I wrote a brief story fragment featuring Cecelia and her sister Serena.

    Serena entered the botanical garden in Ravensbelth.
    Cecelia was taking notes in her notebook. She looked up and smiled.
    “And how is my sister this morning?” she asked.
    “I am well,” Serena replied. “But I need to send a bouquet to… an acquaintance.”
    “We have a lot of nice blossoms,” Cecelia replied. “Some roses are blooming, as well as nasturtiums and mallows.”
    “Oh, no,” Serena said. “No. Do you have any rue?”
    “Ah,” Cecelia said. “So this is that kind of bouquet. Yes, I have some rue. And what else would you like?”
    “Evening Primrose? Saint John’s wort? Tansy?”
    Cecelia sucked air through her teeth.
    “My… Yes, I have those.”
    Serena thought for a moment.
    “Any colt’s foot?” she asked.
    Cecelia shook her head. “No, those are out of season.”
    “A pity,” Serena said.
    “Would you like me to cut and arrange them for you?” Cecelia asked, getting out her clippers.
    “No,” Serena said. “For this, I’d like to do it myself. But would you keep me company?”
    Cecelia smiled and nodded.

    In the previous times that I wrote about the language of flowers, I included in the text what the meanings were, so the reader would know. But this time I didn’t. So I thought I might clarify using this blog post. Here’s what Cecelia and Serena are talking about:

    Rose: Love (and many varieties with similar meanings.)

    Nasturtium: Patriotism.

    Mallow: Mildness (and several varieties with similar meanings.)

    Rue: Disdain.

    Evening primrose: Inconstancy.

    Saint John’s wort: Animosity. Superstition.

    Tansy: I declare war against you.

    Colt’s Foot (tussilage): Justice shall be done you.

    These meanings are drawn from Language of Flowers by Kate Greenaway (1846-1901).

    → 4:01 PM, Feb 6
  • A Well-Attended Reading in Elegant Surroundings

    LJ Cohen reads in front of a sizeable audience

    On January 31, 2026, I gave a reading from A Familiar Problem as part of the Straw Dog Writers Guild January Showcase. Authors who published a book in 2025 were eligible and a dozen were drawn from a hat. I got to read third.

    As I arrived, the traffic in downtown Northampton was terrible. I had left plenty of time because I know that parking can often be hard to find, but just getting to the venue was a challenge. Luckily I found a parking place without difficulty and arrived in good order.

    There was a sizeable audience. The Straw Dog Writers Guild tends older, female, and queer. I think there were two other men besides me. But I’ve been involved with Straw Dog long enough that I’m nearly a fixture, so I always feel welcome.

    The reading was held in the Calvin Coolidge Memorial Museum in the Forbes Library in Northampton. The wood paneling and large portraits of the former President and his wife made for an elegant backdrop to the reading.

    Lindsay Rockwell (pictured to the left) led the organizing for the event and welcomed the audience. I’ve served with Lindsay for several years on the Program Committee and she did a fantastic job bringing everyone together.

    Andrea Hairston served as emcee. She introduced each author and brought an enthusiastic energy to the role.

    Most of the readings were of poetry or memoir. My offering of my weird speculative fiction was accepted with good humor, although someone always comments how weird my writing is. And I don’t even read any of the REALLY WEIRD bits.

    One of the readers, LJ Cohen (pictured at the top), also write speculative fiction. I know her from Mastodon and we’ve met a couple of times at conventions (Arisia and Readercon). I decided to buy a copy of her book and got her to sign it.

    After the reading concluded, I was able to pitch my books. I even sold a couple.

    After I left, I saw why the traffic had been so congested: there were ice sculptures all over town, beautifully illuminated in the dark. It was a nice way to end the day as I headed home.

    → 9:53 AM, Feb 1
  • SFWA Winter Worlds of Giving

    coins

    The Science Fiction and Fantasy Writers Association (SFWA) does an immense amount of work in support of the writing community. In the next few days, our Winter Worlds of Giving fundraising campaign will wrap up. Please give generously to support our activities for the coming year!

    Currently there is a matching program, generously funded by Victoria Roth, that will TRIPLE donations from SFWA members up to $10,000. All donations go to the Where the Need is Greatest fund which lets your money support whatever new challenges come up.

    I joined the Board as Secretary in 2024 and have been genuinely impressed by the dedication and commitment of our staff and volunteers. Everyone is working as hard as they can to maintain and enhance existing services, bring a lively new program of professional development, and confront emerging challenges to the writing community. So whether you’re a current member, a Nebula attendee, or a fan of science fiction and fantasy, I encourage you to give generously to the Winter Worlds of Giving before the campaign wraps up on Saturday, January 31. We can do more together!

    → 8:57 AM, Jan 28
  • Some Extra Tanuki Time

    close up picture of boxer dog

    I have gotten essentially no fiction writing accomplished during this Intersession. My university contract says most of January is a period of non-responsibility so each year I can usually get a lot of writing done in those weeks. But this year, my mentally ill adult son was hospitalized for the first time in four years.

    I’m not going to write about his mental illness diagnosis or experience. As my wife would say, that’s not my story to tell. But the impact it’s had on our family does feel like my story to tell. And I think it’s important to share, because many people shy away from talking about mental illness in our society because they’re ashamed. The demands his chronic illness put on our family may be less visible, but they are very real.

    For the past two years, he’s lived independently, though fortunately close enough that either my wife or I can visit daily. We had expressed growing concerns and uneasiness for several days before he was hospitalized and tried to provide nearly round-the-clock support. I stayed with him during the day and she stayed with him in the evening, including hanging out on his couch one night. But, in the end, after about three days, he still needed to be hospitalized.

    This is the fourth time he’s needed hospitalization over the past seven years, but this is the first since he began living independently with his emotional support animal. While he is hospitalized, care for her has fallen to my wife and me — in addition to following his care, ensuring all of his professional supports are coordinated and, of course, one of us going to daily visiting hours to see how he’s doing and (struggle to) stay connected.

    For me, taking care of his young dog is a genuine pleasure. She’s a little weird, but boxer dogs are always a little weird. On the one hand, boxer dogs are so similar to one another, they might as well be clones. But, on the other, they all have unique idiosyncrasies. She is adorable, and I love her to pieces.

    That said, it’s been hard. Trying to keep track of another set of needs is almost more than I can handle now. Despite masking everywhere, my wife has a bad cold that’s interfering with her job. It’s been rough.

    I was really disappointed for myself and other panelists that I felt compelled to withdraw from Arisia. I had been scheduled to moderate one panel and appear on four others.

    Still, I have managed to accomplish a few things. I submitted my application for the Lambda Literary Writers Retreat. My article about bookselling, How to Hand-Sell Books for Fun and Profit, appeared at Planetside. I’m scheduled to read from A Familiar Problem for the Straw Dog Author Showcase on January 31. And I got my university course website published on schedule, one week before the start of classes for Spring 2026.

    Yesterday, due to the massive winter storm, I could not safely attend visiting hours, so I used the time to install FreshRSS and take a nap. I also managed to write a story fragment for @wss366. I’ve only managed about half the days since this all started.

    Every day of hospitalization is a trial in multiple ways. The dog — and all of us — want my son to be ready to come home. We’re doing the best we can for the moment, making sure she gets lots of love and walks and treats. But it’s hard for her and hard for us. And still will be for weeks after he does return to his place, as he recovers. She is ready to do her part doing what she does best, providing unqualified emotional support. She is ready.

    → 1:37 PM, Jan 26
  • Finally Set Up FreshRSS

    I spent a snowy afternoon setting up FreshRSS at my hosting service. It was a snap. It really only took me about a half hour once I got started and made me wonder what I’d been waiting for. I’ve only just started exploring it’s capabilities, but it seems great so far.

    One of my fellow authors at Water Dragon Publishing shared a bit of news at the Discord and indicated she would be providing further updates to her blog, if people wanted to follow her journey. I had been meaning to set up a new RSS feed reader for a couple of years and so this was just the prompt I needed to kick me into gear.

    I was an avid user of Google Reader and then, for many years after, ran an instance of TinyTinyRSS (TTRSS) as a feed reader on my home server. At some point, however, TTRSS began to require Docker. When I tried to set it up, it didn’t work right — probably because I got something wrong in the Docker configuration — and I said, “#@&% this!” I wasn’t going to teach myself Docker just so I could play at being sysadmin.

    I tried a few other app-based feed readers, but I really wanted something server based. Otherwise, you really can only check your feeds from a single device and I switch among three devices pretty much constantly. I had identified FreshRSS pretty early on as a good candidate, but I wasn’t sure it would play nicely with my hosting service. I had tried to install TTRSS there and that hadn’t worked (which is why I had been running it on my home server).

    In the end, I just did it. I downloaded the source, checked the documentation, and got started. I re-used the domain name “feeds.bierfaristo.com” that I had created a few years ago and added hosting. I scp’ed the tar file, untar’ed it, and the pointed my browser at the URL. Bam! I was in business.

    I had saved an OPML file of my old feeds, which I went ahead and imported. It was a trip down memory lane. A lot of the feeds were dead, but a surprising number are still good. I’m looking forward to being more intentional about keeping up with feeds again.

    → 4:51 PM, Jan 25
  • Bookselling 101: How to Set Up & Run a Dealer Table

    Books for sale on dealer table at LOSCon51

    At Worldcon, I got the chance to chat with Roxana Arama, the editor of Planetside (formerly the SFWA Blog). We had a great conversation and she encouraged me to write a pitch for an article. 

    Upon reflection, I decided to pitch an article about hand-selling books for authors as a kind of Bookselling 101. Since I had time in August (and was likely to have less time once the academic year started), I went ahead and drafted the article even before my pitch was accepted, figuring I would post it to my blog if it didn’t get accepted.

    My pitch was accepted, but with a modification: They wanted a Bookselling 201 article and were most interested in having my expand on the aspect about pitching and hand-selling books. I made the necessary revisions and the article, How to Hand-Sell Books for Fun and Profit, is now live at Planetside.

    I thought it would be fun to share the rest of the Bookselling 101 article I wrote here. 

    Where to Sell

    There are a large number of opportunities where you might be able to sell your books directly to an audience. Perhaps the most important are the national and international conventions, like Worldcon, Dragoncon, and Comicon. Regional and local conventions are also worth attending. Additionally, there are often a vast number of local events that will welcome an author selling their books, including festivals, artisan markets, and holiday markets.

    Conventions usually have a “dealer room” where most of the bookselling happens. Dealers pay a charge to have a space in a room with other dealers where they can sell their wares. For an individual author — especially a beginning author — the charges for a table may be higher than are warranted. But there are sometimes ways to share the cost. It may be that your publisher will already have a table. Or will pay to have the table, if you volunteer to help staff it to sell your books and others from the publisher. Some groups, like Broad Universe and Small Publishing in a Big Universe (SPBU), offer tables that multiple authors may join and share. Many conventions also offer other opportunities for individual authors to sell their books, in an “author’s alley” or via book-signing events.

    Your Personal Brand

    Presenting yourself and your books effectively makes a good first impression. Branding works. Many authors use some props to create a distinctive author appearance: a distinctive hat, like Tobias Buckell’s beret, or a T-shirt with a graphic design that evokes or aligns with your brand. A tablecloth and tablerunner, or banner, with branding are worth having to give your bookselling operation a polished, professional appearance. 

    Branded giveaways are useful to remind people about your books after they’ve walked away from your table. A business card, with a QR code linking to your website, is a no brainer here. But there are a lot of other easy and fun possibilities. Bookmarks are an obvious choice. Stickers can be good, although they’re more expensive and some venues ban the distribution of stickers. Some conferences use badge ribbons and, if you can think of a catchy hook, they have the added advantage that other attendees may see other people wearing the ribbon and will come to your dealer table because they want to get one of their own.

    If people purchase several books, it’s convenient to be able to offer a bag to help them carry their books away. Be aware that in some localities, disposable plastic bags are outlawed, so paper bags are safer. The bag is another opportunity for branding: A rubber stamp works well, but stickers or labels can do in a pinch. Alternatively, you can purchase some branded reusable bags to sell.

    Practical Concerns

    Books are heavy, so a collapsible cart or wagon can be invaluable for moving your books and other materials during load-in and load-out. Stout cardboard boxes are ideal for protecting your books. But high quality reusable grocery bags with a flat bottom are convenient too and have the added advantage of handles. Book stands are also useful for standing up just a few books to highlight. (They’re also useful for when you’re a participant at a panel, to show your books while you present!)

    It’s fun and easy to also sell books at outdoor festivals and markets, but you need some additional resources. You will probably want a collapsible 10×10 foot tent. Some are much easier than others to transport and setup by single person, so consider those factors when making your selection. Also, be sure to get some weights so that your tent doesn’t blow away in the wind. (Ask me how I know this…) You’ll need a table and some folding chairs. Usually tables and chairs are provided in dealer rooms, but for most festivals, you’re on your own. An 8-foot folding table works well. But two smaller tables — or just an additional table — can provide some flexibility.

    Hand Selling Books

    The most important thing I’ve learned about bookselling is that a concise, polished pitch for your book greatly increases your chances for making a sale. My article at Planetside, How to Hand Sell Books for Fun and Profit, goes into more detail about this.

    Financial Concerns

    Before selling anything you should make sure you have your financial ducks in a row. If you are selling on behalf of another organization, like your publisher or SPBU, they may have taken care of these details beforehand. Otherwise, you should consider setting up a separate bank account for you to keep the finances of your bookselling operation separate from other activities. 

    Honestly, if you’re a professional author, you should already have a separate bank account for business income and expenses. But, if you’ve resisted that up to now, stop resisting — you really need that, if you’re going to be a book seller.

    Before you start selling, you will probably need a Tax ID number in order to collect and report sales tax. The rules and the amounts can vary widely depending on the locale. The rules for this vary from state-to-state or even city-to-city, so be sure to check the laws carefully in your locality.

    You will need to accept payments. There are a few payment processors that offer inexpensive integrated systems you can use as a Point-of-Sale terminal. Many cell phones now can accept NFC (tap) payments with one of these using a card or phone or smart watch. There are also inexpensive devices that can accept tap payments, but allow someone to also insert a chipped card. These systems generally impose a 3-4% charge, which you will need to price your products appropriately to cover.

    Different events bring people with different preferences for how they want to pay. Most transactions are usually via credit cards but, at some events, many people will want to pay cash. An envelope containing small bills is useful and that can also hold the cash collected. I usually start with $100 in one, fives, and tens to make change. I can then easily calculate the additional cash collected by the end of the event, to confirm it matches the transactions recorded in the payment processing system. Some events and populations prefer yet other payment systems, like venmo or paypal. It’s useful to be able to accept payments using whatever system the customer prefers.

    I’ve generally found it convenient to price products at even dollar amounts that include the taxes and payment processor charges. Remember that, if you price something at $11, you will need a large number of ones and fives to make change, if you have many cash sales. 

    I’ve found that printing price tags on florescent card stock is useful. I have a template with prices along the edges that I can cut in half and then cut between the tags. These are easy to tuck in between the pages of books, so they stick up and are highly visible. You can use the different colors of tags to indicate various things: e.g. price range or genre. People like to know how much things cost. If you don’t have price tags, people will need to ask you, which will deter sales.

    So, that’s it. That’s pretty much everything I know about selling books. Yep, that’s pretty much it. Oh, except you need some books to sell. You should probably go write some books now.

    → 1:56 PM, Jan 20
  • Wandering Shop Stories for 2026

    icon for wss366

    Wandering Shop Stories, a prompt for writing microfiction on Mastodon and Bluesky, begins its third year in 2026. It has grown modestly from having three to six curators and nearly 200 followers. Every morning, at 5am Eastern, a post appears on both services with a prompt for the day that proposes an ordinary word with multiple meanings that invites people to write a short piece of microfiction that includes the word and to tag the post so that everyone can follow along.

    Starting this year, we decided to add a new wrinkle. Until now, we just selected a word based on the day of the year (day 1 to day 366 — on leap years). This year, we decided to track calendar days and holidays, to allow us to consider specific words for special days. This isn’t to say that we necessarily will, but we added the infrastructure to make it possible.

    In technical terms, our new curator Gary created a new column in our spreadsheet with the dates and then we repurposed the “explanation” to column to list holidays. I added in a few US and Japanese holidays. (For several years, I’ve been subscribed to a Japanese holiday calendar in my daily calendar, which has been a source of great enjoyment and enrichment.) Then Nara and others went through and added a bunch more holidays from various calendars.

    Once we had the structure laid out, I modified the python script that actually makes the posts. I reworded the post slightly and added a conditional to only identify the holiday if it is a holiday. When I made the change, I got the syntax slightly wrong so, this morning at 5:00am, the script ran and failed with an error. When I woke up a few minutes later, I checked and, seeing the post hadn’t gone, logged into the server to check the error log. I had forgotten a colon (well, two actually). So I added them and ran the script manually.

    Post by [@wss366@wandering.shop](https://micro.blog/wss366@wandering.shop)
    View on Mastodon

    I really love our little #wss366 community! I love writing to the prompt every morning myself as a creative warm-up for the day. Furthermore, it’s been a real joy for me to see other people engage with the prompts and to read the contributions they write. And every quarter that our little group of curators has met via zoom to chat has deepened my appreciation for our quirky little community. Thank you both to participants and curators for investing your time an energy to bring our little community to life. Here’s to another successful year of Wandering Shop Stories.

    → 10:36 AM, Jan 1
  • RSS
  • JSON Feed
  • Micro.blog