One of the lifestyle changes I’ve been wanting to make in 2019 is to reduce my consumption and to live in a way that is more considered and careful. I’ve already written about how I’m doing that when it comes to information and media consumption. In more material ways I’m trying to do things like take more public transport, eat out less, and reduce the amount of food and non-recyclable waste that I produce. I’m also trying to reduce the computational resources I use, and by extension the energy, human and natural resources used.

I’ve been a happy Linode user for several years now. I started using what was then their lowest tier at $20 a month to host some of my websites and small web applications. Over the years, I’ve been paying the same amount per month but been getting upgraded to more powerful virtual servers, until I got up to their Linode 4GB Standard tier: 4GB of RAM, 2 CPU cores, 80 GB of SSD storage and 4TB of network transfer. If that sounds like overkill for serving a few small websites, you’re probably right.

Linode is starting to migrate users from a monthly billing plan to an hourly billing plan. In the process of reading about the plan differences (spoiler: not much for small users like myself), I decided to re-evaluate how much computation I actually needed and used. The above mentioned specs were far more than what I needed, or could see myself needing in the near future. So I downgraded to the current lowest Linode configuration, the Nanode: just 1GB of RAM, 1 CPU core, 25 GB of SSD storage and 1TB of network transfer. That should be more than enough for my needs, and will cost me just $5 a month.

I could probably go even lower and do most of my hosting out of GitHub Pages, or an Amazon S3 bucket, but I find it useful to have an actual virtual server to run arbitrary programs on if I need to. I am planning on making some more changes to my computing usage in the near future. Currently the VPS runs Arch Linux with a fairly large list of userspace tools (including a full OCaml compilation stack). The lower specs will probably make compiling things on this VPS annoyingly slow, so in the future I’ll be compiling on my local Linux machine and just moving binaries over. I will also be switching over to using Alpine Linux to run an even lighter system. Also, this blog currently runs on WordPress.com. That has worked out pretty well, but for a number of reasons I think it’s time to part ways. I’ll go into those reasons in depth in a future post, and I will be moving the blog over to said Linode VPS over the next few weeks.

Now, I’m fully aware that this doesn’t make a huge impact on anything in the grand scheme of things. And yes, part of doing this a reason to just geek out on UNIX sysadmin-y things that I don’t do much these days. But still, I do believe that if a few minor changes can make a positive effect on the world (no matter how small), then it is worth investing the time and energy to make those changes.

Sunday Selection 2019-03-24

I’m trying to write more and regularly, and have been doing well this past week. I also have plans for the continued development of this blog (more on that tomorrow). Time will tell how long I manage to keep this up. For now, I’m doing away with the categories I had for my Sunday Selection posts and just presenting a bunch of interesting things.

Authentic Happiness by Martin Seligman

I spent a more than usual amount of time on public transport last week and I decided to use that time to read a book rather than just people-watching, or reading random things on my phone. I’m about half way through this one, and it’s already changed some of my perspectives on life and how I deal with challenges and changes (and there have been a lot of those recently).

The only metric of success that really matters is the one we ignore

I mildly hate the absolute tone of this clickbait-y headline (as we all know, only a Sith deals in absolutes), and it’s not the best written piece on the matter, but it highlights important points we often forget. I’ve been lucky to have lots of friends and a healthy amount of socialization for most of my life, but I don’t think I’ve done a very good job at building or being part of a community. Building and becoming a part of a strong, stable, and welcoming community is something I want to focus on in my thirties, though I’m still figuring out how.

Why is reading in the pub so enjoyable?

I’m a big fan of reading, and of reading in public places. I usually prefer classy bars or cozy cafes rather than pubs, but the general idea of reading in a pub definitely appeals to me. On the other hand, these days I find myself preferring quiet places for reading and working, so I’ve been doing more of my reading at home (though as noted above I did a lot of reading on public transport last week).

My Alpine Linux Desktop

And now for something completely different. I’ve been reconsidering my computing needs and environment over the last few days (more on that too tomorrow). I’m considering moving over to Alpine Linux, especially for anything that is public-facing, like my websites. Alpine is a very low overhead, minimal distribution that includes a bunch of security-enhancing patches and development techniques.

