HNHacker News
TopNewBestAskShowJobs

demetris

466 karma · joined December 24, 2010

All-around tinkerer

https://github.com/demetris

[ my public key: https://keybase.io/demetris; my proof: https://keybase.io/demetris/sigs/IJezxqt-y639GnvKVGnB28Jh6Qsi9X5ddryyMyEesnc ]

submissionscomments
demetris··on Firefox Containers Preview
There is functionality to reopen the last closed window, and also a keyboard shortcut for it. IIRC, the shortcut is Ctrl+Shift+N (on Windows and Linux).
demetris··on The Safari MCP server for web developers
F*** me!

The owner of whirlpool.net.au commenting on my comment.

I am replying because of the huge respect I have for the work.

Yes, I am seriously asking with a straight face.

Yes, I know how to pirate. I’m from this planet. :-D

Pirating, and jumping through hoops to do things certain vendors didn’t want done, was fun while I was learning. And educational. Super educational, in many respects.

But it is not fun anymore for me. There are other things these days that can get me banging my head against walls, and they are, in total, more fun and more educational.

demetris··on The Safari MCP server for web developers
What plenty of ways?

How can I run a macOS virtual machine LEGALLY on my Linux or Windows machine?

demetris··on The Safari MCP server for web developers
I think pjmlp is just being contrarian.

First, the Microsoft browser these days is Edge, not IE. IE is dead.

Second, if you want, or wanted in the past, to test on Internet Explorer without a Windows computer, you could just virtualize Windows. Windows can be legally virtualized on any hardware and on any host operating system.

Starting from 2013, you didn’t even need to pay for a Windows license to do that:

https://archive.org/details/modern.ie-vm

demetris··on The Safari MCP server for web developers

  ### THIS FILE IS AUTOMATICALLY CONFIGURED ### 
  # Changes to this file will not be preserved.
  # This file will not be recreated if removed.
  X-Repolib-Name: Microsoft Edge
  Types: deb
  URIs: https://packages.microsoft.com/repos/edge-stable
  Suites: stable
  Components: main
  Architectures: amd64
  Architectures: amd64
  Signed-By: /usr/share/keyrings/microsoft-edge.gpg
Come on! The year is not 2001.
demetris··on The Safari MCP server for web developers
I know of the solutions. I use a few of them.

I have multiple Playwright webkits on both Windows and Linux. I have Epiphany on Linux (not 100% same webkit). I have subscriptions for testing on real hardware.

This is why it seems to me that Apple does not really care about web developers.

demetris··on The Safari MCP server for web developers
But does Apple really care about web developers?

How do you test on Safari if you don’t have Apple devices?

How difficult can it be for Apple to make barebones virtual machines with just Safaris?

demetris··on VoidZero Is Joining Cloudflare
What chrisweekly said:

Configuring webpack, mostly. :-D

That’s not a dig at webpack: Those tools are super complex, and hiding complexity from the user is not easy. But it seems that with Vite we finally got there.

demetris··on VoidZero Is Joining Cloudflare
I love Vite, when I don’t forget it exists in my projects. It took things that made you feel mentally deficient and made them almost zero-config.

This news does not make me happy.

Same with the news about Astro earlier this year.

I know it must be good for the people how have made the projects (why else would they chose to do it?) but there is something in those acquisitions that makes me uneasy.

demetris··on Notepad++ for Mac – Independent community port
That is not necessarily proof.

Sometimes I am too lazy to think of a good commit message, so I have a custom command that tells the assistant to do this:

Commit umstaged changes with a nice clean message summary and no full message.

By default, Claude Code co-signs those commits (which I do not like at all as a default).

demetris··on First Website (1992)
Websites do care about the UA. They don’t care, at least most don’t care, about the User-Agent string. That is different.

About an element that gets rendered into native menu controls, I am not sure. I haven’t been following closely for the last two or three years. But that seems like a good candidate for a native element. 9 out 10 websites need it.

demetris··on First Website (1992)
Some of the stuff we have been adding since then is GOOD though.

Some examples:

We now have to accommodate all types of user agents, and we do that very well.

We now have complex navigation menus that cannot be accessible without JavaScript, and we do that very well.

Our image elements can now have lots of attributes that add a bit of weight but improve the experience a lot.

Etc.

Also, things are improving/self-correcting. I saw a listing the other day for senior dev with really good knowledge of the vanilla stuff. The company wants to cut down on the use of their FE framework of choice.

I cannot remember seeing listings like that in 2020 or 2021.

PS.

I did not mean this reply as a counterpoint.

What I meant to say is, even if we leave aside the SPAs that should not be SPAs, we see the problem in simple document pages too. We have been adding lots of stuff there too. Some is good but some is bad.

demetris··on Crawling a billion web pages in just over 24 hours, in 2025
But how does that work?

Does Cloudflare force firewall rules for those who choose to use it for their websites?

If the tool that does the crawling identifies itself properly, does Cloudflare block it even if users do not tell Cloudflare to block it?

demetris··on Modern CSS Code Snippets: Stop writing CSS like it's 2015
Firefox could (should?) be better in several aspects but it seems excessive to say it is pretty irrelevant.

It has 4.5% market share in Europe, 9% in Germany (statcounter numbers).

It is the browser that got the Google Labs folks to write a Rust jxl decoder for it, and now, thanks in part to that, Chrome is re-adding support for jxl.

You can be unhappy with Firefox (I often am myself), and Firefox HAS lost relevance, but can you really say it has become pretty irrelevant?

demetris··on Modern CSS Code Snippets: Stop writing CSS like it's 2015
I didn’t pay close attention to the domain and I thought it was the other one:

https://moderncss.dev/

One of the best educational resources for modern CSS.

BTW, one of the reasons I love modern CSS is front-end performance. Among other things, it allows you to make smaller DOMs.

I talk about a modern CSS technique that does that here:

https://op111.net/posts/2023/08/lean-html-markup-with-modern...

It is an idea I started playing with when custom properties landed in browsers, around 2016 or 2017? Around 2021 I started using the technique in client sites too.

Now I want to write a 2026 version of the post that talks about container queries too. The technique becomes more powerful if you can rely on container queries and on the cqw unit. (You cannot always. That stuff is still new.)

For an example of the convenience cqw offers if you can rely on it, see the snippets I have in this:

https://omnicarousel.dev/docs/css-tips-know-your-width/

demetris··on News publishers limit Internet Archive access due to AI scraping concerns
Thank you!

> The folks who crawl more appear to mostly be folks who are doing grounding or RAG, and also AI companies who think that they can build a better foundational model by going big.

But how can they aspire to do any of that if they cannot build a basic bot?

My case, which I know is the same for many people:

My content is updated infrequently. Common Crawl must have all of it. I do not block Common Crawl, and I see it (the genuine one from the published ranges; not the fakes) visiting frequently. Yet the LLM bots hit the same URLs all the time, multiple times a day.

I plan to start blocking more of them, even the User and Search variants. The situation is becoming absurd.

demetris··on News publishers limit Internet Archive access due to AI scraping concerns
I don’t believe resips will be with us for long, at least not to the extent they are now. There is pressure and there are strong commercial interests against the whole thing. I think the problem will solve itself in some part.

Also, I always wonder about Common Crawl:

Is there is something wrong with it? Is it badly designed? What is it that all the trainers cannot find there so they need to crawl our sites over and over again for the exact same stuff, each on its own?

demetris··on JPEG XL Test Page
Hey, tasty_freeze!

The motivation behind the benchmarks was to understand what are the options today for optimizing the types of image we use PNG for, so I used the same set of images I had used previously in a comparison of PNG optimizers.

The reason the set does not have photographs: PNG is not good at photographs. It was not designed for that type of image.

Even so, the set could do with a bit more variety, so I want to add a few more images.

demetris··on JPEG XL Test Page
Yeah.

Numbers for decompression speed is one of the two things I want to add.

The other is a few more images, for more variety.

demetris··on JPEG XL Test Page
I published some benchmarks recently:

https://op111.net/posts/2025/10/png-and-modern-formats-lossl...

I compare PNG and the four modern formats, AVIF, HEIF, WebP, JPEG XL, on tasks/images that PNG was designed for. (Not on photographs or lossy compression.)

demetris··on Ask HN: Share your personal website
https://op111.net - My blog

https://omnicarousel.dev - Docs and demos site for Omni Carousel, a library I wrote recently

demetris··on Text-based web browsers
Thank you!

Would a Jump to navigation link next to Skip to content make this arrangement better for screen reader users?

demetris··on Text-based web browsers
I did that that recently for a couple of personal projects and I like it. I think I will start doing it for client sites too.

https://omnicarousel.dev

The main navigation menu is just above the site footer in the HTML document.

Question for people who know that stuff:

What is the recommended way of hiding features that require JavaScript on browsers that do not support JavaScript, e.g., on w3m?

demetris··on Show HN: Explore what the browser exposes about you
Do you know what user agent the browsers send?

I tried with Windows 7 (Firefox 115) and it reports Windows 7.

It seems though that it cannot distinguish between Windows 10 and Windows 11, so, without looking further, I suppose the detection is based on the User-Agent string? (The OS version browsers report on Windows is frozen, so Windows 10 and Windows 11 have the same version there.)

demetris··on GNOME 50 completes the migration to Wayland, dropping X11 backend code
Oh! That’s interesting. Thank you.

My main Firefox in that setup is from the Mozilla repos, rather than the ESR version that is the default in Debian stable. So, it could very well be that. I will have to check to see what the ESR Firefox from the Debian repos does.

demetris··on GNOME 50 completes the migration to Wayland, dropping X11 backend code
I was working on a carousel library a few months ago. I had made a few stress-test demos so that I could catch obvious issues while I was adding things and tweaking things.

One carousel there had 16K slides.

On Windows both Chrome and Firefox managed that fine. They scrolled from start to end and back without issue and you could see, I think, all the frames in my 60Hz screen.

On GNOME and X11 (dual boot, so same hardware) Chrome was fine but there were issues with Firefox. I was curious so I logged out and logged in with Wayland. On Wayland Firefox was fine too, indistinguishable from Chrome.

I don’t understand hardware, compositors, etc., so I have no idea why that was, but it was interesting to see.

demetris··on Yt-dlp: External JavaScript runtime now required for full YouTube support
The standard video element is really nice:

https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

I have used it on a couple of client sites, and it works really well.

You can even add a thumbnail that shows before the video starts downloading/playing (the poster attribute). :-)

demetris··on PNG and modern formats: A comparison of lossless compression for graphics images
:-)

My interest in doing the benchmarks was the other thing:

Seeing what the options are these days for the types of image PNG was designed for.

As the results started accumulating, I wasn’t sure I should include all formats in the post and in the TXT file and the spreadsheet, because testing them at what they were not designed for did not seem fair.

Do you think I should add something stronger or more prominent to my intro to explain this?

demetris··on PNG and modern formats: A comparison of lossless compression for graphics images
Author here.

I ran benchmarks comparing PNG, AVIF, HEIF, JPEG XL, and WebP for lossless compression of graphics images. Tested with 14 images.

The results are also available in a TXT file:

https://op111.net/files/2025/10/op111-20251015-png-modern-fo...

...and in a Google Sheets document:

https://docs.google.com/spreadsheets/d/1mwaHeIsDrNhE3NTKtszK...

Cheers!

demetris··on The Basic Laws of Human Stupidity (1987) [pdf]
My personal system is simpler:

A stupid person is a person who thinks other people are stupid.

Page 1 of 5Next →