2020 Retrospective

What. A. Year. After the past 12 months, I would like to go back to living in precedented times, thank you very much.

But hey, a long time ago in a galaxy far away — when COVID-19 was just a whisper on the wind — I wrote a 2020 prospective, where I set the theme of “green witch.” As I do every year at this time, I’d like to reflect on how that theme played out over the course of the year.

Staying in touch with the natural world

Despite its awfulness — despite a pandemic and losing my job — something beautiful came out of the year for me. When my time-intensive social hobbies (like larping) disappeared overnight, I had much more time and energy to devote to the natural world.

This year, I made ~700 observations on iNaturalist. I learned to identify many new taxa — mostly plants, but I also started getting into mushroom identification and mycology. I foraged wild foods, and made things out of them. I discovered new conservation areas and hiking trails. I laid on the ground by a vernal pool for nearly an hour, observing fairy shrimp. I did several “socially distant” hikes with friends, teaching them what I knew about the natural world.

For once in my life, I saw the turn of the seasons, day by day and week to week.

To my points from the original post:

Planting a garden. I did this, to varying degrees of success; I tried to grow tomatoes, bell and jalapeno peppers, parsnips, and lettuce from seed. I had my hands in the earth; I tilled the soil; I watered my plants; I repelled woodchucks and blossom end rot.

The final product was meager — a bumper crop of tomatoes, a few peppers, and not much else — but the experience was worthwhile. Caring for plants was something that took me outside nearly every day, even when I didn’t have the time or inclination to dive into the deep woods.

Foraging wild foods. I did this, too! We discovered the brambles growing as volunteers in our backyard were in fact blackberries, and Matt harvested them and made a delicious blackberry ice cream from it. I also made zucchini bread with autumn olive I had harvested from a local tree. (And learned, in the process, that autumn olive really should be pitted before doing so).

Sadly I did not find a great source of elderberries this year — I saw a few plants, but not close to me or in a place I’d feel confident with harvesting.

Taking a nature walk once a month. Sort of? I was out in the woods a LOT this year, and it probably averaged out to once a month. But most of it was in the spring and early summer, my favorite seasons for natural observation. I don’t think I got out in the woods at all in July, and December was also a wash for me.

But I also logged more iNat observations this year than I had in previous years combined, and I participated in a two virtual bioblitzes, so I really don’t feel like I “failed” here.

Also it’s important to remember that one doesn’t need to “get out” in nature. Wildness is everywhere! I found new-to-me plants like bush honeysuckle and broad-leafed helleborine and European beech while out on my runs. I got up close with a garter snake basking on the tarmac of my road. And I just now returned from a walk down my street where I saw a red fox cross the road in front of me.

Honoring the cycle of the year

My first thought is: I would have liked to spend more time on this, on slowing the passage of time through observing it, turning regular time into a festival heterotopia. I especially wanted to honor the solstices and equinoxes, those turning points of the year — but I never quite managed to make it happen.

But I’m thankful for what I did do. I observed my usual traditions around traditional Western holidays — Muppet Christmas Carol at Christmas, Vincent Price movies at Halloween. In celebration of finishing another (final!) round of Lioness edits, I hosted watch parties of several Three Musketeers movies. I bought holiday and birthday presents, and took pleasure in selecting the right gifts.

Plus, one thing observing the natural world regularly did is help me see the passage of time. I watched maple buds turn into leaves turn into forest litter, and that taught me much. I saw the mycelium underlying the whole forest floor, and learned you cannot kill me in a way that matters.

(Description: screenshot of a Tumblr post, reading:
Me holding a gun to a mushroom: tell me the name of god you fungal piece of shit
Mushroom: can you feel your heart burning? can you feel the struggle within? the fear within me is beyond anything your soul can make. you cannot kill me in a way that matters.
Me cocking the gun, tears streaming down my face: I’M NOT SCARED OF YOU)

Given all that, maybe it doesn’t matter that I didn’t do anything to celebrate the solstices.

Living hyperlocally

I got to know my town and neighborhood much better this year. I chatted with neighbors (and sometimes argued with them) on the Facebook community for my town. I learned where to find one of my favorite spring ephemerals from my local nature group. I started having milk delivered to my house weekly from a local dairy. I discovered new trails, new landmarks, new lands, within the boundaries of my own town.

To the individual points:

Attend a town meeting. I did not do this — perhaps because the last town meeting was held in a gymnasium at the height of the pandemic. However, thanks to vote by mail, I did vote in local primaries for the first time, which was enlightening.

In January, before the pandemic hit the U.S., I attended a meeting of the landowners’ association I’m part of, and learned about our efforts to fight fanwort in the lake. (I also walked the two miles to the high school where it was being held, rather than drive).

Do more local shopping. This was hard to do this year — again, because pandemic, and the shortage of many goods at the beginning of it. (I never thought I’d be lining up at the Hannaford at 7am for toilet paper).

But also during the pandemic, my local dairy started delivering door to door! I now enjoy having local eggs and milk and creamer on my doorstep every Thursday morning.

Other than that, I shopped at Aubuchon more than Home Depot (small chain vs. large chain), and I tried to use Target rather than Amazon (chain that generally treats its employees decently vs. putting more money in Jeff Bezos’ pocket).

It ain’t much, but it’s honest work.

Improve my relationship with my neighbors. I can’t say I made much progress on this, even though the pandemic might have given me the opportunity to.

Not being wasteful

Complete Uber Frugal Month challenges in January and June. I did this in January but not in June, ironically, even though in June I was out of a job and strapped for cash flow. I found the exercises interesting to do, teaching me a great deal about my relationship with money, and what my goals were.

Read The Zero Waste Home, and incorporate at least one of the tips into my life. I did not read this specific book due to interminable waitlists (thanks, pandemic), but I did read 100 Ways to Go Zero Waste, so I think that counts. I took notes on the tips I liked, but there was a lot of dumb in there, I gotta admit. It was emblematic of “clueless city dweller has some bullshit ideas about the natural world,” which tends to get my virtual panties in a wad, since ecological consciousness is intrinsically linked to nature appreciation in my head.

What I am doing differently, trash-wise, from 2019:

  • Cleaning out K-cups to recycle the plastic and aluminum. I also canceled my standing order for them, with the goal of eventually not using them at all. (Once I get through the backlog).
  • Recycling a few more things I didn’t know I could recycle (Recycle Smart MA is great for this, if you also live in the Bay State).
  • Using handkerchiefs and rags instead of paper products more reliably. (Still not gonna clean up cat sick with a rag, though).
  • Driving a lot less — again, thanks to the pandemic and now having a fully-remote job.
  • I asked for a bunch of things for Christmas that would help with less wasteful living — Stasher bags, beeswax wraps for food — but, alas, did not get them. Will have to invest in some myself.

I’d like to do more in the future, of course, but as in everything, home environmentalism is a practice, not a destination.

Pay off my student loan and Matt’s car loan. Done! Actually, we paid off all our consumer debt this year, despite my not having a job — including the balance on our HELOC post-bathroom reno, and credit card debt for Brianna’s health crisis in January/February. The combination of frugality, a severance package with release of claims, increased unemployment due to the pandemic, and finding a new job relatively quickly actually left our bank account in a pretty good state.

Knowing things

As I said in my original post, intellectual curiosity is already a huge part of my life, so I expected this sub-theme to be easy to accomplish.

In some ways I was right — if nothing else, I know far more about identifying fauna, flora, and fungi than I did a year ago! However…

Join the “friends of the town library.” As I mentioned, this goal required me to print out a form, write a check, and go into the library LIKE A BARBARIAN. (A barbarian librarian?)

… and then said library shut down completely for the first six months of the pandemic.

It’s been open for browsing-by-appointment for a couple of months now, so if I was really determined, I could have done this. But let’s be real, I was more determined not to get COVID.

Visit a few new-to-me local parks, attractions, hiking trails, and businesses. The pandemic made this difficult for inside locations, but as far as hiking trails and conservation areas went, I get a gold star here.

I visited Robbs Hill for the first time to photograph hepaticas, on a tip from someone in my local nature group. I visited Cowdrey Nature Center for the second time ever, taking a new trail that made a ring around the river/swamp in the center, and identified all kinds of new-to-me mushrooms and spring ephemerals. I discovered the Lane Conservation Area and the Large Town Forest, both of which border the Hickory Woods I know well. Speaking of, for the first time I walked the ring/main trail of Hickory Woods, from the “official” trailhead back to my house. I also visited the Peabody Conservation Area, another patch of conservation land affiliated with the North County Land Trust.

My Buy Nothing group also played a part in learning more about the roads of this town! My journeys to pick up gifts brought me to parts of the town I’d never explored before, including the weird warren of roads northeast of Hickory Hills Lake, disconnected from the rest of the town when the lake was created as a reservoir.

I also had the opportunity to look at a map of my town from the 1880s, and that’s when I realized the street I live on once cut directly across what is now the bottom of the lake — yet another section of road that once connected the neighborhoods on two sides of the lake. I also saw small roads and farms where the Large Town Forest now is, and that explained for me why the trails looked wide enough to drive a truck through (spoiler: they were), as well as why there were miles and miles of fieldstone walls back there.

(Well, that’s also just… New England. As I tell ANYONE WHO LISTENS, Massachusetts is more forested today than it was in Thoreau’s time. Underneath our feet are the remnants of thousands of Colonial and 19th century farms).

Further reading (literally)

I also did some relevant reading this year. One book I read this year and recommend is Farming, a Handbook, by the poet Wendell Berry. His poetry quietly, beautifully asserts that the people who put their hands in the dirt, day after day — farmers — are the ones who understand the natural world best of all. This is a sentiment I wholeheartedly agree with!

Relatedly, I also read Dirt Work: an Education in the Woods, by Christine Byl, who worked trail crew at national parks in Montana and Alaska. This book is a series of essays about that experience, working with one’s hands, and the natural world — including the humans that live in that world. Here’s a favorite quote of mine:

Outdoors is not catalog or movie set, not just work site, not even sanctuary, no matter how nuanced my desires appeared (name the plants, still the soul). Outdoors is a place where salmon swim upstream to die where they were born, where bears eat the salmon so they can survive their winter dens, where humans move through calling loudly, intent on fish and berries and bears. It’s a place to be reminded that, while sport is fun, while the rush of summits, linked ski turns, and belay stances are a joyful thing, they are second. Auxiliary to a world that is not playground but homeschool, where I am taught to settle in, over and over, until being outside isn’t about endurance or leisure, but life.

Christine Byl, Dirt Work: An Education in the Woods

On a completely different (but also related) note, I read two of the Discworld Witches sub-series, Equal Rites and Wyrd Sisters. I didn’t think Equal Rites had much to recommend it — it is the infamous Early Pratchett, and I really didn’t like the gender-essentialist division of “witch” and “wizard” which is the core premise of the book. I did like this quote, which was very much in service to my theme of the year:

“Do you think I used magic?”

Esk looked down at the queen bee. She looked up at the witch.

“No,” she said. “I think you just know a lot about bees.”

Granny grinned.

“Exactly correct. That’s one form of magic, of course.”

“What, just knowing things?”

“Knowing things that other people don’t know.”

Equal Rites, Terry Pratchett

Wyrd Sisters, on the other hand, edged into what people love Pratchett for: humor not for the sake of humor, but in service to a greater theme. This one is full of Shakespearean tropes, and (like all books I love), touches on what it means to make art. It didn’t quite go as far as I would have liked, however.

This year I also read (85% of) Ursula K. LeGuin’s The Dispossessed. It is mostly about space anarchism — as a friend joked, “the through-line is communism.” But this quote, where the main character observes his wife, felt on-theme:

Text of a quote from Ursula K. LeGuin: “Her concern with landscapes and living creatures was passionate. This concern, feebly called “love of nature,” seemed to Shevek to be something much broader than love. There are souls, he thought, whose umbilicus has never been cut. They never got weaned from the universe. They do not understand death as an enemy; they look forward to rotting and turning into humus. It was strange to see Takver take a leaf into her hand, or even a rock. She became an extension of it, it of her.”

What else?

That’s a lot already! But some other things I am proud of this year:

  • Rediscovered Dungeons & Dragons! I’m now in four different games with two different groups, and I love it. Still hope to blog more about that at some point!
  • Finished the last round of major edits on Lioness (working on a query packet now!)
  • Got my first short story acceptance — “The Mirrors of Her Eyes” is forthcoming from Daily Science Fiction!
  • Wrote some poems.
  • Wrote some blog posts.
  • Wrote (and continue to write) a D&D/Forgotten Realms fanfic, “Bright Future,” which is about my druid’s relationship with a certain NPC in the Out of the Abyss adventure.
  • Read 25 books. (Didn’t hit my Goodreads goal, but this was a rough year for reading. FOR SOME REASON).
  • Found a new, 100% remote job that (three months in) I absolutely adore. (I am now a senior frontend engineer at Fishtown Analytics, the makers of the data transformation tool dbt).
  • Spent a beautiful two weeks with my mom in Plattsburgh (all safety precautions were taken).
  • Recorded a bunch of videos about Edna St. Vincent Millay poems for Youtube.
  • Started a weekly virtual coworking event, which brought together friends from various different social circles (writing, larping, etc). I think it’s been super beneficial to everyone involved, and it’s been great keeping up with my friends and their projects on a weekly basis.
  • Built Teamer, a tea-timing web app.

But most importantly:

  • I did not get COVID.
  • My (highly vulnerable) mother did not get COVID.
  • I did not lose anyone close to me due to COVID.
  • I survived possibly the worst year in recent memory.

Next time we’ll have my 2021 prospective! A warning that “next time” may still be a couple of weeks out — the theme will be “making my outsides match my insides,” but I haven’t plotted out the specifics yet.

“The past isn’t dead”

Meditations on the nature of history, inspired by some problematic human beings.

This morning — now afternoon! — I have thoughts about history, inspired by an Atlantic article about the 27th grievance of the Declaration of Independence, and a dumb billboard in Milford, Connecticut.

Reading the Atlantic article, I was reminded of the Faulkner quote, “The past isn’t dead. It’s not even past.”

What that quote means to me is: the “past,” history, isn’t a discrete set of events, unlike we are often taught. The past doesn’t just affect the modern world — it is that world. It’s the air we breathe, the water of the ocean we’re swimming in, the forest we can’t see for the trees.

And the fact that not everybody realizes that? I blame on how history is taught, at least in American primary and secondary schooling.

Not the teachers, mind you. I know they’re doing the best they can with increasingly limited resources, and in states with standardized testing, they have to teach to the test. I grew up in New York state, where we have the Regents exams — where, for example, all of non-American history is collapsed into Global Studies, which you take your freshman and sophomore years of high school. American History is your junior year, and Government/Civics is your senior year — i.e. more American history. Here in Massachusetts, there are the MCAS, which I imagine are much the same

In this model, you don’t have time for detail or nuance. The questions on the various history Regents exams always boiled down to a series of vocabulary words. What is anarchism? What was the triangle trade? What was impressment?

