MurphyA/hacker-news huggingface dataset:
by immibis | 2025-09-28 06:42:29+00:00
And Element are consistently just not working in various ways, different every time. For example, recently I tried to join a room address from another server and was told "can't join that because a server address wasn't specified" but another address on the same server says "room not found" so it clearly did know the server address.

And there's the whole thing where you have to always be signed into at least one device at a time. If there's ever a time when you're not signed into any device, you have to reset your encryption key which means losing access to all old messages plus sending a notification to everyone you're in contact with. And I've had times when the reset button also just didn't work, throwing some error, so I was just locked out.
by szopa | 2025-09-28 06:43:27+00:00
I first learned to play Go back in university, but never got very good (it was competing with learning how to program). Many years later, shortly after the war in Ukraine started, I was looking for an activity to share with my 8-year-old son. Life was chaotic then: everyone was anxious, we were hosting a refugee lady, and I could see the stress taking a toll on him. I wanted something where it would be clear we shouldn’t be disturbed – and Go fit perfectly. We started playing, and it was fun. One of the great things about Go is its elegant handicap system, which makes it possible for players at very different levels to still enjoy a fair, challenging game.

Since then, we’ve been going to the local Go club in Warsaw, and it’s become our main hobby. We play each other almost daily, travel to tournaments (sometimes abroad), and even spend our vacations at Go summer camp.

The camp is actually a magical event. It takes place at a campsite in the middle of the Kaszuby Lake District. The conditions are spartan – you either live in a tent or a five-person cabin, and hot water is scarce. But the crowd that gathers there is incredible. Over breakfast you might get an impromptu intro to lambda calculus, in the evening you might end up in a deep philosophical conversation, or hear travel stories from far-off places, or suddenly learn way more about knitting than you thought possible. When we first went, it felt like discovering our long-lost family.

The Go community is much smaller than chess, but also far more tight-knit and welcoming. I’ve heard chess can be more cutthroat, while in Go there’s this unspoken understanding that if you drive people away, you’ll have no one left to play with.

When I travel, I like to drop in on local Go clubs. It’s always been a great experience – I especially enjoyed visiting the San Francisco Go Club in Japantown.

I play almost exclusively over the board. I prefer long, thoughtful games, and I can’t really focus the same way on a screen.

Oh, and the anime about Go, Hikaru no Go, is really good (you should watch it even if you don’t care about the game).
by croon | 2025-09-28 06:46:41+00:00
> I've been dual-wielding Twitter and Bluesky for about a year (after a year off Twitter where I was mostly Mastodon), and, anecdatally, we've hit a point where the engagement and volume of stuff I see in Bluesky is lower than what I was getting even on Mastodon.

