MurphyA/hacker-news huggingface dataset:
by TZubiri | 2025-06-27 17:48:33+00:00
Taking a step back from this case.

In general any legal argument of the form: People will break the law, so there is no point in the law, is bullshit. Imagine any law and you will see how ridiculous it is.

"Making stealing with guns is illegal, people will use facemasks and file gun identifiers" "Adding security features to money is pointless, counterfeiters can always " "Adding locks to doors is pointless, if an thief wants to they will picklock it or copy your key" "making alcohol illegal is pointless, kids can present fake ids or ask their parents..." murder illegal is pointless
by mannyv | 2025-06-27 17:49:37+00:00
You need to actually read the decision. There's plenty of legal reasoning. You may not agree with it, but your opinion is irrelevant.

One thing they didn't talk about was structural: the court system is split up into X circuits, and each circuit is independent. Normally each circuit uses rulings from other circuits as a basis for its judgements, but circuits are pretty independent from each other. The Supremes weigh in when the circuits conflicted with each other.

The national injunctions issued by the lower court allowed the lowest level court to have more authority than an appeals court. An appellate court's decision was only binding on its circuit. Why would a lower court have more authority than an appeals court? That makes no sense.

That's outside of all the reasoning the court used to stop this practice.

That said, if an affected individual brought a suit the may be able to get an injunction, since the court ruled that universal injunctions were inappropriate.
by dang | 2025-06-27 17:49:54+00:00
Can you please not be a jerk in HN comments and especially not in Show HN threads? There are special rules for Show HNs: https://news.ycombinator.com/showhn.html.

