Hacking CPython: Syntax

This post is the first in a series on adding functionality to the CPython interpreter. In it, we implement the almost-equal operator described in CPython Internals. In this first post, we update the CPython tokenizer, parser, and abstract-syntax tree to support our new feature.

Read More

Container Deployment on AWS

This post describes several options for deploying containerized applicatons on AWS and the tradeoffs in terms of usability, scalability, and pricing.

Read More

Cryptography for Cybersecurity Professionals

This post links a presentation I made back in 2019 titled “Cryptography for Cybersecurity Professionals.” I lost track of the presentation in the intervening years, but recently stumbled on it again while auditing my password manager for old, unused accounts.

Read More

Awaitable System Timers

C++20 coroutines enable many interesting asynchronous programming constructs of their own accord, including co_awaitable synchronization primitives, generator functions, and asynchronous algorithms, to name just a few. However, the power of coroutines really shines when we integrate them with an external event source such as IO completions or timer expirations.

Read More

Building With C++ Coroutines: Series Introduction

C++20 introduces a number of exciting new features: constraints and concepts, modules, ranges, new primitives in the thread support library, etc. While all of these features are interesting and deserving of study, it is the language support for coroutines that I find the most compelling.

Read More