MurphyA/hacker-news huggingface dataset:
by mmh0000 | 2026-01-11 20:24:27+00:00
I run this periodically from a little shell script; I "should" automate it, but time is scarce.

⟩ cat ~/bin/icloud_download
#!/bin/bash
mkdir "$(pwd)"/{photos,cookies} 2> /dev/null

if [[ -z "${ICLOUD_USERNAME}" ]]; then
echo "need env ICLOUD_USERNAME"
exit 1
fi
if [[ -z "${ICLOUD_PASSWORD}" ]]; then
echo "need env ICLOUD_PASSWORD"
exit 1
fi

podman container run -it --rm --name icloud \
-v $(pwd)/photos:/data \
-v $(pwd)/cookies:/cookies \
-e TZ=America/Boise \
icloudpd/icloudpd:latest \
icloudpd --directory /data \
--cookie-directory /cookies \
--folder-structure {:%Y/%Y-%m-%d} \
--username "${ICLOUD_USERNAME}" \
--password "${ICLOUD_PASSWORD}" \
--size original
by rw_grim | 2026-01-11 20:24:42+00:00
Pidgin is still here and does work (to some level) with all of those protocols. https://pidgin.im/plugins/?publisher=all&query=&type=Protoco...

We've been working on our next major release for a long time now to better support modern protocols. But as an unfunded Open Source project it's hard to get things done quickly when it's a "free time" only project.
by worksonmine | 2026-01-11 20:24:51+00:00
Have you tried replacing Microsoft Office with Libreoffice? It's been perfectly usable for years and I'm even comfortable sending anyone .odt files. I haven't got a single question or comment about it. You may not be able to but in that case just use the .docx extension, install whatever fonts your colleagues expect and continue exactly as you were.

I can't take these kinds of arguments seriously because I regularly read, edit and create documents and spreadsheets and never felt the need to use Word or Excel. It seems most people I've met who claim they can't use Linux because they need X, Y or Z never really tried when I ask. It's just an assumption and they deal with Microsoft based on it.

It's a shame, we could have a world without data-mining and vendor lock-ins if we were principled and didn't always choose the easy path.
by d4rkp4ttern | 2026-01-11 20:25:15+00:00
A suite of productivity tools for Claude Code, Codex CLI and similar CLI agents. These solve pain points for me, and I build and share them in the repo[1].

I’ll highlight a couple:

- an “aichat” command group that enables continuing work from a session that is at full context usage, by creating a new session and injecting session lineage pointers so the agent/sub-agent can recover arbitrary full details from ancestor sessions. So no more compacting needed.

- aichat search command: TUI for rust/tantivy-powered full text search across Claude and Codex sessions. CLI/json mode for agents to search for past work.

- Tmux-cli tool + skill to enable CLI agents to interact with scripts (including other agents) running in other Tmux panes. Like Playwright for the terminal. Multiple CLI agents can collaborate/consult etc. Agent can run and interact with interactive CLI scripts.

[1] https://github.com/pchalasani/claude-code-tools
by Imustaskforhelp | 2026-01-11 20:25:18+00:00
Yes I understand that the context matters and to be honest, the person's context wasn't really given publically but still, i think that they trusted AI sources itself and that confusion almost costed their life.

> We don't know this for certain, but when that video came out I tried it in ChatGPT and it this is what I could replicate about chloride bromide recommendations. It doesn't suggest eating sodium bromide but it will tell you bromide can fit where chloride is. The paper that discusses the case also mentions this.

From the video I watched, what I can gather is the fact that somehow the chatbot confused chloride and bromide for washing machine related tasks but that being said, AI's are still sycophantic and we all probably know this.

> Basically this guy starts with this fringe conspiracy theory belief that chloride ions are bad for you

I still feel like AI/LLM's definitely tried to give into that conspiracy rheotoric and the Guy got even more convinced as proof

Of course he had a disillusioned theory in the first place but I still believe that a partial blame can still be placed and this is the crux of the argument actually, dont read just AI sources and treat them as gospel

