Let me share a story about this website.
Decay š§āāļø
Eight years ago I built a personal website with a blog. I had just learned Ruby and had a limited understanding of web development. The site looked bad and my writing was even worse. I didnāt keep up with it.
Some years later I stopped writing Ruby and picked up JavaScript instead. I rebuilt my website using a Node toolchain of Webpack, PostCSS, PostHTML, and Atomizer. I made the site look nicer but had to scale it down to a single page.
Fast forward to the present day and Iām, once again, revisiting my website. As an aside, itās fun to see that I was ahead of the curve with utility-first CSS adoption (aka āAtomicā CSS). TailwindCSS JIT is great, but I already did it in 2018 š
Beyond the nostalgia, though, I realized that I couldnāt pick up the site from where I left off. Even with just a single page, the site was more complicated than the statically generated version that preceded it.
Why was this the case? Wellā¦
- I couldnāt install dependencies.
npm install
logged dozens of deprecation warnings before ultimately failing. - My Webpack configuration splayed out over seven files but was also stitched back together through a complicated set of
webpack-merge
rules. - I used 16 different PostCSS plugins. I donāt remember what most of them were for.
The Node version of the site was smaller in scope but denser in implementation. I hadnāt written much code, but decay had set in as a result of enormous dependency on code downloaded off the internet.
Starting Over š
Once again, Iāve rebuilt my site. In some ways Iāve returned to the mindset I had when I built my site the first time.
My first site was necessarily simple because I didnāt know how to make it look pretty or be fancy. Iām still not great at either of those things, but the difference now is that I embrace Spartan Web design. Perfect MFāing Website is actually usable compared to 90% of the web today. My new site doesnāt try to look pretty or be fancy, it just looks decent and loads fast.
I didnāt write much Ruby code with my first site, but I stayed within Rubyās ecosystem. I used Middleman to be close to the experience of Rails, which was popular at the time. Iāve since returned to Ruby with a different perspective, one that led me to build my own static site generator. Ruby is no longer trendy and my static site generator has a userbase of one, but Iām more confident that Iāll be able to keep this going several years from now. No more rewrites.
Personal Touch ā
In rebuilding this site, Iāve also renewed my commitment to write on my personal, technical blog.
Eight years ago I had the intuition that it would be important to write. I didnāt know what to write about and I didnāt know why I needed to write, though, so I didnāt follow through.
Now I understand that writing is a super power, even for people that work in software and live in code. At every software job where Iāve worked, the majority of the challenges are a result of inadequate communication between people. Being a good communicator doesnāt necessarily make you a good software engineer, but itās harder to be a good software engineer if youāre not a good communicator. The logic is simple:
ā” Better writing
ā” Better communication
ā” Better software
Hereās to trying to write a less cringe-y blog š„