MurphyA/hacker-news huggingface dataset:
by quickthrowman | 2025-10-25 14:07:55+00:00
> Its not hard to say at all, the math can be done pretty easily based on your local electric and gas rates, and most people who go for a heat pump already need an air conditioner for summer.

I went on to do the math for operating costs for myself in the very next sentence. Excluding labor and material to replace a furnace with a heat pump, operating costs are lower as long as the heat pump has a COP of 2 or higher.

Predicting future electricity and gas prices is virtually impossible but it is possible to quantify how much it costs to convert a natural gas furnace to a heat pump system at present. I’m saying it’s difficult to know at the present time if the TCO of the heat pump beats out natural gas. Where I live in Minnesota, I’m skeptical you’d come out ahead. In a state like Arkansas or Tennessee, the heat pump is likely to come out ahead due to lower heating needs.
by thesmtsolver | 2025-10-25 14:07:57+00:00
> A famous anecdote is from Rupert Murdock who is able to influence UK poltics at whim but had no effect on EU:

Is it though?

> There is much fake news published about me, but let me make clear that I have never uttered those words

https://pressgazette.co.uk/publishers/nationals/rupert-murdo...

I buy the rest of your comment that EU may be better than local govts.
by eggy | 2025-10-25 14:08:55+00:00
In performing an assessment of which ecosystem and PL to use to develop our high-integrity automation software for mission-critical applications, we assessed Rust, Zig, and Ada/SPARK. Rust had the support behind it from a big corp., a passionate developer community, and some adoption by significant entities, but none with cyber-physical systems. And it has been interesting to see some developers leaving Rust for Zig for the sheer enjoyment of using it instead. Our software will be controlling machinery overhead and other close coupling with machinery and people. Rust does not have the legacy in these areas or the ecosystem to cover formal verification. Zig was considered, but was even more new than Rust, and had similar disadvantages as listed for Rust. SPARK, a relatively newer PL, a subset of Ada, has legacy in high-integrity, mission-critical applications, and formal verification tooling that along with human review, makes it the strongest choice to meet the government's latest push for such critical software, and the language though verbose, is low friction to learn and apply. I found Zig to be a great second choice, and look forward to both Rust and Zig's future. Glad to see Zig moving along since Andrew started it. Congrats Andrew and the team currently pulling this off!
by hellcow | 2025-10-25 14:09:08+00:00
People make mistakes using bad (but popular) tech all the time. Remember MongoDB when every app needed to be NoSQL for web-scale? Remember when everything was event-driven using Kafka? Remember when every left-pad needed its own microservice?

When large organizations (Facebook, Google, LinkedIn, Amazon) start pushing it, when popular developers blog about it, when big conferences run talks on it, and lots of marketing and ads and sales funded by ad revenue or VC dollars start pushing a tech as “amazing,” it gets adopted by CTOs, becomes a hiring criteria, and suddenly no one wants to admit it’s crap because their entire career depends on it… or more generously they don’t know any better because they haven’t hit the painful edges in production yet, or they haven’t seen how simple things could be with a different architectural decision.

Something being popular doesn’t mean it’s well-suited for a common use-case. Very often it isn’t.
by Izkata | 2025-10-25 14:09:19+00:00
That's wrong, it's calling setAge immediately and not making a callback. You'll get an infinite render loop from that. It should be:

const handleAgeChange = () => setAge((prevAge) => prevAge + 1);

https://react.dev/reference/react/useState#updating-state-ba...

The callback version is really only needed if there's a risk of setAge being called multiple times between renders and you do actually want all the mutations, vs only wanting it based on what's currently rendered.
by qudat | 2025-10-25 14:10:24+00:00
I’m not sure i could disagree more with a statement.

Reacts innovation is simple: view is a function of state.

Before that we had to construct the ui imperatively where we managed state AND ui transitions to state changes. Now we mostly just focus on rendering a ui based on the snapshot of state we have. It is revolutionary (for ui dev), it is scalable, it is the reason why react STILL dominates the ui landscape.

