MurphyA/hacker-news huggingface dataset:
by meistertigran | 2025-12-13 21:25:31+00:00
I was also heavy on these single-file HTML tools. My problem was not being able to sync the localstorage data between PC and smartphone. I made a paid service which did that automatically. It didn't take off unfortunately, and I am keeping it on maintenance mode because it has some amount of free users that rely on it.

For anyone interested, to achieve synchronization I basically just use the https://github.com/google/diff-match-patch lib and save the patches in a db for each version with a version id. Then there's a generic JS file that I inject to uploaded HTML files that monkey patches the localstorage methods and optimistically updates the localstorage at the same time sending the diff to the server to save to the db.
by pfdietz | 2025-12-13 21:25:34+00:00
Regulation is inescapable, because the maximum damage from a nuclear accident would exceed the value of the company operating the reactor. A rational business treats any liabilities larger that what it could pay as equivalent, regardless of how large they could become, and hence will underinvest in safety measures.

And I'm sure you will agree there is a great and sorry history of nuclear efforts failing to achieve their cost targets. At this point, it is clear that such targets are sales numbers, not something one should actually believe. One cannot make this history go away just by wishing, as nuclear advocates like yourself seem wont to do.

I agree fossil fuels should go, but that's not an argument they should be replaced by nuclear. It's the argument nuclear advocates used to be able to lie back and comfort themselves with, but then you all got blindsided by renewables and storage zooming past you. You have to address those now, not the old competition you wished you were still running against.
by KAMSPioneer | 2025-12-13 21:26:03+00:00
Uhm you can curl https://api.protonmail.ch/pks/lookup?op=get&search=$email_ad... for any valid $email_address and get the public key.

I have used this to send signed/encrypted mail to a ProtonMail recipient. It worked, until he responded inline without encrypting it to my private key, thereby completely defeating the point.

(Later I informed him of how to automatically sign and encrypt outgoing mails to my account, as that is possible too, but not obvious at all.)

PM should make the more obvious, but in principle the interoperability is there and works.
by Noel04 | 2025-12-13 21:27:01+00:00
“Delivered” at the API level means the message was accepted by the downstream carrier / aggregator, not that it necessarily reached the handset. In some regions and carriers, especially for A2P traffic, messages can be filtered or silently dropped after that point. we’re actively working on: clearer delivery state distinctions (accepted vs handset-delivered) fallback routing where possible better guidance on sender IDs and content patterns that reduce filtering

If you’re open to it, sharing the country, carrier, and message type (transactional vs promo) helps us dig deeper.
by to11mtm | 2025-12-13 21:28:30+00:00
Yeah, .NET tried to provide a specific type related to this concept (SecureString) in the past and AFAIK there were were two main problems that have caused it to fall into disuse;

First one being, it was -very- tricky to use properly for most cases, APIs to the outside world typically would give a byte[] or string or char[] and then you fall into the problem space you mention. That is, if you used a byte[] or char[] array, and GC does a relocation of the data, it may still be present in the old spot.

