RSSAmplifier

Blog

Ductile Systems

A personal website with a focus on programming and building reliable systems, both in code and for oneself

ductile.systemsRSS feed ↗15 posts

Latest posts

Setting up a Python venv

At work recently I had a PR open for changing the output of a SQL query to the OSS version of the database we're building and part of that was outputting data in the Apache Parquet format. To validate this worked I had my integration tests in Rust,

Co-authored-by for Copied Code

Maybe you're like me and you have a closed source repo that you need to copy shared library code out of occasionally to the open source version . You can't just set the closed repo as an upstream and merge in commits to the open source repo

Super Charged Git Diffs with Difftastic

I actually enjoy using git for my code reviews to read what has changed, rather than using the Github UI and it's all because of a fantastic tool called Difftastic . git 's default diff output is ugly to say the least. It's made to be

Better Git Conflicts with zdiff3

diff3 is great for resolving conflicts in git. I love it and I've used it ever since I laid eyes on the linked article years ago. However, diff3 has a frustrating user experience flaw in it that the merge conflict version does not have. Let's take

1000s of years of Paper and No Real Digital Alternative: An Engineers Take on Organization

I'm a software engineer by trade and ironically I can't use computers (mostly) to organize my work or life. I've struggled my entire life to stay organized and on top of tasks that need to be done. It wasn't until a few

Let's Build A Cargo Compatible Build Tool - Part 5

This is the fifth post in an educational multipart series about how build tools like Cargo work under the hood, by building our own from the ground up. If you haven’t read the previous posts it’s recommended that you do so. Previous posts: Part 1 Part

Let’s Build a Cargo Compatible Build Tool - Part 4

This is the fourth post in an educational multipart series about how build tools like Cargo work under the hood, by building our own from the ground up. If you haven’t read the previous posts it’s recommended that you do so. Previous posts: Part 1 Part

Let's Build a Cargo Compatible Build Tool - Part 3

This is the third post in an educational multipart series about how build tools like Cargo work under the hood, by building our own from the ground up. You can find part 1 here , and part 2 here . Today's post will be a bit shorter, but will pack

What is HTTP?

HTTP is ubiquitous. Every web page you’ve ever looked at, pretty much every button you’ve used on a web page, every Tweet you’ve posted, every picture you upload to Instagram, pretty much anything connected to the Internet as we know it, uses HTTP. HTTP

Let's Build a Cargo Compatible Build Tool - Part 2

This is the second post in an educational mulitpart series about how build tools like Cargo work under the hood, by building our own from the ground up. You can find part 1 here . Welcome back! Last time we managed to get freight to build itself a bit more dynamically

Let's Build a Cargo Compatible Build Tool - Part 1

This is the first in an educational mulitpart series about how build tools like Cargo work under the hood, by building our own from the ground up. Have you ever wondered how a build tool like Cargo works? Have you ever wondered about all the things it takes care of

Weird Expressions and Where to Find Them

This is a written transcript of my RustConf 2022 talk using rustc at commit 6491eb1e6c9fac20faad11e5da16db3185b2410d You can find the video of the talk here . Introduction My name is Michael Gattozzi and today I want to bring you on a journey from "What?" to "No way that works&

Rust and it's Orphan Rules

Recently at work I managed to hit the Orphan Rules implementing some things for an internal crate. Orphan Rules you say? These are ancient rules passed down from the before times (pre 1.0) that have to do with trait coherence. Mainly, if you and I both implement a trait

Rust's Runtime

Rust has a runtime. No really it does! I blew past that aspect in my most recent post "Oxidizing the technical interview" when I put in the line: The greatest trick the Devil ever played was convincing C and Rust programmers their language has no runtime. and you

Oxidizing the technical interview

Inspired by Reversing the technical interview and Hexing the technical interview Years ago, as a young'in from the Rust Belt, you dreamed of becoming a systems programmer, an Abyss Gazer if you will. You wanted to live, breathe, and die by being as close to the metal as