Files
davideisinger.com/static/archive/kristoff-it-edtlns.txt
2024-11-06 13:21:40 -05:00

96 lines
4.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[1]Loris Cro
Personal Website
[2]About • [3]Twitter • [4]Twitch • [5]YouTube • [6]GitHub
The Static Site Paradox
October 08, 2024 • 3 min read • by Loris Cro
In front of you are two personal websites, each used as a blog and to display
basic contact info of the owner:
1. One is a complex CMS written in PHP that requires a web server, multiple
workers, a Redis cache, and a SQL database. The site also has a big
frontend component that loads as a Single Page Application and then
performs navigation by requesting the content in JSON form, which then gets
“rehydrated” client-side.
2. The other is a collection of static HTML files and one or two CSS files. No
JavaScript anywhere.
If you didnt know any better, you would expect almost all normal users to have
[2] and professional engineers to have something like [1], but its actually
the inverse: only few professional software engineers can “afford” to have the
second option as their personal website, and almost all normal users are stuck
with overcomplicated solutions.
Weird as it might be, its not a great mystery why that is: its easier to spin
up a Wordpress blog than it is to figure out by yourself all the intermediate
steps:
1. Buy a domain
2. Find a hosting platform
3. Configure DNS
4. Find an SSG (or handcraft everything yourself)
5. Learn how to setup a deployment pipeline
And so, while we software engineers enjoy free hosting & custom domain support
with GitHub Pages / Cloudflare Pages / etc, normal users are stuck with a bunch
of [7]greedy clowns that make them pay for every little thing, all while
wasting ungodly amounts of computational power to render what could have been a
static website in 99% of cases.
Last week I spoke at SquiggleConf in Boston about my experience writing a
language server for HTML. Most of the talk is tactical advice on what to do (or
avoid) when implementing one, but I concluded the talk with a more high-level
point, which I will now report here fully as conclusion to this blog post.
When I published SuperHTML, I discovered that it was [8]the first ever
language server for HTML that reported diagnostics to the user. I wrote a
blog post about it, it got [9]on the frontpage of Hacker News and nobody
corrected me, so you know its true.
I originally found it a funny thing, but thinking about it more, its a bit
sad that this is the case. Linters do exist, and people can get diagnostics
in their editor, but thats usually tooling tied to a specific frontend
framework and not vanilla HTML, which leads to people opting to use
frameworks even if they dont really have a real need for all the
complexity that those frameworks bring.
And thats bad in my opinion. Not because of an abstract appreciation for
simplicity, but because the web doesnt belong just to software engineers.
The more we make the web complex, the more we push normal users into the
enclosures that we like to call social networks.
Dont you find it infuriating when lawyers and accountants fail to clarify
how their respective domains work, making them unavoidable intermediaries
of systems that in theory you should be able to navigate by yourself?
Whenever we fail to make simple things easy in software engineering, and
webdev especially, we are failing society in the exact same way.
This is not something that startups or big tech can solve for us, their
economic incentives are just too misaligned, so I invite you all to help
make the web more accessible, partially as a matter of taking pride in our
craft, and partially because the web used to be more interesting when more
of it was made by people different from us.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[10]← Critical Social Infrastructure for Zig Communities • [11]Yes, Go Does
Have Exceptions → or [12]Back to the Homepage
References:
[1] https://kristoff.it/
[2] https://kristoff.it/
[3] https://twitter.com/croloris
[4] https://twitch.tv/kristoff_it
[5] https://youtube.com/c/ZigSHOWTIME/
[6] https://github.com/kristoff-it
[7] https://techcrunch.com/2024/10/04/wordpress-vs-wp-engine-drama-explained/
[8] https://kristoff.it/blog/first-html-lsp/
[9] https://news.ycombinator.com/item?id=41512213
[10] https://kristoff.it/blog/critical-social-infrastructure/
[11] https://kristoff.it/blog/go-exceptions/
[12] https://kristoff.it/