Backing up the Kobo Clara Database
I have a Kobo Clara HD e-reader. It’s great, and the whole concept of e-readers is great.
I have a Kobo Clara HD e-reader. It’s great, and the whole concept of e-readers is great.
Somewhat recently I started using Obsidian as my note-taking app, and – simultaneously – taking way more notes. Before, I was just using Google Keep, which works well enough for short things. I don’t know how I heard about it, but at some point Obsidian came to my attention, and I remember thinking that the graph view, that shows you the web of interconnections of related notes, was super neat. So I downloaded it, fiddled around, and never actually used it.
I spent the last week learning Go and building a simple terminal-based application with various Charm libraries. Charm is a startup that according to linkedin raised $3 million in funding via Crunchbase. They build libraries for building Terminal User Interfaces (TUIs, AKA command-line applications). I have no idea how they make any money.
Hot on the heals of my last one-line change to a random Github project, I now have contributed net-negative lines of code to an open source project that people might actually benefit from!
Some people would argue that no art can have any objective elements to it, other than the facts of the medium it’s presented in. However, it is possible to look at a piece of art, see what it’s aiming for, compare it to the rest of the art in its field, and come to conclusions that will be widely accepted by enjoyers of said artistic field.
I’m making this post because I literally spent at least 8 hour of my life over the past three days trying to figure this out. For someone who knows crypto stuff, that’s probably going to seem ridiculous, but I do not know crypto stuff, and my eyes immediately glaze over when I see an openssl
command.
So here’s the deal: I’m working on a simple mail client, written in Rust, and I wanted to do some integration testing. I’m using rust-imap, and that project has integration tests that use a tool called Greenmail. Greenmail is a mail server built for doing integration; in other words, exactly what I need.
So I downloaded the docker container and quickly got it up and running, using the rust-imap
tests as a starting point. However, when I say “up and running” I just mean that the server was running and listening for connections, but my client wasn’t able to connect due to an SSL issue: the server’s certificate was untrusted.
What came next was a lot of reading and a lot of barking up wrong trees. For example, since Greenmail doesn’t really have documentation, I was looking at the code to figure out how to configure certificates, but it was at least an hour before I realized that the configuration code had been added in the last couple weeks and they hadn’t pushed a new docker image for it.
So I tried to build the project from source, ran into issues there, yadda yadda, lots of frustration. Here’s the steps I went through to solve this, hopefully it’ll help someone out there.
Note: this is for Greenmail 1.6.7. Later version will hopefully make using a custom keystore easier, and so steps 4 and 5 will be different, and you may be able to use a different password for the keystore.
1: Create a certificate and key:
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout greenmail.key -out greenmail.crt -subj "/CN=localhost" \
-addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
The subjectAltName
is the critical bit; a lot of places on the internet imply that it’ll work as long as the CN is set to localhost
. However, support for that has been apparently deprecated for almost two decades. Had to learn that from a random post on the python bug tracker. 🙄
2: Generate the .p12
keystore:
openssl pkcs12 -export -out greenmail.p12 \
-inkey greenmail.key -in greenmail.crt
When it asks to set a password, use changeit
. The password is hardcoded in Greenmail.
3: Add certificate as a Trusted Root Certificate Authority
In Linux:
sudo cp greenmail.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
In Windows, use the graphical Certificate Manager (just search “certificate” and it should come up).
4: Add the keystore to the JAR
Get the greenmail-standalone.jar
file for the version of the docker image you’re using. You can find all the JARs at on maven.
Add the keystore: jar uvf greenmail-standalone.jar greenmail.p12
(or just open the JAR in 7zip or whatever).
5: Bind mount the JAR when running docker:
docker run \
--mount src="<full path to greenmail-standalone.jar>",dst="/home/greenmail/greenmail-standalone.jar",type=bind \
-e GREENMAIL_OPTS='-Dgreenmail.setup.test.all -Dgreenmail.hostname=0.0.0.0 -Dgreenmail.auth.disabled -Dgreenmail.verbose' \
-p 3025:3025 -p 3110:3110 -p 3143:3143 -p 3465:3465 -p 3993:3993 -p 3995:3995 \
-it greenmail/standalone:1.6.7
Note that it does have to be the full path, not the relative path, of the local JAR file. Docker will complain if you try to use a relative path.
After all that, I can successfully establish a secure connection with the Greenmail server. Now I can actually write some tests. 😤
The other day, the speaker I use for my desktop computer suddenly stopped working. I applied a bit of percussive maintenance to it, reseated the power cable a few times, and then resigned myself to purchasing a new one, because it was still dead. Today I double checked it, and it worked! Why? Who knows! Regardless of the cause, it made me very happy to not have to buy a new one, because the one I’m using looks like this:
It’s an Altec Lansing im600 iPod dock. It was released in 2008, for around $150 (check out this contemporaneous video review by cnet), and I acquired it for free from a roommate when he moved out, in 2014. It’s meant for the dock portion to be able to fold up for travel, but when I got it the hinge was already broken, and no longer folded up or unfolded all the way, meaning that it doesn’t stand up on its own. The volume up button became progressively harder to activate over the years, and within the last year I inadvertently jammed the rubber top of the button into its cavity. Luckily the device remembers the volume setting between power cycles, so I just leave it set to “very loud”.
It has an aux input, which is how I use it with my computer.
Now, I think many people would see that description and say “wtf bro, just buy a new one, that’s garbage.”
But the thing is, the speaker is actually quite good at its job. It gets loud enough for parties, the clarity is decent, and there’s enough bass to make it sound good. I’m not going to buy a new one until this one truly bites the dust. I’m doing it partly out of frugality, and partly in defiance of consumerism. These things are unfixable. They’re meant to be discarded when they start to break down, even if the parts that are breaking are minor and have nothing to do with the object’s primary purpose.
Update March 21st, 2025: it finally died. It was at least eleven years old, at most seventeen. It got to live in five different states, and was the life of a couple of wild parties. Rest in peace.
Speaking of things meant to be disposable…
This is my water bottle.
I’ve owned it since 2018. It’s a Essentia brand disposable water bottle. I purchased it for, I don’t know, three or four dollars? As you can see, I did not dispose of it. I have used it every single day since then, and taken it with me on many adventures (you can see a few national park stickers on there).
This was a disposable water bottle. Disposable. That’s certainly what the company wants us to believe. And yet, the proof is right here that these bottle are rugged enough to survive at least four years of daily use, and I assume many more.
There are some people out there that actually buy plastic water bottles every day and just… throw them away. It’s absurd.
The only good thing about this state of affairs is that it gives me something to feel smugly superior about.
Update: I retired it around September of 2024, in favor of a metal water bottle. It now sits on my shelf as a memento of where I’ve been.
I am now, officially, an open source contributor!
…by which I mean I made a one-character change to fix an off-by-one bug.
Still putting it on my resume.
But really, it’s times like these that I can really appreciate the nature of open-source software. I found this project while I was looking for search-engine image scrapers (for a side project that will eventually be the subject of a blog post). Along the way, I found a number of other projects, and some example code in gists, many of which were clearly influenced or directly forked from the projects that came before them.
And then I came along, saw a tiny issue in this particular project, and fixed it. A couple years from now after this project is abandoned and someone new forks it to get it to work with whatever breaking changes Google made to its search results page, my humble fix will live on.
Not even joking, this is a pretty inspiring moment for me. I always knew contributing to open source projects could be easy, but it was very abstract knowledge. Now I feel that it’s easy, and worthwhile.
Over the last thirty days, I watched thirty movies.
Why did I do this? Besides “for fun”, the motivator for making it into a challenge was the fact that my to-watch list was getting longer every day, and I was finding it hard to make time to actually sit down and watch them. Once, about three years ago, I did a “seven movies in seven days” challenge. For that one, I was specifically watching famous or culturally significant movies that I’d never seen before. I watched The Cabinet of Dr. Caligari, and I did feel enriched by the experience, but I probably never would have bothered to watch it were it not for the challenge aspect.
For this challenge, I didn’t have a particular theme, other than to clear out my watchlist backlog. I started with the films I had downloaded onto my computer; some of them were from five-plus years ago.
Out of the thirty movies, I liked seventeen of them. Not bad, considering that 90% of everything is crap. Of course, I wasn’t picking movies out of a hat – they were on my to-watch list because something I’d read about them made me think I’d like them. So I guess I have 50% accuracy when it comes to picking movies I’ll like.
Seven of the thirty were non-English language – two Japanese, two Korean, one French, one German, and one Polish. I liked all of them, which isn’t surprising – for a foreign film to get enough attention to land on my list, it would have to be exceptionally good.
The oldest film was from 1944, the newest from 2021. I was surprised that I liked all three of the oldest films; I’ve clearly been missing out by not watching more classics.
Nicholas Cage starred in two of the thirty movies. I disliked both, although in their defense, they were both almost good.
I also decided to track whether the films passed the Bechdel test, which simply states that a film “passes” if it has at least two female characters who talk to each other about something other than a man. It’s kind of crazy how few movies in general pass the test. In this list, nine movies failed to clear this incredibly low bar, and I was being fairly generous with passing movies. Double Indemnity got a pass because a mother and daughter have a scene where, if I recall properly, they each speak one sentence to each other. Can you imagine a world in which this was reversed? I believe Bit was the only film on this list that didn’t pass a reverse Bechdel test.
After watching thirty movies in thirty days, I’ve become more jealous of my time. If you watch a few movies a year, a movie being mediocre is acceptable; watching one every day, mediocrity is a lot harder to forgive, especially when you have examples of truly good films so fresh in your mind.
The neatest thing about this experience was being able to figure out what I like and dislike about films. By the end of the thirty days, I found myself watching these movies with more of a critical eye. Not a negative eye, but a critical one, able to see why a movie worked or didn’t work.
A lot of mediocrity boils down to two things: not being original, and having no real emotions behind the story.
The first one is obvious; many movies are simply retreads of well-worn tropes and genre conventions. The more movies you watch, the more these stick out and start to become a problem. Again, if you only watch a few movies a year, you may never even notice similarities, because you’ve simply forgotten about them.
The second issue, the lack of emotion, is harder to describe (and, probably, much more subjective). As I write this paragraph, I’m not even sure how explain it, since it’s kind of a gut feeling. I’d get done with a movie, and in for the bad ones, I’d feel… nothing. They may have been somewhat enjoyable in the moment, but they had no lasting impact. The good films, in contrast, had some kind of impact. They were thought provoking. I’d have been so invested in the story, that when it ended, I didn’t want it to.
I think I lack the vocabulary to clearly explain what I mean. I’ll try again in a future blog post.
This is a Polish film. It’s a… horror?/musical??/romance???? about two sirens (man eating mermaids) who come ashore for some fun, get a job as singers/strippers at an upscale(?) strip club… at one point the sea god Triton asks one of them to join his punk band… listen, this movie is hard to describe. Whatever you pictured from that description is totally wrong. Apparently, it’s a reworking of the original The Little Mermaid story by Hans Christian Andersen.
It’s a very musical film, and every other scene is basically a music video. The music is great, all the singing is fantastic, and the visuals are great. All the acting is top-notch. There’s a conversation conducted entirely in high-pitch dolphin noises, and not only is it completely understandable just from the acting, it’s not the least bit silly. It’s also notable for having a lot of nudity, yet never once did it seem gratuitous or titillating. The director being a woman probably has something to do with that.
The whole movie takes place in one room, as a professor, who’s moving out of of town on short notice, explains to his friends how he’s actually 14,000 years old. This film has been on my to-watch list for years (not 14,000 years, though) and I hadn’t watched it because I knew the basics of what the film was about and didn’t think it could be all that interesting. I was wrong. It’s great. I think it does a particularly good job of slowly drawing the viewer in, but also showing how the characters listening to this guy’s story are also being slowly drawn in and coming to believe it.
Set a year or two after the end of World War 2, a Jewish woman who survived Auschwitz returns to Berlin in search of her husband. She was shot in the face and needed facial reconstruction surgery, and when she finds her husband, he doesn’t recognize her. However, he does recognize that she looks a lot like his former wife, who he thinks is dead, and pitches her the idea of her impersonating his dead wife (that is to say, impersonating herself) in order to collect inheritance money (of which there is a lot of, because you know, the holocaust).
Part of the reason she doesn’t tell him who she is right away is because she has circumstantial evidence that he’s the one that turned her over to the Nazis. It’s a fantastic film; gorgeous cinematography and excellent acting. It’s funny watching this right after Split, because one thing I found annoying in Split was the “silently look into the distance” thing the main character did a lot. In that film, it conveyed nothing, due to a lacking of talent in… pretty much every area of the film. In this one, the silent moments actually speak volumes about the characters’ feelings.
I have a soft spot in my heart for films about kids making films; I really enjoyed Super 8, as well. This is a story about a high school girl who finally decides to make the samurai film of her dreams after she meets a guy that will be perfect for the lead role… but unbeknownst to her, he’s a time traveling fanboy of hers from the future who just came back to see her debut film, and never intended to get mixed up in it. It’s funny, it’s heartwarming, it’s inspiring.
As mentioned previously, these ratings are a bit harsh. Mediocre movies get a thumbs down. I’m not saying they’re 100% bad and you’re dumb if you like them, I’m only saying that if there’s a checkmark, I definitely enjoyed the film.
The List, in Order of Viewing:
Name | Good? | Passes the Bechdel Test |
---|---|---|
![]() |
✅ | ❌ |
![]() |
✅ | ✅ (technically) |
![]() |
✅ | ❌ |
![]() |
✅ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ✅ (barely) |
![]() |
❌ | ❌ |
![]() |
❌ | ✅ |
![]() |
❌ | ❌ |
![]() |
❌ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ❌ |
![]() |
❌ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ❌ |
![]() |
❌ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ✅ |
![]() |
❌ | ❌ |
![]() |
❌ | ✅ |
![]() |
❌ | ✅ |
![]() |
❌ | ✅ |
![]() |
❌ | ❌ |
![]() |
✅ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ✅ |
![]() |
✅ | ❌ |
![]() |
❌ | ✅ |
A while back I saw a study that was posted to /r/moderatepolitics (which I can’t find now). The results of the study was that transitioning didn’t lower the odds of a transgender person attempting suicide. I didn’t post a reply on that article because I wasn’t sure how to form my response, but after some cogitation, here it is:
First of all, that study has one obvious problem: it can’t account for trans people who are in the closet and successfully commit suicide. But aside from that, we’ll assume the study was accurate.
Depression is caused by a lot of things, which we’ll simplify as “stress.” A trans person who is in the closet is undergoing internal stress. Some of this is the same kind of stress anyone hiding a secret might feel. E.g., a gay person in a conservative family, someone thinking of divorcing their spouse, that sort of thing. It’s not just “a secret”, it’s specifically a secret they think or know will be received negatively by their friends and family.
When a trans person publicly comes out, it’s probably like a weight being lifted off their chest… only to be immediately replaced by a different weight. Now the trans person is experiencing external stress. At worst, they lose friends, their family disowns them, and they get stared at wherever they go (because most trans people are not lucky enough to be able to pass 100% of the time).
So, after all that, they’re just as stressed out, just as depressed, just as likely to commit suicide. Does that mean it’s pointless or even harmful to transition? No! It just means we need to work on increasing awareness and understanding of trans people and their challenges so society isn’t so shitty to them. All those external stressors are not things that they should have to deal with.
Besides the Statue of Liberty, the French have given us one other gift: the phrase L’esprit de l’escalier. This translates to “staircase wit”, and is essentially the feeling you get when you think of the perfect reply, but too late to matter. The term is usually used in the context of a witty rejoinder to some kind of insult, but if we use it in a broader sense, then my life is full of L’esprit de l’escalier.
I rarely post on Reddit, Hacker News, or other discussion forums, but I do spend too much of my time on them. There’s the famous XKCD comic “Duty Calls” in which a hapless individual is stuck in an endless cycle of responding to people who are “wrong on the internet.” My problem is a variation of that, but instead of staying up all night writing responses, the offending posts just worm their way into my brain and set up shop. In a way, this is even worse, because when I finally do come up with a response, there’s no way to reply the person whomst was wrong– it’s not like I bookmark every dumb post I see on reddit.
This blog is, in part, a therapy for removing brain worms. Not just “staircase wit”, but also other silly things that I want to expunge, like my recent mac and cheese speedrun post. In the case of responses, it’s unlikely the target of my response will ever read it, but, much like journaling, it’s the writing that’s the important part.
Official Duck Studios is a YouTube channel run by a couple of guys, who do really dumb and sometimes very dangerous things. Their video in which they test their marksmanship before and after getting drunk is, in fact, one of their least irresponsible gun-related videos. I love them.
Back in May of 2021, they released a video titled “How Fast Can You Possibly Cook Mac & Cheese? WORLD RECORD”. In it, they… try to cook mac and cheese really fast. It’s a silly little video, but it’s also wormed its way into my brain – even now, over six months later, I’ll catch myself daydreaming more efficient ways to cook pasta. This blog post is an attempt to get these thoughts out of my head, and, perhaps, help someone on their quest to beat Official Duck Studio’s record.
Under normal circumstances, you place water in a pot, put the water on the stove, and wait a few minutes. This can be made more efficient by choosing a pot at least as big as your largest burner; any unused surface on the burner is a waste. You can roughly quarter the time it takes by splitting the water into four pots, one for each burner (assuming you’re using a standard four-burner stove).
There are three main types of stovetops: gas, electric, and induction. Induction is the most efficient, energy-wise, which I would assume translates into faster boiling times.
The stovetop isn’t the only way to boil water. Electric kettles are dedicated appliances used to boil water. Interestingly, people in the UK and elsewhere in Europe will have an advantage in this challenge, due to different electrical standards. In America, normal household wiring provides 120 volts, while much of the rest of the world uses twice that voltage. According to this article, an electric kettle in the UK will boil a litre of water in just under a minute and a half.
Some homes have hot-water dispensers in their kitchen. Some are just mini hot-water heaters that keep the water at near-boiling temperatures, but the fancier ones are truly on-demand. They accomplish this by just throwing a lot of electricity at the problem and instantly boiling the water as it passes through the unit.
Fun fact: when you cook pasta, you’re actually doing two things. First, you’re rehydrating the pasta. Secondly, you’re breaking down the starch and protein molecules of the pasta, which is the actual “cooking”.
You can rehydrate pasta with cold water, without cooking it. The hot water simply speeds up the process; with cold water, it will take a few hours. But once it’s hydrated, it can be fully cooked in only a minute, at a lower temperature than the boiling point.
The fastest way to make Mac and Cheese is to have the water already boiled and the pasta already hydrated. It kind of sounds like cheating, but that’s life.
(Spoiler alert: I made a program that ROT13s the contents of your clipboard. This post talks about technical details behind that.)
I was reading the Wikipedia article on spoilers (as in, the concept of spoiling the ending of a piece of media) and read that, back in the day, Usenet users would sometimes obscure spoilers through the use of ROT13.
ROT13 is a simple “substitution cipher”. If you imagine the alphabet printed on a bracelet, for every letter in the text you’re trying to encrypt, you find the letter on the bracelet, rotate the bracelet by thirteen characters, and substitute that letter. Since there are 26 letters in the alphabet, running the encrypted text back through the same ROT13 cipher will unencrypt the text.
As an example, the sentence “Snape kills Dumbledore” is, when ROT13’d, “Fancr xvyyf Qhzoyrqber.” It’s not what you want to use to encrypt the nuclear launch codes, but it works great to obscure text that you want people to be able to read if they put in a bit of effort. Basically it’s the digital equivalent of writing something upside down. I think I may have seen ROT13 used for hiding spoilers here and there, but it’s not common. Reddit and Discord are two notable platforms that have spoiler functionality built in – with both, the text is blacked out until you mouse over it.
But in this year of our Lord 2021, how do you go about ROT13ing a spoiler? Well, I’ve always used one of the many online tools. Googling rot13
brings up many hits, with the first one being rot13.com, which is exactly what you’d expect. But what if you’re lazy? What if your internet isn’t working, but you still want to compose a Usenet post that reveals the ending of the new Spiderman film?
Introducing: ROT13 Clipboard, a program that ROT13s the contents of your clipboard! (Only on Windows for now.)
It was easier than expected. I decided to use Python, and some quick googling about accessing the clipboard brought me to pywin32
which as the name suggests is a python wrapper for the win32 API. I was only interested in the Clipboard functionality, which is a small module with only a handful of functions. I was worried at first, reading the docs. Most of the functions accepted or returned an integer ID of a window, and there’s something called a clipboard chain, and I wasn’t sure what a “clipboard viewer” was in this context… so I just tossed some things into a python file, ignored the window ID stuff, and lo and behold, it actually worked.
Here’s the relevant code (note that I imported win32clipboard
as clip
):
clip.OpenClipboard()
s = clip.GetClipboardData(clip.CF_UNICODETEXT)
s = rot13(s)
clip.EmptyClipboard()
clip.SetClipboardText(s, clip.CF_UNICODETEXT)
clip.CloseClipboard()
At this point, I wasn’t really sure how it was working, but since it was working, I moved onto triggering the script via a hotkey.
It turns out that Windows does have built in support for this, via an unlikely path: the humble shortcut. If you create a shortcut, right-click and open the properties window. There will be a “Shortcut key” text box, and you simply need to click the box and then type a key. To actually get it to work, you have to put it on the desktop or in the startup directory1. You’re also restricted to only using ctrl-alt-whatever shortcuts. The worst thing, however, is the multi-second lag between activating the shortcut and the script actually running. The official explanation for this is that the Explorer process that handles shortcut keys has to iterate through all open applications to see if one of them is already using the shortcut. If any of them are slow to respond, this will cause the noticeable lag.
The work-around is to use AutoHotKey. It has a very powerful scripting language for the creation of macros, but I just needed this (half of which is the default boilerplate):
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; ctrl-alt-P -- you can change this to whatever.
^!p::
; Note the use of pythonw to prevent a console window from appearing.
Run, .\venv\Scripts\pythonw.exe rot13.py
return
And that was that – I had my working ROT13 script triggered by a hotkey.
That’s what I love about programming in the modern day: so much work has already been done for you, all you have to do is plug things together in the right order. No reinventing the wheel, just pure problem solving. However, this was intended as a learning exercise, so I decided to figure out the mysteries of the clipboard API, like what the window IDs were for and what the clipboard chain was. The pywin32
docs are slim, but that’s okay because we can go straight to the Microsoft documentation for the API.
The clipboard chain turns out to be a linked list of clipboard viewers, which in turn are windows that receive messages whenever the contents of the clipboard change. (“Windows” is the keyword, more on that in a moment.) Strangely enough, it’s the application’s duty to manage the chain and keep it properly linked. And when it gets a message that the clipboard changed (specifically the WM_DRAWCLIPBOARD
message) it needs to pass this message on to the next window in the chain.
So, wait, messages? How do I receive messages? I went down a rabbit hole looking into COM, which seems… complicated, to say the least. And the tutorial linked from the pywin32
documentation is long gone, and requires the Wayback Machine to read it. Luckily, the messages the clipboard documentation is talking about are actually tied to the GUI API and have nothing to do with COM.
I found a very helpful example program that fully implements a simple clipboard viewer. It uses wxWidgets to create a window. I tried it out, and it works perfectly even after deleting frame.Show()
, which is what actually makes the window appear. I’m sure it’s possible to initialize a window object without resorting to an entire toolkit, but I do not know how.
This was a fun little project. I’m not sure if I’ll ever use this knowledge for anything truly useful, but I might! This same basic idea of editing your clipboard could be handy for certain macros… perhaps that will be a future blog post. We’ll see!
Github Repo: https://github.com/CrispinStichart/rot13_clipboard
You can find the startup directory by opening the run dialog with Win+R and typing shell:startup
. ↩
A quick grammar recap: pronouns are words we use to refer to people without using their name. “I” is a first person pronoun, “you” is a second person pronoun, and “he/him”, “she/her”, and “they/them” are third person pronouns.
“She/her” and “he/him” are gendered pronouns, meaning that they indicate the gender of the person who is being referred to. “They/them” is gender-neutral, and can be used to mean one or more people. The singular “they” dates back to the 14th century, according to everyone’s favorite encyclopedia, which is recent enough that it counts as the first neopronoun.
Various groups in the last hundred-plus years have tried to invent new gender-neutral pronouns, but the singular “they” is the only one that’s really stuck around and gained in popularity. Even the people who stridently declare that “they/them” is plural only (like good ol’ Richard “please have sex with my corpse” Stallman) have probably unthinkingly used the singular they in everyday conversation, simply due to its convenience.
One of the most powerful aspects of the internet is its ability to bring together people with niche interests and beliefs, who would otherwise never be able to meet. Pronoun creation is no different, and now we have communities who are proposing not just one new pronoun, but many. This time they’re not made-up words like “xe/hir”, they’re just… nouns. Regular ol’ nouns, used as pronouns. For example, “pri/prin/prins/princeself”.
My gut reaction is that it’s weird and it’s dumb, but some people seem to really put a lot of stock in neopronouns. For example, this redditor who seems genuinely disappointed no one will address them as “they/ghost” (they also say that their gender identity is “GenderGhost.”)
I started thinking about what I would do if someone in real life (or heck, even online) asked me directly to use their neopronoun. I’m a Nice Guy™ and don’t like offending people, but I still think neopronouns are weird and dumb.
I do think neopronouns are a good conversation starter about regular pronouns: like, why do we have gendered pronouns at all? Do they have extra meaning in our culture? Do we even need them? Should we use gender-neutral pronouns for everyone?
Also, who are pronouns for? The person being talked about, or the person being talked to? In a one-on-one conversation with someone, you will never use anything other than the second person “you.” So in most situations, the only time you’ll use someone’s third person pronouns is when they’re not even present for the conversation.
I should mention that I think all debate around neopronouns is a tempest in a teakettle. Neopronoun users are mostly confined to insular online communities, and their social norms will not, I believe, spread out to the general population.
But if someone did ask me to use their neopronouns, I think two things are true:
One, they are perfectly within their rights to make that request. I strongly encourage people (especially myself, because I’m not good at doing this) to feel free to ask people for things. Whatever the thing is, just ask. In most situations, the worst that can happen is they say no.
In this case, I would say, respectfully, no. I see someone asking me to use a neopronoun the same as someone asking me to call them “sir.” I don’t mind that they asked, but I’m not doing it, because I think it’s weird and dumb and that social norms do not require me to acquiesce to the request.
On a related note, I see neopronouns as logically equivalent to the singular they, and I don’t understand why people don’t just use that. If you identify as neither man or woman, you are by definition nonbinary, and if you don’t like gendered pronouns then by definition the gender-neutral they should suffice.
Of course I realize that this brings up the question of “what is gender” and the validity of modern genders, which is a post for another time.
P.S. If you’re reading this in 2050 and I’m running for president and every other person uses neopronouns, I’d like to apologize in advance. Please don’t let my past foolishness keep you from voting me into office.
P.P.S I realize that the description “weird and dumb” is antagonistic, and not something you should say directly to someone. That violates the social norms of politeness. Nor do I think that a person themselves is “dumb” for using neopronouns, or that the word “dumb” really has any meaning. I ran into a former classmate who told me she thought COVID was some form of population control. I know she’s not dumb, yet she nevertheless had a dumb idea, and that’s perfectly normal. I’m sure I have many dumb notions that it’ll take me a few years yet to realize as such. Oh, and being weird is totes fine, I’m a super weirdo.
When I first started taking antidepressants, I felt… not ashamed, exactly, but that it was a temporary measure. More than that, I felt that it should be a temporary measure; taking “brain pills” was inherently unsustainable and undesirable. This belief caused me to taper off and eventually cease using them after about a year. I wasn’t feeling depressed anymore, so I figured “hey, I’m cured, time to ditch the meds!”
That was a mistake. Depression is subtle enough that it took a while before I realized that the medication really had been helping, and I was not in a good place, mentally. Between that realization and the quitting of the medication, I had quit my high-paying tech job with no real backup plan and moved back in with my parents. This wasn’t entirely due to depression but I think it played a part, and if I’d been on medication I may have stuck it out longer and put together a better plan before leaving.
This negative attitude I had towards mental-health drugs is mainly because I was thinking of the brain as something disconnected from the body, when it’s really not. It’s a complicated bundle of flesh, to be sure, but in the end it is just flesh. For years, I’ve taken a daily multivitamin supplement, and I’ve never considered that to be a crutch that I should seek to discard. I wear glasses to correct my horrendous vision, and although these glasses are far from “natural”, I have no problem wearing them, because they fix a biological defect I was born with. In the same way, I now see my daily dose of bupropion as simply fixing my biological defect of below-average dopamine.
If I end up taking these antidepressants for the rest of my life, so be it. I now realize that they, and other “brain pills” are no different than any other medical intervention. If they work, and the effects outweigh the side effects, there is nothing to fear from them. One shouldn’t close one’s mind to alternate treatments, of course, be it different medication or something like Cognitive Behavior Therapy. Just like I’ve been keeping an eye on the development of implantable contact lenses as an alternative to glasses.
The following is a true story. My memory is not the best, but this day is seared into it. Any quotations are, I am quite sure, exactly what the individuals in question said. Everything else has been paraphrased.
It is a typically hot and humid Friday afternoon in Manassas, Virginia. The date is May 25th, 2018. (Thank you, God, for inventing timestamps.) I’m wrapping up a skate session in a strip mall’s parking lot; I’ve been trying without success to land a 180 ollie.
A man approaches me. He has both arms wrapped in casts. He asks if he can use my phone. I decide that given his current state, he’s probably not going to run off with it, so I say yes and hand my phone over. He explains that he needs to call his pharmacy to see if his medication is in.
He calls them, he gets an affirmative answer, and then asks if I can drive him to the pharmacy, which is only a mile or so away. I say sure. (The moral of this story is that interesting things happen if you never say no.)
I ask him how this broken arms situation happened, and he explains that he’d been helping his sister move, and tripped down a flight of stairs while carrying a box. Bad luck, to be sure. He gave me his name, which I don’t remember, so I’ll call him Lucas.
Once we’re in my car and on the way, he reveals that actually, hey, he doesn’t have any money and we need to swing by his friend’s place, because his friend owes him money. I say okay.
Lucas uses my phone to call his friend. Since Bluetooth was connected, it gets piped over the car speakers and I hear the whole thing. Lucas’s friend sounds very… aggressive. Every other sentence contains the word “fuck” and/or ends with “nigga.”
E.g., “Where the fuck you at, nigga?” What the fucks’s taking you so long, nigga?”
Lucas gets directions to where his friend is at, and hangs up. Lucas – who is black – looks at me and says:
Don’t worry – he’s the whitest black guy you’ll ever meet.
It takes another phone call or two and some circling around a suburb before we locate his friend. For whatever reason, he doesn’t just give us an address, just directions, like “second turn on the left after the waterpark” and “fourth street on the right after the basketball court, behind the school.”
We finally find him and, rather than Lucas just picking up the money he is supposedly owed, his friend hops into the backseat. In person, he’s unfailingly polite, and very white. I don’t remember his name either, so let’s call him Sam. We drive to the pharmacy. During this drive and later, I chat with Sam about his life. He reveals that until recently, he was employed by his uncle doing general contracting work. His uncle crashed his car while drunk, and is currently in jail, and Sam is unemployed as a result.
We get to the pharmacy. Sam hands over some money to Lucas, then smokes a cigarette while Lucas goes inside. A few minutes later, Lucas comes back out and says that the meds cost more than he thought and he needs more money.
At this point I realize that Sam did not, in fact, owe money to Lucas, and that something else was going on here.
Lucas returns with the meds, and asks if we can stop by the liquor store. The sun is going down. I say sure.
We get to the liquor store. Sam counts out a certain number of pills and transfers them to a baggie, then gives the bottle back to Lucas. Sam tosses a few more pills in another bag, and proceeds to crush them, using my car window as an anvil and the metal seat belt buckle as a hammer. The window vibrates ominously and the sound of metal on glass does not please me, but I say nothing.
Once sufficiently crushed, they take turns using a rolled up $20 (just like in a movie!) to snort the substance. They offer me a hit. I decline. As a side note, they never mentioned the name of the drug, but I’m assuming it was OxyContin, an opioid.
Lucas goes and buys a fifth of green apple schnapps and proceeds to drink straight from the bottle. (I also decline the offer of a sip.) We drop Sam off at a different apartment than we picked him up from. As he’s getting out of the car, he invites Lucas and me to a beach party. Then he says,
Hey, are you gay?
I say,
Is it a problem if I am?
He laughs and says no, but that if I come to the party he can totally hook me up with some “bitches.”
I thank him for the invite and tell him I’ll consider it. (I had in fact already considered, and rejected, the idea within a millisecond of receiving the invitation.)
Lucas and I hit the road again. After a minute, he – unprompted – says something hinting at homosexual relations in his past. The way he phrases it is awkward and I’m not sure what to say, so I just said something like, huh, okay. (In retrospect, I wonder if he was gauging my interest in paying for sexual favors.)
I ask him where he wants to be dropped off, and he mentions a particular motel, which I start heading for. Then he asks me where I live. I give a vague answer. Then he’s like, where exactly? And do you have a couch I could crash on?
I tell him that I have a small apartment and can’t let him stay, sorry. He presses me some more, but I remain firm. Then he says he doesn’t have enough money for the motel, and all he needs is a twenty. I tell him I don’t carry cash. He tells me I can stop at an ATM. He further explains that he’ll pay me back by the next day, because he’s certain he can sell all his pills by then.
Feeling a bit sorry for him, but also getting tired of this adventure and wanting to get rid of him as smoothly as possible, I stop at a gas station near the motel and withdraw forty dollars. (I am a generous soul.) I give him the cash, as well as a fake phone number. Lucas thanks me and assures me that he’ll pay me back.
That was the last I ever saw of Lucas. Wherever he is now, I hope he’s doing better. At the very least, he probably doesn’t have two broken arms any more, so that’s something.
I went home, showered, and then went and saw Solo: A Star Wars Story. The movie was incredibly disappointing, but really, what adventure movie can truly compare to the kind of adventure I just had?