MurphyA/hacker-news huggingface dataset:
by 3cats-in-a-coat | 2025-06-01 02:04:05+00:00
I'll try to explain why this is a solution looking for a problem.

Yes, breadth-first is always an option, but JSON is a heterogenous structured data source, so assuming that breadth-first will help the app start rendering faster is often a poor assumption. The app will need a subset of the JSON, but it's not simply the depth-first or breadth-first first chunk of the data set.

So for this reason what we do is include URLs in JSON or other API continuation identifiers, to let the caller choose where in the data tree/graph they want to dig in further, and then the "progressiveness" comes from simply spreading your fetch operation over multiple requests.

Also often times JSON is deserialized to objects so depth-frst or breadth-first doesn't matter, as the object needs to be "whole" before you can use it. Hence again: multiple requests, smaller objects.

In general when you fetch JSON from a server, you don't want it to be so big that you need to EVEN CONSIDER progressive loading. HTML needs progressive loading because a web page can be, historically especially, rather monolithic and large.

But that's because a page is (...was) static. Thus you load it as a big lump and you can even cache it as such, and reuse it. It can't intelligently adapt to the user and their needs. But JSON, and by extension the JavaScript loading it, can adapt. So use THAT, and do not over-fetch data. Read only what you need. Also, JSON is often not cacheable as the data source state is always in flux. One more reason not to load a whole lot in big lumps.

Now, I have a similar encoding with references, which results in a breadth-first encoding. Almost by accident. I do it for another reason and that is structural sharing, as my data is shaped like a DAG not like a tree, so I need references to encode that.

But even though I have breadth-first encoding, I never needed to progressively decode the DAG as this problem should be solved in the API layer, where you can request exactly what you need (or close to it) when you need it.
by gus_massa | 2025-06-01 02:04:06+00:00
Thanks, it's a nasty example.

[spoiler alert]

Naming the coumns ABCDE from left to right, and the rows 12345 from top to bottom. Let's consider B2 near the top left. If B2 full:

Then B1 is empty because B has "only" ones. Then the "two" block in row 1 must make D1 full. Then D2 is also full because D has a "two". Now B2 and D2 are full, but that's impossible because B has only a "two".

So the B2 must be empty. From that point it's possible to fill all the others without "guessing".

So no branches and 3 steps to get a contradiction. I can run that in my head, so I call it "thinking" instead of "backtracking".
by ianburrell | 2025-06-01 02:04:30+00:00
Solar time doesn't involve different lengths of seconds. The length of day and all the pieces doesn't change. Local solar time is effectively time zone on longitude. It is mean solar time.

The downside of solar time is that 1 minute of time is 15 arc minutes which is roughly 17 mi east west. Which means need to deal with time zones in same metro area.

The railroads invented time zones because dealing with local solar time was a pain. Minute accuracy is needed for time tables. We might be able to do it with computers, but it would require knowing the location of everything.
by mrlatinos | 2025-06-01 02:04:43+00:00
Very cool. The rental part is less exciting to me, simply because I live in a more rural area. When it comes to P2P sharing, it's better to just have relationships with your neighbors and share/barter directly. That isn't to say I wouldn't use the rental feature. Just that the tutorial / diy "recipes" feature seems to have a more near-term usefulness to me, as it doesn't require proximal adoption.

I wish you luck!
by batuhandumani | 2025-06-01 02:05:25+00:00
The interface and the way the language model is used is amazing. I feel like I'm looking at a lecture note or reading an article and it's a real departure from other language model interfaces and content. Even beautiful integrations of such language models like NotebookLM are rare and most of them are identical. Especially the fact check and explore part is very good. I wonder if there will be a user login or will it continue without any login? I hope it gets enough support and the project will continue.
by globalnode | 2025-06-01 02:08:12+00:00
Im not a js programmer but index.js has the line: "Signaling server running on http://localhost:${PORT}" -- is that what you're talking about? I think you're talking about the initial connection right?

util.js also contains "copyToClipboard = (value) => {", not sure why that would be needed.

