MurphyA/hacker-news huggingface dataset:
by ocfnash | 2025-12-28 12:03:01+00:00
Thank you for sharing these memories.

I'd be very interested to hear any thoughts you might have about Jung Chang's book "Wild Swans".

I read this book a year or two ago and learned a lot from it, but I also learned that many people who grew up in China take issue with the author's account. I'd be grateful for any remarks you may be able to share.
by winternewt | 2025-12-28 12:03:56+00:00
Destructors are vastly superior to the finally keyword because they only require us to remember a single time to release resources (in the destructor) as opposed to every finally clause. For example, a file always closes itself when it goes out of scope instead of having to be explicitly closed by the person who opened the file. Syntax is also less cluttered with less indentation, especially when multiple objects are created that require nested try... finally blocks. Not to mention how branching and conditional initialization complicates things. You can often pair up constructors with destructors in the code so that it becomes very obvious when resource acquisition and release do not match up.
by 578_Observer | 2025-12-28 12:03:58+00:00
"If the AI builds the house, the human must become the Architect who understands why the house exists."

In Japanese traditional carpentry (Miya-daiku), the master doesn't just cut wood. He reads the "heart of the tree" and decides the orientation based on the environment.

The author just proved that "cutting wood" (coding) is now automated. This is not the end of engineers, but the beginning of the "Age of Architects."

We must stop competing on syntax speed and start competing on Vision and Context.
by real_joschi | 2025-12-28 12:04:44+00:00
> I landed 259 PRs -- 497 commits, 40k lines added, 38k lines removed

I wonder how much of these 40k lines added/38k lines removed were just replacing the complete code of a previous PR created by Claude Code.

I'm happy that it's working for them (whatever that means), but shouldn't we see an exponential improvement in Claude Code in this case?
by tchantchov | 2025-12-28 12:05:33+00:00
Hi HN,

I built PremiumFlow because I got tired of maintaining a massive spreadsheet to track my options trades.

The Problem: When running the "Wheel" strategy (selling puts/calls), most brokerages treat every trade as a separate event. They don't track how collected premiums lower your true cost basis over time. If you roll a position for 3 months, you have no idea what your actual break-even price is without doing manual math.

What this solves:

Automated Math: It links your trades to calculate real-time cost basis and annualized ROI.

Risk Management: Tracks "Poor Man's Covered Calls" (LEAPS) and monitors assignment risk.

No Excel: Replaces the manual trading journal with a dashboard.

It's totally free so you can test it out. I’m looking for feedback on the "adjusted cost basis" calculation—does it match how you track it manually?

Happy to answer any questions!
by cube00 | 2025-12-28 12:05:43+00:00
The tweet from Dec 24 was interesting, why is Boris only now deciding to engage?

I refuse to believe real AI conversations of any value are happening on X.

Hi I'm Boris and I work on Claude Code. I am going to start being more active here on X, since there are a lot of AI and coding related convos happening here.

https://xcancel.com/bcherny/status/2003916001851686951
by K0nserv | 2025-12-28 12:07:41+00:00
Losing contact with the code is definitely on my mind too. Just like how writing can be a method of thinking, so can programming. I fear that only by suffering through the implementation will you realise the flaws of your solution. If this is done by an LLM you are robbed the opportunity and produce a worse solution.

Still, I use LLM assisted coding fairly frequently, but this is a nagging feeling I have.
by palata | 2025-12-28 12:08:06+00:00
> The only downside to Sigstore is it hasn’t been widely adopted yet.

Which, from where I stand, means that PGP is the only viable solution because I don't have a choice. I can't replace PGP with Sigstore when publishing to Maven. It's nice to tell me I'm dumb because I use PGP, but really it's not my choice.

> Use SSH Signatures, not PGP signatures.

Here I guess it's just me being dumb on my own. Using SSH signatures with my Yubikeys (FIDO2) is very inconvenient. Using PGP signatures with my Yubikeys literally just works.

> Encrypted Email: Don’t encrypt email.

I like this one, I keep seeing it. Sounds like Apple's developer support: if I need to do something and ask for help, the answer is often: "Don't do it. We suggest you only use the stuff that just works and be happy about it".

