BrainsToBytes

CS-6601 Artificial Intelligence: A Brief Review

I haven’t had much time to write lately. Between consulting work and my master’s studies, spare time is scarce — which I think is understandable. That said, I really enjoy it, despite how tiring it can be. I’ve learned (and keep learning) a lot from each course, so I already have mixed feelings about finishing the program next year. Still, the...

Read more

One Hundred

This is article number 100. I started this blog around 2019—built it up in March or April, but didn’t start posting until May. I posted my welcome article on May 6th, followed the next day by the first post in my S.O.L.I.D series (which I only now realize I posted as D.S.O.L.I—completely out of order). I think I read somewhere that having a bl...

Read more

Cloud Experiments: Building a Serverless Mixed Pipeline for Processing and Moderating PDF Files

The source code for this article can be found here. Welcome to another cloud experiment! The idea behind these hands-on tutorials is to provide practical experience building cloud-native solutions of different sizes using AWS services and CDK. We’ll focus on developing expertise in Infrastructure as Code, AWS services, and cloud architecture...

Read more

Cloud Experiments Repository Update

Quick announcement. Until recently, I’ve been adding and sharing the labs in the Cloud Experiments series using the blog’s main code samples repository. There’s a bunch of other interesting stuff there—like the Pandas labs and the code for the deep learning series—so it’s still worth checking out from time to time. In less than two weeks, I’ll...

Read more

Using the TypeScript Spread Operator to Clean Up CDK Code

I don’t have much experience with TypeScript—actually, I’d never touched the language until recently when I started writing Infrastructure as Code using CDK. Today I learned a useful trick that can help clean up sections of your stack by putting shared configuration in an object and then using the spread operator to merge those settings into the...

Read more

Understanding S3 Bucket Deletion in CDK

If you’ve been following this blog, you may have noticed that I consistently include two specific parameters when creating S3 buckets: const someBucket = new s3.Bucket(this, "someBucket", { // ... more bucket properties, sometimes none removalPolicy: cdk.RemovalPolicy.DESTROY, autoDeleteObjects: true, }); These parameters work together ...

Read more

Creating RDS Proxy for Existing Database Instances in AWS CDK

I recently worked on a project that required creating and attaching an RDS Proxy to an already existing RDS instance running PostgreSQL. It seems easy enough, but I kept getting a validation error that took some time to resolve. What I Was Doing (This Doesn’t Work) My first attempt used the standard fromLookup function to reference an existing...

Read more

Adding Python Dependencies to AWS Lambda Functions with CDK

Lambda functions are typically executed in environments created from the default runtimes provided by AWS (such as python3.13 or ruby3.4). These runtimes come pre-loaded with many popular modules, like boto3 (the Python AWS SDK), so you often don’t need to install additional dependencies for routine tasks. However, you may eventually need a mo...

Read more