MurphyA/hacker-news huggingface dataset:
A new open-source license model that requires profit-sharing with charities
by lopanapol | 2025-05-08 12:27:07+00:00
How can I improve this license to make it better and more useful for others?

https://github.com/void-sign/noesis/blob/main/LICENSE

Thank you for your feedback. I respect all opinions. ฺ Best, Napol Thanarangkaun
by mike_hearn | 2025-05-08 12:27:45+00:00
SGX is very useful. Source: I built a product that made it easier to use and we explored a lot of use cases as part of that.

Firstly yes SGX is designed to block firmware attacks. That's a part of the threat model indeed.

Secondly, you can't feed data from SGX enclaves directly to hardware devices. It's encrypted data in, encrypted data out. Of course, data must pass through the untrusted host OS and hypervisor, but that is no problem, it's how it's designed to work. That's why the clients of the enclave handshake with it using remote attestation.

You can block side channel attacks with SGX if you are careful. The enclave transitions do clear uarch state in the ways needed, the rest is app-level stuff (but it has to be).

I used to see a lot of confusion about stuff like SGX because some people don't realize it's only intended to be used with remote attestation. If you don't have a smart client that's remotely attesting the enclave over a network, it isn't going to get you anything. That requires changes to app architectures.
by prmoustache | 2025-05-08 12:28:04+00:00
>> Some customers of these would fit this, but I suspect the vast majority of the valuation is from delivering food to people who could pick it up themselves if they had to.

> That's just bullshit. You don't know how far away the restaurants are and how many people don't own cars or if they do, the traffic back and forth and wait time would be more than a guy on a motorbike.

But they had to before deliveries were so widespread and common. Sure pizzas have been delivering for decades but I think a fraction of the population was simply better prepared and would always have something ready to heat / easy cook whenever they wanted.

I think the offering somewhat induced the lazyness.
by rurban | 2025-05-08 12:28:44+00:00
fine grained.

there's no god-mode who can do everything. there's no universal kernel level. micro means only minimal things happen in the kernel or at root level, like routing messages.

even windows understood that those times, when they did split Administrator from System. linux followed then with system users for certain services. but capabilities only allow certain calls at certain times. there's no setuid 0, only cap this and cap that for this admin user for a certain time range.

BTW, SElinux is the default on a proper linux like Redhat. I use it daily. I also have to adjust the ssh caps, not just the firewall settings. Everybody wants that, just not the debian nobs.
Show HN: Board Buddy – Open-Source Score for Board Games
by GlebShalimov | 2025-05-08 12:28:47+00:00
Hi HN,

I recently finished and launched a side project I’ve been working on: Board Buddy – a free and open source mobile app that helps track scores and game rules while playing board games with friends.

I built it completely solo — design, development, architecture — and made it open source from the start.

Links:

App Store: https://apps.apple.com/app/board-buddy-score-counter/id67439...

Google Play: https://play.google.com/store/apps/details?id=com.khlebobul....

GitHub: https://github.com/khlebobul/board_buddy

Official site: https://boardbuddyapp.vercel.app

Would love any feedback or thoughts — especially around UX, performance, and features you'd find useful in this kind of app. PRs and stars are very welcome too!
by bluGill | 2025-05-08 12:29:57+00:00
At the point where you convert to unitless you lose all the benefit of strong types. Which is a trade off maybe you can accept. One part of that trade off that you are adding the ability to convert to unitless and thus making it easy to use unitless where you shouldn't.

there are many different ways to implement unit systems. I know of 3 other attempts someone made on just our project to make units work before we settled on this one. There are trade offs and I don't mean to imply I have presented the correct answer for your problem. Only that because of many other reasons (not stated because of NDA) this is the best compromise for us. Your problem is different and you will need to find your own solution. There are lots of possible answers and each has a set of pros/cons. If your problems are simple than you can find an off the shelf answer, but if you need to do complex things you will need to consider what you really want.
by rsynnott | 2025-05-08 12:30:55+00:00
> Any small company that relies on profits from the last batch to fund the next batch will certainly just be killed or need to acquire debt to fund purchasing of parts/stock under new tariffs.

