Seeing yourself procrastinating in HackerNews? Create an extension that blocks it. All in less than 20 lines of code. | Continue reading
into the details of resource reservation and oom killing | Continue reading
exploring kubernetes secrets from the kubelet's perspective | Continue reading
enabling stackDebug to see debug prints from golang runtime | Continue reading
exploring how tar deals with uid and gids when archiving and extracting under different types of users | Continue reading
what if we cut the intermediaries? | Continue reading
Going through Prometheus relabelling to emulate an AWS environment locally with Vagrant | Continue reading
Some explorations on how sending signals work, and why a SIGKILL fails for frozen processes | Continue reading
Copy what's currently selected to a file using Vim | Continue reading
The inner workings of bind and listen on Linux. | Continue reading
A deep dive into what goes under the hood in the Linux kernel when you can the socket system call | Continue reading
Check out how you can use the proc filesystem to retrieve the kernel stack trace of a given process | Continue reading
Go through the internals of implementing ulimit, how prlimit works, as well as inspecting how the kernel limits the number of open files | Continue reading
Go through the reason why free and top show the host's memory instead of container memory. | Continue reading
Go through how we can use syscalls to list directory entries and at which point procfs responds to that. | Continue reading
Get to know what is under the hood of procfs - what Linux does when you interact with /proc | Continue reading
Check out how to fetch and install bpftrace using Ansible | Continue reading
How to generate a list of recommended articles using Hugo | Continue reading
Getting from Golang's net package down to the Linux kernel methods invoked when UDP messages are sent. | Continue reading
Dmesg allows us to grasp what's going on under the hood when the kernel gets bad. Check out how dmesg is able to read kernel logs and show to the user. | Continue reading
Check out how to pipe a live packet capture from tcpdump into a Wireshark instance in MacOS | Continue reading
Without getting out of your current shell and installing other utilities, give cURL a try to measure response times - it can do it. | Continue reading
Hugo Pipes arrived - asset post-processing is now built directly into Hugo. Check out how I made use of CSS minification and bundling to render AMP pages better | Continue reading
There's no need to lose the great features of a well set up Vim configuration when coding eBPF code. | Continue reading
Once a Docker Swarm Mode cluster is formed, all nodes participate in the routing mesh and accept ingress traffic. Check out how to block that feature. | Continue reading
Go through the process of creating a Terraform configuration for deploying a Docker registry to an instance making use of IAM roles. | Continue reading
Docker registry used not to have a Prometheus exporter by default. Check out how to make use of it in the development branch. | Continue reading
Check out how to configure YouCompleteMe to have auto completion and source code navigation capabilities for the Linux source code. | Continue reading
Yet another blog post on how to create a virtual network that connects network namespaces using a brdige, veth pairs and iptables. | Continue reading
Privileged services are not something you can have with a regular Docker Swarm cluster. Check out how to have privileged containers using Docker Swarm Mode | Continue reading
Installing docker has never been easier - add the apt repository and install it. What about running your own fork of it? | Continue reading
Check out how to make sure Docker containers running in AWS are unnable to access the EC2 metadata service. | Continue reading