Week of 20 September, 2021
- I’m typing this post from my Arch Linux desktop PC running i3. In the past I’ve been skeptical of Linux DEs that stray too far from stock GNOME or KDE, but I’ve discovered I enjoy i3’s minimalist approach a great deal. My next laptop may very well be a ThinkPad running the same setup.
- I haven’t been feeling up to writing lately. Being isolated from people for so long has taken a toll on my ability to think clearly. Compared to the Before Times, everything seems to take me twice as long to do — from work to video games to writing these weeknotes.
- It’s okay, though. I’m not in a hurry to get anywhere.
- Dating is pain, in real life as well as Stardew Valley. How am I supposed to marry Emily when she won’t even talk to me?! Heck.
- I’m tentatively back on social media after more than a year of hiatus. To protect my mental health, I’m liberally using the block, mute, and filter features so I can keep toxic people and divisive politics out of my timeline. All I really want from social media is memes, pictures of cute animals, and the occasional discussion about programming.
- Rust in Action is a lovely book, covering several different aspects of low-level systems programming using Rust. I’m having a complete blast with it! Highly recommended if you’re into Rust or systems programming.
Week of 28 June, 2021
- This website now runs on Eleventy! It took me several days to convert all my posts into Markdown and clean them up — shout out to wordpress-export-to-markdown by Will Boyd — but now it’s done and I’ll never have to do it again. Markdown is as close to a universal format as you can get.
- I’ve been trying to get through The Kingdom of Gods — the final part of N.K. Jemisin’s Inheritance trilogy — for about two weeks, but it has failed to capture me in the way that the first two books in the series did. I can see the ambition behind the book, but it feels less focused compared to The Hundred Thousand Kindgoms and The Broken Kingdoms. Or maybe it’s just me? In any case, I only have a hundred pages to go before the end and I can’t wait to see how Jemisin wraps everything up. The world she has created is unlike any other I’ve experienced in fantasy before.
- Anyone who truly knows me knows that I can’t use Git without Magit. In fact, I run Emacs alongside my usual text editor/IDE just so I can use Magit. But I don’t need to do that anymore because Kristian Andersen Hole recently released edamagit, a Magit implementation that runs inside Visual Studio Code. In the week or so that I’ve been using it, I’ve noticed no issues and no differences from the real thing. If you’re looking for a better way to Git, I can wholeheartedly recommend this plugin.
- I’ve fallen behind on exercise. The longest distance I’ve walked in the last two months is from my couch to my bed to my computer chair. No wonder I can’t sleep well. Gearing up to once again start Ring Fit Adventure on Monday. Wish me luck!
The Mere-Exposure Effect
The mere-exposure effect is a psychological phenomenon by which people tend to develop a preference for things merely because they are familiar with them. In social psychology, this effect is sometimes called the familiarity principle.
Whenever someone on the Internet says “things used to be so much better in my day” or “why did they have to change change X, it was already perfect”, this effect is probably the reason.
I’ve noticed this attitude most commonly in music communities, where some older listeners never even try to understand current trends in music. Though software communities are not immune to this either.
Week of 21 June, 2021
On Pratul’s recommendation, I started reading How to Take Smart Notes by Sönke Ahrens this week.
I’m only halfway through it, but already this book has changed the way I think about organizing the information and insight I glean from books, articles, lectures, and other media. It has also put into words some of my beliefs about writing and thinking that I’ve never been able to articulate myself.
I’ve been taking notes using the method described in the book for about a week. Even though putting it into practice takes great mental effort, I feel it’s worth the trouble. My only complaint is that it takes some of the fun out of reading and makes it feel like work. But I’m willing to live with that trade-off.
If you’re serious about learning, I highly recommend this book.
On a particularly dull weeknight, I started playing the original Legend of Zelda on the NES app on my Switch. I expected to kill some time with the game and bounce off after a while, but it captured me in a way that very few games from the NES era have managed to do.
NES games aren’t exactly easy so I’m dying a lot, but it’s not too bad because Zelda lets you continue playing with the same save file no matter how many times you die. You’re teleported back to the starting screen every time you restart, but you get to keep all your items and money. This feels fair. Even if you lose some of your progress, you at least restart the game with enough weapons and money that you can quickly make your way back to the area you were exploring.
Like many other titles on the NES, reading the manual before you start playing is a pre-requisite for making sense of this game. The bit of story that appears after the start screen even mentions this emphatically at the end. Luckily, the manual is available as a PDF from Nintendo’s website.
It’s easy to get lost in Zelda and go around in circles for hours if you don’t have a map. There’s one available in the manual if you want to make things easy for yourself, but I’m making my own with pen and paper. It’s a lot more fun this way and adds an extra layer to the experience. I just wish there was a way to digitize my illegible chickenscratch so I could pull it up on my phone for future playthroughs.
I can now see all the ways in which The Legend of Zelda has influenced some of the modern games that I enjoy playing. From The Binding of Isaac to Grand Theft Auto, seems like there’s a bit of Zelda in everything.
Playing this game in 2021 is still a fun experience. The only thing that feels dated about it are the graphics. The mechanics are still delightful.
Maybe I’ll play through A Link to the Past on the SNES app next.
On Thursday I got to see some friends I hadn’t seen for nearly half a year. All of us had at least one shot of the vaccine in our bodies, so meeting up felt kind of safe.
Looking at some of our old photos, I couldn’t imagine how we ever felt safe going to music festivals and packed indoor gigs with so many strangers around. I don’t know when I’ll feel safe enough to be able to do something like that again. Those pictures feel like they’re from a different universe that no longer exists.
My second shot of Covishield is scheduled for two months from now. Hoping that the government doesn’t run out of vaccines by then.
I played Fire Emblem: Three Houses
After over 70 hours of gameplay spread across three months, I finally finished the Blue Lions route in Fire Emblem: Three Houses last Saturday. This was my third attempt at playing this game.
I had to quit playing the first two times because the hundreds of options the game offers for customizing character builds made me feel overwhelmed and anxious. Modern JRPGs have become surprisingly complex, although most of them last 60-100 hours (or more) so I suppose they give you plenty of time to get used to all the complexity.
Towards the end of Three Houses I discovered that it supports same-sex marriage. I wasn’t expecting this from a Japanese developer, least of all Nintendo, so it was quite a pleasant surprise!
In a few months I want to go back and finish the remaining three routes the game offers, but for now I’m taking a break from all the political turmoil and gray morality of Fodlan to play something on my other consoles.
Over the weekend I started a playthrough of Golden Sun on the GBA. After months of thinking about the best combination of stats for a large cast of characters, it feels good to go back to a simpler era.
The Noonday Sun
Emacs outshines all other editing software in approximately the same way that the noonday sun does the stars. It is not just bigger and brighter; it simply makes everything else vanish.
— Neal Stephenson, In the Beginning was the Command Line (1998)
Rust is Hard
I’m not a Rust expert by any means, but I’ve spent enough time with the language that I can write reasonable code with a bit of effort (and a lot of DuckDuckGo). However, I’ve found that I often hesitate to use it for my personal projects.
Rust is a large language. The sheer number of features and their complexity introduce so much cognitive overhead while writing code that I can’t always muster up the mental energy to use it for things I’m simply tinkering around with after work. It’s just not possible for me to keep the whole thing in my head.
If I was writing Rust for my day job, it would be a different matter. Using it to build production software every day would let me internalize it to the point that it would become mostly automatic. It would let me cement difficult concepts in my brain so that I wouldn’t have to go looking for explanations every five minutes (lifetimes, anyone?)
Sadly I only get to use Rust for one-off side-projects, which means I spend maybe two hours a week using it. This gives me barely enough time to get my code into a working state, let alone dive into things like the Rustonomicon or even macros.
I love Rust, so I’m going to continue using it despite my issues with it. I’ll just have to lower my expectations of the level of proficiency I can hope to attain with the language.
PS: somebody please give me a Rust job 😭
Emacs Sparks Joy
Much like how some people enjoy tinkering with motorcycles, electronics, or craft projects, I enjoy tinkering with software. If my computing environment stays the same for too long, I start getting restless. I crave constant change.
Emacs is a tinkerer’s dream, an infinite sandbox that can be molded into something entirely different each day. I can dive into the manual and discover new features, try different combinations of packages to see what’s most comfortable for me, glue together packages to make them do things they was never intended to do, write snippets of ELisp that help me get my work done faster, and so much more.
In this way Emacs is not only a tool that lets me do my job, but also a creative outlet that provides endless hours of entertainment and joy. I consider it one of the best pieces of software ever written.
Of course, there are other reasons for using Emacs — longevity, efficiency, ubiquity — but these features can be found in many other tools both free and commercial. Only Emacs is good at being Emacs.
Week of 2 November, 2020
- Biden won! This is great news not just for America, but the entire world. It’s a ray of hope for those of us who have been disillusioned the democratic process in recent years.
- Now if only we could get rid of our own knock-off version of the Orange Man. Sadly, we have to endure until 2024 before we get a chance to vote him out.
- In more good news, I finished the first part of Crafting Interpreters! I used Python for my implementation, which you can find here. Next step: do it all over again in Rust 🦀
- The medication I was initially prescribed for anxiety had been working well for me until three weeks ago, when it inexplicably started giving me brain fog and putting me to sleep for most of the day. I was put a different medication last week, and this one makes me wired. Fun. Funfunfun.
- Since I wrote my last weeknote, I’ve really gotten into Emacs. Like, really really really gotten into Emacs. Besides programming, I’m now using it to read RSS, take notes, keep a journal, manage files, and read email. I’ll maybe possibly probably write a longer post about this later.
- Even though this has been a terrible year for musicians, a surprisingly large number of good albums were still released. My favorites so far are RTJ4, SAWAYAMA, how i’m feeling now, Saint Cloud, BOSS, and Ultra Mono. There’s still a few weeks to go before the end of the year, so I’ll probably end up expanding this list pretty soon.
We Do Bones
Her adept said: “I’ll keep it off you. Nav, show them what the Ninth House does.”
Gideon lifted her sword. The construct worked itself free of its last confines of masonry and rotten wood and heaved before them, flexing itself like a butterfly.
“We do bones, motherfucker,” she said.
— Tamsyn Muir, Gideon the Ninth