https://www.gravatar.com/avatar/c57de263ded85a3a139d9b7c24a302dd?s=240&d=mp

cuffaro.com

Michael Cuffaro's personal blog

Using Jujutsu in a colocated git repository

Jujutsu (jj) is a Git-compatible version control system that offers a different approach to managing your code history. I have spent the last few weeks using Jujutsu (or jj) daily on personal and work git repositories. One of its advantages is that you can use it locally alongside your team without them being aware that you’re managing your code history differently.

Really, Jujutsu is a frontend for git, using git as its backend. Your work is still based on a commit history, but the way you evolve your commits is different.

Squid Proxy Basic Auth Configuration

This quick and straightforward how-to is the one I would have loved to have found while I was setting up Squid proxy for a production application.

Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages.

I wanted to restrict access to the proxy to only authenticated users. Here’s how I did it.

I've been programming full time for the past 5 years. Am I a senior engineer yet?

When I started my career in software, I’ve always wondered when I would finally be a “senior” engineer.

Is it a matter of years of experience? Does it just happen suddenly? After a few years on the job, I can tell that the answer is not so straightforward.

/google_engineer.gif
a senior engineer from google

I’m a self-taught programmer, and never had formal education in Computer Science or anything like that.

Speeding up a Go cli application with concurrency

A few months ago I worked with a company which provided fully functional backend for online multiplayer games. As part of their product portfolio, they provided their customers with a cli utility, called ds-uploader (dedicated server uploader).

Written in Go, this CLI helped the customer:

  • Process all files and assets in a directory of their choice containing their game server.
  • Synchronize each file to a remote object storage bucket (meaning to upload only files that are new or modified).
  • From those uploaded files, build a container image.
  • Pass that container image to another service, which would then be responsible to run it.

Most of the implementation details involved calling different services, both belonging to the service provider, and to the cloud provider of choice (in this case, AWS).

My experience passing Certified Kubernetes Security Specialist (CKS) exam

Earlier in 2021, right after taking the exams for CKA and CKAD in succession (the experience of which I documented here), I quickly booked the brand-new (at least at the time) CKS exam. Life happened, and I’ve ended up procrastinating the study and preparation process until now 😅.

Today I got the great news of a PASS, and once again I would like to share my experience in obtaining this tough certification.

My experience passing CKA and CKAD

In December last year I was able to sit for the coveted Certified Kubernetes Administrator and Certified Kubernetes Application Developer exams, and clear them both after some preparation.

This post is meant to share my exam experience, and all the materials used.

  • Read the exam questions carefully.
  • Know imperative commands with kubectl like the back of your hand.
  • Get comfortable looking things up on kubernetes.io.
  • Build a bookmark folder in Chrome with relevant pages in kubernetes.io: you can use it during the exam!
  • Seriously, read the damn questions carefully.
  • Practice, practice and practice more.

The exam for any of these Kubernetes certifications consists in solving a set of tasks, in a 2 hour terminal session.