What do you count as "engagement"? Views/likes? Those can be produced. Interesting conversations that aren't obviously LLM can't. That's the metric I use for anecdotally seeing Bluesky (and Mastodon) as immensely more engaging in a signal/noise ratio.
by menaerus | 2025-09-28 06:47:12+00:00
Benchmark is simple but I find it worthwhile because of the fact that (1) it is run across 15 different platforms (different CPUs, libc's) and results are pretty much reproducible, and (2) it is run through gbenchmark which has a mechanism to make the measurements statistically significant.

Interesting thing that enforces their hypothesis, and measurements, is the fact that, for example, getpid and clock_gettime_mono_raw on some platforms run much faster (vDSO) than on the rest.

Also, the variance between different CPUs is what IMO is enforcing their results and not the other way around - I don't expect the same call to have the same cost on different CPU models. Different CPUs, different cores, different clock frequencies, different tradeoffs in design, etc.

The code is here: https://github.com/gsauthof/osjitter/blob/master/bench_sysca...

syscall() row invokes a simple syscall(423) and it seems to be expensive. Other calls such as close(999), getpid(), getuid(), clock_gettime(CLOCK_MONOTONIC_RAW, &ts), and sched_yield() are also producing the similar results. All of them basically an order of magnitude larger than 50ns.

As for the register renaming, I know what this is, but I still don't get it what register renaming has to do with making the state (registers) storage a cheaper operation.

This is from Intel manual:

Instructions following a SYSCALL may be fetched from memory before earlier instructions complete execution, but they will not execute (even speculatively) until all instructions prior to the SYSCALL have completed execution (the later instructions may execute before data stored by the earlier instructions have become globally visible).

So, I wrongly assumed that the core has to wait before the data is completely written but it seems it acts more like a memory barrier but with relaxed properties - instructions are serialized but the data written doesn't have to become globally visible.

I think the most important aspect of it is "until all instructions prior to the SYSCALL have completed". This means that the whole pipeline has to be drained. With 20+ deep instruction pipeline, and whatnot instructions in it, I can imagine that this can likely become the most expensive part of the syscall.
by tpxl | 2025-09-28 06:47:56+00:00
> housing should act as store of value

Why? Housing should act as a means to live decently. If my house depreciated to 0 once I'd built it, I wouldn't mind at all.

> You need socialism to do this efficiently

No you don't, you need to heavily tax empty and secondary residences and the issue solves itself in capitalism just fine.
by sph | 2025-09-28 06:48:16+00:00
> for people doing actual thinking work, they're just a tool that feeds back to you what you already know in different words. Super useful to help you think but it isn't thinking for you, it's a moron.

Beautiful description of AI. It’s the tech equivalent of the placebo effect. It does truly work for some, until you look closely and it’s actually a bunch of hot air.

Is a placebo worth a trillion dollars?
by gusgus01 | 2025-09-28 06:49:26+00:00
Just to solidify, I just went and created a new account to ensure I was right, and I was. You need to go to your settings, go to moderation, and enable adult content. I scrolled continuously for 5 minutes straight and saw no adult content on a default account. And on top of this, as far as I can google, Bluesky has never had adult content enabled by default, so if you are seeing it, you enabled it.
by coderatlarge | 2025-09-28 06:49:39+00:00
as i said if you want infinite dimensional things like Fourier transforms acting on function spaces you may benefit from additional abstraction. but even those people will benefit from having learned Rn first.

i’m as much with bourbaki as the next guy. but that’s not really how most engineers learn in practice.

as for treating linear maps between finite dimensional spaces as vectors that’s quite straightforward to do in coordinate terms.

again i refer you to the classics like Golub and van Lean that have been reprinted many many times and educated generations.
by JimDabell | 2025-09-28 06:50:01+00:00
The reason why I chose those examples is because they were already brought up in the thread here:

> I've found Bluesky does a really bad job at not showing me stuff I don't want to see. Furry p*rn on the "cute internet cats" feed? Yup.

— https://news.ycombinator.com/item?id=45397250

> i kept getting weird sexual posts of dudes in diapers, no matter how much i blocked or asked not to see that.

— https://news.ycombinator.com/item?id=45397733
by Too | 2025-09-28 06:50:56+00:00
This is trivial to solve by simply not having circular imports. Place the types in one file and the usage of it in others.

This has many benefits, like forcing you to think about the dependencies and layers of your architecture. Here is a good read about why, from F# that has the same limitation https://fsharpforfunandprofit.com/posts/cyclic-dependencies/

As others already mentioned, importing __annotations__ also works.
by bluecalm | 2025-09-28 06:51:18+00:00
>>First, this explicit code is likely wrong, and in fact Linus adds that “maybe you need to add a cast”.

When you write explicit code you know what types the a and be are in the context.

You don't write generic code but explicit specific code for that context. In some contexts you will need a cast and in some others you won't (hence "maybe").

The rest of the article reads like a parody. Instead of a clear, explicit one-liner the author arrives at a multiline function which still doesn't solve the main issue Linus pointed out (that you don't know which argument is high and which is low when you read the code and encounter that function).
by Ruarl | 2025-09-28 06:52:54+00:00
The neat thing about Go is that, whilst the winning strategy is exactly to think ahead and enumerate all possible positions, to do so is impossible. (Even the superhuman AI fudge it. They can just read farther ahead than humans.)

So to do well you have to learn how to support your reading ahead with heuristics and a feel for the game.

A famous amateur player and advocate for the game once went through all the game records of Go Seigen in order to digitize them. This means having to pore over hand-written diagrams looking for the next number in the sequence of moves. Obviously this is easier if you can guess where to look. But, if you guess them all correctly, then you are playing just as well as the old master! After spending a good few months on the task, he was a significantly better player!
by pjmlp | 2025-09-28 06:53:17+00:00
Usually it is an opinion held by folks without background in the industry.

Back in my "want to do games phase", and also during Demoscene days, going to Gamedev.net, Flipcode, IGDA forums, or attending GDCE, this was never something fellow coders complained about.

Rather how to do some cool stuff with specific hardware, or gameplay ideas, and mastering various systems was also seen as a skill.
by jkisiel | 2025-09-28 06:54:50+00:00
Working at a small startup, I evaluated numerous solutions for our LLM observability stack. That was early this year (IIRC Langfuse was not open source then) and Phoenix was the only solution that worked out of the box and seemed to have the right 'mindset', i.e. using Otel and integrating with Python and JS/Langchain. Wasted lots of time with others, some solutions did not even boot.
by pabs3 | 2025-09-28 06:55:11+00:00
There is a paragraph about that:

> Austria isn't just replacing Microsoft software. Unlike typical public-sector and corporate migrations, Austria's military has heavily invested in LibreOffice development itself. The armed forces have been funding the creation of new features and improvements that are now included in public releases. These additions, ranging from improved slideshow editing to better handling of pivot tables, have been rolled into the latest version of LibreOffice.
by procaryote | 2025-09-28 06:56:07+00:00
Just genereally, going around reviewing other people's discussions isn't really a valuable role in society