React isn’t just popular because it’s familiar, that might be a component, but it ignores the historical and technological achievement it created
by brian-bk | 2025-10-25 14:11:20+00:00
I'm convinced nothing solid has come out of AWS in 10 years. The original products (ec2, RDS, s3) are solid either from being created at a time when AWS could write software or just from existing for so long.

Any modern AWS product (mostly SaaS) is just utter dookie, the only reason they continue to sell well is companies already have an accounting relationship with AWS. It's a lot less internal approvals required to start using the AWS SaaS version of whatever, compared to a brand new vendor negotiation contract and security guarantees.

So I guess AWS is just working off of a broken incentive structure designed to churn out SaaS-slop over stuff that actually works great.
by paulryanrogers | 2025-10-25 14:11:33+00:00
Shrink wrapped software also often had cheaper upgrade packages, so you didn't always have to pay the full price each year. And before activation and 'licensing' you could resell it.

As for FOSS going unpaid. SaaS doesn't necessarily lead to FOSS contributors getting paid more than they would if their software was going into shrink wrapped products.
by jen20 | 2025-10-25 14:11:53+00:00
I do indeed think that there is unlikely to be a single professional model in a Best Buy - a Thinkpad, a professional-grade Dell without crapware preinstalled, a System76 or a Framework. The exception of course is actually a Mac, which you can buy there.

Amazon prime might get one to you next day, late in the day. That is wildly insufficient for a business trip. If you’re in a city where they will deliver same-day, you can probably also go to a Microcenter and get a low-spec Thinkpad off-the-shelf.

Beer is not a necessity when traveling for business (though I actually happen to be perfectly happy to drink Bud Light, Coors Banquet, or PBR just as readily as a Grisette, since I’m not a snob), but a functioning laptop is.

As for popularity - sure - making a good product makes it popular. I was in fact so happy with the Mac between 2016-18 that I bought a second so I would have the nice low travel keyboard and Touch Bar available indefinitely.

Whether you believe it or not is irrelevant, frankly.
by golly_ned | 2025-10-25 14:12:38+00:00
I haven't, because I want the support of my manager, and he's resistant to going to HR because he is afraid of looking bad to our director. Really crappy situation.

Another thing is: it's really difficult to point to specific cases that really are "HR-worthy". That's the nature of passive-aggressive behavior. His treatment of another engineer, who has since been fired for performance, early this year really did qualify for HR based on how distressed the other employee was.

I think I may have to bring this up to my manager's manager, since my manager doesn't want to. It'll hurt my relationship with my manager, but I think this is feedback he really does need to hear and receive, or he'll just keep tolerating competent jerks on his teams.

Several other employees have had issues with him. The sense I get is they're really just seeking peace at this point and it's clear they're avoiding him. Since he's been there since the beginning he knows a lot that no one else does, but they rarely approach him for help -- he's made it clear to me in early 1:1s he isn't interested in investing more time in trying to up-level his peers.

He does have a good relationship with a junior engineer on the team, though, and may be developing a good one with another engineer that he probably has more respect for than me.
by _fat_santa | 2025-10-25 14:12:41+00:00
I've been using React for just about a decade at this point and IMHO the thing that makes it a killer framework isn't one feature but all of them combined that makes it possible to move very fast in product development with multiple contributors. It's easy for devs to pickup relative to other languages, yes there are footguns but for the most part they are in the minority and you figure out the "Rules of React" pretty quickly and avoid them.

Remember folks, were all talking about our figurative drills and hammers in this thread and the folks paying us largely don't care and just want to see a working product. React in this analogy is a very quirky toolbox but it won because that toolbox helps people build the end product faster than most other toolboxes, even if it's filled with some questionable tools.
by nickisen | 2025-10-25 14:13:14+00:00
Hello HN,

I've been working on an open-source project called PicoCrypt FPV, a system for encrypting analog FPV (CVBS) video in real-time using a pair of Raspberry Pi Picos. The goal was to create a low-cost, low-latency way to secure a standard analog video feed.

The architecture involves two identical modules (transmitter and receiver):

