MurphyA/hacker-news huggingface dataset:
Show HN: Norma – build good datasets (using an objective)
by noelfranthomas | 2025-11-24 08:11:10+00:00
My team has worked for F500s, startups, and everything in between.

In every case, we found it almost impossible to assemble an ideal dataset for training models. In real-world systems, the information you actually need is scattered across 30–300+ tables, stored in different warehouses, parquets, CSVs, and legacy DBs that nobody fully understands anymore.

We realized the real job isn’t ETL (too wide), or feature engineering (too narrow) it’s constructing the ideal representation of the problem so downstream models can actually learn something meaningful.

So we built Norma, an optimization-first data platform. It does the things every ML team wishes their stack would do: 1. Unity Catalog integration that works out of the box - connect a warehouse, instantly browse tables with lineage, schemas, and metadata.

2. A unified SQL/Python pipeline engine - both languages execute in the same memory buffer (via DuckDB), so no more glue code or brittle data hops.

3. An AI assistant for transformations - ask for a feature, a join, an explanation, a visualization (generates pipeline steps).

4. Multi-bandit 5-fold cross-validation - fast, automatic evaluation of transformed datasets with xgboost.

5. Visual lineage + shared datasets - every step is inspectable, reproducible, and sharable across teams.

That’s what we have today.

We’re still building:

- Automatic leakage detection (timestamp violations, post-outcome signals, unsafe joins)

- Relevant table discovery (find the tables that actually matter for predicting your target)

- Relevant row selection (especially for PFN-style models with row limits)

- Automated feature representation (scaling, encoding, aggregation, embeddings)

- AutoGluon + TabPFN integration (train strong models on normalized, optimized datasets)

- Differential privacy guardrails for LLM usage inside your data workflows

We’re trying to build the equivalent of a representation compiler: raw warehouse → optimal feature space → any model or BI tool.

If you’ve ever lost days hunting through a schema, debugging leakage, redoing feature pipelines, or trying to understand why a model plateaus even though your data is “fine,” I’d genuinely love your feedback. We’re still working closely with teams to refine our features and capabilities, and we’d love to share a private beta with your team. Please join the waitlist!

Happy to answer anything here.
by rifty | 2025-11-24 08:11:54+00:00
Personally, I think the trade offs for more window space is worth it versus window positioned app menu bars. If you really are trying to maximally optimize menu bar navigation you go with the menu bar as a context menu wherever your cursor is, or a key command to prompt searching for the menu option you want to use.

As for 3, the way you'd solve this while retaining the 'global' menubar style is by treating screens more individual and having a screen unique menubar. Introduce screen focus, and have the screen focus follow where the cursor is. Further you could make it so that when a screen regains cursor focus it also refocuses the last window on that screen. The menu bar would then serve the purpose of visually indicating and emphasizing which app on which screen has latent focus even when the screen lacks focus itself. (Which now saying it honestly might have been an original MacOS consideration before losing focus caused window dimming)
by arkh | 2025-11-24 08:12:38+00:00
> Sometimes, a "bug" can be caused by nasty architecture with intertwined hacks

The joys of enterprise software. When searching for the cause of a bug let you discover multiple "forgotten" servers, ETL jobs, crons all interacting together. And no one knows why they do what they do how they do. Because they've gone away many years ago.
by pndy | 2025-11-24 08:13:18+00:00
Bit a side question since OP mentioned company's name: anyone from Europe with Phonak devices with recently replaced earmold? I wonder if you got a soft silicone or something that appears to be some firm 3D printed material.

Mother uses hearing aids since end of 90s and most of the time it was in-the-ear but recently due to increased hearing loss she had to pick a new behind-the-ear device - still with button battery tho.
by matheusmoreira | 2025-11-24 08:13:51+00:00
Not at all. This is just about defaults. People can still choose arbitrary branch names. People can still set the default branch name, as I have:

[init] defaultBranch = master

I just think "master" is an awesome word. Master record. Mastering. It just sounds cool to me and I'm gonna keep using it.