More specifically, it's nice to be polite, which Linus usually is.

Having a strong opinion about code is part of his job. Wording that opinion great every time and never showing any frustration, while working mostly with public, text based, permanently visible communication, is a pretty impossible standard.
by gusgus01 | 2025-09-28 06:57:51+00:00
By default bluesky blocks adult content, once you enable it you can dial in what kind of adult content you wish to see. I know this is all anecdotal, like the links you posted... But I started a new account to see what it's like. I can scroll the default algorithm for 5 minutes and not see anything questionable, and my actual account exists with adult content turned on and I never see it. After signing up the new account, I can search for furry or diaper content, but it appears that none of it is like "nsfw" (mostly just people in furry costumes or diapers but no sexual content or nudity).
by littlestymaar | 2025-09-28 06:58:26+00:00
> The redundancy we observe in language models might also explain why these systems can generalize so effectively to tasks they were never explicitly trained on

What year was this written? 2023 and reposted in 2025? Or is the author unaware that the generalization promises of early GPT have failed to materialize and that all model makers actually have been training models explicitly on the most common tasks people use them for via synthetic data generation, which has driven the progress of all models over the past few years.
by ninetyninenine | 2025-09-28 06:59:12+00:00
>Type annotations don’t double productivity. What does “increase safety by 2×” even mean? What metric are you tracking there?

My own anecdotal metric. Isn't that obvious? The initial post was an anecdotal opinion as well. I don't see a problem here.

>In my experience, the main non-documentation benefit of type annotations is warning where the code is assuming a value where None might be present. Mixing up any other kind of types is an extremely rare scenario, but NoneType gets everywhere if you let it.

It's not just None. Imagine some highly complex object with nested values and you have some function like this:

def modify_direction(direction_object) -> ...

wtf is direction object? Is it in Cartesian or is it in polar? Is in 2D or 3D? Most old school python devs literally have to find where modify_direction is called and they find this:

def modify_data(data) -> ... ... modify_direction(data.quat)

Ok then you have to find where modify data is called, and so on and so forth until you get to here:

def combind_data(quat) -> ... def create_quat() -> quat

And then boom you figure out what it does by actually reading all the complex quaternion math create_quat does.

Absolutely insane. If I have a type, I can just look at the type to figure everything out... you can see how much faster it is.

Oh and get this. Let's say there's someone who feels euler angles are better. So he changes create_quat to create_euler. He modifies all the places create_quat is used (which is about 40 places) and he misses 3 or 4 places where it's called.

He then ships it to production. Boom The extra time debugging production when it crashes, ans also extra time tediously finding where create_quat was used. All of that could have been saved by a type checker.

I'm a big python guy. But I'm also big into haskell. So I know both the typing worlds and the untyped worlds really well. Most people who complain like you literally have mostly come from a python background where typing isn't used much. Maybe you used types occasionally but not in a big way.

If you used both untyped languages and typed languages extensively you will know that types are intrinsically better. It's not even a contest. Anyone who still debates this stuff just lacks experience.
by sheepscreek | 2025-09-28 06:59:41+00:00
If you read the entire article, you’ll find a mention of an audience member pointing at a drone. Remarkably, the device/weapon was able to precisely bring that drone down without affecting any of the nearby drones. Clearly, they have something working for them. I can only imagine that it would be significantly more challenging than simply throwing a very wide EMP. Controlling an EMP is the seemingly impossible task, and they managed to succeed.
by chris_wot | 2025-09-28 07:00:18+00:00
You know, you can actually express your feedback without derogatory remarks. You don't need to sugarcoat it. Let's try that message from Torvalds again, without the diatribe and invective:

> No. The quality of this code is dreadful and it came in too late. I asked for early pull requests because I'm traveling, and if you can't follow that rule, at least make the pull requests good.

Slight tweak.

> This adds various poor quality code that isn't RISC-V specific to generic header files.

garbage -> code

> I am extremely upset that you have sent me such badly written code so late in a merge window.

you know, he's not so upset with the code, but he's upset with the timing. What's the bet he might have been a bit nicer if it had been sent in well before the merge window.

> Take for instance this make_u32_from_two_u16() helper function. This function makes code incomprehensible, and actively WORSE than not using it in the first place.

"That thing makes the world actively a worse place to live." but does it? Lots of things make the world a worse place to live in. Disease, crime, DOGE... but does a helper function actively degrade the ability to live in the world?

> If you write the code out as "(a << 16) + b", you know what it does and which is the high word. Maybe you need to add a cast to make sure that 'b' doesn't have high bits that pollutes the end result, so maybe it's not going to be exactly _pretty_, but it's not going to be wrong and incomprehensible either.

See, was that hard? I didn't change any of this.