Transmitter: The analog video-in is conditioned by an op-amp (like an LMH6702) and digitized by a parallel 8-bit Flash ADC (like the AD9280) running at 10 MS/s. The RP2040's first core encrypts this 8-bit stream line-by-line before it's sent over the RF link.

Receiver: The second RP2040 receives the encrypted stream, decrypts it on Core 0, and Core 1 clocks the data out to an 8-bit R-2R resistor ladder DAC. An op-amp buffers the final analog signal.

The encryption is a fast XOR-based stream cipher using the Xorshift128+ PRNG, seeded with a 64-bit pre-shared key. To prevent desynchronization, the PRNG is reset to its initial state on every V-Sync pulse, which effectively emulates a one-time-pad for each video frame.

By using the RP2040's dual cores, PIO for timing, and a line-by-line processing approach, the total added processing latency is kept under 1ms.

The repository includes all the C firmware for the sender/receiver, CMake build files, hardware schematics, a Bill of Materials, and a very detailed HTML project guide walking through all 6 phases of the build.

GitHub Repo: https://github.com/nickisen/picocrypt-fpv/tree/3d017e2fa1856...

Detailed Guide: https://github.com/nickisen/picocrypt-fpv/blob/3d017e2fa1856...
by crowbahr | 2025-10-25 14:14:10+00:00
The issue with that approach is that the state of the art for iOS dev is about 15 years behind the state of the art for Android dev. The amount of simple things that are incredibly painful for iOS devs to do is astounding. Some of that is because xcode is horrific, some of it is that the ecosystem is starved by disinvestment from Apple.

I've talked with colleagues in several companies and the story is always the same: the iOS repository is a patchwork of horrible patterns that shatters when you update to the latest iOS target.

At my current employer it takes 4 iOS devs longer to implement things than it takes 1.5 Android devs (0.5 because the other .5 is spent being Team Lead and architecting, planning, endless meetings etc).

When I talked with the KMP team at Google they were mentioning that their most enthusiastic user base at Google was iOS developers, begging to be saved from their tooling nightmares.

I'm sure some defensive devs will show up here but I've been at 5 different places over my decade at work and every single one of them has had endless struggles hiring iOS devs, maintaining iOS projects etc.
by nop_slide | 2025-10-25 14:14:28+00:00
> The Backbone code is brutally honest about what it's doing. An event fires, a handler runs, you build some HTML, you put it in the DOM. It's verbose, sure, but there's no mystery. A junior developer can trace exactly what happens and when. The mental model is straightforward: "when this happens, do this." > The React code hides a lot. And once you move past simple examples, you hit problems that don't make sense until you understand React's internals. I relate to this a lot. I have had to read these two very large articles multiple times to calcify my mental model for understanding exactly _when_ react does something and _why_ it did or did not. https://overreacted.io/a-complete-guide-to-useeffect/ https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-... Backbone was also my first framework that I haven’t touched in over 10 years, but looking at the code examples from the article I completely understood what was going on.
by pepoluan | 2025-10-25 14:14:59+00:00
I don't think run0 uses the same configuration syntax as sudo, so it's a no-go from the start.

sudo-rs can be a drop-in replacement for sudo for at least 95-99% of deployments, without any config changes necessary.

Now the rewrite in Rust is important because it greatly prevents appearance of new, memory-based bugs. Which might inadvertently happen if, say because of fixing a logic bug in one of sudo's more complex usages (and thus, less traversed code path), the maintainer introduced a memory bug.

This resistance, IMHO, is moot anyways since the sudo maintainer himself is in support of sudo-rs and actually helped the project in a consultancy capacity (as opposed to directly contributing code).
by ianopolous | 2025-10-25 14:16:17+00:00
There is a built-in mirror function in peergos you can use to mirror your user, or an entire server you control to another server yes: https://github.com/peergos/peergos?tab=readme-ov-file#mirror and we recently add this to the ui itself you can request/pay for a live mirror on another server: https://peergos.net