They are based on scraping public resources which could be wrong (we all saw the countless screenshots floating on internet where google search engine's AI feature gave unhinged answers, I don't use google so I don't know if they still do but for a time they definitely did)

This is actually what I think the grandparent of the comment is talking about regarding poisoning of data I think in their own manner or atleast bring the nuance of that discussion.
by PeterDS | 2026-01-11 20:25:19+00:00
Hi HN,

I built this after breaking production APIs one too many times.

The problem was always the same: remove or change an endpoint, deploy, and a few hours later customers email saying their integrations broke.

API Impact Tracker answers one simple question before deploy:
"Which real clients will break if I ship this?"

It works by tracking which clients use which endpoints (via middleware),
normalizing paths (e.g. /users/123 → /users/{id}),
and comparing real usage with your OpenAPI spec.

Example output:

$ api-impact diff openapi.yaml

BREAKING CHANGE DETECTED

DELETE /users/{id}

Clients affected:
- acme-inc (used 2h ago)
- foo-app (used yesterday)

Design choices:
- Runs locally (SQLite) – no data leaves your infrastructure
- No SaaS, no phone-home
- Open source (MIT)
- CLI + GitHub Action
- Takes ~5 minutes to set up on an existing Express API

I'd love feedback, especially on:
1) API versioning and deprecations
2) GraphQL support
3) Other API-change pain points you've seen

Thanks!
by catlifeonmars | 2026-01-11 20:25:29+00:00
Ah makes sense!

> Are there any auth protocols / flows you think would be important to support?

- I think API key passed via basic HTTP auth would get you pretty far. This is ideal for serving machine-machine requests and just requires that both parties can securely store the secret.

- OIDC is great for interactions that happen in the browser or if the function is serving multiple users, but is more complicated to setup and/or use correctly.

OpenID connect is probably the best for contexts where you want something served by multiple users and those users are humans.

> _Technically_ there's currently support for the cryptographic primitives required to do JWT (I added that because I wanted to support WebPush w/ payloads for myself)

This is probably a good intermediate solution FWIW - expose signature verification and HMAC APIs and allow a user to bring in their own implementation.
by alephnerd | 2026-01-11 20:25:59+00:00
> Can't you unelect the MPs

All MPs in NB need to kiss the ring, otherwise they'll face a well funded challenger.

Furthermore, 1 out of every 7 NBers are employed by JDI and Irving Oil.

> Either way I still don't get how that's the parliamentry nature as much as it's the people's. That's kind of the point of these systems

The ability to threaten a no-confidence motion means individual MPs can have an outsized impact on the executive branch.
by SamDc73 | 2026-01-11 20:25:59+00:00
Nice project.

One thing I’ve always disliked about RSS (and this could actually fix it) is duplicates. When a new LLM model drops for example there are like ~5 blogs about it in my RSS feed saying basically the same thing, and I really only need to read one. Maybe you could collapse similar articles by topic?

Also, would be nice to let users provide a list of feed URLs as a variable instead of hardcoding them.
by mrtracy | 2026-01-11 20:26:08+00:00
How big are the commitments here? I’m having trouble finding actual dollar amounts. Does this actually represent an infusion of money into these SMR efforts, or are these “commitments” tied to so many missable targets that it’s actually meaningless?

Oklo in particular seems to be total vaporware, I can’t find a single technical picture anywhere of anything this company’s reactor is seeking to do. They seem to raise money based on a rendering of a ski lodge.

A huge, concrete investment in TerraPower would be more interesting, but as a molten salt SMR which has never been built, this also looks extremely non-committal.

SMRs in general seem like a dead end, we’ve heard about them for decades and they don’t seem to be any closer to making nuclear power buildouts less expensive.

Everything that makes proven nuclear power plant design expensive seems to revolve around the same drivers of expense for all long-term construction: large up front capital requirements, changing regulations, failure to predict setbacks, and pervasive lawsuits. SMRs purport to tackle a couple of these (shorter-term builds, fewer setbacks), at the cost of considerable efficiency, but so far this seems like an inferior alternative to “just get better at building proven nuclear plant designs”.
by Moldoteck | 2026-01-11 20:26:23+00:00
wind and solar need firming. Currently firming capacity in US is getting scarce. It can be fixed a bit with better transmission but otherwise you need to expand it. China is expanding firm power with coal, gas and nuclear. Germany will expand gas.

