MurphyA/hacker-news huggingface dataset:
by Aeolun | 2025-07-20 04:40:14+00:00
Utterly amoral people would need even more reason to not serve basically anyone. Since I know I don’t give a shit, the only thing I can assume is that it’s people that generally oppose what I think is perfectly acceptable.

Since the processors don’t actually care, they must simply believe that dealing with these annoying people is not worth the effort, compared to just not serving stupidly marginal markets.

But the thing is, the people upset about the sex aren’t upset about the killing, which I think is ridiculous.
by ethagnawl | 2025-07-20 04:41:03+00:00
Thanks. You've answered my question about Home Assistant. I'm not familiar with Reolink and will give them a look.

I have a Wyze camera and their janky HA integration seems to have stopped working after a firmware update. They're also the epitome of enshittification and want to nickel and dime me for every feature -- I'd be glad to ditch them.
by littlestymaar | 2025-07-20 04:41:05+00:00
I'd argue that move semantics is strictly superior to value semantics.

But more importantly, my point is that in a world where pretty much all modern languages except Go have pointer semantics by default, and when you language needs to have move semantics for memory safety in many cases, having yet another alien (to most developers) behavior is really pushing the complexity bar up for no particular gains.
by ItsHarper | 2025-07-20 04:41:52+00:00
Plus, the diagonal measurement doesn't reflect the width of the phone. Phones got taller/narrower probably about the same time as we started ditching physical buttons below the screen, so the screen size numbers went up without making phones wider, even if you keep the bezels the same size.

People comparing old smartphone diagonal screen measurements to modern ones as if they're equivalent is a huge pet peeve for me. Diagonals are a horrible way to measure screens.
by redrove | 2025-07-20 04:42:42+00:00
I turned my supermicro 847 X10DRI+ into a JBOD by ripping out the mobo, the fans, and building a 140mm fan wall (zip ties and later 3D printed). I can highly recommend the move, it's dead silent and I have drive temps between 33 and 45C with 20 to 25 drives (I honestly don't know the total at this point).

As for your OS issues I also used to run Proxmox with Ceph (btw did you know you can use Proxmox's ceph with rook-ceph so you don't need 2 layers of storage?) including for the router and NAS, but I gave it up due to unwarranted complexity and went bare metal.

Don't know what would fit your particular use case but I can say this: I'm very happy I made a separate box with a supermicro X11 and a JBOD besides it, I can recommend this too; what benefit is there really to virualizing a NAS?

Regarding K3OS you're in luck - kubernetes manifests (you've got GitOps, right?!) are so portable you can just rebuild on a new OS. Give Talos Linux a spin. Again really think about why is it that you're virtualizing here too; maybe you genuinely need it, maybe not.
by ryao | 2025-07-20 04:43:10+00:00
The professional versions should be very profitable. That said, I am hesitant to think that they can sell very many of the professional ones if they don’t sell consumer ones so that software support is there. Maybe they will get the software support in part from iGPUs, but it is possible to design software that only works on iGPUs if discrete versions are not readily available.
by tbrownaw | 2025-07-20 04:43:25+00:00
- why?

- aiui sanctions tend to not be super effective at forcing improvements, so again why?

- as opposed to what?

- sounds silly, details plz?

- this is foolish and would not have the effects that proponents seem to think it would

- this is a demand that some job functions be contracted out, and that companies handling cheap roles be small. Both of which are silly.

- what?

- citizen disarmament hasn't had the best results for the disarmed citizenry

- can't be made illegal, but not limiting housing supply would make it impractical

- it's generally considered bad investment advice to own too much stock in your employer

- it already is

- is already is
by spauldo | 2025-07-20 04:44:25+00:00
Eugenics gets a bad rap for good reason. But like everything in life, it's not black-and-white. It's one of those scary words people are afraid of because some assholes used it for evil. But avoiding having children because you don't want to pass on genetic diseases doesn't make you Hitler. So let's leave the charged language in the trash where it belongs.

