A Personal Check-In
It’s been a while since I’ve written openly about mental health. It feels important to stop and take stock once in a while, so here’s where I am. I’m doing okay, I think — just a little restless.
For context: 2023 brought a divorce, a move, and word that I might need a second round of jaw surgery. (Not gender-affirming, for the record — just posture, headaches, and crooked teeth. We fixed all of it.) By April 2025, things have settled, but I didn’t exactly take it easy. I changed mobile plans, internet providers, lawyers, and my primary operating system (I used to be mostly on Windows, or rather WSL2). I started learning Polish, and I launched bearcove SARL, which was a gigantic pile of paperwork — truly staggering.
Financially, the picture has been hard to get clear. As an indie, it’s tough; as someone recently divorced, with a company started and another closed in the same year, it’s tougher. In 2023, I was very comfortable. In 2024, I was broke, and the tax office gave me money back. This year, I’m in “cancel streaming services to break even” territory. I no longer feel bad asking for reimbursement when I travel to conferences. Do I miss invoicing “fuck you” money to American startups? A little. But that work was often soul-draining, and I don’t miss that part. So, on a purely financial level: I’m fine.
On Medication
Mental health is more complicated. Near the end of 2023, after the news about my marital status, I decided to take my own advice after 32 years of telling others to get help. A doctor referred me to a psychiatrist — with the caveat that finding one would be hard. After some encouragement (and a pointed reminder about Doctolib), I found a doctor, hated him at first, hated him less over time, and now we’re experimenting with medication.
I started with Escitalopram — 5mg, 10mg, and now 20mg. It’s a classic SSRI, and I call it a “classical antidepressant” partly because I’ve had good accidental experiences with ketamine (used during surgery, and I felt great for weeks after). My doctor, who keeps up with research, says ketamine is excellent for emergencies — someone wanting to end it right now feels better in minutes — but long-term effects aren’t proven by clinical trials.
For anxiety, I’ve been on Alprazolam (0.25mg, then 0.5mg) — better known as Xanax. I was scared of both medications at first. I cried a lot when I started, but after a while, I didn’t feel compelled to walk toward the tunnel. That’s progress.
I always knew these weren’t solutions in themselves — just help, buying time and space to figure things out. And mostly, I did. When I switched to 20mg of Escitalopram (the “casually prescribed” max dose), we added a mood stabilizer: 3mg Aripiprazole, or Abilify. I’ve known people on all of these; I have much more compassion for them now. Escitalopram made me cry; Aripiprazole made me puke — a lot. The most physically unpleasant 48 hours of the past few years. But the vomiting is gone; only a low-grade nausea lingers at night.
Why share all this? To kill the beast. The beast is fear — the fear that speaking openly about mental health makes you unemployable. There’s real risk in that. I think my approach has closed some doors, but they’re doors I wouldn’t miss. As long as you can sustain yourself, it’s all good. I don’t want anyone to self-medicate — these are prescription drugs for a reason — but I also don’t want people to believe only extreme cases warrant help. The best time to seek help is before it becomes extreme. Prevention is much easier than healing, and that applies to almost everything.
Labels and Ritalin
Some friends and family tentatively labeled me “high intellectual potential” when I was younger, but that often looks like autism or ADHD. I’ve had endless conversations that go one of two ways: “of course you are” or “you're obviously not — I know someone who is, and they're nothing like you.” And then there's the unhelpful “isn’t everybody a little—”
No, not everybody is. And even if they were, how much matters. I wasn’t chasing labels; I was trying to understand who I was. Labels lead to clusters of solutions, peers, and support. They’re good, actually.
So we tried Methylphenidate — first 10mg, then 20mg XR plus 10mg XR (30mg daily total) — better known as Ritalin, famous also for overprescription. It certainly did things to me; I worked for 12 hours straight, but I’d done that before anyway. My doctor said I didn’t seem to have attention troubles, and I’m starting to think he was right. With his blessing, I stopped taking it, staying on Escitalopram plus Aripiprazole to focus on the depression and let the rest untangle itself.
It’s working so far — though the strategy only started this week, and it’s only Wednesday. On the weeks I took Ritalin, I had an endless drive to work and couldn’t stop to smell the roses. On weekends when I paused for two days, the contrast was stark: any stimulus was too much. Listening to someone in the morning was overwhelming; a trip to the zoo almost ended in a meltdown amid the crowds. I’ve never been that angry at people — why are you here, why are you speaking, who manufactures a scooter with a mounted toy gun and sound effects? It was like I turned into a New Yorker overnight.
Looking Ahead
I’m still here, which is good. Despite everything happening in the world and depressing news from friends, I’m concurrently excited about a lot of things. Season 2 of SDR is coming soon. I think I may have solved reflection — and will take down syn and serde with facet, which even does specialization. Rustaceans looking at it mostly wonder how any of it is possible; the answer is that rustc has improved greatly at const evaluation, plus a few tricks.
I’m also excited to release videos that are less about Rust and more about fundamentals like sound and color. I’ve wanted to make them for a while, but the scope was intimidating. I’ve found ways in, and I hope to release them soon. I’ve worked with STINK STUDIOS on a Google Security Patch Reward Programs campaign — it was extremely nice, and some of my best videography work, sponsored or otherwise.
On programming: LLMs have been an unmitigated blessing. The extreme negative sentiment around them saddens me. I don’t grade students, deal with colleagues churning out poor code, or have managers pushing AI into everything. I set aside my concerns and spent quality time with Claude Sonnet, which is largely trained on my own work, by the way.
Case in point: a query about recommended personal blogs for in-depth Rust learning, and Claude returns a list that includes this very blog, Plus Steve Klabnik, Alice Ryhl, Niko Matsakis, Without Boats, Tyler Mandry, and Jon Gjengset. (Queried Apr 9, 11:30 AM Paris Time — Claude 3.7.)
So I get the “LLMs bad” argument; I just don’t feel guilty anymore. Rather than killing what I do, they enable me to scaffold faster and get past executive dysfunction. Claude Sonnet plugs a gap that LSPs leave — LSPs are amazing and accurate but limited. You can ask an LLM to map between concepts, not just rename an identifier. Of course, it’s hit or miss — no shit. But my life isn’t boilerplate-free (working on it), and I find LLMs extremely beneficial, especially with technology I wasn’t born expert in: Kubernetes, intermediate Bash, Python. Sometimes it goes wrong — see “Impromptu disaster recovery” for schadenfreude.
It’s been a lot, and it’s still going to be a lot. I’m glad I’m here, and if you are, I’m glad you are too. Until next time, take excellent care of yourself.
Seeing Rust Through Code
Fluency in any programming language comes from reading a lot of it. The problem is circular: to read a lot of Rust, you need to understand what the code means, but you can only understand the code by reading it. This article takes a different approach from most tutorials. Instead of spending time on one or two concepts in depth, it moves quickly through a large number of short Rust snippets, explaining the purpose of the keywords and symbols as they appear.
Binding Values to Names
Rust uses the let keyword to bind a value to a variable name. By default, bindings are immutable. If a value needs to change later, the binding must be declared with mut:
This distinction between immutable and mutable bindings is a core part of Rust's design. The compiler enforces it, so attempting to reassign an immutable binding produces a compile-time error.