and googletagmanager for tracking error/diagnostics I think? its hard to understand this code without learning the language lol.

Also in privacy.html: "To initiate a peer-to-peer connection, Berb uses a temporary signaling server to exchange network metadata (such as IP addresses, session descriptions, and ICE candidates)."
by acquisitionsilk | 2025-06-01 02:08:24+00:00
I ended up watching this talk this evening:

> Jonathan Blow - Preventing the Collapse of Civilization (English only) :: https://inv.nadeko.net/watch?v=pW-SOdj4Kkk

and it made me think of your comment. In summary, I disagree, and think that video argues the point very convincingly.
by kcplate | 2025-06-01 02:08:37+00:00
There is a concept in tools, particularly knives, chisels, and other cutting tools used for work called “functional sharpness”. Basically it’s the concept of sharpening a tool to be “good enough” to do the job it needs to do and no more, rather than making the tool how sharp it can possibly be. The cost of time between functionally sharp vs “as sharp as possible” is not worth the effort and costs the user time that has no practical payoff.

What I think AI will very soon get to is being able to generate code to that “functional sharpness” level, while human engineers are caught striving for that as “sharp as possible” level because they care for their craft. The cost difference is just not worth it to the organizations and the trade off will be AI generated code that will be “good enough”. Sure a talented dev could do better, but that juice just won’t be worth the squeeze. To me, embracing the tools and becoming an prompting expert is the way to go, rather than some Luddite-like rejection of the technology because of some offended artistic notions.
by acheong08 | 2025-06-01 02:09:44+00:00
You always could by just setting the proxy environment variables (or in settings). The standard port for the tor daemon is 9050.

In fact, it's relatively easy to write a socks proxy that lets you route traffic through a arbitrary protocols. For example, I can serve/visit websites on syncthing with a socks5 proxy as a translation layer: https://github.com/acheong08/syndicate
by 3vidence | 2025-06-01 02:09:46+00:00
The setback of YOLO architectures is that they use predefined object categories that are a part of the training process. If you want to adapt YOLO to a new domain you need to retrain it with your new category label.

This work presents a version of YOLO that can work on new categories without needing to retrain the algorithm, but instead having a real-time "dictionary" of examples that you can seemlessly update. Seems like a very useful algorithm to me.

Edit: apologies i misread your comment I thought it was asking why this is different that regular YOLO
by robocat | 2025-06-01 02:10:00+00:00
I would be more worried about political change: the risk that a broke government will decide to take any savings (which I think is likely I happen to me in New Zealand).

Demographic problems are clearest in other countries, but the US won't be immune to the pressure.

I look at other worse off countries, and I see their governments screw over their savers. I have little faith that my own government will act differently.

I've become more sceptical/cynical and I truly believe retirement savings will be stolen. (e.g. our lefty party wants to tax wealth at 2% - which if you're withdrawing at 2.7% is effectively a huge ~40% tax rate)

I'm not sure what the answer is, but I don't think that we can copy what worked for our parent's generation.
Ask HN: Why reinvent front-end frameworks and static site builders?
by keepamovin | 2025-06-01 02:10:57+00:00
I've done this. So I understand the compelling nature of it - but I don't get why we do it.

Why do people consistently recreate a "new way to build a static site" or "a new way to build a front-end UI"?

From my point of view, I thought it was about ergonomics - I want developer tooling that matches the way I'm wired, so I made it myself.

But I don't think that's the whole picture - not even for myself. This is a general pattern with people. Why do we do this?

Any insights?

Could it be a form of procastination? It's not that difficult, but nor is it that meaningful. I think about it like a DIY workshop, homelab or shed. Do people consistently make their own tools? Like, you don't make a new hammer, or screw driver, or drill, do you?

Why do we recreate basics like this in software? Because we can? Are we procrastinating?

I'm asking because I think there's probably insights in the general pattern of others' experience.
by GouacheApp | 2025-06-01 02:11:50+00:00
Thanks so much — really appreciate the thoughtful perspective!