I've got a genetic disease. I decided not to have kids because I didn't want to pass it on. Ended up with one anyway, and I hope for his sake he didn't inherit it, because I don't want him to have to deal with the problems I have. You might say that's not natural, but humans have evolved to care about our offspring. What can be more natural to a human than not wanting to watch your child suffer?

Your argument could be used to justify abandoning health care altogether. I should have died of gangrene when I was 12, but I had ingrown toenail surgery that saved my life. I wear glasses, surely that goes against natural selection since I wouldn't be as fit a mate as someone with 20/20 vision. My girlfriend had breast cancer, should her children have grown up without a mother for the sake of the species? Should I abandon her because her breasts and ovaries were removed and she's no longer a fit mate?

Evolution is just a process, and one we've been opting out of for thousands of years, ever since the first human helped another human survive something that should have killed them. Don't make Darwin your god. The irony would spin his coffin right out of the ground.
by sefn | 2025-07-20 04:44:44+00:00
As the article says, it is impossible to make the back ends of the white keys equal in width so piano makers have to compromise. The difference is about a millimetre so many pianists may never have noticed.

The naive approach of placing each black key at the midpoint of its adjacent white keys makes B, C, E and F quite wide at the base, but it is harder to fit a finger between the black keys to play D, G or A, which can be necessary when the hand has to stretch or play both black and white keys. On a real piano, therefore, the C# and D# keys and the F# and A# keys are offset a little from the midpoints of their adjacent white keys. G# is the only black key that is actually at the midpoint of its adjacent white keys.

In the photograph of the Yamaha piano, you can see that the cutouts on the D key are symmetrical but less than half the width of a black key because the C# and D# keys are offset. Looking at the G key, the right cutout, at half the width of a black key, is deeper than the cutouts on the D key, so to compensate the left cutout is less deep than the cutouts on the D key. As a consequence, the cutout on the F key is deeper than the cutout on the E key, so the E key is wider at the back than the F key. Similarly, the C key is wider at the back than the B key.

As described in the article, on some keyboards just the C and E keys are wider at the back, with D the same width at the back as F, G, A and B. More often, however, the C# and D# keys are placed a little further out to spread the extra width equally between the C, D and E keys.
by avidiax | 2025-07-20 04:45:05+00:00
Microsoft campuses were always impossible to navigate. The buildings are numbered in the Japanese style, i.e. chronologically.

Why not number buildings on a battleship grid? Building B6 must be adjacent to A6 and B7, as opposed to building 40 being adjacent to 27. Why not prefix the office numbers of an X-wing building with cardinal directions? If you see office N202, and you need office W107, head to the core, down the stairs, and one hallway to the left.
by sefn | 2025-07-20 04:45:14+00:00
Pianists sometimes do have to play white keys with their fingers between the black keys. For example, if you want to play E flat major (Eb-G-Bb), you might put your thumb on Eb, your little finger on Bb, and then your middle finger on G, right up the back between the black keys. As the keys are parallel, the width of the white keys at the back is the same as the width all the way down to the front of the black keys. Apart from the need to fit the hand to the keyboard, a piano key is a lever and it gives more resistance further back, which may be useful to the pianist in controlling the attack and dynamics.

If you place the black keys right in the middle, as you suggest, the space between them is too narrow for a finger, while there is wasted space for those white keys that only have one adjacent black key. So piano makers push the C# and D# keys and the F# and A# keys further apart.

The mathematical problem discussed in the article is that there is no way to distribute the space equally between the keys, so various compromises are considered. The "B/12 solution" is practical and widely used. The suggested "optimum arrangement" is amusing to consider but unlikely to be worth the trouble.
by hardwaresofton | 2025-07-20 04:45:18+00:00
> Nobody cared about Erlang back then and nobody does today. > > I write Erlang for a living.

I think this is incredibly correct and obviously personally true for you but I'd like to add one more thing from the peanut gallery.

No one really needs Erlang either. Turns out most problems are just fine not being modeled in the way that Erlang wants to model problems.
by jijijijij | 2025-07-20 04:45:48+00:00
> Mitochondria in human sperm contain no or very little DNA because mtDNA is degraded while sperm cells are maturing, hence they typically do not contribute any genetic material to their offspring.