You get the erroneous idea, from this 20,000′ overview, that history is a period of time from X to Y, i.e. World War I lasted from 1914-1918, and that’s it. It blew my mind when I learned that the roots of it go back to the early 19th century, when Europe was divided up somewhat arbitrarily after Napoleon’s defeat. (I only learned this because I played Viscount Castlereagh, the architect of the Congress of Vienna, in a larp!)

(Come to think of it, I’ve learned more history from larping than any book or class. Making sure Europe gets divided up in a way that won’t cause war is suddenly INCREDIBLY RELEVANT when you spend four hours trying to accomplish that while Benjamin Franklin comes back from the grave, the magical ruler of Europe is appointed, and George III is cured of his madness).

And of course, that goes back to Napoleon, and how he came to power, and that would not have happened without the French Revolution, which had its roots in the American Revolution, and Enlightenment thinking. And that was tied to the Protestant Reformation, which in part came about because Henry VIII was hot for Anne Boleyn (also because Martin Luther was het up about the excesses of the Catholic church).

(One thing I notice in all this is how ignored the 17th century was in history books. It’s kind of like it never existed! I seriously thought it was the Boring Times between the Tudors and the American Revolution for so long. I mean, yes, some crazy fundamentalists landed in what is now Massachusetts in 1620, but I don’t think I even knew that was the date until recently. And yet, the Stuart kings, and the English Civil War, the 30 Years’ War, and the courts of Louis XIII and XIV are incredibly fascinating, and full of sex, booze, and airs de cour).

History is a narrative, is I guess what I’m saying, which follows a logical chain of action and reaction. It’s not always the most satisfying narrative, admittedly, which perhaps is why it seems unappealing at first glance. Like a narrative, history is shaped by the authors (history, victors, etc); and like fiction, sometimes people come in generations later and have to revise it, because it turns out there’s no such thing as a neutral point of view, and look, there’s an angle we’ve entirely neglected. (See: books about how great Genghis Khan was for the Western world).

History literally means “story.” They’re the same word in French, in fact: histoire. (Perhaps that’s why the French felt the need to come up with the word roman — romance, or “novel” in modern usage). I suspect the same is true in Latin, too.

And so history is best taught as a story, a narrative. But so rarely it is, unless you are exceptionally lucky or diligent. It especially wasn’t in New York state, because by the time we were old enough to understand the nuance of history, we had the aforementioned awfulness of the Regents. No history book ever presented history to me like this. (Okay, maybe in the introduction, but what high schooler reads those?)

Honestly, looking back on it, my best history teachers were from middle school, before the Regents — Mr. Canon and Mr. Zeglis in 6th? 7th? grade? My classmates used to tease them for their inability to stay on topic. (Because ALL OF FUCKING HISTORY IS AN INTERESTING SIDE QUEST, I now know). I used to wonder how Mr. Canon knew so much about all the American presidents; when I asked, he described it as a card catalog drawer, where once he opened the drawer, a series of facts just spilled out. I didn’t understand his metaphor until I was an adult; I now can do the same thing for a large swath of British royals.

(Why I, a USian, don’t focus on presidents, I don’t know. I did try at one time to memorize them, but all I learned was that a) Washington didn’t become president until long after the revolution — 1789 — and 2) that presidents were inaugurated in April for many years. If I knew more which presidents were queer, maybe I’d be more interested).

(Yes, I know that was probably true of Lincoln — hence the phrase “log cabin Republican” — but I don’t know any of the details).

(See: digressions re: history).

The first person who taught me history in the form of a narrative wasn’t a teacher. It was my mom’s friend Victor (now sadly passed), who took care of me when my father was in the hospital in Albany for a cardiac bypass. Victor loooooved to talk about history, and when he did, it was fascinating to me. In the week or so I was there, I learned about Napoleon and his conquest of Europe, and Elba, and the 100 days; I even learned that his horse was named Marengo. Speaking of horses, he told me the spurious legends about Catherine the Great (very euphemistically; he was deeply Catholic), although he failed to note how INCREDIBLY BADASS she was. I learned, too, about the death of Stalin (theoretically; the whole story about everyone being too scared to check on him when he was locked up in his library may ALSO be spurious).

That his facts were muddled was not super important to me, then or now. What was important was that he was the first person to put history in an appealing, campfire story, “no shit, there I was” way for me.

… also he had a seemingly-endless stock of Snickers bars in his fridge, which probably helped.

When I went to France, I was living in the midst of history, in a way I never felt like I was in Plattsburgh, New York. (Which is wrong, but I was ignorant at the time. American history is shorter, true, but just as deep). It was absolutely uncanny to me to walk by a series of 17th century towers on my way to school. One of my short-term host families lived over the ruins of an 11th century abbey, and had a picture window looking out on it. I was awed by it, but they just shrugged. “You get used to it. You can get used to anything.”

(I often wonder if I have become inured to the sheer “oldness” of the Old World, and thus wish I could see it through Matt’s eyes — he who had never been to Europe before we traveled to England for Consequences the first time. Was he as awed by the Tower of London as I was by the bay towers of La Rochelle, as an impressionable 16 year old girl?)

Even so, I still didn’t appreciate the depth of the historical context I was living in, there in La Rochelle. I knew vaguely that it was the birthplace of French Protestantism, because there was a museum about it in town — which I never went in, even though I walked by it every time I went to the post office. (Because “ho hum, the 17th century, THE BORING TIMES”). There is a famous painting of Cardinal Richelieu, striding across the earthworks around La Rochelle, that is ERRYWHERE in that city and yet I had no idea that a giant chunk of The Three Musketeers, one of my favorite novels — the work that inspired my current novel — is set there. (Admittedly, I hadn’t read it at the time). I skipped class to go to the beaches on Ile de Ré, watched the QEII come into port from there, took pictures of the black lighthouse and the donkeys wearing pants, and didn’t know a single thing about my beloved George Villiers, Duke of Buckingham’s failed attempt to land an army there.

I desperately wanted to see the castles of the Loire — I was obsessed with Saumur, depicted in Les Tres Riches Heures of the Duc de Berry — and I was peeved that my host parents generally considered it “too far” to travel, in European terms. But somehow the giant U-boat base in La Rochelle harbor from the Nazi occupation, or the colorful tuberculosis sanitarium houses of Chatelaillon, or tiny Brouage, birthplace of Samuel de Champlain, were just, I dunno, not enough.

(Pro-tip: there is no period of history too boring, no Atlas Obscura site too obscure, if you just dig a little deeper).

I didn’t understand the impact of history on the French psyche, even while I lived among them; I scoffed at the French obsession with World War II, even as I knew the reason the French landscape was so barren of trees was because it was literally an occupied territory during the war. When I did get to Saumur, I discovered that it was not quite the picture of Loire Valley brilliance that I had hoped, since first Napoleon, then the Nazis, had gutted it.

Heck, I was a jerk to one of my schoolmates about something related to World War I, and he literally never spoke to me again. I had recently learned about the Maginot lines — the defensive lines the French had built on their border with Germany — and how the Kaiser’s forces had just marched around them at the start of World War I to attack France. I teased my classmate about them, and the French national spirit (I can’t recall exactly what I said; I know it wasn’t quite “cheese-eating surrender monkeys,” but it still wasn’t very kind). Perhaps I was proud of the fact that I had learned enough French to tease people, or perhaps 16-year-old Lise was just a jackass.

It wasn’t until I listened to Dan Carlin’s series about WWI, “Blueprint for Armageddon,” in the YEAR OF OUR LORD 2013, that I learned that marching around them meant GOING THROUGH BELGIUM. Or how quickly that happened, and how unexpected and traumatic that was for France and Belgium both. So my ignorance of history ruined a friendship with someone who, up until that time, had been one of my closest allies in class. (I’m sorry, Sylvain. You were a cutie and a much better person than me).

Anyway… that’s a lot of words to say: no wonder historians shake their heads and say we’re doomed to repeat history. We are constantly, aggressively taught history in terrible ways. We sanitize the interesting parts for young minds, even though humans have always been led around by the most venal motivations, including sexual desire. (As one of the main characters of my novel would say, “The roots of empire are astonishingly shallow”).

I heard a lot, growing up, that it “wasn’t important” to learn dates of events and the names of great people, and that is a philosophy I’ve come to disagree with deeply. It’s true that it’s only a small part of history, and that precise dates aren’t super important (I could tell you the American Civil War was in the 1860s, and what women were wearing at the time, but exact years, or months? Sorry).

But dates and titles ground us in place. If history is a story, the dates are the setting, and the “great men” (as in the Great Man theory of history; I am well aware they are not all men, nor even all cisgender) are the characters.

Knowing that Henry VIII was a horndog who couldn’t keep it in his pants is, you know, pretty important to our world today. Or, for a non-Western example, knowing about the Mongol conquest of China tells you a lot about the Song dynasty and what replaced it. (And, for that matter, the Coleridge poem “Kubla Khan”).

“The truth about stories is that that’s all we are,” said the First Nations writer Thomas King, and that’s true for history, too. In this way, words — literature — and history are intimately intertwined, too.

For example, knowing that Shakespeare was writing mostly during the late Elizabethan era tells you a lot about his works: like how he was trying to flatter Tudor sensibilities in writing Richard III, because Elizabeth I is, after all, the granddaughter of that guy wot shows up at the end of Richard III and saves the day. (I seem to recall a theater program for Richard III once calling it “an exquisite piece of Lancastrian propaganda”).

Similarly, the “buy war bonds!” stamp on the end of Dragonwyck tells you a lot about that movie and the end of World War II (as well as the 1840s it’s set in, the rent wars of 1844, and the Dutch diaspora in upstate NY). Knowing that the movie Cuban Rebel Girls was made in 1959 doesn’t make it less terrible, but it does make you appreciate the absolutely batshit history of the Cuban Revolution, how that movie got made, and how it ended up as Errol Flynn’s last film.

When I realized the interconnectedness of history and stories — long after my time with Victor, or any formal history classes — I started to see history as a tapestry that we are still weaving, whose warp and weft threads lead back not just hundreds, but thousands of years. (And, on a geological scale, millions!)

I have a certain fatalism about it all, I guess. (“Amor fati,” more like, but I know just enough about the Stoics to be mad that execrable human beings like Ryan Holiday are profiting off work that is available for free to anyone with an internet connection). Whether we learn history or not, we are doomed to repeat it — because we are humans, ruled by the human vices that make history.

Does that mean we’re doomed to a world, a life, that is “nasty, brutish, and short,” to quote Hobbes? No — I think there’s hope. Human ethical progress is only increasing, even if supposedly we fail to learn history’s lessons. I have many issues with the author Sam Harris these days, but in his book The End of Faith, he made a really smart observation: compare the American reaction to the My Lai atrocities during the Vietnam War to the outrage about the abuses of Abu Ghraib prison. Even in thirty-ish years, the world — words — had come a long way.

Even through my lifetime, I’ve seen the change. There are words, labels for concepts that didn’t exist when I was young. How much more rich would my life have been, how less painful, if I knew I had ADHD from a young age? If I knew that asexuality and demisexuality were real things, and not something I needed to fix? How would I have taken my extremely close friendships with my female friends in high school, if I understood it was possible to be panromantic but not pansexual? Might I have felt less like I was wearing a costume, all the days of my Catholic school life, if I understood that that gender was a construct?

“Your neurodiversity/sexual orientation/gender identity have nothing to do with history, Lise,” I hear you say, but I reply:

Yes, they do.

History is stories.

Stories are everything.

History is everything.

I was going to end there, but one last shameful story about me, my relationship to history, and a hurtful, racist thing I once said to someone in my book club — as an adult, just out of college, before I knew what I wrote above. Stop now if this is the kind of thing that’s going to ruin your day. I’m not out to hurt anyone, and I’m not looking to absolve my white girl guilt here; if I were still in touch with the person I hurt, I would apologize directly. (Sorry, Mary).

I’m putting it here because it seems dishonest and reckless not to include it — to omit the fact that this is the kind of shitty thing I once did, while I write a long meditation about my supposed enlightenment re: history.

(History is racism, too).

Context: I had just read the book The Shadow University — which is an interesting book about the erosion of academic freedom in American universities, but also (I now know) conservative and not always accurate. One of the things the book rails against is how modern history textbooks include more perspectives of traditionally marginalized people, “disproportionate” to their “actual” role in history. In a refrain familiar to anyone who spends time on the Steam forums for Crusader Kings II, the authors insisted they weren’t sexist/racist/whatever; they just cared about “historical accuracy.”

At the time I didn’t question what they thought was “disproportionate” representation. I didn’t think about how the contributions of women and POC have been stolen and diminished throughout history. I didn’t truly appreciate how history takes on the perspective of the person who writes it; how “historical accuracy” is an illusion, created by how we turn the camera to look at our fellow humans. I took it as law: it was in a book, they were talking about history; therefore it was just as verifiable as something out of science.

So when I saw the daughter of another book club member studying her history textbook at another table at one meeting, I made some offhanded comment to her mother like, “I hope the textbook doesn’t overrepresent women and minorities.”

(Because I was a complete bonehead, I was saying this to a woman I knew was married to a Chinese-American man, and whose daughter was mixed race).

I don’t even remember what she said in the moment, but I do know that later on she “accidentally” CCed me on an email telling another club member how much she disliked me and how she didn’t want to spend a weekend on an island with me, so, you know… that’s a thing.

I hope that — knowing what I know now, having written what I wrote above — that’s the last stupid historical hill upon which I destroy a friendship.

Now, whether or not the HMS Bounty mutiny came out of a torrid affair between Fletcher Christian and Captain Bligh? That is the sort of hill I will die on.

(Featured image photo credit: The New York Public Library on Unsplash)

Playing Video Games for Racial Justice, part 2 of ??

In which I review three more games out of the Itch bundle: A Mortician’s Tale, Mon-Cuties for All, and Verdant Skies

I enjoyed doing this so much, I did it again! You can find part one here.

A Mortician’s Tale

Love this banner art! Credit: A Mortician’s Tale on Itch.io.

A Mortician’s Tale is a short, story-driven “empathy game” by Laundry Bear Games, exploring the Western death industry through the eyes of Charlie, a fresh-out-of-school goth mortician.

Most of the story happens via in-game emails. There’s a long-running email conversation with a friend (sister?) who works in a museum, and daily newsletters that keep you up to date on innovations in the death industry. Emails from your coworkers and bosses present the contrast between small, “mom and pop” funeral homes and the big corporations that are replacing them.

In between reading email you do your job — preparing the dead for burial or cremation, embalming them with tiny adorable tools, and attending funerals.

In fact, the mechanics of the tiny adorable embalming tools might lull you into thinking this is Yet Another Simulation Game — an odd one, sure, but I have played Graveyard Keeper. The mechanics are well-designed, and on the whole they feel good to use. Which is great! Except it’s easy to get distracted by the mechanics and forget that Story is Happening.

Witness: tiny adorable embalming tools. Credit: A Mortician’s Tale on Itch.io.

In fact, that’s exactly what happened to me — I arrived at the end to find I hadn’t been paying enough attention to the story. I knew something impactful had just happened, but it was diminished by the fact that I couldn’t remember who it concerned! This probably wasn’t helped by going into the game not knowing how incredibly short it was.

Basically I need to go back and replay this game so that I can get the full impact of the story. I’d urge you to not make the same mistake I did — keeping in mind that the gameplay is only about an hour long.

