I talk about my journey to a plot of land I purchased, and the bitter realization that met me shortly after I arrived.
I talk about the problems of automating the every-day world around us
This was a little narrative I wrote going over a day in my garden and thoughts that filled my mind on it
I share some photos and talk about attending a mushroom festival
I find my internal monologue too often saying: "At XX:(00, 15, 30, 45), I will start doing Y". Then I get lost in my procrastination and by the time I notice the previously selected time had passed, so too have a handful more minutes. Even though I said at 9:30 I would take a shower, it's no longer 9:30, it's 9:37, and that's almost 9:45. If it's almost 9:45 then really I could should just keep procrastinating until then, since it's a nice, round number, and who lives by ugly, non-round numbers? Sickos!
This is worse for very undesirable tasks. I remember once in high school where a whole night had been wasted by this ceiling-rounding, because I desperately did not want to make those slides for that presentation I wanted to do even less. I've gotten better over the years, but still find myself falling into this trap.
No I probably shouldn't.
I've switched back to my old car, a Saab 9-5, after borrowing my mom's Prius V for the past 6 months. My folks only really use one car and so have been using the 9-5 at most once a week for those few times they both leave the house. I did a long overdue oil change on it and fell back in love with the car.
Sure it's not the most fuel efficient, or the fastest, but it just feels nice to drive. I took it for a test-spin after the oil change and the way the seat held me as I took turns and the nice rumble of the tubrocharged inline 4 made me feel alive. Something I never felt in the Prius.
So I gave my mom back her keys and drove home my old bucket of bolts last Sunday. It was exhilarating feeling the turbo spool up going up the on-ramp. Driving a very slow car for 6 months makes you appreciate having some power again. It also got better gas mileage with the new tire, which previously had been leaking air.
It was all fun until Wednesday of last week when I got a puff of steam come out from under the hood. There's been a minor coolant leak for some time, which I was treating with a top off of the reservoir every few weeks. Well, the leak got bigger, not aided by the sudden rise in use after sitting in the hot sun for the majority of the Summer. At first I thought one of the hoses may have slipped off, but no, the plastic connection to the radiator had snapped off. I jerry-rigged a new connection using a lot of epoxy and a plumbing reducer, but the leak was still there. It turns out this crack was a lot larger than I thought.
I've been trying to patch it up with epoxy, but with how cramped it is, I keep failing to fully cover it. It's gotten better, but I still need to refill the reservoir every time I drive it, not good. Right now I'm just using distilled water since I don't want to be spilling tons of toxins every time I drive, and it is a lot cheaper than coolant. I've ordered a replacement radiator, but I'm hoping to patch it up so I can still drive it in the meantime.
One thing that has shocked me is how fine I am with the issue. Sure it's a little stressful whenever that low coolant warning splashes on the display, but the problem excites me more than it demoralizes. Part of the fun of having the car is fixing the problems, something I never had to deal with in the Prius. It's odd but I missed having them, because problems created opportunities to learn, opportunities to be creative.
It's also spiritually fulfilling. I grew into myself in that car. 6 months ago I tried to be someone else, someone I thought was me, but ultimately proved not to be. I enjoyed how cheap the Prius was to drive, how cheap it was to go places, but at the end of the day, driving the Prius felt hollow. The Saab has soul. I feel more like myself again, holding onto the steering wheel, tapping the gear shift levers, and keeping my eye pinned on the temperature gauge.
There are those days where you wake up and the only thing you wish for is for it to end, where everything gets on your nerves, and where you wish you could just blend into the background. It was one of those days that I wrote Loud.
Pounding ripples of sound shake,
a deafening murmur of clinks and clanks
Stuffy recirculated air bakes
The convection oven of the classroom
Loose fitting garments tie me to the chair
No matter how it's done, I don't like my hair
Every momentary glance, I'm aware
I try not to, but I care
Hustle and bustle, crammed into corridors
A thousand footsteps echo across the floors
The blinding pale light of compact fluorescence
Somehow it all makes me lose my essence
Why do I feel most alone in a crowd?
I'm tired of it all being so loud
Shortly after getting into Linux, I gained the desire to have the ability to use it and the suite of programs I found on the go. I wanted to be able to control which applications I used, the background processes that ran, and the way windows were managed. For many years I tried to accomplish this by various means, but now I have made a major step forward in achieving this goal.
Ok, let me be frank, this falls short of the mark of what I imagined. I originally wanted to build a mini-laptop around a Raspberry Pi and a display like this, but after spending countless hours and hundreds of dollars over the years trying and failing to accomplish this, I needed to make a pivot. Realistically, second hand smart phones are cheap, come with everything I need (shy a keyboard), and can cram it all in a much smaller footprint than I ever could. It's the logical solution to all the problems I was having with my former approach. Thanks to all of the hard work of the people around PostmarketOS, booting Linux on a smartphone is only a matter of running a few commands. Without all their work this wouldn't be possible.
For the past couple of weeks I have been using the Step as my primary device and I intend to do so for the foreseeable future. Tiling window managers and tui/cli programs pair amazingly with this form factor. Everything is only a few keystrokes away; a pleasant change from the countless menus and submenus of touch-friendly mobile interfaces. I've been able to read blogs, watch videos, and listen to podcasts the way I want to, no longer needing to deal with restrictive apps or kludgey mobile sites. I've also noticed a positive change in how I spend my time using the device: I don't doomscroll. When the next hit of dopamine requires more than a swipe of the finger, it's easier to break out of the cycle. I'm spending more time enjoying the world around me and less time staring at a screen.
While I wouldn't write a novel on it, the physical keyboard is a joy to use. No longer do I have to go sifting through layers of a software keyboard to find non-alphanumeric keys, or have to deal with the unpredictability of attempting to copy and paste text with the sole input of a touchscreen. Where I'd be painfully frustrated trying to accomplish basic tasks in a mobile browser, the Step handles them with ease.
Additionally, The Step has given me the motivation to tinker again. Unlike the world of monolithic apps with little to no inter-app communication found in Android and IOS, I get to harness the openness of Linux. I don't have to reinvent the wheel of a UI, I can just write a script that does exactly what I need, nothing more, nothing less, and take advantage of tools like rofi or fzf to provide user-interaction.
But most of all, it just gives me ease to know I am the one in control. I don't have to be victim to the decisions being made in board rooms in Silicon Valley. If I don't like the way something works, I can change it. The only limit is my knowledge, something that I have control over.
All required files and materials are listed on the project page. I'd be happy to help anyone, just send me an email!
I'll take some mushrooms and go for a hike, always the same trail: The Salt Creek loop in Auburn California. On this hike I reflect over all that has changed since the last time I had made it. Some changes are environmental, like the fallen log that I've watched decompose over the past two years.
The log in 2022
Though the changes I try to focus on are personal, changes in goals, views on life, relationships, and my general well being. It amazes me how many there are, but at the core of it all, I'm still me.
The trailhead marker
The trail takes you down long switchbacks, from the grassy, oak-sprinkled meadows, through dense pine forest, past the granite and slate laden bluffs, to the sandy shoreline of the American river. The mushrooms normally start taking effect once I reach the trailhead, allowing the trek downward to mirror the introspective flow of consciousness to the core of what makes me who I am. By the time I reach the river I have found some new realization, one which I ponder for a while as I watch the deluge lap the rocks beneath me. Once I have found my breath and rehydrated, I continue my journey upward, thinking about how this new wisdom I have gleaned will shape the path forward. On the path up, I am greeted by the beauty of the setting sun, casting his watercolors of light across the foothills beside me. I reemerge at the trailhead reborn, the wind at my sails, as I make the trek back to the parking lot.
The setting sun on the foothills
The first time I made the trip it felt like my life was in shambles. I felt lost, having just gotten out of my first romantic relationship and spending my days rotting away in my room, trying to fill the void that was left scrolling through dating apps. On the hike down the canyon I found peace in my surroundings. I felt that childlike feeling of wonder as I examined the blooming eruptions of lichen that covered the stones lining the trail. I felt alive breathing in the cold, damp air that was warmed by my internal flame. For the first time in months I felt content. Although I had not made it out of my depression, that journey was my first step forward.
The next trip was when I found God. Maybe not the God of Abraham, but a spiritual connection with a higher power. I realized the significance of humanity's connection to the natural systems and cycles of the Earth. I gained a deeper appreciation for forgiveness, being freed from the shackles of held grudges and past slights. I felt a kinship with the Earth and all the beings on it.
The last trip was now only a few days ago. I had hoped that this one would bring with it another life-reframing epiphany that would ease my troubles and allow me to make that next step forward. There was no epiphany, but I was able to find some peace. 2024 was a year I made some major mistakes, ones which have been haunting me over the past months. On the journey I was able to accept that I was already moving on the right path. I had tortured myself long enough, now was the time to make changes in my actions and rekindle what was snuffed out. Even if the lasting peace I long for is not immediate, it feels tangible and something I'll be able to reach in time. In many ways it felt like a reaffirmation of the lessons I learned on that first trip, and a reminder of how I was able to overcome my demons before.
Originally it was just to subscribe to the paid feed for Blocked and Reported, then I found Matt Taibbi and Walter Kirn's show, America This Week. Substack's RSS feed's often are a few hours behind and so I found myself opening the app in order to get the shows as soon as they came out. Now it has become a bad habit to scroll through it in the morning.
At first most of my feed was written content, made up of the muddy blend of blog and journalism that has appeared over the past decade or so. I was pleased with this, finding the content interesting, but without the constant firing of the dopamine receptors found with short-form video platforms. I found engaging writers that I otherwise would not have found if it weren't for the algorithm supplying them to me.
Then a couple months ago I noticed a change in what was showing up in my feed. There were fewer long-form written posts and more snarky quips and comments with an attached photo or video, similar to what you would find on Twitter/X. I didn't necessarily dislike this change at first, but I found myself impulsively clicking on the orange squircle, like I had done with Instagram before I kicked it.
Now when I open the app it is almost solely the sort of dopamine-farming, intellectually-unchallenging cacophony of memes, viral videos, and misleading headlines, that I have been attempting to escape, but inevitably find myself surrounded by. Perhaps it is my own fault for engaging with these posts, perhaps it's the fault of the architects of these platforms, but nevertheless I'm there.
All social media platforms seem to follow the same pattern. A new site emerges, sparsely filled with content of a particular niche (i.e. Liberalism and Bluesky, Trump-flavored Conservativism and Rumble, lip-synced dancing and TikTok). This brings in people interested in that niche to the site and they start creating content of their own. Then there is a fork in the road, the new content either is diverse enough to bring in new people (TikTok), or it becomes an echo-chamber and becomes more or less irrelevant (Rumble (and currently Bluesky but its too soon to say)). For the sites that are able to escape their single niche, more and more people join the site, and in order to maintain engagement with the site, the recommendation algorithm is tweaked to maximize the amount of time spent on the site. This creates many silos, where users are eventually trapped in a box, not seeing large swaths of the content on the site, though highly-viral posts will be served regardless of the box you fall into. Eventually the content of one site is nearly identical to another.
I find myself in the conspiracy box on Substack. Although I am a conspiracy theorist, I don't think everything is controlled by some evil cabal, but nevertheless that is all I am fed on the site. It's getting frustrating, because for those first couple months I really enjoyed reading opinions from various thinkers across the political spectrum. Occasionally some variation peeks through, but it is few and far between. It's all conspiracy posts, memes, conspiratorial memes, and the few people I followed before my feed got ruined.
He's recently started getting into Linux, starting off with a tried and true Arch + i3 setup. I cannot put into words the joy that came over me when he first sent me the photo of his little repurposed chromebook with the neofetch output on the tty. It's good to have someone to share this hobby with, better yet with one of the best friends I have.
We had him over for our New Years Eve celebration and to my pleasant surprise he brought the chromebook. He let me play around with it and check out his config, which was almost nostalgic for me, having not used anyone else's configs since I first started tinkering with window managers back in 2017. It was refreshing to try something different to how I would set it up, seeing what someone else prioritises. One thing that caught my eye was that he was using kitty for his terminal emulator. Seeing as I had just jumped to wezterm, I was eager to see if the grass was truly greener on the other side.
Of course, terminal emulators don't widely vary from one another, but where they do differ often makes or breaks their usability. I had tried kitty years ago before I switched to alacritty and remembered it fondly, except for the "bell" sound which got irritating, though is easily disabled (why I never did originally disable it escapes me). He showed me kitty's image rendering support and I immediately fell in love. I had a preconceived notion it was more similar to ueberzug or w3m-img, but in reality behaved much more like sixels. I felt like an idiot for not having given it a try sooner and working solely on my assumptions.
That brings us to today, where I have now once again migrated terminal emulators from wezterm to kitty. The transition was just about painless, though my font of choice, terminus, was not a TrueType font and thus was not supported. Fortunately there was a TrueType version of it, but I opted to change fonts. Although I find Terminus to be aesthetically pleasing, it is not great for readability, especially in large blocks of text. So I opted to use the Hack font, one I had used in the past, as well as the font my friend had been using. You will also see this for the website, which had used Terminus prior to this post.
Kitty is trying to accomplish more than what I normally look for in a terminal emulator, but it is executing it well and the image protocol seems to be being adopted as a defacto standard. It's nice to have a config you feel comfortable and familiar with, but it's also nice to have some change every once in a while.
A couple months ago I received an email from a reader of my old gemini capsule, let's call him Artem, as I'm unsure if he would like to be identified. I, now regretably, did not make a post saying anything about abandoning my capsule and he was wondering where I had ended up. He explained how he initially found my capsule, mentioning a few keywords that caught his eye: Russian language and culture, Linux, and communist politics. I've not had the chance to speak with a Russian who still resided in Russia, let alone one who shared many interests with me, and had a number of questions for him. The conversation kicked off from there. We've shared stories from our lives, separated by thousands of miles, years apart, now connected by electromagnetic waves and the ingenuity of our forefathers.
These interactions have reawakened a latent Russophilia that has been with me since high school. There's something about the unique character of the country and its people that fascinates me; a landmass bridging West and East, sharing characteristics of each, while maintaining its own bold identity, being made up of a smattering of nationalities and subcultures. Through my raging communist years, the songs of The Red Army Choir taught me how to connect with music on an emotional level, from the euphoric bellows of В путь, to the longing melancholy of сулико (Though the latter is Georgian in origin). Since my interactions with Artem, I again find myself putting on music from the other side of the Iron Curtain, but connecting in a stronger way, no longer tied to the desire of the music to hold any form of ideological rigidity, enjoying it as a reflection of the human experience. One song that has been particularly connecting with me through this dark Winter of mine has been тёмная ночь, as I trudge through each day knowing things will improve, surrounded by a vacuous steppe.
This connection has also stoked an inner conflict that has plagued me since first reading Industrial Society and Its Future: is technology good? In many ways it has isolated us from our communities and has made us servants to an ever-growing behemoth that strips us of our natural connection to the Earth. In many ways it allows us to connect with people we never would have crossed paths with otherwise and collate the wealth of humanity's wisdom and knowledge, accessible for all to see. Technology is simultaneously a slaver and a liberator. Although it was before my time, hearing hopeful descriptions of the wonders of the information super-highway from the 90s makes me dream of a better world, a world where this great leap forward of communication was used how it was intended. I dream of a world where the powers at be are laid bare by the masses, no longer able to contain the centuries of pent up subjugation. Yet I awake in a world where these tools have been used for control, wielded ever so craftily by the very people it threatened to destroy.
Through these communications with Artem, I have concluded one certainty: technology that serves to enable self-expression and technologies that serve to expand the range of what was once the domain of traditional letter-writing are wholly beneficial. Without it, I would have never had the guts to publish anything nor had the chance to meet this remarkable individual. If you have the chance please check out his website and his collections of quatrains, many of which are quite humorous:
Be warned for my fellow non-Russian-readers, software translators are not your friend for this language. You'll be far better off using https://en.openrussian.org or another dictionary of your liking.
As I mentioned in my last post, I'm re-writing my RSS feed reader, Feedie. With Winter break going on, it has been the main thing I have been doing for the past week or so. I've made pretty good progress and have mapped out how it's going to work in my mind. The one thing that frustrated me was writing a parser for Atom feeds.
Atom feeds kinda suck. While the Atom standard is fairly well defined, the implementations are kinda all over the place. Some use a combination of RSS and Atom XML elements, some prepend each tag name with "atom:", some identify themselves as Atom feeds, i.e. using "xnls=http://www.w3.org/2005/Atom", while actually just being RSS feeds. This is bad. Instead just checking for one element, you have to check for multiple, some of which are nested inside other elements. Additionally, they complicate it further by placing some things in the text values of the XML element, while putting others (mostly urls) in the attributes of it. In the end it's not difficult to parse. I just copyied the RSS parser code and added a few more values to check for. But still, since there is a standard, it's frustrating that it isn't followed.
The worst part is that it muddies everything up while not adding that much new functionality. All of it could have just been done by extending the RSS specification, something which is supported from within the RSS specification, but no, we have to have a nearly identical standard with a few things renamed.
I'm excited to get Feedie to a working state. The back-end is almost done and I'm intrigued by NotCurses for using in the front end. ChatGPT has come in handy a few times for writing very basic, but repetitive code. Even if this project is all for naught, I've gained a better understanding of C++. I see why there is a lot of hate for it online, but dammit I like it.
I wrote Feedie a couple years ago with the one goal of having a terminal rss feed reader with thumbnail support. I got it to a functioning state, but it has a number of issues and is poorly designed. I've been meaning to rewrite it for more than a year, even making a pretty good start back in March, but have been to busy with school and life (read too lazy) to actually make real progress. With the semester having ended this week, I'm making it a goal to work on the Feedie rewrite over the winter break.
For the original Feedie, I used Ueberzug for image drawing to the terminal. Ueberzug is pretty good, but after the original creator nuked the repo out of frustration, proper documentation is kinda hard to come by, and it generally seems like the utility is being used to a lesser extent. For these reasons, I wanted to look for something else. After some research, I found Sixels, short for "six pixels". It almost sounded too good to be true, a terminal and display server agnostic method to print images to the terminal? Well, there is one catch. Most popular terminals do not support it. However after scrolling through https://www.arewesixelyet.com, I found that there are a good number of them that do. Alacritty, the terminal emulator I was using, did not.
Oddly enough, XTerm does, if you run it in VT340 compatibility mode. I opened it up with the absolute eye cancer that came from the default configuration. It didn't matter what it looked like for now, I just wanted to see this sixel format for myself. I downloaded one of the various sixel reference images and gave it a shot.
Note: not on XTerm, hence the reasonable color scheme
Honestly this is better than I could have hoped for. The image quality is pretty good, there's some pixelation, but in an odd way it's sorta fitting, in a way better than having the full fidelity image. It looks more at home on the terminal than a regular image. It reminds me of graphics used in textbooks from the early 2000s, probably because they were also using dot-matrix printers and sixels were invented for dot-matrix printers. They also behave in a more cohesive way than Ueberzug and other terminal image-drawers. Instead of having a separate program being called and drawing the image over the terminal where the image is supposed to be, the sixel image takes up space where characters can't be drawn on, and is rendered by the terminal. I foresee this being useful, as Feedie currently just gives the whole top right quadrant of the window to draw the image, because it was unpredictable to get the exact size the image would take up. I kept accidentally covering other elements of the screen when I tried having the description go immediately bellow the image. This problem should not exist with sixels.
On the list of sixel supporting terminals, I noticed that ST, suckless terminal, had support through one of its patches. Having had some experience and general satisfaction with other suckless projects like dwm and dmenu, I gave it a shot. Then I remembered why I stopped using those tools, suckless's patching system is a pain. The first patch I tried installing failed, so I had to copy over each line from the diff by hand. This wasn't actually all that bad the first time around, just being a single copy and paste job, but when trying to add the required patches for mouse scrolling, the patch also failed. This one was less trivial, with two dozen different segments I needed to insert. I stared at the procession of interchanging red and green highlighting of the diff, sighed, and decided to look for another option.
I scrolled through the list again and saw one that a vaguely remember hearing about before, Wezterm. It had native support for sixels, was gpu accelerated, and in the Void repos, so I figured I'd give it a shot. After installing, I was initially unimpressed. The default theme looked pretty tacky, made worse with the ever present tab-bar. I was half-certain about looking for a different option again, when I decided to look through the documentation just to see how hard it was to make it useable. I was quite pleasantly surprised to see how fleshed out and straightforward the configuration was. Over the course of a couple hours I got it to be pretty much one-to-one with my Alacritty configuration and swapped out as my default. So far so good! Albeit, it's been less than a day using it.
I was back in my room from high school, living in my little renovated basement, everything the same as I remember. An old friend I haven't seen since the Summer after I graduated was coming to visit. Things didn't end well the last time I had seen them, but it has been so long that it no longer mattered. They arrived and everything was like how it was again during those glory years. We reminisced over those fond memories we shared through the night. Before we retired for the evening, I brought up the last time I saw them, apologizing for the way I acted and forgiving them for what had happened. Immediately tears started bursting from their eyes, they turned and hugged me; holding on as if they were not wanting to let go of me ever again. Between bouts of tears they said to me, "I'm sorry, I'm so so sorry". I held them too, telling them it was ok, happy that we had finally moved on from that dark chapter in our friendship, excited for all the memories to come. I had my best friend back, that's all that mattered, and in that moment all was well. We fell asleep still holding onto one another.
And then I woke up. None of it was real. In that brief moment of realization, I begged for a moment to return to the dream, to return to that world where I was with them, so we could share a few more moments together. I felt tears well behind my eyes and a single drop run down my cheek as the young morning's light started illuminating my room.