Post 7 - Using MacOS

For the past few years, I had to use a Macbook laptop at my workplace. The corporate policy to only use Apple computers never made much sense to me: The excuse to not support anything except Mac or Windows was the usual “Mobile Device Management requirement” strawman. There are very good MDM solutions for Linux as well now; these solutions, unlike the expensive ones for Mac and Windows, happen to be cross platform. I could not convince anyone of this; nor could I get this policy changed; at some point, I resigned myself to making do with this computer. This post contains a list of applications which I found useful and helped me turn a Macbook into the other Linux machines that I am used to using. If I ever have to use a Mac again, I hope this list will be useful to me then.

Read More

Post 6 - Short Term vs. Long Term

I hope you have not been following the news. I have not been following it at all, nevertheless, it is very hard to completely shut off the influx of daily happenings from everywhere. One such daily happening is the back-and-forth about a strange thing called “tariffs.” Let’s assume that you know very little about what it is. The only thing that you could take away from the breathless coverage of every flip, backflip, and reverse-backflip, is that tarrifs are bad, wanting to impose them is bad, but also good in some cases, but mostly bad in most cases, except that one case … You get the point: They are a complex subject which can not be covered in a 5 minute article or a 20 second AI-generated summary of that article. This constant influx of information convinces some people that they have to do something, which they use to invest in the stock market. These short-term plays have never meant much for the average retail investor: Bogle’s book expresses that argument eloquently and succinctly.

Read More

Post 5 - Emacs and Elisp

I started using Emacs around 2020. At the beginning, I really only wanted to use it for its superior support of LSP and Org-mode, which in my opinion, is a far more complete mark-up language compared to Markdown. It is simple to use, but it can be used to do complex things too, if that’s your preference. I am able to have a directory with multiple Org files, TODO items in various files, and all of these can be presented in a familiar daily, weekly, monthly task-list format using org-agenda. I can schedule things, set deadlines, set reminders based on those deadlines, and repeat tasks periodically. These are all things that Org’s design allows: the native integration into Emacs makes it easy to get started using all the functionality provided by Org, without having to depend on external packages. Systems like this probably exist for Markdown too. I never looked for one because my problems with Markdown began well before I found out about Org-mode. Writing Elisp and extending Emacs was something that I started doing because I had no choice. I have not gotten far enough with it yet, but I have been able to implement some useful functions, for which ready-made packages don’t already exist.

Read More

Post 4 - Science Fiction and Time

Science fiction is a great genre. Within science fiction, the subgenre that manipulates time is my favorite. Movies based on the warping of time, the invention of a time machine, or the strange effects of a single episode of time travel are some of the best. (The other subgenre that I really like is the investigation of fictional accidents, such as the one that is conducted in Airframe, by Crichton) Interestingly, warping time does not need to resort to fiction: the best examples would be Memento, 500 Days of Summer, and the Seinfeld “backwards episode”.1 These depict the events of a character’s life through an odd, nonlinear narrative. If the linear flow of time is the basis for everything, then it is fascinating to explore the alternate realities and the questions that it raises.

Read More

Post 3 - Yet Another Streaming Service

“You know, I watched a great movie yesterday; it was called The Movie That Can Never Be Watched.”

“Oh, cinema-in-cinema. That sounds interesting. Where did you watch it, was it on Netflix?”

“No, I think it was on BagelsForLife.tv.”

“Oh, I don’t have an account on that one.”

“Tough luck! You’ll have to wait until the streaming contract for this movie expires in 4 years and it moves to yet another streaming service that you don’t have an account on.”

If you can relate to this story, you should keep reading.

Read More

Post 2 - Games and Movies - Violence