At the moment if your client accesses a server with a mirror, and your primary is offline, then you can read, but not write. Writes are proxied to your primary, and thus need your primary to be accessible.
by Nextgrid | 2025-10-25 14:16:47+00:00
Counterpoint: what if version 4 is just fine?

> Software is economically expensive to produce

Maybe we just produce too much of it in an effort to justify our salaries and stock prices?

For all the software that's been produced over the last 2 decades, I'm not aware of any significant breakthroughs to show for all that effort (LLMs might be the closest, but they are down to sheer processing power rather than software itself).

My computer in 2010 was achieving basically the same tasks it achieves now - I can browser the web, buy goods online, watch videos, chat with people, play video games, and so on. My computer today is 10-20x more powerful than the 2010 one, yet somehow everything is slower, uglier, and less reliable.
by bitbasher | 2025-10-25 14:17:02+00:00
> ... a sort of innocent arrogance that comes with people who boldly claim that renowned, well-adopted frameworks or technologies are straight up bad or a non-improvement over yesterday’s tech.

There's a sort of innocent ignorance that comes with people who assume well-adopted or renowned frameworks or technologies became renowned due to positive virtues and not due to external factors at the time.

React was Facebook's reaction to Google's Angular, which was a reaction to backbone and others at the time. At that point, it became a company pissing contest for developer mind-share that embroiled developers in hype trends when the companies themselves were not even using those technologies.

Bootcamps began to teach those technologies because of the hype train and then companies began to hire for those skills because it's what every "new" developer was skilled with due to the massive push by bootcamps at that time (mega rise of MOOCs and bootcamps).

I've spoken to countless founders that made tech choices due to "hiring concerns" and "it's what developers want" and "my buddy XYZ is using it" or "we can't use X because that's the old way".

There's certainly a space to discuss these technologies without being "arrogant" and dismissing what the "majority of developers" use. Maybe the majority is wrong.
by ssuds | 2025-10-25 14:17:27+00:00
>The price has remained relatively stable over the past 20 years

Not really, natural gas has immense exposure to geopolitics and the commodity markets: https://www.iea.org/commentaries/what-drives-natural-gas-pri...

There’s also the argument to be made (this has manifested in other countries) that as gas usage wanes and more homes electrify, nat gas costs will increase as the infrastructure costs are spread among fewer and fewer people
by bagacrap | 2025-10-25 14:17:34+00:00
Unfortunately there is absolutely no incentive structure in place anywhere to reward someone for writing code that lasts a decade or more without major maintenance. How would you do that? Send a check a decade later?

Even setting aside the impossibility of knowing whether the choices you're making will stand the test of time, how do you convince your boss, PM, director etc that it's worth spending extra time now rather than accepting some tech debt?

When I look back at the code I've written which has lasted the longest --- was not yet made obsolete by some product or technical redesign --- it is generally not the code that I was proudest of at the time I wrote it.

And to the original point, yeah, my CS degree is fairly useless at this point but it did prepare me for constantly wrapping my head around new abstract concepts I guess.
by adwn | 2025-10-25 14:17:57+00:00
I believe you. But not everyone is an autodidact. Most people, for whom becoming an electrician or plumber is the best option among all viable careers, do not have the discipline, aptitude, and intelligence to learn the theoretical and practical knowledge of a trade completely on their own. And vice versa, people who would be able to pull this of, typically have options that are better-paying, higher-status, or less physically demanding.
by seanhunter | 2025-10-25 14:18:02+00:00
In the exact same way, in cricket there is a style of bowling called legspin and bowlers who use that style have a particular type of ball called a “googly” which turns in the opposite direction to a normal legspin ball. Because legspinners sometimes have to do weird wrist contortions to get this ball to work, batsmen practise trying to “pick” this ball by noticing these tells (mainly whether they can see the back of the bowler’s hand).

So really crafty legspinners sometimes try to develop two versions of the googly: one with a deliberate tell and one without a tell.

