Writing
Technical deep-dives on systems, infrastructure, and the machines underneath — plus essays on work, choices, and the long game.
Since the public release of GPT-3, LLMs have been integrated into many kinds of knowledge work, including software engineering. With the …
Thinking about the future consumes our motivation in the present and keeps us stuck in the past.
Looking deeper into ourselves, do we even know what we want? And if we do, are we sure we are going to get it?
The basic Rust program that can ever exist
Two pointers and Prefix sum are two algorithm solving techniques. In this post, I dissect their differences from their similarities.
Install Rust and Cargo package manager on a system
What is Raft, what are the alternatives, and why even build Raft? How are we going to build it?
This episode of the VIM series explores the different ways of setting up Vim on different environments.
Getting Unix machine configuration synchronized across multiple devices and a faster way to switch devices while maintaining the same …
There are too many things to be done from a small place. Like a production line, whose final product was a tiny piece of dirt material that …
Why Skill Alone Isn’t Enough—Understanding Value Chains, Strategic Positioning, and the Real Reason Talent Gets Paid
As a divide and conquer algorithm, in this article, we look deeply into merge sort, simplifying its core concepts with a binary search …
Reflection on choices, intentionality, and working on impactful problems.
The fine line between having a life and creating a meaningful impact
Learn how time tracking is implemented from the hardware.
Brief Programming languages have the notion of constants which means “variables that can not be mutated once declared and …
This post shares how you can run an old version of Go while still having your machine’s default Go - which is newer.
Use node taint, toleration, and node affinity the right way
Echoing like a PRO in VIM
Creating and using config maps in Kubernetes
While moving slowly can be rewarding, no one will wait for you in our fast-paced world. You need to press the pedal until the odometer is …
I was solving a challenge and got to a point where I had to implement a store that could hold arbitrarily deeply nested objects. The new me, …
Choose to be clearity over ambiguity
The idea of byte masking helps us achieve abstractions from the binary concept of computers to usable technology. This post helps to …
If statement the ruby way.
A car that swifts at 220 km/h can crash in less than a second if it drifts wrongly. And a car moving at 20 km/h? A wrong drift is amendable. …
As adults, with too many things to do in a day, we all suffer from conflicting interests in our limited time. Let’s explore how to …
Over time, who we are is a reflection of what we have done. Who do we want to be? We do not need to change anything from what we do; we can …
Part of the operators we get introduced to when learning to program is Bitwise Operators, examples are: The Bitwise OR | (a single pipe …
Since everything is an object in Ruby having a functionality that can duplicate objects is not a bad idea. Ruby ships with two methods for …
Usually, programming languages have methods for printing out variables. Ruby is not an exception. We will explore the 3 popular methods for …
The error: tar (child): xz: Cannot exec: No such file or directory Is majorly an issue with the xz command not found on the host machine. To …
Use Bash for loop, variable substitution, and mv to change the name of files in a directory modifying just the extension of the file
To search through the man pages for some keywords, use the -k option. man -k [keyword] This shows a result of the commands, and routines …
Going through Chapter 2 of CLRS, I was introduced to the concept of divide and conquer, which is a very interesting algorithm technique, and …
There are many ways to get help as a Linux administrator, manual pages are one of them as they are always close - accessible via the …
Communication between service workers and the clients browser window can be achieved by simply doing: self.clients.matchAll().then((clients) …
First, install CompileDaemon: $ go get github.com/githubnemo/CompileDaemon && go install github.com/githubnemo/CompileDaemon Then, …
Hi there, One of the unique features of humans is the exceptional way we interact with each other. Sharing how we feel and what we are …
When programming Erlang, you should think like you are writing an English essay. In Erlang, functions are not very different to what a …
If you come from a conventional programming language background, the way Erlang handles assignment is expected to look wonky, but it is not. …
If you have worked with other languages like JavaScript, Java, Python etc, you would be surprised by what Erlang understands as variable. In …
Without JavaScript, dynamic UI is possible with just CSS action class selectors. Case study Help text for input element which is only …
If you have used WhatsApp or Facebook Chat, then you have one way or the other interacted with an Erlang-backed system. Erlang is a language …
CSS can keep count of numbers without writing any additional JavaScript. It does this by taking note the amount of time a CSS block affects …
Yeah, you read that right. Let go straight into it! A Test Case Can you interprete this CSS selector query? p.title:first-of-type { color: …
Walking through life in its pristine state!
Open ios/{APP_NAME}/Info.plist. Add <plist> <dict> ... ... ... <key>UIBackgroundModes</key> <array> …
Make axios work with rollup
Easy way to make Android/iOS app icons
Introduction Docker is an app development tool that eases the process of creating, running, and deploying applications. It uses the concept …
Introduction SocketIO is a JavaScript library that makes developers’ lives easier when dealing with web socket and socket programming. …
In computation systems, names like concurrent, sequential, parallel, serial, synchronous, asynchronous, non-blocking, shared state, message …
Beginners in ReactJS often face this kind of error: It is not just with inputs, it is with all HTML elements that does not expect a closing …
You might have been in this kind of trap before or currently in one, well, I just want to tell you that I know your pain. In a custom built …
Last time, I was trying to render a data table and I thought that I should make some fields editable right in the table listing. It is …
Modern application development requires that some actions are carried out when a point of the application is reached. Tasks like …
AdonisJS was built for the NodeJS Artisans taking after the concepts of Laravel - The PHP framework for Artisans. AdonisJS did a great job …
First, install the Validator using the adonis command: adonis install @adonisjs/validtor Create a resource route adonis make:controller …
Yes, this topic is worth a post and I will walk you through why the migration was inevitable, and how I had done it. Formerly, this website …
Let’s be guided, we are not getting naughty here. Nevertheless, a programmer is a human, he has his feelings and emotions which is …
In this post, we will explore how to set up a NodeJS app on Amazon’s Lightsail instance. We will also explore setting up a CircleCI job for …
The very first task that we do while starting to program is naming from the creation of directory to files, to classes, to functions. Name …
MongoDB ships with an easy mongod CLI command to start its server. For Linux users, there is an added level of flexibility using the Systemd …
Currently, I find my self reading Clean Code by Robert Cecil Martin, and just completed the first three chapters. I am taking my time to …
Passing down functions as event handlers down to children components is a norm in the react world. It eases the communication flow, as the …
This is the first of the series – Clean Code – Rule For Name Crafting Series. In this post, we will be dealing with the first three rules …
Beginners do believe there is a perfect structure for setting up a project, experienced programmers know this is so far from the truth. A …