de363f640c1995160d8e22e485f89f44d753c218 — Daniil Rose 4 months ago f745a7b
Add new blog post: 2021 in review
3 files changed, 150 insertions(+), 1 deletions(-)

M pages/blog/posts/[id].js
A posts/2021-in-review.org
M styles/globals.css
M pages/blog/posts/[id].js => pages/blog/posts/[id].js +1 -0
@@ 75,6 75,7 @@ export default function Post({ postData }) {

              img({ src, title }) {
                return (
                  <div className="container text-center content-center place-items-center logo-color">

A posts/2021-in-review.org => posts/2021-in-review.org +145 -0
@@ 0,0 1,145 @@
title: "A Year in Review: 2021"
date: "2022-01-03"
description: "My reflection on the past year, and my goals for the future."
tags: [
I accomplished more than I expected this year, but at the same time nowhere near
enough. It seems that is always the case. I had hoped to write a lot more blog
posts while at home over the pandemic, but the greatest challenge here was
"putting the pen to the paper."

I've seen other people do "year in review" posts, and decided that I should
start this as a tradition for myself as well.

** Goals Accomplished
Most people write about their highlights, problems, books, projects, and more.
I'll start with what I accomplished this year.

*** Improving Programming Skills
I've definitely improved this year when it comes to understanding how to model
problems in my mind. An issue that has always occurred to me is not knowing
"where to start," but once I have I can rocket through the problem. It seems
that modeling the problem is my ideal solution.

My skills in Rust, C, and Python have gotten better.

*** Conferences
I attended my first ever conference (albeit virtually) in March when I went to
LibrePlanet. After that, I decided I really want to speak at a conference, but
bet myself that I would be too afraid to apply to a call for sessions. My
coworker convinced me that I should apply, and I ended up speaking at EmacsConf
2021 (a blog post I should eventually write)! I look forward to more conferences
to speak at and attend in the future, even if they are virtual.

*** Work
I'm happy to continue working at Quub, and have made progress on projects there.
I look forward to what we do in the future!

** Goals Not Accomplished
It's unreasonable to expect all goals to be achieved.

*** Writing More Posts
As is obvious, I didn't get around to writing any posts except for this one (and
even this in a new year). Something I need to improve!

*** University Acceptance
Despite my best efforts and life-long goal, I did not get into MIT. I am happy
that I got denied instead of deferred, as at least I don't have to sit around
anxiously. I also did not get accepted into Carnegie Mellon, which was
disappointing. It's important however to keep moving, so I have already applied
to new universities and am researching all other possibilities.

*** Improving Clojure Skills
I barely worked in Clojure this year. Clojure has been one of my favorite
languages (and my favorite LISP) for quite some time, but I never seem to find a
project it's better suited for than Rust or C. I also didn't finish reading
Getting Clojure.

** Projects
I worked on quite a few projects this past year, from programming one to playing
with my homelab.

*** Posteo
Prior to January, I had been using the same Gmail address for years. It was full
of spam, especially with notifications from various colleges, and I decided it
was time to try something new. I was on the fence with a few different services,
but decided that Posteo was the most affordable, and their mission statement
coincided with my beliefs. I wish I had moved over earlier!

*** Sourcehut
I took the time around July to migrate all of my work to Sourcehut. I believe in
their model more than that of Github and Gitlab, but still mirror my projects to
Github for visibility. I find the pricing for Sourcehut to be reasonable, and
their CI/CD server is spectacular.

*** Android Kotlin Certification
In school this year, I was offered the opportunity to take the Android Kotlin
Certification as a course. I've had a blast with this so far, and although I
still have more interest in embedded systems, mobile development is fun.

*** Spotsync
Around August, I decided that I want to transition away from a total reliance on
Spotify. An issue with this was that I listen to way too many songs, and am
constantly looking for new music. A bridge for this was to download my Spotify
playlists to my homelab, so that I could still use Spotify's discovery features.

Spotsync is a program written in Rust that automatically downloads your Spotify
playlists every so often (as defined in the env vars), and can be run in Docker.
It's been running perfectly for almost six months on my server!

*** FeStats
An ambition program, FeStats was an attempt to take all the statistics functions
of my TiNspire CX CAS and write them into a TUI Rust program. Spoiler alert: it
was never finished. I got stuck (eventually permanently) at implementing various
distributions in Rust, and decided the project wasn't worth pursuing. I did
however learn a significant amount about Rust from that project, and am happy I
attempted it (the TUI portion itself was finished).

** Homelab
This year, I finally went all in and purchased a rack-mounted server. I had been
trying out Proxmox and Windows Server on my ThinkStation D20, but it was showing
its age. Around May timeframe, I found a used HP DL360P G9 for a really low
price, so I decided that was the time to go through with it. I found a Firebox
M400 in a local electronics store, and installed a WD Velociraptor 10k RPM drive
in it with pfSense. I received a Cisco L3 switch (only 10/100), and a HPE
OfficeConnect 1820 PoE+ switch. The last issue I had was that the HP was a SFF,
so I couldn't put in my existing 6TB drives. I found a Synology DS918+ on
r/HomelabSales for a price I could afford, and finally had a complete

There were still two annoyances, however: I only had 32GB of RAM (which isn't
that much with Proxmox and the amount of VMs I wanted), and I didn't have a
rack. Luckily I had a Lack table (the long one) and stacked my gear in the
meantime. I couldn't afford the RAM, so I went with RHEL on my server (without
VMs) and this Christmas got a 15U rack!

I'm sure I'll write about more of my experiences with Docker, Kubernetes, and
UNIX eventually™️.

** Goals For This Year

*** Books
My goal is to read 24 books this year. I think I can handle two a month! I also
decided that I will start using [[https://www.goodreads.com/][Goodreads more (profile linked)]].

I've written down some of the books I'd like to read below, and am excited to
find new ones as the year progresses!

- The C Programming Language, Second Edition by Kernighan & Ritchie
- Star Wars Thrawn Ascendancy: Book Three, Lesser Evil by Zahn
- Structure and Interpretation of Computer Programs, Second Edition by Abelson & Sussman
- The Art of Electronics, Third Edition Improved by Horowitz & Hill
- Making Embedded Systems by White
- Getting Clojure by Olsen
- An Introduction to Programming in Emacs Lisp by Chassell
- Nicomachean Ethics by Aristotle

*** Keep Moving Forward!
As the film "Meet the Robinsons" always said, keep moving forward. I hope that
my family stays healthy in the upcoming year, the world gets a little closer to
the pre-pandemic state, and I keep working on my goals!

M styles/globals.css => styles/globals.css +4 -1
@@ 18,6 18,9 @@
  h4 {
    @apply text-lg font-semibold;
  h5 {
    @apply font-semibold;

.cv-container {

@@ 172,7 175,7 @@ ul {

h4 {
  text-align: center;
  text-align: left;

p {