How to split code changes

How to split code changes We’ve all been there: when writing code, we fall victim to “while I’m here, I might as well…” and end up with a collection of code changes instead of a focused set of deltas. One term for this is shipwrights disease. It’s so easy to fix this typo, update this comment, change this dependency, etc… There are ways out and methods to logically group changes made, depending on what’s most important.

Closed loop development

Closed loop development Brace yourself for car analogies. Vehicles: open/closed loops Modern cars have two modes of operation: open loop and closed loop. Open loop: get engine inputs such as engine speed, air temperature and how much air is going into the engine. Apply a set of rules to determine how much fuel to put in. Closed loop: using the above data combined with information from the exhaust, adjust how much fuel goes into the engine.

Tiny guide to Rails

The tiny guide to Rails (that I wish I had) I’ve found Rails to rely on more convention over configuration than I’m comfortable with - so much so it seemed impenetrable at times. This is the tiny guide to Rails I wish I had to understand where code lives and how the application works. Know where to find things Go to definition or go to implementation doesn’t work well with Rails projects and most IDEs I’ve tried.

2020 technical review

As the challenging year of 2020 wraps up, here’s what happened in the past twelve months with a focus on my experience in technology. Rust I’ve been writing Rust since mid 2015. That’s over five years of working with the language. At the start of 2020 I stepped back from my work on Rusoto, an AWS SDK for Rust. Looking back: every line of Rust I’ve written has been unpaid, volunteer work.

Rusty von Humboldt

Rusty von Humboldt is a GitHub Archive data explorer and Extract, Transform and Load (ETL) tool. Or: seeing how far the tools you know can take you.

Surviving the upcoming winter

This is my perspective of the current state of Rusoto as a semi-retired maintainer and Amazon outsider. The post borrows the term winter from AI Winter: a time period of decreased interest and funding. Amazon is hiring engineers for an AWS Rust SDK Amazon has two public job openings for Senior Software Development Engineers - AWS Rust SDK. There’s now enough customer demand for Amazon to make an official SDK for Rust.

Red/green bugfix

Red/green bugfixes are the best technique for communicating understanding of a bug and its solution, especially for asynchronous code reviews. A bug Say a new bug has been discovered in a backend service. If it’s found in production, the first instinct is to solve it as quickly as possible. While laudable, this kneejerk reaction can actually make the fix slower and harder for others to understand. Usual fixing procedure Reproduce the bug Using logs and/or reading the code, find where the issue is Fix the bug, make a pull request, let coworkers review it While this procedure is straightforward and can get a bug fix out quickly, there are downsides to this process:

Farewell to Rusoto

TL;DR: I’m not working on Rusoto any more. A history of Rusoto Anthony DiMarco and I started Rusoto in July of 2015. I knew we started the project shortly after Rust’s 1.0 release, but I didn’t realize we had our first commit less than two months after Rust 1.0 landed. Wow! Some early parts of Rusoto are similar to how Rusoto looks now, others are quite a bit different. Our first iteration of code generation used a Python2 script to parse the botocore service definitions and output Rust.

Advent of Code 2019, the wrong way (part one)

Per my tweet: doing Advent of Code 2019 the wrong way. 😁 Today we’re easing into #serverless. WHAT are we doing? Advent of Code! Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. It’s an excuse to play around with smaller coding problems and enjoy some recreational coding. In this series of blog posts, we’re going to go about solving the problems the wrong way: as much serverless as possible.

Rust as anti lock brakes

Rust: a Language for the Next 40 Years put a seed of an idea on my head. I recommend watching the 55 minute video if you haven’t had a chance yet. The recent posts on the Microsoft Security Response Center blog helped the pieces click in my head. Rust is like anti lock brakes (ABS) for motorcycles. Wait, what? There are a lot of parallels here! Bringing a motorcycle to a stop as quickly as possible is a skill.