Rsa Cryptography

The idea behind cryptographic communication is that it should be hard/impossible for eavesdroppers to decrypt the messages, but relatively easy for the intended recipient to decrypt.

Read More

Sql Performance Lessons

At a previous job, I had the pleasure of improving our web app’s performance. The motivation was that we had recently experienced a number of outages in a short timespan, after having had no outages at all in the year I had been working there at that point. We were able to observe that our database cpu utilization was maxed out. Using AWS RDS Performance Insights (PI), we were able to see that a few queries were extremely non-performant.

Read More

Markov Chain Monte Carlo

The goal of this post is to learn about Markov Chain Monte Carlo. What is it, why does it exist, how do we “do it”, and how can we apply it to a real problem?

Read More

Daily Stock Alerts

The market’s been volatile recently because of the COVID-19 pandemic. I’ve been checking individual stocks manually each day for large movements. I don’t want to daytrade, but I do want to have a general feel for what the market’s doing each day. But checking manually is annoying and also not healthy, so I automated the process:

  • get daily quote info from Finnhub
  • set limit prices on several stocks I’m interested in
  • send me an email if any limits are exceeded
  • automatically repeat every day by scheduling it to run daily with launchd
Read More

Proving that well-typed programs will not get type errors during runtime

I came across this theorem recently, and thought that it’s an interesting result. The proof itself isn’t particularly flashy, but I think the result is relevant to every prorammer’s daily life and that’s pretty cool. My hope is to explain it enough that a programmer with basic logic experience can understand the proof. I’ll explain notation along the way.

Read More