-
Exposing Pandoc to Create PDFs using AWS Lambda
26 November 2024
I needed an endpoint to convert markdown to a standard PDF for reasons. This is
how I made a simple low traffic markdown to pdf converter using AWS Lambda and
pandoc. When evaluating solutions I discovered that everything either
required webkit or a native LaTeX installation. All options that are painful to
maintain from a user perspective for a script I was building. This solution
ensures that it will keep working into the future by freezing the dependencies.
AWS Lambda is really neat because it will let you put whatever you want inside
of a docker image and expose it openly on the internet. The hard part is
putting together all the steps and doing the docker stuff. So here’s what I did
to make it.
-
Batman Dialer Part 2 - Hardware Testing
12 September 2024
Lets continue on with my batman dialer project. The entire goal here is to hide
a secret control panel in some kind of statue. What that control panel does is
completely up in the air. So here’s my current progress. I have gotten the
analog rotary dialer working. I have also gotten sound working using the
MAX98357A breakout board.
-
Unveiling the Risks of sts:GetFederationToken, You Probably Don't Need It
02 May 2024
Let’s talk about sts:GetFederationToken and why we should disable it within our AWS Accounts. This call allows the creation of temporary access credentials that can be associated to any user identity. These credentials are difficult to revoke from the console, and cannot be revoked using the standard deny all credentials created before X time policy. It is much better to use standard built in identity providers like the OpenID Connect for CICD Operations or IAM Identity Center for federated user access. We’ll walk through how this call works, what it was originally intended for, and some threat detection.
-
Tire Pressure & The Polar Vortex in Jupyter Python
05 February 2023
I had low tire pressure yesterday due to the polar vortex, so I added
additional air to my tires to about 34PSI at 22F, today it is much warmer at
nearly 50F and the PSI went up more than I expected. Also the PSI doesn’t seem
to change as much from Spring to Summer, when the weather can swing up more
than 20 degrees from night to day. I decided to write some python to try to
figure this whole thing out using the Ideal Gas Law. Also no attempt was made
to account for the weight of the car, and how that adds pressure to tire.
-
Implementing a Table Create & View Update in Athena using AWS Lambda
01 February 2022
I have a DynamoDB table that is automatically exported as JSON to
compute some reports. I wanted to automate the table creation process
and load steps. Amazon Athena allows querying from raw files stored on
S3, which allows reporting when a full database would be too expensive
to run because it’s reports are only needed a low percentage of the time
or a full database is not required. It’s billed by the amount of data
scanned, which makes it relatively cheap for my use case.
-
Search Suggestions on My Website
27 July 2021
I previously talked about the search engine I recently added to my
blog, and this is an extension to that previous post. Here I will
discuss how I added a simple search suggestion option. It works for my
website with the limited vocabulary and time to return results, but if I
was working on a larger site I might try to make it smarter. So here’s
how I implemented it.
-
Adding Search to My Static Blog Using AWS Lambda and SQLite
09 July 2021
I always wanted to have search on my site, but it’s statically hosted,
so I can’t have any dynamic content on it. I recently resolved that by
creating a little tiny lambda function on AWS that queries a SQLite
database hosted on S3. Here I’ll walk you through how I created the
back-end for it, and in some later posts I’ll include details on
calculating the cost.
-
Adding `pylint` to your Github Actions flow
21 January 2021
Recently, I’ve been doing more CICD work, so I wanted to practice adding
some of that to my personal projects. I’ve also taken a liking to
pylint, so I decided to have Github Actions automatically
check my code quality on push for my log-analysis
repository. This is how I added that linting to my workflow.
-
PyGame FFT Audio Visualizations
07 January 2021
This tutorial is to write a very simple audio visualizer using
PyGame, PyAudio, and Numpy. The visualization uses the
frequency domain of some input sound, and display a bar graph of the
frequency domain as the audio plays. The audio source is the computer
line-in or microphone.