HNHacker News
TopNewBestAskShowJobs

senfiaj

642 karma · joined September 18, 2023

submissionscomments
senfiaj··on An OS in pure Rust with its own TCP/IP and TLS 1.3 stack, fetching the live web
My first impression was also that such a huge project was too good to be true (especially that it is supposed to replace Ubuntu) if it was written from scratch. And then also noticed that it was AI assisted. Didn't run it and don't know how much of this was done by the author himself. Also I don't understand what is this "third state".
senfiaj··on Avoid Using "< [Cdata[ ]]>" in RSS
For me it seems fine. Sometimes when I click on the headings I have to press back several times, but this is because they have anchored links.
senfiaj··on Avoid Using "< [Cdata[ ]]>" in RSS
This is mostly about when you write your automated feed generator.
senfiaj··on Avoid Using "< [Cdata[ ]]>" in RSS
What requirments are you talking about? Human readability? IMHO, RSS is for feed readers, not humans. When looking at https://news.ycombinator.com/rss , the RSS isn't that human friendly at all, all line breaks are removed. The point is the simplicity and uniformity, regular escape works well for many cases, not just description.
senfiaj··on Avoid Using "< [Cdata[ ]]>" in RSS
But are most people going to read raw RSS? Just out of curiosity, I checked HN RSS, it still escapes character in a regular way (without CDATA) for titles. So, just keep 2 versions of XML escape instead of one?
senfiaj··on Avoid Using "< [Cdata[ ]]>" in RSS
Just out of curiosity, I looked at the HN RSS feed and they still use regular escape for titles (and some other things, except description). It means they use 2 versions of escape instead of 1. So why not just use 1?
senfiaj··on The Permanent Upper Crow
Yeah, the numbers will eventually overflow if you play long enough, it seems doesn't end.
senfiaj··on I'm Tired of Talking to AI
Sounds like a nightmare.
senfiaj··on PHP's Oddities
> Despite all the critiquing I've done in this article, I still think the amount of hate PHP gets is undeserved.

As a person who also codes in PHP at work, I still dislike the language syntax part. JS/TS also has terrible parts, but IMHO, compared to PHP, I don't face them as much and they are much easier to avoid when you have enough knowledge and stick to good parts.

As the author mentioned, in my experience PHPs arrays are quite annoying to work with, and you can't do anything about them. This C-like procedural syntax for array and string manipulations makes discoverability harder. Some functions (in_array, implode, shuffle, trim, stripos, lcfirst, etc) still have inconsistent namings despite many of them have a standard prefix in their name, such as array_ or str_.

I mean OK, PHP is still widely used, has new features and is still and far from dying (mostly for reasons other than syntax), but please don't pretend that it hasn't some issues with basic stuff which are still there even in 8.x version.

Just to not write a full article, you can read here: https://waspdev.com/articles/2025-06-12/my-honest-opinion-ab...

If interested, I also listed some annoyances of JS: https://waspdev.com/articles/2025-04-16/what-i-dislike-in-ja...

senfiaj··on 'It is incredible': How AI is transforming mathematics
> “Part of the mystery is, we don’t know what makes a human mathematician good at math,” Litt says, adding that it is unclear whether humans have some “secret sauce” that makes them uniquely creative.

My theory is that AI neural network is trained/formed differently. Humans neural network, which was formed over millions years of evolution, solved survival problems. This also gave humans some side effects, including some types of intuitions. Also humans are much more free, they don't have to obey to a degree AI does, they are able to actively explore / experiment in this world.

AI hasn't that, AI is just fed with tons of selected data and is trained to obey commands. It's neural structure is also different. They are more like aliens taught about our world but at the same time they have to obey us without living in it normally. Like obedient kids who cram to get good grades. This is why AI humor often falls flat because it lacks true emotional intelligence. This is why it's so hard for AI to generate novel things.

senfiaj··on Regex Chess: A 2-ply minimax chess engine in 84,688 regular expressions
> There are people who navigate the web with JavaScript turned off, so those experiments do have practical applications.

This is practical (and necessary) for relatively basic stuff, such as text content, navigation, basic form / input validation, and things like that. But when people write more complicated things (requiring state management, logical branches, etc), like games, 3d programs, etc, it's much more challenging (also can be sub-optimal) and requires more creativity. I mean they are more of a demo art rather than some strong necessity.

senfiaj··on Regex Chess: A 2-ply minimax chess engine in 84,688 regular expressions
> Maybe its intentional badness kind of makes it art?

I guess it's the whole point of such type of blog posts. Similarly, some people write complicated interactive web pages without using JS, like this https://benjaminaster.com/css-minecraft/. But if you look at the HTML / CSS code size, it's usually huge, but still requires creativity to do that because of constraints. Obviously, it's not something practical or even optimal.

