A new blog, and an attitude shift
It’s been a minute since I actually wrote a post for this blog; let alone something of substance. So here we go!
The Reconstruction
For the past 4-5 years of this blog’s existence, it’s been hosted on Hashnode. I originally started using that platform because it was super easy to write content and manage assets using their WYSIWYG editor.
To understand why I moved, we need to discuss my history as a web dev first. When I started, I was big into React & Next.js, which is what the first versions of my portfolio website and projects were built with. Relatedly, I also used Vercel for basically all hosting.
Sites should actually be fast, not just feel fast
In the past 18-24 months, I’ve shifted my focus toward building stuff that’s leaner and faster by default. This attitude change has influenced how I build and deploy stuff. Next.js may be useful, but by default it produces extremely bloated webpages that, in my opinion, don’t count as high performance even if they feel fast. It relies heavily on tricks and deep infrastructure integration for its performance features.
Crazy idea: what if we just use less, where possible? I haven’t quite given up the framework life - Svelte(Kit) is my new favorite thing. However, this blog is built with hugo for a reason. It doesn’t need bells and whistles - it just works, and it’s fast.
Vercel ain’t chill
I mentioned something about deep platform integration above, and I mean it. No matter how much Vercel/Next.js stans pretend it’s a non-issue, Next.js does push people toward vendor lock in. Yes, you can run it with Node; but then you lose most of the useful cache busting and other stuff it does. Can’t deploy it on Cloudflare or Netlify either if you want the full featureset. Ick.
Reader, to spare you an even longer rant, here’s the short and sweet list of why I stopped using Vercel:
- Vendor lock in (mentioned above)
- They stil don’t have IPv6 support (absolutely ridiculous)
- Basic features that I can get for free from other clouds are paywalled (i.e. deploying from a GitHub repo within an organization)
- Bandwidth and other usage pricing is downright stupid expensive (relative to other solutions)
- They claimed their DDoS protection is better than Cloudflares (they can fuck right off with that, because it’s straight up not true; and they’re an AWS wrapper)
Hashnode: the final frontier (of making my stuff more efficient)
Hashnode is a multitenant Next.js app deployed on Vercel, and with the exception of one other project* I have, it was the only thing I hadn’t moved.
This blog is now powered by Hugo, and hosted on Cloudflare as a static site. Since it’s static, I could very easily migrate hosting to Netlify, AWS, Azure, or any number of other object storage + cdn services. It is simple and that is beautiful.
Another thing worth noting is that I didn’t even use Hashnode as a datasource that Hugo can pull from. The goal here is to be fully in control of my blog. No reliance on infrastructure I don’t control, or at least stuff I can’t move very easily. Markdown in a git repo, built into static HTML, plopped into a storage bucket and served via CDN.
*I am actively rewriting this project from Next.js to Sveltekit, and the new version will be hosted elsewhere!
Not quite done
While you are able to read these posts, this is very much not done. I still have some minor styles and other stuff to fix up, since I decided to make my own theme (that matches my personal website.)
The Goals
I have been working on a lot of things over the past couple years that could make for interesting blog posts. There’s also something about technical writing that I kinda like. Here’s some topics that are possibly going to become blog posts:
- Custom DNS stuff
- Doing BGP for… fun?
- IPv6
- Svelte, as a former React developer
- Getting jiggy with Go
I won’t be setting some sort of specific goal about how much writing there will be though. That might be a bit much.
Anyway, see ya round!