Captain Marvel

I went to see Captain Marvel last weekend and really enjoyed it. I wouldn’t say it’s great, but it’s definitely good. It’s very well made with the now-standard Marvel approach of blending a timely political theme with fun characters and beautiful visuals. Brie Larsen does a great job and the CGI de-aging on Samuel L. Jackson is really well done. I would watch it again.

Continuing yesterday’s theme of reducing consumption and information hygiene, today I thought about browsers and tabs. I’ve been pretty disappointed with how much webapps have taken over day-to-day computing. But the one silver lining is that I can isolate all of my communication (email, various messengers, Slack, social media) in the Chrome browser. When I need to focus, or just don’t want to be available, I simply close Chrome. I use Safari for all of my actual browsing. I suppose I could do this within different instances or windows of the same browser, but there is probably an important psychological signal I send myself by having different applications for different purposes (even if the two look substantially the same).

Another piece of the puzzle is that I aggressively close tabs. If I come across a long article that I want to read, but not at that moment, I send it to Instapaper (and will often actually read on my iPad). PDFs get downloaded, and also are often read on my iPad. For things that I will need to refer back to later I use bookmarks. I’ll use local bookmarks for things I need periodically (like API docs, or the list of LaTeX symbols). For other things that I might need later, I’ve been using a happy Pinboard user for years.

Personally if I have a browser window or too many tabs open I feel like that’s something I should be paying attention to, especially if it’s something like email or Slack. But most of the time, what I should be paying attention to is something completely different. Actually closing out unnecessary windows and tabs helps me to mentally clear out false expectations and distractions.

Over the last few months (years?) I’ve been noticing the increasingly deleterious effect of excessive information consumption of my state-of-mind in general and my ability to concentrate for long periods of time in particular.

With that in mind (get it? I’m sorry) I’m trying to be more careful about my information consumption.  Part of that is trying to consume higher quality things in smaller quantities, and spending more time and effort enjoying and appreciating what I’m experiencing. But part of it is also revisiting things that I really enjoyed once.

Over the last few years I’ve been largely listening to music via Spotify. While it’s been great for discovering new artists and music without spending tons of money, it’s also led to some bad habits. I often get lazy and listen the same playlist of Spotify-curated tracks on repeat. I also neglect my fairly large personal collection of music that’s sitting around on my computer.

So I’m going to try to listen to more music from my personal, local collection, including a bunch of the aforementioned things I used to really enjoy.  Since I’m near my MacBook most of time, I’ll be listening to MP3s via iTunes. Some of my collection is messy, so I’ll be using the excellent Beets tool to clean up and organize my collection as I go. Today I’m listening to Blind Guardian, starting with The Forgotten Tales album. I’ll also be keeping a Twitter thread of things I’m listening to as I go along (if I can remember to update it).

Web interfaces for source control

I came across two articles about web-based interfaces for source control. The first is a critique of GitHub’s UI. The second is an explanation of some of the design choices for Sourcehut, a new 100% free and open source software forge.

If you’re interested in interfaces, or software engineering tools, I highly recommend reading both. They are short, will only take a few minutes of your time, and maybe make you think about functionality you take for granted, or issues you’ve learned to ignore and live with.

Personally, I like GitHub’s general prettiness, but I agree that there’s a lot of unnecessary UI elements, and not enough of (what I would consider) key features for effectively browsing source. The above-linked article mentions the difficulty of switching between individual files, history and branches, while links to Enterprise pricing, or starring repos are on every page. Part of that can be chalked up to GitHub’s position in between a software forge and a social network (because  we’re still in the phase where we think everything needs to be a social network).

To be fair, Sourcehut is a bit too spartan for my tastes. If nothing else, I like good use of whitespace and nice fonts. (Aside: consider using Fira Code or Triplicate for displaying source code.) And I can’t tell how to easily move between code and history views on Sourcehut either. But at least its motivations are more clear, the appearance issues can probably be solved using user style sheets, and if you’re really peeved about its choices, you can fork it (though it’s almost certainly not worth the effort).

I haven’t really used similar tools (except for a pretty barebones code diff and review tool at a company I worked at briefly), so I wonder if there are other examples that can provide interesting lessons.