Early in 2024, I bought a gaming console. This was the first time I was in possession of hardware that was meant primarily to run games. Before this, I had played a few car racing games (using CDs on a Windows desktop). More recently, I played the indie favorite, Papers, Please, on my laptop and thoroughly enjoyed the game’s concept and the implementation. I had never played any other type of game before. So, Last of Us was a pleasant surprise: It really pulled me into the story and the character. Just as the friend who recommended the game to me said, the game was just a medium for telling a touching story, and it should not be treated as anything significantly different from the other mediums for telling a story: novels, poetry, music, movies, podcasts. After completing Last of Us, I played the second game, Last of Us Part 2 as well. The second game was distinctly different from the first one; I believe I had more fun playing the second game: It had more challenging enemies and scenes that were harder to get through. There was quite a bit of violence, because I was role playing as a character in an apocalyptic universe full of monsters and enemies. I abhor violence in movies: It is boring to watch, and very often, movies with violence lack a plot. Why was one form preferable to the other? Is it even different, or am I simply trying to explain away a personal preference? These were some questions that I have been thinking about for the past few months.

Read More

Post 1 - Installing Linux is (Somewhat) Easier Than It Used to Be

Late last year, and earlier this year, I started thinking about whether I could continue using Debian Stable as my primary Linux distribution. Another thought which had been in my mind for a while was that I should try a rolling update distribution, such as Arch Linux. I never made the switch because Debian Stable works pretty well: It is extremely stable because all the packages are at least 3 years old, with security updates managed by the Debian team. (I have not idea whether they backport bug fixes; I have not run into any bug whose fix I wanted, so this did not affect me anyway.) But recently, the Linux desktop world has been moving quite fast: Wayland and PipeWire are becoming the norm (replacing X11 and PulseAudio). Old tools are being rewritten in Rust (such as ripgrep, fd, alacritty, autojump-rs) and the rewrites are much better than their older counterparts. These were some things that pushed me towards testing out Manjaro, a rolling update distribution based on Arch Linux. This post is about the installation process, not the OS itself, because I have only used it for a couple days at this point.

Read More

Using LLMs Daily

The software industry is moving towards a world where every engineer is expected to use LLMs more; the practice of keeping track of LLM usage frequencies and advocating for more usage will probably become the norm in a few years.1 I don’t believe the hype; I think we’re in a fairly early state. If one looks at what is possible today, and the historical practice in this area to over-promise and under-deliver, it seems highly unlikely that significant changes are just around the corner. But every article about AI has this mandatory suffix: “AI can’t do that; at least, not yet.” I am not sure what all of that is based on. As a full-time software engineer, I have been unable to ignore these products completely. People in other professions should definitely consider ignoring it, even though there are vague reports of LLMs having some impact everywhere. This post is a summary of what I have been using LLMs for recently and where I think they are usable.

Read More

The Promise of Open Source

Using open source software can be a fair bit of work. I emphasize that this is a choice, as it is entirely possible to install Ubuntu on your computer and use it for all your daily activities, without thinking about customization. Say you want to open multiple windows, and have them all take up equal space on your screen automatically. This is possible: You can use a tiling window manager. There is free and open source software out there which can do it. However, it is not being marketed anywhere by anyone: so you have to search for it. There are no automatic QA suites that run against it, nor is there testing to verify if each version installs without hiccups on a wide variety of supported operating systems. There is no such thing as a fixed release schedule, or quarterly OKRs, or a vision document. The project does not employ UX researches, who talk to users of other tiling window managers, or product managers that compare the project against its competition. The setup that the project author is using might be the only supported system. To me, these are minor annoyances when one considers the substantial promise of free and open source software.

Read More

The Perfect Window Manager

Over the past 10 years, I have tried off and on to stick to a single tiling window manager, i3wm. It has never really stuck on with my workflow: One of the biggest problems that I have faced is that while i3 solves one major problem (efficient screen space usage), it introduces several small ones (audio input/output selection, display selection, and many others). Others who are more proficient with the complete Linux stack face similar issues too. This post is part rant and part solution. The solution is to use PaperWM, a Gnome Shell extension that makes the simplest form of tiling possible: vertical tiling with window resizing. I have been using it for a week, and I am very excited about it, because it combines the battle hardened it will work guarantee of Gnome, with the features of a tiling window manager that I am most interested in.

Read More