by bitfield on 4/17/23, 9:15 AM with 40 comments
by h4ch1 on 4/17/23, 9:46 AM
1. Node.js or package.json or Vue.js or Nuxt.js issues or Ubuntu C library issues
2. Debugging and customizing pre-built CSS frameworks
First of all they're running a very simple blog, a SSG should be more than sufficient for their usecase. If for some reason the engineer in them decides they want to ship their own, which I completely relate to, all these problems come packaged with that decision.
Even then, after browsing their site, it's very barebones, nothing more than a router and a md -> html transformer is needed.
You don't even need a custom CSS framework for whatever this is, all the components on their website are so simple a single CSS file < 300 lines (I'm being very liberal) including media queries should do the trick.
Regarding DNS, in my 15 years of experience building/deploying websites there have been very few cases where setting up DNSs was a pain and that was only when I was using shady webhosts to minimise cost.
Can't comment much on caching, but I remember with Jekyll you can just append `{{ site.time | date: '%s%N' }}` to your asset and lo behold ez cache busting.
by zackproser on 4/17/23, 4:54 PM
This post is, indeed, intentionally hyperbolic.
It's a reflection on the fact that making all of these mistakes with my own stuff allows me to make better choices at work - and provides a constant canary project where the stakes are lower, but it's actually hosted...so it strikes a good balance of continued learning and experimentation for me.
It's also an experiment in firing blog posts sooner - keeping them "living" in the sense that I can always update them quickly later. Some of the contrived examples I chose didn't really hit their mark, for example, so I'll probably revise them later.
Thanks for the feedback :)
by vvillena on 4/17/23, 10:57 AM
> But here's the thing: despite all the frustration, the hair-pulling, and the curse words muttered under my breath, there's something strangely satisfying about tackling these challenges head-on. In the process of keeping this site running, I've learned even more about full-stack development than I would have otherwise, and, more importantly, I've continued developing callouses as I encounter and solve so many common web-based pain points that are totally relevant to my day job, too.
> [...] maintaining this site fucking sucks!
> And that's exactly why I do it. It's one of the best projects I've ever created.
It's an over-exaggerated rant about the positive effects of over-engineering a basic blog page.
by sph on 4/17/23, 9:46 AM
Why the hell does a personal blog need Node?
Use boring technology and your site will be fast for anyone even on a $5 VPS. You're not Google scale, for heaven's sake.
by CM30 on 4/17/23, 9:47 AM
1. Use a language that isn't JavaScript and avoid JavaScript frameworks, since most non JS setups don't require managing thousands of dependencies to get something working.
2. Use a framework or CMS so that you can update at a reasonable pace, and its someone else's responsibility if something in the tech stack breaks. This is why so many people still use WordPress/Ghost/Jekyll/whatever system they feel like using rather than hand coding everything themselves, even if they have the ability to do so.
Maintaining a website is as difficult as you make it.
by walrus01 on 4/17/23, 9:43 AM
Who the hell that has a clue is hosting their DNS with GoDaddy???!?
by imafish on 4/17/23, 10:02 AM
1) maintaining stuff is a pain in the ass,
2) it can still be very fulfilling.
by onion2k on 4/17/23, 10:02 AM
If you think that updates to a globally distributed database can be simple, instantaneous, and free of caching issues then I'm not going to listen to your opinions on software complexity.
by update8887 on 4/17/23, 9:50 AM
- why would you use node.js, and a single page application framework setup for your personal page? Looks like static site generators would work just fine (gohugo, jekyl, astro, https://jamstack.org/generators etc., emacs org mode?). Maybe "just host that" on github page, gitlab page, cloudflare page, sourcehut page etc.)
Many gitlab pages example (easy deploy), https://gitlab.com/pages (favorite so far, https://gitlab.com/pages/org-mode)
- yes, frontend architecture and tooling hotdamnsucks; it's important to learn how to practice it with the fewer dependencies possible.
PS: maintaining one site is a pain, imagine when you got hundred in management; you gotta keep things clean and simple
by zackproser on 4/28/23, 3:34 AM
by gambiting on 4/17/23, 9:57 AM
by karmakaze on 4/17/23, 8:55 PM
I do follow the gist of it though. I've remade backends for some services in so many languages, frameworks, and even making frameworks and libraries for them. What I don't do is maintain them. After porting to the next, I'll abandon the old, or even abandon the current, sometimes even let it bitrot and go out of service having served it's purpose. Maintenance is a choice that you can change your mind about it if sucks more than it's worth.
by vertis on 4/17/23, 9:40 AM
The lighthouse metrics are in the 80s, with a handful of performance things I could address, but let's be honest don't really need to, this is not after all a multi-million user app.
What part about that blog is custom enough that it requires Vue.js? And thereby requires you to keep it updated.
by mdrzn on 4/18/23, 12:58 PM
I will gladly stick with my simple 1-click-update Wordpress blog. Thank you very much.
by quickthrower2 on 4/17/23, 9:43 AM
by sneak on 4/17/23, 9:37 AM
by Havoc on 4/17/23, 10:01 AM
Also happens to be cheaper & faster.
Could go for one of the pages-like solutions but that seems a touch too boring.
by jpswade on 4/17/23, 9:49 AM
by fpanzer on 4/17/23, 6:19 PM
by TobyTheDog123 on 4/17/23, 9:45 AM
by nextlevelwizard on 4/17/23, 9:58 AM
Just browsing through the site it seems to be just links to articles and blog posts. All of that could be "pre-compiled" into plain old HTML pages and pushed to something like github pages and you wouldn't need to worry about DNS, the server or any of the software running in the stack.
by vr46 on 4/17/23, 9:39 AM
by pavlov on 4/17/23, 10:01 AM
> "[...] maintaining this site fucking sucks! And that's exactly why I do it. It's one of the best projects I've ever created."
The author has intentionally chosen inappropriately complex tools for a simple task as a learning exercise.
by wanabananascene on 4/17/23, 9:44 AM
CMS that generates static html?