Zsolt Ero
banner
hyperknot.com
Zsolt Ero
@hyperknot.com
Look, this is the 1st Google result for wplace live, just below the main website. Maybe the majority of users didn't use scripts, but the ones who did are definitely responsible for the load:
August 11, 2025 at 9:20 AM
I log into Cloudflare and I see THIS for the last 24 hours.

What? 3 billion requests in 24 hours? What on Earth is that? Also, 215 TB of traffic from tiny, 70 kB files?

The article continues on my blog:
blog.hyperknot.com/p/openfreemap-survived-100000-requests
August 9, 2025 at 3:30 PM
Is CSS scrollbar-gutter support like totally broken in almost all browsers? This is Chrome. Safari is broken in a different way.
I don't want to add JS based scrollbars, but it's really hard to fix this in a cross-platform way.
July 11, 2025 at 11:03 PM
Ultimate marketing flex by Midjourney:

1. Make every user connect with the "Midjourney Bot."
2. Notify 21 million users of a new launch, for free! (Even if they left ages ago.)
June 19, 2025 at 12:43 PM
Right now, you might have read the news that a Chinese paraglider pilot, Peng Yujiang, got sucked into a cloud and ended up at 8,598 meters / 28,000 feet.
May 30, 2025 at 10:58 PM
Perplexity – which I thought would give the best answer as it can research online – gave a totally useless but super-long answer.
May 29, 2025 at 6:04 PM
o3 also gave a nice answer, explaining that it's a change introduced in iOS 16:
May 29, 2025 at 6:04 PM
Claude was absolutely wrong, recommending I use an Apple Watch and even saying that "Your 'apologize and call back' approach is probably the most reliable solution" :-)
May 29, 2025 at 6:04 PM
OK, I asked Gemini 2.5 Pro, o3, Claude Sonnet 4, and Perplexity.

Gemini gave a perfect answer! It explained why it happens: an accessibility setting was inverted on iOS 16, and many users got caught by this. I personally never touched this, so I'm surprised by its default value.
May 29, 2025 at 6:04 PM
Crossposter progress update:

I just remembered that I cannot write "Bluesky" on X, the land of free speech.

Asked Gemini how to make similar-looking Unicode characters, which look the same but are actually not the same string.
May 22, 2025 at 7:45 PM
The biggest issue was that LLMs kept hallucinating it as markdown-it, so I had to double-check and write everything by hand.

BTW, Bluesky API is amazing!
May 20, 2025 at 3:56 PM
Crossposter progress update:

Optimal splitting into threads works! It was a big one.

Turns out I need dynamic programming to find the optimal splitting points in a thread.
What does an optimal splitting point mean?
May 19, 2025 at 12:16 PM
Looking at @astro.build source code be like:

returning a template string of JS code,
which imports template strings of image paths,
which maps regex-parsed HTML matches to async image objects,
all while JSON-parsing a stringified regex-escaped string!
May 18, 2025 at 6:07 PM

Crossposter progress update:

Posting on bsky works!
Amazing DX and super friendly dev community on Discord.

Posting on X works!
Terrible DX, scary low quota + returns wrong quota information in response headers. I have no idea when it blocks me and for how long.
May 18, 2025 at 9:49 AM
I'm developing a local-first app and found conflicting information online about how much data I can actually store in localStorage.

I found "Browser Storage Abuser", a 12 years old (!) website for stress testing the limits of different local storage options in browsers.
May 15, 2025 at 2:53 PM
OpenAI o3 hallucinations are on a different level compared to anything I've seen before.
Here o3 hallucinated a whole ecosystem! Everything here is 100% hallucinated!
May 12, 2025 at 12:52 PM
Here is a small snippet I'm using to 'replace all' across all files in a directory tree. It uses ripgrep so it's super optimised, much faster compared to grep.
May 12, 2025 at 10:09 AM
I love when LLMs make a typo! It's so much out of their character that it feels like catching a shooting star. Here, Gemini wrote "Rable" instead of "Table."
May 11, 2025 at 9:16 PM
Today I learned, sitting on a train: Ping packets can still return after 20 seconds!

You'd think that your internet connection is broken, but no, somewhere out there, there is a packet destined for your laptop, arriving 20 seconds later!
April 27, 2025 at 11:08 AM
like your date of birth, etc.
But you can’t archive them like this; you need to remove the password first.

I found the best command-line tool for the job to be https://github.com/qpdf/qpdf or `brew install qpdf`

Here’s how to use it:

(2/3)
April 16, 2025 at 1:27 PM
Office 365 isn’t just accidentally messy. Complexity is the product.
Of course it's misconfigured. That’s what they’re selling.

Meanwhile, I’ll just wait for the client to notice their email silently stopped working.

https://x.com/signulll/status/1908900460771107211

(5/5)
April 15, 2025 at 12:43 PM
We cannot reach one of our clients because their Office 365 is configured to "only accept messages from people in its organization or on its allowed senders list."

I don't mean I'm trying to cold-email someone - we've exchanged 50+ emails over the years.

(1/5)
April 15, 2025 at 12:43 PM
Thanks to @ahocevar.bsky.social, the developer behind @openlayers.org, OpenFreeMap now has an official example for OpenLayers.
March 28, 2025 at 9:18 AM
New year, new updates on probably one of the biggest MapHub maps (both in size and effort):
UK Bus Map W.I.P by JayCrab

note: Technically it's definitely pushing MapHub's client-side code to its limits - it's a 20 MB GeoJSON or 5 MB gzip compressed.
January 3, 2025 at 2:52 PM
My X timeline is full of "AGI arrived" because of this chart.

But please notice: this chart is logarithmic on the X axis and linear on the Y axis!

If something, this proves that we'll never get to AGI by adding exponential resources for linear progress!
December 20, 2024 at 9:17 PM