Also worth noting: there’s not really much branching going on here, so replayability is limited. I noted only one point where you had to make a choice, and it’s unclear to me if anything different happens on the other path. I guess I’ll see in my inevitable replay!

Overall, I rate this one 3.5 out of 5 stars.

Mon-cuties for All

Credit: Mon-cuties for All on Itch.io.

Mon-cuties for All by Reine Works is a game about raising monsters on your country farm. It was tagged “clicker game” in the Itch bundle database, which was precisely what I was in the mood to play (see: Plant Daddy, from my last post).

it takes the clicker part of “clicker game” very seriously, and I came out of this game with a sore finger.

This game starts with a long and not particularly relevant intro involving the farmer who’s selling you his farm in the country. He seems uncertain about your gender, which leads you clunkily into character creation. (Funnily enough, after all that, the best you can get towards a non-binary gender presentation is “androgynous.” I mean, I guess it’s something?)

Then the farmer… disappears? “Is that supposed to be important?” I wondered, but it never comes up again.

You start with one monster who’s already living in your barn — a tanuki, in my case, although the other possible option is something called a “carbuncle.” While I understood this word to mean “a cluster of boils on your body,” apparently it has another meaning in the world of monster ranching, which is “a fox-like creature with a gemstone in its forehead.”

(After some research on the always-reliable TV Tropes, I figured out this usage of carbuncle dates back to Jorge Luis Borges’ Book of Imaginary Beings, but it has been used greatly in anime and Japanese RPGs. The game also features the nekomata, a creature from Japanese folklore, so yeah, there is a very anime/Japanese folklore aesthetic to this game).

I’m sorry, if this banner art doesn’t say “mid-1990s anime,” to you, I don’t know what to say. Credit: Mon-cuties for All on Itch.io.

At any given time, there are only three things you can be doing: feeding/taking care of your monster, attending a prize fair, or shopping. When I discovered that, I very much had a moment of “… seriously, that’s it?” I dunno, maybe I expected to shovel monster poop on my idyllic country estate?

First, let’s talk about the “taking care of your monster” part of the game. Holy hell, is it a lot of clicking. That is basically all it is — do X number of clicks in a very generous amount of time, and your monster will smile instead of looking surly. (Personally I prefer a surly-looking tanuki, but YMMV). After three such feedings, your monster will level up.

And require more clicks to level up again.

To give you an idea of how absurd the amount of clicking is, you start by having to click… 10? 20? 50? times? It varies by monster, but it felt reasonable at first. But by the time you’ve maxed out your monster, it’s a total of something like 5,000 to 20,000 clicks each time you care for them, and just… NOPE.

Now, lest you think this is worse than it actually is, let me talk about another of the game’s three activities: shopping. In the shop you can buy “treats” and “toys” that will make your clicks more effective, in standard clicker game way. However, they are priced such that, at the beginning, acquiring them is veeeeeeery slow. So while you might not have to make 100, 500, or 2,000 clicks directly, you still have to click a lot, especially at first.

What else can you do in the shop? Well, you can buy new monsters, and… that’s about it. (I did note with some amusement that the feline shop owner, Nyahjit, is clearly an homage to the Khajiit of the Elder Scrolls).

Where do you get the money for shopping? Prize fairs. These are basically trivia games. Trivia about what? It’s a little bit of everything! Some of it is about cats (sadly, all those farming parties in my ESO guild Feline Good Meowporium did not prepare me for this), some of it about Reine Works and the game itself, and some of it is just random. (“Who was the first queen of England?” or “What is the highest recorded distance a goldfish has jumped?”)

Either way it’s unlikely you’ll already know the answers to most of these questions, so you won’t be making much money at the prize fairs until you figure them out. This doesn’t take too long, as the set of questions is pretty small, and they are introduced in tiers based on the “level” of the prize fair. (It’s unclear to me how the game decides what level of prize fair you attend?) If you answer all three trivia questions correctly, you win a prize; otherwise you get a meager consolation prize of (IIRC) between $25-$100, depending on level of the fair.

It is… not a lot of money. And since money is how you buy treats and toys that allow you to do less clicking… again, in the beginning, there will be lots of clicking.

I also felt like the game just sorta… ends, rather than wraps up neatly. It finishes after you’ve acquired your final monster — an incubus, in my case, as it was the most expensive — without you leveling that monster up. I felt was being rushed out the door just as I got to the party!

(The leveled-up incubus was quite the handsome fellow, by the way. I would like to have tea with him and share my thoughts on post-Reformation epistemology. For a brief moment I was sad this wasn’t a monster dating sim…)

Tho seriously, that bodice… jacket…. thing is doing him no favors. It’s clearly meant for someone with boobs. Although, being a demon, I’m sure he could have boobs, if he wanted to…

On the whole, I wasn’t very happy with this game. There was too much clicking, and a lack of different activities to do. I guess I expected more simulation-y aspects to the game — that “taking care of your monsters” would be more than just clicking repeatedly. Once you’ve done all the clicking, too, there’s probably not more than an hour of gameplay here. Plus I’m just not a super fan of the cutesy anime style to the storytelling.

That said, I have only good things to say about the art, music, and the sound effects. Someone clearly put great care into crafting the different sounds for each monster, and the different levels and color palettes for the monsters. These felt polished, even if the story and gameplay didn’t always.

On the whole I give this a 2 out of 5 stars. It wasn’t for me, but I can see how it might appeal to others!

Verdant Skies

Verdant Skies by HowlingMoonSoftware is a life stimulation game in the vein of Harvest Moon or Stardew Valley. Here, you play a colonist on an alien planet, doing things like growing plants, fishing, cooking, and scavenging for scrap to improve your homestead and your colony, all while managing your energy, which slowly depletes over the day.

First things first: I love this thumbnail art, used to promote the game on index pages on Itch.io. It made me want to jump in right away, before I even read the description. If the job of the thumbnail is to sell the game, then it succeeded admirably.

I mean, it may help that I have a dress like that.
Also: note the subtle rainbows!
Credit: Verdant Skies on Itch.io

This thumbnail is pretty representative of the game art, too, with the hand-drawn style of the cut scenes contrasting with the more pixelated style of the actual gameplay. I like both — whoever the artist(s) are, they use color in ways I really love.

Like many games in this genre, Verdant Skies gives you the ability to romance, marry, and have children with the NPCs you encounter in the game — from the stern-but-ultimately-kind colony director to the ditzy blond photographer who begs you not to eat fish. But unlike most of these games, Verdant Skies rejects outdated notions of gender or sexual orientation.

For one thing, in designing your character, gender is irrelevant –you select the hair, face, and clothing you want from options that are more-or-less gendered, but gender is never explicitly stated, so you are free to define your character how you like. (In the narrative, your character is always referred to as “they” in the third person. Ideally I’d prefer the ability to choose pronouns, but this is pretty good, too).

As I’ve been doing lately when it’s an option — like in Mon-Cuties, in fact — I picked a fairly-androgynous-but-slightly-femme gender presentation. Is this telling me something about my gender presentation IRL? Maaaybe, I dunno. I’m pretty gender apathetic, all things considered. But that’s neither here nor there!

(I read some complaints that “none of the faces are masculine enough!” but that was on the Steam forums, so I tend to write that off as the gripings of toxic masculinity — the real villain of Verdant Skies!)

Given that gender is irrelevant, sexual orientation only has as much meaning as you, the player, ascribe to your character and who they romance. And there are many fine choices for romance, including at least one non-binary character using they/them pronouns — Zaheen, the colony’s doctor.

(I don’t think I’ve met all the NPCs yet, so there could be others, too).

There’s a lot of racial diversity in the cast, too — admittedly, ethnicity doesn’t matter much in space, but it’s implied you all come from Earth, where such things definitely do matter. At least three characters are Black (Jade, Anthony, and Wyatt), Zaheen is coded Middle Eastern, and the mechanic Rosie is Latina. Again, there could be more diversity among the characters I haven’t met yet!

And then there’s the Scottish character, Nessa. I have a… thing about bad Scottish dialect in fiction, and this character has a bad case of Robbie Burns. Look, I’ve spent a lot of time in the UK, some of that with honest-to-god Scottish people, and I am pretty sure that ACTUAL MODERN-DAY SCOTTISH PEOPLE DON’T SAY “AMN’T” for “am not.”* That said, she is a redheaded farm girl who loves animals, which is exactly my jam. I may romance her. (After Wyatt; see below).

*(Actual Scottish People have informed me that “amn’t” is rare but does occasionally come up, mostly among older folks. Still I maintain that if Nessa were any more aggressively Scottish, she’d be a talking plate of haggis).

Luckily for my highly romantic heart, some characters in Verdant Skies are open to polyamorous relationships, which is really the first game I’ve played that allows that! I haven’t explored it yet, but it’s something I’m looking forward to checking out. According to posts I’ve seen on the forums, some of the mechanics break down in actual play, in that ultimately you can only choose to live with one spouse. The developers have expressed a desire to make that work better, but it requires a lot more dialogue trees, i.e. more work, i.e. probably more money and/or time.

Personally, I developed an attachment to the Black botanist Wyatt. He had me at “lovely specimens of Poaceae around here, eh?” Like the totally well-adjusted human with the totally misspent youth that I am, I knew immediately he was talking about grasses, and was able to respond with “WHY YES, I especially like the purple ones!” Clearly it’s love at first turf, although our relationship is still growing, as we take turns at the gene splicer or bump heads while harvesting mushrooms.

Like you do.

Did I mention he’s a punster? (Pundit?) BE STILL MY HEART.

Speaking of gene splicing, I want to say a word about the gene splicing mini-game, which allows you to combine a traits on plants (and later, animals, too) to select for the traits you want. At least for plants (I haven’t explored animals yet), you have traits like “juicy” or “tasty,” that increase the nutritional value, as well as ones like “regrowth” or “double yield,” that change how you harvest them.

I was worried I was “doin’ it wrong” at first, especially since I hadn’t watched the “Verdant Skies Gameplay – Genetic Splicer Tutorial” video. But it’s actually pretty intuitive — put two seeds in, and drag a slider back and forth until you get the traits you want. One end is all the traits from the first seed, and the other end is all the traits from the second seed, and the order you put them in the splicer does matter.

On the whole, it’s a fun system which feels satisfying to use! But then, if you don’t have good mechanical representations of mundane(ish) tasks in a life simulation game, then what do you have?

Besides cute botanists, I mean.

Overall, this has been one of my favorite games out of the Itch bundle so far, and I went whole-hog and rated it 5 out of 5 stars. It’s nearly my perfect game!

So that is three more games down! Only… 1735 more to go?

The next games from the bundle I’ve been playing are Changeling and A Short Hike, and I hope to write about those next — maybe along with one other game? We shall see!

TIL in JavaScript: Timers

Time is an illusion, and time in JavaScript doubly so.

This is the start of — hopefully! — a new series for me, “TIL in front-end web development.” In case you have never been exposed to it before, “TIL” stands for “today I learned.” I believe the term has its origins on Reddit, that wretched hive of scum and and occasional hilarity.

My purpose with this series is to chronicle what I’m learning in my personal front-end development enrichment projects — which I suddenly have a lot more time for, thanks to unemployment. I’ve been doing this work for 10+ years professionally, but I still learn something new every day; every day I’m Googling something I don’t know, or some topic I need a refresher on.

Some of the things I searched for while writing this blog post. I’ll leave it as an exercise to the reader which are related to this blog post, and which aren’t. “Lenticel,” for example: hot new JS framework, or part of a plant?

Without further ado, let’s talk about timers.

“Don’t lie, you’re crying because you have been coding (timers) in JavaScript.” Surprisingly few tears were shed in the making of this blog post! (The meme is CodeHub’s, but the red text is all me).

Brew tea as long as you want, as long as it’s five minutes

My most recent web development enrichment project has been Teamer, a tea timer webapp built using only HTML, CSS, and vanilla JS. Between that, and a code challenge I did for a job interview recently, I felt like I was thrown into the deep end of the “I write algorithms not event handlers” pool.

(“I write algorithms not event handlers” is clearly the next hit single from Panic! At the Disco).

Teamer started very simply, with just a series of buttons corresponding to each tea. When you clicked one, it would start a timer using the brewing time ceiling for that tea.

Like so. In the original iteration, if you clicked on the pale blue circle corresponding to white tea, you immediately started a five minute timer.

In this version, there was no possibility for adjustment. You wanted white tea, you got a five minute timer. That’s it. It wasn’t the most friendly user experience, but it was fine for a first pass.

(There are plenty of tutorials, Codepens, and JSFiddles out there about building a basic timer, but did I look at any of them? I did not. I knew I would learn it better if I had to figure it out myself).

The basic tea timing algorithm

Fundamentally, the timer algorithm is:

  1. Set the timer: set the visual display of the timer as minutes and seconds, and save it in milliseconds somewhere. (Where this value is saved varied between versions. Currently it’s stored as the value of the play/pause button). Logically enough, this is a function called setTimer();
  2. Calculate the starting time in milliseconds. This uses the Date.now() method, which returns the current time in UTC/Unix epoch format, i.e. the number of milliseconds since 12:00am, January 1st, 1970. (Why 1970, I don’t know; I don’t make the rules. Maybe one day they’ll give me Tim Berners-Lee’s private number and I can call him up in the middle of the night and ask him questions like this).
  3. Calculate the deadline — the point at which the timer will stop — by adding the milliseconds from step 1 onto the Unix start time from step 2.
  4. Start ticking: Using the setInterval() method, “tick” every second (1000ms) until the deadline.
  5. On every tick: update the visual display as well as the current milliseconds, and compare the current milliseconds to the deadline .

Once I had that working predictably, I decided it was time to break everything add some user controls.

User controls = extra complication

(Matt saw me writing that title and said, “You’ll soon learn that users are the enemy”).

For the next iteration, I wanted to add a few new buttons: play/pause (that would allow you to pause and restart the timer), stop (that would stop the timer and set it to zero), and buttons to increment or decrement the timer by one minute or ten seconds.

That’s when things got complicated.

For one thing, I had to separate some of the logic from setTimer() out into a new playTimer() function. Previously, the timer started as soon as you selected a tea; now, I wanted the timer to start only when the user hit the play/pause button. So this necessitated some refactoring.

This is also where I created tick(), breaking out an anonymous function inside setTimer()/playTimer() into a named function that I could run with setInterval(). This function was designed to hold all the things that had to happen each time the timer ticked down — everything in step #5 above.

Using a combined play/pause button also meant that I had to keep track of the toggle state of the button, which I did with a playing Boolean variable.

