MurphyA/hacker-news huggingface dataset:
by xg15 | 2025-05-17 16:14:35+00:00
Doesn't the second rule already imply some counterexamples for the first?

When I work with batches of data, I often end up with functions like this:

function process_batch(batch) { stuff = setUpNeededHelpers(batch); results = []; for (item in batch) { result = process_item(item, stuff); results.add(result); } return results; }

Where "stuff" might be various objects, such as counters, lists or dictionaries to track aggregated state, opened IO connections, etc etc.

So the setUpNeededHelpers() section, while not extremely expensive, can have nontrivial cost.

I usually add a clause like

if (batch.length == 0) { return []; }

at the beginning of the function to avoid this initialization cost if the batch is empty anyway.

Also, sometimes the initialization requires to access one element from the batch, e.g. to read metadata. Therefore the check also ensures there is at least one element available.

Wouldn't this violate the rule?
by Nevermark | 2025-05-17 16:15:26+00:00
General patterns don’t actually exist. We create a pattern from multiple observations.

What is the point in saying there is nothing new,? So the word “new” is like “utopia”, with only a mythical aspirational meaning?

History has never stopped proving how inane such an utterly unsupported opinion is.

Just keep up with quantum physics. Constantly finding new strange counterintuitive effects that require intense research and explorations of combinations of ideas and imagination to envision. And then challenging invention of new highly artificially controlled conditions, not found in nature, to create.

Mathematics as a profession is all about discovery of new things (from exploration) and invention (from imaginative questions and quests).

Art produces new things all the time, but you have to have familiarity with art to see what is new. If all you see are materials and color you are not literate enough to read it. Anymore than a unique story is “just words”.

For that matter, in slower timescales, nature has never stopped creating new creatures with new attributes or behaviors.

Perhaps have you set your own sights much too low. Try doing something nobody has been able to do before, and sticking with it. You will discover something if you really do stick with it. Even understanding the barriers better than before reveals things, and forces new concepts into being.
by ayrtondesozzla | 2025-05-17 16:15:52+00:00
If you've spent time with Nix, I assume you heard about Guix at some stage. And if you've heard about Guix and still make the above comment, I assume you have some reason(s) to think the Scheme programming language doesn't solve some/all those problems you mention.

Nonetheless, in case those assumptions are off - GNU Guix exists, and is written in and extended in (Guile) Scheme. Guile is general purpose, has the excellent Andy Wingo powering a lot of improvements to the language the last years, and some people are very fond of it. Perhaps you'd be interested in investigating, if Nix's DSL wasn't to your liking.
by ldng | 2025-05-17 16:15:56+00:00
Well clearly he did not look under the hood ... I did. A few technical decisions are ... questionable. But it's prohibited to ask why in the forum. HA could do well in cleaning up its community that can be particularly toxic, especially toward advanced user and start accepting critics. The hostility one face when they don't want to follow the "dumb down version, do as we say" installation process is really off-putting.
by disgruntledphd2 | 2025-05-17 16:16:20+00:00
The biggest thing supporting the US market (debt and securities) is that there is nowhere for that money to go, absent absurdly large changes.

If this happens (50/50 I think over the next twenty years) then it will be slow, and then sudden. I suspect a lot of high income US citizens will start caring a lot more about Social Security at that point.
by Tijdreiziger | 2025-05-17 16:16:22+00:00
> I feel like they could combine the IC and contactless reader into one bit of hardware with some engineering.

This is the case in the Netherlands. The same readers accept the old OV-chipkaart (stored-value) system and the new OVpay (EMV) system.

Actually, I feel like when the OVpay system was rolled out, the existing OV-chipkaart readers simply got a firmware update, giving them the ability to read EMV cards and phones.

Both of these systems work across all tranit modes and operators in the entire country (and even at a few stations across the German border), and there are various models of reader that are used.

