lobsters score: 8 · tags: networking, web
I don’t like it. The javascript is completely unnecessary, and imo just makes the page distracting. example.com used to be a super simple page that I would load to make sure my internet was working, and now it feels much more heavy (even if the JS is small, the animation and language changes bug me).
score 1 · canonical
I think this is a great change. At least it recognizes there are more languages than just English :)
score 1 · canonical
Oh… Huh. I’ve been using http://example.com/ a lot lately, purely out of laziness, because I’ve been working with URI Text Fragments and the MDN docs link to example.com in the example. Playing with the fragment in that example URL and seeing how the browser responds has been a convenient way to probe the browser implementation.
In some ways, this is a good example of the utility of Text Fragments — the HTML is completely different now, and the text has changed, but the word “use” is still linked to successfully by the example URL. Also, it’s kind of annoying, because now you only have 5 seconds to evaluate how the browser resolved your text fragment before the whole block of text is replaced by another language. Obviously it’s not on IANA to preserve this use case in any way, but I wonder if MDN will update its example URL…
score 1 · canonical
Huh. I visited example.com literally just a couple days ago, for the first time in many years, and was like “oh I guess they updated it from what I remember, I wonder when that happened.”
Apparently the answer is “shortly before I visited the site!”
score 1 · canonical
Saw this post on here about 30 minutes ago and the blog post below came bursting out of me. Haven’t written anything about this topic in months,
The new example.com is a great example of a Pause, Stop, Hide bug
Very much appreciated coming to Lobsters and becoming inspired to re-engage with some of my fav shit about computing. A nice reminder of why I keep coming to this site.
score 1 · canonical
TIL what “Pause, Stop, Hide” bugs are. Thank you! It almost feels like there should be a place for the user agent to provide controls for all (most) animations, as the browser is uniquely placed to see and modify all of them. - Easier to detect and classify for bugs implemented in CSS than JavaScript though, as not every (regular) timer is necessarily leading to a “Pause, Stop, Hide” bug.
score 1 · canonical
Additionally, it seems I cannot select the text at all. Looking at the DOM, it’s no longer a mystery why that happens…
<p> <span style="transition-delay: 0ms; opacity: 0;">T</span> <span style="transition-delay: 3.20513ms; opacity: 0;">h</span> <span style="transition-delay: 6.41026ms; opacity: 0;">i</span> <span style="transition-delay: 9.61538ms; opacity: 0;">s</span> <span style="transition-delay: 12.8205ms; opacity: 0;"> </span> <span style="transition-delay: 16.0256ms; opacity: 0;">d</span> <span style="transition-delay: 19.2308ms; opacity: 0;">o</span> <span style="transition-delay: 22.4359ms; opacity: 0;">m</span> <span style="transition-delay: 25.641ms; opacity: 0;">a</span> <span style="transition-delay: 28.8462ms; opacity: 0;">i</span> <span style="transition-delay: 32.0513ms; opacity: 0;">n</span> <!-- and so on ... --> </p>I appreciate that they want to show the information in multiple languages, but it could have been done in a more accessible way without breaking standard browser features. Like, just render the texts one after the other in regular
<p>elements.
score 1 · canonical
I also appreciate the multi-language nature of the new page. At the same time, it seems utterly naive from them if they think this would fix their issue of getting too much (automated) traffic.
score 1 · canonical
This is a really nicely written post of one of the things that bothers me. When I was trying to show the grammar mistake to a friend I kept having to refresh the page so that the English would show.
score 1 · canonical
For reference, what it was like a few days ago: https://web.archive.org/web/20260928000041/https://example.com/
Example Domain
This domain is for use in documentation examples without needing permission. Avoid use in operations.
That second paragraph itself was a change made late last year; for some years before that (e.g. 2020), it had read:
This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.
And before that (e.g. 2015) it had read
This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission.
They’ve also fiddled with the styles a few times, mostly to make it trivially worse in my opinion, or to partially roll back such a change. To my knowledge, this new one is the first time it’s included scripting or multiple languages, and I very much dislike the technique: you look away or even read slowly, and it’s replaced with something illegible; pretty, perhaps, but significantly worse.
In light of these things, I’m very baffled by the line from the email
one of the changes we made this week was to split the page content into a more basic page, augmented by a separate Javascript file with additional content beyond that.
when they’ve actually made it significantly more complex than it’s ever been, by adding JavaScript and animation and multilingual content. Still by no means complex, but at least three times as complex as it was.
With how they’ve cut the wording down over time, and more recently finally minified the response, they have cut bandwidth down, but it was never a big difference. Though I have golfed the example.com response multiple times in the past for fun. I know that website well. I remember noticing various tiny style changes and when they switched from talking of examples to literature. Though funnily enough I don’t remember noticing the big change at the end of last year. I must be slipping.
score 4 · canonical
It looks like example.com has once again changed today so that it no longer has the JavaScript animation and instead shows all the languages in paragraphs.
The text was also updated:
This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.
Additionally, the script file looks at your browser’s preferred language and hoists the language it thinks is the right one. I learned this when I tried to take an Internet Archive snapshot and found that Arabic was now near the top for some reason.
score 2 · canonical
Very interesting that you got an email back; also quite intrigued by the message of “be thankful you get a site at example.com at all, we’re not obliged to put one up”.
I mean sure, but it still feels like the effect they were going for could’ve been achieved in a more accessible manner.
score 1 · canonical
Very interesting that you got an email back; also quite intrigued by the message of “be thankful you get a site at example.com at all, we’re not obliged to put one up”.
IANA is a highly sensitive and political organisation (non-derogatorily), so any official communication (this is from a vice president from what I can see) is probably very carefully written to avoid making even implicit promises, to avoid any kind of hassle in the future. I actually found this email surprisingly candid compared to what I would normally have expected.
I have no informed opinion on whether minimising the size of example.com is a meaningful thing to do at this scale, but reading between the lines, maybe there is basically zero funding for hosting example.com at IANA, and so it is hosted on a Raspberry Pi dangling from an ethernet socket in an office.
score 1 · canonical
They could let any hosting provider willing to host the domain/page do so, with the stipulation that it must remain accessible. The provider can recoup the cost by hosting ads, analysing traffic etc.
score 1 · canonical
Eh I don’t like this idea.
example.comis explicitly set aside as a dummy domain, making it (somewhat) part of the infrastructure of the Internet. Handing control over to a private entity is never a good idea IMO, especially if it’s making them commercial money.
score 3 · canonical
Built-in pages in browsers for those domains can be a great idea, actually. The infrastructure cost would be zero and it would still be clearer to the occasional novice user what those domains are.
I wonder if browser developers would be open to that idea.
score 1 · canonical
I think that built-in pages are a terrible idea because the site will be different in each browser and other tools like curl won’t implement a page at all leading to confusion all around.
score 1 · canonical
I don’t think the fact they look different is a problem in practice, not any more that different pages for connection errors. Users of curl and other automation tools probably know what exactly example.com is so NXDOMAIN shouldn’t surprise them as much.
score 1 · canonical
As of right now, this is the response they serve. It’s 713 bytes (excluding HTTP headers):
$ curl example.com <!doctype html><html lang=en><head><meta charset=utf-8><link rel=icon href=data:,><meta name=viewport content="width=device-width,initial-scale=1"><title>Example Domain</title><style>html{color-scheme:light dark;background:light-dark(#eee,#222)}body{font:16px/1.6 system-ui,sans-serif;max-width:30em;min-height:100vh;margin:auto;padding:4.75em 2em 20vh;box-sizing:border-box;display:grid;place-content:center;text-align:center}</style></head><body><p>This domain is for use in documentation examples without needing permission. This is not a service, avoid relying on it for testing and monitoring purposes.</p><a href=https://iana.org/help/example-domains>Learn more</a><script src=/s.js></script></body></html> $ curl -s example.com | wc -c 713If their primary objective is cutting bandwidth, then I’d suggest something like this (274 bytes after removing unnecessary whitespace):
<!doctype html> <html lang=en> <head> <meta charset=utf-8> <link rel=icon href=data:,> <meta name=viewport content="width=device-width,initial-scale=1"> <title>Example Domain</title> </head> <body><a href=https://iana.org/help/example-domains>Understand this page</a></body> </html>The link is already part of the page now, and all real users can just click it to understand the page; the information is all there already.
score 1 · canonical
If you’re golfing minification, you can remove these parts without making it invalid or changing the meaning of anything (simplifying slightly,
html,headandbodystart and end tags are optional, and the document is already declared UTF-8 in thecontent-typeheader and even if it weren’t it wouldn’t matter as the document doesn’t go beyond ASCII).<head> <meta charset=utf-8> </head> <body> </body> </html>You can also drop the
,initial-scale=1with no observable change in behaviour on realistic browsers. (It will only make a difference if one of the words in “Understand this page” is wider than the viewport, or on early iPhone browsers on rotate.)You could also drop the
https:and write<a href=//iana.org/…>. From http://example.com, that’d make it a link to http://iana.org/help/example-domains rather thanhttps://…, but that doesn’t really matter.Rebelling a little more, you could drop
<html lang=en>. Nothing will implicitly trust a declaration of English anyway because it’s been abused so much.And
because who cares about quirks mode for something like that? And","and</a>because nominal validity really doesn’t matter.<link rel=icon href=data:,> <meta name=viewport content=width=device-width> <title>Example Domain</title> <a href=https://iana.org/help/example-domains>Understand this page
score 2 · canonical
Real nice! I kept the stuff at the start only because I copied the original page and removed everything I knew was unnecessary.
score 1 · canonical
It has been corrected to “This is not a service; avoid relying on it for testing and monitoring purposes.”
score 1 · canonical
It should be a semicolon, the clauses are independent. A lot of people make this mistake, that doesn’t make it right. One of my teachers said “if you can replace it with a period, it should be a semicolon”, she was a great teacher. I hope these are clearly examples of what not to do, I know sometimes irony doesn’t come across on the internet.
score 2 · canonical
It should be a semicolon, the clauses are independent.
*It should be a semicolon; the clauses are independent.
score 1 · canonical
watches the joke soar high over your head (check out every sentence in their reply)
score 1 · canonical
It’s always safest to do this consciously when correcting writing, to work around https://en.wikipedia.org/wiki/Muphry’s_law
score 1 · canonical
With that phrasing, it should definitely be a semicolon. They even use a semicolon in the French and Russian.
score 1 · canonical
In this case, in French, a comma and a semicolon are equally valid. Most people use commas only, though. Dunno for English.
score 1 · canonical
It’s an error in English. If you want to use a comma to join two independent clauses, you need a coordinating conjunction (and, but, so, …).
score 1 · canonical
It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of light, it was the season of darkness, it was the spring of hope, it was the winter of despair.
This would read not nearly so well with semicolons.
score 1 · canonical
I don’t agree that semicolons would hurt it in any way, but that’s a list, a comma-separated list (of things people were saying about the time,¹ how “the period[']s noisiest authorities insisted on its being received”), which “This is not a service, avoid relying on it for testing and monitoring purposes” is not. I don’t think “Alice brought soup, Bob brought salad, and Carol brought cake” would be called a comma-splice. (The lack of an “and” in the Dickens quotation is merely asyndeton.)
¹ apposition, not a comma splice
score 1 · canonical
It would probably save IANA (and us) a lot of trouble by just making it serve the smallest valid HTML page with a 200 response code.
score 2 · canonical
This website was built to fit into a single packet. https://github.com/diracdeltas/FastestWebsiteEver
score 1 · canonical
Smallest valid HTML page:
<!doctype html><title>x</title>(Title is mandatory in general, though things like HTML email are allowed to omit it.)
But at that point you might as well serve an empty text/plain response.
Or if you really want to cause trouble, a 204 (No Content) response. See how browsers handle it and watch the confusion.
score 1 · canonical
Oh. I expected to see a blank page, but on Firefox for android tapping that link shows a load bar but then stays on the same page.
score 2 · canonical
Yep. I think that’s how it’s always been across all browsers (as long as status codes have existed, anyway). 204 doesn’t produce a document, so the browser stops the navigation. These days such behaviour is described in the HTML spec, and the section begins “Welcome to the dragon’s maw.”
score 2 · canonical
Fun fact: in the past I worked on Chrome’s bounce tracking mitigations, and we managed to generalize our detection algorithm to catch abuses of 204 responses that would silently set tracking cookies. (Did we actually see it happening in practice? I can’t remember. But there was definitely a privacy researcher who posted a POC)
score 1 · canonical
