Stories from an Italian Software Engineer
🚀 The Curious Case of the Binary Elevator: A Story of Engineering Culture 🚀
It was a cloudy Tuesday morning when I first stepped into Redacted’s sleek new office. The lobby was a blend of minimalist design and cutting-edge tech aesthetics, everything you’d expect from a forward-thinking company striving to push boundaries.
But as I approached the elevator, something unusual caught my eye.
Copy an HTML table as CSV
I’ve found myself having to copy some HTML tables repeatedly, and since it was an annoying operation, I decided to create my bookmarklet to automate the process. How does it work? Select any text in the HTML table Click the bookmark Paste the CSV result where you want it If you don’t trust me, use the following code to build the bookmarklet yourself. function download_table_as_csv(separator = ',') { // Select rows from table_id var s = window.
DevOps: as you make your bed so you must lie in it.
I wholeheartedly agree that DevOps should not be a role. However, the current reality is that IT IS a role.
During a DORA community meeting (dora.community), the recurring question, “Is DevOps a role?” surfaced once again. My daughters are peacefully asleep so I’ve decided to delve into this topic.
Over the past seven years, I’ve dedicated five years to leading a “DevOps” team, and for the last year, I’ve served as the Head of DevOps and Platform Engineering.
Version Control System
In the last blog post, we looked at our local development environment and how the complexity of modern stacks made it challenging to setup correctly.
In this post, we will look at the second step of path to production, the version control system, and the advantages and best practices around using tools like Git.
Development Environment
The first step of the Path to Production starts from our development environment, as the rest of the stages it changed quite a lot in the last ten years.
I clearly remember how I was coding during high school, from the Z80 suitcase where we would enter HEX instructions in the Numpad to Pascal, C and Borland Delphi.
Machines had a fraction of the power or memory or storage they have now, and yet the software I was able to build with Delphi was pretty impressive (for the 17 years old me), and I felt very productive.
Path to Production - Intro
You may have heard of Release Management, which refers to the process of managing, planning, scheduling, and controlling software builds through various stages and environments. This includes testing and deploying software releases.
In recent years, a new term has emerged called Path to Production.
Monitoring - Alerting Dashboards
This is the third and last blog post of the Monitoring series.
In the past two blog posts, I wrote about the following:
- Status Dashboards (https://lanziani.com/posts/2023/02/monitoring-status-dashboards/)
- T&T Dashboards (https://lanziani.com/posts/2023/02/monitoring-tandt-dashboards/)
This time around, we will look at Alert Dashboards.
Monitoring - T&T Dashboards
Last week we looked at Status Dashboards, how they show a snapshot in time of the system, using simple widgets like Stat Panel or Gauge and how they should be based on clear KPIs.
In this post, we will look at T&T Dashboards.
Monitoring - Status Dashboards
Let’s talk about dashboards, shall we?
It’s not uncommon in my work to work on Monitoring or Observability problems.
A team or multiple teams deploy their applications in one of the environments, we can assume production, and they want to know how the System behaves.
The evolution I’ve seen is:
My home setup
I’m a nerd; I’ll not deny it. I love to explore new things, run experiments and learn from them.
I want a stable system to backup my data, be it pictures, videos, documents etc. I want a place to install and run software that I want to test and possibly have it at hand reach when needed.
I want everything in my network to work over SSL, and I want to have the ability to serve different services on different subdomains of a well-known domain so that my family can reach them without having to know an IP address.
After a couple of years of experimenting, I finally found something that works.