Keep in mind that not everyone sharing their work here is a grizzled veteran. Some are enthusiastic people learning to do something for the first time. The community here should welcome such users, not beat up on them, which is the effect that a comment like yours can all too easily have (though I'm sure this was not your intent).
by gmueckl | 2025-06-27 17:49:54+00:00
"Memory safety" is an aspect of computer security. And security is the first listed value in rust's mission statement.

Rust is not written as a pure expression based language. And as we all know very well from the experience with C and JS, any unexpected and weird looking code has the potential to hide great harm. Allowing programmers to stray too much from expected idioms is dangerous.
Show HN: Kokonut UI – open-source UI Library
by kokonutt_ | 2025-06-27 17:50:01+00:00
Hi everyone, built this open source collection of UI components, the idea was mostly to explore different design and ended up building this project over the past few months and recently got sponsored by Vercel 2025 OSS program!

It's built mostly for React and Next.js and few other features such as:

- Components can be open with v0 for AI customization - Components can be installed easily with shadcn cli

Github: https://github.com/kokonut-labs/kokonutui
by alganet | 2025-06-27 17:50:14+00:00
Your history is off, and you are mixing different eras and browser standards with other initiatives.

Frames gave place to (the incorrect use of) tables. The table era was way worse than it is today. Transparent gif spacers, colspan... it was all hacks.

The table era gave birth to a renewal of web standards. This ran mostly separately from the semantic web (W3C is a consortium, not a single central group).

The table era finally gave way to the jQuery era. Roughly around this time, browser standards got their shit together... but vendors didn't.

Finally, the jQuery era ended with the rise of full JS frameworks (backbone first, then ember, winjs, angular, react). Vendors operating outside standards still dominate in this era.

There's at least two whole generations between frames and SPAs. That's why I used the word "ancestor", it's 90s tech I barely remember because I was a teenager. All the other following eras I lived through and experienced first hand.

The poison on the frames idea wore off ages ago. The fact that websites not made with them resemble their use is a proof of that, they just don't share the same implementation. The "idea" is seen with kind eyes today.
by jakub_g | 2025-06-27 17:50:52+00:00
If you're interested in the subject, let me introduce you to GCMap.

GCMap can plot a line between any two IATA airport codes; actually you can put arbitrary number of pairs comma separated; and best of all, they can be passed as a URL param. For example: `JFK-LHR,LHR-CDG,CDG-FRA`

http://www.gcmap.com/mapui?P=JFK-LHR,LHR-CDG,CDG-FRA

I track my own flights by sending an email to myself with a GCMap URL every now and then.
by dang | 2025-06-27 17:50:55+00:00
Could you please see https://news.ycombinator.com/item?id=44398799 and not post like this to HN, and particularly not to Show HN threads?

We want this place to be welcoming and friendly, not brutal and mean to newcomers and students. I'm sure you don't want to be that kind of person, or having that kind of effect, in any case.
by Animats | 2025-06-27 17:51:19+00:00
I use Egui, in a game-type application.

I'm a bit concerned with Egui gaining in popularity for general purpose GUI applications. It's leading to feature bloat, and probably more overhead. The stated goal originally was that Egui should use less than 1% of main thread frame time.

Originally, Egui was completely one pass. The API looks more general than that; you can align things against the bottom or right, and get things above or to the left to adjust. But originally, that didn't work. You pretty much had to lay out widgets down and to the right. This is fast and simple. Lots of stuff didn't work, such as scrolling text boxes with line wrap.

But users doing ordinary GUI work are demanding more and more layout features, and won't stop until they get browser level layout. Overhead is increasing.[1] This is a problem in Rust game land, which is tiny. At some point, someone may need to fork Egui and create Egui-lite.

[1] https://github.com/emilk/egui/issues/7059
by derriz | 2025-06-27 17:51:36+00:00
That sounds superficially reasonable to me and I'm all for regularity in programming language semantics but on thinking about it further, I actually think it's a design flaw.

It makes no more sense to me for "return <expr>" to have a type than it does to make "if <expr>" or "break" or "{" or any other keyword to have a type. These are syntactic elements.

Rust's type system is clearly inspired by Hindley-Milner and most languages using such a type system either don't even have a return keyword.

Even if you disagree with this argument, this design decision has resulted in all these weird/confusing but absolutely useless code examples and there is no upside that I can see to this decision in terms of language ergonomics. What practical value is it to users to allow "return <expr>" to itself be an expression? That you can use such an "expression" as arguments to function calls with hilarious wtf consequences? It's a piece of syntactic sugar.
by jimbokun | 2025-06-27 17:51:51+00:00
It was very odd that a simple markup language was somehow seen as the savior for all computing problems.

Markup languages are a fine and useful and powerful way for modeling documents, as in narrative documents with structure meant for human consumption.

XML never had much to recommend it as the general purpose format for modeling all structured data, including data meant primarily for machines to produce and consume.
Show HN: WebDev Club A curated space for web developers to learn, share and grow
by kkxingh | 2025-06-27 17:52:23+00:00
I recently launched WebDev Club, a community-driven platform for web developers. It’s a clean and fast web app focused on:

Daily webdev challenges (DSA, design, architecture)

Member-submitted articles, tools, and UI inspiration

No fluff — just solid content for frontend growth

Would love feedback, bug reports, or ideas!
by Terr_ | 2025-06-27 17:52:54+00:00
The site's title is misleading, "leak" makes it sound like microplastics are leaching/flaking into the liquid within an already-sealed bottle.

Instead it seems [0] the contamination originates from exterior bottle-cap paint, where particles fall into the liquid before things are finally sealed. Dusting/rising the caps before the joining causes a measurable improvement.

[0] https://www.anses.fr/en/content/caps-glass-bottles-contamina...
by rsolva | 2025-06-27 17:52:59+00:00
I speak only for my self, but I greatly value having no dependencies or build processes. Just put the files on a web server and have it run for the next 20 years.

It might not scale for larger businesses, but for regular people on the web who just want to put something out in the world and have minimal churn keeping it up, it can have great value!
by dang | 2025-06-27 17:53:03+00:00
Could you please see https://news.ycombinator.com/item?id=44398799 and not post like this to HN, and particularly not to Show HN threads?

We want this place to be welcoming and friendly, not brutal and mean to newcomers and students. I'm sure you don't want to be that kind of person, or having that kind of effect, in any case.
by justusthane | 2025-06-27 17:53:03+00:00
Really neat! Some feedback: it seems Zenta looks at $TERM to determine whether or not to use "simple" mode, and it seems it might be overly conservative.

I'm a tmux user, and in tmux, $TERM must be "screen-256color" or "tmux-256color". With $TERM set to either of those, zenta uses simple mode.

I can get it to use "full" mode by running it as "TERM=xterm-256color zenta" within tmux and it works fine, but this shouldn't be necessary - I haven't run into any other TUI apps that don't work properly in tmux.

Edit: I just noticed in the README that it seems to be intentional that it uses simple mode in tmux, but I'm not sure why that should be the case, since it clearly works fine. Maybe you could use simple mode for $TERM=screen and normal mode for $TERM=tmux?

On a different note, it seems like it would be more immersive if it took over the entire terminal window while running. Maybe you've already considered that and decided not to.

Anyway, thanks again! I love this.
by pfortuny | 2025-06-27 17:53:22+00:00
Well, the thing is… when you use a borrowed term from a dead language, in writing, it really sounds wrong to cultivated ears. I really had to double-check that sentence to see if I had parsed it wrongly. Not bragging, just saying.

They cannot be completely interchangeable:

“There are white people among us: i.e. me and my father” is totally different from “…: e.g. me and my father”.
by jhanschoo | 2025-06-27 17:53:26+00:00
> from a nationally representative English sample of participants aged over 50 (N = 3,946), we test whether IQ is associated with calibration.

> In line with MR studies, we leverage the randomness of genetic variants—captured by individual polygenic scores (PGSs) for IQ, a single quantitative measure of an individual’s genetic predisposition to IQ—as a plausibly valid IV for phenotypic IQ.

I'm uncomfortable about generating strong generalized conclusions based on such methodology.
by mannyv | 2025-06-27 17:53:36+00:00
They need to do two things:

1. File a suit in every circuit

2. Request an injunction type that's more appropriate

Given the number of babies being born every day it shouldn't be hard to do.

The thing is, the US doesn't issue citizenship papers. So I suppose they need to apply for an SSN and get denied (since the baby is a non-citizen), which will show immediate harm.

It also begs the question: if that baby is illegal can it be deported?
by nakedneuron | 2025-06-27 17:54:21+00:00
"Pussy exercise" sounds like you're doing everything right for building your fascia!

As fascia stabilizes joints it explains your joints getting better. Focus on soft, bouncing movements if you want to regain, enhance or simply conserve fascia tissue.

Also, with time, it enables you to do with heavier weights and plainly brings back joy to moving. All the best.
by AnimalMuppet | 2025-06-27 17:54:47+00:00
I just say no to take home assignments. Just no.

You can think of it in terms of time commitments. I could have applied to 30 places. I don't have four hours or 16 hours or whatever, times 30 different places. Ain't nobody got time for that.

Or you can think of it in terms of, they can waste hours of my time at the price of maybe 5 minutes of their own. This leaves them less incentive to be efficient.

Net result: They're not respecting my time. They're probably not going to respect me in other ways. So, no. Just no. I'll look somewhere else.
by yieldcrv | 2025-06-27 17:55:23+00:00
Judges were using injunctions to avoid putting their name behind a ruling.

They can absolutely still strike down a law or executive branch policy.

This forces judges to actually do their job., instead of a nationwide injunction while they decide if they want to do their job later.

It doesn’t actually alter some fabric of our democracy or checks and balances, because the judges had already gone beyond what the constitution and congress prescribed.

Every issue that any partisan has with this country is because one branch isn’t doing their job.

The disruptive aspect of this - with concern to the birthright case that hasnt been ruled on yet - is just another example of this. Judges not doing their job.
by nradov | 2025-06-27 17:55:23+00:00
Lol. I grew up in a house in the countryside. Dealing with the well, water storage tank, and pressure booster pump were far from "easy". They required frequent maintenance and occasional large expenses. The well got clogged with sand. The pump motor burned out. The tank float sensor got stuck and caused an overflow (several times). The tank had to be emptied and cleaned. An earthquake caused a pipe to shear off and dumped thousands of gallons of water out of the tank. The pressure booster pump burned out. The pressure booster tank corroded and leaked. The water was hard and required a softener to prevent mineral buildup. Etc.
by dang | 2025-06-27 17:55:40+00:00
Can you please not post like this to HN and especially not to Show HN threads? (There are special rules for the latter: https://news.ycombinator.com/showhn.html.)

I'm sure your intention was to be helpful, but this reads like a putdown, and the kind of effect that putdowns can have on newcomers, students, and so on is exactly the opposite of what we would like HN to be.

https://news.ycombinator.com/newsguidelines.html
by ineptech | 2025-06-27 17:57:22+00:00
I'm not suggesting that people actually authenticate to Pornhub using Login.gov's oauth, they would continue to auth (or not) as they do now. Login.gov can issue a token saying, in essence, "A user authenticated to me, and that user over 21, but I'm not going to identify them, I'll just give you a random GUID so this token will be unique".

edit to add more details, since I'm thinking it through: the token would need to include the issue date and be signed obviously, and would be ephemeral. Properly implemented, it could be done entirely in the browser (Firefox would have a "age verification provider" pull-down) in way that's transparent to the user and both private and secure. And since you have to be 18 to get a credit card, essentially any service you pay for with a credit card in your own name ought to be able to attest your age, even if it hasn't done KYC or scanned a government ID.
by dumbledoren | 2025-06-27 17:57:46+00:00
I recently got one of these for a LAMP project and I'm regretting not having done it way before:

- They entirely manage the server, including the services running on it; updates, keeping them up etc.

- The specs are mouth-watering: 54 eur/month for 8 core VM, 139 EUR/month for 16 core (32 thread - vCPU) dedicated, 199 eur/month for 32 core 64 thread dedicated, etc. (may be cheaper for those not from the Eu because they won't pay VAT)

- You can create as many sites/apps on the server as you want (they give you a panel)

- They give you SSH access for individual accounts, with which you can do a lot of stuff

- Managed Redis specific to each account included

I benchmarked a simple PHP api on this that does 2 reads and a write from a mysql db, and it was able to pull off 900+ requests/sec at 900 concurrency. All requests were completed under ~500 ms. (gotta add to this 50 ms more for benchmarks from outside Hetzner network).

So far, I'm pretty surprised that few people seem to talk about this. Is there a catch?
by timewizard | 2025-06-27 17:58:54+00:00
> If you think of your fingerprint as a "secret",

I can unlock my laptop with just a fingerprint. Whether or not we believe this the implementation already exists.

> It's more your name.

I can change my name. Can I change my fingerprints?

> That would be like saying your face is a secret.

I can unlock my phone with my face. Whether or not we believe this the implementation already exists.

> It's not.

Let's discuss the real world and not the ideal fantasy.
by PaulHoule | 2025-06-27 17:59:12+00:00
The thing most people never got about XSLT is that it is really about production rules -- and production rules (e.g. the major path to "expert systems") are one of the most solidly rejected technologies in software engineering.

I didn't understand this until I spent a few years going down a rabbit hole asking questions like "why don't people like production rules?" In the case of templating people expect to make a template with a top-down organization that looks like the output, whereas XSLT really wants you build transformations from the bottom-up. On some level the bottom-up part is clear, particularly if you want to code-generate your rules (towards the end I was writing production rules that write production rules) but what is not clear is how the parts all fit together: you can't visually tell between an XSLT that builds the structure you want vs one that doesn't.

I think the most fun I ever had with XSLT was when I used an XSLT engine with user-defined procedures and had them create side effects, such as matching certain patterns in an XML document and making SQL inserts, though that was a long time ago when we were still using terrible XML parsing libraries.
by bproper | 2025-06-27 18:00:12+00:00
Sounds about right:

"Business users are spinning up AI agents left and right, feeling like they can build anything. Meanwhile, developers are stuck being the ‘reality police’ — trying to make these things actually work in production while secretly wondering if they’re automating themselves out of a job.

At the end of the day, many devs feel like they go through all this chaos … only to end up with a solution not that different from the software they’ve built before."
by JonathonW | 2025-06-27 18:00:14+00:00
Scrolls written in a single column and "scrolled" vertically (like a modern text editor or web browser) weren't completely unheard of, particularly for liturgical or legal documents. See http://grbs.library.duke.edu/article/viewFile/9191/4607

But, yeah, the horizontal format would've been more common.
by foobarian | 2025-06-27 18:02:06+00:00
Reminds me of the opening in a war story in the "Algorithm Design Manual."

> That look in his eyes should have warned me even before he started talking. “We want to use a parallel supercomputer for a numerical calculation up to 1,000,000,000, but we need a faster algorithm to do it.” I’d seen that distant look before. Eyes dulled from too much exposure to the raw horsepower of supercomputers - machines so fast that brute force seemed to eliminate the need for clever algorithms; at least until the problems got hard enough.
by steveklabnik | 2025-06-27 18:03:09+00:00
Respectfully, "it makes no sense to me" isn't an argument. if and break both have types in Rust as well.

> don't even have a return keyword.

This is because they are not procedural languages, it has nothing to do with the type system.

> there is no upside that I can see to this decision in terms of language ergonomics.

There's tremendous upside! That's why lots of languages choose this. For example, there is no need for the ternary in Rust: if can just do that.

> What practical value is it to users to allow "return <expr>" to itself be an expression?

Code like this just works:

let guess: u32 = match guess.trim().parse() { Ok(num) => num, Err(_) => return, };

That is, if return wasn't an expression, we'd have a type error: the two arms would have incompatible types.
by ebaadesque | 2025-06-27 18:03:12+00:00
GitHub Repo: WinUp What My Project Does WinUp is a modern, component-based GUI framework for Python built on PySide6 with: A real reactive state system (state.create, bind_to) Live Hot Reload (LHR) – instantly updates your UI as you save Built-in theming (light/dark/custom) Native-feeling UI components Built-in animation support Optional PySide6/Qt integration for low-level access No QML, no XML, no subclassing Qt widgets — just clean Python code. Target Audience Python developers building desktop tools or internal apps Indie hackers, tinkerers, and beginners Anyone tired of Tkinter’s ancient look or Qt's verbosity

Example: State Binding with Events import winup from winup import ui

def App(): counter = winup.state.create("counter", 0) label = ui.Label() counter.bind_to(label, 'text', lambda c: f"Counter Value: {c}")

def increment(): counter.set(counter.get() + 1) return ui.Column(children=[ label, ui.Button("Increment", on_click=increment) ])

if __name__ == "__main__": winup.run(main_component_path="new_state_demo:App", title="New State Demo")

Install pip install winup

Built-in Features Reactive state system with binding Live Hot Reload (LHR) Theming engine Declarative UI Basic animation support PySide/Qt integration fallback

Contribute or Star The project is active and open-source. Feedback, issues, feature requests and PRs are welcome. GitHub: WinUp
by 827a | 2025-06-27 18:03:22+00:00
https://www.youtube.com/watch?v=1B488z1MmaA

The final song in that one is so subtly sophisticated; check out the underlying text. For example, to get it to sing "it doesn't matter now" the user types "tdah zih ntmae trr nnaw"; they're providing the phonetic sounds of every word rather than the words themselves, presumably because it produces better output and it allows them to change tone in the middle of words.
by WarOnPrivacy | 2025-06-27 18:03:39+00:00
A note on what the future will look like and how we'll get there.

[Justice] Thomas’s invention of “partially protected” speech, that somehow means you can burden those for which it is protected, is particularly insidious because it’s infinitely expandable. Any time the government wants to burden speech, it can simply argue that the burden is built into the right itself—making First Amendment protection vanish exactly when it’s needed most. This isn’t constitutional interpretation; it’s constitutional gerrymandering.

ref: https://www.techdirt.com/2025/06/27/the-conservatives-on-the...
by quoxi | 2025-06-27 18:04:30+00:00
I was looking for an apartment on the SF Peninsula a couple years back. Nearly all apartment buildings constructed in recent years are right next to the freeway or right next to the CalTrain train tracks. Lots of air and noise pollution, and it feels like borderline hostility towards renters. Lived there for a short while and ultimately moved out of the Bay Area because of the poor options for renters in that area (although it gets better the further south you go) and of course the sky-high housing prices.
by timewizard | 2025-06-27 18:04:54+00:00
typedef int fn_t(int, int); int iff(bool cond, fn_t a, fn_t b) { if (cond) return(a()); else return(b()); }

Now just write the implementation in terms of a() and b(). I don't get it. C doesn't have convenient syntax but this is compiled and not an evaluated language. This argument didn't make sense to me.