(note: OV = openbaar vervoer = public transport)
by Legend2440 | 2025-05-17 16:16:29+00:00
>The research team discovered that leukaemia cells feed on taurine through a process called glycolysis, in which cells break down sugar to produce energy.

>This process helps cancer cells multiply more rapidly, worsening the disease.

If I’m reading this right, it doesn’t cause cancer, but if you already have cancer it may make it spread faster.
by hintymad | 2025-05-17 16:17:56+00:00
Yeah, even with channels and goroutines, I’d imagine we can encapsulate them as primitives in containers like concurrency literatures often advocate. Case in point, it was fun to go through Pike’s talk Go Concurrency Patterns, yet I’m not sure all the patterns he discussed in the talk would be that simple to implement compared to just declaratively using well-packed containers
by adsharma | 2025-05-17 16:18:11+00:00
The problem is not with the type checkers.

https://code.djangoproject.com/ticket/32759

Similar (but lesser) problems exist with pydantic and sqlmodel. They're both fine projects except for:

https://www.reddit.com/r/Python/comments/1i5atpy/fquery_meet...

This is a long winded way of saying type checkers will deal with:

@sqlmodel @pydantic @dataclass class MyModel: name: str

a lot better. Move what doesn't fit here to dataclass metadata.
by layer8 | 2025-05-17 16:18:12+00:00
True, but there are still documented interface contracts you can program against. The compiler won’t catch violations of the non-type parts, but the requirements are still well-defined with a proper interface contract. It is a trade-off, but so is repeating the same case distinction in multiple parts of the program, or having to pass around the context needed to make the case distinction.
by avianlyric | 2025-05-17 16:19:38+00:00
> I hope it lasts, but I'm seeing gates which have QR code readers, IC card readers,and contactless payment readers, which is obviously unsustainable.

Why is this obvious unsustainable? The IC readers and contactless payment readers are normally built on exactly the same tech, or very similar tech. And they’re pretty much always just a single reader capable handling IC cards and contactless payments locally, with back office processing to manage bookkeeping, and any needed external transaction processing.

TfL in London has been operating paper tickets, contactless and IC card for something like two decades now. The IC system is starting to show its age, but that’s only because the current stored value cards don’t have enough on-board storage to handle the continued growth of TfLs systems, and all the new regions they now operate in. But even if the IC system they have plans to migrate and merge their IC and contactless system into one system that can handle both payment types and provide proper feature parity between them.
by treszkai | 2025-05-17 16:19:49+00:00
I love how the last lines of the article read,

> “I don’t think this could have happened in any country other than the U.S.,” Dr. Urnov said. > “We all said to each other, ‘This is the most significant thing we have ever done.’”

And then in the Discover More section is this article:

> Lab Animals Face Being Euthanized as Trump Cuts Research
by knome | 2025-05-17 16:21:26+00:00
You can and should put as many as you can there

https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-va...

If instead of validating that someone has sent you a phone number in one spot and then passing along a string, you can as easily have a function construct an UncheckedPhoneNumber. You can choose to only construct VerifiedPhoneNumbers if the user has gone through a code check. Both would allow you to pluck a PhoneNumber out of them for where you need to have generic calling code.

You can use this sort of pattern to encode anything into the type system. Takes a little more upfront typing than all of those being strings, but your program will be sure of what it actually has at every point. It's pretty nice.
by Aurornis | 2025-05-17 16:23:13+00:00
Much respect to Home Assistant for making everything as accessible as it is, but it’s inherently a complex project. It also has to deal with trying to be everything to everyone, which makes it hard to identify the easy path through setting it up among all of the options.

There are two ways to get through Home Assistant:

1. Identify the easy path instructions, get equipment that matches perfectly, and follow the instructions to the letter. Use only equipment known to have great integration. Upgrade only when necessary. Change nothing as soon as it’s all working.

2. Be willing to spend a lot of time tinkering and debugging. There’s a big Home Assistant channel in one of the big Slacks I’m in where everyone eventually hits something that takes days or weeks to figure out.

