Farai’s Codelab Is Back!

Published: Updated:

I’ve been blogging for nearly 9 years now under various domains and themes. It started with The Algorithmic Cookbook where the idea was to build an “online presence” by sharing what I’d learned, helping me get jobs and internships—that didn’t happen. Instead what happened was a lot of half-assing and underestimating just how hard it is to stand out. Well, that ends today.

One of the many sites was named Farai’s Codelab which signalled a willingness to experiment with programming. This came about when I had been programming for 5 years where I had hoped the next five years would be an oppurtunity to grow as a programmer—I did not capitalize on it. Since that time I’ve very little, despite many years of unemployment and the free time that came with it. The most I accomplished was:

I only started working proper in 2022 and despite having a wide range of control, I hadn’t thought to capitalize on it until now as the only way to get experience that recruiters will appreciate. I’d just gone through yet another phase of rebuilding my personal website and I thought that the best way to do this would be to bring back Farai’s Codelab. Doing this will allow me to focus more on programming instead of taking the many tangents I do with personal blogging.

Why I’ll Make Farai’s Codelab a Digital Garden

As I’m bringing Farai’s Codelab back, I thought it would be a good idea to do it as a digital garden. Blogging is a great format for sharing your thoughts to the world but for me it can be greatly restricting as it demands that whatever you publish be perfect as it’s initially published. Thing is, that’ll never be the case because ideas grow over time with the help of others.

It’s easy to spend forever researching for a post even though it would be easier to update posts as you learn something new on the topic. Better yet, if you’re in an early stage of a post and you share it, someone who comes across it might point you in the right direction as if you wrote a very specific search query, even if they’re duty-bound because someone’s wrong on the Internet as per Cunninghams law1.

Cueball sitting at a computer furiously typing replying to an offscreen character asking if they’re going to bed by saying “I can’t, this is important. Someone is wrong on the internet”

Given this, a digital garden, where you cultivate ideas as frequently updated notes, is a great idea. This is much more freeing than the rigid structure of a blog. I tried this once but it got caught up in the many personal website redesigns I’ve done over the years. The only issue I have with a digital garden is how it’ll come across in RSS geeds. I don’t know how I’ll publish posts on the feed without it being a firehose of shitty content, pissing readers off. The only principle I have is republishing posts when they’ve reached a certain stage of polish.

I Hope You’re Ready!

As a digital garden, the site will be open source so that people can learn from the code and make improvements. I don’t have a good reason for making it closed source—maybe to schedule posts in the future? Still, why would that be necessary when I’m publishing thigs as I go?

I’ll also be using Hugo to develop the site since I’m reluctant to learn anything else at the moment.

I plan to have a few pages on this site:

  • TODO where I outline the improvements I need to make to this site and it’s contents. Heck, this very page has a lot of proposed changes already.
  • A bikeshed where I overthink how the components on my website work.
  • A search page for… searching!
  • A link index to outline the links I’ve referenced on the site, like how Jim Nielsen has done it.
  • and whatever else comes to my mind.

The two posts I’m hoping to start off with are one on using PIVOT in SQL and how to improve the accessibility of a particular webpage.

Further Reading

I found a bunch of links on digital gardens that you might find helpful:

  1. Cunningham’s law states that The best way to get the right answer on the Internet is not to ask a question; it’s to post the wrong answer. Plays out many times on the internet although Cunningham states that he didn’t say that one should post wrong answers to the internet, which is like a Bourdain statement. The one thing that worries me (as highlighted in the bourdain statement link that was so hard to find) about this is that correcting the wrong answer (which is sometimes bullshit) requires more effort to refute than to make as per Brandolini’s law, meaning that smart people who could be doing something more useful end up spending time debunking wrong things instead. ↩︎