Here’s an example of probably the greatest legspin bowler of all time doing exactly this, although with a different ball (a “flipper” or topspin ball) not a googly https://youtu.be/DlyG5wnW7I0?si=O463NAdV6NAAB3cG
by mattgreenrocks | 2025-10-25 14:18:24+00:00
Agreed, it's rather insane to me. Basically seems like distribution trumps pretty much everything, sometimes even whether it's a viable business model.

I was grocery shopping the other day and saw Liquid Death, which is a brand of...water, but with edgy marketing? I'm told to "make things people need," and then regularly see rent-seeking companies held in great esteem, ultra-undifferentiated offerings such as Liquid Death, an API client with a monthly fee, and other things that seem to contradict the maxim of making things that people need.
by lukaslalinsky | 2025-10-25 14:19:05+00:00
I'll shamelessly plug this. I think this is the most complete NATS client for Zig, matching the official clients in API and features: https://github.com/lalinsky/nats.zig

In fact, working on this client prompted me to start working on another Zig project, asynchronous I/O framework, which I'll be integrating with the NATS client soon: https://github.com/lalinsky/zio
by pepoluan | 2025-10-25 14:19:33+00:00
And how do you define "backwards compatible"?

How can you be sure that something is "backwards compatible"?

By running tests. And as it happens, the original coreutils did not have a test for this particular edge case.

Now that a divergence of behavior has been observed, all parties -- the coreutils devs and the uutils devs -- have agreed that this is an unacceptable regression and created new test cases to prevent the same misbehavior from happening again.
by golly_ned | 2025-10-25 14:20:12+00:00
I'm the "senior" engineer in this situation (actually, senior staff -- the other engineer is 'senior', though titles in this company are inflated by ~1 relative to standards at FAANG). I'm the designated engineering leader, and the rest of the team very much likes working with me and respects me a lot -- three of our engineers joined the team citing wanting to to work with me specifically, including one engineer from a previous team of mine, an internal transfer, and an external hire. I think the problem is he simply rejects me as the designated engineering leader, because he recognizes he is more knowledgeable than me about a set of technologies he has more experience with than I do.

I'm glad you brought this up, though: The only other person is the principal engineer, who I do think I have to continue to build a relationship with. That principal engineer worked very closely with the difficult engineer, and the difficult engineer has a lot of trust for the principal. The principal has a lot of trust for me, and supported my promotion to senior staff.

He's certainly resentful he's not running the team. He was told really early on by our previous director wanted him to be the lead of this team, despite big gaps in experience. He made a big deal about "officially" abdicating his role as lead to me when I joined, which was a bit much -- I had no intention of replacing him, but just to get the team functioning and working and not trying to get each other fired. At that point I had been moved against my own will and wanted to keep the door open to me going back to my previous team, which was closer to my interests, in 6-12 months.

I think he was put into a position of too much responsibility too soon, did a very good job on parts of it (the technical parts), and an awful part on other parts of it (the team leadership parts).

I think the direct conversation you mean is one potentially effective way to handle this, but things blew up with the last lead too, who was much more brusque. If I'm not careful, and he sees this as "pulling rank", I can see things blowing up once again.
by unworkableideas | 2025-10-25 14:20:42+00:00
There are definitely advantages to the SaaS model. I was an excited and early believer and I absolutely recognize the amount of work and risk that goes into development of software. I also appreciate the business model — the new version cycle was exhausting in a different way. But working as a reseller for some big SaaS vendors there is just a ton to dislike about the model and the bundling of the services. At certain point, it really stops being about the users and it becomes a game of maximizing revenue. I guess I really can’t blame them, but it adds so many levels of complexity in the name of maximizing revenue instead of empowering users with capabilities.
by nocoiner | 2025-10-25 14:22:31+00:00
I had to replace my home HVAC system this year and went with a variable speed system. It was eye-wateringly expensive, but it works much much much better than the system that was in here before, and completely obviated my concerns about sizing (the old system was an oversized single-stage unit, and the house always stayed cooled, but something or other was regularly breaking, probably due to the short-cycling).

With the new system, electricity consumption on a hot summer day is about a third of the prior system, it’s virtually silent and the comfort of the house (due to more granular temperature control and near-constant dehumidification) is substantially better.