I also think "main" is a stupid word that doesn't say much about anything. I even hate "main" functions.
by JimDabell | 2025-11-24 08:13:54+00:00
Something I wrote back when GitHub did this:

> This change does hurt people. Have you never seen a newbie struggle with an out of date tutorial? There’s fifteen years of books, tutorials, videos, and other learning material out there that assumes the use of `master`. It takes about a decade for these things to die off in the clear-cut cases. However this is not even a clear-cut case, because Git defaults to `master` and GitHub defaults to `main`, so the confusion will last longer.

> Version control is a hard enough concept to grasp well at the best of times. And now there’s going to be a bunch of newbies – many of whom will be black – getting frustrated and confused because they are following the tutorials as best as they can and not getting the results they expect. On balance, there is probably more harm done to black developers with this change than leaving things as they were. Haven’t you ever seen a young developer lose confidence when they are trying the best they can to follow instructions and it’s just not working? Disliking the fact that this is being done to new developers thoughtlessly is not “pointless”.

> There’s also the matter that everybody I have seen advocating for this change has been white, and the responses I have seen from black developers generally ranges from “this is pointless” to “this is [performative / virtue signalling]” (insert appropriate term depending upon whether they are left or right wing). People start with the assumption that this is clearly the right thing to do for black developers, but people assuming that don’t seem to be actually listening to black developers about this, or at the very least, only listen to the ones that agree with them.

> This could have been done in a better way – coördinate with the main Git project around changing the default across the board, plan an update to as much documentation as possible, and make it happen in sync. But GitHub charged in unilaterally, seemingly with an overactive case of a white saviour complex, with people like you telling everybody ”this change hurts nobody”. This was done in an entirely thoughtless manner and does hurt people.

— https://www.reddit.com/r/git/comments/jtrx1k/announcement_po...

Beyond what I originally wrote, you also had ridiculousness like `git init` creating a branch called `main` if you install Git through Apple developer tools and `git init` creating a branch called `master` if you install Git through Homebrew; or getting a repo with `main` if you initialise the repo on GitHub and then clone it locally, but getting a repo with `master` if you initialise the repo locally then push to GitHub.

I don’t especially care what the default is, but I do care that GitHub didn’t seem to give a shit about the disruption they caused as long as they looked like they were performing racial justice of some kind (whilst having zero black people in leadership!). Why wasn’t the change centralised through the Git project so everybody could make the change together?

https://web.archive.org/web/20201001133529/https://github.co...

Fortunately, with this change, everything will return to being in sync.
by BruceWok | 2025-11-24 08:14:08+00:00
Generative UI was created from a belief that human–computer interaction should be fluid, adaptive, and deeply personal. Traditional interfaces lock users into predetermined layouts and rigid flows, slowing creativity and limiting possibility. Generative UI set out to change that by using advanced AI models to craft fully interactive experiences from nothing more than a user’s intent. The platform blends intelligence, design, and engineering into a single system capable of understanding what people want—even when they express it in natural language—and instantly delivering functional digital environments tailored to them. Over time, the technology evolved into a new paradigm: interfaces that are not designed once but generated continuously, adapting to every user’s context, skill level, and goals. Generative UI exists to empower creators, learners, developers, and everyday users with tools that feel alive—interfaces that reshape themselves around human imagination rather than forcing people to adapt to software.
by writebetterc | 2025-11-24 08:14:11+00:00
In a single-threaded context, I think 'giant array array of bytes' is still correct? Performance, not so much.

> This part of the blog didn't seem very accurate.

It was a sufficient amount of understanding to produce this allocator :-). I think that if we have beginner[0] projects posted and upvoted, we must understand that the author's understanding may be lacking some nuance.

[0] author might be a very good programmer, just not familiar with this particular area!
by card_zero | 2025-11-24 08:17:06+00:00
I wonder what your concept of "game" is. Maybe your question excludes offline and 2D games. (Lots of roguelikes.)

In regard of "alternative to an existing game", there's 0AD, which resembles the Age of Empires series. https://en.wikipedia.org/wiki/0_A.D._(video_game)
by general1465 | 2025-11-24 08:17:51+00:00
They did not think it through like usually. Politician will get to the big established party through connections or through wealth. So in their minds, normal pleb can't become a politician without connections or wealth.

