MurphyA/hacker-news huggingface dataset:
by lurking_swe | 2025-09-29 16:51:11+00:00
I’m not the person you replied to. I was raised catholic, but these days I don’t believe in god and think the church is a waste of time.

But i DO still celebrate christmas. Not for ME, but as an excuse to connect with family and friends. In other words, i don’t go to church and subject myself to nodding to 60 minutes of nonsense (to me). Instead I join for christmas lunch / dinner. The socializing part. The good part. If my family was not catholic then i’d just throw a nice new year’s party instead. Again - just to get everyone together.

I have a friend that celebrates Hanukkah and i’ve occasionally joined their family to celebrate as well.

What does belief in a religion have to do with participating in social events that happen to be rooted in religion?

Maybe i don’t “get it”?
by dingnuts | 2025-09-29 16:51:37+00:00
ok call me a spoiled Go programmer but I have had an allergy to manually formatting code since getting used to gofmt on save. I highly recommend setting up an autoformatter so you can write nasty, undented code down the left margin and have it snap into place when you save the file like I do, and never touch tab for indent. Unless you're writing Python of course haha
by aw1621107 | 2025-09-29 16:51:43+00:00
The code you linked is a compile-time configuration option, which doesn't quite match "infer" IMO. I think GP is thinking of the way that libstdc++ basically relies on the linker to tell it whether libpthread is linked in and skips atomic operations if it isn't [0].

[0]: https://snf.github.io/2019/02/13/shared-ptr-optimization/
by mason55 | 2025-09-29 16:51:59+00:00
I love my ErgoDox EZ but I have the same problem as you. Even after a few years, I'm still not used to the location of some of the punctuation keys that you need when you're writing code (braces, pipe, etc.) which in turn really hampers my flow state. I end up undocking and using my MBP keyboard when I'm writing code because I just can't get into that same flow state on my ErgoDox.
by pkphilip | 2025-09-29 16:51:59+00:00
You are buying the assets from the previous company but not its liabilities. So the previous company can file for bankruptcy without affecting the new company.

Also, since the new company is buying the assets, it improves the books in the old company and the extra funds will be used to pay off some of the debtors without the debtors being able to access the assets in the new company.
by jonjonsonjr | 2025-09-29 16:52:44+00:00
Something must be in the air. I've been working on a gzip/deflate visualizer recently as well: https://jonjohnsonjr.github.io/deflate/

This is very work in progress, but for folks looking for a deeper explanation of how dynamic blocks are encoded, this is my attempt to visualize them.

(This all happens locally with way too much wasm, so attempting to upload a large gzip file will likely crash the tab.)

tl;dr for btype 2 blocks:

3 bit block header.

Three values telling you how many extra (above the minimum number) symbols are in each tree: HLIT, HDIST, and HCLEN.

First, we read (HCLEN + 4) * 3 bits.