https://en.wikipedia.org/wiki/Sperm

So the sperm’s mitochondria are degraded, and I guess, you don’t want somatic cell components for various reasons.
by franciscop | 2025-07-20 04:46:33+00:00
That totally flew over my head, sorry! Violence in the train didn't even occur to me while reading the comment, I thought they meant something on the lines of "the driver will have better visibility when opening/closing the doors on the front train so it's safer to go there so they cannot accidentally close them on me" or something similar. Now of course they meant there's less chance of violent behavior near the train driver, and the comment makes a lot more sense for me now.

Note: I do take the train daily, just I live in Tokyo
by johngai | 2025-07-20 04:46:49+00:00
In 2025, building passive income streams isn’t just possible—it’s easier than ever thanks to AI, automation, and no-code tools.

This post breaks down 7 realistic passive income strategies that are already working for creators, solopreneurs, and remote teams this year. It includes actionable steps, platform recommendations, and tips to start even with $0.

Highlights include:

Selling digital products (templates, eBooks, courses)

Affiliate marketing with platforms like Amazon, ConvertKit—and even Barawave itself

Creating evergreen YouTube channels with AI-assisted video editing

Licensing your code, designs, or content

Running automated eCommerce via dropshipping or print-on-demand

Investing in dividend-paying ETFs for long-term compounding

Renting out assets like spare rooms, gear, or vehicles

Bonus tool: The article shows how Barawave ties it all together—offering an AI-powered dashboard with CRM, email/SMS automation, and ERP features for anyone managing digital income streams.

Curious to hear what’s working best for HN readers:

What passive income models are you seeing real ROI from?

Any underrated tools (besides the obvious ones) that help automate and scale efforts?

If you’ve built an “income stack” from more than one of these—how are you managing it efficiently?
by johngai | 2025-07-20 04:49:13+00:00
Barawave is an all-in-one AI-powered ERP and CRM platform designed for small to mid-sized businesses, solopreneurs, and remote teams.

It combines sales, marketing automation, inventory, HR, and analytics into a single intelligent dashboard. Whether you're selling digital products, running affiliate campaigns, or managing a distributed team, Barawave simplifies operations and boosts efficiency with AI at its core.