And picking up only elected officials would piss of their own party again. Problem is that only fraction of party is elected, so they would be committing a friendly fire again.
by shallowsax | 2025-11-24 08:17:52+00:00
Yep, any war of aggression would be wildly unpopular today. Limited actions may be somewhat tolerated inasmuch as they're seen as being at the behest of the legitimate Venezuelan government in exile, but no one wants a land invasion or to see American missiles killing civilians.

I'm not saying it could never happen, but the party in power would be burning a ridiculous amount of political capital, to put it mildly. A big part of the reason President Trump even exists is the perception that Bush lied to get us into Iraq and Obama kept us there. Trump consistently ran as the "anti-war" candidate, and Biden was also known for his dovish politics.
by bval | 2025-11-24 08:18:03+00:00
My idea was to use an IAM role with readonly access to the cost explorer only. The end user has control of the permission on the IAM role. I can assume this role using the operator account and using an external id. This is what AWS recommends: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_co...

I thought about sms but included in the roadmap telegram and slack.
by delaminator | 2025-11-24 08:18:48+00:00
That was this outage. ChatGPT and Claude are both behind Clouflare’s bot detection. You couldn’t log into either Web frontends.

And the error message said you were blocking them. We had support tickets coming in demanding to know why ChatGPT was being blocked.

We also couldn’t log into our supplier’s B2B system to place our customer orders.

So all the advice of “just self host” is moot when you’re in a food web.
by tialaramex | 2025-11-24 08:19:56+00:00
https://doc.rust-lang.org/std/option/enum.Option.html#impl-T...

I guess you've "really missed" this feature or more likely you are considering only the case where our function signature says we return Result and so early returning Option won't compile.

Because the modern "try v2" operator is a trait, it is implemented for Option, Result, and ControlFlow plus Poll variations.

Historically its ancestor the try! macro was provided only for Result, but that's a very long time ago now.
by input_sh | 2025-11-24 08:21:34+00:00
> Except the master branch has nothing to do with slavery.

It did, it originated from Bitkeeper that literally used to the term "slave" to refer to non-master branches.

> It's more like 'master bedroom.'

This is even more ridiculous. Where do you think that term came from? What made that a master bedroom in comparison to the other bedrooms? Could it be because that was the one the master was sleeping in, in comparison to the ones slaves were sleeping in?
by Balinares | 2025-11-24 08:23:29+00:00
I trialed hearing aids a little while ago and ended up not committing, because the sound quality was bad, wheezy and tinny, and gave me headaches. Particularly bad in noisy environments, which is where I'd most need the help. Also the app sucked, Bluetooth pairing broke all the time and the controls were just confusing.

They were Phonaks.

I guess I'm glad to hear that it's not intrinsically a hearing aid thing, and I may find a better experience with other brands.
by lucyjojo | 2025-11-24 08:23:50+00:00
personal case -

clojure works on the jvm, or without (babashka, technically graalvm i think), or in the browser (clojurescript). i think there is a .net implementation, not sure.

then you get clojure inspired languages that are quick to learn if you know clojure (janet, C runtime, fennel on the Lua platform).

And soon a clojure optimized for integration with C++ (Jank).

