Creating a simple extension to block websites (like HN)

Seeing yourself procrastinating in HackerNews? Create an extension that blocks it. All in less than 20 lines of code. | Continue reading


@ops.tips | 2 years ago

Quality of Service and Oom in Kubernetes

into the details of resource reservation and oom killing | Continue reading


@ops.tips | 4 years ago

Exploring Kubernetes secrets from the kubelet's perspective

exploring kubernetes secrets from the kubelet's perspective | Continue reading


@ops.tips | 4 years ago

Go: Observing Stack Grow and Shrink

enabling stackDebug to see debug prints from golang runtime | Continue reading


@ops.tips | 4 years ago

Tar and Permission Bits

exploring how tar deals with uid and gids when archiving and extracting under different types of users | Continue reading


@ops.tips | 4 years ago

Improving streaming between Concourse workers

what if we cut the intermediaries? | Continue reading


@ops.tips | 4 years ago

Simulating AWS Tags in Local Prometheus

Going through Prometheus relabelling to emulate an AWS environment locally with Vagrant | Continue reading


@ops.tips | 4 years ago

You just can't kill a Linux process that is frozen

Some explorations on how sending signals work, and why a SIGKILL fails for frozen processes | Continue reading


@ops.tips | 4 years ago

Saving the current vim selection to a file

Copy what's currently selected to a file using Vim | Continue reading


@ops.tips | 5 years ago

How Linux allows TCP introspection

The inner workings of bind and listen on Linux. | Continue reading


@ops.tips | 5 years ago

How Linux creates sockets and counts them

A deep dive into what goes under the hood in the Linux kernel when you can the socket system call | Continue reading


@ops.tips | 5 years ago

Using /proc to get a process' current stack trace

Check out how you can use the proc filesystem to retrieve the kernel stack trace of a given process | Continue reading


@ops.tips | 5 years ago

Process resource limits under the hood

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


@ops.tips | 5 years ago

Why top and free inside containers don't show the correct container memory

Go through the reason why free and top show the host's memory instead of container memory. | Continue reading


@ops.tips | 5 years ago

How is /proc able to list process IDs?

Go through how we can use syscalls to list directory entries and at which point procfs responds to that. | Continue reading


@ops.tips | 5 years ago

What is /proc?

Get to know what is under the hood of procfs - what Linux does when you interact with /proc | Continue reading


@ops.tips | 5 years ago

A bpftrace Ansible role

Check out how to fetch and install bpftrace using Ansible | Continue reading


@ops.tips | 5 years ago

Article recommendation using Hugo

How to generate a list of recommended articles using Hugo | Continue reading


@ops.tips | 5 years ago

A UDP server and client in Go

Getting from Golang's net package down to the Linux kernel methods invoked when UDP messages are sent. | Continue reading


@ops.tips | 5 years ago

Dmesg under the hood

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


@ops.tips | 5 years ago

Analyzing Tcpdump capture in real-time with Wireshark

Check out how to pipe a live packet capture from tcpdump into a Wireshark instance in MacOS | Continue reading


@ops.tips | 5 years ago

Measuring HTTP response times with cURL

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


@ops.tips | 5 years ago

How to minify and bundle assets using Hugo

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


@ops.tips | 5 years ago

Developing eBPF code with autocompletion support

There's no need to lose the great features of a well set up Vim configuration when coding eBPF code. | Continue reading


@ops.tips | 5 years ago

Blocking ingress traffic to Docker swarm worker machines

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


@ops.tips | 5 years ago

How to Set Up a Private Docker Registry Using AWS S3

Go through the process of creating a Terraform configuration for deploying a Docker registry to an instance making use of IAM roles. | Continue reading


@ops.tips | 5 years ago

Retrieving Docker Registry Metrics Using Prometheus

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


@ops.tips | 5 years ago

Navigating the Linux Kernel Source Tree with YouCompleteMe

Check out how to configure YouCompleteMe to have auto completion and source code navigation capabilities for the Linux source code. | Continue reading


@ops.tips | 5 years ago

Using network namespaces and a virtual switch to isolate servers

Yet another blog post on how to create a virtual network that connects network namespaces using a brdige, veth pairs and iptables. | Continue reading


@ops.tips | 5 years ago

Adding privileged containers to Docker Swarm mode

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


@ops.tips | 5 years ago

Compiling and running your own forked Docker release

Installing docker has never been easier - add the apt repository and install it. What about running your own fork of it? | Continue reading


@ops.tips | 5 years ago

Blocking EC2 Metadata Service from Docker Containers in AWS

Check out how to make sure Docker containers running in AWS are unnable to access the EC2 metadata service. | Continue reading


@ops.tips | 6 years ago