Totally agree that in rural areas, direct relationships with neighbors are often the go-to. One thing we hope Patio can help with even in those settings is simply making it easier to know who has what — sometimes your neighbor might have the exact tool you need, but you'd never know to ask. By listing tools, even if it's just to lend or rent for free, it helps avoid unnecessary purchases for tools you’ll only use once or twice.

And like you said, the tutorials and DIY “recipes” are useful anywhere — that’s a big part of our mission too. Thanks again for the kind words and support!
by jhanschoo | 2025-06-01 02:12:49+00:00
I think this is a very nice project and a very nice approach for a foundational topic such as analysis.

A couple immediate worries:

1. Core analysis results in Mathlib work with limits in a general, unified way using the notion of filters. There are nevertheless some ad-hoc specializations of these results to their epsilon-delta form. I presume that Tao's Analysis uses a more traditional epsilon-delta approach.

2. Mathlib moves fast and breaks things. Things get renamed and refactored all the time. Downstream repos needs continual maintenance.
by salawat | 2025-06-01 02:13:28+00:00
If it is sentient, using it like a tool for workloads means we should be treating it as an equivalent being with rights. That means paying/compensating it. And no, you blasted bastards salivating to just get your hands on something you can copy/paste, turn on/off at will, torment, enslave, etc..., won't be tolerated.
by danabramov | 2025-06-01 02:16:34+00:00
>The app will need a subset of the JSON, but it's not simply the depth-first or breadth-first first chunk of the data set.

Right. Closer to the end of the article I slightly pivot to talk about RSC. In RSC, the data is the UI, so the outermost data literally corresponds to the outermost UI. That's what makes it work.

It's encoded like progressive JSON but conceptually it's more like HTML. Except you can also have your own "tags" on the client that can receive object attributes.
by cam_l | 2025-06-01 02:17:28+00:00
There was a Japanese architect, Arata Isozaki, who wrote about this idea. Specifically about the Ise shrine, which is famously rebuilt every 20 years. It had been popularised as a piece of architecture on par with the Parthenon.

He rejected the comparison with western monuments as the Ise exists as a project of continual renewal. Not just in practice, but socially, religiously, and also in style and detail. It is a ship of Theseus, but where the whole ship is replaced, it is not even necessarily the same ship, and besides, the ship is just the tangible form of the communities of teachers and craftsmen and fisherman which exist around it. It is the lost wax part of the cast.

(Isozaki was interestingly also a metabolist along with Tange and Kurokawa, which I guess I think is, in a tangential sense, related.)

https://mitpress.mit.edu/9780262516051/japan-ness-in-archite...

https://en.m.wikipedia.org/wiki/Ise_Shrine
by godelski | 2025-06-01 02:19:55+00:00
> I mean... https://news.ycombinator.com/item?id=44121671 informed you of exactly why this happens a whole hour before you posted this comment and the creator is chatting with people in the comments.

I apologize for replying with my experience and not reading every comment before posting. This was not the top comment when I wrote mine.

> and the creator is chatting with people in the comments.

This had yet to occur when I left my comment. I looked at their comments and it appears I'm the first person they responded to in this thread. Took me a bit to respond, but hey, I got stuff to do too.

> is effectively a stereotypical "who needs dropbox" levels of shallow dismissal.

I'll loop you into my response to the creator, which adds context to my question. This not a "who needs dropbox" so much as "why are you calling dropbox 'storing data without taking any disk space'". Sure, it doesn't take your disk space, but that's not no disk space... Things are a bit clearer now, but I gotta work with the context of what's given to me.

https://news.ycombinator.com/item?id=44147777 > and i only say this because it's the top comment on this post

I appreciate you holding people to high standards. No issues there. It's why I made my comment in the first place! Hopefully my other comment clarifies what was definitely lacking in the original.
by jhanschoo | 2025-06-01 02:20:26+00:00
I think that isomorphisms like this serve to establish

