Just use HTML

198 kyrylo 174 5/12/2025, 1:55:44 PM justfuckingusehtml.com ↗

Comments (174)

mbgerring · 34d ago
Look — I’m old enough to remember when the “web standards movement” was controversial. I had to argue with my boss about using CSS vs tables. And I remember when you did need javascript to do a lot of things that HTML now does natively. JS frameworks had to exist to push the state of the art, because the state of the art got stuck. The standards bodies and browser vendors got their shit together, and now you can do things you used to need frameworks for in plain HTML. That’s great! But let’s not re-write history, here.

Software is in a constant state of revolution and counter-revolution. It’s one of the things that keeps this job interesting.

ninetyninenine · 34d ago
Sort of but it just builds on top of cruft. CSS and html is poorly designed to do what we are doing with it today.

Like I understand the point of not building bloat. But the reason why people build bloated stuff like react is because the primitives are just raw shit. HTML and css is just really bad.

ffsm8 · 34d ago
Oh? All things considered, I believe html and css are both great. Incredibly flexible and very easy to get a basic "framework" started for consistent design

Everything else I've used to date (for UIs) was either extremely limited or way more complicated to use in comparison

I personally feel like the only thing we're missing is a way more aggressive deprecation policy. Not actually removing the API, just clearly signal that you would probably be better off not using it in 2025.

agos · 33d ago
CSS is really great, and I've felt this way since it was introduced - but the lack of tooling around it today is anachronistic
braebo · 27d ago
CSS is incredible technology, but holy shit does it feel archaic in a large Typescript project to have a massive design system in a string.

Why can’t I click an element and see the css files that apply to it? Why can I get autocomplete for my utility classes and custom properties? I would happily nuke CSS from a project for a typescript library that could marry the two worlds with minimal trade-offs, but I’ve yet to have the time or courage to dive into a library like vanilla-extract: https://vanilla-extract.style

wingerlang · 33d ago
Clearly an AI generated comment, should this be banned?
trissi1996 · 33d ago
What ? Why ? Doesn't seem clear to me.
wingerlang · 33d ago
There’s more But it’s clear to me from the first word “Look — …“. No one starts a comment like that, except ChatGPT who does it all the time.

I frequent subreddits where AI use is super common and the vibe is always the same.

mbgerring · 32d ago
I assure you that my comment was not AI generated, but thank you for the future shock of the accusation.
tim333 · 33d ago
mbgerring seems real. https://www.linkedin.com/in/mgerring/

Says he majored in journalism which maybe explains a more literate style that engineers take to be llm?

wingerlang · 33d ago
I’m sure it’s possible, ChatGPT is trained on people after all.
owebmaster · 32d ago
Look - the content is good and some of us are not native English speakers. People should edit their chatgpt correction but we should stop calling everything AI generated without real proof. Anyway, if the comment is meaningful and adds to the discussion, why should I care if it was AI generated?
wingerlang · 32d ago
I’m not a native speaker either..

And no, I don’t think the content is good and meaningful in 99% of the cases.

diordiderot · 33d ago
I agree. The structure feels like an LLM. What scares me is that the more I use it the more I feel myself writing like chatgpt. Hell even thinking in its 'tone of voice'
xnorswap · 34d ago
Somehow this site is both plain HTML yet also blocks the Firefox reader button, rendering it unreadable.