Many companies have tried to package or use Home Assistant as the foundation for plug and play IoT hubs, but they all seem to end up with the same realization that it really needs a capable and willing human in the loop as soon as you deviate even slightly from the list of devices with excellent support. This isn’t even entirely Home Assistant’s fault: Most of these devices were never designed for third party control.
by kazinator | 2025-05-17 16:24:22+00:00
> I love technology, but I also know that adding ever more complex tech

Says the person who wants to adjust prices by the hour in response to real-time data, LOL.

Why would we care about fine tuning by the hour, when we can just make 75% of the cars disappear, all day long.

I would apply the ban 24 hours a day. If your car is not allowed tomorrow and you don't want to use a free pass, and you must absolutely drive, then get there before midnight tonight and sleep in your car.
by skeeter2020 | 2025-05-17 16:24:55+00:00
it's so apt that one of the most common question/statements I hear is why not use OpenAPI? I don't know the answer. Or WTF is streaming HTTP? Sure feels like we're trying to reinvent web sockets. It must be either #notinventedhere or while the genius devs build the LLMs the interns do the documentation and SDKs
by hiAndrewQuinn | 2025-05-17 16:25:10+00:00
I contest that. A human using an LLM to program, is a human programming. Gaining skill with the LLM is gaining skill in programming. And the things most people are both able and willing to now create with LLMs are of vastly greater complexity than whatever they were doing before - so yes, it's advanced programming.

I also contest your definition of wealth. Society absolutely and obviously becomes wealthier when many more people are able to use computers for more advanced things. Just because that wealth doesn't directly appear as zeros in your financial statements doesn't mean the wealth hasn't been created.
by lhamil64 | 2025-05-17 16:25:49+00:00
I used to use Home Assistant via Docker, but I've since switched to Proxmox with HAOS in a VM and a second Debian VM for everything else. My main reason for this is that it seems like the more supported scenario. For example, when the Voice Assistant stuff first came out the setup was only really documented via HAOS add-ons. I managed to get it working with standalone Docker containers but it was a pain to figure out. It really is simpler to just use HAOS IMO.
by TheRealPomax | 2025-05-17 16:25:53+00:00
> So for the foreseeable future, you have a situation where some APIs and libraries support the feature, but others - the majority - don't.

Welcome to the web. This has pretty much been the case since JavaScript 1.1 created the situation where existing code used shims for things we wanted, and newer code didn't because it had become part of the language.
by samwgoldman | 2025-05-17 16:26:12+00:00
Hey Kevin, we overlapped for a bit during your time at FB when I was working on Flow. Nice to hear from you!

I’m working on Pyrefly now, but worked on Flow for many years before. For what it’s worth, we are taking a different approach compared to Flow and have explicitly prioritized open source and community building, something I know we both care a lot about.

Of course, nothing is guaranteed and we’ve seen plenty of volatility in bigco investments to infra lately, but I do believe we’re starting this journey on the right foot.

Cheers, Sam
by avianlyric | 2025-05-17 16:26:14+00:00
When it comes to ticket gate line in a public transport system, latency and throughput are basically the same thing.

There is no practical way to increase the throughput of ticket line, without reducing latency. It’s not like you can install more gates in most stations, the station isn’t big enough, and you can’t make the gates smaller because the people aren’t small enough.

Every transit system measures and has throughput requirements that their gates need to meet. That inherently means latency requirements, because one gate can’t process multiple people in parallel!

Also western systems aren’t that slow. The videos in the article are a decade out of date and show people in London using paper tickets! And almost nobody using a contactless card or Oyster card.

In London the Oyster cards are very fast. Fast enough that a brisk walking pace the gates will be completely open by the time you reach them, assuming you put your card on the reader the moment it’s within comfortable reach.