Curious how it stacks up against tools like Odoo, Zoho, or Monday.com? Would love to hear your thoughts.
by sfink | 2025-07-20 04:51:01+00:00
...and for me, the benefit is that this is much more clear to me when reading the code. An increasing level of indentation directly maps to needing to keep more in my head. (Sure, in this case you can pattern match and see that there's nothing else, but in general you need to watch out for cases where the else may be doing more than just the next check on the same inputs. )

But the walrus is good even in the absence of a series of matches. It is quite common to need to know more than the boolean "did this match or not?", and so to my eye it is much cleaner to have one line doing the test and the next lines using the results. I don't care about saving characters or even lines. `m = ...match...` immediately followed by `if m:` feels like overhead for the sake of the programming language's limitations; it's extraneous to what I want to express.

Also, I assert that the pattern is better for correctness. It's like Rust's `if let Some(foo) = f() { ... }` pattern: guard on a certain condition, then use the results if that condition is true.

v = f() if v: ...use v...

invites injecting code in between the assignment and the test. They're two different things to the reader. And it's not as clear that `v` should only be used in the consequent body.

if v := f(): ...use v...

says exactly what it means: `f()` may return a truthy value. If it does, do something with it.
by timpieces | 2025-07-20 04:51:29+00:00
Maybe it's just semantics, but it doesn't feel so wrong to me. The main nuance is that this statement needs to be true over time as the spec changes. Developers try to write maintainable code so that their code will still work/adapt to spec when the spec changes. Maintainable code feels less important in a world where AI can rewrite a growing portion of your code quickly. I find myself accepting a much lower bar for non-critical parts of my projects with the knowledge that claude can rewrite it quickly if needs change. But disclaimer: I haven't yet used this technique in teams. The norms on usage aren't there yet.
by skeledrew | 2025-07-20 04:52:25+00:00
Shortening a conversation is a kind of enhancement. It means a state of satisfaction or completion has been reached that much sooner. Why debate back and forth for 20 minutes with incomplete arguments when 2 minutes will suffice by generating a well-prompted thread on the argument? Unless the lengthy arguing is the point.

Get a short answer by including "keep answer short" or similar in the prompt. It just works.
by gambiting | 2025-07-20 04:53:00+00:00
The threat to their search business had nothing to do with AI but with the insane amount of SEO-ing they allowed to rake in cash. Their results have been garbage for years, even for tech stuff where they traditionally excelled - searching for "what does class X do in .NET" yields several results for paid programming courses rather than the actual answer, and that's not an AI problem.
by A1kmm | 2025-07-20 04:54:45+00:00
At play here is the difference between necessary and sufficient conditions for democracy to be genuine.

There are a vast number of ways in which people can be denied a legitimate opportunity to obtain the policies most want (making a democracy less legitimate), but to list a few:

* People are allowed to vote, but votes aren't counted fairly.

* The voting system can be vulnerable to vote splitting (e.g. First Past the Post) or have other vulnerabilities that can lead to an outcome where the majority would have supported candidate A over candidate B, but B wins. This can lead to dynamics where tactical voting means only the candidates endorsed by the two best known parties have a chance, even if both of those parties are captured by minority interests. Generally the duopoly perpetuate the poor voting system to protect their interests.

* The leaders of any movements challenging the incumbents can be targeted before they have a chance to run - e.g. with trumped up legal charges, defamatory claims, violence either blatantly from the government, or by supporters which goes unpunished / is pardoned.

* Voters fear that if they vote against the incumbent, they'll face consequences.

* Voter demographics considered less likely to support the incumbent face barriers to vote, such as demands to provide documentation they might not have.

* Special case: Voting is restricted to citizens, but there are populations of people who live long term in the country but don't get a vote. Citizenship is not granted to or even stripped from people who are considered less likely to support the incumbent.

* Media is state owned, and is biased towards the incumbent, preventing the public from learning about alternative policy platforms in a meaningful way.

* Media is privately owned, and biased towards the interests of the owners of the media, preventing the public from learning about policy platforms opposed to the owner in a meaningful way.

* There are significant barriers to becoming a candidate (financial, or requiring a lot of work which costs a lot of money), preventing non-wealthy groups from being able to run.

* Corporations or ultra-wealthy are allowed to selectively fund large amounts of money (beyond the means of normal citizens), allowing policy platforms they support to drown out policy platforms in the interest of the public.

* As you mentioned, electorate boundaries are set in an unfair way (gerrymandering).

There are a lot more - but the summary is that there are many ways to undermine a democracy, and there are many countries that are nominally democratic, but aren't really.
by Radle | 2025-07-20 04:55:41+00:00
I had way better results. I'd assume the same would have happened to the author if he provided the LLM with a full documentation on what ATARI BASIC is and some example programs.

Especially when asking the LLM to create a drawing program and a game the author would have probably received working code if he supplied the ai with documentation to the graphics function and sprite rendering using ATARI BASIC.
by ordu | 2025-07-20 04:56:48+00:00
> Data races in multithreaded code are elegantly and statically prevented by Rust. I have never written a large concurrent Rust program, and I'll grant the possibility that the borrowchecker is miraculous for that use case and easily pays for its own clunkiness.

Data races prevented not just in concurrent programs. I personally was hit once by a panic from RefCell. I have coded a data race, but I wouldn't notice it without RefCell. I borrowed the value and then called some function, and a several stack frames deeper I tried to borrow it mutably.
by ThrowawayB7 | 2025-07-20 04:57:07+00:00
That brings back memories. Seeing that all too familiar office layout, furniture, scribbled notes on whiteboards, and whatnot somehow evokes both homesickness and PTSD at the same time.

The offices were nice though. Back in the early days, it didn't take that much seniority to get a single person office and a little more to get an office with a window.
by miragecraft | 2025-07-20 04:57:11+00:00
Ok I guess if you are that level of paranoid - even though both Chromium and Firefox are open source and under a heck of a lot of scrutiny for security vulnerabilities - then I understand why you prefer Gemini.

I just feel the fact that it cuts it self off from the wider clearnet completely kills your audience reach, if you’re ok writing to a very small insular community then sure, but most people want their writings to be read by as many people as possible.
by enknee1 | 2025-07-20 04:58:29+00:00
The larger issue is that money is fundamentally a record of human effort (unless we're talking corporate value and then it's something a bit more).

With the automation of labor and cognitive effort, MONEY won't matter. They don't need customers. They only need the automation required to produce. Which will be broadly and cheaply available, all the way to the end because people will be competing for disappearing jobs.

There is no precedence for this kind of change; think Internet, computers, and the assembly line all packed together into a 5 year window, globally. And consider that there's no apparent end to the level of development and impact. Using historical metrics (like customer base or resource availability) is not going to help understand what's coming.
by moribvndvs | 2025-07-20 05:01:31+00:00
As someone who’s been a heavy apple daily driver since the Intel Macs arrived on the scene, I can feel myself grinding my teeth while reading this. Watching Apple commit to eroding macOS’s previously-lauded user-centric freedom, simplicity, and reliability year after year in their quest to turn it into another iOS black box appliance that you just rent not own makes me wonder what happens when the author approaches similar categories of problems from different directions vis a vis Linux.
by motorest | 2025-07-20 05:02:50+00:00
> They'll never be fit for purpose. They're a technological dead-end for anything like what people are usually throwing them at, IMO.

This comment is detached from reality. LLMs in general have been proven to be effective at even creating complete, fully working and fully featured projects from scratch. You need to provide the necessary context and use popular technologies with enough corpus to allow the LLM to know what to do. If one-shot approaches fail, a few iterations are all it takes to bridge the gap. I know that to be a fact because I do it on a daily basis.
by fernandojose | 2025-07-20 05:04:28+00:00
I enjoyed reading the post and maybe will try following some part of it, such as the nix-darwin setup. Thanks for sharing, it is well written.

I have used Arch in a couple of personal laptops during a handful of years and macOS at job for the last year. I love using Arch, even though it is sometimes painful qua drivers and issues with non-essential hardware. In macOS I don’t recall having issues with homebrew, however I am more familiar with pacman on Arch and therefore prefer it. Before starting to use it, I set up alacritty on macOS building it from source.
by flomo | 2025-07-20 05:04:48+00:00
Sure they would, if it would make them a buck. Lenovo for example already has separate models for pro ThinkPads with 'certified' Linux support versus the consumer line. Dell too. PC vendors already have 9000 SKUs, what's a few more?

Reminds me back in the day some vendors of Win 9x systems put something in the BIOS to prevent one from installing NT/2000. Gotta get the corporate model for that.
by throwaway7783 | 2025-07-20 05:04:54+00:00
If you are equating conceiving children with IVF to goods to be bought off the shelf, there is really nothing to talk about.

Having biological kids is a hard-wired instinct, and one of the very basic survival-of-the-genes things. I have no idea what you mean by kids deserving parents. There are no kids without parents to begin with.
by photonthug | 2025-07-20 05:07:20+00:00
Huh? I defended your proposal of asking strangers to read stuff against the detractors here, because even though it's a bit obnoxious, I think it's a more interesting conversational gambit than discussing sports or something. And now I'm the weirdo? You attack your allies here in a way that raises questions about your own ability to read well.
by maybevoid | 2025-07-20 05:08:18+00:00
With Context-Generic Programming (CGP), there is a way to get around the coherence restriction through a provider trait, and have overlapping implementations in safe, stable Rust. I have a proof of concept implementation of example in the article here: https://gist.github.com/soareschen/d37d74b26ecd0709517a80a3f...