Software is in a constant state of revolution and counter-revolution. It’s one of the things that keeps this job interesting.
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.
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.
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
I frequent subreddits where AI use is super common and the vibe is always the same.
Says he majored in journalism which maybe explains a more literate style that engineers take to be llm?
And no, I don’t think the content is good and meaningful in 99% of the cases.
( Edit: Browsing to https://justfuckingusehtml.com/index.html shows the reader button, I guess Firefox has a really dumb heuristic for when it shows. )
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.
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?
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.
Matthew Inman of "The Oatmeal" is to me a leading representative of it.
I didn't notice that link as I found the Telebugs ad off-putting and closed the tab.
I believe he mellowed out since.
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.
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.
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:
Buckle up and enjoy the ride.
<table border='0'> <tr> <td class='ind' indent='0'> <img src="s.gif" height="1" width="0"> </td>
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.
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.
I like that. Few or no dependencies.
I'm all for using simple tools and web standards, but this website with its layout build with tables is a terrible example.
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.
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.
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.
May I ask what your phone model is?
<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.
Thanks for letting me know.
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.
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.)
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.
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.
How does updating the font or color work? Search and replace on multiple HTML files?
<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.Time flies, but I'm still not on the latest browser, and it helps a lot.
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
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
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.
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.
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
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.
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.
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.
Isn't an LLM basically another abstraction layer? Unlike React or EF Core, it can talk back
<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.
https://en.wikipedia.org/wiki/Week#Other_week_numbering_syst...
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.
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.
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.
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.
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.
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.
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.
If you use a framework it’s much easier to implement these components.
With Web UI's bloated with frameworks, large CSS, crazy javascript, etc...
Go back to basics the way HTML is intended, simple and fast!
As is, the page mostly screams "I don't want to learn anything new".
It can look good.
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.
I couldn’t care less but… good luck convincing people with this attitude.
“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”
[0]: https://motherfuckingwebsite.com/
[1]: http://bettermotherfuckingwebsite.com/
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.
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.
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.
People like you are fascinating
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...