Incrementing/decrementing necessitated a probably-too-clever switch() block based on the value attribute on each increment/decrement button:

       switch (parseInt(btn.value)) {
            case 60:
                setTimer(mins+1, secs);
            case -60:
                if (mins === 0) {
                    setTimer(0, 0);
                else setTimer(mins-1, secs);
            case 10:
                if (secs > 49) {
                    setTimer(mins+1, (secs+10)-60);
                else setTimer(mins, secs+10);
            case -10:
                if (secs < 10 && mins === 0) {
                    setTimer(0, 0);
                else if (secs < 10) {
                    setTimer(mins-1, (secs-10)+60);
                else setTimer(mins, secs-10);

You can see that as well as resetting the timer, it handles some corner cases around converting from base 60 to base 10, i.e. when you reach 59, you need to roll over to zero, not 60. Also in there is logic to prevent you from setting the timer to negative numbers.

(I’m embarrassed to admit how long I swore at this switch() statement, which seemed to be doing zilch on my first pass — no timers were being set. Then I realized that the btn.value was coming in as a string, and thus it wouldn’t enter any of the cases — cases inside a switch() block always have to be integers. JavaScript’s wibbly-wobbly typing strikes again!)

Feeling self-satisfied with my work, I pushed my code to my website and added it to Codepen. But then I noticed two other problems…

Take one down, pass it around… three gnarly Javascript bugs on the wall!

The two three problems are found were this:

  1. The timer was occasionally displaying as “:60” instead of “:00.”
  2. Adding time to a timer while it’s running causes the timer to become All Fucked Up (a technical term).
  3. Remember #1?…

The importance of being earnest (to the rounding method you choose at the start)

Debugging problem #1, I quickly realized it had nothing to do with the tortuous switch() block — that was your first thought, too, eh?

However, I was concerned by the logic to calculate the remaining time on a timer — part of the tick() function, called every 1000ms. It looked something like this:

       if (end > now) {//time hasn't elapsed yet
            let diffMs = end - now;
            let diffMin = Math.floor(diffMs / 60000);
            let diffRemSec = Math.round(diffMs % 60000 / 1000 );            
            setTimer(diffMin, diffRemSec);         

(It actually wasn’t nearly as neat, because at this point I hadn’t yet figured out how to use the modulo operator to remove the minutes I had already accounted for. I highly recommend this Stack Overflow answer for the smarter way of doing things).

(Also no idea why I’m using let for those three variables that I’m never reassigning. I guess I’m still not 100% used to the ES6 assignment keywords).

You may notice this disconnect between the Math.floor() method I’m using for diffMin and the Math.round() method I’m using for diffRemSec. Surely that may cause some weirdness, right? Plus there’s nothing stopping from Math.round() from rounding up to 60; I’m not doing any base-conversion math like I am elsewhere. I also couldn’t remember why I had chosen Math.round() instead of Math.floor() — so, ultimately, I changed it to Math.floor().

Good news: I no longer saw “:60” instead of “:00”.

Bad news: the timer was now skipping numbers. (This is bug #3, alluded to above). Most noticeably, when you started the timer, it went straight from “:00” to “:58.” It would also occasionally skip numbers down the line.

I tried a bunch of different solutions for this. Applying one Math method, then another (no dice). Testing for that “:60” case and manually resetting it to “:00.” (That caused a slew of other issues). None of these really did what I needed them to do.

The basic problem was: it’s correct to use Math.floor(), but the visual display of that data is incorrect.

Time is an illusion, and tea time doubly so.

Having ruled out rounding error, the conclusion I came to regarding the cause of the skips was: the code in tick() took some non-zero amount of time to execute. Thus each measurement was being taken at 1000ms + 5? 10? ms, which over time would lead to drift.

Alternately — or in addition — there’s the fact that setInterval() is cooperatively asynchronous. That means all synchronous code on the main thread must clear the call stack before the setInterval() callback executes. (Hence the source of Every Hiring Manager’s Favorite JavaScript Question Ever).

Give that, I asked myself: can I run tick() more frequently?

Before I dive into that, allow me a minor digression to talk about metaphors. (What can I say, I’m a word nerd as well as a nerd nerd).

The concept of a “tick” comes from an analog clock with hands, where each second is a movement of the hand of the clock, making a click or tick noise. If you speed up the ticks of an analog clock, you get a clock that runs fast; it will ultimately become so out of sync with Observed Time ™ that it becomes meaningless.

From my trip up the clock tower of Bath Abbey when I was there in November 2019. We were warned extensively not to touch the 18th century clock mechanism, as there was a very real risk of changing the time for the city of Bath.

But that metaphor doesn’t transfer perfectly to our timer, does it? If you speed up the ticks, all that happens is the display is updated more often.

“Really, Lise?” Really. I know it doesn’t sound right, but bear in mind — what ultimately determines when the timer ends is the deadline in milliseconds. That never changes, no matter what you do on each tick. And both the deadline and the current milliseconds are grounded in Unix time, which is as official as it gets.

So what’s left? The visual display. There’s real math happening behind the face of this clock, so the updates will always be accurate to the current Unix time. But if the user sees skips in the sequence, they’re not going to trust that it’s accurate.

Here’s where I’m practicing my UX design skills. Because the conclusion I came to is:

  • What’s most important to the user experience is the illusion that the timer is counting down at a rate of 1 second per second, with no gaps.
  • The human brain can’t tell the difference between 1000ms and 990ms.

So that’s what I landed on — tick() is run every 990ms instead of every 1000ms. Like so:

ticker = setInterval(tick, 990, deadline);  

Relatedly, I want to take a moment to add: making setInterval() a function expression in the global scope is crucial, so that you can use clearInterval() to stop your timer. The assignment snippet above lives in playTimer(), but it’s first declared near the top the JS file with let ticker. (See, that’s the right usage of let!)

Anyway, I tried a few different intervals, but I still saw skipping with 999ms, and with numbers below 990, I often saw flashes of the same number twice (as the display was updated with an identical number).

(You will see those once in a blue moon even with 990ms, but it’s not super noticeable. If I decide to add a CSS transition to the numbers, I might have to account for that — maybe setting up a control block that only updates the number if it’s different from the immediately previous number?)

Once again, JavaScript allows me to pretend I’m a Time Lord.

Who does number two work for?

I didn’t forget bug #2 (inc/decrementing a timer while it’s running causes weirdness), I promise! Although I did set it aside temporarily while I dealt with JavaScript’s timey-wimeyness.

I found there were a couple of things going on here:

Problem the first: the deadline was not being updated to reflect the new deadline. When you added/removed time without going through the click handler on the play/pause, you were never invoking playTimer(), and thus never setting a new deadline. So if you added a minute to a 3-minute timer, it would look like a 4 minute timer, but in the code it was still waiting for a time three minutes in the future.

So, I should explicitly invoke playTimer() after my big ol’ switch() block, in the click handler for the increment/decrement buttons, right?

But hold on, what if the timer is already paused? Then I’d be doing it twice; once at the end of the block and once when the play/pause button is clicked. I definitely don’t want to set the deadline or change the playing state twice.

So this is was my first iteration:

        if (playing === true) {
            playTimer(); //if timer is running, run playTimer() to update the deadline; otherwise it will update when the play/pause button is clicked again

That fixed the “resetting the deadline” issue, but in classic debugging fashion, raised a new problem: now the timer would flash between the old time and the new time. Wtf?

I eventually figured out I had to stop the ticker (with clearInterval(), in the stopTicker() function) before starting another one. I’m guessing this is because every time you run playTimer(), you create a new instance of ticker; they each have their own closure with the same starting values, but then they diverge based on the differences in the environment at the times they’re run. You get the flashing behavior because the two different tickers are trying to modify the same DOM element, like two children fighting over a toy.

… but my understanding of the inner working of JavaScript and closures is imperfect, so take this analysis with a grain of salt.

Anywho! This worked fine:

        if (playing === true) {
            playTimer(); //if timer is running, run playTimer() to update the deadline; otherwise it will update when the play/pause button is clicked again

In Conclusion: What I Learned

I’ve finished all the time juggling for my tea timer app (for now, she says, ominously), and now I’m working on adding more features. An alarm when the timer ends? Using localstorage to allow users to add custom teas? Heck, maybe I’ll even add the ability to have multiple timers running at once, as an excuse to work with classes in JavaScript.

But to summarize what I learned about timers in the process of writing Teamer:

  • Date/time math is easier with modulo.
  • User control makes everything more complicated.
  • Sometimes the answer to “why doesn’t this razzlefrazzle work?” is “you need to parse it as an integer.”
  • Be consistent in your rounding methods, and always use Math.floor() when working with time.
  • If you want to stop your setInterval(), you need to tie it to a function expression in the global scope.
  • Just because your timer is meant to update every second, doesn’t mean it needs to update at precisely that interval — the illusion is more important than the truth.
  • Honestly, timers are a solved problem, and if I were doing this for any purpose other than my own edification, I’d probably go with the time-tested approach of copying and pasting from Stack Overflow.
I never run out of uses for this image.
  • I still maintain that working with JavaScript is like being a Time Lord — you get to work with a lot of wibbly-wobbly timey-wimeystuff.
  • I wanna meet someone who was born at midnight on January 1st, 1970, just so I can give them the nickname “UTC.”

If you want to see the current iteration of the code with highlighting ‘n stuff, it’s up on Codepen.

And that is already way longer than I ever intended this post to be. Hopefully it is useful to someone other than future!Lise.

Playing Video Games for Racial Justice, part 1 of ??

In which I review three games out of the Itch bundle: Overland, Pagan: Autogeny, and Plant Daddy

Like many people, I purchased the Bundle for Racial Justice and Equality on itch.io. I may be unemployed, but $5 is not a lot to ask for 1,741 indie games, comics, books, and RPGs! (I even chipped in a little extra).

By the time the sale was over, Itch had raised over $5 million dollars, 100% of which was donated to the NAACP Legal Defense and Educational Fund and the Community Bail Fund.

(As an aside, I’d like to point out that Itch is a small indie games storefront, so they’re not exactly rolling in dough. And yet I don’t think we’ve seen similar initiatives from, say, Steam/Valve, or Blizzard, or any AAA game studio… gee, I wonder why that is? Does it start with “c” and rhyme with “shmapitalism”?)

Of course, now that I’m bought all these games, how do I figure out which ones to play? Out of a list of 1000+ games, how do I find stuff I like?

Some folks have put together tools (spreadsheet, app) that will help you to search through them by ratings, tags, description, developers, etc. The webapp will even suggest a random game for you! These are great, but you still have to know what you’re looking for — or at least be willing to click the “random game” button a lot.

So how do you get turned onto games you might like, but might not know you’ll like? For me, the answer to that is often “friends’ reviews.”

Therefore, I think it’s only fair for me to write up my impressions of the games from this bundle that I play. Hopefully this will only be the first post in a series!


Overland, published and developed by Finji (the spousal team of Adam and Bex Saltsman), is a “turn-based survival game” where you and a band of unlikely heroes — including some dogs! — take a road trip across the U.S. in the wake of a bugpocalypse.

First point: this is a game where you can definitely pet the dog. Your whole team can be dogs, if you like! Dogs wearing beanie hats and little backpacks!

… this is not a very good strategy, alas, as dogs can’t drive or fill up the car with gas.

Contrary to this awesome t-shirt, the dog cannot drive. (Credit: the Finji shop, where this item is sadly out of stock).

I’ve sunk dozens of hours into this one already, so clearly this is a compelling game. Challenging, too, as I haven’t managed to beat it yet — the farthest I’ve gotten is “The Mountains”, which is the second-to-last zone, where the bugs are crowding in faster than I can deal with them. I still feel there is a lot of room to perfect my strategies for the basic “get gas, drive to the next stop” mechanic.

Ultimately, though, I can’t play this game for very long stretches. It’s the sort of game that requires making hard choices — do I leave someone behind so that the rest of the team can escape? Do I murder this other survivor at the gas station because they might steal my car? — and the consequences of those choices. That is part of what makes it so emotionally compelling, but also stressful to play for long periods.

I also don’t love the controls. It took me a while to get the hang of the “right-click to switch which party member you’re acting as.” Even with… twenty hours? or so in this game, there’s still a lot of me muttering “undo, undo” when I accidentally move where I don’t want to. (Thank goodness for that functionality!) Maybe it plays better with a controller?

But even if it’s not an “always” game for me, I still seriously admire the artistry that went into creating a game at once attractive and wrenching. When you consider there’s some degree of procedural generation that goes into this (in the dialogues between your party members, or in what stops appears on your map), that’s even more impressive.

Overall, I’d give it 3.5 stars (out of five). I think it would most appeal to fans of games like FTL or some of the XCom games, with its tactical, turn-based combat and difficult decision points.

Plant Daddy

Plant Daddy, by Brady Soglin is “a laid-back browser game about raising houseplants in your sunny apartment.” You can play it in the browser without having the bundle, or by purchasing it you can download and play it on Mac, Windows, or Linux.

The living room of my “sunny apartment,” late in the game. Matt’s comment was, “So this is apparently a plant hoarding simulator?”

This was the first bundle game I played, and I enjoyed it so much I pretty much binged it. Of course I appreciate anything involving plants 😉 But I also like the options you have for displaying your plants, I like the goals outlined on the to-do list, and as a long-time fan of alchemy-type systems in games, I was intrigued by the rare traits mechanic.

To me, Plant Daddy feels a lot like an idle game — click some buttons, gain some currency, come back later to click some more buttons and watch numbers go up. That’s not a bad thing! To the right kind of person — and I am that kind of person! — those sorts of games can be very relaxing. At the time I bought the bundle, that was precisely what I was looking for, and I sure found it!

I just wish there was more to it? It’s easy to play through most of the items on the “to-do list” in a day or so of regularly checking in — I think the only one I have left to complete is “find a plant with four rare traits,” and I don’t have a great path to achieving that.

That brings me to another point. I found the search for rare traits enjoyable at first, but ultimately somewhat unsatisfying. Each plant has a 7 digit “seed” number, and there seems to be some pattern to which seed numbers correspond to what rare traits — for example, the first three digits encode the plant species; all Ancient Ferns have numbers between 090 and 097, but only some of those will have rare traits. The last four digits encode traits in some additional way; they seem to work in concert with the first series, but it’s not 100% clear how. You can enter (almost) any seven digit number into your plant workbench and grow that seed, but there’s no guarantee it will have any interesting traits. And basic combinatorial mathematics will tell you that 7 digit numbers = a LOT of possible permutations.

Plus there’s at least some randomness to what digits correspond to what traits in what plants, because I still haven’t figured out a way to get predictable results. I’ve had the best luck combining the two sets of digits as groups, rather than just incrementing or decrementing the whole series. But even working with series I know encode 1-3 traits, I only get plants with 0-3 traits.

I have a feeling the four trait-plants are encoded with a completely different series than the 1-3 trait series, but short of brute-force guessing, or lucking into a plant with four traits from the shop, I have no systematic way to find those magic numbers.

(I guess a lot of people just go on the game forum to get seeds for four-trait plants, but that doesn’t seem like much fun to me. I may do it eventually, though, to satisfy my completism).

Another quibble: as a browser game, this runs in a Unity window within the browser. This is not exactly optimal, performance-wise. Now that my apartment is filled with plants, it lags starting up, and the longer I run it, the more it sounds like my computer (a brand new Macbook Pro) is about to achieve liftoff.

Given this, I considered downloading it and running it as a desktop application — an option, especially if browser games aren’t your thing. But that was when I discovered that your save doesn’t sync between the versions, so I would have to start from scratch for each platform.

(Plus fundamentally this feels like a browser game — see the comparison to idle games, above).

Despite these concerns, I got a lot out of this one! I think it will appeal to folks who like idle games, or who just want something relaxing and low-key in a stressful time. Three out of five stars.

Pagan: Autogeny

Pagan: Autogeny by Oleander_Garden is “an experimental first person open world role playing game set in the digital ruins of a largely abandoned MMORPG.” I saw that and was like YES PLEASE INSTANT DOWNLOAD, because if there’s anything I like, it’s games that comment on the experience of playing a game. (Hence my love for the Jvk.esp creepypasta, and my general love for the lore of the Elder Scrolls).

Speaking of creepy, the major thing I want to say about this game is it’s CREEPY AF. I think that feeling is forged by a combination of nostalgia and incompleteness — or, to crib from the phenomenal Itch copy: “It is heavily inspired by long-forgotten bargain-bin 1990s adventure games, and by a general ethos of user-hostile design.”

The nostalgia, first. From the first screen, which asks you to pick your resolution (defaulting to 1024×768!), you are treated to a Windows 95-era loading screen for an MMO ostensibly named “Plaza 76.” Once you load in, you find yourself a pixelated lobby — the graphics are about on par with, say, the original DOOM, or TES II: Daggerfall. A giant card offers you some instructions about how to move around in the world, but you’ll soon find they’re woefully incomplete.

Here in the lobby you can acquire a few starting items — a tarot card (an equippable item that increases your stats), a mystic blade, “labor vouchers,” and a few skill-up items. From that lobby, you can launch into various different biomes, which offer different adventures and things to find.

A view of the lobby of Plaza 76, including a neon “Food Court” sign.. I would not eat the sesame chicken from that food court, let me just say. (Credit: the Pagan: Autogeny page on Itch.io)

Just like any MMO, right? Except you’re alone and this world does NOT hold your hand.

(FWIW, I never played around much in early MMOs myself — my first one was City of Heroes in 2003 — but visually this reminds me a lot of watching my husband play Phantasy Star Online on the Sega Dreamcast).

The incompleteness, next. I think this arises out of the setting — a deserted MMO — as well as that aforementioned “user hostile design.” Overall, this gives the game the sense of an abandoned project, just as the creators doubtless intended. That you can’t extrapolate what lies ahead from what you’ve already passed through is the source of some of the creeping horror you come across in the game.

A few words about that user-unfriendliness — don’t expect any features you would have in a modern MMO, like a map, or a way to look your current buffs and debuffs, or, heck, even your hit points. I took to drawing maps on paper, because otherwise it’s easy to wander in circles in some of these zones.

Plus, like many old-school MMOs, too, when you die, you lose some of your items (thankfully most stuff is easy to reacquire), and respawn back in the lobby.

Like any good MMO, your experience is tied into your skills and equipment, and how those tie into the setting. Your skills include “murder”, “poetry,” “caffeine”, “body morphing”, and “estrogen.” You’ll pick up your first points in these in the lobby, which you may notice has only one bathroom, marked as a ladies’ room. That bathroom is also where you’ll find your starting tarot card, the High Priestess — traditionally associated with feminine power, this tarot nerd notes. Finally, one of the “quests” — as much there are “quests” — involves putting together a mannequin from body parts you find lying around the world; this increases your body-morphing skill.

Starting to notice a theme?

So yeah, there there is a continual, low-grade trans energy to this game, which is perhaps the “cursed gender_magick()” mentioned in the game description on Itch. (I was only a little disappointed that it wasn’t as transparent — pun not intended but certainly welcomed — as that description let me to believe).

This game apparently has multiple endings, but I have only discovered one so far — which is as surreal and vaguely terrifying as you might expect. I won’t spoil anything, but I will say that the game also plays around with breaking the fourth wall in a way that some of my favorite horror games do (i.e. Eternal Darkness, and yes, even that creepypasta I mentioned above).

If I have one complaint about this game, it’s that I have a lot of crashes to desktop (that are clearly not scripted — the game will make you question that, though!) The game description suggests using the 64-bit version if that keeps happening, so I think I will try that on my next trip to Plaza 76.

Another small quibble is that, having found the most obvious game ending, I’m at a bit of a loss of what to do next. I’ve explored all the obvious areas; there are apparently some hidden areas, but I don’t have a great idea of how to find them. And there’s at least one boss monster I’m not sure how to defeat! I’m sure if I poke I’ll uncover them, but the lack of a path forward makes me somewhat disinclined to do so. I wonder if this is where having a formal quest system might help?

One piece of advice I’d like to give to anyone who picks up this game is — make sure you read the manual in the install folder! You can go into this blind if you want the fully “user hostile” experience, but after your second or third trip it will definitely increase your enjoyment to understand what some of the equipment and tarot cards do.

Overall, I rate this one 4 out of 5 stars. As this is the third Pagan game by Oleander_Garden, I’m definitely inclined to check out the the other two that aren’t included in the bundle (Pagan: Technopolis and Pagan: Emporium).

All right, this got long, and I covered fewer games than I expected — but I hope you find it useful all the same. I think if there’s one thing I take away from this first round of games, it’s the world of indie games is broad and fascinating, and that I’m just sad I didn’t discover Itch before this!

(I’d also like to remind you to rate and review any Itch games you like! It will be helpful for those games’ visibility).

Join me next time, when I’ll discuss A Mortician’s Tale, Mon-Cuties for All, and Verdant Skies.

Treemendously nostalgic

(This post has been sitting in my WordPress drafts folder for, oh, a month and a half. I thought it was time it finally saw the light of day).

Lately, with all the time I’ve been spending in nature (and maybe I’ll actually write about that directly at some point!) I have been thinking about high school, Science Olympiad, and the Treemendous competition.

I was involved in Science Club for several years in high school, and every year we participated in the regional and the state Science Olympiad, a series of science-based challenges for a team of fifteen. Our team, from a Catholic high school in rural Plattsburgh, New York, usually did okay in the regional competition — enough to advance to the state event — but terribly in the state tournament, often placing in the bottom ten. (Theoretically there is a national competition, but that was always out of reach for us).

Both the state and the regional tournaments had the same individual events, but they did change from year to year. I was excited the year that “Treemendous” was added to the list — a challenge to identify North American trees by genus and species. It might have been new that year; I certainly hadn’t heard of it in the other years I’d been involved with the club. I volunteered to study for Treemendous that year, because it was the only vaguely ecological one, and I thought I’d be good at it. Hey, I could tell an oak from a maple!

… she did not do well at it, dear reader.

For one thing, the regional event used branches from winter trees. I apparently didn’t think this would be a possibility, even though the event was in the middle of (I think) February in the blasted heath of northern New York, USDA zone 3b to 4a. If it even crossed my mind as a possibility that “hey, there won’t be any local trees with leaves on them,” I must have dismissed it as “no one can identify trees in winter!” (Not true. It is very possible to identify winter trees. But you have to look for a different set of features, since you can’t rely on the leaves and blossoms).

Photo taken in March 2020. Pretty sure these are leaf buds of American beech (Fagus grandifolia), but did I know that in 1998? I did not.

Despite all that, I somehow I muddled through well enough to go on to the state event — I want to say the test was multiple choice, and didn’t use Latin names, but the biggest contributing factor was probably that everyone else did just as badly as I did.

Somehow we made it to the state competition that year, which I want to say took place in April or May, at West Point. The state Treemendous event used pressed samples of trees (not all of them native to New York), so in some ways it was easier. And yet, I did even worse. The IDs required Latin binomial names, and you actually had to recall them, rather than just recognizing them for a list — a task which is always more cognitively demanding.

Plus I soon realized that while I knew that an oak was genus Quercus, I could not remember that a white oak is Quercus alba and a northern red oak is Quercus rubra, nor did I have any idea how to tell the two apart. (I do now, sorta. White oak has rounded leaf tips).

Decayed white oak leaf
Now, THIS is a white oak leaf.

I think I came in dead last, or near it.

I haven’t put much effort into learning to identify trees since then, and it’s only since I’ve gotten into iNaturalist that I’ve been picking it back up, mostly because I got bored with the endless mountain laurel/partridgeberry/teaberry undergrowth in New England woods, and wanted a new challenge. I’ve come to some conclusions since then:

1) I would have done much better at Treemendous if iNaturalist had been a Thing when I was in high school. (I was in high school in the late 1990s, and it was mostly pre-internet).


2) I was studying in an absolutely awful way. And there was nobody telling me to do it any differently. (Theoretically, that’s what our faculty advisor/coach should have been doing. But for all that I adored Mr. Dilley, he was a chemistry teacher, not a botanist).

How I should have been studying was by doing actual tree identification. And yet I can’t think of one time I took my field guides and walked around my neighborhood trying to identify trees. And if iNat had existed, pulling up the Identify tab and filtering by “plants” and “Clinton County, New York” would also be a useful training exercise.

Either way, I know now what I didn’t know then (thanks, in part, to the great MOOC Learning How to Learn): that testing is learning. And I was definitely not testing my tree ID skills in any substantial way.

What I was doing instead was… making flash cards? Basically they were index cards with the common name, the Latin name, and a few facts about the tree. I might have written down if, say, the leaves were alternate or opposite, but I am pretty sure that nowhere did I use the term “leaf scar,” or any of the things that would have helped me to identify a tree in winter.

Also it took a lot of time to make flash cards — I was writing them by hand! — and I was not, let us say, particularly diligent about my study time for this event. (I was not particularly diligent about anything, really. Let’s remember I’ve had undiagnosed and untreated ADHD up until early this year).

Flash cards have their uses, but without real examples, none of the stuff I was learning stuck in my head. At least if I had been looking at real trees in my neighborhood, I would have been creating a memory palace out of my own neighborhood: like “oh yes, that’s a white oak I saw on the corner of Wells and Cornelia streets.” (Note: that’s a real intersection, but I have no idea if there’s actually a white oak there. Please do not take this as arboreal advice).

Even today, all my facts about, say, eastern redbud (Cercis canadensis) are connected to the first instance of it I ever identified, along the Cochituate Brook Rail Trail in Framingham. Which was in the Year of Our Lord 2019, at age 39, not long after I discovered iNaturalist. Thinking about that particular tree — like accessing any good node in a memory palace — is like an opening a drawer full of facts: That it flowers before the leaves are out. That the flowers often bud right off large branches. That the leaves are heart-shaped, large, and alternate on the branch. That the fruit is a bean-like pod (unsurprisingly, since it’s in the legume family, Fabaceae), which often remains on the tree through the winter. I didn’t remember the full binomial name off the top of my head, but I did recall it was species “canadensis” and that the genus started with a “c” — I could have passed a multiple choice question, if nothing else!

Do I regret my misspent youthful opportunities? Eh, maybe a little 😉

For what it’s worth, Science Olympiad is still a thing! However, Treemendous is no longer an event. It doesn’t even show up in the archived events, nor in a search! Maybe they, like I did for so many years, prefer to pretend it never existed 😉 Nonetheless I was pleased to see they now have a number of ecology- and nature-themed ones, including an ornithology challenge, and a proposed botany one, as well.

I’ll lament again, like I have before, that educational and enrichment activities like this are often seen as the domain of kids — as if you should stop learning when you’re an adult! So yes, maybe I do wish there was a Science Olympiad for adults 😉 I’d do a lot better today, now that I actually know how to study effectively. Youth really is wasted on the young!

I guess the closest I can get to that is setting ID challenges for myself, educating and learning on iNat and my nature groups, and maybe participating in bioblitzes, or other identification events.

Lise is a free elf! (or: I lost my job)

Photo by Andrew Neel on Unsplash

Here we are, six months into 2020, and hooboy, it sure has been a century. It feels irresponsible to start any personal blog post without an acknowledgement of COVID-19, the increasing fascism of the U.S. government, and racial injustice.

So before we launch into the latest episode of The Adventures of Lise: Transtemporal Gadfly in the Year 2020, let’s take a moment to acknowledge that there’s a whole big world out there that has nothing to do with my personal struggles.

(In case you have any doubt where I stand on current events: Black lives matter. And since it’s also Pride month: Black queer lives matter, and Black trans lives matter. If you have opinions contrary to that, you are welcome to keep them to yourselves and/or fuck right off. If you want to clutch your pearls about me expressing that opinion on a public post where an employer might see it, you are also welcome to get lost — I don’t want to work for a company that would judge me for fighting injustice).

… okay, ready to go on?

The big bad news: job loss

On May 12th, I was laid off, along with most of my team. It was very abrupt, very surprising — and yet inevitable, in retrospect.

It was made clear to me by many people that this decision had nothing to do with my performance, and everything to do with company financials. As far as I know, my manager had nothing to do with the decision — it was all made at a higher level based on I-don’t-know-what criteria.

My immediate reaction was… ambivalence. You see, I had already been looking for a job, on and off, for the past six months. I had been at this company ten years and I felt like I was stagnating. I had a few promising interviews in late 2019, but nothing panned out. So at first I was like, hooray, an opportunity to do something new?

But as the weeks have gone on, I’m definitely found a trove of… sadness? Nostalgia? about the loss. Even though I was ready to leave this company, it’s hard to put the work of ten years behind you in a day. I think of all the people I probably will never see again — my amazing manager and team members! — and the places I’m unlikely to return to (like the Savers of Framingham, or the Cochituate Brook Rail Trail). Sometimes I even think nostalgically about sitting at a certain traffic light on Speen Street.

Plus, we had all been working from home for two months due to the pandemic, which made being suddenly cut off particularly traumatic. I had (and still have!) a bunch of my personal belongings at the office. Going into an empty office to reclaim those tomorrow is going to feel exceptionally weird.

The good news is that we are not being left without resources. I have access to severance, outplacement funds, benefits continuation, etc, which means that for a few months, I won’t have to worry about paychecks or health insurance and I can focus on finding a new job. The economic situation is dire, of course, but I honestly feel like I’m in a better place than I was with my job loss in 2009.

In the final account… I’d rather be one of the people let go than one of the people remaining.

What kind of work do you do, anyway?

I’m in front-end web development, meaning I work primarily with HTML, CSS, and JavaScript (and adjacent technologies). My title before I was laid off was “senior front-end developer.” I have ten years of experience working on websites for a major tech publisher, plus additional freelance and personal experience. I’m happy to forward my resume if you think you have something that I’d like.

What am I looking for next? One word: values

First thing to know about me: I am fundamentally pessimistic about employment. I am always aware that you can be let go from any job, at any time, for any reason; there is no such thing as job security. You are only valuable to the company so long as you make it money. Capitalism gonna capitalize.

But I’m less capable these days of being blasé about that. Watching the news, I hate seeing incompetent executives — who are usually old white dudes — steer their companies towards disaster in the search of 100% year-over-year growth. (Patreon, I’m looking at you). I hate to watch billionaires like Jeff Bezos and Bill Gates do nothing* when they have the power to stop a pandemic in its tracks without even sacrificing 1% of their wealth.

*(or “very little, and only on their strict terms”)

I don’t want my next job to feel like I’m just a replaceable cog in a machine of death. I don’t agree with the corporate philosophy that “if you’re not growing, you’re failing.” I think more things matter than the bottom line.

Thus it’s important that my next position be at a values-driven institution.

Maybe that’s a non-profit, or a university. Maybe that’s a company that has a mission statement that it takes seriously, and which is is alignment with my values.

At the end of the day, I need to feel like I am more than just a machine for spitting out front-end code, or some kind of modern-day Morlock.

That may lead you to ask…

“…what are your values, anyway, Lise?”

You probably get a good sense of it from reading this whole post, but to list a few words and phrases that come to mind:

Intellectual curiosity.



Fairness. Accuracy. Equality and equity. Social justice.

Compassion. Treating people as ends, not means.

Putting people’s lives above property.

The power of stories.

… and probably more. Developing one’s values, after all, is the work of a lifetime.

What else is important to me in my next job?

Unlike the previous consideration, the points below are all negotiable — I’m willing to do work that’s less in alignment with my interests if I can do it remotely; I’m willing to go into an office some of the time if I can solve interesting problems. I’m also willing to be flexible on pay and benefits if I can do work I love.

I want to work remotely.

I live in rural Massachusetts, and I am 50 miles from the nearest big city (Boston). Let me just say, I do not want to work in Boston. I’m not even sure I want to commute to Worcester, some 30 miles away.

Since I had been doing my job remotely for two months, and working remote regularly before that, I see no reason why I need to go into an office.

Generally I feel that the managerial attitude that wants to see “butts in chairs” is the same attitude that values the appearance of productivity over actual results, and I will take a hard pass on that attitude.

I want to solve problems.

All my performance reviews at my last job said the same thing: “Lise is a tenacious problem solver.” I’m happiest when I can be fully immersed in Making Something Work.

And when I succeed in solving a problem? Man, there’s nothing like that rush. It’s true for writing and it’s true for web development — although when I come up with a different way to use aspect-ratio CSS cropping, the audience to whom I can brag is considerably smaller 😉

Arguably, all technical work is problem solving, so this doesn’t really narrow it down, does it? So let me further qualify: I’d like to solve interesting and important problems.

First, the interesting. I’d like to get better at writing novel algorithms. So much of web development is trodding the same ground over and over again; it’s hard to find opportunities to come up with a new approach from scratch rather than just copying and pasting a solution someone else has figured out. (Even if that someone else is “past you”).

“Essential Copying and Pasting from Stack Overflow: Cutting corners to meet arbitrary management deadlines.” It’s a joke, but like any good joke… there’s a kernel of truth to it.

Second, the important part. This is a value judgment, and I’m pretty flexible about this. For example, maybe entertainment isn’t “important” in some people’s eyes, but would you have done as well over the past pandemic months without books, movies, or RPGs?

Basically I don’t want to be working in an industry that takes away from people’s lives. I don’t want to be doing web development for ICE, or trying to sell people expensive products they don’t need, or working on a gambling site.

I want to work with modern(ish) technology.

I’d gotten kind of bored with technology stack at my old company, which had over a decade of momentum in the form of legacy code. We were still using JQuery and a bunch of other increasingly-obsolete technologies. It got to the point where every time I needed to update one of our tools, I went to the product’s website and was told “[Product] is deprecated!”

Also, I was starting to get complacent, and forgetting how to do simple things like “change a class name on a DOM element” without using JQuery.

I’d like my next job to be different in that regard.

Vanilla JS, thanks to ES6, is pretty great again, so I look forward to doing more with that. I’m definitely much stronger than I used to be in this regard, but every day I still learn something new. (Maybe I will start a blog series of “what I learned about Javascript today?” But that could just be an ADHD fantasy).

As my former manager and teammates would attest, I love burning cruft to the ground and starting over new, so I’m your gal if you want to rip out an obsolete product and replace it with something new. Like, say, ripping out JQuery.

(I seriously don’t hate JQuery, I promise. It was very good to me at a time when vanilla JS was not — when you had to write a helper function just to select a DOM element by class name. It was my gateway into JS, and I wouldn’t be the programmer I am now without it. But now that Javascript and modern browsers are catching up, it’s much less necessary than it used to be).

JavaScript frameworks are a Thing now, and I’d like the opportunity to work with one of those, if only to develop that skillset. (I’m pessimistic that any of these will stand the test of time — same as JQuery — but right now they are the Hotness). I have a slight preference towards React, because I’ve done some coursework with it, but I don’t know enough about the strengths and limitations of Angular, Vue, etc to have strong preferences yet.

I want a salary and title in line with my skills and experience.

I have at least 11 years of professional front-end web development experience. I have many more years of personal web dev experience — arguably, ever since I picked up The HTML Quickstart Guide in 1996 and started building my first website.

(I still have that book, mostly for nostalgia purposes. Occasionally I get a chuckle looking at its discussion of image maps, or the flyout of web-safe colors).

Without talking numbers, I was underpaid at my last job, so I am hoping to double my current salary, to bring me in line with folks doing similar work.

Likewise, I was a senior front-end developer at my last job, so I’m looking for a more senior position now. I’ve reached the point in my career where I have more web development Opinions than Questions, and I enjoy teaching and mentorship, so I am hoping that points me towards a Lead Front-End Developer position.

But no matter where I am, I believe in leading from the seat I’m in.

What don’t I want?

I’ve alluded to some of these already, but let me be explicit about what I don’t want.

I don’t want to relocate.

I’m 40 years old and I have a husband, a mortgage, and three cats. I am not interested in moving to Podunk, Idaho for a three-month contract as a full-stack developer on WordPress sites.


I’m not looking for contract work.

This may change if my severance period draws near and I become desperate, but for now, I am solely interested in full-time work.

In my last stint of unemployment in 2009, I found the primary benefit of contract work to be the professional experience it provided — otherwise, it disqualified me from unemployment and kept me from working full-time on my job search. I have no dearth of professional experience now, so the benefits are minimal.

I’m not a full-stack or back-end developer, or a designer.

I can sometimes play a full-stack developer — I can Google an API and muddle my way through a back-end language, and I’ve been known to modify a Java class or two.

But I am rubbish at knowing what looks good on websites. Some of that is teachable, but there’s an artistic element to web design that still eludes me. It’s important work, but not work I can do.

The middle ground I’m not sure about is UX (user experience; also known as UI, user interface). Some jobs consider this to be part of design, and some consider it to be front-end development. Generally, the more code-based the position is, the better I am at it. While I can tell you, for example, that Clear User Inputs Are A Good Thing — and implement them — if you want me to create a comp in Invision or Adobe XD, that is beyond my skills.

As I say on my LinkedIn profile, “I’m experienced at turning a designer’s vision and a back-end developer’s data structures into a functional, usable website, using HTML, CSS, and JavaScript,” so at the end of the day that’s what I’m looking to do more of.

I don’t want to work in Boston.

Or Cambridge, or Somerville. If it’s a remote job with a few days a month in the office, I can handle that, but making that commute on a regular basis will just crush me.

I will not take your timed, automated code test.

I have a whole rant about this, Forthcoming, Maybe, but let me just say: there are a host of reasons I hate these tests, delivered by third-party sites such as Triplebyte, Codility, or Testdome. But fundamentally it boils down to: these tests are discriminatory and non-inclusive, and don’t tell you anything about my strengths and limitations as a programmer.

I refuse to be assessed using them. Even if I did well on them — which I generally do not, because who can design an O(N) algorithm in 30 minutes with secret unit tests and alarms going off at regular intervals? — a company that uses them is probably not a company I want to work for. It suggests you don’t know what it takes to be a good coder and that you probably have an engineering team full of privileged white boys.

I will happily spend my entire weekend working on a take-home, untimed coding challenge for a company I like. (Heck, it’s what I spent last weekend doing). But I will not do a 2.5 hour automated, timed test for a company I just met, because it tells me everything I need to know about their values.

And that is: nothing good.

Relatedly — since the field of tech recruitment is a whole minefield of “what not to do,” whiteboard coding is also awful (though I wouldn’t turn down an interview that involved it), as is asking candidates riddles and brain teasers. My ability to solve the Monty Hall problem — or my, yanno, having heard it once already — tells you nothing about my ability to code, either.

If you feel the need to ask me to prove my coding skills — which is a fraught assumption, but let’s not get into that right now — please have your coding test be something like what I would actually be doing in that job.

I don’t want to work at your old boys’ club

Diversity in programming is really important to me — especially now, and especially given all the work STEM does to keep women, POC, and other marginalized sorts out of the field.

So if your company doesn’t have women and POC in engineering and in leadership positions — if your company signature doesn’t include your pronouns along with your title — give me a miss.

I will not be evil.

Like I said above, I’m uninterested in working anywhere near the carceral system. I’m uninterested in working for Facebook, Amazon, Google — even if I could pass their impossible coding tests, which I can’t. Finance and healthcare are also iffy for me — depends a lot on what corner of it they work in. I’m wary of VC-funded companies and I’m wary of family-owned companies, for similar reasons.

But mostly…

I don’t want to end up in a shitty job

Not that my last job was shitty — far from it. I have worked at shitty jobs, however, and let me tell you — they are a vortex.

Bad jobs suck you in, distort your worldview, and kill your hopes and dreams. Just getting through the day takes so much emotional labor that you have no energy left to look for better work.

(Heck, even good jobs have a kind of inertia. Hence: staying at my last job for ten years, which is generally a maladaptive strategy in this field).

I have been in the position of being forced to stay at a bad job for the money, and I never, ever want to be there again. I’m old enough that I’m starting to think about legacy (and not just legacy code!), and ultimately, I want my work to be a reflection of who I am.

In closing

… I just realized my title is a Harry Potter reference. We’re all aware J.K. Rowling is a transphobe, right?

But as Daniel Radcliffe — aka the actor who played Harry Potter in the movie adaptations said — in a statement for the Trevor Project, “if you found anything in these stories that resonated with you and helped you at any time in your life — then that is between you and the book that you read, and it is sacred.”

So allow me this mental image of me walking away from my old life, clutching a sock.

99 Activities to Stay Busy During a Pandemic

*without spending extra money.

Like nearly everyone in the world these days, I’ve been practicing social distancing to slow the spread of the novel coronavirus, COVID-19. I am privileged enough to be able to work from home full-time, plus I’m lucky to live in a rural area where I can go for a walk on my cul-de-sac, or in the woods behind my house, without coming within six feet of anyone.

And, as the saying goes, noblesse oblige.

So what have I been doing to occupy my time–and to keep my anxiety from screaming “WE’RE ALL GONNA DIE” at high volume sixteen hours a day?

Well, first, I made a list! My list is titled “Activities to stay busy during social distancing (that don’t cost extra money & aren’t spending too much time on social media).” Since this is my list, it contains many items that may not be relevant to you (what, you mean you don’t want to finish watching Escape at Dannemora?) I encourage you to make your own list, perhaps generalizing from some of my specific examples.

(And I’d love to see your lists!)

I used a couple of things for inspiration here: my personal to-do list, my DayZero lists (my latest 101 goals in 1,001 days period has ended, but there are a number of things I didn’t manage to do), and this “103 Things to Do on a Money-Free Weekend” article, by Trent Hamm of The Simple Dollar. (Sadly, a good number of his suggestions don’t work while practicing social distancing, but some do! I’ve just picked a few that appealed the most to me).

Without further ado… my list!

  1. Read books I already own–on Kindle or physical copy, new or re-read. I gotta admit, I’m not doing as much reading as I would like, because the news and/or social media is very distracting (especially while reading a book in the Kindle app on my phone)! But recently I finished the steampunk fantasy romance, The Iron Duke, by Meljean Brook, and I read the YA portal fantasy Every Heart a Doorway, by Seanan McGuire, for a virtual book club that my friend Becky put together. I’m also re-reading The Goblin Emperor, because Tor.com is doing a “socially distant read” of it, and also because it’s a fantastically comforting book. And hey, my tweet about it was featured prominently on this article!
  2. Play games from my Steam library. Like most gamers, I have a zillion games in my library I haven’t played, or haven’t played much. Before the pandemic hit, I was playing a ton of Rimworld–and man, is it easy to lose hundreds of hours in that game!–but for whatever reason, it’s been less compelling to me recently.
  3. Finish watching Escape at Dannemora. I’ve been watching this dramatization of the events of the 2015 prison escape from Clinton Correctional Facility, which hey, happens to be very close to where I grew up. It’s compelling, and I like seeing how they portray a place that I’m very familiar with. But, in classic ADHD fashion, I got distracted and haven’t gotten back to it.
  4. Watch other stuff that is free (or that I’ve already purchased) on Prime video. I mean, Vincent Price’s birthday is coming up (May 27th!), and I do own much of his oeuvre on that platform…
  5. Try a new recipe with stuff I have on hand. I’m not much of a cook, but I have definitely been doing some stress baking–first making Alton Brown’s cocoa brownies, and then a Betty Crocker peanut butter cookie recipe, with the addition of brown butter. Next up? Lemon bars, I think.
  1. Work on the Never-ending Cross-Stitch Project. This came from my 101 goals list. And it is called that because, literally, I have been working on it for half my life.
The Never-ending Cross-stitch Project. Making a lot more progress now, though; it’s recognizably a basket of flowers.
  1. Work on my current coloring project, or start a new one. I recently found my old Prismacolor colored pencils from high school, and I’ve been getting back into coloring again–aided by my pal Chava, who has been posting daily coloring pages on Facebook during the pandemic.
  1. Draw some wild plants from my nature photos. Matt got me The Laws Guide to Nature Drawing and Journaling for Christmas, which has inspired me to work on my art. It’s really a whole course in drawing from nature, but as someone who still isn’t a very practiced artist, it’s much easier for me to take photographs in the moment and do the drawing later.
Page of nature journaling from January
Page of nature journaling from January. Yes, I drew that dang laurel while sitting on a log in 20 degree temperatures; witness me.
  1. Go for a walk in the Hickory Woods. This the conservation area behind my house, owned by the Hickory Hills Landowners association, of which I am part. Or, as I recently learned, this is actually one of FOUR conservation lands behind my house. I keep thinking I’ve thoroughly explored it, and yet I still get lost back there!
  2. Go for a walk in another local conservation area, i.e. Cowdrey Nature Center, Lane. The Lane property actually abuts HHL, so this is easier than I originally thought!
  3. Put up a batch of mead. I have the ingredients to make a few different varieties, but Matt is really hoping for me to make a cardamom-orange one next.
  4. Start seeds for springtime. I’ve already started seeds for Roma tomatoes, jalapenos, bell peppers, and sweet alyssum, but I have a few more spots in my planters, which I’ll probably use for flowers.
My seed starting flats: ITS ALIIIIIIIVE! Well, except for the peppers.
  1. Clean out the raised beds from last year. Or, er, from the last time I actually had a garden.
  2. Work on quilt repair project. This is an old quilt my mother gave me several years ago, which I would like to hang on the wall over my staircase. Unfortunately I discovered some damage to it, so I need to do a bit of a patch job. (It’s not so nice nor antique a quilt that I’m worried about proper restoration; I’m just gonna stick a tightly-woven patch on the back and hand-sew a lace doily over the damage).
  3. Clean up my old dollhouse. This is the dollhouse my mom built for me when I was… 11 or so? It’s been sitting in my basement for years, but we just moved it upstairs. I want to clean it out and get all the furniture set up again.
  4. Tidy, clean, or declutter a space.
  5. Watch DVDs/Blu-rays from my collection. A few Christmases ago I bought Matt the Mel Brooks movie collection, and recently we watched Blazing Saddles and Silent Movie together. (A first time, for me, for both)
  6. Journal. I have been doing a lot of this during the pandemic. It helps me, somehow, to remember that I am living through a historic period and I can give value by being a primary source.
  7. Make a collage of memes, headlines, etc, to illustrate the story of the pandemic. This is something I’ve pondered doing, as another way to provide a first-hand account of what it’s like to live through this. So far I haven’t done anything towards it, though.
  8. Email my neighbors to see if they need anything. I’m trying to improve my relationship with my neighbors, and making a little progress, I think. This is an especially good time to check in on them.
  9. Set up outdoor lights for “unity tree.” Our town put its Christmas tree back up, and many people are getting their lights out of storage, in the grand human tradition of, “Shit’s bad? SET STUFF ALIGHT.” I live at the end of a private drive, but I could always put lights on my mailbox or something (…assuming I actually own any outdoor lights).
  10. Go for a run. Zombies, Run! seems very appropriate right now, and Sam Yao is always there for me…
  11. Work on Lioness edits. Another project that seems never-ending (in my defense, I finished the first draft on Election Day 2016!) Although I do seem to be making slow progress again!
  12. Work on a new piece of writingBuilt-Up Fairyland, more stuff in the world of Lioness, etc. As much as it’s a Bad Idea to write more in the world of a novel you haven’t sold, GUYS I HAVE SO MANY IDEAS for Yfre and pals.
  13. Drive to a part of my town I’ve never been to before.
  14. Work on my language studies (Spanish/French/Hindi). At some point in the last year I got to the point where I could almost read the devanagari script that is used to write Hindi, Sanskrit, and a bunch of other Indian languages. (Not that I knew what the words said, but I knew roughly what they sounded like and could look them up). I have basically lost all that, and need to regain it. Man, I just do not retain stuff like I used to…
  15. Finally finish Wes Bos’ React for Beginners course. I bought this on sale at Christmas time and I’ve been slowly working my way through it. (All his courses are on sale for 50% off right now, too, if that’s something that would appeal to you).
  16. Watch NERD Summit sessions that I couldn’t attend. This was the virtual conference I attended in March for work.
  17. Convert my WordPress blog to a static site using a static site generator. Probably Hugo, but I’m open to other options.
  18. Organize my photo collection
  19. Organize my music collection.
  20. Reach out to relatives, especially ones I’m not often in contact with.
  21. Reach out to a friend I haven’t talked to in a while. There’s been a lot of this going on! I’m sure people are sick of hearing from me 😉
  22. Write a letter or postcard.
  23. Get my tax forms ready. I did this the other day! Of course the deadline has been extended by 90 days…
  24. Practice identifying countries on a map. I did this as part of my 101 goals, but I’ve definitely forgotten a few. (All the islands of the Caribbean and Oceania are hard, yo!)
  25. Print postcards offering assistance to my neighbors, and leave them in the mailboxes on my street. I’d probably use something like this as a template.
  26. Make masks for hospitals. I haven’t yet done this, despite my sewing skills — mostly due to a lot of confusion about the right pattern, which hospitals would accept handmade masks, whether they actually help, etc. But a mask just for myself wouldn’t be a terrible idea, either.
  27. Identify some observations on iNaturalist.
  28. Repair NPC costuming for Madrigal 3. Some day larp season will resume. Some day…
  29. Work on my character concept for Cottington Woods 2. I have a rough idea of it, but it’s different enough from what I planned to do in CW1 that I need to look into the world background and write out a few new things.
  30. Work on costume for CW2. I need to look like a Russian babushka.
  31. Take a bath. I have a few nice bath bombs from Lush I need to use up!
  32. Brush off my resume. Right now I’m still gainfully employed, but every business is struggling right now, and it can’t hurt to be cautious.
  33. Work on my Secret Knitting Project.
  34. Check finances in Mint. I honestly haven’t even looked at this since late January, and our first trip to the emergency vet with Brianna. I honestly don’t want to think too hard about how much we spent on that!
  35. Make an extra payment toward debt. I guess this doesn’t really count as “not spending additional money.” But hey, it will save me money in the future?
  36. Join a MOOC (massively open online course).
  37. Make soap. I’ve had a melt & pour soap kit in my basement for yeeeeears, and I promised Matt that if I don’t use it up this year he can throw it out 😉
  38. Start a new lace knitting project with materials I have on hand. I have so much yarn. So much.
  39. Teach myself how to crochet. I’ve got yarn and time — seems like a decent use of both.
  40. Mend clothing that needs it.
  41. Scan boxes of nostalgia.
  42. Eat weird foods that EB sent me. This was in pursuit of one of my 101 goals to eat more foods off the Omnivore’s 100 list. So I now have chocolate-covered insects and nettle tea in my cabinet that I should probably consume at some point.
  43. Submit some of my short fiction or poetry to a market.
  44. Call an elected official about an issue I care about.
  45. Teach myself to play Go.
  46. Do a project out of one of my homesteading books, i.e. grapevine wreath.
  47. Take virtual tour of a museum, garden, or historic place.
  48. Write a poem. I do intend April to be my own NaPoWriMo, since it is National Poetry Month, and I’ll be celebrating by… well, at least trying to write a poem and read one poem a day. We’ll see how it goes.
  49. Meditate. Very important in this tough time. Relatedly, Calm, the meditation app I use, made a bunch of resources available for free during the pandemic.
  50. Play a board game with Matt. We’ve started a tour of our board game collection, where we attempt to play each one (or at least each one that plays well with two players!) So far we’ve played Carcassonne, Lost Cities, and Kingdom Builder, and he’s won all of them. It’s a good thing I like him so much 😉
A thoughtful portrait of Matt, thoroughly beating me at Lost Cities.
  1. Call or text/video chat with a friend.
  2. Finish and post a languishing blog post. GUYS I HAVE SO MANY. I can’t promise I’ll actually get to them, but maybe?
  3. Do a tarot reading.
  4. Visit an (outside) Atlas Obscura site. Somewhere I can actually practice social distancing!
  5. Look for Find a Grave requests in local cemeteries.
  6. Set up my dev environment for working on Intercode 2. This is the codebase behind the Intercon website. I’m not inclined to get too deeply involved in its development–I have a position on staff this year that has nothing to do with tech–but the tech stack is one I want to learn more about, and I wouldn’t mind being an emergency resource.
  7. Stream on Twitch. I haven’t streamed in months, and my ESO account in currently inactive, but I have tons of games (see above) that I could stream.
  8. Take a nap. Being in the middle of a global pandemic is sometimes exhausting, yo.
  9. Listen to a podcast. I do a lot of this while doing housework, or walking/running. Stuff to Blow Your Mind and Stuff You Missed in History Class (both of which I’m a long-time fan of) have been getting a lot of play lately, perhaps because they both released collections of older podcasts that I’ve been diving into.
  10. Record myself reading a Millay poem for Youtube. I started doing this! I began by recording these videos on my laptop–despite all my streaming equipment being connected to my desktop–because I was lacking space to save video files on that computer (see #73). But as it turns out, the requirements for streaming are very different than those for recording video, and my laptop might be my best tool after all…
“Lise Reads Millay: The Bean-Stalk.” YouTube thumbnail image from the last video I did.
  1. Clear some disk space on my desktop. I probably don’t need to keep a copy of every Skyrim mod ever, even if they do have an alarming habit of disappearing from the Nexus…
  2. Inventory board game collection. To assist with #62, of course 😉
  3. Learn how to edit video in iMovie (Mac) or Shotcut (PC). Right now I am just recording my Lise Reads Millay videos in one take and doing what minimal editing I can do in the Photo Booth app on iOS. I tried importing my video into iMovie and maybe editing out the worst of my ums and ahs…. yeah, I couldn’t even get that far. And I consider myself pretty tech savvy. As much as I recently railed against watching videos in order to learn stuff… this is complex enough that I need to watch some videos about editing videos 😉
  4. Clean out my email inbox–get to inbox zero. I don’t fetishize inbox zero like some productivity gurus do, but it certainly makes it easier to find important stuff.
  5. Do a bill reduction. I got this from the Simple Dollar list. I’m not sure what else I can reduce, but if nothing else, I can try to get my credit card to remove that $28 late fee because in the stress of the pandemic I was a day late paying my bill.
  6. Practice juggling. Another TSD-inspired addition, though their item was “learn to juggle.” I actually already know how to juggle, but I’m out of practice. And I have a Mad3 NPC who juggles, so I’d like to get better at it!
  7. Make a will. I mean, Matt and I don’t have kids or major assets except for our house, so there’s not a lot of question as to where stuff will end up when one of us dies. But as lots of people are thinking now, it’s worth doing.
  8. Do some boffer sparring with Matt. One day larp season will resume and we will be glad we prepared…
  9. Attend a virtual religious service. I wonder if the UU church I used to attend in Groton has one…
  10. Make homemade holiday gifts. Even just with what I have in my house, I could be making holiday gifts!
  11. Pet or play with the cats. They are already very put out that we are home all day every day; now I can also annoy them by petting them while they’re sleeping 😉
  12. Practice calligraphy. A fun, useful skill to have in larp! I have all the equipment, but I haven’t done it in years.
  13. Explore a blog I like.
  14. Go on a Wikipedia crawl.
  15. Play one of the Sherlock Holmes games with Matt. These are mystery/click adventure style games that Matt has in Steam; we have played them together before.
  16. Watch a Twitch streamer I like, and really participate in chat. A lot of times when I watch Twitch, it’s just something I have open in a tab while I do something else. But this is a much better way to really connect with a streamer.
  17. Put together a submission packet for Lioness. No, I haven’t finished edits between #24 and this bullet, but I will need to pull together a query letter and synopsis at some point, and begin researching agents. No reason I can’t start now.
  18. Brush my teeth. Boring, but my oral hygiene has a tendency to go out the window when I don’t have to leave the house for a few days.
  19. Dive deep on a quality YouTube series, i.e. Journey to the Microcosmos. Or War Stories, or Technique Critique. Less so Dr. Pimple Popper, though I do love her. And for the love of gourd, don’t read the comments.
  20. Co-watch a show/movie/video with someone. You can use apps like Kast or Netflix Party, or just time it yourself. I’ve been rewatching Monk with EB, since it’s all on Amazon Prime now.
  21. Give myself a manicure or pedicure. This is assuming I have any nail polish that’s still usable…
  22. Make a schedule. I dunno about you, but I do better when I have a schedule I feel beholden to. Rebel that I am, I don’t always stick with it — but I appreciate a schedule created with forethought that tells me where I should be at what time.
  23. Try one of the Zombies, Run! Home Front missions. ZR (mentioned earlier) has released a set of at-home exercises to do while sheltering in place. (I think they’re available with a free account, too). Despite my fortunate rural position, I’d still like to try these and see what they’re about, if only to have an option for bad weather days.
  24. Copy old fanfic from fanfiction.net to Archive of Our Own. I still have some old fics that are published on ff.net and nowhere else. They aren’t exactly my best work, having been published in the early 2000s, but seeing as the old fics I have moved over still get kudos and comments from time to time? They might give someone some enjoyment during this rough time.
  25. Sort through my indie perfume collection. God, I’ve been needing to do this forever.
  26. Make a new 101 Goals in 1,001 Days list. Mine ended in February, but given how much of a century the past three months have been, I haven’t had a chance to make a new one.
  27. Hold a virtual writing/coworking event. I’ve been doing these every Saturday and Sunday (barring other commitments–like I have any of those any more!) at 11am Eastern. Generally we chat for 15 minutes and then work quietly for 45 minutes, and repeat this 2-3 times. If you’d like to be involved, let me know!

I hope this gives you some ideas for how to keep busy and mentally healthy during this difficult time. Let me see your lists!

Adventures in Cat Parenthood

(This started as part of a weekly update, but life, and the length of this, got away from me).

“Felt regal; might delete this later, idk.”

Our cat Brianna — affectionally known as Bri, Bitch Cat, or Pampered Princess — became sick at the end of January. While I was attending an oh-so-exciting landowners’ meeting, Matt heard her fall, and went to find that she was wildly uncoordinated, with her head swinging back and forth, and was having trouble walking. He brought her to the emergency vet, where I joined him.

While at the vet, she was having short, 30-second episodes of her eyes going back and forth (nystagmus), and it was quite frightening. Bri already had some chronic health issues — stomatitis, asthma, arthritis — and we were worried that whatever had been causing the mobility problems in her back legs wasn’t arthritis after all, but something more serious.

When we finally saw the doctor, she had nothing good to tell us — Bri had a raging ear infection, was very underweight (10lbs on a Maine coon!), and had the beginning signs of diabetes. None of this explained the symptoms, though, which the doctor thought were neurological in nature. She gave us a list of veterinary neurologists we could consult with, but explained that it would take an MRI to confirm anything, and that given Bri’s age (she’s 14) and physical condition, it was probably not worth doing, as anything they could find was almost certain to be untreatable, and that it was dangerous to put a cat in that condition under anesthesia for an MRI. She asked us to consider euthanasia.

(I asked at the time if the ear infection could be the cause of her symptoms, but the doctor didn’t seem to think it presented like ear infections she’d seen before).

So with no hope (but some antibiotics for the ear infection), we went home, thinking we were about to lose our girl.

But the story has a happy ending — or at least, a happier middle; we haven’t reached the end yet!

Next we asked our vet friend Becky who runs Autumn Care & Crossings to take a look at Bri’s record. If nothing else, we thought she could tell us if Bri is ready for palliative care and advise us if we wanted an at-home euthanasia. She came back and said, hey, why don’t you look into the diabetes thing more seriously? It could explain things like the “plantigrade stance” that the ER vet had noted on her chart. In particular she told us to test her fructosamine, which — similar to A1C in humans — measures blood sugar over time.

We did the diabetes testing at our normal vet, who also was pretty dire in her outlook, too (“you may do all this testing and still not get an answer”), but ran the blood tests anyway. The one positive suggestion she made, though, was that we at at least have a consult with a vet neurologist, as they could tell us better whether or not an MRI was worth pursuing.

So I made an appointment at Mass Veterinary Referral Hospital in Woburn, MA for Brianna, as they were the ones who could get us in the fastest: that Saturday. That Friday we found out that Bri’s diabetes tests were normal — so much for that as a solution — and then on Saturday we went to see Dr. Troxel at MVRH.

I liked Dr. Troxel — I was worried I wouldn’t, because I was warned that he could be brusque or business-like. I can definitely see that, as he’s not the warmest guy I’ve ever met. But he was deeply committed to this case right from the start, and that made me trust him. I also liked his responses to the questions I’d asked him: if he thought we were looking at end of life (“maybe, but I’m not ready to give up yet”) and what he would do if this were his cat (“Well, I gave my 19 year old cat an MRI… but I also have the employee discount”).

He also emphasized that not everything we could find on an MRI was a death sentence; there were some things that could be treated and give her “long-term quality of life.” I’ll basically do anything for my cats if it improves their quality of life, so that encouraged me to move ahead.

I’m SO glad we got that MRI, because it turned out: there’s probably nothing wrong with her brain! Even though her external ear infection had cleared up, the MRI revealed that she still has a raging inner ear infection, which Dr. Troxel told us would “absolutely” cause all the symptoms he was seeing. Still, was concerned due to two things — a bit of a contrast shadow he saw on the brain stem, which could either be an artifact, or a sign of infection in the brain, and a growth (that didn’t look cancerous) on her soft palate on the same side as her ear infection. He suspects that the growth may play a part in the ear infection; it’s near where the eustachian tube drains into the mouth, and it may be keeping her ears from draining properly. Given the stomatitis, especially in the back of her mouth, it’s not surprising that there’s an overgrowth of tissue back there.

After the MRI, while Bri was still under anesthesia, we gave the green light to do a spinal tap (to make sure there was no infection), and do a retroflex endoscopy (to see what the growth on her palate might be). That… didn’t so much happen. Brianna apparently stopped breathing on her own before they could start the procedures, and they had to resuscitate her and bring her out of anesthesia. (I was interested to learn they use naloxone for this — the same thing human medics use to reverse overdoses). I had about ten seconds of panic while Dr. Troxel was explaining this — he had to stop and say, “it’s all right, she’s fine now!” because I was afraid he was about to tell us she had died under anesthesia.

So further testing is off, at least for now, and Brianna had to stay in the hospital that weekend.

When Matt visited her at MVRH during her stay, they brought her out in this stroller. Behold, a queen’s palanquin!

We learned some interesting things from the other tests they did: an abdominal ultrasound and an echocardiogram. The echo revealed that her heart murmur (which we already knew about; it varied between stage 2 to stage 4 depending on when and who was listening) was due to mitral valve disorder, which is unsurprising. Nothing immediately pressing there, but they want us to follow up with their vet cardiologist, Dr. Sosa, in 4-6 months. No signs of hypertrophy, though, which is good — hypertrophic cardiomyopathy is a common problem in Maine coons. (I seem to recall that all my cats have had a negative genetic test for HCM, though).

The abdominal ultrasound revealed some problems along her biliary tree, i.e. the liver, pancreas, and gall bladder. She had signs of chronic pancreatitis, benign liver cysts plus signs of cholangiohepatitis, and sludge in her gall bladder. All of this would explain her weight loss and lack of appetite! All of this is treatable with medication, though. They were concerned, given this, with the combination of conditions known as feline triaditis, and were doing blood tests for inflammatory bowel disease (cobalamine and folate), as that would complete the trifecta.

So in total, at MVRH we learned that Bri is still a very sick kitty, but that she can be treated! They put her on a more broad-spectrum antibiotic (clindamycin in addition to the Orbax they gave us at the e-vet) and reupped her Atopica (cyclosporine: an immunosuppressant which she takes for her stomatitis… may also help the liver if it’s an autoimmune condition there). When we took her home on Monday, they also gave us ursodiol from their compounding pharmacy, which is the same drugs humans take for similar conditions. We’ve also resumed the Flovent for her asthma, which had been on an as-needed basis before that. But if it will open up her airways, that’s to the good.

Her vestibular issues seemed a lot worse when we first brought her home, but after an hour in the car from Woburn, that’s unsurprising. And those sorts of issues are notorious for waxing and waning like that. She recovered quickly from that spell, though.

Now, she’s doing… astonishingly well, for a cat that we had nearly given up on. We got a baby scale to keep an eye on her weight (thanks, Buy Nothing group!), and her weight seems to have stabilized. She’s getting around easier, she definitely seems more alert, she’s been jumping into Matt’s lap and onto the chairs, and she can be left alone for short periods of time. She’s still confined to kitty jail (the computer room), though (Matt’s been sleeping on a futon on the floor with her). We’re less worried now about her falling than we are about her not getting her share of food at meal times, with two other cats in the house. So we’re probably going to keep her confined until she puts on more weight.

That was originally my whole post, but an update with even better news: we had a followup with Dr. Troxel and with Dr. Phillips (the internist) yesterday. Dr. Troxel did his usual examination and seemed happy with her progress — her walk is less ataxic and she definitely knows where her feet are. We’re going to keep her on the clindamycin for as long as she can tolerate — probably four more weeks. He says ideally they would do more imaging to make sure everything is clearing up, but it’s not necessary, and he preferred to go with the clinical signs.

Before we met with Dr. Phillips, we received news that Bri’s folate levels were low, which suggests IBD (and thus triaditis) after all. Basically, though, we’re already treating her for that with the ursodiol and the Atopica she was already taking for stomatitis. (This kitty has all the autoimmune disorders!) We should keep an eye out for any acute symptoms, however, there can be flareups that need to be treated with fluids and antibiotics.

Dr. Phillips also added a couple of drugs to Brianna’s routine: a transdermal appetite stimulant, to hopefully encourage her to put on more pounds, and a probiotic, to help with the side effects of the long-term antibiotics.

(I liked her a lot, too — all the vets I’ve met at MVRH are great! I wish Matt had given her more of a chance to talk, but he was very eager to share all the details of Bri’s daily routine, meds, behavior, etc).

Other than that, no followup appointments with either doctor, but we will need to do some followup bloodwork, and keep an eye out for any acute symptoms. Neither doctor mentioned trying the scope or the spinal tap again, and I’m hopeful that won’t be necessary.

So… that’s the emotional rollercoaster I’ve been on for the past month or so — or at least one of them. How are you?

2020 Prospective

A slight misquote of Terry Pratchett: “She couldn’t be a prince, and she’d never be a princess, and she didn’t want to be a woodcutter, so she’d be a witch and know things.”

It’s the first year of the new decade, and what do I want to do with it — the year I turn forty?

The theme this year is going to be “green witch.”

… when I mentioned this goal to my friend Kim, their first question was, “Are you pagan?”

So… that’s a tough question. I don’t really want to turn this into a forum on my religious beliefs, but I will say that I have always been curious about pagan nature-based religions, like Wicca or druidry. For someone who grew up roaming through the woods, I find staying in touch with the natural world and honoring the course of the seasons very compelling. But whenever I’ve dug deeper, it has always felt disingenuous to fixate on the gods and practices of a land I have no real connection to.

(Plus sometimes pagan religions can shade in the woo direction too easily. I want an evidence-based way of being in the world, and nature spirituality; is that so much to ask?)

All of this tells you that I’m not going to be embracing my inner pagan. So what is this year about?

“Green” has a few meanings here, and I’ve definitely embraced the ambiguity of the term. I chose it for both “the natural world” and “environmentalism” meanings, with a smidge of “town green,” i.e. the center of a town.

As for how I mean “witch,” I’m drawing from a few fictional sources: Naomi Novik’s book Uprooted, Terry Pratchett’s Discworld witches, and the witches of the larp I’ll be playing starting this year, Cottington Woods 2. (And I’ll even be playing a witch!) I am very interested in the image of a witch as a crone, as a wise woman, as an advisor. Someone who may choose to live in solitude, but is deeply rooted in place, and deeply connected to the people of that place.

With that in mind, I’ve set down a few precepts for the year.

A witch stays in touch with the natural world.

“The witch knows nothing in this world is supernatural. It is all natural.”

Laurie Cabot

I have a love/hate relationship with the natural world. It’s both a sandbox of infinite curiosity and also sometimes deeply unpleasant. Ticks, poison ivy, mosquitos, heat and cold, and the ceaseless movement of wind and air care not for your photo opportunities and learning experiences. Like a narcissist, the natural world can’t really love you back; the best it can offer is indifference.

Which… is a lesson in and of itself, don’t you think? “Loving impossible things” sounds like the title of a course on being human.

To this end, there are a few things I want to try this year:

1) I want to plant a garden. And actually tend it, and harvest stuff from it. Nothing makes you aware of the fractiousness of nature like planting a garden! I have lots of decorative plants and shrubs around my property already, so here I more mean edible plants, like vegetables or herbs. I’ve had gardens in the past, and they’ve all suffered to varying degrees from my neglect. I’m ready to give this another try.

2) I want to forage some wild foods. Not as dangerous as some folks seem to think, especially if you stay away from anything ambiguous. (Like nightshades). Morel mushrooms are trivially easy to identify and tell apart from anything poisonous. Elderberries, too. And I’m fascinated by this recipe for elderberry mead that EB sent me…

3) I want to take a nature walk once a month. Not my normal walk/run, but a journey where the goal is to observe. I want to memorialize these observations in words or in art. Once a month, I think, is reasonable enough to fit into my busy schedule, while still observing the passage of the seasons.

Which brings me to my next point…

A witch honors the cycle of the year.

“The moon has awoken with the sleep of the sun. The light has been broken, the spell has begun.”

Midgard Morningstar

By this I mean both the natural phenomenon, like full moons, equinoxes, and solstices, as well as human celebrations, like Christmas and the birthdays of important people in my life.

Observing holidays is a way of slowing down the passage of time, by making certain days feel special and less like every other day. This encompasses everything from decorations, traditions, gifts, etc.

Right now the way I celebrate the holidays is… non-existent, really. Christmas/Yule is really the only one I have any sort of observance of, which is usually putting up a tree and watching certain Christmas movies. (Muppet Christmas Carol and Scrooged, of course). But I usually do nothing for my birthday or my husband’s birthday, and nothing for any other holiday.

I’d like to change this. Even if it’s just putting out a pumpkin for Halloween, or getting up at dawn on the summer solstice, or going out to dinner on my birthday. These celebrations don’t have to correspond to any faith; nor do they have to be unique to me.

I just want to signpost the fact that time is passing.

A witch lives hyperlocally.

“We were of the valley. Born in the valley, of families planted too deep to leave even when they knew their daughter might be taken; raised in the valley, drinking of whatever power also fed the Wood.”

Naomi Novik, Uprooted

I live in a small town, but I often don’t feel a part of it. I don’t have kids in school here, I don’t go to town meetings, I work in a town 40 miles away from it, and I do much of my shopping in other towns. (To be fair, the latter is largely because it’s so small I have to go to surrounding towns for many needs).

The term “hyper-local” is one that I believe was coined by the Buy Nothing Project — at least, that’s how I heard of it. I heard Mrs. Frugalwoods talking about her Buy Nothing group, where she could donate and receive items in a gift economy model, and that sounded like something I could get behind.

(It sounded very similar to Freecycle, actually, but the rules on Freecycle are much more fast and loose).

I looked into it, but at the time there was no group for my town. I could have joined one a bordering town’s group, but you can only belong to one BN group, and doing so sorta defeated the whole “hyper-local” mandate of the movement.

As part of this theme, I decided I was going to start a Buy Nothing group in my own town. But then a nice member of my community decided to start one like… a week ago, so all I had to do was join it!

There’s more to living hyperlocally than Buy Nothing, of course. (I am, at best, only middle-to-low-buy). It’s making a choice to support local businesses and creators instead of going to the big box store. It’s knowing you can depend on your neighbors. It’s thinking globally, but acting locally.

Some specific hyperlocal things I want to do this year:

1) Attend a town meeting. Our local government is town meeting-based, which means that lots of important decisions are made there — like the plastic bag ban (which I have mixed feelings about), or the decision to ban all marijuana-based businesses from town (which made me livid. Why are you turning down income??) Have I ever attended one of these? I have not, dear reader. I should remedy this.

On a related note, my landowners’ association doesn’t have regular meetings, but when they do, I should attend. Of course I say this, and then they schedule a three-hour meeting to talk about finances on a Saturday where I have a bajillion other, actually fun things I could be doing, so…

2) Do more local shopping. Again, since it’s a small town I can’t find everything here, but I can generally find most things within the tri-city area.

Food is the biggest challenge here, but also the biggest opportunity, depending greatly on season. We have lots of farms in our town, and even more in the surrounding area, but we are also in USDA zone 5, so not everything is available all year. Over the thirteen years I’ve lived here I’ve gotten better at identifying the different local businesses I can frequent, so it’s really just a question of setting up routines around going there instead of the Hannaford.

(And, I mean, I don’t object to shopping at Hannaford; it does support the local economy in some ways. Just not as many).

3) Improve my relationship with my neighbors. This comes back to the Buy Nothing ethos, which states that “the true wealth is the web of connections formed between people who are real-life neighbors.”

Regrettably I don’t have the best relationship with my neighbors. When I moved here, I was new to owning a house, country living was difficult and confusing, and forging relationships with people was at the bottom of my to-do list. I think some of my neighbors took that personally, and I often feel like I’m still paying the penalty for that.

But having a working relationship with your neighbors is just unquestionably a better way to live. If I got along with my neighbors, I might be able to depend on them to watch my cats when I travel, or borrow tools from them, or let me use their shower when the power is out (we have a well, so no power = no water; my closest neighbors have a generator, though). And vice versa, of course.

A witch is not wasteful.

Witches… get their power directly from the earth, which asks for nothing but a sense of balance in return. Yet still, because of their tie to the earth, witches tend to try and protect it, treating others who squander the world’s resources as foolish, and seeking sometimes to undo them.

Cottington Woods rulebook, “Witchery Skills”

This point ties into both environmentalism and frugality — two themes that often (but not always) go hand in hand. A witch, as I said, is tied to place; stewardship of that place depends on preserving its resources, whether that be funds or forests. It also ties into self-reliance, which was the underpinning of my last two years’ themes.

To that end, this year I’d like to…

1) Complete Uber Frugal Month challenges in January and June. Some of you may recall I once had a frugality blog, and it’s something I still care a great deal about — hence why I’m currently doing the Frugalwoods’ Uber Frugal Month. (At least, I am. I wouldn’t say Matt has 100% bought into the challenge). I’d like to do this again when it comes up in June.

2) Read The Zero Waste Home, and incorporate at least one of the tips into my life. I doubt I’m ever going to be anywhere close to “zero waste” — just like I doubt I’m ever going to be “no buy” — but that doesn’t mean I can’t make improvements in this area. And while I’m sure there are many good books about home environmentalism out there, this is one I happen to know about, so I figure it’s a decent place to start.

3) Pay off my student loan and Matt’s car loan. We’re pretty close, and by my calculations we can finish it off this year.

A witch knows things.

She couldn’t be the prince, and she’d never be a princess, and she didn’t want to be a woodcutter, so she’d be the witch and know things, just like Granny Aching—”

Terry Pratchett

To me this precept is all about intellectual curiosity, with a local focus. Intellectual curiosity comes naturally to me, so I anticipate this portion being the most fun part.

Towards this sub-theme, I want to…

1) Join the “friends of the town library.” I’ve been wanting to do this for a while, but they don’t make it easy — you have to print a form off their website and bring it in with a check. So much for living in the future! But I do really love our library and make a ton of use of it, so I feel this would be a good way for me to give back.

Relatedly, I want to attend a program at the local library. I keep wanting to do this, but again, they don’t make it easy. Since the library closes at 8pm on weekdays, the place is usually about to close up when I’m getting back into town at 7pm or 7:30pm. I think I can make this work with a little more planning, however.

3) Visit a few new-to-me local parks, attractions, hiking trails, and businesses. I’ll start by coming up with a list of places I’d like to try!

I think that should keep me busy for at least another year!