Skip to content
Domain Specific Language

An overview of the concepts in async / await in Rust

Async / await in Rust promises to simplify concurrent code, and to allow a large number of concurrent tasks to be scheduled at the same time — with less overhead than the same number of OS Threads would require.

In general, async / await lets you write code that avoids "callback hell", in favor of a linear style similar to blocking code while still letting other tasks progress during awaits.

Strings in Rust

During the last 20 years I have used a number of garbage collected and reference counted programming languages. All of them have a single type for representing strings. Rust has two types of strings that can be stored in three different ways.

I want to shortly illustrate how Rust's strings interact with the heap, with the stack, and with the data segment of your binary, as well as shortly explain what those things are.

The myth of the Senior Developer

I have been thinking lately about what Senior Developers (Senior Engineers, Software Architects, etc.) contribute to an organization.

There is a long list of attributes a senior developer can have, two of them are—

I want to examine this dogma, and perhaps shine a light of self-criticism on it.

A four-hour rabbit hole into (mostly) generated Rust code

There are no official Rust libraries for Google APIs available yet, but there are some (mostly) auto generated ones that are fine to use albeit a bit verbose.

I've previously used google-apis-rs successfully when I needed to read Secret Manager secrets for a side project.

Hot on the heels of Thoughts on ethical software I decided to convert the same project from using MySQL to the snazzily named Firestore in Datastore mode.

Let's go down the rabbit 🐇 hole 🕳.

Thoughts on ethical software

The major cloud actors have all stated that they will be some combination of carbon neutral, carbon free, and carbon negative at some point in the future.

Not everyone is a cloud vendor! What can a software developer do today to improve the future of the planet?

Rust 2020

We have all been called upon by @rustlang to share our thoughts on what we want from Rust in 2020.

Java 8 to 11: TLDR edition

It's been two years and two months since I last wrote a blog post - I promise to make it count!

Let's dump some tcp - Android packet sniffing

Let's hold hands while we take a dump together!

Authentication & authorization - what gives?

You think you're hot shit and now you want to know some stuff about authentication and authorization. Maybe start implementing. You want it all.

TL;DR-time: XSS & XSRF (web attack vectors)

I'm going to explain Cross-site scripting (XSS) & Cross-site request forgery (XSRF/CSRF) to myself.

Necessary macOS system configuration

macOS doesn't pull its own weight, at least not in a standard configuration. There are a number of apps that need to be installed. Some of them are free, others are not.

macOS keyboard settings for Windows & Linux users

If you're like me, and you're coming from two decades of using Windows and Linux, you might want to keep using the keyboard shortcuts you're used to.

You might also be a programmer. In that case: even better.