Skip to main content

Colin Kiama

Software Developer

How I code in 2022

Reading time: 4 Minutes

My System

I own a Starbook Mk V. I wanted the most seamless experience possible with the OS of my choice: elementary OS and wow, it delivers! It's fast, smooth, gets regular firmware updates over fwupd and support is great (in terms of drivers, touchpad support and customer support).

Despite how slim it is, battery life is great. I average around 6-8 hours but on other operating systems like Pop!_OS 21.10, I have gotten closer to the advertised maximum of 11 hours (around 8-10 hours).

Also, it's super easy to open the system for self-repairs and upgrades. In fact they even offer a 1 year open warranty (at time this article has been written).

If it sounds like I'm selling this laptop to you, yes I am. If you want a, laptop made for Linux that is fast and "just works", this is it.

P.S. I'm writing this blog post with this laptop and it's been I haven't really been concious of the hardware itself. The experience has been so seamless that I just focus I'm just fully focused on writing this post instead.

Operating System

I run elementary OS 6.1 Jólnir on my main laptop.

I use it because it has the perfect balance of productivity and ease-of-use across all Linux Desktops (just to clarify, this is my personal opinion).

Still though, I do have several parts that I really don't like about it but, there's something about the aesthetics that makes me come back to the OS again whenever I swap to a different one.

Development Tools

Sublime Text 4

I love that out of the box, it's pretty much a text editor with pretty decent, built-in syntax highlighting.

It's lightning quick and native too (your RAM will thank you).

Thanks to language server protocol and the Sublime Text LSP package that adds support for it to the editor you can add IDE-like features for the languages of your choice while still having full control of the exact worfklow you want.

Git

I use this for Version control

Thanks to Git, I can code features in parallel using feature branches.

If something goes wrong with my code, I can easily revert back to a working state.

Firefox

Not only is it an excellent browser, I'm also a big fan of the developer tool sections available there:

  • Accessibility: Makes it much easier to test for WCAG requirements
  • (Web) Console: There's an option to open a side bar that let's you easily write multi-line JavaScript code.
  • Also one of the only browsers that has actually implemented the freedesktop color scheme preference.

Design Tools

Figma

I make mockups and protoypes here before I start writign code that involves a UI.

By the way, it's free and works on all operating systems since it's browser-based!

(2022 Update: NOW IT HAS A DARK THEME !! 🌙️)

Special Mentions

Mozilla Developer Network Documentation (MDN Docs)

I'm exteremely grateful to live in a time when such a resource exists. New things are being added to the web constantly. This website is a great way of learing about what APIs are out there, what's possible and also, which browsers support certain features.

Can I use

I love how this website gets straight to the point. "Can I use X feature on my website if I want to support at least browser version Y?"

Stack Overflow

My last resort.