Sometimes I have to use emails, and cryptographers say "in that case just send everything in plaintext because eventually some of your emails will be sent in plaintext anyway". Isn't it like saying "no need to use Signal, eventually the phone of one of your contacts will be compromised anyway"?
by graemep | 2025-12-28 12:08:45+00:00
Its a facto, but I think people also do think it makes more a difference than it does.

One thing I have noticed from using satnav is that even with a mostly motorway journey the difference between driving fast and driving at a more leisurely pace is never more than a minute or two per hour compared to the predicted time.

I knew it from seeing how often I later caught up with someone driving very aggressively, but quantifying it made me realise just how consistent the small difference is.
by assimpleaspossi | 2025-12-28 12:09:05+00:00
There's a usability and design issue with that as you lose what you're reading as it scrolls off the screen. Also, scrolling is a styling issue and not a document description issue which is what HTML is for.

Note: <marquee> has never been part of any HTML standard since the beginning except the current one which only has it for the purpose of marking it obsolete so people will quit using it.
by 578_Observer | 2025-12-28 12:11:03+00:00
It is not bad. It is mastery.

You are treating the AI not as a tool, but as a "Material" (like wood or stone).

A master carpenter works with the grain of the wood, not against it. You are adapting your architectural style to the grain of the AI model to get the best result.

That is exactly what an Architect should do. Don't force the old rules (DRY) on a new material.
by andy99 | 2025-12-28 12:11:08+00:00
I love the idea, I don’t expect people are respectful enough for it to work where I am, I’d be worried about being stuck next to somebody watching videos on their phone at full volume all night.

Also

Choose a cosy London capsule hotel in a shared dorm for a sociable vibe, meet like-minded travellers, and swap stories or book out an entire dorm for a private group adventure.

This is literally the opposite of what I would want. It would be great to see a privacy and rest focused concept for this, which is what I associate the Japanese ones with, a place for exhausted salarymen to get some quick rest, rather than a backpacking hostel. Nothing wrong with the latter if that’s your thing but it’s not going to appeal to anyone over 25.
by hshdhdhj4444 | 2025-12-28 12:11:33+00:00
> It was post-Cold War and central banks were trimming USD reserves to test alternatives.

This is the problem though. In 1994 central banks were trimming USD to test alternatives. Not because something was wrong with the USD itself.

Today, central banks are trimming USD To test alternatives because the USD itself has lost value.

Any flight to stability will necessarily not use as much USD given that it’s far less stable than it was 3 decades ago or even 3 quarters ago.
by spectreflow | 2025-12-28 12:12:40+00:00
Data loss in WordPress form submissions is not a rare edge case.
It is a predictable outcome of systems that treat form structures as disposable and historical data as secondary.

As forms increasingly become the primary interface between organizations and their users, losing submitted data isn't just an inconvenience - it may represent an operational catastrophe with real business consequences and long-term reputational damage.
by tialaramex | 2025-12-28 12:12:44+00:00
So, I've worked for both startups and large entities, including both an international corporation and a major university, and in all that time I've worked with exactly one system that used client TLS certificates. They mostly weren't from the Web PKI (and so none of these technologies are relevant, Let's Encrypt for example has announced and maybe even implemented choices to explicitly not issue client certs) and they were handled by a handful of people who I'd say were... not experts.

It's true that you could use client certs with say, Entra ID, and one day I will work somewhere that does that. Or maybe I won't, I'm an old man and "We should use client certs" is an ambition I've heard from management several times but never seen enacted, so the renaming of Azure AD to Entra ID doesn't seem likely to change that.

Once you're not using the Web PKI cert expiry lifetimes are much more purpose specific. It might well make sense for your Entra ID apps to have 10 year certs because eh, if you need to kill a cert you can explicitly do that, it's not a vast global system where only expiry is realistically useful. If you're minting your own ten year certs, now expiry alerting is a very small part of your risk profile.
by jchw | 2025-12-28 12:13:32+00:00
Destructors and finally clauses serve different purposes IMO. Most of the languages that have finally clauses also have destructors.

> Syntax is also less cluttered with less indentation, especially when multiple objects are created that require nested try... finally blocks.