( Edit: Browsing to https://justfuckingusehtml.com/index.html shows the reader button, I guess Firefox has a really dumb heuristic for when it shows. )

Retr0id · 34d ago
I was having trouble getting reader mode to "detect" my blog posts a while back, I was never able to find documentation on how it decides to show the button or not.
uallo · 34d ago
You may be able to debug it with https://github.com/mozilla/readability
throwanem · 34d ago
Readability's heuristic is intentionally opaque as a defense against targeting by advertisers and others who abuse the web.
Retr0id · 34d ago
I can understand making it difficult for a webpage to "opt out" of reader mode, but why make it hard for willing developers to "opt in"?
throwanem · 34d ago
That would require exposing Readability in the web API.
xnorswap · 34d ago
Why not just always show it?
throwanem · 34d ago
You can configure that as a default in Safari, and manually opt sites out to allow them to render normally; I use the setting on iOS and have for years.

I think Firefox requires an extension (vendoring Readability.js) to behave similarly, since it doesn't expose its built-in version even to extension developers. (I don't think that's even part of the manifest spec.) I've never wanted the behavior on a desktop browser, though, so don't take my word for it; it's been probably most of a decade since I looked.

The intention behind Readability's introduction was that it remain a feature entirely and only under control of the user. So far as I'm aware, those browsers implementing the capability have honored that intent, as has W3C.

xnorswap · 34d ago
I'm not asking for default loading sites into readability mode, just that the button to load a site in readability mode isn't arbitrarily hidden.

I don't understand how hiding a button is "giving users control". Wouldn't it be under more control of the user to always have the button to load in reader mode available?

throwanem · 33d ago
Oh, I see what you mean. The option is surfaced where a page has "enough" text according to Readability's heuristic. Where absent, it wouldn't be able to do anything useful anyway. (It is doing something a lot more sophisticated than just document.write(Array.from(document.querySelectorAll('')).map(({ innerText }) => `<p>${innerText}</p>`).join()).)

I can't really speak to the details of that heuristic this decade, but I believe an early version of Mozilla's reader-mode implementation (maybe also the basis for others) still to be available on Github under the name "Readability.js", which should provide a suitable reference implementation for further review. (This is also why I keep calling it "Readability;" that was the name it wore when we met.) I assume a current version is also available in the Firefox source.

iOS Safari's implementation is always available, even when the "Show Reader" menu option is grayed out, the equivalent of Firefox hiding the button: long-press the "aA" context-menu icon in the URL bar. But if the page can't be rendered usefully in reader mode, all that will happen is the regular haptic to tell you the system recognized your input.

frizlab · 34d ago
Reader works in Safari
InMice · 34d ago
You don't need to swear at me about it, thanks.
Tade0 · 34d ago
I think this style of writing tries to emulate what passed as "cool" in the early 2010s or so.

Matthew Inman of "The Oatmeal" is to me a leading representative of it.

throwanem · 34d ago
It's an extremely intentional and all but plagiaristic take on a Zed Shaw piece from the late oughts. Tastelessly slavish imitation, at absolute minimum. At least the original is linked in tiny print at the bottom, below the advertisement.
Tade0 · 34d ago
Ah, of course, how could I forget the pioneer of this style in tech and his work?

I didn't notice that link as I found the Telebugs ad off-putting and closed the tab.

I believe he mellowed out since.

throwanem · 34d ago
A great deal, I hear, but he was young then too, and deeply frustrated with a poisonous Boston in-crowd. The methylphenidate style has not come back into vogue in the meanwhile, no more than Rails ever has or will.
incoming1211 · 33d ago
Boo fucking hoo. You wouldn't survive long in Australia or New Zealand where swearing is common in the work place.
reconnecting · 34d ago
We made tirreno website [1] with only HTML 4.01 and 1 transparent pixel, no CSS or JS. Works well on any device. Easy to update. Highly recommended.

[1] https://www.tirreno.com/

bambax · 34d ago
| <font size="5" face="Helvetica">Monitor and protect your web app from cyberfraud, account threats, bots and abuse with a single security platform.</font>

Sure but how is this better than setting up the font in CSS? There may be an advantage to not having an external CSS file, but setting up CSS rules inside the HTML file works perfectly well and is much more maintainable than this IMHO.

reconnecting · 34d ago
The short answer: Because anyone can do this using in-line or in-file CSS.

The long answer: Technologies are a blend of humans and machines. Typing HTML code by yourself, especially in 2025, gives another level of meaning and human touch. It's more like modern art in some way.

kelas · 33d ago
Hard to disagree on the last part, but hand-coding HTML4 for food in 2025 is not the answer. First, it will look horrible. Second, if will look even more horrible on mobiles, which are first.

Third, if you're really determined to go piedi nudi nel parco in a modern browser, why not abandon HTML4 as well, and the dreaded 1-pixel along with it?

Just escape everything altogether, and you'll be fine. Avoid HTML5, CSS, WOFF, Canvas, and all other dreadfully slow and bug-ridden APIs. You'll be fine, take my word for it. All you need, really, is unobstructed access to target GPU, which will be orders of magnitude faster than all API bs and still do more than HTML4 ever could. For one example, can you figure out how the following page manages to render an HTML page with Garamond Math on it without loading any Garamond Math to begin with and no HTML to write home about? Network tab is a good start:

https://kel.as

Buckle up and enjoy the ride.

reconnecting · 33d ago
The ultimate irony of the moment is that you're typing this exact comment on a webpage that contains the following code:

<table border='0'> <tr> <td class='ind' indent='0'> <img src="s.gif" height="1" width="0"> </td>

Mashimo · 34d ago
Might be art, might be fun. But you also claimed it's easy to update.

But now you have to write <font size="5" face="Helvetica"> every time you create another one of those elements.

And if you want to change the font you would need to search and replace in different .html files.

It does not seem easy to update.

reconnecting · 34d ago
Easy to update means you only need a text editor and source code to maintain it.

Regarding the effort to write `<font size="5" face="Helvetica">` (I'm just typing this again), it's fairly easy, and taking into account the meaning of the text inside those tags, it is worth spending the time for typing.

28304283409234 · 33d ago
Easy as in 'you do not need to shave a yack, just open a text editor'. As opposed to "install node, sass, webpack, vuex, tailwind" or what have you nowadays.

I like that. Few or no dependencies.

wartijn_ · 33d ago
But the same can be achieved by using css. Then there's still nothing to install, and it's still something you can change by just opening a text editor. Plus it would be easy to update in the sense your parent poster meant. And with css you're using the right tools to style your website, so you won't have people complaining the website isn't working well on mobile, although you thought it would be.

I'm all for using simple tools and web standards, but this website with its layout build with tables is a terrible example.

reconnecting · 33d ago
Just for fun, I tried opening the tirreno website on the first iPhone now, and it works as it should.

However, it must be clear that no one expects this website to be taken as an example. Back in the day, there was no other solution than using tables and 1px gif spacing, this is just a reminder of how things were at the beginning.

It’s like seeing neon gas advertising and insisting it should be made with a flat screen display. In this case, it’s our way of bringing back neon to the web.

kelas · 33d ago
No, brother - a neon tube requires at least a 4kV transformer, she's not so easy going. And in 2025 there are still absolutely valid use cases for CRT oscilloscopes, lamp amplifiers, LPs and Compact Cassettes, if you're old enough to know what those things are. But arithmometers are only useful to have fun under influence, sorry. Don't be a luddite.

A modern web browser, on the other hand, is the closest the humanity ever got to building a tower of Babylon, which is very easy to see by spending a few hours exploring how the Chromium sausage is made. I'm not aware of any worse codebase out there in the wild, and it is definitely not glowing neon.

On yet another hand, there are good news - it is just a matter of time when DOM API will get properly exposed to WASM VM, and on that sunny day all script kiddies, along with nodejs kiddies, along with endless pythonista will finally and traumatically learn the difference between the definitions of "computer programmer" and "software developer".

The day will come, and computer programming will again be art and full of fun.

You always get back to the basics, they say. But the road is long and full of sticks and stones, just like a false sheperd called 1-pixel gif. That's not yet the art of programming, sorry.

And btw I fully support HN for flagging this post. The quality of writing there is as silly as it is obnoxious.

reconnecting · 33d ago
There is nothing about luddism here. We had a choice: to create a standard modern website, as everyone does these days, or to try something slightly different. The team chose a non-standard approach. To an external observer, such as our banker, it looks absolutely normal. However, if some CTO veteran were to delve into the code and encounter HTML tags that they haven't seen in the last 25 years, they might experience some sentimental or ironic feelings, but in any case, no one gets hurt. Luckily, the <bgsound> tag is no longer supported.

What these web page experiments actually prove is that there are people in the industry who either don’t know or have forgotten what a real HTML page without JS/CSS frameworks looks like. For those, it might be beneficial to discover how things were done at the beginning.

Thanks for mentioning the art. This is something that couldn't be done alone, as it requires both a creator and a spectator. From this perspective, feeling that this HTML web page has an influence on a different audience is exactly what modern art (not to be confused with programming art) is about.

P.S. I am not associated with the original post above.

pfg_ · 34d ago
It's super zoomed out on my phone, it doesn't have a mobile viewport. And if you do want to read text, you have to zoom in more than the width of the full page so you have to constantly scroll left and right.
noisem4ker · 34d ago
This is a failure or regression of mobile browsers. We once had automatic line wrapping (Opera Mobile did it best back in its Presto engine days) which provided readable size paragraphs and avoided the need for horizontal scrolling. The onus of adapting the presentation to the medium shifted to the websites, while browsers lost agency.
Gualdrapo · 33d ago
I'd like to see how that worked. In my mind I'd guess such a feature could have been great for one column layouts, like in this website, but I can't imagine how it would be for the then-traditional layouts of a left sidebar navigation column and a right area for content.
noisem4ker · 33d ago
Page starts zoomed out. Each element is limited in width. Double tapping on an element (e.g. a paragraph) zooms in on said element, making it full width. Further zooming in causes the text to reflow to the viewport width. It's difficult to describe, but it used to work fine.
Etheryte · 34d ago
Impossible to read on mobile unless you pinch zoom way in and then pan back and forth across the page. A bit bold to say that it works well.
reconnecting · 34d ago
Interesting, as the webpage has a viewport meta tag.

May I ask what your phone model is?

uallo · 34d ago

    <meta name="viewport" content="width=800, initial-scale=0">
This sets the width to a mininum of 800px, no matter what phone model or browser you use. I'm a little confused how you can can claim this "Works well on any device" when apparently it was not tested on a phone. I, too, closed the tab before I even had a chance to learn about your product.

Update: Not OP, but I'm on a Pixel 8a with Firefox.

reconnecting · 33d ago
This is a software website, and we don't expect many visitors from mobile devices. However, I'll check if this issue can be resolved without using CSS.

Thanks for letting me know.

Etheryte · 33d ago
I think this is a classic case of familiarity blind spot. It's easy to think of your users as people similar to you, but that's not necessarily the case. Statistically mobile phone users outnumber non-mobile users online nearly two to one, some statistics put the estimate even higher.
reconnecting · 33d ago
This is a misleading reference to statistics without context. It's not a B2C website, and in fact, most of our audience accesses it from Linux devices rather than mobile Firefox.

Anyway, even if someone does visit using mobile Firefox, it only takes one zoom-in/ zoom-out to adjust. So it's not really a webpage code issue, it's more about how Firefox renders pages on mobile devices.

Etheryte · 33d ago
This whole interaction is weird to me. Multiple commentators here have confirmed that your site is broken due to a, let say, somewhat unorthodox technical choice you've made. Rather than fix it, which would've probably taken less time than the thread here, you're trying to convince everyone else that they're holding it wrong. As an aside, it's not surprising that nearly none of your users access your webpage from mobile when it's broken on mobile.
lcnPylGDnU4H9OF · 33d ago
> As an aside, it's not surprising that nearly none of your users access your webpage from mobile when it's broken on mobile.

I doubt their lower mobile visitor numbers are due to the UX on mobile. They may have a lower conversion rate from mobile visitors but it sounds like people don’t visit much on their phones. A given user won’t know it’s broken on mobile before loading the page on mobile.

Additionally, it is a marketing page for a B2B SaaS for web application security. With that context, only if they said anything other than “most of our audience accesses it from Linux devices” I would have reason to think they’re lying. I get the feeling that their business isn’t hurting for mobile users. (When I visited on my phone I figured it’s pointless unless I’m on something with a real keyboard once I saw what’s on offer.)

reconnecting · 33d ago
It is not broken on mobile. There is simply nothing to be broken.

What commenters above are probably suggesting is that there is no adaptive version for mobile, but no one had promised one.

One small, but important correction, it's a B2B on-prem web application, and this is exactly the reason why any devices except those that can run the web server itself are not the target audience.

reconnecting · 33d ago
Likewise. It works great on all [1] my mobile devices.

[1] https://www.tirreno.com/news-phone.jpg

uallo · 33d ago
> Anyway, even if someone does visit using mobile Firefox, it only takes one zoom-in/ zoom-out to adjust. So it's not really a webpage code issue, it's more about how Firefox renders pages on mobile devices.

No, it requires constant zooming and panning to be able read anything. And this has nothing to do with Firefox, Chrome and other browsers behave exactly the same. It is absolutely an issue with your website.

reconnecting · 33d ago
It works great [1] on my mobile device.

[1] https://www.tirreno.com/news-screenshot.jpg

reconnecting · 34d ago
It has been tested and works well on various devices, including phones, which is why I’m kindly asking for your exact device model.
Mashimo · 34d ago
> Easy to update.

How does updating the font or color work? Search and replace on multiple HTML files?

bdcravens · 34d ago
I have no idea if this is satire, or if you're a younger developer who "found" the techniques we ran away from screaming 20 years ago.

    <table border="0" width="720" cellpadding="0" cellspacing="0" align="center">

    <td height="1" width="100%" bgcolor="#575677">
        <img src="spacer.gif" alt="" width="1" height="1" border="0">
    </td>
I feel like CSS is unfairly coupled to JS frameworks. It may be reasonable to say that CSS 3 is unnecessarily complex, but clean "semantic" HTML and a basic presentational style sheet is an amazing combination that isn't related to the ball of mud that modern development has become.
reconnecting · 34d ago
The idea to make a website without CSS/JS came to me when I was picking up my mechanical watch from the watchmaker. He used some analog machines to calibrate the movement, and it gave me a sense of trustworthiness that I want to convey through tirreno website.
bradly · 34d ago
Nice! I'm working on a private Recipe bookmarking site that currently has no JavaScript and minimal CSS.

https://github.com/bradly/recipin

reconnecting · 34d ago
It's says 'Your browser is not supported. Please upgrade your browser to continue.'
bradly · 33d ago
Thank you. That is a bug and I will investigate. CloudFlare does inject JS into the outgoing HTML for email address obfuscation in the footer. I may need to remove that.
reconnecting · 33d ago
When I took my first full time webdev job (23 years ago), our company had always used outdated browsers because it helped to prevent bugs earlier.

Time flies, but I'm still not on the latest browser, and it helps a lot.

martibravo · 33d ago
Nice commit emojis
bradly · 32d ago
Thank you! It is inspired by this artwork by Jimi Biscuits https://www.jimibiscuits.com/product/mood-juggler-letterpres...
gullevek · 33d ago
Doesn't work with any mobile phone. So what is the point in this?
reconnecting · 33d ago
May I ask whether you see something shows in the devices below [1]? Or the page not loading at all, completely blank, or displaying a broken layout?

[1] https://www.tirreno.com/news-phone.jpg

mdaniel · 34d ago
Sponsored content via a justfucking website. Bold move

Anyway, I am firmly in the "self-hosting modern Sentry is crazypants" camp, but https://telebugs.com/alternatives/glitchtip reads like a hit piece, and not a serious "but, why?"

I'll keep my Rails commentary to myself

kyrylo · 34d ago
It's not sponsored. I'm the author of both sites :)
throwanem · 34d ago
Yes. You are the sponsor of this sponsored commercial message.
cbeach · 34d ago
Cleaning out the wordy, "oh so edgy" embellishment (probably authored by AI, ironically), here's a ChatGPT summary:

HTML is simpler, faster, and more reliable The author rails against “bloated, over-engineered” JavaScript frameworks and build tools, pointing out that plain HTML loads instantly and “just fucking works” without constant updates or breaking changes

Frameworks add needless complexity and cost You don’t need to manage hundreds of dependencies, CI/CD pipelines, hydration errors or “tree-shaking” when all you really want is a button or a bit of text. HTML has done this flawlessly for decades

Native browser features handle interactivity Modern HTML alone supports expandable sections (<details>/<summary>), native dialogs, form controls of every kind (date pickers, sliders, color inputs, file uploads), and even creates global JS variables from element IDs—no framework required

Deployment is trivial “Just drag, drop, and you’re done.” No container orchestration, no multi-step build process, no DevOps magic - HTML is ready to serve straight from any web server

Universality and longevity Everyone “knows HTML” - from your grandparents’ wartime hand-coded tables to your dog’s Fiverr gig. It’s been powering the web since the beginning and will outlast any trendy framework

A call to rethink our tooling addiction With AI able to spit out pixel-perfect HTML in seconds, clinging to heavy frameworks is framed as an outdated habit. The author challenges readers: stop overengineering and embrace the elegance of raw HTML

Retr0id · 34d ago
What percentage of this was written by an LLM? (Asking out of genuine curiosity, parts of it are triggering my LLM-detector while others feel human)
tim333 · 33d ago
Dunno. This seems to be the author https://x.com/kyrylosilin/status/1921935471292141974
sam_lowry_ · 33d ago
I would have added a section about tab index.

Tab indices is lost sacred knowledge.

Places like GitHub, GitLab and even Zed homepage break Vimium by adding "shortcuts" without even thinking to implement proper tab indices.

kyrylo · 34d ago
Stop reinventing the wheel. The web was doing just fine before your bloated frameworks crawled out of the sewer.
nartho · 34d ago
This link has been posted a million times, and I'm always surprised by the reactions. Yes, for anything that is data driven, plain HTML is great. Maybe sprinkle some markdown on top of it but that's all you really need.

But is that the only use for the web ? Are we pretending that the internet is only a collection of articles ? How do you end up with Figma, Soundation or Tinkercad with just plain html ?

No you (probably) don't need nextjs with greensocks for your blog, but there are valid reasons why fancy frameworks or javascript might be needed. I think saying that plain HTML is all you need is as silly as saying that you should always use the latest framework in your project.

obsolete_wagie · 34d ago
"AI's out here, a gift from the heavens (or at least from Sam Altman's nerd fortress) ready to write your shitty little to-do app in five seconds flat. It can churn out pixel-perfect HTML, debug your fuck-ups, and probably even wipe your ass if you ask nicely. But no, you're still humping your frameworks like they're the last lifeboat on the Titanic."

Personal opinion is that AI will reduce the need for higher abstraction software libraries. ORMs for instance could go away. We will see wildly different software paradigms as the need for human understanding drops

ratorx · 34d ago
I don’t think it’s quite that simple. Taken to the logical extreme, everything above pure machine code is “abstraction”, but I don’t expect AIs to produce good machine code any time soon.

Even if you consider trainability (amount of code etc), Python is a higher abstraction than C and I don’t see that going away either.

A more nuanced view is that libraries that exist to reduce boilerplate will likely see less use, whereas libraries that exist to simplify a problem domain or similar (automatic memory management language, crypto libraries, parallelisation abstractions) will stay, at least whilst we are relying on humans to review AI generated code.

woodrowbarlow · 34d ago
i'm not sure i agree. maybe if you're "vibe-coding", but not if you're using AI as an assistant. a good abstraction makes it hard to write bugs, so telling AI to use a certain library (which i know to be high quality) is a good way to constrain the types of bugs i have to look for when reviewing the code.
obsolete_wagie · 34d ago
once AI reaches a certain level of accuracy, it will seem foolish to make it use abstractions built for humans
garylkz · 34d ago
and once the "accurate" AI accidentally wrote bugs, it will seem even more foolish for humans to debug the binaries built by AI.
daxfohl · 34d ago
Or it could make abstractions even more important and useful. If it's able to identify common but nuanced patterns across the entirety of github, it could build libraries and frameworks that satisfy them. Then it would fine tune itself based on those tools, and start using those abstractions going forward.

That would improve the consistency and reduce the complexity of software everywhere in a way that gaggles of human engineers across thousands of computers never could.

It would be beneficial for the AI too, as the fewer things it has to keep track of, the more efficiently and accurately it will be able to generate correct applications on top of it. This would cut costs, hallucinations, and allow smaller local models to perform better.

dsego · 34d ago
> Personal opinion is that AI will reduce the need for higher abstraction software libraries.

I'm not sure we should be excited by that. Instead of building more powerful high level abstractions we're giving up and hope to build better software by churning out tons of one-off spaghetti code.

obsolete_wagie · 34d ago
this negativity around ai software is misplaced, and will be on the wrong side of history. the trend is ai built software that will be better than human built. vibe coding is just early adoption
netdevphoenix · 34d ago
> We will see wildly different software paradigms as the need for human understanding drops

Isn't an LLM basically another abstraction layer? Unlike React or EF Core, it can talk back

obsolete_wagie · 34d ago
I think of LLMs as a compiler of language into code, it can generate lower level code than we would normally build
netdevphoenix · 33d ago
Makes sense
mrkeen · 34d ago
LLMs reinforce what the majority is already doing, because that's what it's trained on. I'd like ORMs to go away but LLMs aren't going to do that.
obsolete_wagie · 34d ago
its more fundamental than this, ai can certainly take an orm and replace it with generated sql. it can do the same for react components into html (still early days for this though).
JKCalhoun · 34d ago
I could live with it ... if only there was a significant left margin.
lostmsu · 33d ago
Some paragraphing wouldn't hurt either.
baal80spam · 34d ago
I loved web 1.0, but try to sell it to a customer.
bdcravens · 34d ago
Unfortunately many sites are little more than web 1.0 inflated with a consulting boondoggle.
graemep · 34d ago
You can sell HTML plus CSS in many cases.
simonw · 34d ago
TIL (from "Choose a week to question all your life choices") about:

  <input type="week">
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

Weird that it's supported by mobile Safari but not desktop Safari (according to the support table). And not in Firefox yet.

wcoenen · 34d ago
Note that these are ISO 8601 weeks, which may not match the expectations of users everywhere. E.g. the US has a different system.

https://en.wikipedia.org/wiki/Week#Other_week_numbering_syst...

jeroenhd · 34d ago
Same is true on Firefox: works fine on mobile, but doesn't work at all on desktop. Especially weird as the mobile week picker is just a date picker that ignores the picked day and returns a week it seems; surely the same could've been implemented for desktop.
daft_pink · 33d ago
why is this flagged. it’s f’ing awesome
spudlyo · 34d ago
Even in a humorous context, cursing and insults land much better if they're used more sparingly. At some point in the essay they became distracting, and by the end I found them tiring.
ninetyninenine · 34d ago
I wish html would just look good from the get go.
keyringlight · 34d ago
How much of that is down to browser bare-bones defaults before the page defines its own styles, IIRC bare HTML doesn't define what the client must do because at that level it's not defining a presentation.

I could see a browser making a change to have their defaults for an undefined style to something else, other colors and fonts or closer to reader mode, with an options toggle or flag to restore old behavior. I doubt many browsers would bother as unstyled pages are so rare for most of the web.

DaSHacka · 34d ago
Theoretically if pure-HTML documents without CSS/JS got more common, end-users could just apply ther own 'themes' to HTML documents through their browser.
squidbeak · 34d ago
"HTML needs to require bigger CSS resets."
cadamsdotcom · 33d ago
We have great base tech on the web because people loved it when it was part of a trendy js framework, and wanted it in the base platform.

If the web wasn’t so amenable to frameworks & polyfills HTML wouldn’t have gained all the nice things in HTML5. We can be grateful for the explosion of ideas & the standards process that (mostly) keeps the best ones.

prakashn27 · 33d ago
Too much swearing and I lost the context midway
fithisux · 34d ago
I love it. A million thumbs ups.

I am a data engineer and coming from scientific background.

And guess what works most of the time, the simplest (not naive or buggy) solution to your problem that takes into account the human factor, the consumer of your solution. That poor being currently being ousted from the binary garden of Eden by AI cops.

saghul · 33d ago
Ha, nice! I created a little static site generator inspired by this "brutalist" style, in order to learn some Swift: https://github.com/saghul/brutalist-blog-generator
throwanem · 34d ago
Yeah, I remember Zed in 2009. Do you think no one else does? What an embarrassing way to advertise.
drgo · 34d ago
Did not work on me. I have never used a web framework, but now I want to use one just out of spite.
danhau · 34d ago
Wow, I had no idea elements with an id attribute are directly accessible in JS.

Combine this with Pico CSS or one of those minimal stylesheets (Water.css) to get better typography and spacing and you‘re set.

I guess htmx is the extreme version of this no-framework philosophy… kinda.

throwanem · 34d ago
Wait, this actually says to use the implicit ID mapping on the global object? That hasn't been good advice since about 1999!

edit: I checked and wow, it really does. Good grief, did an AI write this? Use getElementById or querySelector or querySelectorAll or any other remotely modern web API method instead.

gimboland · 33d ago
Genuinely curious (as someone who didn't know about the implicit ID mapping until today): given that IDs are global, why is doing this any worse (or in any way different) to using getElementById? I.e. why is it bad advice?
throwanem · 32d ago
This SO answer does a good job covering the reasons why, or all the reasons at least that I recall learning it was a bad idea. There may be more, but I'd probably have to go spec diving to find them.

Offhand these days I would expect asynchronous loading and rendering both to pose additional concerns. You may not be able even to guarantee whether or not the element you're trying to reference by ID exists at the time of reference. Oh, you can synchronize on DOMContentLoaded or something like that, but that's not going to do anything good for performance. And for that matter, you'd probably have to toggle a TypeScript compiler option I've never heard of, to get this sort of thing to even sort of fly - and there again, the API methods dating from this millennium will be mostly the ones where the type system is able to offer some guarantees.

https://stackoverflow.com/a/24606307

joquarky · 33d ago
IE started this. Now IE is gone and we will remain stuck with it forever.
throwanem · 33d ago
"Stuck?" I think it's marvelous.
raspyberr · 32d ago
I would like this if it actually stuck to its own philosophy but for some crazy reason just HTML needs googletag manager and telebugs to look after it. Webdevs just can't leave shit alone can they?
icameron · 34d ago
* Except in email clients.

No comments yet

bgro · 34d ago
What if instead of just using html, instead we use 20 JavaScript frameworks that talk to an electron server to call a series of microservices to determine which sql lite docker instance to call.

Then, sql lite returns a connection string to aws to pull XML containers of html that are converted to JSON and sent back to the front end to convert to html and render the page.

Maybe we can use lazy loading and some sliding panels on the page that slide in with fully rendered bmp images that are 20MB each despite only appearing in a 16x16 icon.

Oh darn this is just the standard webdev JavaScript bro tech flow? Guess I need to keep memorizing leetcode until I get my next genius JavaScript main idea to add another layer to this.

iammrpayments · 34d ago
Unfortunately there is a lot of stuff that can’t match accessibility standards without javascript (e.g. combobox).

If you use a framework it’s much easier to implement these components.

namegulf · 32d ago
That's a good reset.

With Web UI's bloated with frameworks, large CSS, crazy javascript, etc...

Go back to basics the way HTML is intended, simple and fast!

senfiaj · 31d ago
He still used inline styles a couple of times. He also uses the Google Analytics script.
c03 · 34d ago
Fuck I hate this moronic regressionist mindset. If your project is too insignificant to benefit from a framework, then just don't use it? It has nothing to do with the technology, but everything to do with your piece of shit usecase.
000ooo000 · 34d ago
Relax, it's just some 24yo edgelord discovering a world exists outside what they learned at React Bootcamp and turning against The Frameworks to feel clever.
ValveFan6969 · 33d ago
For those that missed it: the author overzealously uses swear words as a form of comedy.
incoming1211 · 33d ago
So some lefty tool got his nickers in a twist and flagged this. Wow.
tiahura · 34d ago
The month picker doesn't function in FF 138.0.1 win64.
bayindirh · 34d ago
It's working in FF 138.0.1 in Linux. Official Mozilla Build.
criddell · 34d ago
And the time picker has alignment issues on Chrome.
groby_b · 34d ago
While there are some valid points hiding deep in the sewage flowing across the page, it also misses a core point: The web (HTML/CSS/JS) is by now good enough to make actually decent UI that doesn't look like it's escaped from the 90s and is holding Geocities hostage.

As is, the page mostly screams "I don't want to learn anything new".

ksymph · 34d ago
Yeah, if the point they're making is that you can make modern websites with just HTML, the website looking as it does really undermines that. Show off some flair if you want to convince me! I think the site this one is based off [0] argues for simplicity in a much less muddled way.

[0] https://motherfuckingwebsite.com/

radar1310 · 34d ago
He or she needs to wash their mouth out with some soap.
camcil · 34d ago
The complexity justifies the salary.
1970-01-01 · 34d ago
The raw ugliness of their site is reasonable cause to do the exact opposite.
ryandrake · 34d ago
The site is beautiful in that it is fast, flexible across multiple screen shapes, readable, and accessible. If only more web sites would make these choices!
1970-01-01 · 34d ago
Back when monitors were 4:3 at 640x480, these plain HTML sites were readable and scrollable. It is 2025. Our ultrawide, ultrasmall, ultraresoultion screens make this a chore to read without playing with zoom levels.
ryandrake · 33d ago
What’s a real chore to read are all those “modern” sites with dark gray text on light gray background, 8pt font, and text constrained to a tiny 4inch wide column in the middle of the monitor. The fact that browsers had to all go implement a separate “reader mode” so that web sites can even be readable again is damning.
smitty1e · 33d ago
Tarantino wept.
LetsGetTechnicl · 34d ago
I mean yeah I guess, but does this person really think people carry groceries in Gucci bags?
brvier · 33d ago
Why flagged ?
ratatoskrt · 34d ago
Why does this feel like an LLM's attempt at satire?
criddell · 34d ago
> Just fucking use HTML. I shit you not, it actually looks good

It can look good.

cheschire · 34d ago
I’m not entirely sure this form of satire lands the same way it used to now that screaming and insults are considered a normal form of discourse, especially in TV politics.
untrust · 34d ago
This form of banter reminds me of Maddox from the early 2000s, which funnily enough is still active at https://maddox.xmission.com/

I agree its relatively played out at this point. Really this page is just a showcase of HTML features for web developers who don't have much experience with HTML, and I think the insulting attitude and comedic approach may hold reader's interest than a more dry technical presentation of the content.

No comments yet

rad_gruchalski · 34d ago
> Hey, dipshit!

I couldn’t care less but… good luck convincing people with this attitude.

vicnov · 34d ago
https://en.wikipedia.org/wiki/Poe%27s_law

“without a clear indicator of the author's intent, any parodic or sarcastic expression of extreme views can be mistaken by some readers for a sincere expression of those views”

Philpax · 34d ago
miek · 34d ago
and all of this reminds me of the ancient maddox.xmission.com , which.. wow he was still updating in the 2020s
doublerabbit · 33d ago
He did a few YouTube videos too back when YouTube was YouTube.
kyrylo · 34d ago
Correct! The footer includes a link to the first one
rad_gruchalski · 34d ago
I see a “Hey, dipshit”, I press back button, not look for a footer.
kyrylo · 34d ago
Not for everyone, I get it. Just move along.
rad_gruchalski · 34d ago
If you have to explain your joke, it didn’t work.
throwaway150 · 34d ago
I'm not sure that your inability to recognize satire is something worth broadcasting here. It's not something to be proud of.
rad_gruchalski · 34d ago
We certainly have a different sense of humour. For some waving a dick in public is called humour. Thanks for a compliment.

No comments yet

ninetyninenine · 34d ago
I think some people who really centered their lives and careers around doing the opposite of what this website says can’t see the humor in it.
rad_gruchalski · 34d ago
I think you need to stop telling people what you think. There is a risk you might be wrong and you come across as ignorant. Case in point: I didn’t build my career around front end technologies. Frankly, I am certain you have no clue what I do.

Don’t bend yourself backwards over it. All I’m saying is: if your sense of humour is repulsive, good luck. If it’s a satirical thing, give me a clue.

ninetyninenine · 33d ago
I think I’m right. That’s why you’re so offended. It hit a nerve.
rad_gruchalski · 33d ago
Think whatever you want to think.
ninetyninenine · 33d ago
It’s not about what I want. It’s about what’s fact or fiction in the face of possible lies.

I think you’re lying because you’re so offended. It hit a nerve. Whatever made your career front end react certainly seems like a big part of it.

rad_gruchalski · 33d ago
You’re making stuff up. You should try your luck as a non sci-fi writer. Thanks for your psychoanalysis. Don’t think too much. It doesn’t seem to work anyway…

You have your answers at the fingertips and yet you choose to make shit up. Like I thought, you’re an ignorant person who has a desire to judge others. You do live in a bubble, indeed.

ninetyninenine · 32d ago
I'm not making shit up. I'm making a guess. I think I'm right, and i think you're being dishonest about it.
Handler9246 · 33d ago
> If it's a satirical thing, give me a clue.

People like you are fascinating

pier25 · 34d ago
It's satire...
ninetyninenine · 34d ago
This is non fiction, not satire.
lerp-io · 34d ago
another monday, another js framework debate shitpost.
AlecSwanky · 34d ago
funny
roschdal · 34d ago
Yes. Just use HTML.
drannex · 34d ago
this is the best version of any of these I've seen over the years.

and if anyones lame fucking corpo filter guard catches this, then let them catch these archived hands: https://web.archive.org/web/20250512141449/https://justfucki...

No comments yet