kristoff-it-edtlns.txt (4703B)
1 [1]Loris Cro 2 3 Personal Website 4 [2]About • [3]Twitter • [4]Twitch • [5]YouTube • [6]GitHub 5 6 The Static Site Paradox 7 8 October 08, 2024 • 3 min read • by Loris Cro 9 10 In front of you are two personal websites, each used as a blog and to display 11 basic contact info of the owner: 12 13 1. One is a complex CMS written in PHP that requires a web server, multiple 14 workers, a Redis cache, and a SQL database. The site also has a big 15 frontend component that loads as a Single Page Application and then 16 performs navigation by requesting the content in JSON form, which then gets 17 “rehydrated” client-side. 18 2. The other is a collection of static HTML files and one or two CSS files. No 19 JavaScript anywhere. 20 21 If you didn’t know any better, you would expect almost all normal users to have 22 [2] and professional engineers to have something like [1], but it’s actually 23 the inverse: only few professional software engineers can “afford” to have the 24 second option as their personal website, and almost all normal users are stuck 25 with overcomplicated solutions. 26 27 Weird as it might be, it’s not a great mystery why that is: it’s easier to spin 28 up a Wordpress blog than it is to figure out by yourself all the intermediate 29 steps: 30 31 1. Buy a domain 32 2. Find a hosting platform 33 3. Configure DNS 34 4. Find an SSG (or handcraft everything yourself) 35 5. Learn how to setup a deployment pipeline 36 37 And so, while we software engineers enjoy free hosting & custom domain support 38 with GitHub Pages / Cloudflare Pages / etc, normal users are stuck with a bunch 39 of [7]greedy clowns that make them pay for every little thing, all while 40 wasting ungodly amounts of computational power to render what could have been a 41 static website in 99% of cases. 42 43 Last week I spoke at SquiggleConf in Boston about my experience writing a 44 language server for HTML. Most of the talk is tactical advice on what to do (or 45 avoid) when implementing one, but I concluded the talk with a more high-level 46 point, which I will now report here fully as conclusion to this blog post. 47 48 When I published SuperHTML, I discovered that it was [8]the first ever 49 language server for HTML that reported diagnostics to the user. I wrote a 50 blog post about it, it got [9]on the frontpage of Hacker News and nobody 51 corrected me, so you know it’s true. 52 53 I originally found it a funny thing, but thinking about it more, it’s a bit 54 sad that this is the case. Linters do exist, and people can get diagnostics 55 in their editor, but that’s usually tooling tied to a specific frontend 56 framework and not vanilla HTML, which leads to people opting to use 57 frameworks even if they don’t really have a real need for all the 58 complexity that those frameworks bring. 59 60 And that’s bad in my opinion. Not because of an abstract appreciation for 61 simplicity, but because the web doesn’t belong just to software engineers. 62 The more we make the web complex, the more we push normal users into the 63 enclosures that we like to call social networks. 64 65 Don’t you find it infuriating when lawyers and accountants fail to clarify 66 how their respective domains work, making them unavoidable intermediaries 67 of systems that in theory you should be able to navigate by yourself? 68 69 Whenever we fail to make simple things easy in software engineering, and 70 webdev especially, we are failing society in the exact same way. 71 72 This is not something that startups or big tech can solve for us, their 73 economic incentives are just too misaligned, so I invite you all to help 74 make the web more accessible, partially as a matter of taking pride in our 75 craft, and partially because the web used to be more interesting when more 76 of it was made by people different from us. 77 78 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79 [10]← Critical Social Infrastructure for Zig Communities • [11]Yes, Go Does 80 Have Exceptions → or [12]Back to the Homepage 81 82 References: 83 84 [1] https://kristoff.it/ 85 [2] https://kristoff.it/ 86 [3] https://twitter.com/croloris 87 [4] https://twitch.tv/kristoff_it 88 [5] https://youtube.com/c/ZigSHOWTIME/ 89 [6] https://github.com/kristoff-it 90 [7] https://techcrunch.com/2024/10/04/wordpress-vs-wp-engine-drama-explained/ 91 [8] https://kristoff.it/blog/first-html-lsp/ 92 [9] https://news.ycombinator.com/item?id=41512213 93 [10] https://kristoff.it/blog/critical-social-infrastructure/ 94 [11] https://kristoff.it/blog/go-exceptions/ 95 [12] https://kristoff.it/