These are the bit counts for symbols 0-18 in the code length tree, which gives you the bit patterns for a little mini-language used to compactly encode the literal/length and distance trees. 0-15 are literal bit lengths (0 meaning it's omitted). 16 repeats the previous symbol 3-6 times. 17 and 18 encode short (3-10) and long (11-138) runs of zeroes, which is useful for encoding blocks with sparse alphabets.

These bits counts are in a seemingly strange order that tries to push less-likely bit counts towards the end of the list so it can be truncated.

Knowing all the bit lengths for values in this alphabet allows you to reconstruct a huffman tree (thanks to canonical huffman codes) and decode the bit patterns for these code length codes.

That's followed by a bitstream that you decode to get the bit counts for the literal/length and distance trees. HLIT and HDIST (from earlier) tell you how many of these to expect.

Again, you can reconstruct these trees using just the bit lengths thanks to canonical huffman codes, which gives you the bit patterns for the data bitstream.

Then you just decode the rest of the bitstream (using LZSS) until you hit 256, the end of block (EOB).

If you're not already familiar with deflate, don't be discouraged if none of that made any sense. Bill Bird has an excellent (long) lecture that I recommend to everyone: https://www.youtube.com/watch?v=SJPvNi4HrWQ
by CamperBob2 | 2025-09-29 16:52:48+00:00
If no one can unseat the king, they’re still the king.

Well, in theory, we weren't supposed to have kings here, but it appears that the voters are going to insist on one.

And after all, if they really are as dumb and incompetent as you say that should be easy eh?

That's my usual response to Trumpers complaining about Democrats in my own state's legislature. I have to say, though, that it doesn't work any better for me than it will for you.
by beefnugs | 2025-09-29 16:52:59+00:00
did you feed the context a link or examples of the exact version of the documentation?

I am not an expert but i assume if there are any basic knowledge of the tool then it will try to use it as it knows chunks of some old version. And it wont likely decide to search for the newest docs, you have to tell it search for exact version docs, or feed the exact version docs to context
by cloverich | 2025-09-29 16:53:07+00:00
I would agree with that angle. I would also post two additional hopes. One would be real leadership on the Republican side. I don't think climate change as such as completely unpopular, I think everyone knows its real. And I think the right could be lead back towards real dialogue on the matter with the right leadership. E.g. from arguing about whether it's real / man mad, to instead e.g. which economic trade offs we want to make, by whom, and how; and IMHO the democrats at large could really benefit from such genuine discussion.

The other hope is merely that the worst does not come to play as fast as possible, and instead the increasing changes slowly become harder and harder to ignore, and the younger population becomes ready to eschew their parents' biases. Not quite the same as strong leadership requirement because politicians tend to shift with demographics / voting behavior, and would likely simply accommodate.
by brudgers | 2025-09-29 16:53:14+00:00
you risk becoming a side character in someone elses' parasocial relationship

Your perception of this as a risk probably suggests cultural and/or generational differences.

But for the actual circumstances of the fine article’s author, video is a norm of the community the author seeks to join. Within the community, video is an established practice and making a video rig signifies a higher degree of commitment to the community.

Not accepting the use of video, is at least a partial rejection of the community values. Accepting video is a tradeoff for participating in community practices. The practical alternative is usually to find or build an alternative community. [0]

To put it another way, joining the bird watching community means keeping lists. Yes, of course you can just watch birds for your personal pleasure, but documentation is a core community activity.

[0] sure logically it is possible to change a community, but marginal members (e.g. new, casual, low status) are rarely in position to overturn established practice and run the risk of being set up for the agendas of established members.
by parineum | 2025-09-29 16:54:03+00:00
This reeks of a superiority complex.

Plenty of my friends who were less than geniuses enjoyed these same games I did.

Games now just focus more on lower engagement players. It's easier than ever to get into a game but, easy come, easy go. Frustration just serves to get someone to move on rather than buckle down and persist. Previously, when gaming was less easy to get into, the population of gamers self selected to people who had already significantly invested in the hobby and were much more dedicated to it.

I think the ability to solve the obtuse puzzles and deal with unexplained mechanics had a lot more to do with lack of alternative options and the sunk cost fallacy rather than superior intellect.
by xp84 | 2025-09-29 16:54:07+00:00
I’d point out that the privilege to break the law simply “because online” is a pretty new thing. People in 1980 couldn’t automatically conduct transactions that were illegal, and access materials, their government deemed illegal, etc. If a book was banned in your country, it was likely just not available for you.

I really think people need to stop believing that the Internet solves all the problems of sovereign states doing anti-freedom things. That’s a part of life, and enabling people to evade laws, which may indeed be democratically voted upon, is not an automatic virtue. I don’t even think laws get changed because of this type of evasion, it just makes citizens more complacent about the laws that get passed because they know they can evade them anyway, but also it means most everyone is technically a criminal. Does anybody think people in those states that outlawed Internet porn stopped consuming it? But how many people are doing anything to change those laws? I don’t think very many. They’re just using a VPN. So the problem of oppressive laws isn’t being solved this way.
by jamie_ca | 2025-09-29 16:54:13+00:00
A _great_ spin on this is Tunic, which has an in-game manual that you find pages of as you play, and is written in an in-game language so you kinda sorta need to work things out based on the diagrams and other notation.

At a base level, it tells you about abilities that you have from the beginning of the game but don't know the buttons to press to trigger them, but it goes much deeper.

Great game, 100% recommend.
by Veserv | 2025-09-29 16:54:17+00:00
I think the key advantage they are describing for their bag is that it allows you to claim a element then operate on that element independently. This avoids head-of-line blocking caused by things like random context switching mid-processing.

However, that can be implemented with a MPMC queue with no exotic operations with precise O(1) behavior with no size bounds. For a bag with two N-bit bit-vectors, just have two N-bit queues of indexs. Dequeue on acquire (giving you a unused index) and enqueue on release (releasing your now used index). If anybody finishes processing quickly, they release back to the queue for new processing which means there is no head-of-line blocking. Only by having all N actively processing do you wait.

I guess you also still have the tiny window on enqueue between reserving the slot and actually writing out the index where you could tear due to a perfectly sub-optimal context switch.
by hatefulmoron | 2025-09-29 16:55:03+00:00
I remember discussing with some coworkers a year(?) ago about autocomplete vs chat, and we were basically in agreement that autocomplete was the better feature of the two.

Since we've had Claude Code for a few months I think our opinions have shifted in the opposite direction. I believe my preference for autocomplete was driven by the weaknesses of Chat/Agent Mode + Claude Sonnet 3.5 at the time, rather than the strengths of autocomplete itself.

At this point, I write the code myself without any autocomplete. When I want the help, Claude Code is open in a terminal to lend a hand. As you mentioned, autocomplete has this weird effect where instead of considering the code, you're sort of subconsciously trying to figure out what the LLM is trying to tell you with its suggestions, which is usually a waste of time.
by port11 | 2025-09-29 16:55:11+00:00
Companies are made of people, not just their figurehead.

Jobs wasn't a nice person, as it's been documented. And if he was surrounded by MBAs and PMs trying to make a career, the results might be similar to what we have.

I do think Cook is a terrible CEO on the product side. But he's made Apple richer than ever. I'm not upgrading to the 26 version of the OS'es (btw what a stupid version bump).
by permo-w | 2025-09-29 16:55:20+00:00
Magnus is widely regarded, including by Hikaru, as having the best chess intuition (i.e. subconscious understanding) of any player alive, by some distance. the times he's beaten are almost always when he's out-calculated on a very deep line that he had intuitively disregarded. at the same time though, Hikaru himself is also far better known for his intuition than his conscious calculation, explaining his much stronger performances in faster time controls. if you want a player that's more calculative and, ergo, more like stockfish or another traditional engine, perhaps look at Gukesh, who almost exclusively plays classical for that reason
by RHSeeger | 2025-09-29 16:55:24+00:00
You are using a different definition of readable than most people are. Most people are using it to mean "the target audience can read and understand the code, and do so in a way/context that allows them work with it". Your definition seems to be "can read the symbols on the screen".

I can read Assembly. I can, in some cases, figure out what that Assembly is doing. I can not, however, work productively with it. I can read Assembly but would not consider it readable.
by iamnothere | 2025-09-29 16:55:52+00:00
This reply tells me you haven’t read or understood my post above. Historically, inefficient totalitarianism is self-defeating, as its oppressive acts create constant friction and sweep up innocent bystanders, creating resentment among the population. This eventually builds to an explosive release.

Technologically modernized totalitarianism may be able to implement large-scale oppressive policies without affecting most of the population. In fact the average person may see a net benefit! This would create a more stable society despite the significantly lower level of freedom and self-determination. We may be witnessing the development of this sort of system in China, for example. The average person benefits, but a segment of the population faces brutal oppression with no recourse and must simply submit. (Contrast with the US, where people who face repression can sometimes start over by going dark and moving across the country.)
by Avamander | 2025-09-29 16:56:17+00:00
How is it truly different to any other ID system(s) though. What unique usable possibility is provided to this hypothetical attacker and how many are taken away?

The only thing it actually differs in is scale, like you described. But scale does not mean an inherent vulnerability that can be practically exploited.

If you're however able to make everyone ignore the noise of some massive attack then you already don't need to bother with any of it anyways.

If you can attack the foundation of the system, like elliptic cryptography then every bank and retirement fund on earth is in danger. Much bigger fish to fry.
by edward_9x | 2025-09-29 16:56:23+00:00
Greetings, HN! This is a small project I first began working on around 2022 or 2023 or so, in high school. I learned quite a bit since then but I'd like to share it here anyways. I began to be curious about why shell languages implemented if statements and similar constructs not as plain commands in the true sense of the word (a sequence of whitespace separated tokens), but as special syntax. And I was also quite upset about the "quoting hell" in Bash and co.

So when I found out about Tcl, a language where everything is a string, including "code blocks". My first thought was "why doesn't this have pipes and execv* as first-class features like an actual shell?". And so Zrc was born.

Granted, the code is not production ready. But it's a sturdy little shell capable of some cool stuff, given that I implemented minesweeper and game of life in it, and I took the risk of daily driving it just because why not?

I've never written an interpreter before so the parsing technique may come off as ad-hoc to some, but it's certainly better than csh.

If I could have changed one thing about the design, maybe it would've been not adding expr at all. I'd have made control flow commands just call their first braced arg as a script (not as an arithmetic expression), and 0 would have been the truthy value and nonzero would be a non-truthy value (like in any other shell). I'd also have added rc's ~ command instead of regexp. And maybe I'd have replaced the <{...} and `{...} substitutions with special commands called ` and `<, to be used with [...] substitution.
by cassowary37 | 2025-09-29 16:56:58+00:00
Not to take anything away from the meta-analysis and the important points in the blog post, but there's a glaring error in the abstract: "the weighted average effect sizes were as follows: social isolation odds ratio (OR) = 1.29, loneliness OR = 1.26, and living alone OR = 1.32, corresponding to an average of 29%, 26%, and 32% increased likelihood of mortality, respectively."

The authors mean increased /odds/, not likelihood (probability). WHy does it matter? Well, when your whole paper is a statistical exercise, misusing basic statistical language in the abstract is not a great sign.
by breppp | 2025-09-29 16:57:10+00:00
The Nazis had no problem allying with the Arabs including the Palestinians in WW2, so there is evidence these weren't placed in the same racial category as Jews.

As these racial categories are all pseudo-science anyway, their only meaning is the meaning attributed to them by the racists. So you can only complain to 19th century Europeans for not being as racist towards Arabs
by lukevp | 2025-09-29 16:57:21+00:00
Autocomplete is a totally different thing that this article isn’t talking about. It is referring to the loop of prompt refinement which by definition means it’s referring to the Agent Mode type of integrations. Autocomplete has no prompting.

I agree autocomplete kinda gets in the way, but don’t confuse that with all AI coding being bad, they’re 2 totally distinct functions.
by jrochkind1 | 2025-09-29 16:57:37+00:00
i do both!

Although sometimes it's confusing why a site isn't working -- I have to remember it might be Privacy Badger, sometimes I forget about Privacy Badger.

Also, being a developer, sometimes I figure out which trakcers need to be moved to yellow or green from red to get it to work.

i wasn't sure "report broken site" was actually useful, like this would really get to a human, and matter? Especially since I understand the trackeres that get blocked yellow/red are adaptive (not sure if that means specific to my client or not). But if you say it's helpful, I'll keep doing it!
by menaerus | 2025-09-29 16:57:54+00:00
I mean, the base and turbo frequency are about the same on both parts, and the workload is very very simple. Case where TDP would matter is with the workload sucking up all the power budget of a whole chip in which case frequency would have to be downscaled in order to remain within the limits. I doubt this is the case here but I guess this can also be measured if one is curious enough. In my case, only sqrt was slower, the rest was 2x faster on a more modern CPU.

I reran the experiment in a VM, on a company's Xeon server clocked @2.2GHz, and results are again pretty much the same as before:

---------------------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------------------- bench_getuid 778 ns 778 ns 901999 bench_getpid 774 ns 774 ns 902699 bench_close 779 ns 779 ns 896939 bench_syscall 761 ns 761 ns 916941 bench_sched_yield 1121 ns 1121 ns 566012 bench_clock_gettime 22.1 ns 22.1 ns 31579512 bench_clock_gettime_tai 22.0 ns 22.0 ns 31502402 bench_clock_gettime_monotonic 22.1 ns 22.1 ns 31848177 bench_clock_gettime_monotonic_raw 22.4 ns 22.4 ns 30953415 bench_nanosleep0 57424 ns 6967 ns 98218 bench_nanosleep0_slack1 6342 ns 6340 ns 110862 bench_nanosleep1_slack1 6310 ns 6308 ns 111064 bench_pthread_cond_signal 3.23 ns 3.23 ns 216726274 bench_assign 0.323 ns 0.323 ns 1000000000 bench_sqrt 2.64 ns 2.64 ns 265275643 bench_sqrtrec 4.40 ns 4.40 ns 160328959 bench_nothing 0.000 ns 0.000 ns 1000000000
by ozgrakkurt | 2025-09-29 16:57:55+00:00
FWIW, there is no inherent reason io_uring should be slower. Both implementations look pretty basic to me (checked method_*.c files). Doing thread pool io is much easier than using io_uring properly with all features so it might be possible that it will be better in the future.

You can compare worker_pool/io_uring/aio etc. using `fio` to see how different io approaches perform on the same hardware.
by ZpJuUuNaQ5 | 2025-09-29 16:58:00+00:00
>Chronic loneliness

Is it generally understood as feeling (being in a particular state of mind) as being lonely or just lacking social interactions in general, regardless of how one feels about it? Those two things, to my understanding, aren't the same. For example, I never had friends, and generally, I despise people. I have no "social life," and I wouldn't even be able to clearly define what it is without googling. If I lost my voice, I wouldn't notice that it happened for about a week. However, I don't feel like I am missing out on anything. Does that increase my mortality risk by over 30% or not? I only skimmed the sources, but may read it later.
by OutOfHere | 2025-09-29 16:58:01+00:00
I am in the minority who agrees with you that the code should be right.

Don't quit. Get fired instead (strictly without cause). In this way you can at least collect some severance and also unemployment. You will also absolve yourself of any regrets for having quit. Actually, just keep doing what you're doing, and you will get fired soon enough.

The other thing you can try is to ask for everyone to have their own project that they own, and for the assigned owner be fully responsible for it, so you can stop reviewing the work of other people.
by squigz | 2025-09-29 16:58:37+00:00
> Why would a criminal take time to comb through random, anonymous, uncategorized images of people to ambiguously identify someone who might not be home (and might not even have a house worth breaking into), when it’s much easier to just stake out wealthy neighborhoods and definitively see who’s not home and who has unsecured valuables, as has been done for centuries?

Knowing your target's movements and schedule has also been an integral part of crime since forever. Also, you are again focusing on the generic - the goal being hitting any wealthy target, not this particular target.

> So said stalker would have to run facial recognition software on every image on the internet to find the handful that might incidentally contain their victim? Someone that determined would just hire or use the methods of a PI, which have long been effective at finding people who don’t want to be found.

Maybe they know their target likes airsoft but, probably due to the stalking, has changed locations to try and get away. Looking at the few local airsoft places is probably way cheaper than hiring a PI. Can one easily hire a PI for stalking purposes, anyway? Seems like an industry that has some strong regulations but I don't really know.

Besides, you don't need to worry about things like a PI or finding random images if, for example, a friend or acquaintance in your group posts a lot. The stalker need only find that one person to keep an eye on their target - a very common tactic by abusers, by the by: being aware of your target's social circle and using it to keep tabs on them.

This also seems to focus on the physical aspect of it, as if getting attacked/kidnapped is the only possible result, but constantly getting messages like "Looks like you had fun at X" from an abuser can cause harm too.

> The solution here is to regulate what Google et al. can do with your data, not regulate what people can post online.

There are 2 separate issues. Should we regulate what people can post online? And should we expect people to respect our privacy, even if they're not legally required to? One is a legal question, the other is social/cultural.