notes

Advent of Code 2024 Notes

TL;DR - Misc notes from the 2024 Advent of Code in Python and Ocaml and a little bit of Golang. The repo with my solutions to the Advent of Code 2024 problems can be found here. This is a bunch of random notes from this year’s event, no full write-ups or anything for now just general notes and take-aways. Languages Learned a bunch of Ocaml (even though I didn’t use it everyday as intended)
Read more

Podcast Notes and Key Takeaways

TL;DR- just notes and takeaways from recent podcast episodes. They’ll mostly be about product development, software engineering, or other tech stuff (GIS related probably). Podcasts Takeaways and notes from recent podcasts I’ve listened to - I’m finding that taking actual notes is helping me retain info and more actively listen lately - and I figured why not share publicly in case it gets someone else interested in listening to (or not) the episode.
Read more

Drawing Cards without Replacement

TL;DR - working out the number of draws it will take to get an Ace if pulling cards randomly without replacing them. Just doing it as “an exercise to the reader” - sparked by some questions that came about in an Advent of Code discord server I’m in. I work out the expected number of draws to the first ‘success’ (drawing an Ace from a deck of cards, for example) from first principles, in a not-necessarily-rigorous-but-good-enough way (mathematicians don’t @ me.
Read more

Podcasts I've been into lately

Here are some podcasts I’ve been into lately and why I like them. Note - I’m not affiliated with any of these podcasts, I’m just a listener. Tech Backend Banter - Lane from boot.dev interviews a variety of other devs (mostly) and talks about their experiences and projects. I particularly like that it’s not only Golang focused. It’s mostly entertainment, but I’ve learned a few things from it. I really enjoyed the episodes with John Crickett about ‘mechanical sympathy’ (and also his coding challenges) and the one with Thomas Ballinger about convex.
Read more

Two similar apps with dissimilar tech stacks

TLDR - My general takeaways from working on two similar apps. One the OG server-returns-html way with FastAPI/HTMX and one with Next.js using the app router / RSC / SSR. These are my quick take aways from the point of view of working on them from the perspective of a “non-web-dev dev”. Intro I am currently working on two somewhat similar web apps, one using FastAPI with HTMX and one using Next.
Read more

Add Callout Captions to Camtasia 2023

TL;DR: Use the script below to add captions from a .srt file to a Camtasia 2023 project as callouts so they can be edited and styled. The script is available on GitHub. The Camtasia project file is just a JSON file, so this parses the captions from the .srt file and adds them to the project file as callouts. Not intended to produce polished captions, but rather to get the captions into the project so they can be edited and styled - basically as a time saver for the initial captioning process.
Read more

The Cryptopals Challenges

TL;DR: I’m working through the Cryptopals Cryptography Challenges, starting with knowing nothing about cryptography. These are my (not so) random notes and takeaways from them. They generally seem to follow a pattern of introducing a concept in cryptography (repeating key XOR, ECB mode, CBC mode, stream ciphers, etc) and then having you break it in some way(s). I’m hoping to turn my notes on some of these in to more detailed posts at some point, but for now, this mostly ‘stream of thought’ that I’m updating as I work through them.
Read more

Random Notes About Python's Random Module

TL;DR: Use the functions in the random module for modeling, simulations, games, sampling, etc. but use os.urandom, secrets, or random.SystemRandom for cryptographic applications. I know very little about cryptography and security, these are just my notes about stuff I recently learned. It uses the Mersenne Twister algorithm, which is a pseudorandom number generator with a period of 2^19937-1. It is one of the most widely used PRNGs in the world, and suitable for many applications.
Read more

Error Checking out Large Repo on GitHub Actions Windows Runner

TL;DR: If you’re getting a weird looking Error: fatal: fetch-pack: invalid index-pack output error checking out a large repo on a GitHub Actions using a Windows Runner, try switching to use HTTPS instead of SSH for your clones (by providing a personal access token instead of an SSH key). Summary I was recently working on getting CI setup for a project that has a pretty large repo with a few submodules and uses LFS for some large binaries.
Read more

How to Download an Image from a Google Doc

TL;DR: Either “File –> Download” the Google Doc as a web page, or open developer tools and watch for the browser to request the image from Google’s file servers. The deets Here are two simple ways to get an image out of a Google Doc, at least until Google (maybe inevitably?) adds a “right click-> save image as” feature. The first way is pretty straightforward, download the Google Doc containing the image files you would like to extract as a web page (File → Download → Web page (.
Read more