---
title: "10 Years"
date: 2025-04-16T12:13:29-04:00
draft: false
tags: []
math: false
medium_enabled: false
---

On April 16 2015, I wrote my first two [blog](/blog/2015-04-16-function-two-points-theory/) [posts](/blog/2015-04-16-responsive-layout-and-animation/) on creating responsive layouts in CSS. It's crazy to think that I still have this blog going after 10 years. Since then I've lived in 9 different places, worked at 6 different organizations, and got to meet many wonderful people including my now fiance. 

I thought it would be nice to look back over the last ten years, and talk about my favorite blog posts of each year. What I've come to realize in this exercise is that I really came a long way. I mean, it's not that hard to beat my first blog post where I just scanned a sheet of paper!

*Disclaimer:* Posts before mid-2019 were on WordPress, and let's just say that the migration to Hugo hasn't been perfect...

## 2015

**Favorite Post:** [Limiting the cache in Service Workers Revisited](/blog/2015-11-30-limiting-cache-service-workers-revisited3/)

Service workers was one of the first ways you can have persistent background processing on a website. From my memory, the big use case was that you can get social media notifications without even having the tab open.  I'm not sure how, but I ended up on the bleeding edge of this since it was first fully released on Chrome without a feature flag September 2015.

While we all love getting notifications, a more interesting use case to us in the blogging community was that you can use service workers to make your website available offline! I wrote about [how to do so](/blog/2015-11-14-service-workers/) and then wrote this update a few weeks later to help address a [caching](https://adactio.com/journal/9844) [issue](https://adactio.com/journal/9888) that Jeremy Keith identified.

## 2016

**Favorite Post:** [Pass the password manager](/blog/2016-08-16-pass-password-manager/)

This is the only blog post I wrote in 2016 so it wins by default. At the time, I used the CLI application [`pass`](https://www.passwordstore.org/) to manage my passwords and [Syncthing](https://syncthing.net/) to share it between devices. Nowadays, I entrust [Bitwarden](https://bitwarden.com/) when it comes to handling my passwords.

## 2017

**Favorite Post:** [Approximating Pi using a Monte Carlo Simulation](/blog/2017-03-14-monte-carlo-pi/)

2017 was the year that I got really into statistics and approximation. Not only was I approximating Pi like above, but I was also testing the [randomness of random number generators](https://brandonrozek.com/blog/2017-03-07-uniformity-math-random/), looking at [male vs female life expectancy](https://brandonrozek.com/blog/male-vs-female-life-expectancy/), and building a regression model of the [price of homes in Albuquerque, New Mexico](https://brandonrozek.com/blog/albuquerque/).

Nowadays I don't work with Statistics as often. However, I do think it's cool how we can come up with models to attempt to describe how the world works even when we don't have much data available.

Also being able to make approximations with [Monte-Carlo methods](/research/reinforcementlearning/notes/mcmethods/), and resampling techniques like [bootstrapping](https://github.com/Brandon-Rozek/bootstrapr) is awesome.

## 2018

**Favorite Post:** [Identifying Misspelled Words in your Dataset with Hunspell](/blog/2018-01-22-identifying-misspelled-words-dataset-hunspell/)

Similar to 2016, this is the winner by default since it's the only blog post I wrote that year. I'm happy that I don't currently have to deal with data cleaning.

## 2019

**Favorite Post:**  [Capture The Flag](/blog/ctf/)

From this point on, it only gets harder for me to select my favorite! For the first four years I only wrote 30 blog posts total. In the year 2019, I wrote 60! If I had to chose, my favorite would be when I briefly described the challenges I made for a capture the flag competition during my undergraduate days. I also really enjoyed encoding [mathematical](/blog/pythonsymmetricgroups/) [problems](/blog/haskellrealsequences/) in code.

## 2020

**Favorite Post:** [Disk Golf and PyMC3](https://brandonrozek.com/blog/discgolfpymc/)

Somehow in 2020 I wrote 128 blog posts. Many of them are short tidbits of things I've learned. But still, that's almost a blog post every 3 days! According to my [stats page](/stats) this is the current record of blog posts per year by far. We'll see if I ever beat this record.

My favorite out of this batch is a blog post that's a combination of personal life and statistics. In a semi-competitive semi-joking way, I wanted to determine who was the best at disk golf between Clare, Chris, and I based on just one outing. After performing some Bayesian magic, I found that Chris and I pretty much have the same performance (ignore the 0.2 score difference) and Clare is sadly worse than the both of us.  

Other great pieces that year was my blog post on [Cryptographic Games](/blog/cryptogames/) and [Tail call optimization in Python](/blog/tcopython/).

## 2021

**Favorite Post:** [Introduction to RF Power Amplifiers](/blog/introrfpoweramp/)

Before I stopped actively pursuing Amateur radio, I wanted to write some notes in case I ever get back into the hobby. Turns out, radio waves are based on electricity and life is a lot easier if you have an electrical engineering degree to understand all of the terminology used.

That doesn't mean you need a degree to get in the hobby though! In the US, you'll need to at least have a technicians license to get on the air and luckily all the questions and answers for the exam are [available online](https://hamexam.org/). After getting licensed, you can pick up a UHF/VHF radio for $20 and chat with anybody on a [local repeater](https://www.repeaterbook.com/repeaters/).

Though the reason I got into the hobby is that it can be as complicated as you want. At the time I was highly interested in digital modes and software defined radios. This blog post came about as I was trying to figure out what I needed to buy for the annual [Amateur Radio Field Day](https://en.wikipedia.org/wiki/Field_Day_%28amateur_radio%29).

## 2022

**Favorite Post:** [Finding Cool People on Mastodon](/blog/finding-cool-people-on-mastodon/)

On August 2022, I joined Mastodon and like all new people had to figure out where all the cool folks are. I'm not often on Mastodon nowadays, but it's awesome that an open-source microblogging platform has gotten popular.

This was also the year I introduced the [tracks](/tracks) feature on my website. I really enjoy going on walks, and having a section of my website that shows where I walked and the pictures along the way is wicked cool. I fully described the implementation of this feature in the post [Displaying Hikes with gpx.studio](/blog/displaying-hikes-with-gpxstudio/).

Lastly, professionally I was a teaching assistant. A couple of posts were born from seeing student mistakes. My favorites were [Loop Invariants in Dafny](/blog/proving-loop-invariants/) and [Most Common Mistake in Induction Proofs](/blog/common-mistake-induction-proofs/).

## 2023

**Favorite Post:** [Adventures in Bird Watching](/blog/adventures-in-bird-watching/)

In 2021 I wrote a blog post comparing different RF power amplifiers. Similarly in 2023, I wrote about what considerations you need to make when buying binoculars for bird watching. I never fully got into bird watching as a hobby, but I encourage you to go on a bird tour at least once if you're able. It's fun to learn about the birds that fly above you and live in the trees near you.

I don't often give glimpses of my life, but I shared a [trip to Brooklyn](/blog/day-in-brooklyn/) that Clare and I did with my brother.  In terms of more technical posts, I wrote about [functional completeness](/blog/functional-completeness/) and an alternative way of [representing uncertainty under the closed world assumption](/blog/representing-uncertainty-closed-world-assumption/).

Since I work on multiple devices, I make more merge conflicts than I like to admit. I wrote a small script to tell me whether the git repository I'm working on is [ahead or behind](/blog/ahead-behind-git/) the remote one. Lastly, for many years I've used Syncthing to synchronize my files between my devices. By default it uses public relays and public discovery services, however, I run my own servers so why not use that instead? I describe my setup in the blog post [How to set up a private syncthing network](/blog/private-syncthing-network/).

## 2024

**Favorite Post:** [Hashing Based on Word (Emoji?) Lists](/blog/hashing-based-on-word-emoji-lists/)

In contrast to what I said in the [blog questions challenge](/blog/blog-question-challenge-jan2025/), my favorite blog post last year was one where I wrote a hash function based on an Emoji list. I don't use emojis nearly enough in my daily life and there's more than 5042 of them to chose from!

Winters here in New York is cold and I often don't want to go outside. One of the events I look forward to is watching my university's hockey games. Therefore, a close second place for last year is when I wrote about my [experience watching ice hockey](/blog/ice-hockey/). Another yearly tradition of Clare and I is to go [Apple Picking](/blog/hunter-gathering-apple-picking/) in the fall.

In terms of software, I wrote about a way you can [access your homelab remotely using mTLS](/blog/accessing-homelab-services-mtls/). Also, I really appreciate the mission of the [Tildeverse](/blog/tildeverse/) and last year wrote [WordGuess: A game for the Tildeverse](/blog/wordguess/). Lastly, my favorite writeup related to my research last year is [Constraints and Safety in PDDL](/blog/safety-constraints-pddl/)

## Conclusion

That's a wrap! We're too early in the year 2025 for me to pick, as I've only written five blog posts so far.

Here's to another 10 years and as always feel [free to get in touch](/contact/).