Bess will not solve the firming problem. And no, if you build a multibillion datacenter you want to run it around the clock as much as possible. But yes, some datacenters don't have such requirements, but here we are talking about meta
by Forgeties79 | 2026-01-11 20:26:51+00:00
Let’s not forget that you don’t have to be a socialist/communist nation to decide you want to do the cheaper thing. Without robust regulations I guarantee you a Chernobyl-like disaster could easily happen in the US because of less scrupulous companies cutting corners and choosing the cheaper path. With Chernobyl it was the government instead of a private company.

We can talk all day about how the system incentivized people playing CYA rather than actually trying to solve the problem (true and fair critiques), but when it comes down to it, this happened because the cheaper option was chosen and potential issues were overlooked. That transcends political systems.
by casid | 2026-01-11 20:27:02+00:00
I'm always puzzled by these claims. I usually know exactly what I want my code to look like. Writing a prompt instead and waiting for the result to return takes me right out of the flow. Sure, I can try to prompt and ask for larger junks, but then I have to review and understand the generated output first. If this makes people 10x faster, they must have worked really slow before.
by solenoid0937 | 2026-01-11 20:27:21+00:00
> Italy and Europe do not need the arrogance of those who believe they are above the law

Italy and Europe do not have the right to censor the internet for the rest of the world.

Cloudflare is not "arrogant" to threaten pulling out of Italy if fined 2x their revenue in the country.

I would argue that "arrogance" is some tiny vacation destination thinking they can censor the planet ;)
by hamvocke | 2026-01-11 20:28:05+00:00
I am a passionate player of this traditional German card game called "Doppelkopf". It's a fantastic way to spend time away from screens. The game is quite complex which makes it super fun but also hard to pick up.

I'm building a small web app with an interactive tutorial and a browser-based singleplayer game that helps people learn and practice Doppelkopf. I've just released an English version:

https://doppelkopf.club/en
by pixl97 | 2026-01-11 20:28:06+00:00
Hell, anything even close to salt water is apt to get ate. What's funny is you'll see people say they want to retire and get a beach house. No. You. Don't. Blowing sand is hard on stuff, getting in gears and moving parts. But the salt, the salt is like some alien monster that just dissolves things that flat landers would never expect. Get the smallest amount of saltwater flooding in a closet with equipment and things start to corrode away like it's an alien acid world.
by marketmecha | 2026-01-11 20:28:14+00:00
Vim-inspired, as in it's minimal and fast, text editor on the web. No modal-editing yet but, once the current natural input mode is decoupled, clients can bring their own modes/controllers via the extension system.

It's meant to be embeddable and hackable, serving as a building block for custom IDEs as opposed to being IDE-like VSCode. I felt the web IDE space was uninspired with apps built around VScode/Monaco effectively being hosted a VSCode instance with a pre-installed extension and config.json. (Aside: perhaps there's a business opportunity for VSCode-as-a-service where client apps simply bring their own config). I'm dogfooding this library in building an algo trading IDE.

Ships 2kb and smoothly handles 50+ million line files. 1 billion lines with the high-capacity extension. Also, it can function as a TUI or terminal on the web because the core implementation concerns efficiently rendering plaintext in a fixed-width grid layout.

https://varrockbank.github.io/buffee/
by rgovostes | 2026-01-11 20:28:44+00:00
My concern with backing up iCloud Photos with anything but Apple Photos is that there are some proprietary formats like Live Photos and slow mo video for which exports are lossy. Also, Apple Photos stores all edits non-destructively, so 'flattening' the edits into a single file for export is also a lossy operation.

It seems like an obvious improvement for Time Machine to support full backups while using optimized storage on the primary system.
by dragonwriter | 2026-01-11 20:28:56+00:00
The pain I’ve experienced running ComfyUI on windows is from (1) pytorch and the complexities of managing it through pip when python’s platform concept doesn't encompass CUDA versions, (2) dependency conflicts between custom nodes (some of which also involve #1 because they pin a specific pytorch version as a dependency), and (3) gratuitous breakage in ComfyUI updates.

None of which Linux makes any better.
by Animats | 2026-01-11 20:29:46+00:00
Right. Meta wants big enough plants that an AP1000 or two would be the right size. They're known to work. There are four in operation, two in the US, and another dozen or so under construction.