1. The development that you just did is equivalent to the corresponding object in Mathlib. Frequently, what is developed comes from concrete building blocks, whereas the corresponding definition in Mathlib might be a specialization of a complicated general class.

2. The basic notation and nomenclature for the object in Mathlib, which may differ.
by danabramov | 2025-06-01 02:20:49+00:00
Part of the point I'm making is that an out-of-order format is more efficient because we can send stuff as it's ready (so footer can go as soon as it's ready). It'll still "slot in" the right place in the UI. What this lets us do, compared to traditional top-down streaming, is to progressively reveal inner parts of the UI as more stuff loads.
by goranmoomin | 2025-06-01 02:20:56+00:00
Seems like some people here are taking this post literally, as in the author (Dan Abramov) is proposing a format called Progressive JSON — it is not.

This is more of a post on explaining the idea of React Server Components where they represent component trees as javascript objects, and then stream them on the wire with a format similar to the blog post (with similar features, though AFAIK it’s bundler/framework specific).

This allows React to have holes (that represent loading states) on the tree to display fallback states on first load, and then only display the loaded component tree afterwards when the server actually can provide the data (which means you can display the fallback spinner and the skeleton much faster, with more fine grained loading).

(This comment is probably wrong in various ways if you get pedantic, but I think I got the main idea right.)
by wkat4242 | 2025-06-01 02:21:05+00:00
That wasn't the only complaint :) It was more the overall uninterested feel and senseless macho behavior that maybe they have pent up being with the wife or something and they need to act the tool to justify their manhood. Or to forget the day to day family routine or something. Most of the time they sit around bored.

What my friends don't know is that I'm pretty 'liberal'. And I don't have this pent up need for horseplay. I get enough of the more real kind of play :) I just felt so out of sync. It's just so senseless and not enjoyable at all.

The kind of event is pretty common in Holland. It's a pretty typical thing for male friends to go off for a weekend once a year or so in a cabin somewhere. I've done it with several different groups.
by apothegm | 2025-06-01 02:21:43+00:00
AI has limited context windows and little ability to reason about what complex code does.

If you can refactor it to small modules with simple interfaces and properly document the interfaces and what the modules do, AI can work with your code more easily. Think of the ideal AI codebase as being assembled from libraries (even if private internally developed ones) with a small amount of glue code in between.
by colonial | 2025-06-01 02:23:45+00:00
When I interned abroad in Singapore at a small-time IT firm, the office was in an industrial building that had, uh, less than stellar communal facilities. I at least had the foresight to test the sprayer before use, but I swear it was binary on/off. There wasn't a pressure control knob or anything upstream either.

I eventually got used to blasting myself clean, but I still prefer TP.
by perching_aix | 2025-06-01 02:24:24+00:00
> Once I mastered handling two time contexts, adding more was simple. I now juggle four: UTC, my local time, my team’s time zone, and another I occasionally work with. There’s no confusion, my brain seamlessly tracks them all.

I don't really follow. I thought the whole concept was not having to do exactly this. Or maybe I just don't understand, I don't know.

If I'm investigating something and am interrogating logs, I'll mentally switch time bases to UTC, after which I'm natively thinking in UTC until I decide to switch back. I also have no issues converting to the handful of timezones I use often.

I'll never understand why people would want to use UTC as their native time. But then I'm on the other end of the absolutist spectrum, "often" looking up my local solar time, and shaking my fist at the sky about the local administrative time being oh so off from the "real local time" (that being, said local solar time).
by danabramov | 2025-06-01 02:24:34+00:00
I'm being a bit coy about it but the article aims to describe key ideas in the RSC wire protocol, which is an implementation detail of React and isn't actually beholden to JSON itself. JSON is just a nice starting point to motivate it. However, I think reusing JSON for object notation kind of makes sense (and allows native JSON.parse calls for large objects).
by surajrmal | 2025-06-01 02:25:47+00:00
std vs nostd is another big one. Within nostd there are a ton of tiny fragmented worlds. For example, the Linux kernel ecosystem will likely development its own flavor of rust, especially when it comes to memory model. Old Linux distributions will end up with fairly ancient compiler versions that require code to stick to older conventions. I doubt well end up with people stuck on targeting c89 sort of situations, but things may trend in that general direction.

If you develop that for servers or mobile/desktop applications it might look more homegenous, but their are a lot of segments beyond those out there.
by GouacheApp | 2025-06-01 02:25:58+00:00
Thank you — really appreciate that, and you nailed one of the biggest problems we’re trying to solve. Those “budget” DIY videos often skip over the fact that the creator is using thousands of dollars' worth of tools most people don’t have — we want to close that gap and make DIY more accessible for everyone.

As for fraud and theft, that’s a key challenge as we grow. Right now, we focus on building trust through verified profiles, user reviews, and local connections. But we’re also actively working on adding insurance options, deposits, and ID verification to better protect tool owners.

We believe people should feel safe sharing their tools — and we’re designing the platform so that responsibility doesn’t fall solely on the host. More to come on that soon!
by nothrabannosir | 2025-06-01 02:26:09+00:00
99% of the time that I communicate about temperature, it’s in relation to the weather. Fahrenheit optimizes for the right thing. “How does it feel on a scale of 0-100?” is the nr 1 thing I use temperature for, nothing else comes close.

https://xkcd.com/1982/ Had it entirely right.

- ex Celsius user
by yen223 | 2025-06-01 02:26:18+00:00
I've never really thought about how all the common ways we serialise trees in text (JSON, s-expressions, even things like tables of content, etc), serialise them depth-first.

I suppose it's because doing it breadth-first means you need to come up with a way to reference items that will arrive many lines later, whereas you don't have that need with depth-first serialisation.
by AStonesThrow | 2025-06-01 02:27:33+00:00
Microsoft has faced this issue with Windows licensing. I would say that it was noticeable with Windows XP.

If Windows was licensed to a particular hardware computer, how would you define that computer? Being a common practice to upgrade RAM, disks, PCI cards, and even CPUs, and Windows could enumerate every component on each boot, how much different would a computer need to be, before the Windows license is invalid?

And people were tripped up by this, after replacing their motherboard. Windows had a threshold of changes where it would balk and demand reactivation.
by pigbearpig | 2025-06-01 02:28:30+00:00
Sure, if you’re the 0.00001% that need that. It’s going to be over engineering for most cases. There are so many simpler and easier to support things that can be done before trying this sort of thing.

Following the example, why is all the data in one giant request? Is the DB query efficient? Is the DB sized correctly? How about some caching? All boring, but if rather support and train someone on boring stuff.
by teleforce | 2025-06-01 02:29:37+00:00
This is the Nature paper derived from the book by Leon Glass [1].

Fun facts, he's also involved in the setting up of the venerable MIT-BIH PhysioNet database for world's largest physiology open dataset [2].

[1] Synchronization and rhythmic processes in physiology (2001):

https://www.nature.com/articles/35065745

[2] Current Perspective: PhysioBank, PhysioToolkit, and PhysioNet Components of a New Research Resource for Complex Physiologic Signals (2000):

https://pubmed.ncbi.nlm.nih.gov/10851218/
by SR2Z | 2025-06-01 02:29:43+00:00
> 1. Most of that party is not advocating for that, those are actually fairly fringe beliefs.

They were literally in Biden's platform. If Biden didn't stand for "most of the party" IDK what to tell you.

> 2. Our fellow capitalistic allies in the west have all of that.

Sort of - but they are also significantly poorer on an individual basis, and the US beats them on important quality-of-life measures (living space, degree attainment, etc.) Many of them have private healthcare systems and require students to pay for college.

> 3. The closest things the dems tried to universal healthcare was the ACA, and despite being obvious legislation, was fought tooth and nail. You had droves of people legitimately arguing that insurers SHOULD be able to drop you for pre-existing conditions. That's how unbelievably fucking propagandized our population is. We're advocating against ourselves every day.

Democrats are not a right-wing party because Trump or "swing voters" exist.