MurphyA/hacker-news huggingface dataset:
by Ancapistani | 2025-05-14 20:39:13+00:00
There should be a distinction, but I don't think it's really clear where it is yet.

In my own usage, I tend to alternate between tiny, well-defined tasks and larger-scale, planned architectural changes or new features. Things in between those levels are hit and miss.

It also depends on what I'm building and why. If it's a quick-and-dirty script for my own use, I'll often write up - or speak - a prompt and let it do its thing in the background while I work on other things. I care much less about code quality in those instances.
by johnmaguire | 2025-05-14 20:39:17+00:00
More-closely monitored for emissions by who? I would believe that some municipalities monitor taxi emissions, but I haven't heard of anything like this for Uber. Many states have emissions tests for private vehicles too.

I was just in DC and noted that the taxis were all at least 10-year old models. I specifically noticed many Ford Fusions, because I own one myself. Mine gets about 23.5mpg on average, and that's including lots of highway driving.

I think the reason NYC has so little car ownership is due more to the subway than taxis...

edit: Just found this report which suggests "A non-pooled ride-hailing trip is 47 percent more polluting than a private car ride": https://www.ucs.org/sites/default/files/2020-02/Ride-Hailing...
by GuinansEyebrows | 2025-05-14 20:39:17+00:00
i think at least a lot of things (if not most things) that i pay for have an agreed-upon result in exchange for payment, and a mitigation system that'll help me get what i paid for in the event that something else prevents that from happening. if you pay for something and you don't know what you're going to get, and you have to keep paying for it in the hopes that you get what you want out of it... that sounds a lot like gambling. not exactly, but like.
by mmooss | 2025-05-14 20:39:32+00:00
> Comparing Europe, the land of GDPR, tech company regs and fines, and its general suspicion of private sector, to the US, which is basically none of that, is a unique take.