Contactless payments on the other hand are slower. But there’s not much TfL can do there. The slower speed is entirely the result of the contactless cards taking longer to process the transaction. TfL track contactless cards latencies by bank and card manufacture. There’s a non-trivial difference in latency between different card manufactures and bank configurations. But that’s not something TfL can control themselves.
by bee_rider | 2025-05-17 16:26:49+00:00
I do sort of think Pandora feels like better algorithmic song finding—maybe it is just that I have an old profile so it has learned enough about me to do good matching, though.

But, it is notable for being a pretty old site, from back before the algorithmic feeds really exploded and took control of everything… I often wonder if we actually don’t like algorithmic (non)curation, or if we just don’t like the shitty version of it has developed.

—

What’s the story behind the Bjork thing? I’ve always found celebrities that just sort of stay hidden between releases endearing. I mean isn’t that what the rest of us would do?

Enya, obviously, has it all figured out.
by dynm | 2025-05-17 16:26:54+00:00
From the title, I read this expecting another lame observational study which I would probably distrust on the basis that it doesn't show anything causal. It's not that! Rather, if I understand it, they (1) took mice and introduced leukemia cells and (2) took human leukemia cell lines. In both cases, they found biomarkers related to leukemia growth.

(I welcome corrections to that understanding from experts!)

Personally, this seems far from convincing evidence that taurine in energy drinks is actually causing cancer. But it is suggestive and it seems like one might reasonably avoid taurine out of an "abundance of caution".
by mikenew | 2025-05-17 16:27:00+00:00
Hey thanks (I'm the author)! BTW the "Pro" version has the electrochromic dimming, so I recommend paying a little extra for that unless you're really sure you're not going to need it.

EDIT: To clarify, I meant the "Xreal Air 2 Pro", not the "Xreal One Pro". The latter are much more expensive.
by TheRealPomax | 2025-05-17 16:27:28+00:00
It all starts with being well-formatted and having a proper code editor instead of just a textarea on a webpage, so you'd get the many error notices for that code (because it sure as hell isn't valid JS =)

And of course, actually knowing the language you use every minute of the day because that's your job helps, too, so you know to rewrite that nonsense to something normal. Because mixing async/await and .then.catch is ridiculous, and that while loop should never be anywhere near a real code base unless you want to get yelled at for landing code that seems intentionally written to go into a spin loop under not-even-remotely unusual circumstances.
by Tijdreiziger | 2025-05-17 16:27:52+00:00
This is perhaps more of a ‘New York’ problem (i.e. high passenger volume + small stations + slow turnstiles).

In the Netherlands, there are cases where this can happen too (notably, Amsterdam South station), but generally there are less passengers and/or bigger stations (= more fare gates).

https://i.ytimg.com/vi/35qeaOD7haw/maxresdefault.jpg
by jonstewart | 2025-05-17 16:28:21+00:00
One reason to move conditionals out of loops is that it makes it easier for the compiler to vectorize and otherwise optimize the loop.

With conditionals, it's also useful to express them as ternary assignment when possible. This makes it more likely the optimizer will generate a conditional move instead of a branch. When the condition is not sufficiently predictable, a conditional move is far faster due to branch misprediction. Sometimes it's not always faster in the moment, but it can still alleviate pressure on the branch prediction cache.
by jebarker | 2025-05-17 16:28:25+00:00
This does seem like one math domain where there's some potential for program synthesis approaches like the recent AlphaEvolve and others. I say that because some of these problems you could feasibly write automatic evaluation code and solve them by the LLM spitting out a constructor for solutions and then doing hill climbing. That's not true in many areas of math though. There's also problems here that require a proof and maybe would be approachable eventually using automated theorem proving. But there's also problems that don't obviously fit into either of those categories.
by Aurornis | 2025-05-17 16:28:49+00:00
> I don’t want to buy an IoT hub. Many IoT devices I want to control are powerful enough to run Wifi,

Having a lot of career experience in this area, I greatly prefer to keep my IoT devices off of my WiFi.