> In contrast, if you write make_u32_from_two_u16(a,b) you don't know what the word order is. IOW, you just made things WORSE, and you added that helper function to a generic non-RISC-V file. If others people use this, then it will make other code worse too.

I hardly changed this, but I didn't sugar coat it.

> So no. Please don't include these sort of functions in the code. It does not go into generic header files, and it damn well does not happen late in the merge window.

Note I kept in the "damn well".

> You're on notice: no more late pull requests, and no more unrelated code outside the RISC-V tree.

This is fine. Torvalds is upset, for good reason.

> Now, I would hope there's no similar code inside the RISC-V parts, but that's your choice. But things in generic headers do not get polluted by this sort of stuff. And sending a big pull request the day before the merge window closes in the hope that I'm too busy to care is not a winning strategy.

Smallest tweak.

> So you get to try again in 6.18. EARLY in the that merge window. And without the garbage.

No change, even got a chance to use the word "garbage".

Perhaps I should put this in a way that you might enjoy though: Torvalds is a dick in his communication and a stunted human being. His inability to communicate to others makes them feel bad despite the fact they evidently put in a lot of time and effort to make things better and when they make him angry he can be a petty little shithead who has no control over his emotions.
by 0000000000100 | 2025-09-28 07:01:34+00:00
Depends a lot. Use it for one off scripts, particularly for anything Microsoft 365 related (expanding Sharepoint drives, analyzing AWS usage, general IT stuff). Where there is a lot of heavy context based business logic it will fail since there’s too much context for it to be successful.

I work in custom software where the gap in non-LLM users and those who at least roughly know how to use it is huge.

It largely depends on the prompt though. Our ChatGPT account is shared so I get to take a gander at the other usages and it’s pretty easy see: “okay this person is asking the wrong thing”. The prompt and the context has a major impact on the quality of the response.

In my particular line of work, it’s much more useful than not. But I’ve been focusing on helping build the right prompts with the right context, which makes many tasks actually feasible where before it would be way out of scope for our clients budgets.
by burnt-resistor | 2025-09-28 07:04:29+00:00
Neat. I remember when the X2, 56K, and V.92 came out and made previously painfully-slow 28.8K modem speeds less terrible by comparison, which itself a nearly performance doubling of 14.4K modems.

A reminder that first bit/byte/packet/etc. latency can never be reduced by adding more channels.
by geocar | 2025-09-28 07:05:25+00:00
> Not everybody buying these has a Ph.D. in physics and if it says 148 V on the label and 150 V on the other label then it's your product that has a problem, not the customer.

Idk. I don't have a PHD, but 220V sounds like 240V to me. I wouldn't do this.

I feel like getting advice about how to wire up electronics should not be so hard.

> Maybe they should just improve their product to make it more resiliant

Adding "resilience" usually adds to the per-unit cost. I think making a web page adds some cost too, but at least that can be amortised.

> And no matter what happens, customer support should help the customer, not blame them.

I think that's happening here: Making a web page to educate future customers seems like a really good idea. I wouldn't have thought that necessary until I saw it, but I'm always excited to learn something new.

The existing customers who did dumb should consider this a relatively cheap education in electronics; cheaper than a PHD at least!

Also, whether the company also gave them rebates or credits we don't know here, but telling "customer support" they "should help the customer" is also telling them they're not helping the customer, and you don't know that.
Show HN: Selen – Constraint Satisfaction Solver in Rust
by aquarin | 2025-09-28 07:06:58+00:00
This project originated from my need for a constraint solver in a cutting optimization project. After evaluating existing solvers, which were primarily bindings to large C/C++ libraries with numerous dependencies, I decided to develop my own solution. Over several years, I experimented with various approaches, resulting in a self-contained implementation.

The solver handles constraints with integer, float, and boolean domains, supporting arithmetic, logical, and several global constraints (alldiff, element, count, table).

While performance continues to improve, it is not intended to compete with large commercial solvers.
by guiriduro | 2025-09-28 07:07:25+00:00
I'm divided, a lot of people internally and from suppliers depend on them for work. Equally they are majority owned by an indian company (Tata) now that also mandated they use their useless in-group IT outsourcer whose secrity appears to be pretty lax. In the end I'd say the govt should make the condition for a loan that they dilute out much of the equity holders / share out the loss - in order for them to step in and prevent a total loss, and so the taxpayer gets some longer term contingent benefit.
by decafninja | 2025-09-28 07:12:11+00:00
I wanted to be a fighter pilot when I was a kid. I also wanted to be a racecar driver.

Today, I love sports cars. I’ve had a few fast cars, and owning a 911 is on my bucket list.

Funny enough, I have no interest in learning to fly. Though I’m still very into military aviation as a topic.

Maybe it’s because the delta between say, a 911 and a racecar is smaller than that between a civilian prop plane and a fighter jet?