It's a commonplace take. They don't have to be exactly the same - those are the peer countries of the US. People find a way to dismiss the comparisons because they have no argument: Clearly there's a better, proven way to do it.
by vighneshiyer | 2025-05-14 20:39:37+00:00
Here is the relevant bit from their whitepaper (https://storage.googleapis.com/deepmind-media/DeepMind.com/B...):

> AlphaEvolve was able to find a simple code rewrite (within an arithmetic unit within the matmul unit) that removed unnecessary bits, a change validated by TPU designers for correctness.

I speculate this could refer to the upper bits in the output of a MAC circuit being unused in a downstream connection (perhaps to an accumulation register). It could also involve unused bits in a specialized MAC circuit for a non-standard datatype.

> While this specific improvement was also independently caught by downstream synthesis tools, AlphaEvolve’s contribution at the RTL stage demonstrates its capability to refine source RTL and provide optimizations early in the design flow.

As the authors admit, this bit-level optimization was automatically performed by the synthesis tool (the equivalent to this in the software-world is dead code elimination being performed by a compiler). They seem to claim it is better to perform this bit-truncation explicitly in the source RTL rather than letting synthesis handle it. I find this dubious since synthesis guarantees that the optimizations it performs do not change the semantics of the circuit, while making a change in the source RTL could change the semantics (vs the original source RTL) and requires human intervention to check semantic equivalence. The exception to this is when certain optimizations rely on assumptions of the values that are seen within the circuit at runtime: synthesis will assume the most conservative situation where all circuit inputs are arbitrary.

I do agree that this reveals a deficiency in existing synthesis flows being unable to backannotate the source RTL with the specific lines/bits that were stripped out in the final netlist so humans can check whether synthesis did indeed perform an expected optimization.

> This early exploration demonstrates a novel approach where LLM-powered code evolution assists in hardware design, potentially reducing time to market.

I think they are vastly overselling what AlphaEvolve was able to achieve. That isn't to say anything about the potential utility of LLMs for RTL design or optimization.
by ProllyInfamous | 2025-05-14 20:39:47+00:00
>the value potential of this approach in this field

As a medical school dropout, I think the largest "negative" in value assessment would be the inability to shift malpractice liability over to a human practitioner (i.e. can you insure a company's faulty AI/LLM?) — yet today I just read a HN article on insurers offering a new product: insuring chat/LLM fuck-ups.

As exciting as this all is, I'm still so glad I didn't become a radiologist!
by ActorNightly | 2025-05-14 20:40:02+00:00
>Congratulations, you are probably susceptible to JS code reading crypto keys on your machine.

No wonder you guys are scared AI is going to take your job lol.

Thats not how it works at all. To grab a key stored in a JS variable, the following would need to happen

1. Attacker needs to find a way to inject arbitrary JS code in a website, which means controlling either an iframe that is loaded or some component. This is a pretty hard thing to do these days with Same-Site strictness

2. The code needs to know specifically what memory address to target. When things like JWT or other tokens are stored in session or local storage, the variable name usually contains a random string. Injected code will have to figure out a way to find what that variable name is.

3. For attack to work, the cache has to get evicted. This is highly processor specific on how well it works, and also, the web app has to be in a state where no other process is referencing that variable. With JS, you also have to infer memory layout (https://security.googleblog.com/2021/03/a-spectre-proof-of-c...) first, which takes time. Then you have to train the branch predictor, which also takes time.

So basically, I have a statistically higher chance of losing my keys to someone who physically robs me rather than a cache timing attack.

Generally when an exploit like this drops, people always have failures to update their systems, and you see it being used in the wild. With Spectre/Meltdown, this didn't really happen, because of the nature of how these attacks work and the difficulty of getting the cache timing code to work correctly without specific targeting of a processor and ability to execute arbitrary code on the machine.
by kllrnohj | 2025-05-14 20:40:05+00:00
> It's not just the HDR content that gets brighter, but SDR content too. When I test it in Chrome on Android, if an HDR image shows up on screen the phone start overriding the brightness slider completely and making everything brighter, including the phone's system UI.

You have an "old" style handling of HDR on Android. Newer/better devices don't do that (specifically those that support https://source.android.com/docs/core/display/mixed-sdr-hdr )

Similarly MacOS/iOS doesn't do that.

> Not just brighter, but also darker, so it can preserve detail in dark areas rather than crushing them.

It does not get darker, and while PQ allocates more bits to the dark region HLG does not. And, more importantly, neither does the actual display panel which are still typically gamma 2.2-2.4 regardless. So PQ's extra precision in the dark areas is ~never utilized other than as tonemapping input, but the resulting output does not have any increased precision in the darks over SDR.

In fact it actually has less precision in the dark areas as the increased display luminance range means the panels native bit depth need to cover more range.
by MetricT | 2025-05-14 20:40:08+00:00
I grew up drinking well water, and had an ever-growing mouthful of cavities. In junior high I had more teeth with fillings than without. That mercifully ended when the dentist prescribed daily fluoride tablets for me and my brother.

Anyone who thinks banning fluoride is a good idea, you don't have a single clue what you're talking about. Not one.
by josefresco | 2025-05-14 20:40:24+00:00
Using ChatGTP to modify the tone of a professor's response? Ok Using ChatGTP to "read" a students' essay and provide feedback? Not Ok

Similarly

Using ChatGTP to create study bullet points or a general summary? Ok. Using ChatGTP to write you entire paper? Not Ok.

This isn't hard, unfortunately there are people on both sides of the desk who think they are exceptions.
by haswell | 2025-05-14 20:40:31+00:00
> However in the much broader context of HN, a highly technical community whose interests in imaging are diverse, the article's content level and narrow focus aren't consistent with the headline title. It seems written at a level appropriate for novice users.

That is hardly the fault of the authors though. The article seems entirely appropriate for its intended audience, and they can’t control who posts it on a site like HN.
by godelski | 2025-05-14 20:40:52+00:00
> there is no syncing between keys

This seems like a key failure point to me and why I've been a tad resistant[0]. If there isn't some form of automatic backup then I guarantee I will not have a sync when I need it the most.

There is a similar problem even in OTPs. I switched phones not too long ago and some OTPs didn't properly transfer. I actually lost some accounts due to this, luckily nothing critical (I checked critical things but it's easy to let other things slip). The problem is that registering a new OTP removes the old ones. In some cases I've used recovery codes and in others the codes failed. IDK if I used the wrong order or what, but I copy-paste them into bitwarden, and I expect this is typical behavior.

99% of the time everything works perfectly fine. But that 1% is a HUGE disruption. With keys, I would even be okay if I had to plug my main key into a dock to sync them. Not as good as a safe, but better than nothing. I feel like we're trying to design software safes like we design physical safes. But if you lose your combo to a physical safe you always have destructive means to get in. With digital, we seem to forget how common locksmiths are. Googling, numbers seem kinda low but I'm not in a big city and there are at least 4 that I pass by through my typical weekly driving. So it seems that this issue is prolific enough we need to better account for actual human behavior.

[0] Don't get me wrong, I love them but I'm not willing to not undermine them via OTP creds because I need some other way in.
by colechristensen | 2025-05-14 20:40:54+00:00
>The cheap displays adding broken HDR400 support destroyed so much public opinion on HDR.

It's funny because the display I have that does this was a relatively premium Odyssey G7 which at $700 isn't at all a cheap monitor. (I like it, it's just not at all HDR, or at least not perceivably so compared to Apple devices and an OLED TV)
by JumpCrisscross | 2025-05-14 20:41:51+00:00
> the reason NYC has so little car ownership is due more to the subway than taxis

It's a combination. Car ownership is lowest in Manhattan [1]. We're rich. And we're well served by subways and taxis. Not owning a car makes sense because you never have to compromise. If you planned, take the subway. If it's raining or you're in a rush, you have the option of a cab. (We also tax the living shit out of private parking. That helps.)

As a side note, the number of people I know who take the LIRR to the airport went up significantly after Uber came on the scene. Because suddenly getting to Penn or Grand Central wasn't the pain it used to be.

[1] https://www.hunterurban.org/wp-content/uploads/2024/06/Car-L...
by 1vuio0pswjnm7 | 2025-05-14 20:41:55+00:00
Computer users that use third party software need protection from the mistakes of programmers. This is achieved by avoiding software written by careless programmers.

These programmers generally do not need protection as they have no liability to the computer users they target with their hastily written software.

It is the computer users that need "protective gear" not the programmers who make sloppy mistakes.
by yewW0tm8 | 2025-05-14 20:42:15+00:00
Same with anything though? Startups, marriages, kids.

All those laid off coders gambled on a career that didn’t pan out.

Want more certainty in life, gonna have to get political.

And even then there is no guarantee the future give a crap. Society may well collapse in 30 years, or 100…

This is all just role play to satisfy the prior generations story driven illusions.
by miki123211 | 2025-05-14 20:42:27+00:00
The Polish Post actually introduced a system like this recently.

It serves as boring technical infrastructure for government agencies which still need to send physical mail. Instead of each agency employing their own people to handle printing their mail and stuffing it in envelopes, they can just send it electronically to the post office, which will handle it far more efficiently.

The eventual goal is to move most people to e-deliveries, which you're encouraged to set up when using government services online. For those who haven't done so, the letter will be printed as close to them as possible to save on delivery time and costs, regardless of where in the country the sending agency is located.
by Robdel12 | 2025-05-14 20:43:07+00:00
This is awesome! I'm really excited about this since this is the underpinning of Zed. I figured out quickly when replicating ChatGPTs macOS apps "work with" feature that Zed had zero accessibility tree.

Great news, just in time Global Accessibility Awareness Day tomorrow (May 15th)

Edit: I'm totally wrong about Zed using GTK. They built their own: https://www.gpui.rs/ Still a win for all GTK apps!
by grufkork | 2025-05-14 20:43:18+00:00
Working as an instructor for a project course for first-year university students, I have run in to this a couple of times. The code required for the project is pretty simple, but there are a couple of subtle details that can go wrong. Had one group today with bit shifts and other "advanced" operators everywhere, but the code was not working as expected. I asked them to just `Serial.println()` so they could check what was going on, and they were stumped. LLMs are already great tools, but if you don't know basic troubleshooting/debugging you're in for a bad time when the brick wall arrives.

On the other hand, it shows how much coding is just repetition. You don't need to be a good coder to perform serviceable work, but you won't create anything new and amazing either, if you don't learn to think and reason - but that might for some purposes be fine. (Worrying for the ability of the general population however)

You could ask whether these students would have gotten anything done without generated code? Probably, it's just a momentarily easier alternative to actual understanding. They did however realise the problem and decided by themselves to write their own code in a simpler, more repetitive and "stupid" style, but one that they could reason about. So hopefully a good lesson and all well in the end!
by Ancapistani | 2025-05-14 20:43:26+00:00
> That kind of code is not fine.

I agree, but I'm also challenging that position within myself.

Why isn't it OK? If your primary concern is readability, then perhaps LLMs can better understand generated code relative to clean, human-readable code. Also, if you're not directly interacting with it, who cares?

As for duplication introducing inconsistencies, that's another issue entirely :)
by jonasdegendt | 2025-05-14 20:43:38+00:00
I read their comment to be “I trust myself to lose a hardware key, but not a software key that’s backed up and synced across all my devices.”

That’s one way to look at it: passkeys are just a more convenient form of authentication compared to passwords. Although in my mind you’re arguably not achieving a whole lot considering the security bottle neck is still the same, being the login to your password manager.

I use physical Yubikeys so I’m a bit out of the loop here, but are there any methods for protecting your root password to your password manager in this scenario?
by JumpCrisscross | 2025-05-14 20:43:40+00:00
> it's generally faster to take the subway (which tends to run frequently) than to wait for an Uber

It depends on where you are, where you're going and when it is. For the most part, yes, the subway tends to be faster the further you're going, unless you're in the netherlands between Brooklyn and Queens.

> This is mass transit - taxis and Uber are not

My point is the Ubers were complimentary with the mass transit. Absent Uber, those folks--myself included--would have taken a taxi to the airport.
by insane_dreamer | 2025-05-14 20:44:00+00:00
> just genocide as usual, a few proxy wars, typical neoliberal US foreign politics

that's all terrible stuff but the reality is all that has been happening almost non-stop since the 50s. US foreign policy has always been a shit-show.

what we're seeing today is an extra thick layer of daily bshit on top of the usual layer

> a threat to the American public that if we didn't allow business as usual to continue unabated, we would experience domestic hardship through Trump

which turned out to be even more true than anyone thought was possible
Ask HN: How can I load test PostgreSQL but avoid changing actual data?
by LawZiL | 2025-05-14 20:44:43+00:00
I'm running a load test on my Node.js application and want to simulate realistic write-heavy scenarios to stress test the system — especially the PostgreSQL database.

There's a part of the code that performs UPDATE queries, but during load testing, I don't want these updates to actually change the state of the database. However, I still want the database to experience the full impact of the update — query planning, locking, I/O, WAL writes, etc. — so I can measure how it affects performance under peak load.

Is there a best-practice approach to achieve this?

So far, the most viable option I’ve found is to wrap the UPDATE queries in a transaction and then roll it back — that way, the queries still execute, but the state doesn’t change. Is this the right way to go? Does rollback introduce any performance overhead that would skew my results? Are there better or more realistic alternatives that simulate the full write path without persisting changes?

Thanks in advance!
by parliament32 | 2025-05-14 20:45:09+00:00
Excellent writeup. This is the true kicker:

> Passkeys do not provide an attestation statement, as the attestation model currently defined in WebAuthn wasn't designed with syncing credentials in mind.

On any platform, attestation and "syncing" are effectively opposites. Either you're getting attestation that the auth comes from a secure application and on secure hardware (read: non-exportable in-TPM crypto material), or not.

As usual, it's a tug-of-war between security and convenience.
by TheOtherHobbes | 2025-05-14 20:45:12+00:00
Racism and climate denial are both narratives, and people die because of them every day. (If you're not aware of how many people are already dying because of climate change, it's not because the facts aren't available to the curious and interested.)

Patriarchy is more complex. I dislike the feminist tendency to use it as shorthand for "Everything wrong with the world" - as if the world was naturally a utopia until patriarchs took over.

But there are certainly elements that are immensely destructive.

The point is that narratives define morality and self. If every movie you see features the Good Guy heroically struggling to kill the Bad Guy, that becomes the unconscious default narrative that defines your sense of self and your moral choices.

Which is why Main Character Energy is a real thing - and often not in a good way.

If you are exposed to a much wider range of plots, with more ambiguity, more complex outcomes, much richer and more challenging social relationships, and so on, you're less likely to believe that you can fix any problem with muscles, a gun, and some wisecracks.

I'll admit I don't think Le Guin manages to do this. I think she's very on-the-nose as a moralist - she's almost the anti-Heinlein.

And being a moralist is - ironically - very much a hero's journey trope itself, with the violence sublimated into words instead of weapons.
by tremon | 2025-05-14 20:45:45+00:00
It all depends on how you define computer science vs computer engineering. In all my CS classes, not once did I need to deal with pointer arithmetic or memory layout. That's because my CS classes were all theoretical, concerning pseudocode and algorithmic complexity. Mapping the pseudocode onto actual hardware was never a consideration.

In contrast, there was hardly ever a computer engineering class where I could ignore raw memory addresses. Whether it was about optimizing a memory structure for cache layout or implementing some algorithm efficiently on a resource-anemic (mmu-less) microcontroller, memory usage was never automatic.
by JumpCrisscross | 2025-05-14 20:45:53+00:00
> When they have no passengers, they still are driving around

You're ignoring the environmental impact of parking. Also, Ubers by and large aren't aimlessly driving around. That's taxis. (Where TNCs fail is in their deadheading costs [1].)

[1] https://www.cmu.edu/ambassadors/december-2021/pdf/bloomberg_...
by MaxBarraclough | 2025-05-14 20:45:58+00:00
> The real choice here is: turn into assembly ahead of time (programmer's code becomes assembly), or do so at runtime (assembly interprets programmer's code). Or some in-between like JIT compilation. And: what guardrails you put in place.

A language's preferred compilation/interpretation model is, roughly speaking, orthogonal to its type system and to whether it emphasises speed of development, correctness, or performance. Also, many languages can practically be implemented using various compilation/interpretation models. There are interpreters for C, for instance, and ahead-of-time machine-code compilers for Java.
by martin-t | 2025-05-14 20:45:58+00:00
> I tell it the secret simple thing it’s missing and it gets it.

Anthropomorphizing LLMs is not helpful. It doesn't get anything, you just gave it new tokens, ones which are more closely correlated with the correct answer. It also generates responses similar to what a human would say in the same situation.

Note i first wrote "it also mimicks what a human would say", then I realized I am anthropomorphizing a statistical algorithm and had to correct myself. It's hard sometimes but language shapes how we think (which is ironically why LLMs are a thing at all) and using terms which better describe how it really works is important.
by vel0city | 2025-05-14 20:46:01+00:00
Not in the slightest.

Drunk driving is a crime. It hurts other people more than it hurts the drunks. It has absolutely no bearing on how the victim carried themself. You can just be driving normally and completely following the law and a drunk t-bones you at 70mph through a red light.

You can be driving normally and just happen to draw the ire of a road rager and have them shoot you or commit other forms of violence against you. Happens more often than you think.

A person on the train is unlikely to have a weapon on them. Every other person on the road is piloting a giant death machine capable of hurting a lot of people in a moment's notice even if by accident.

People act like they're all safe in a car but once again it's the thing most likely to cause you serious injury in your life outside of your diet.

You're more likely to be the victim of a crime that will seriously hurt, maim, or kill you driving a car than riding the train.

Hey, maybe I reduce the odds of getting pickpocketed today by massively increasing the odds of getting killed by a drunk driver. Seems like a excellent trade!