Oops I deleted my bin dir is a fun set of challenges to investigate a “rogue” process which has been deleting files on the system. It has deleted all programs from the bin directories like ps, htop, lsof. All we have left is a shell prompt…| A Random Walk
Overview of the HTML details tag| A Random Walk
Today’s problem - Caesar Salad| A Random Walk
Without much ado, today’s problem - Put it in Reverse| A Random Walk
I’ve started dabbling with APL. It has been a lot of fun solving the current batch of challenges. Archive. I loved how each challenge focuses on a small set of operators and makes us use them in various (devious!) combinations to solve the problems. I’m going through some of the older challenges to learn about more operators.| A Random Walk
Lua - Basics| A Random Walk
Introduction| A Random Walk
NPM is used as a convenient cross-platform package manager for a lot of developer tools. For many tools, the defacto way to install is npm install -g $TOOL. But installing anything via npm allows it to run untrusted code on your machine.| A Random Walk
What is a webhook?| A Random Walk
til snippet| A Random Walk
Setting display brightness using xrandr| A Random Walk
Why Wireguard and How does it work?| A Random Walk
I read a post on dev.to which shows how to create git tags using GUI-based git clients. I think that tags are useful to know even when using the git cli.| A Random Walk
Today, I was curious to find out how many programs ending with cat I had on my system. I remember using cat, zcat and wanted to know if there are similar programs. Pressing TAB after cat only gives programs which start with cat.| A Random Walk
The command-line is often a daunting place for beginners. With nothing but a blinking cursor and an unfriendly dark screen staring back at you, despair sets in.| A Random Walk
This is useful when you have forked a repository (repo), cloned it to your local machine and want to keep it in sync with the original repo.| A Random Walk
Many times, we have shell scripts which perform some important stuff like inserting into database, mailing reports, etc which we want to run exactly one instance of.| A Random Walk
When your Linux machine runs out of memory, Out of Memory (OOM) killer is called by kernel to free some memory. It is often encountered on servers which have a number of memory intensive processes running. In this post, we dig a little deeper into when does OOM killer get called, how it decides which process to kill and if we can prevent it from killing important processes like databases.| A Random Walk
Gray binary code is a way of expressing binary numbers such that consecutive numbers differ in exactly 1 digit.| A Random Walk
I have started the 100 days of code challenge.| A Random Walk
In how many different ways can we select r objects from a collection of n objects? In mathematics, this is called combinations.| A Random Walk
Awk is a small but capable programming language which is used for processing text. It was developed by Aho, Weinberger, Kerninghan at Bell Labs.| A Random Walk
This is part 2 of my series on JVM Memory management and debugging.| A Random Walk
This series is a summary of Oracle’s JVM troubleshooting course which gives an overview on JVM memory management, Hotspot VM’s garbage collection options, various memory errors and how to troubleshoot them.| A Random Walk
Snake case and Camel case are conventions of naming variables, functions and classes. Most teams and projects prescribe a particular case in their style guides.| A Random Walk
Background| A Random Walk
Many times, smoothly running processes stop working mysteriously. You open the logs and see what is happening, only to find that even the logs have stopped updating. But the process itself is running. You SSH to the server and type cd TAB. Bash weeps “Unable to create temporary file”. The machine is out of disk space…| A Random Walk
Markdown Basics| A Random Walk
Hello World!| A Random Walk
About this blog:| A Random Walk
| A Random Walk
| A Random Walk
search| A Random Walk
A Random Walk - Raunak Ramakrishnan| A Random Walk
Recently, I have been building software without libc to better understand Linux syscalls and internals better. So far, I have built a minimal shell, terminal Snake game, pure ARM64 assembly HTTP server and threads implementation. I have been using strace extensively while debugging. Useful options and flags I use a version of the following command: strace -fintrCDTYyy -o strace.log -v -s128 ./binary This looks like an alphabet soup of options! Here’s what they do and how they are useful: -f...| A Random Walk