Most of the small nuclear reactor startups hand-wave the failure modes and argue that they don't need the hulking big expensive containment building. NuScale claimed that.
They wanted multiple reactors sharing the same cooling pool. If they ever had a leak, the whole set of reactors would be contaminated, even without a meltdown.

If we look at the big reactor accidents so far, there's Chernobyl, with no containment building. There's Fukushima, with too small a containment unable to contain the pressure. And there's Three Mile Island, where a large, strong containment building contained a meltdown. Three Mile Island was an expensive disaster, but not hazardous outside the plant. That's the failure mode you want.

We might be better off at developing better techniques for welding thick sections to make hulking big, strong containment vessels. There's been progress with robotic welding of thick sections.[1]

[1] https://www.agrrobotics.com/trends-s-industry-analysis/roadm...
by maxbond | 2026-01-11 20:29:51+00:00
I am hesitant to shoot down anyone's work in Show HN but this is deliberate obscenity in service of (I assume) rage baiting. It's all well for art to be transgressive and offensive but if it's not in service of a goal remotely worth having then it's juvenile. Breathing life into a vile monster who remains a contentious subject is just gross and not worth publishing.

OP, I think your work on integrating with iMessage is cool, I think it's cool that you set out to build an iMessage agent and succeeded, but I think this is not your best work. I look forward to seeing what you publish in the future but this one gets two thumbs way down from me.
by tialaramex | 2026-01-11 20:30:29+00:00
> the sci‑fi premise of imprisoning ourselves behind a debris field feels less fictional

Yeah, no, the numbers don't work for this. The Kessler syndrome is bad, and worth avoiding, but you aren't trapped.

The trick is that you're not staying. Suppose a comms satellite in LEO would, as a result of a hypothetical cascade like this, be destroyed on average in six months but your space vehicle to somewhere else passes through the debris field in like 5 minutes. So your risk is like one in 50 000. That's not good but it wouldn't stop us from leaving.

The reason humans won't leave is more boring and less SF, there is nowhere to go. Nowhere else is anywhere close to habitable, this damp rock is where we were born and it's where we will die, we should take better care of it.
by nospice | 2026-01-11 20:31:10+00:00
> Sounds like standard terms from lawyers – not very friendly to customers, very friendly to company – but is it particularly bad here?

Compilers don't come with terms that prevent you from building competing compilers. IDEs don't prevent you from writing competing IDEs. If coding agents are supposed to be how we do software engineering from now on, yeah, it's pretty bad.
by Analemma_ | 2026-01-11 20:31:27+00:00
I think ADS and Merriam-Webster got it right. "Rage bait" and "parasocial" were the WOTY 2-3 years ago; not that they've gone away, but they were of a previous moment. "Vibe coding" is too specific, and "67" is trying too hard to be Hip and With It.

"Slop" is the word that perfectly captures what so much of 2026 was about, and I heard it from every direction, including people not into tech at all.
by with | 2026-01-11 20:32:06+00:00
I think there are issues with Anthropic (and their ToS); however, banning the "harnesses" is justified. If you're relying on scraping a web UI or reverse-engineering private APIs to bypass per-token costs, it's just VC subsidy arbitrage. The consumer plan has a different purpose.

The ToS is concerning, I have concerns with Anthropic in general, but this policy enforcement is not problematic to me.

