MurphyA/hacker-news huggingface dataset:
by limgravelogger | 2025-05-17 20:18:36+00:00
Yum Yum Go helps children develop healthy eating habits through gamification.

Key technical features:

Completely offline after installation Zero data collection, all information stored locally on device No ads or in-app purchases Interactive food group wheels and drag-drop meal planning Simple stand-alone puzzles Has a superhero character that shares fun facts about food items

Children learn nutrition concepts by spinning food wheels, creating balanced meals, and solving puzzles that unlock dessert rewards.

The app teaches moderation rather than restriction.

Would appreciate feedback from the HN community, especially regarding our approach to privacy and offline functionality. Made this in flutter and cursor
by PaulRobinson | 2025-05-17 20:18:54+00:00
If the function is called from 37 places, you need to refactor your code, but to answer your question on that point: it depends. DRY feels like the right answer, but I think we'd have to review an actual code example to decide.

On examples where you're talking about a library function, I think you have to accept that as a library you're in a special place: you're on an ownership boundary. Data is moving across domains. You're moving across bounded contexts, in DDD-speak. So, no, you look after your own stuff.

EnterCriticalSection suggests a code path where strong validation on entry - including if conditions - makes sense, and it should be thought of as a domain boundary.

But when you're writing an application and your regular application functions have if statements, you can safely push them out. And within a library or a critical code section you can move the `if` up into the edges of it safely, and not down in the dregs. Manage your domain, don't make demands of other people's and within that domain move your control flow to the edge. Seems a reasonable piece of advice.

However, as ever, idioms are only that, and need to be evaluated in the real world by people who know what they're doing and who can make sensible decisions about that context.
by dleary | 2025-05-17 20:19:04+00:00
I think it's far from useless... Because it helps to focus on what could possibly be happening. It's not "true enough for an 8 year old's purposes", it is the actual truth.

The air is being accelerated downwards by the airplane. Newton's third law. To stay aloft, the airplane has to manufacture a counteracting force to gravity. And the only way to do that is by accelerating something downwards.

So, we can discuss whether or not the curvature of the airfoil matters, or the angle of attack matters, but the simple fact is that a lot of air has to be accelerated downwards somehow for the plane to stay up.

And the more magical descriptions of lift, including the broken Bernoulli airfoil model that was accepted for so long, are easy to discount once you focus on this important fact.
by jxjnskkzxxhx | 2025-05-17 20:19:20+00:00
I would argue Monty python is in fact not an exception. Their best sketches are just outstanding, but their median sketches are very unfunny indeed.