senfiaj··on Fecal transplants for autism deliver success in clinical trials
Maybe. IMHO there is also a microbiome hype train in the recent years. Most of these microbiome studies aren't considering a lot confounding factors. Here is a paper: https://www.cell.com/cell/fulltext/S0092-8674(21)01231-9 that found only very little evidence for association between ASD and gut microbiome.
senfiaj··on Fecal transplants for autism deliver success in clinical trials (2019)
I would still be cautious with such findings. Many autistic people are picky eaters, also some of them have issues with peristalsis. This might affect the microbiome as well. While it's plausible that it might help a subset of people, we should not overgeneralize since autism is a very heterogeneous condition, usually with pronounced genetic predisposition. Overall, it doesn't seem to be a cure.
senfiaj··on Explore Wikipedia Like a Windows XP Desktop
I guess XP (x64) could run like this on modern PCs.
senfiaj··on Building a web server in aarch64 assembly to give my life (a lack of) meaning
IMHO, for servers IO (FS/DB, network, etc) is usually a greater bottleneck. Microoptimizations make sense only for CPU bound problems.
senfiaj··on Distributing Mac software is increasing my cortisol levels
Yes, but doesn't run locally.
senfiaj··on Windows quality update: Progress we've made since March
Maybe UWP and similar stuff isn't that popular, but about WSL?
senfiaj··on Windows quality update: Progress we've made since March
In ideal world, but it's too late. The codebase is old. It's very difficult to backport/reimplement/integrate features (tons of APIs, kernel features, etc) that new software relies on. Also, because of compatibility you can't remove all the mess.
senfiaj··on Windows quality update: Progress we've made since March
IMHO the last truly brilliant and consistent version was 7. Ideally MS should do such improvements on Windows 7. Sadly, Windows developers also have to deal with the mess created during Windows 8/8.1/10/11.
senfiaj··on You can beat the binary search
> The complexity of binary search in terms of "search" (comparison) operations is exactly log_2(n)+1, not just O(n)

> So not exactly "n" as in O(n).

For large enough inputs the algorithm with better Big O complexity will eventually win (at least in the worst cases). Yes, sometimes it never happens in practice when the constants are too large. But say 100 * n * log(n) will eventually beat 5 * n for large enough n. Some advanced algorithms can use algorithms with worse Big O complexity but smaller constants for small enough sub-problems to improve performance. But it's more like to optimization detail rather than a completely different algorithm.

> This algorithm just uses modern and current processor architecture artifacts to "improve" it on arrays of up to 4096

Yes, that's my point. It's basically "I made binary search for integers X times faster on some specific CPUs". "Beating binary search" is somewhat misleading, it's more like "microptimizing binary search".

senfiaj··on You can beat the binary search
For me it's slightly misleading because it's almost like saying "I wrote a faster quicksort implementation, so it beats quicksort!". In this case the binary search fundamental idea of "divide and conquer" is still there, the article just does microptimizations (which seem to be not very portable and are less relevant/applicible for more complex data structures) in order to reduce the constant part.

Yes, algorithmic complexity is theoretical, it often ignores the real world constants, but they are usually useful when comparing algorithms for larger inputs, unless we are talking about "galactic algorithms" with insanely large constants.

senfiaj··on You can beat the binary search
I guess it matters if you have to do lookup in a tight loop. If you do this occasionally, I think it's not worth it, especially for complex objects with custom comparators. The algorithm is still O(log(n)) just a more advanced "divide and conquer" with smaller constant.
senfiaj··on You can beat the binary search
The title is slightly misleading, I mean yes, naive binary search might have larger constant but the algorithm is still O(log(n)). This is still some "divide and conquer" style algorithm just with bunch of CPU specific optimizations. Also this works well with simple data structures, like integers, with more complex objects (custom comparators) it matters less.
senfiaj··on What async promised and what it delivered
> Python already had threads

But for a long time (I think even till today despite that there is as an optional free-threaded build) CPython used Global Interpreter Lock (GIL) which paradoxically makes the programs run slower when more threads are used. It's a bad idea to allow to share all the data structure across threads in high level safe programming languages.

JS's solution is much better, it has worker threads with message passing mechanisms (copying data with structuredClone) and shared array buffers (plain integer arrays) with atomic operation support. This is one of the reasons why JavaScript hasn't suffered the performance penalty as much as Python has.

senfiaj··on The RAM shortage could last years
How efficient is AI at reducing RAM consuption?
senfiaj··on A whole boss fight in 256 bytes
I think there are some standard header bytes, so the number of combinations of the interesting parts might be much smaller. Also I said less than 7 bytes, so it's actually 281474976710656 . If header bytes reduce 1 or 2 bytes, it will be 4294967296 - 1099511627776. 1099511627776 / 1000 / 60 / 60 / 24 / 365 is around 35 years.
senfiaj··on The RAM shortage could last years
I wonder if this might motivate to write more memory efficient software. I mean we have so much memory, but even some trivial programs eat hundreds of megabytes of ram.
senfiaj··on A whole boss fight in 256 bytes
This one as well https://frankforce.com/city-in-a-bottle-a-256-byte-raycastin...
senfiaj··on A whole boss fight in 256 bytes
I guess anything that is less than 7 bytes can be brute forced.
← PreviousPage 4 of 11Next →