That's pretty much _all_ small companies, whether by actually selling the products or by borrowing or otherwise fundraising on the basis of future revenue. Few companies can just go "oh, our inputs are doubling in price, we'll just double the sticker price and everything will be fine"; few markets work like that.
by ThinkBeat | 2025-05-08 12:31:08+00:00
From life in Oslo, Norway.

In so far as improving the comfort of passengers using mass transit the best way to attract more travelers and retain travelers is to run enough busses, trains, subway trains, during rush hour so that the passangers are not packed like sardines ass to dick for 30 mins or more twice a day.

Then cooling inside the inside the passaenger area is also key Sweating like a pig while playing a sardine makes the experience even worse.

Starting work drenched in sweat and the smell of other poeples perfume and cologn is not a good start.
by josephg | 2025-05-08 12:31:15+00:00
So to be clear about your example: You have a whole lot of different - totally distinct - types of things, which all need to have the same logic to cache HTTP requests? Can you give some examples of these different types you're creating? Why do you have lots of distinct types that need exactly the same caching logic?

It sounds like you could solve that problem in a lot of different ways. For example, you could make an HTTP client wrapper which internally cached responses. Or make a LazyResource struct which does the caching - and use that in all those different types you're making. Or make a generic struct which has the caching logic. The type parameter names the special individual behaviour. Or something else - I don't have enough information to know how I'd approach your problem.

Can you describe a more detailed example of the problem you're imagining? As it is, your requirements sound random and kind of arbitrary.
by dgacmu | 2025-05-08 12:31:54+00:00
"much" more might be overstating it? We get about 6% more UV:

https://www.sciencedaily.com/releases/2010/03/100316142529.h...

Which corresponds with the ozone layer being about 5% thinner:

https://www.clo.nl/en/indicators/en021819-ozone-layer-1980-2...

Not good (or good for us) but also not a huge huge change, since we stopped the thinning of the ozone layer mostly in time.
by orwin | 2025-05-08 12:32:36+00:00
The idea of cryptohieroglyphs is accepted as true it seems (at least in France), even though most Egyptologist think they are highly interpretative: think about literature and how some literature expert would interpret Poe's books (sorry only classic US author i know beside Kerouac), except worse.

Still, it's clear ancient egyptians loved their puzzles, the clear interpretation of what they mean is what elude us.
by ghaff | 2025-05-08 12:33:12+00:00
You have to believe that the market for even mid-range audio/home theater gear is rapidly shrinking. I had my house cleared out because of a kitchen fire/smoke mitigation and I'm not sure--even assuming everything is declared OK--how much effort I'm going to put into hooking everything backup as I really didn't use it a lot. (Have a new TV/soundbar/subwoofer in another room.)
by prmoustache | 2025-05-08 12:34:55+00:00
I am not arguing about the principle of getting food delivered but on the actual result. The experience is just crap between delays, errors, state of the food at delivery. It is like when you compare the picture of a burger in an ad and look at it on your tray when you actually get it at McDonalds or Burger King.

But I guess a fraction of the population just want food to stay alive (at least the next day) and don't really care about the experience and enjoyment of actually eating it. Same reason some people buy and eat junk food on a regular basis.

It is crazy because some societies manage to make fast food quick and easy to get while still being an enjoyable experience. Like going down the street to eat Tacos or Esquites in Mexico. The food itself may not be the healthiest one but at least it is always warm and ready when you want it and tasty and there is always a place to go close to wherever you happen to be. So you just happily fetch it in the street, have a laugh with the owners or other customers and then resume your business without having to order stuff on a smartphone and wait forever to get something crappy.
by camtarn | 2025-05-08 12:35:26+00:00
It's an interesting idea.

When talking about triggering over a certain threshold before the clutch is engaged, I'm guessing you mean detecting the hand throttle being let go particularly quickly after a downshift blip? I don't have any real evidence for this, but based on how I think I use the throttle when riding, I feel like this would have a very high false positive rate unless you're deliberately using the throttle very gently in normal riding; or a high false negative rate if you tune it so it only activates on really aggressive throttle blips. It would probably be more reliable to just trigger off high vacuum once the clutch has engaged.

