My projects:

Blog:

Checking password strength without making users suffer

Checking password strength without making users suffer

"Minimum 8 characters, uppercase letter, digit, special character" — Sound familiar? Feels like filling out a government form. The password aaaaaA1! technically passes, while "LoremIpsum LoremIpsum LoremLorem IpsumIpsum" doesn't. So instead, I calculate entropy: it measures the actual difficulty of brute-forcing, not just ticking boxes for security theater. A long simple password can be stronger than a short "complex" one. Bonus — a funny error message that makes rejection a little less painful.

read more

Free Web Service Ping Monitoring That's Actually Good

Free Web Service Ping Monitoring That's Actually Good

I tried a few services for monitoring if my site is up, and found the perfect service - betterstack.com. It only allows pinging 10 endpoints, which is not much compared to competitors. But it's really well-engineered. I used it before for pinging my services, and then I went to add another one and noticed you can create a status page. On your own domain: status.sergua.com - check it out. Free! Takes 5 minutes to create, try a few options and add a domain. Writing this post took way longer.

read more

Is capitalism evil? And especially "speculation"?

Is capitalism evil? And especially "speculation"?

People often talk about speculators - they buy when demand is lowest and sell when demand is highest. Profiting from people. Interestingly, they sell when demand is highest - meaning they increase supply at the critical moment. Isn't that a paradox? I have a friend: before the COVID-19 epidemic began in Ukraine, he bought a box of masks and sold them when they cost 7 UAH each. He made a little money on this. And others - lost? At first glance, yes, someone paid him out of their pocket. But actually — no: everyone benefited from this, including those who paid him. Let me explain why.

read more

Deep music recommendations

Deep music recommendations

I don't like recommendations from regular music services: they're too shallow. So I wrote my own - with deep analysis and weighted scoring. The service takes top-300 artists from Last.fm (or a manually entered list), finds top-300 similar artists for each, then builds a similarity table, aggregates scores, and sorts the results. It's significantly slower, but more relevant.

read more

Short unique reliable numbers

Short unique reliable numbers

Have you ever had to enter a long code that you couldn't memorize at a glance and you get lost counting a dozen digits? I always wondered if it's possible to make a number that's both short and easy to read. For example, ABC123-DFG678 is easy to copy, although it's quite long. And you can also make the system detect errors if there were any. I had a few ideas on this topic, so I sat down and did the math.

read more

Happy Ukrainian True New Year!

Happy Ukrainian True New Year!

New Year in Ukraine is celebrated on this very day, December 22nd, following the winter solstice. It can't be moved to fit any calendar. Because we celebrate the new sun and the days growing longer. Traditionally, it's the celebration of the goddess Koliada and the birth of the New Sun.

read more