The actual exception is e.g. the life of Brian where you have 90 minutes where almost every scene is funny or at least engaging. Compare with e.g. the holy grail where the best 90% is quite good but the rest is... Not...
by dlubarov | 2025-05-17 20:21:06+00:00
With the ICC's indictment of Putin, my understanding is that at the time Ukraine hadn't formally ratified the Rome Statue yet (so the clause I quoted wouldn't apply), but they had accepted the ICC's jurisdiction in a more limited capacity which gave the ICC a slightly different way of asserting jurisdiction.

As far as I know, Hamas is not a party to the Rome Statue and also has not accepted ICC jurisdiction the way Ukraine did; Hamas welcoming a particular case doesn't really help with the ICC's jurisdictional claim.

(I'm also not sure the ICC would allow Hamas to become a party or accept jurisdiction, since they're operating in a sort of alternate reality where a different entity is the government of Gaza, but that's another matter.)
by terminalbraid | 2025-05-17 20:22:10+00:00
Please note this heinous and inexcusable overreach is over five years old and was addressed shortly after being caught:

https://web.archive.org/web/20200307082846/https://community...

Wacom now has an opt-in for data collection.

What should be the real continuing inexcusable outrage is that Windows, even today, grants all applications full access to read the titles of all windows with no way to disable it.

If you run Windows, ask yourself what information that leaks and if you trust everything running on your machine not to exfiltrate that.
by AnthonyMouse | 2025-05-17 20:22:39+00:00
The way authoritarianism work is they pick some enemy to rally against and convince people that the ends of stopping that evil justify the means of becoming evil. The problem with this is that it can garner 51% support within the population for temporary periods of time, so you need a system that can prevent it even in that environment. This typically means that violations of fundamental rights should require significantly more than 51% popular support or require changes in public sentiment to stick for a period of time before they can make foundational changes (e.g. only a third of the US Senate being up for election every two years).
by Arnt | 2025-05-17 20:23:55+00:00
Show, don't tell.

Try answering some of the recently closed questions on SO, see how much time you're willing to spend on them. (As a practical matter: You can do it with the comment function, or search for questions that have two votes to close already.)

Any mode of answering is okay. If you find out that it's not deathly tiring, let us know how.
by two_handfuls | 2025-05-17 20:24:24+00:00
Oh that's a cool coincidence, I was just watching a video of someone coding a game without a laptop. In their case it's a VR game on a VR headset (based on Android), using Godot.

It's not really related I know but it's neat how all those not-strictly-computers are getting more useful!

Edit: forgot the video link! It's https://youtu.be/4ZAzi-4Ko3g?feature=shared
by celsoazevedo | 2025-05-17 20:25:12+00:00
Seems to be a serious problem. It's not that hard to root a phone, install NSG, and look at this info. O2 is also the largest mobile network in the UK and they have contracts with the government...

It's disappointing that they didn't reply, but I'm not surprised. O2 seems to be a mess internally. Anything that can't be fixed by someone at a store takes ages to fix (eg: a bad number port). Their systems seem to be outdated, part of their user base still can't use VoLTE, their new 5G SA doesn't support voice and seems to over rely on n28 making it slow for many, their CTO blogs about leaving "vanity metrics behind"[0] even though they are usually the worst network for data, etc.

[0] https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-...
by theamk | 2025-05-17 20:25:13+00:00
Nice, so many gems!

> You see, MinorMiner also has a maths learning platform that we sell to schools all over the world. Our platform isn’t particularly good, but we give department heads a generous revenue share and so this tends not to matter. Once a teacher (or “distribution associate” as we like to call them) ...

> The reason that we don’t do this already is because most children can’t calculate even a basic 8-bit XOR. I know! I was as shocked as you when I found out. But these kids aren’t stupid; their ignorance isn’t their fault. They’re being let down by a broken system that fails to teach them the skills they need to compete in today’s highly-specialised economy. This is why we’ve successfully lobbied to have XOR calculations added to the first grade syllabus, starting in the coming autumn term.

> And what will we do after AI? Cloud computing, ladies and gentlemen, cloud computing. Children are commodity hardware. Our big, audacious goal is to implement an entire computer using them. Everywhere that a computer normally has an electron, we’ll replace it with a school-aged child doing their maths homework.
by A_D_E_P_T | 2025-05-17 20:25:20+00:00
lol, I wrote a very similar comment here a few days ago:

https://news.ycombinator.com/item?id=43964524

It's true, that paper is nonsense. There's not really much else to say. Preprint servers sometimes publish the sort of stuff that wouldn't pass peer review. (Remember that S.Korean "superconductor" from about two years ago!?) The press should be cautious when writing about it.
by avianlyric | 2025-05-17 20:25:26+00:00
> a database object exists, and creating it if not. Imagine your filesystem or database library either doesn't have an upsert function to do this for you, or else you can't use it because you want some special behaviour for new records (like writing the current timestamp or a running total, or adding an entry to a log file, or something).

This is why databases have transactions.

> simple example where you're checking if a file exists

Personally I avoid interacting directly with the filesystem like the plague due to issues exactly like this. Working with a filesystem correctly is way harder than people think it is, and handling all the edge-cases is unbelievably difficult. If I'm building a production system where correctness is important, then I use abstractions like databases to make sure I don't have to deal with filesystem nuances myself.
by immibis | 2025-05-17 20:25:30+00:00
That's normal for colocation. It's not a jellybean service. It's something you have to individually negotiate with your supplier. We've been spoiled by being able to rent virtual servers that are all the same within one provider. Colocation is not all the same. ("Jellybean" is what electronics people call basic parts that are commodities, as opposed to, say, highly specialized integrated circuits. Some say it comes from when electronic part stores would have them in jellybean jars. You could just grab one out of the jar because the individual differences didn't really matter.)

There are some places that have jellybean colocation offers (e.g. Hetzner does - notice their normal business is jellybean servers and they run their own data centers, so it looks like a no-brainer to fit colocation into that business model), but it only covers a small portion of colocation possibilities.

But typically colocation is just one of those products where every deal is fully custom. That's just how it is. So you have to buy enough of the product to make it worth the salesman's and engineer's time, meaning at least a couple hundred dollars a month worth.

By the way, the same is true for business internet access. If you pay the cheapest price for internet (as every residential user does), you get the same basic service as everyone else. But if you're willing to spedn enough money, your ISP will negotiate with you. Though I hear it sometimes takes some prodding to get past the "residential area == ordinary residential connection" assumption (and in many cases their network may not support certain upgrades). And it's true for business transactions in general. You want five screws, grab the best match off the shelf. You want five million screws, we'll make them to your exact specifications boss. (Also related: If you owe the bank a hundred billion dollars, the bank has a problem.)
by jedberg | 2025-05-17 20:25:35+00:00
I've been saying this forever!! When I was a teen in the 90s, I got new music from the radio. The music director picked 40ish songs a week and that's what we listened to. I still like to listen to the radio for the curation.

I even wrote a program to scrape the websites of my favorite radio stations (well the stations of my favorite music directors) and add the songs to a Spotify playlist.

Whenever I meet a teenager today, one of the first things I ask them is "what apps do you use most", but the next thing I ask is "how do you find new music".

The answer is usually something like "I don't know, I just sort of find stuff I guess?". Some have said they follow influencer's playlists on YouTube or Spotify, which I guess is the new version of the music director? Or they just get it from Spotify playlists.

But what's missing is a shared cultural experience. In the 90s, everyone at my school knew those 40 songs that the local stations played. They might know other stuff too, but you couldn't avoid those top songs. It's not the same today. And it's the same problem for visual media. We all knew the top movies at the theater, because it was the only place to see new movies. And we all knew the top TV shows because they were only on four major networks.

Kids don't have a shared cultural experience like I did.
by WalterGR | 2025-05-17 20:27:09+00:00
Area 5150 is a demo. More about it: https://www.vogons.org/viewtopic.php?t=89435

(For those unfamiliar with “demo” in this context, see https://en.m.wikipedia.org/wiki/Demoscene)

Interesting submission from about a week ago:

"A cycle-accurate IBM PC emulator in your web browser" https://news.ycombinator.com/item?id=43888007

It runs Area 5150 upon launch, so that's a good way to see the demo if you don't have an IBM 5150 handy.
by Proofread0592 | 2025-05-17 20:27:31+00:00
I have a very skeptical worldview, and whenever I see any of these companies that offer to "protect your kids" by managing and monitoring their data, I always just assume they are gathering data to sell to advertisers.

And sure maybe they don't go into business with that mentality, but when the company inevitably goes under, the first thing they're going to do is sell off the data to the highest bidder.
by numpad0 | 2025-05-17 20:28:10+00:00
I must admit that I'm in fact not a native English speaker and my sentence construction is still jarring at times... sorry for that.

That distinction was not intentional, but IIUC, chemical reactions propagating faster than the speed of sound(of surrounding material, not necessarily of air(which idk how is it even defined, ductile limit or something(of air!?))) has effect of consolidating what would normally be multiple consecutive waves of density changes following one another, into a single shockwave with higher peak pressure, and higher peak pressure in an engine is generally thought to lead to higher exhaust gas velocities and better efficiencies so long that the engine holds. I think this is what some comments mentioning P-V diagrams and Carnot efficiency is meaning to say, except mine is in uneducated terms.
by neonsunset | 2025-05-17 20:28:13+00:00
Wait, what? The => operator is just for lambdas, short-form returns and switch expression arms, which is as common as it gets!

Have you never worked with any other language which lets you do these?

var say = (string s) => Console.WriteLine(s);

or

struct Lease(DateTime expiration) { public bool HasExpired => expiration < DateTime.UtcNow; }

or

var num = obj switch { "hello" => 42, 1337 => 41, Lease { HasExpired: false } => 100, _ => 0 };

You'll see forms of it in practically every (good) modern language. How on Earth is it confusing?

Authentication is generally a difficult subject, it is a weaker(-ish) aspect of (otherwise top of the line) ASP.NET Core. But it has exactly zero to do with C#.
by titzer | 2025-05-17 20:28:18+00:00
I have these same AR glasses and I really like them. The one downside is that they don't seem to handle heat too well--they'll crash if I run them in full sunlight for more than a few minutes. Also, they are not really AR--they are just a floating screen, and supposedly there is motion-tracking hardware, but no software. That's OK; a big floating screen that is fixed to my head is actually good.

In full sunlight I think this requires opacity. I lost the plastic cover for the lenses and I hacked up some cardboard thing.

These glasses have a really cool 3D side-by-side mode. The button activation is awkward, but it effectively turns this into a 3840x1280 screen. I couldn't really find much desktop support for this, but there are a few YouTube videos that are 16x9 SBS and they look really really cool. Unfortunately in this mode the desktop is then super-wide and spread across two eyes, so it's almost impossible to use a regular laptop with them. A 3D OS desktop would be killer on these!

I didn't try to go full mobile with a phone.

The cord is somewhat annoying, but I think I prefer it over a big stupid battery and some wireless protocol.

One wrinkle is that the interface is USB-C. The glasses need power, and though you can/could power them over HDMI, they don't support that. You need the device to support HDMI over USB-C and recognize the glasses as a display. The manufacturer offers a completely hilarious battery-powered HDMI-to-USB-C adapter. I have no idea why there is no powered solution; maybe there is.
by permo-w | 2025-05-17 20:28:35+00:00
I enjoy the way you think and phrase your thoughts (are you on ketamine?), but I think that publicly-owned broadcasting, particularly (exclusively) the entertainment side of things, is the opposite of republic misdesign. it's a freak accident of something very very positive and joyful and broadly selfless rising above the waves of self-interest and corruption and misery.

I think the news part of the BBC should be removed, maybe spun off into a separate entity
by haswell | 2025-05-17 20:28:54+00:00
> It certainly is causing more pain than it's solving.

My middle ground approach has been to use containers and fall back to a more traditional Linux approach within those containers when I don’t want to be bothered (or just don’t need) to figure out the Nix Way.

If it’s something that’s core to my daily setup, I’ll still invest the time to bake it into my NixOS config, but using fallbacks like this has been a good middle ground for me that allows me to take advantage of the best parts of NixOS without adding undue pain when spinning up experiments.
by abathologist | 2025-05-17 20:29:53+00:00
> Personal transformation is as significant, if not more

I would include personal transformation. I think it should be clear that my point is not against "production-oriented pastimes" in any way.

> It's about doing for the sake of being.

Yea, this is totally aligned with my view too. I'd just note that being is not separable from becoming and changing.

I'm afraid you either didn't read me well, or I didn't write my intended sense well, or both. But I think we are pretty much in agreement in any case, assuming I understand what you've written here :D
by bbatsell | 2025-05-17 20:30:44+00:00
My understanding of the purported reasoning behind the reversal was:

- They required airlines to implement cameras to monitor the hall leading up to the cockpit so that the pilot in the cockpit can verify who is requesting entry (without this, they still must follow the rule — Ryanair chose not to retrofit, so they continue to use attendants who can look out the peephole).

- In testing, they decided that the extra time that the cockpit door was unsecured during the switchovers in tight spaces was more dangerous than trying to solve the suicidal pilot issue with better mental health monitoring.

(My own note, we know that suicidal actors have no problems taking weapons to their copilots or whatever attendant is stuck looking out the peephole, e.g. FedEx 705.)
by Zak | 2025-05-17 20:30:50+00:00
Wüsthof prints the steel it uses on the blades of many of its knives: X50CrMoV15[0], which is also called 1.4116 and 5Cr15MoV.

It's not in OP's tool, but this article[1] by metallurgist Larrin Thomas includes it. His ratings are 2.5 for toughness, 2.5 for wear resistance, and 8 for corrosion resistance. It is a bad steel for any kind of knife and especially bad at Wüsthof's prices.

[0] https://zknives.com/knives/steels/steelgraph.php?nm=X50CrMoV...

[1] https://knifesteelnerds.com/2021/10/19/knife-steels-rated-by...
by progbits | 2025-05-17 20:31:04+00:00
The entire MCP mess is not even necessary with protobufs. Just give the LLM a gRPC server endpoint. Done.

No need to invent protocol for listing the tools or listing their schema. Just ask the gRPC server for the supported methods, look at the protobuf schema. This is mostly solved and supported out of the box. One potential improvement would be to have the server reply with original protobuf source, including comments, for even better semantic understanding.

No need for the absolute disaster of multiple HTTP requests + SSE, servers which need state to deal with session ids and all the problems that causes. It's just a gRPC channel and streaming methods.

And auth? Just shove credentials into the metadata. We can standardize that format, or have server reply what it supports.

Sigh... I feel like ten years ago garbage like this would be ignored or replaced with something actually sensible. But now nobody cares or feels the pain of the bad spec, they just vibe code some more mess on top of it and keep growing the ~ecosystem~ swampland.
by sparkie | 2025-05-17 20:31:05+00:00
The point was more that, you shouldn't always try to remove the branch from a loop yourself, because often the compiler will do a better job.

For a contrived example, we could attempt to be clever and remove the branching from the loop in the first example by subtracting two from every value, then add three only for the odds.

for (int i = 0; i < length ; i++) { values[i] -= 2; values[i] += (values[i] % 2) * 3; }

It achieves the same result (because subtracting two preserves odd/evenness, and nothing gets added for evens), and requires no in-loop branching, but it's likely going to perform no better or worse than what the compiler could've generated from the first example, and it may be more difficult to auto-vectorize because the logic has changed. It may perform better than an unoptimized branch-in-loop version though (depending on the cost of branching on the target).

In regards to moving branches out of the loop that don't need to be there (like your check on the length) - the compiler will be able to do this almost all of the time for you - this kind of thing is standard optimization techniques that most compilers implement. If you are interpreting, the following OPs advice is certainly worth doing, but you should probably not worry if you're using a mature compiler, and instead aim to maximize clarity of code for people reading it, rather than trying to be clever like this.
by landl0rd | 2025-05-17 20:31:10+00:00
I am not surprised. We've known for a while old OS design can't fix this. Not in a comprehensive way. We can patch over specific cases but the basic design is wrong. Capability-based OSes like mobile ones tend to work better here.

We can't keep assuming code run on-device is trustworthy. Not just in the "not malware" sense. In that of "does what the user wants and nothing more, nothing less."
by surgical_fire | 2025-05-17 20:31:52+00:00
What kind of Junior devs are you people hiring that you still need to do a lot of work to get it production ready?

I work with Junior devs. They are Junior in that they have to be pointed in the direction they must work, and would be out of their depth in guiding the implementation of major features. But simple code changes are pretty fine.

LLMs are useful, I kind of like them as code assistants, but they are very far of being even a Junior dev in terms of actually performing work.
by cbull | 2025-05-17 20:32:57+00:00
Your house is wired with an alternative and you can't imagine people who DON'T have that infrastructure are looking for a way of doing smart automations?

I have been using HA for years and I love it, it does what I need it to do while operating quietly in the background. I don't have any devices that are "cloud based" so I don't care if the vendor goes out of business or not.

My stuff is a mix of wifi, z-wave, and my cameras are ethernet cabled but can be integrated with onvif.

My house was also built in 1958, there's no chance I'm running KNX cabling anywhere, much less all the places I have devices.