Also, I'm not 100% sure but I don't think my bike has any vacuum tubing you could tap into - it doesn't have a vacuum brake servo like a car. So you'd have to drill into the intake manifold to mount a sensor.
by rsynnott | 2025-05-08 12:35:29+00:00
You kind of saw this with Brexit as well; it was marketed by its proponents as somehow helping small businesses, but of course in the end it hurt or killed them; its impacts on the likes of Amazon, while not nothing, were more muted.

(Brexit, mind you, was on most dimensions not as a severe as the Trump tariffs; it's really going to be very ugly a few months down the line if they're maintained.)
by derektank | 2025-05-08 12:35:58+00:00
The last big push for a secure national identity system was during the 90s as part of the negotiation on the Illegal Immigration Reform and Immigrant Responsibility Act of 1996. It was opposed by fundamentalist Christians then, but it was more vociferously opposed by civil libertarian groups like the ACLU and the EFF, Cato, as well as immigrant rights groups like La Raza.
by naming_the_user | 2025-05-08 12:38:19+00:00
100% this - make it more comfortable and handle the rush.

I live in London, we have tons of public transport.

In the middle of the day, outside of rush hour, I use it a lot and it can be really pleasant, particularly suburban rail, you can stretch out a bit, there is often air conditioning, a nice view from the window, etc.

When it's busy I will drive even if it takes longer because my car is guaranteed to have personal space and is clean.
by thdn | 2025-05-08 12:38:44+00:00
Location: Bolivia (GMT-4)

Remote: Yes

Willing to relocate: Yes (USA, Germany)

Technologies: C#, Go, Python, Java, Zig, PHP, Lua, shell/bash, Kubernetes, Docker, Helm, Terraform, Ansible, Linux, Oracle Technologies, PostgreSQL, MySQL, SQLite, influxDB, SQL, PL/SQL, Grafana, gRPC / Protobuf, LXD, Incus.

Résumé/CV: https://drive.google.com/file/d/1nC_ggrSe3ya_2o0D8jOnFjhtiZj...

Email: danielriosb <at> protonmail [dot} com

I'm a Systems Engineer, staff-level generalist with ~20YoE. Seeking backend & cloud infra roles. Ideal job would be planning, designing (CRDs, operators), monitoring and troubleshooting K8s clusters. Passionate about working with Go, Zig, codebases.

Looking for full-time/part-time/contract positions on GMT-4 timezone up to 2-3 hours overlap. Immediate availability and open to work for an entry level pay for the right opportunity.
by MarkusWandel | 2025-05-08 12:39:21+00:00
It gets really fuzzy about what technology is stolen, legally appropriated etc. Engineering is continuous improvement.

https://en.wikipedia.org/wiki/Transrapid

That was the original high-speed maglev train. The western market didn't go for it and development was abandoned. China took it and ran with it. So who invented it, really? And does it even matter any more?
by ramesh31 | 2025-05-08 12:39:31+00:00
>Stealing most crypto money is about the dumbest thing ever, because all transactions (for most such currencies) are open to the public to scrutinise and de-anonymous at their leisure. And the police is included in 'the public'.