I think that's more of a point against try...catch/maybe exceptions as a whole, rather than the finally block. (Though I do agree with that. I dislike that aspect of exceptions, and generally prefer something closer to std::expected or Rust Result.)
by cracki | 2025-12-28 12:14:41+00:00
The ESP32 is quite open, by the company, not by RE efforts. If you were under the impression that community RE was to praise for its usability, then you must be thinking of the ESP8266 or what came before it, not the ESP32.

This video is not about the entire ESP32 either.

This video is about one of the ESP32's radio functions, Bluetooth.

Espressif keeps their radio stuff closed for some reason. It might be due to licensing (if they bought parts of the radio), govt regulations of some countries mandating that users can't abuse the radio, or maybe it's trade secrets they want to keep secret to keep an edge on the market.

You don't appear to know much about the ESP32 and its ecosystem. You should, if you are at all interested in electronics, microcontrollers, or "Internet of Things".
by throwaway81523 | 2025-12-28 12:15:01+00:00
Per https://en.wikipedia.org/wiki/BSD_licenses the 4-clause (GPL incompatible) BSD license was 1988, 3-clause (the one everyone uses now) was 1990. It got rid of the advertising clause at RMS's behest. RMS spent a long time wrangling for that change.

GPL1 was 1989. I'm not sure if RMS was involved with BSD3. The MIT license as used in MIT Athena and X windows was somewhat earlier, like 1986, and is similar to BSD3.

