Programming
Generic programming-related content - tutorials, walkthroughs and some realizations from a developer
-
tracing builds in Concourse
what if we could use distributed tracing tools to better understand our builds?
-
a very quick intro to prometheus
a lightning talk on Prometheus
-
Retrieving the full path of a process on MacOS (and exploring procfs)
Getting the absolute path of process on a MacOS machine might not be as simple as in Linux.
-
Passing the results of a command as a file to another script
Bash process substitution can make you not depend on processes expecting input from the standard input. Learn how to supply the result of a script as a temporary filename for another command.
-
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
-
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.
-
Nginx HTTP2 Server Push
NGINX just added server push to mainline. Checkout a NGINX HTTP2 server push example using the latest code from source integrating with an HTTP1 Golang web server.
-
Initializing Grafana with preconfigured dashboards
Grafana v5 is coming with two great features: dashboard and data source provisioning. Checkout how to initialize a dashboard without touching the UI using this new release
-
Simulating AWS tags in local Prometheus
Going through Prometheus relabelling to emulate an AWS environment locally with Vagrant
-
How to build and run Concourse CI locally
Get Concourse CI built from source - the first step to contributing to the project.
-
Should you buffer your writes?
It's common practice to have a buffer between the network and your application. Today I tried to measure how different buffer sizes changes the total time to transfer 1GB of data.
-
Getting TLS certificates with Letsencrypt and HAProxy
A guide on building and configuring HAProxy from scratch to achieve HTTPS with Letsencrypt certificates
-
Changing the name of an index in Elasticsearch
Elasticsearch indices can be renamed with two different approaches - Reindex API and Aliases. Checkout out how to rename an Elasticsearch Index using these approaches.
-
Executing multiple commands in SSH session against multiple machines
It might happen that you need to execute multiple commands against a set of machines via SSH. Check out how to do it programmatically.
-
Why my Ubuntu container doesn't execute profile scripts?
Making use of the login flag to make sure bash executes profile.d scripts.
-
LVM on loopback devices
An actionable guide on how to use LVM without formatting physical disks and just using loopback devices
-
Minimal Golang Makefile
Having build many Golang projects I came with a minimalist makefile that might work for you. If you're looking for a starter Makefile for Go, here you go.