People keep saying this, and yet it keeps happening. You seem to have far more faith in the police than is warranted. Exactly how many investigations have ended in an arrest and recovery of funds from these actions? I'm guessing somewhere near zero for anything not directly involving government or corporate interests.
by bluGill | 2025-05-08 12:40:43+00:00
I agree, but that costs a lot money. It costs $100/hour (this is likely low since I haven't checked in several years what inflation has done) to run a bus. That is one bus, even a tiny city will need more than 100 buses to just provide bad service, and would need 5-10 times as many just to give good service. If running buses were free everyone would have a bus every 5 minutes, with many different routes to choose from. Providing good places to wait for your bus is cheap by contrast, the cost of a single bus will upgrade many bus stops and the investment will last longer than the bus (though you need to maintain it)

You are wrong about rush hour. You need to provide good service all day, not just during rust hour. People who have good rush hour service and then a "family emergency" pops up mid day when they discover service is bad will go back to driving just in case that happens again. Plus running all day service at the same rates ends up breaking even - between staff willing to take less per hour, and good service enticing people to ride you can generally break even on your costs.
by ryukoposting | 2025-05-08 12:41:14+00:00
> How much do you have to pay for a quick boot, no ads, and a private movie or music experience?

Not much. Buy used. Buying new stereo equipment is an activity of the wealthy. Everywhere I've ever lived, CraigsList is overrun with excellent used speakers and receivers at reasonable prices.

I won't inundate you with brand-flexing, but I'll say I'm very happy with my home theater system. 4K OLED TV, big ol' tower speakers, and a pretty nice home theater unit. All from reputable brands. All used. Under $400 all together. No shitware.
by sjsdaiuasgdia | 2025-05-08 12:41:29+00:00
I can't find watt info for the Nest wired doorbells, but the battery-powered version of the same comes with a 7.5W charger.

Let's round that up to 20W just for the sake of argument, maybe the wired ones draw a lot more.

doorbell: 20W * 24hrs = 480Wh

dishwasher: 1200W * 2hrs = 2400Wh

Your doorbell takes 5 days to use as much power as your dishwasher does in one cycle. 2 doorbells is still 2.5 days. So no, they are not using more aggregate power than your every-other-day dishwasher usage.
by namecast | 2025-05-08 12:41:53+00:00
Ah nice! Glad to see you've already thought of this. Any sense of what % of addresses you would hope to be private vs geo-marked? (Asking because it's easy to mark all private addresses as being "bad" if they're in the minority, but once they reach a tipping point that becomes infeasible - at least we've seen this with addresses tagged as belonging to VPN providers).

If you have a decent amount of private addresses in the mix (1) such that blocking them would 'break' the mycoria experience(2) then it sounds like you've got a decent solution here - geo-aware prefixes for convenience and private addresses for when you'd prefer the anonymity.

1) I freely confess to not knowing what percentage a good mix would be. 20%? 5%? In practice, going back to the VPN example for IPv4, it's "a high enough percentage of important users complaining that their VPN connections are broken for a long enough time". Depending on the jurisdiction that can be 1% (well off / well connected people in a jurisdiction complaining to the right people that in turn overwhelm management with their complaints) to >20% (not necessarily well off or well connected users, but a critical mass that instead overwhelms ISP help desks with complaints).

2) Assumption: mycoria / the app you're building on top of it becomes so important that breaking it completely is a non-starter for the average ISP.
by palata | 2025-05-08 12:42:03+00:00
I used to be very active on StackOverflow, it was a great platform.

After a while, I stopped having to post questions about "common frameworks", either because I could do with the official docs of because there was already a StackOverflow answer for my question.

What was becoming more common was that I would have a question similar to an existing unanswered one. Or that my question would never receive an answer (presumably because my questions were becoming more tricky/niche). So what I started doing was answering my own question (or answering those existing unanswered ones) after solving it on my own. Still, it was fine and I was contributing.

And for some reason, a few years ago my questions started being closed for no apparent reason other than "those who reviewed it have no clue and think that it is invalid". Many times they closed even though I had posted both the question and the answer at the same time (as a way to help others)! The first few times, I fought to get my question reopened and guess what? They all got a few tens of votes in the following year. Not so useless, eh?

Still, that toxic moderation hasn't changed. If anything, it has gotten worse. So I stopped contributing to StackOverflow entirely. If I find information there, that's great, if not, I won't go and add it once I find a solution for myself. I am usually better off opening an issue or discussion directly with the upstream project, bypassing StackOverflow's moderation.

I heard people mentioning that LLMs were hurting StackOverflow badly. I'm here to say that what pushed me away was the toxic moderation, not LLMs.
by cadamsdotcom | 2025-05-08 12:42:40+00:00
Looks like the framework is just going to keep reading to the end of the random number stream, but of course there isnt an end to it.

Is there some kind of `IClosableStream` you can implement? That’d give you a `Closed` method, which you can then use to let either your server or stream know that it’s time to stop reading (or the stream reached EOF) - even if it’s done with a flag that’s set when the client disconnects.

Maybe there’s already an optional `Close` method you’re not overriding?
by josephg | 2025-05-08 12:43:02+00:00
> OOP is easily the lesser of the two evils; without it, you're doomed to violate DRY in ways that will make your project unmaintainable.