Bonus, clojure is relatively simple language. (it's a small language where most things are immutable, with a small-ish set of functions operating on a small-ish set of provided data structures).

common lisp is cool but looks way (waaay) more complex. so you will need to invest way more to learn it (might be worth it, dont know). i technically "learned" it but never felt the impetus to use it.

i occasionally do some stuff in emacs lisp. but i'll mainly be running clojure & babashka (and rust). currently refreshing my ocaml, and learning ada (this thing is great, should have learned it a long time ago). also nim.
by nomilk | 2025-11-24 08:24:02+00:00
I agree the case for changing words like man, kill, and abort is weak (so weak that you perceived it as a joke), but the case for changing those words isn’t significantly weaker than was the case for changing master, and master was indeed changed. OP is right to question why the weak arguments in favour of changing master won, and if this shall continue unchecked.
by fainpul | 2025-11-24 08:24:08+00:00
I've also been asking myself what people do with programmatic CAD. I've used OpenSCAD once to create a simple, cylindrical object, but about 80% of the things I create (using conventional CAD, like Fusion 360) would be way too complex for that. And even the simplest shapes are just much faster to create and modify in Fusion.

Maybe this is the "everything looks like a nail" problem for programmers who have never tried CAD?
by mayoff | 2025-11-24 08:24:58+00:00
I don’t know if Cory Doctorow has read the “fantastic 1981 novel”, but I have (decades ago) and as I recall the plot of the book and the plot of the movie are very different from each other. The author of the book didn’t write the screenplay and I doubt he had much (if anything) to do the character designs in the movie. So even if he has the rights to his novel back, it’s not at all clear to me that he could just make (or sell a license to make) a straight, recognizable sequel to Disney’s movie without getting back into bed with Disney, and clearly Disney isn’t interested or they’d have done something by now.
by willvarfar | 2025-11-24 08:25:57+00:00
I've been searching for a CAD language that supports iteration in a good way. I've been designing a self-build house and it occurs to me that, once I have the walls etc, filling in the details for the manufacture of those walls could be done by a programming routine. Such a routine could work out how many studs are needed and their placement etc and generate the kind of cut-throughs where you can see the construction inside the wall that you sometimes see in construction books. Anyway, without for-loops that kind of thing is really difficult and I've given up.
by Y-bar | 2025-11-24 08:26:54+00:00
Someone else linked this historical document to show that the words in Git has indeed to do with a master-slave relationship: https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...

But as I said elsewhere, I do not care about that a lot. However, I do think those words are bad for other reasons because they do not illustrate the _actual_ role and relationships of branches in a VCS in a _good way_. If the master branch is not actually ruling over other branches, then it should be named something else, like "primary" as far as I am concerned.
by 8-prime | 2025-11-24 08:27:00+00:00
I really enjoyed building small apps with wails. Even though people would prefer that we all used native UI frameworks, the DX is simply incomparable to that of web technologies.

And for most apps using browser based rendering won't be an issue. People often underestimate how optimized mondern browsers really are. And because Chromium is not shipped the bundle size is managable.

Not wanting to use JS on the backend I tried both Tauri and Wails and found the simplicity of Go to just work perfectly for my use-cases
by czl | 2025-11-24 08:28:32+00:00
> closed lid would flex slightly in your backpack, and press keys on the keyboard,

FYI: Over time, this repeated pressure + rubbing (especially with dust or grit in between) can leave permanent key-shaped marks or “ghosts” on the screen. Thin laptops and bags that are tightly packed or bulging make this a lot more likely, since there’s less rigidity and more pressure on the lid.
by scoofy | 2025-11-24 08:29:45+00:00
SF Muni is literally so deep in a financial hole, service may be cut in half next summer if they don't pass a sizable spending measure (the last two both failed). SFMTA faces a deficit of about $320 million starting next year... and that will grow. The system has already been bailed out by the state. We now going to get a $750 million loan is just to keep the system functioning until the measure has a chance to pass.

This platitude of "Muni should be free" has no bearing on reality when the system is literally collapsing as we speak.

https://www.sfmta.com/project-updates/sfmtas-financial-crisi...

https://sfstandard.com/2025/09/10/routes-eliminated-trains-o...

https://www.sfexaminer.com/news/politics/bay-area-transit-ba...
by pcthrowaway | 2025-11-24 08:31:04+00:00
Notably, the provided type for Array.prototype.flat doesn't actually provide the flat type for arrays of a known structure.

In other words, if you flatten `[string, [string, number]]` my example would give you `[string, string, number]` whereas the one in lib.es2019.array.d.ts would give you `(string | number)[]`

(my example, on the other hand, would only flatten a depth of 1, though a completely flattened type instead of just depth 1 could be represented by changing `[...First, ...FlatArr<Rest>] :` to `[...FlatArr<First>, ...FlatArr<Rest>] :`

I haven't tried supporting a depth param, but I suspect it's possible.
by msla | 2025-11-24 08:31:24+00:00
The rigorous form of the non-rigorous version is non-standard analysis: There really are tiny little numbers we can manipulate algebraically and we don't need the epsilon-delta machinery to do "real math". It's so commonsensical that both Newton and Leibniz invented it in that form before rigor became the fashion, and the textbook "Calculus Made Easy" was doing it that way in 1910, a half-century before Robinson came along and showed us it was rigorous all along.

https://calculusmadeeasy.org/

https://en.wikipedia.org/wiki/Calculus_Made_Easy
by TrappedInCorner | 2025-11-24 08:31:35+00:00
This whole 'master branch' outrage doesn't even make sense. Should saying things like: "I've mastered computer programming." also be an offense?

We absolutely should deny and disregard these nonsensical demands _by principle_. What was even the actual case made by people who wanted this? And don't tell me "well it's not a big deal, just accept it don't whine about something so small", because that won't fly, or shouldn't at least.
by keepamovin | 2025-11-24 08:33:30+00:00
There probably are some very large values that go on forever. It's interesting how the structure of numbers must change at some point. Seemingly just based on magnitude, but in huge scales, some kind of density of structures related to factors builds up and eventually hits a critical point. And "island of forever". Collatz island, above what we've tested. It will be cool to discover that. I wonder how big it is? Probably hundreds of millions of decimal digits. But it's likely dense enough that if you randomly search and land on the island, you probably have a good chance.
by croisillon | 2025-11-24 08:34:03+00:00
ha :) https://www.reddit.com/r/typography/comments/1jp9juj/i_turne...

and from that discussion: https://aresluna.org/segmented-type/

in Vienna we have a 66 segment: https://en.wikipedia.org/wiki/File:Vienna_u-bahn_display_clo...
by delis-thumbs-7e | 2025-11-24 08:34:03+00:00
Of course, and not just in US. I don’t think any sane person thinks we should not limit cousins getting married, non-consensual sexual acts, pedophilia, etc. In many places in Europe sex work is perfectly legal and taxed like any other business.

In the past there has been stupid regulations on what consenting adults (of the same sex for instance) could do together. This created a system where group A could get married and were lauded, while the group B went to jail. I am not saying all laws and regulations are good, but we absolutely do need them, and we need to make them just and good. For instance, today we protect the group B’s rights to marry and love with laws.
by Ferret7446 | 2025-11-24 08:35:05+00:00
You betray your own ignorance. Master has been used historically to refer to the "final" or "canonical" copy. For example, you make copies of a CD based on the master. Creating that master copy is called mastering.

The word "master" stems from Latin, meaning "great" or "teacher". Just as teachers pass on knowledge to students, data is copied from the master.

Any slavery related connotations is insanely recent, and arguably manufactured specifically for the purpose of linguistic censorship. Historically, slave owners were referred to as... owners.
by gf000 | 2025-11-24 08:35:38+00:00
Depends. There are names that are "romanized" to Hungarian pronunciation rules, like Dosztojevszkij (Dostoevsky), or Kolumbusz Kristóf (Cristoforo Colombo - Hungarian puts the family name first), though it is no longer the practice, it's mostly used for historic names only. That is, Trump is written like that, and not as we would pronounce (something like "Trámp")

In general, if the source language has a latin alphabet, we try to stick to the original spelling in most cases, but it is not uncommon to replace non-Hungarian letters with the closest one. It's a bit more complicated in case of non-latin alphabets, especially Cyrillic due to a lot of shared history.
by rsynnott | 2025-11-24 08:36:51+00:00
When I was a kid, DART (a not-quite-metro rapid transit thing in Dublin) trains had printed maps with LEDs for each station; they were green until the train passed them, then turned red. This seemed like absolute magic to me at the time.

When a branch line was added, these displays were updated, though they weren’t put in the newer rolling stock. Then another station was opened on the existing line, and they just switched them off. They’re still present on some trains, but haven’t done anything in 15 years. They’ll finally presumably go away in the next year or so, as the ‘80s rolling stock they’re found in is due to be retired. I’ll kind of miss them.