(yes, I know, Anthropic's entire business is technically built on scraping. but ideally, the open web only)
by charcircuit | 2026-01-11 20:32:06+00:00
>Of course the branch body always moves

>That has no bearing on the argument.

That is the whole argument. Let me quote the other person: "My claim is that, if I call `foo(std::move(myObj))`, it is statically knowable if `foo` receives a copy of `myObj` or whether it is moved to it."

It is saying that for "auto pp = std::move(p);" we will know if it uses the move assign constructor or the copy assign constructor.
by misterbishop | 2026-01-11 20:32:33+00:00
I love desktop linux. I've used it on and off since 2000. Even with Valve's excellent work on gaming, there's still whole software categories that require Windows. Pro audio software is very Windows reliant and I don't see it changing. If you're a software developer, there are many benefits to using and deeply learning linux. But even as a linux super-geek, I don't expect to ditch Windows entirely any time soon.
by dangoodmanUT | 2026-01-11 20:32:41+00:00
Threw together this very specific proxy that allows the downstream to define which IP will be used for the proxied request, and has built-in rate limiting mechanism to coordinate upstream rate limiting across clients.

This is particularly useful when you have a proxy node with many IPs, and you either want to use a specific one, or rotate through them. It also helps prevent upstream rate limiting due to disjoint clients being unable to coordinate on rate limits.

Opus was largely able to one-shot each feature from my specs, which was pretty cool (shows how effective a spec is).
by Leftium | 2026-01-11 20:33:51+00:00
You mean you prefer C over F? Tapping any temperature will toggle between the two. (This always comes up, so the app should probably default to units based on the user's location: the default is F only if the app detects you're in the US)

- Toggling C/F also toggles the scale on the radar to km. Eventually, I will get around to adding a dedicated settings page.

- However, the app was designed so one could get a sense of the weather without numeric labels: temperature is a very relative experience, so use the spatial/color cues to compare yesterday, today, and forecast days.

- Notice now much more space C needs when toggling between C and F. F's 0 to 99 range fits the natural range of temperatures humans experience (weather, body temperature). Humans just don't experience anything beyond 50 degrees C. At the same time, a single delta C is too large for the precision human bodies can detect. (Humans need something closer to 0.5C precision, which is what 1 degree F is.)

- As as result C needs nearly twice as much horizontal space compared to F: due to going negative more often and needing an extra decimal for minimal precision required.
by CharlesW | 2026-01-11 20:34:13+00:00
> Thanks to Apple's exceptional software quality the app has plenty of bugs…

I use Photos for macOS daily and I've never run into a bug with my 50K+ photos library. (To be fair, Photos doesn't do that much, and I use it more as a master catalog with Aperture's spiritual successor Nitro.)

> …and good luck exporting a lot of files out of said library…

Not sure why you would need luck to copy the "Originals" folder from the library package.
by charcircuit | 2026-01-11 20:34:16+00:00
>Static analysis is about proving whether the code emitted by a compiler is actually called at runtime.

That is but one thing that can static analysis can prove. It can also prove whether source code will call a move contractor or a copy constructor. Static analysis is about analyzing a program without actually running it. Analysizing what code is emitted is one way a program can be analyzed.
by emporas | 2026-01-11 20:34:49+00:00
I am writing a Context Retrieval and Context Minimization program for Rust code. I am trying to automate my own workflow in how I use LLMs.

The program is gonna do, what I am currently doing by hand, opening files and copying function/method signatures usually, from files all over the place.

The key here is to fetch into the context window only what is needed for one-question/one-answer and no more, hence the Context Minimization. Context fetched is gonna be specified by the programmer, for example sig(function) fetches only the signature, while @function captures the whole body. sig(Struct) is gonna fetch the fields and signatures of all of it's methods. sig(Trait) similarly.

In my view, giving the A.I. more information than needed, only confuses it and accuracy degrades. It is also slower and more expensive but that's a side effect.

The project is in early stages, for the moment it calls ast-grep under the hood, but eventually, if it works as it is supposed to, I plan to move to tree-sitter queries.

If there is a similar project somewhere I would appreciate a pointer to it, but I am not interested in implementations of agents. My program does not give the A.I. a whole view of the codebase, only the necessary points specified by the programmer.
by pmontra | 2026-01-11 20:36:06+00:00
Printing has always been the most brittle experience of all IT at least since when I started printing in the 80s.

To add an anecdote I let a friend print on my HP LaserJet from his Windows laptop today. It detected the printer over Wi-Fi but it could not print anything because it was missing the driver. After a 100 MB download from HP's site the installer wanted an USB connection to the printer. That friend of mine is young so he never saw a USB cable with the small squarish plug that connects to a printer (or scanner, or USB2 disk) but that's another story.
The installer run for minutes and failed with an error. I told him not to trust the error and attempt to print anyway. It did print. However after a few pages a pop-up complained about a non original toner (probably true) and it stopped printing. However he managed to find the printer from his Android phone and print from there. Then he was able to print from Windows too.

All of that took about an hour. I installed Debian 13 on my laptop last week and I could detect the printer instantly and print without any problem. No driver to download. I know that I can apt install hplip to get more specific drivers but it was not necessary.