GNU Emacs as released around 1984 had its own license similar to GPL1, called the Emacs General Public License (see https://en.wikipedia.org/wiki/Copyleft). The term "copyleft" per that article originated in 1984 or 1985.

I semi-remember that GPL1 was mostly ported from the Emacs GPL, basically substituting "The Program" for "Emacs". I don't remember if the Emacs GPL used the term "Copyleft".

The informal distribution terms for PDP-10 Emacs in the 1970's were an antecedent of copyleft that RMS called the "Emacs Commune". Distribute freely but you were (informally) required to send in changes and improvements. See: https://en.wikisource.org/wiki/Free_as_in_Freedom_(2002)/Cha... The GPL's were somewhat a codification of the Emacs Commune.

It wasn't like the MIT and BSD stuff happened with with RMS in a state of ignorance either. He obviously wasn't in control of anything outside the GNU project, but he was involved in lots of discussions with MIT and Berkeley about licensing and other issues.
by JohnFen | 2025-12-28 12:15:44+00:00
I never switched away from listening to my own music collection, so my experience may not be useful to you. Here's the setup I have. I run Kodi as my music server at home, with a NAS that contains all of my music. My collection is quite large and continues to grow. I get most of my new music on CDs (usually purchased at the merch table at live performances) or through Bandcamp these days, although I'm open to any source that allows me to have unencumbered lossless recordings.

This allows me to use Kodi's native front end when I'm listening on my home sound system, to use a web front end to play on any web-connected computer, and to stream from my server to my smartphone when I'm out and about. It's the best of all worlds. I have all the convenience of a streaming service, but I actually own the music and it will never become suddenly unavailable or replaced by inferior versions, and I don't have a fixed recurring cost just to enjoy music. Plus, a ton of great music is simply not available on any commercial streaming platform and this eliminates that issue.

I don't tend to use MP3s, though. I go with FLAC instead. Kodi will transcode the FLACs to other formats if needed.
by _heimdall | 2025-12-28 12:16:29+00:00
> Another example being the new FE on Github.

Github's old frontend was mostly HTML with a bit of JS, their new frontend is react. The old UI had its bugs, but it was much better than the react version in my experience. I still commonly find the UI out of sync with itself requiring a reload, but now I also frequently wait for the page to load and viewing large diff's is a performance nightmare.
by refurb | 2025-12-28 12:19:07+00:00
This approach is why carbon taxes won't work. Tax carbon, then credit it back to a majority of the population because "they can't afford it". Leaving the people who can afford it to not reduce their carbon use.

Thus entirely defeating the point of taxing it in the first place.

If you want less driving, make it more expensive. Yes, some people will be in unfortunate situations where they can't afford it, but that's the point.
by mort96 | 2025-12-28 12:19:49+00:00
> Most of the languages that have finally clauses also have destructors.

Hm, is that true? I know of finally from Java, JavaScript, C# and Python, and none of them have proper destructors. I mean some of them have object finalizers which can be used to clean up resources whenever the garbage collector comes around to collect the object, but those are not remotely similar to destructors which typically run deterministically at the end of a scope. Python's 'with' syntax comes to mind, but that's very different from C++ and Rust style destructors since you have to explicitly ask the language to clean up resources with special syntax.

Which languages am I missing which have both try..finally and destructors?
by mirashii | 2025-12-28 12:19:55+00:00
> which is very important for the kind of thing eBPF is(1)

The question is, going into 2026, what kind of thing is eBPF? It seems like all hope of it being a security boundary has been thwarted by micro-architectural vulnerabilities to the extent that you can no longer load eBPF programs as non-root. So, is it a security boundary? That's an honest question that I've not been able to find an answer to in the kernel documentation or recent mailing list posts.

If it's not a security boundary, what is it? There's a few other nice properties enforced by the validator, like protos for a subset of kernel functions, which provides some load-time validation that you've built against a compatible kernel. That's something that's lost here, so we don't get the same compile once, run everywhere properties eBPF has. One might argue this is a big loss, but in the branch that eBPF is not a security subsystem, it's worth asking whether these are strictly necessary checks that need to be enforced, or whether they're niceties that bring a higher hope of stability and reduce the burden of code review that are perfectly fine to bypass given those caveats.
by 578_Observer | 2025-12-28 12:19:56+00:00
Precisely.

AI optimizes for "Accuracy" (minimizing error), but it cannot optimize for "Taste" because Taste is not a variable in its loss function.

As code becomes abundant and cheap, "Aesthetics" and "Gestalt" will become the only scarcity left. The Architect's job is not to build, but to choose what is beautiful.
by sbierwagen | 2025-12-28 12:20:17+00:00
Ask one of the hundreds of vending machine companies in the NYC area where they put them, I suppose. https://www.google.com/maps/search/vending+machine/@40.69452...

I walked into a Fred Meyer yesterday and saw probably ten vending machines. The Redbox DVD rental machine outside, then capsule toy, Pokemon card and key duplication vending machines, filtered water and lottery ticket machines, Coinstar coin counting machine...
by upofadown | 2025-12-28 12:21:17+00:00
>And it wants to identify keys by 32-bit truncated hashes.

That's 64 bits these days.

>I should really not have to even think about the interaction between decryption and verification.

Messaging involves two verifications. One to insure that you are sending the message to who you think you are sending the message. The other to insure that you know who you received a message from. That is an inherent problem. Yes, you can use a shared key for this but then you end up doing both verifications manually.
by lazide | 2025-12-28 12:21:57+00:00
In wealth management there is a saying ‘the first generation builds it, the second generation protects it, the third generation smokes it’.

I’ve seen it play out. It certainly isn’t universal, but it’s a common pattern.

What you are describing also lines up (roughly) with generational demographic trends from the post WW2 generations to now.

Notably, the post WW2 USA was in a very unique place - most everyone else’s economies had been blown to smithereens, it had the worlds reserve currency as everyone else had to take loans from the USA to survive (or had been conquered), and it had a (mostly intact) highly motivated and trained workforce that had just won the major world war as ‘the good guys’ and had a relatively consistent self-image and cohesive society because of it.

All of these factors - including even a cohesive society, have now mostly ‘gone up in smoke’. Even major Capital has devolved to equity and leverage, typically the weakest type of Capital.

Don’t worry, there is still a lot left to burn though!
by p2detar | 2025-12-28 12:22:35+00:00
> Your mail either needs to be encrypted reliably against real adversaries or it doesn't.

It is, GPG take care of that.

> If the idea here is, a private group of friends can just agree never to put anything in their subjects, or to accidentally send unencrypted replies

That’s not what I’m talking about. It’s an enterprise - you cannot send non-encrypted emails from your work mail account, the gateway takes care of it. It has many rules, including such based on the sender and recipient.

Surely, someone can print the mail and carry it out of the company’s premises, but at this point it’s intentional and the cat’s already out of the bag.
by viraptor | 2025-12-28 12:23:19+00:00
Depends. If you want to implement a very fancy kernel level tracing tool for your local environment, why would it be a bad thing? Worst case you'll lock up your system and have to reboot.

But you wouldn't want to use that for the actual firewall for example, or with a production service. There's no general "bad". Just different contexts.
by r2vcap | 2025-12-28 12:23:33+00:00
Why not take the best of both worlds?
Use pre-commit hooks for client-side validation, and run the same checks in CI as well.
I’ve been using this setup for years without any issues.

One key requirement in my setup is that every hook is hermetic and idempotent. I don’t use Rust in production, so I can’t comment on it in depth, but for most other languages—from clang-format to swift-format—I always download precompiled binaries from trusted sources (for example, the team’s S3 storage). This ensures that the tools run in a controlled environment and consistently produce the same results.
by crsr | 2025-12-28 12:25:09+00:00
I built ClearAudio to make prompt-based audio cleanup practical. Upload audio, describe what you want ("keep the voice, remove the crowd"), and it separates it out. I stripped it down to the essentials with a minimal 1-bit UI—no extra features, just the core separation.

Uses Meta's AudioSeg model (https://github.com/facebookresearch/audioseg) under the hood. Also used this as a chance to learn Modal for GPU inference.

Code is open source: https://github.com/sambarrowclough/clearaudio

Happy to answer questions about the stack or take feedback on the UX!
by DannyBee | 2025-12-28 12:25:54+00:00
This is a really helpful contribution - if only everyone could be as smart as you.

If mine are somehow too beligerent for you, which is hilarious given how arrogant and beligerent your initial comment and responses come off as (maybe you are not aware?), then perhaps you'd like to actually engage any of the other comments that point out how wrong you are in a meaningful way?

Or are those too beligerent as well?

Because you didn't respond to any of those, either.
by swe_dima | 2025-12-28 12:26:46+00:00
My grandfather, who is a nuclear scientist, and my mom also come from a small closed-off city in Siberia (Russia).

Visiting my grandparents I remember we had to go through a sort of border control to get there.

My mom told stories of how the government would change the asphalt every year in that city to cover the nuclear dust.
by raphman | 2025-12-28 12:26:58+00:00
Claude Code user¹ says Claude Code wrote continuously incorrect code for the last hour.

I asked it to write Python code to retrieve a list of Kanbord boards using the official API. I gave it a link to the API docs. First, it wrote a wrong JSONRPC call. Then it invented a Python API call that does not exist. In a new try, I I mentioned that there is an official Python package that it could use (which is prominently described in the API docs). Claude proceeded to search the web and then used the wrong API call. Only after prompting it again, it used the correct API call - but still used an inelegant approach.

I still find some value in using Claude Code but I'm much happier writing code myself and rather teach kids and colleagues how to do stuff correctly than a machine.

¹) me
by jeroenhd | 2025-12-28 12:27:11+00:00
SSH has its own certificate authority system to validate users and servers. This is because trust-on-first-use is not scalable unless you just ignore the risk (at which point you may as well not do encryption at all), so host keys are signed.

There is quite literally nothing that prevents you from putting a self-signed server certificate. Your browser will even ask you to trust and store the certificate like your client does on the screen that shows the fingerprint.

Good luck getting everyone else to trust your fingerprint, though.
by adsurg | 2025-12-28 12:27:35+00:00
It depends massively on the task. Not less than 10% if it’s just helping review my PRs before submission. It can be quite a large improvement, where for example, I wanted to rebuild a Postgres layer for a new company but didn’t have the one I’d written previously. I’m knew exactly what I wanted and probably did two days of tedious work in an hour. It does slow me down some too when it makes mistakes, but that’s rare.
by ofalkaed | 2025-12-28 12:27:58+00:00
This submission popping back up from the second chance pool got me to do some digging for the formal description of system/360[0], this is not the APL we know today but the APL outlined in Iverson's A Programming Language[1].

[0] https://www.cs.trinity.edu/~jhowland/class.files.cs2321.html...

[1] https://www.jsoftware.com/papers/APL.htm