You don’t need a separate hub device for Zigbee or Z-Wave, just a simple USB adapter that you plug directly into your device controlling everything.

Keeping the low bandwidth IoT devices off of the main WiFi had a lot of advantages. It’s also much easier to rotate your WiFi password when you can do it all without reconnecting every light switch in your house, for example.
by prmph | 2025-05-17 16:29:47+00:00
LLMs are not going to allow you to do advanced programming if you couldn't already do it by hand. The thing about LLMs is, they are a force multiplier, imperfectly, but I guess they are getting there. The overall vision (unless trivial), architecture, functionality-gaps-filling, revisions, etc. of an advanced project is not going to come from an LLM.

I personally don't think we are ever going to get to that point where I can give a simple propnmt and have an LLM generate a complex app ready to run. Think about what that would require:

1. The LLM would have to read my mind and extrapolate all the minute decisions I would make to implement the app based on the prompt.

2. Assuming the LLM can get past (1), it would have to basically be AGI to be able to implement pretty much whatever I can dream up.

3. If 2 & 3 above is somehow achieved, it would be economically very valuable, and you can bet that functionality is not going to be casually enabled in LLMs, for just anyone to use.
by 90s_dev | 2025-05-17 16:29:56+00:00
It's not that they're hard to understand, it's that they're much denser. From Factor's examples page:

> 2 3 + 4 * .

There's a lot more there to mentally parse than:

> (2 + 3) * 4

It's the same as when Rob Pike decries syntax highlighting. No, it's very useful to me. I can read much quicker with it.

It's the same principle behind how we use heuristics to much more quickly read words by sipmly looking at the begninnings and ends of each word, and most of the time don't even notice typos.
by washadjeffmad | 2025-05-17 16:29:57+00:00
There was a pop-sci article around a decade ago, still within the "fight free radicals by buying our anti-oxidant products" craze, that posited that breathing flatulence could also help fight cancer because hydrogen sulfide damaged cancer cells.

I didn't think it passed the smell then, either.

Found it: https://www.cnet.com/science/how-smelling-farts-could-save-y...
by fabian2k | 2025-05-17 16:32:18+00:00
I wouldn't draw any medical conclusions from that paper, it's really not looking at anything like that. And the title of this article does not represent the paper at all.

They did some experiments to find pathways in the cells that play a role in leukemia. And they found that taurine receptors appear to be important in some way. So this is an interesting starting point, but not anything like what is suggested in the title.

If I understand the paper right, "the cells feed on taurine" is also just wrong. What they see is that taurine plays a role in regulating glycolysis in those leukemia cells. And of course glycolysis uses glucose as indicated by its name, and taurine looks nothing like glucose.
by wlesieutre | 2025-05-17 16:32:22+00:00
Same boat here, I like knowing that none of of my devices can get network access, all they can do is communicate with HomeAssistant.

And with Zigbee bindings most of my inputs are set up in a way that they still work even if HomeAssistant goes down.

Not that HomeAssistant has ever down, but I can imagine its SSD or something failing and not bothering moving it to a different computer for a few days while I get a replacement in.
by jeffbee | 2025-05-17 16:32:40+00:00
The paper (an extremely difficult one to comprehend, reminding us how complex this field of research has become) only glancingly mentions energy drinks because apparently they are sometimes used to offset the effects of chemotherapy. That is, the context in which they are mentioned is people who already have leukemia. The entire rest of the paper is about how taurine produced by the body's own cells contributes to the advancement of the established disease.
by tough | 2025-05-17 16:32:43+00:00
> I also think that if comments were enabled on arxiv preprints, this could have led to a much more rapid conclusion to the fraud. Probably a materials scientist who read the paper realized this was fraudulent but wasn’t able to get that view quickly to the economists who were actually reading and discussing the paper. A well-written arxiv comment explaining why the data on materials similarity, for example, couldn’t be true, would have gone a long way.

could this work outside/on top of arxiv?