Blog
2023
Automatically detecting and resolving deprecations using Semgrep
·2968 words·14 mins
semgrep
go
bash
Managing deprecations oftentimes requires a lot of manual work and communication. But what if we could automate this process instead?
2022
Adapting the python context manager pattern for Go
·460 words·3 mins
go
python
I’ve recently started writing more Go, and one pattern I miss from Python is context managers, which are especially useful when doing IO.
2021
Managing your GitHub setup with python using the Terraform CDK
·1078 words·6 mins
github
python
terraform
How to automating the management of a GitHub organization using infrastructure-as-code tooling.
How does pathlib combine paths using slashes?
·629 words·3 mins
python
How does the python pathlib library use the forward-slash character to construct paths?
2019
Getting started with fbprophet on Windows 10
·548 words·3 mins
python
I recently decided to look at my past purchases, and see if I could leverage that data to predict some of my personal spending trends.
To help create a forecast, I settled on Prophet, which is a Python library for time series prediction from Facebook.
2018
Java vararg constructors and reflection
·1181 words·6 mins
java
On a recent Selenium project, I was trying to develop tests for a page with a long, dynamic form. This form has several types, with some shared fields across each type, with the number of possible fields ranging around 30-50 fields.
SQLAlchemy terms defined
·255 words·2 mins
python
sql
In January of last year I was working on a project that used SQLAlchemy to manage database interactions. Since many of the terms were new to me back then, I thought it would be handy to define a few of them here.
Performing JOINs on text files
·152 words·1 min
unix
Linux comes equipped with a handy utility aptly called
join
which performs join operations on text files.AWK Built-in Variables
·186 words·1 min
unix
A common choice for manipulating and processing large text files on UNIX systems is
awk
. I was using awk
in March of 2017 and thought it would be helpful to have a list of awk
built-in variables for future reference.2014
Adding Prism syntax highlighting to a Harp server
·488 words·3 mins
javascript
This website used to run on a webserver called Harp. While reading through the documentation page on using Markdown to write pages, I came across an interesting few lines near the bottom of the page, which discussed how to include fenced code blocks on a page:
Synchronous spawning in corals and sea urchins
·623 words·3 mins
zoology
Reproduction poses certain problems for sessile organisms, since they cannot actively search for a mate. Many types of corals and sea urchins therefore employ a slightly different reproductive technique, releasing gametes into the water where they hopefully will join up with their counterparts to produce a new generation.
Fire (ants) and water don't mix
·230 words·2 mins
zoology
myrmecology
Native to South America, Red Imported Fire Ants make their homes underground. These nests are subject to flooding during rainy periods. On its own, a single fire ant Solenopsis invicta will struggle to stay afloat in water, and may even drown.
I vibrate, therefore I smell
·420 words·2 mins
biology
Your sense of smell depends on olfactory receptors. These receptors bind to oderant molecules and identify them by structure or shape. But what about molecules that are similar in shape? Those should smell enough alike that we can’t tell the difference.
Meryra, right hand of the “Heretic King”
·356 words·2 mins
history
egypt
Although it was never finished and remains unoccupied, the tomb of Meryra located in Amarna is notable since it casts a light on an important time in Egyptian history; that of the “Heretic Pharaoh” Akhenaten and his wife Nefertiti.
A lesson learned in including javascript libraries properly
·453 words·3 mins
javascript
I figured I’d sit down and quickly add a navigation header to my site just to have it in place, so that I could add links to it later.
After reading over the Bootstrap documentation, I thought it seemed rather straight-forward, so I quickly whipped up a few lines of Jade into a serviceable navigation header with a few link elements in it — one to the homepage and one to the blog portion.