(Worth noting, the type itself doesn't do that, whatever you pass in gets copied to a non-gc buffer.)

The second issue is that there's not a unified unix memory protection system like in windows; The windows implementation is able to use Crypt32 such that only the current process can read the memory it used for the buffeer.
by xpe | 2025-12-13 21:28:39+00:00
When the world is complicated, entangled, and rapidly changing, would you expect there to be one centralized official guide?*

At the risk of sounding glib or paternalistic -- but I'm going to say it anyway, because once you "see it" it won't feel like a foreign idea being imposed on you -- there are ways that help to lower and even drop expectations.

How? To mention just one: good reading. Read "Be a new homunculus" [1]. To summarize, visualize yourself like you are the "thing that lives in your brain". Yes, this is non-sense but try it anyway.

If you find various ways to accept "the world is changing faster than ever before" and it feels like too much. Maybe you are pissed off or anxious about AI. Maybe AI is being "heavily encouraged" for you (on you?) at work. Maybe you feel like we're living in an unsustainable state of affairs -- don't deny it. Dig into that feeling, talk about it. See where it leads you. Burying these things isn't a viable long-term strategy.**

* There is an "awesome-*" GitHub repository for collecting recommended resources to help with Claude Code: [2] But still requires a lot of curation and end-user experimentation: [2] There are few easy answers in a dynamic uncertain world.

** Yes I'm intentionally cracking the door open to "Job loss is scary. It is time to get real on this, including political activism."

[1]: https://mindingourway.com/be-a-new-homunculus/

[2]: https://github.com/hesreallyhim/awesome-claude-code
by calmbonsai | 2025-12-13 21:28:49+00:00
Trek needs to visibly "sci-fi-up" extant tech in order to have the poetic narrative license to tell its present-day parables.

Things just need to "look futuristic". The don't actually need to have practical function outside whatever narrative constraints are imposed in order to provide pace and tension to the story.

I forget who said it first, but "Warp is really the speed of plot".
by melvinroest | 2025-12-13 21:28:52+00:00
I think if I'd go down memory lane I would come up with quite a lot. But one sticks out immediately.

I was in Thailand on a bus, with only Thai people, it was a really local bus. The bus would stop around every 30 miles/50 kilometers. I didn't know that. I needed to get off at a particular stop as it was close to the meditation retreat I was going to (Phitsanulok). I miss the stop. I figure it'd be fine. I didn't realize the 30 miles thing. So after half an hour of driving I ask the bus driver when it's going to stop. He said he'll stop in another 15 minutes.

It was about to get dark. I asked him if he could please stop now. I was 25 miles away, it'd be rough but 8 hours of walking is doable. He stopped, now I was on the side of the road. It had gotten dark.

I noticed houses next to the side of the highway. It was a strange sight to walk next to a highway and see houses next to it. In one case, I saw a father, mother and 2 children outside ready to go inside.

I asked them for help. They didn't speak English but listened. With our hands and feet and a bit of Google Translate, I got to tell them my story. The father looks at me with understanding eyes and gestures for me to get on the back of the moped. I get on the back. He brings me to a police station. He says they'd take me to Phitsanulok.

In the police station, no one was there. There was one light on and blinking. The room itself looked grey-ish white. I felt like I was in the beginning scene of a horror film. Before the father left, I asked him why there was no one here. He told me that the policemen were having dinner and they'd probably be done in an hour. I sat there for an hour.

The policemen came out, they looked at me surprised. They spoke English, I told them my situation. They said "alright, get back in the car". And they just gave me a whole ride of 25 miles to where I exactly needed to be.

To say that I was grateful would be an understatement. I offered them money, because while I know that they are just working, I reckon that this type of stuff is not in the job description of a policeman. I was purely offering it out of gratitude. They said no. I offered 2 more times, they still said no. I did my best to show I was incredibly grateful and I think they got the message, haha.

Thanks to those Thai policemen, and other acts of kindness I've experienced over the course of my life, I will pay it forward. Not because I feel I have to, mostly because I see how wonderful that attitude actually is.
by raphlinus | 2025-12-13 21:28:59+00:00
My reading is that there aren't really a lot of addressing modes on 286, as there are on 68000 and friends, rather every address is generated by summing an optional immediate 8 or 16 bit value and from zero to two registers. There aren't modes where you do one memory fetch, then use that as the base address for a second fetch, which is arguably a vaguely RISC flavored choice. There is a one cycle penalty for summing 3 elements ("based indexed mode").
by danenania | 2025-12-13 21:29:06+00:00
I often use multiple documents to plan things that are too large to fit into a single planning mode session. It works great.

You can also use it in conjunction with planning mode—use the documents to pin everything down at a high-to-medium level, then break off chunks and pass those into planning mode for fine-grained code-level planning and a final checking over before implementation.
by djoldman | 2025-12-13 21:29:30+00:00
The announcement is here:

https://www.purdue.edu/newsroom/2025/Q4/purdue-unveils-compr...

Where the actual news is:

> To this end, the trustees have delegated authority to the provost, working with deans of all academic colleges, to develop and to review and update continuously, discipline-specific criteria and proficiency standards for a new campuswide “artificial intelligence working competency” graduation requirement for all Purdue main campus students, starting with new beginners in fall 2026.

So the Purdue trustees have "delegated authority" to people at the University to make a new graduation requirement for 2026.

Who knows what will be in the final.
by epistasis | 2025-12-13 21:29:44+00:00
This was reported all over, but certain circles considered it politically incorrect to acknowledge that anything good happened in the years 2020-2024, so perhaps you can be excused for missing it. Some random web hits. Check out the graphs herein the massive investment in factories:

https://www.atlanticcouncil.org/blogs/econographics/the-ira-...

https://www.manufacturingdive.com/news/inflation-reduction-a...

Back then when I would inform the politically cloistered about this massive boom in factory construction and the hope for US manufacturing in strategically important energy tech, the most pointed critique was "yeah there's lots of spending but that doesn't mean that the factories are going to make anything." Turns out the skeptics were right. It was a huge mistake that all this stuff went into areas where it is politically incorrect to acknowledge that clean energy is changing the world. Management was not able to trumpet the new investment and the workers dont want to acknowledge what's driving the new higher wages.

As for the US being the most admired country, I work in science and a bit in entrepreneurship. The US was so far and away the leader in these that there's no comparison at all to any other country. Any visitor is completely blown away when they see what's going on, even when they heard ahead of time how much better science and startups are in the US. It's a bit shocking that you think the US was not one of the most admired countries out there, unless you're posting from China or Russia.
by PaulHoule | 2025-12-13 21:29:46+00:00
I use Junie to get tasks done all the time. For instance I had two navigation bars in an application which had different styling and I told it make the second one look like the first and... it made a really nice patch. Also if I don't understand how to use some open source dependency I check the project out and ask Junie questions about it like "How do I do X?" or "How does setting prop Y have the effect of Z?" and frequently I get the right answer right away. Sometimes I describe a bug in my code and ask if it can figure it out and often it does, ask for a fix and often get great results.

I have a React application where the testing situation is FUBAR, we are stuck on an old version of React where tests like enzyme that really run react are unworkable because the test framework can never know that React is done rendering -- working with Junie I developed a style of true unit tests for class components (still got 'em) that tests tricky methods in isolation. I have a test file which is well documented explaining the situation around tests and ask "Can we make some tests for A like the tests in B.test.js, how would you do that?" and if I like the plan I say "make it so!" and it does... frankly I would not be writing tests if I didn't have that help. It would also be possible to mock useState() and company and might do that someday... It doesn't bother me so much that the tests are too tightly coupled because I can tell Junie to fix or replace the tests if I run into trouble.

For me the key things are: (1) understanding from a project management perspective how to cut out little tasks and questions, (2) understanding enough coding to know if it is on the right track (my non-technical boss has tried vibe coding and gets nowhere), (3) accepting that it works sometimes and sometimes it doesn't, and (4) recognizing context poisoning -- sometimes you ask it to do something and it gets it 95% right and you can tell it to fix the last bit and it is golden, other times it argues or goes in circles or introduces bugs faster than it fixes them and as quickly as you can you recognize that is going on and start a new session and mix up your approach.
by asgraham | 2025-12-13 21:30:09+00:00
Lots of good suggestions. However for Svelte in particular I’ve had a lot of trouble. You can get good results as long as you don’t care about runes and Svelte 5. It’s too new, and there’s too much good Svelte code out there used in training that doesn’t use Svelte 5. If you want AI generated Svelte code, restricting yourself to <5 is going to improve your results.

(YMMV: this was my experience as of three or four months ago)
by BrandoElFollito | 2025-12-13 21:30:21+00:00
Two people from my team (French) went to Munich from Paris by train. They wanted to be climate conscious.

After they spend untold hours waiting for trains that were late or cancelled, they told me that this is the last time they care for pollution in Germany. Will fly and drive and show the midfle finger everytime they see a railway.

As you can imagine they were pretty heated up after this journey.

Then they took the plane to Munich last year and got stuck with a massive snow fall, there were pictures of planes tilting when parking because of the snow.

They refuse to travel to Germany now :)
by bgbntty2 | 2025-12-13 21:30:21+00:00
A better metaphor would be that Tor and VPNs are like wearing a mask in public. It's obvious that you're trying to be anonymous, but you're still wearing a mask, so no one knows who you are.

You may be denied entry to certain establishments, but some of the bouncers don't block all masks and if you're persistent with changing your mask (Tor or VPN exit node), there's a good chance you'll get in. CTRL+SHIFT+L works on Tor Browser to change your circuit. The linked article blocks Tor, but after pressing CTRL+SHIFT+L a few times, I was able to read it.

For the sites that don't let me view them via Tor, I can install FoxyProxy and try some IPs from the free public lists. Lots of sites that block Tor don't block these IPs, although it's a bit of a pain. Another option is to load an archived version of the site on archive.org or archive.md (or .is or the various different TLDs it uses).

As for HN - it sometimes gives a "Sorry." if you try to access a certain comment directly, but after a few tries it works. This account was created over Tor and I've only accessed it through Tor. I think my first comment was dead and someone vouched for it, but now my comments appear instantly.

I've heard that banking sites don't work over Tor, but I haven't had a need to use Tor for banking, as the bank already knows who I am pretty well.

Most of the big social media sites don't allow Tor, but if I wanted to create a fake account, I'd most likely buy a residential proxy.

So it's not that bad, considering what you get from Tor (and with some VPNs, depending on your threat model) - no tracking, anonymity and so on.
by Bad_Initialism | 2025-12-13 21:30:58+00:00
The problem with the Karen Wetterhahn story is that we have no evidence to back up the exposure. Sure, months after the alleged event we have high mercury levels. But we only have Karen's recollection of a single tiny exposure through gloves months before. Colleagues said she was careful in the lab, but that would be limited to what they saw.

The mercury levels were so high that it would be nice to have levels from before the event and some that were taken immediately after.

We will never have that information. Was Karen as careful as we have been told? Unknown. Was it really just a single exposure? Unknown.

Maybe she annoyed someone who, like Putin, found an effective way of erasing a rival, or just someone they didn't like. Pretty much all students and staff would have had access to the Dimethyl Mercury in the NMR lab. How hard would it be to put a tiny drop in Karen's drink? Not hard at all.

In the meantime, Karen Wetterhahn has become the scary legend of the NMR set and we have changed standards, changed gloves, and many other things as a result.

But is it true?
by eek2121 | 2025-12-13 21:31:04+00:00
This was a dumb study, and if they'd asked the VPN providers, I'm sure someone would tell them why.

All the VPN providers I've used let you select the endpoint from a dropdown menu. I'm not using a VPN to make it appear I'm in Russia, I'm using it as one of many tools to help further my browsing privacy.

My endpoint is one of 2 major cities that are close to me. Could I pick some random 3rd world country? Sure! That isn't the goal. The goal is to prevent my mostly static IP address from being tied to sites I use every day.

EDIT:

Small point of clarification:

All the VPN providers I use have custom or 3rd party software that allows you to select a location for the VPN. All of the VPN providers I've used also select the location with the lowest ping times as a default. I suspect most folks are just sticking with the defaults. I certainly haven't strayed outside the US/EU for any of my attempts. I have occasionally selected an EU location for specific sites not available in the US, where I live, but beyond that?
by llbbdd | 2025-12-13 21:31:18+00:00
I couldn't believe this but I see other threads on the Internet from over a year ago complaining that Firefox can't handle the backdrop blur filter performantly at all. Chrome has no issue; I had to squint to even figure out what heavy work might have been weighing Firefox down. This design element has been everywhere for years, I didn't know it had gotten this bad at Mozilla.
by fainpul | 2025-12-13 21:31:41+00:00
In Prolog you can write rules (similar to functions in other languages) so that they work "both ways". Let's say you have this rule that defines how pace ("runner's speed") relates to distance and time:

:- use_module(library(clpr)). pace(Km, Minutes, Pace) :- { Minutes = Km * Pace }.

Even though the rule only specifies how Minutes are calculated, Prolog can now also calculate the other values.

You can query it, giving unknowns an uppercase `Name`, and it will give you the possible values for it:

pace(5, 24.5, Pace) pace(40, Min, 5) pace(Km, 24.5, 5) pace(Km, Time, 5)

You can try it here: https://swish.swi-prolog.org/

So if you had a rule that defines RSA key calculation this way, you could enter a key and get all valid solutions for the primes. But of course complex calculations still take a long time. I assume it's similar to a brute force attack in that way (Prolog has clever strategies to explore the solution space though).

Disclaimer: I'm not an expert in Prolog or cryptography, so this might not be 100% accurate.
by tonymet | 2025-12-13 21:31:58+00:00
you're right there's a fine line. I interpreted the tone of most as judgmental / critical.

saying "get a lawyer" or "file a complaint" is constructive. saying " it's your fault for not backing up" or "that's what you get by using cloud" is just judgmental. Neither are practical solutions, regardless. Even with perfect backups it would have happened. And for 99% of social people, it's impossible not to cloud.
by bluenose69 | 2025-12-13 21:32:10+00:00
I use a phone app called 'transit' to find out where the buses are at any moment. It's a great app for a lot of reasons, but the reason I was drawn to it at first was their witty release notes.

As the author of an R package, my release notes are much drier and businesslike. The package is quite static, so releases are mainly bug fixes. I start each item with either 'Add' or 'Change', then I name the function, and then I supply a short descriptive phrase and end with a link to the github issue where where users can see why the change was made, and what the code differences were.

I realize that this is not an answer to the question, really, because all users of the R package are basically on an even footing, in terms of knowing the R language and the science that the package is intended to support. If there is something transferrable to the OP's use-case, I guess it is to be systematic and terse, and to use a fairly fixed way of writing (being aware that not all users have English as the first language).
by Findecanor | 2025-12-13 21:32:13+00:00
I have often thought that Star Trek is supposed to show a future in which computer technology and user interfaces have evolved to a steady state that don't need to change that much, and which is superior to our own in ways that we don't yet understand. And because it hasn't been invented yet, the show does not invent it either.

It is for the audience to imagine that those printed transparencies back-lit with light bulbs behind coloured gel are the most intuitive, easy to use, precise user interfaces that the actors pretend that they are.
by bikeshaving | 2025-12-13 21:32:21+00:00
You know when Claude Code for Terminal starts scroll-looping and doom-scrolling through the entire conversation in an uninterruptible fashion? Just try reading as much as of it as you can. It strengthens your ability to read code in an instant and keeps you alert. And if people watch you pretend to understand your screen, it makes you look like a mentat.

It’s actually a feature, not a bug.
by onion2k | 2025-12-13 21:33:21+00:00
do you feel like more than one set is needed?

No. The release notes are for the end user.

There should be a separate changelog for technical users. This documents changes to the software including things that are invisible to users. For example, adding some unit tests wouldn't be in the release notes but it would be in the changelog.

Stakeholder comms is an entirely separate, but equally as important, thing. That should include information about impact the release is expected to have, what dependencies it impacts, and who gets the credit for work in the release.
Show HN: I built a small tool to track receipts and warranty dates
by temidaradev | 2025-12-13 21:33:48+00:00
I kept losing receipts and missing warranty deadlines, so I built this tool for myself.

The idea is simple: You forward purchase emails, and it extracts receipt details (store, amount, warranty dates) and reminds you before warranties expire. Also there is manual data entry, pdf drag and drop too

It’s intentionally small and boring, but useful. Built with Go and React.

Happy to answer questions.