Programming

Fighting Rust’s borrow checker

2025-03-28

This is a common phrase I come across in Rust forums and IRC rooms. And I’ve got the taste of what it is after I finished porting hedge to Rust (called hedge-rs, obviously). Coming from C/C++/Go/Zig, working with Rust’s borrow checker needs some getting used to. But just to get the thing working, at least initially, I had to do some bits of circumvention, which feels like “dirty” tricks to me at the moment.

Programming · Programming · Rust · Rust · Rustlang

4 minutes

Initial impressions on Rust

2025-03-18

Last year, I explored the possibility of adding a complementary systems programming language to our stack. And I mentioned that I was leaning more into Zig as it resonates with me and my biases. Well, I spent a bit of my time last week porting spindle to Rust (called spindle-rs). This blog is me sharing some of my initial impressions. The first thing is, I quite like it. Which, for me, is a very important criteria.

Programming · Programming · Rust · Rust · Rustlang

6 minutes

Know your target

2024-12-28

I remember ages ago, a friend asked me what my tips would be to transition from a typical programmer to a “systems programmer”. And I distinctly remember answering him along the lines of “Y’know what, I don’t really know, maybe just get more experience?” And now, being an engineering leader to some extent, I get this question once in a while, but even now, I don’t really have a default answer, and a good one at that, to give.

Programming · Programming · Software · Software · Systems · Tech

6 minutes

How valuable is your source code?

2024-10-18

I had a think about this topic when I saw a recent Ars Technica news article about Winamp releasing their source code to GitHub and then deleting it after some backlash from the open source community. And we also hear about instances of leaked source codes as well, such as that of The New York Times, Okta, Intel’s UEFI source, Mercedes Benz, Microsoft, among others. Until now, I haven’t really put too much thought into this.

Programming · Programming · Software · Software · Tech

6 minutes

Thoughts on Zig

2024-09-30

In continuation with my previous post about the new systems programming languages, I mentioned I was considering Zig as a potential complementary systems language to our main one, which is Go(lang). Well, for the past month or so, in my spare time, I tried writing something more substantial in it to understand the language more. For some time now, I’ve been “itching” to write something similar to Hashicorp’s memberlist library, but in a lower-level language for performance, smaller footprint and minimal network load.

Distributed-Systems · Programming · Programming · Raft · Swim · Zig · Zig · Ziglang

2 minutes

Thoughts on the newer systems programming languages

2024-08-20

I’m talking about the new crop of systems programming languages that advertise themselves as better replacements for C and/or C++: Rust, Zig, D, Odin, Nim , etc. I’m using the word “new” loosely here as Rust and Zig, for example, are almost a decade old now. The topic of systems programming has been on my radar (again) recently at work due to our attempts at improving the performance of some of the more critical parts of our stack.

Programming · Programming · Systems · Zig

6 minutes