Hi, sorry to be that guys, I just wanted to make some corrections on what you call your app a "plain html file". Your HTML file loads:
- react app - pwa manifest - tailwind css
This is not at all a "plain html" file.
Hi, sorry to be that guys, I just wanted to make some corrections on what you call your app a "plain html file". Your HTML file loads:
- react app - pwa manifest - tailwind css
This is not at all a "plain html" file.
One small html file, and half a megabyte of CSS and Javascript framework... oh and the html file contains 800 lines of additional Javascript.
is plain html different from single HTML? Because it is a single HTML that you can "Save as" and have one html with the working app.
In my opinion this can't even be labeled as a single HTML file, because it loads external files to complete the app. But back to the question, a "plain html" file doesn't load any external resources and is usually semantically described.
Agreed - which is disappointing.
My firewall shows blocked connections to cdn.tailwindcss.com and unpkg.com
Candid question: why do you block those?
One word answer - security.
Any website you visit could have been compromised and serving malicious content. Upon first visit to a website, I block all connections to domains not in the address bar, then go back in and add rules to allow connections as needed. It doesn't address malicious activity by the site directly, like a server compromise, but does limit non-addressed connections, including ones to local addresses.
For example, a compromise of .google.com which leveraged assets/code from .googleusercontent.com wouldn't initially be able to run, unless I added a rule to allow the connection. Likewise, a compromise of *.discord.com that made a connection to localhost:8983, then tried to send that data to someserver.ru would get blocked and logged. Where this can't protect me is if the server sends the mined data back to itself, then forwards that data on using its own connection.
Ad networks sell to anyone. Malicious content can be injected almost anywhere. Its happened before; it'll happen again. This web browsing hygiene has protected me enough times for me to make it my standard practice.
Centralised assets beget cross-domain fingerprinting and tracking. The extension DecentralEyes tackles precisely this problem.
When people talk about a single plain HTML file, it implies that all markup and code is contained in the file and no libraries are being used
No it doesn't
Yes it does
If you can run the app without any other files and without internet then it’s plain and a single file.
I have a "plain Python file" that only imports TensorFlow.
Plain html is just html, no JS or CSS. This is my purist non-web dev take.
No way you get this with plain HTML, post title is deceptive to the core.
I bet $10 that it’s vibecoded, and it’s such a dirt simple calculator that perhaps it was even done with a single prompt.
The AI just picked react because that’s the most common framework.
That's the first thing I thought when opening it. Sure looks like a "make me an app" response that Claude would output.
I mean nothing wrong with that, I needed a silly calculator thingimabob too yesterday (for some CRC checks on a piece of text) and Claude quickly cooked something up for me.
But I'm not writing blog posts about it, releasing the tool in the wild, and claiming I wrote it. Blegh.
There’s definitely nothing wrong with it normally but then like you said it’s got the blog post and the project basically clones every calculator out there that already exists.
This type of calculator is so common you can even find one on an official US government website.
https://www.investor.gov/financial-tools-calculators/calcula...
Why apologize and do it instead of not do it and no apologize?
Pedantry earns upvotes like bread beggars butter. I don't blame them.
[flagged]
It's a valid point lol. "A single html file" for me is a Ciechanowski page, not something that needs many gigabytes of bloat to compile.
You are that guy. It was obvious that he built some interactive app packaged in a single html file. There's going to be javascript and stuff in there...doah.
EDIT: I wouldn't have expected external dependencies, though.