Do Rust devs hate Go devs?

Earlier this week, a 2-year old post titled I want off Mr. Golang’s wild ride by @fasterthanlime made the news rounds again. This post raises a bunch of concerns on the Go language and is posted from the perspective of someone who prefers Rust. And, just yesterday, I noticed a comment on Twitter by @FiloSottile that, paraphrased, reads “Why is there so much hatred towards Go, especially from Rust developers?”. I wish I could answer this question with a “no, there isn’t”, but that would be a lie: in any large community, there will certainly be hateful people/opinions. If you have encountered such flamebait, I’m sorry, and I’m not here to defend it. What I’m here to do is look at the possible truth behind the claim that Rust developers dislike Go, and I wanted to elaborate on this based on my personal experience.

April 29, 2022 · Tags: go, opinion, rust
Continue reading (about 6 minutes)

Rust traits and dependency injection

Dependency injection is one of my favorite design patterns to develop highly-testable and modular code. Unfortunately, applying this pattern by taking Rust traits as arguments to public functions has unintended consequences on the visibility of private symbols. If you are not careful, most of your crate-internal APIs might need to become public just because you needed to parameterize a function with a trait. Let’s look at why this happens and what we can do about it.

April 22, 2022 · Tags: featured, rust
Continue reading (about 8 minutes)

QB64 Super Dark Blue color theme

Towards the end of 2021, I was playing with QB64 and thought that its default color scheme—called Super Dark Blue—was quite neat. It reminded me of QuickBASIC, which is what the whole program is supposed to do, but the colors felt vivid and modern. Take a look: QB64 with its default color configuration. “Naturally,” I wondered if I could adopt those colors in VSCode and Windows Terminal, as these are the apps I look at the most throughout a work day.

April 20, 2022 · Tags: lab-notes, x11
Continue reading (about 3 minutes)

Introducing db_logger

Over the last couple of weeks, I have been modernizing the codebase of the EndBASIC cloud service by applying many of the learnings I got from the development of EndTRACKER. The latter was a fork of the former and thus the foundations were the same, but as I iterated on the latter more recently, I got to refine my approach to writing a REST API in Rust. During this refactoring process, there was a small piece of the system that routinely got in the way for various reasons.

April 12, 2022 · Tags: db_logger, rust, software
Continue reading (about 3 minutes)

Abandoning GAFYD

If you know what GAFYD stands for and have felt that signing up for a free account years ago was a mistake, you know you are in trouble right now. Those accounts are shutting down. The time has come to either pay up or move out, and you should decide what to do ASAP. It took me weeks of active effort to move my and my family’s data out of GAFYD and put it back into Google consumer accounts and other non-Google services. This post is essentially a recollection of my lab notes on what I did. The text is long and haphazard due to the many things to cover. I’ll start with a brief explanation of what GAFYD was, what’s happening now, and what’s wrong with it. After that, I’ll sketch what my new setup is and how I succeeded in moving some of the more complex services. Here is the outline:

March 28, 2022 · Tags: google, lab-notes
Continue reading (about 21 minutes)

A year on Windows: Finale

We have reached the end of this daily 2-week long series so it’s time to close with some parting thoughts. Before drafting some conclusions on how this whole year has gone, there is just one more topic I have to touch on… and that’s the much dreaded telemetry.

March 19, 2022 · Tags: windows
Continue reading (about 3 minutes)

A year on Windows: Software installation

Can you believe that Windows ships with something that looks like a package manager? By default since Windows 11? I know, right? Let’s take a look.

March 18, 2022 · Tags: windows
Continue reading (about 6 minutes)