Inheritance isn't the only way to avoid duplicating code. Composition works great - and it results in much more maintainable code. Rust, for example, doesn't have class based inheritance at all. And the principle of DRY is maintained in everything I've made in it. And everything I've read by others. Its composition all the way down, and it works great. Go is just the same.

If anything, I think if you've got a weak team it makes even more sense to stick to composition over inheritance. The reason is that composition is easier to read and reason about. You don't get "spooky action from a distance" when you use composition, since a struct is made up of exactly the list of fields you list. Nothing more, nothing less. There's no overridden methods and inherited fields to worry about.
by _flux | 2025-05-08 12:44:31+00:00
I think currying is an important concept and not sugar at all, as it means each function takes exactly one parameter, i.e. in OCaml foo bar baz is equal to (foo bar) baz. Of course, some other languages can try to emulate the use of currying and the original original idea no longer exists there.

I'm relatively sure there exists such a language you are looking for, but I've forgotten its name :(.

There was a syntax extension pa_holes for OCaml (which you perhaps know, as it is natively currying) that worked like

(\ foo \1 bar)

and it would become

fun x -> foo x bar

I'm sure the extension was inspired by some other language.. And the pa syntax extension extension mechanism for OCaml has been replaced by ppx a long time ago already; maybe the new system doesn't enable such succinct extensions.
Show HN: Basecoat – All of the shadcn/ui magic, none of the React
by hunvreus | 2025-05-08 12:45:10+00:00
In a nutshell: Basecoat is a port of shadcn/ui to HTML and Tailwind CSS. It's a modern, themeable component library; everything from buttons to comboboxes and dialogs.

Why? Well, I got sick of React and moved over to a more "old school" stack (Python, HTMX, Alpine.js and Tailwind).

The one thing I missed was shadcn/ui [1]. Nice defaults, well thought out design system, easy to theme and great to build your own component library with.

I didn't find the alternatives compelling: Flowbite, Preline and the likes encourage you to copy/paste dozens of classes for each element.

That's not how I use Tailwind. I love the utility-first approach, but I don't want walls of classes for each button, form element or tooltip I have in my app.

I had been building my own component library for a project I’m working on (a Vercel for Python apps) and realized it may be worth my time to firm things up.

Why I think it's cool? Well:

- No React. Just Tailwind CSS (with a tiny bit of Alpine.js if you choose to). You can use that with whatever stack you want.

- Jinja and Nunjucks macros. I hope to support more template engines.

- 100% compatible with shadcn/ui themes (you can play with the theme select box on the site).

- Super easy to install and use (there's even a CLI).

- Accessible, with ARIA support.

- Did I mention no React?

Hope some of you find it useful.

[1]: https://ui.shadcn.com/

[2]: https://v4.shadcn.com/ (this is actually the new/upcoming version of shadcn/ui).
by dbatten | 2025-05-08 12:45:20+00:00
If you find this interesting, definitely consider checking out contraction hierarchies. One of the early algorithms used by mapping software to enable calculating fastest routes between any pair of places. It's exact, and it's orders of magnitude faster than graph search algorithms like Dijkstra.

This webpage has a very intuitive graphical explanation of how it works: https://www.mjt.me.uk/posts/contraction-hierarchies/

(I had the joy of implementing this in Python with OSM data a few years ago. Planning a three hour car trip with software I wrote and having it come back with the same path recommended by Google Maps in a matter of milliseconds was a very rewarding feeling.)
by hackeraccount | 2025-05-08 12:45:47+00:00
Joe got shot. Who's responsible?

Well, Bob who shot Joe.

Steve who sold Joe the gun.

Sally who made the gun Steve sold to Joe.

James who invested in the factory that made the gun...

And you can take that in 20 different directions until finally you say we're all responsible - except maybe Joe and let's be honest we can rope Joe in as well if we really want to.

I'm all for assigning blame - it could stop someone like Joe from getting shot - but doing that is a political act and as such it's more like handing a gun to a person with a grudge then adding up a column of numbers.
by jillyboel | 2025-05-08 12:45:51+00:00
> Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

> Don't be curmudgeonly. Thoughtful criticism is fine, but please don't be rigidly or generically negative.

> Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.