MurphyA/hacker-news huggingface dataset:
by godelski | 2025-05-21 05:03:57+00:00
This is the Moxie that created Signal.[0]

I'm pointing this out because people are acting like he's a bit naive. But Moxie has built a very successful company, without the need for VCs, and the tech is used by many big tech companies. Several use the signal protocol. It's a successful nonprofit building open source software.

If your focus is to make large amounts of money, maybe his isn't the best advice. But if you're trying to make a high quality product, then I think it is good advice. It depends which you prioritize: profits or money. Obviously you can have both, but when push comes to shove, will you sacrifice the product for profits or will you sacrifice profits for the product?

Personally, I believe as engineers our focus should be on the product. The profits are the domain of the business people. The contention we have is good, it creates balance. If engineers overly dominate products roll out too slow and only appeal to other engineers. If business people overly dominate we sell broken garbage. Neither situation is great but which side of the spectrum would you like to be on?

[0] https://signal.org/

[note] sure I know it's popular to hate on Signal but let's be real, this is technical nerdy shit we're arguing over (see the too much engineering side). Not something that's actually broken
by jcranmer | 2025-05-21 05:04:33+00:00
The basic problem with uninitialized buffers is that they effectively require write-only references to exist, and Rust's type system doesn't have (and doesn't easily support) write-only references, only read-only and read-write. MaybeUninit is a partial solution to the problem, but since it's a library solution and not a language solution, it suffers from a lack of integration with the language, e.g., getting MaybeUninit fields from a MaybeUninit struct is challenging.

And the most aggravating part of all of this is that the most common use case for uninitialized memory (the scenario being talked about both in the article here and the discussion you quote) is actually pretty easy to have a reasonable, safe abstraction for, so the fact that the current options requires both use of unsafe code and also potentially faulty duplication of value calculations doesn't make for a fun experience. (Also, the I/O traits predate MaybeUninit, which means the most common place to want to work with uninitialized memory is one where you can't do it properly.)
by chabska | 2025-05-21 05:04:39+00:00
> What other system of value are you using here? Bottle caps? Nostalgia?

A common proxy is "metric tonnes of steel produced" and "metric tonnes of sulfuric acid produced". For China, these have been going up in-line with their GDP growth, whereas for USA they have flatlined since 1980 despite the increase in manufacturing dollar-value output.
by owenversteeg | 2025-05-21 05:05:29+00:00
Because self-sufficiency is a prerequisite of control. “Things” are as essential as food or drinking water or energy in our modern world. Imagine if your country was reliant on another nation for all your food and water: they would have total control over you.

Modern manufacturing is not like the factories of old. Go to China and tour some modern factories: you’ll be surprised. It doesn’t pay well _in the US, in 2025_ because it’s a dying industry. They could easily rise: manufacturing wages are a tiny cost of the sticker price of anything you buy today. Wages have been rising significantly in China for years with little impact to overall product costs. But that’s because they have a competitive manufacturing industry; no US factory owner is going to invest in top talent for a dying factory that has been uncompetitive for a decade.
by Brajeshwar | 2025-05-21 05:06:13+00:00
Your mileage may vary. Here are a few ideas and ways to curb your “addiction”; they are my personal views and means, but I’ve heard enough people confirming that they work. See if you can structure your pattern and process to stay within your ways of consuming and using these mediums (YouTube, Instagram, etc.)

The first thing to do is turn off almost all notifications.[1] Even if you have Notifications ON for some critical app, Social Media Apps never need to be ON.

However, you will be tempted to open them up - this is where you delete from your phone, but use the desktop.[2] The desktop is more involved and not so casual that you whip up the App to start using it.

Try to use more physical Notebooks.[3] Using a To-Do, or a Note-Taking App on the phone will tempt you to wander off for just a few minutes of innocent and not-so-harmful distractions that balloon into hours of scrolls. A physical notebook and a pen deter you from straying to anything else.

As others have mentioned, try to resort to reading books as a replacement for these Apps.[4] For instance, have a book handy instead of reaching for Instagram.

It is also OK not to carry your phone 24/7. Walking in the park, reading time, talking to friends, dining with friends, etc., can be done without phones. If you must stay connected somehow, a Smartwatch can be a replacement.[5]

Find patterns that work for you. Keep trying and experimenting. Quite a few of these suggestions were a surprise for quite a lot of people, but have worked out brilliantly.

1. https://brajeshwar.com/2014/missing-step-productivity-activi...

2. https://brajeshwar.com/2024/phone/

3. https://brajeshwar.com/2025/notes/

4. https://story.oinam.com/2018/why-physical-books-matter/

5. https://brajeshwar.com/2024/watch-tiny-handy-computer/
by Arnavion | 2025-05-21 05:06:29+00:00
No. The correct way to write that code is to use .spare_capacity_mut() to get a &mut [MaybeUninit<T>], then write your Ts into that using .write_copy_of_slice(), then .set_len(). And that will not be any slower (though obviously more complicated) than the original incorrect code.
by kr2 | 2025-05-21 05:06:38+00:00
in case it’s helpful for you, what i do when i find an article i really enjoy and want to keep to maybe revisit: i have a folder in my google drive for these with some sub-directories for light categorization, and then save a pdf copy of the article in there. don’t have to worry about a website going away in the future, and you get searchability
by xarope | 2025-05-21 05:06:38+00:00
I have zero use for the AI summary that google chooses to prepend to my search summary. I decided to fact check a few, and they were totally wrong in subtle ways, either changing a word or phrase and thus inverting the meaning, or else completely summarizing from a site which had no relevance to my search.

So yes, I'd like to disable this completely. Even if it's just a single birthday candle worth of energy usage.
by andrewrn | 2025-05-21 05:07:16+00:00
LLMs and AI are cool and great, but I have my worries. And this is more worrisome than the most desired quality of LLMs being intelligence. Reason being is that its just another way to not have to deal with other messy humans.

Technology almost definitionally reduces pain, and this view of LLMs can be seen as removing the "pain" of dealing with impatient, unempathetic humans. I think this might exacerbate the loneliness problems we're seeing.
by bruce511 | 2025-05-21 05:09:13+00:00
While I sympathize with your need, I don't think we'll see a new OS fill this space.

Firstly, there's the obvious "all the apps you run on it". Your new OS has no apps, and even if a few emerged no business really wants to commit to running on a new OS with only a couple apps.

I mean, if you want a stable OS there's always BSD, or BeOS or whatever. Which we ignore because, you know, Windows. (And I know it's fun to complain about ads on windows and Microsoft in general, but there's a reason they own the market.) OH, and business users don't see the things folk complain about anyway.

Personally I have utilities on windows that were last compiled over 20 years ago that still run fine.

Secondly no OS operates in a vacuum. You need to store data, (database) browse the web, communicate, secure traffic and so on. Those are very dynamic. And again (by far) the most stable place to run those things is Windows. Like Postgres 9, from 15 years ago, is still used in production.

Of course it's also possible to freeze any OS and apps at any time and it will "run forever " - or at least until the version of TLS supports dies.

So no, I don't believe there will be a new OS. Windows Phone died because there were no apps. Your new OS will have the same problem.
by nielsbot | 2025-05-21 05:11:00+00:00
> And you don’t argue when a woman tells you she’s only making 80 cents to your dollar.

I think it's misleading to group these you-should-not-argue about statements together. They're not the same.

Can you explain why someone would want to "well actually" a woman who says they only earn 80 cents on the dollar versus men?

To me sounds like "Well, actually, men don't have that much of an advantage over women. So could you please stop trying to raise women's earnings?" Tell me where I'm not understanding.
by chadaustin | 2025-05-21 05:11:25+00:00
Looks like ‘97. Unfortunately I can’t find the receipts! If I had to guess, I think I’d say somewhere around $2000 in all. That computer lasted me a LONG time. When it was done being a desktop, it became a Linux server until I sold it around 2009. Sometimes I wish I’d kept it: the Pentium 2 was such an important CPU and I smile every time I see the one on display in the Computer History Museum.
by richardgill88 | 2025-05-21 05:12:38+00:00
I've had similar issues with Reddit and Youtube. I ended up building https://limitphone.com, it's a blocker for Android which uses MDM so it cannot be bypassed. It comes with a default blocklist to block social media, and uses a timer system to delay gratification.

It's been a game changer for me personally and has slashed my screentime.
by ironhaven | 2025-05-21 05:13:08+00:00
That's right. Line 3 is undefined behaviour because you are creating mutable references to the uninit spare capacity of the vec. copy_to_slice only works with writing to initialized slices. The proper way for you example to mess with the uninitialized memory on a vec would be only use raw pointers or calling the newly added Vec::spare_capacity_mut function on the vec that returns a slice of MaybeUninit
by Gustomaximus | 2025-05-21 05:13:41+00:00
Unless it really doesn't suit your commute, pay more to be central. This will help you see the city + be social. It can be really difficult if you are one side of the city and your friends end up being the other side as you can have an hour travel to see people type deal.

With location, proximity to a station & what train line matters - you'll likely use the underground a bunch so consider your commute for this closely.

Take one of those bus tours. I did only after living there for years as 'that's for tourists' but its really worth it and gives a good city perspective.

Do lots of travel to Europe from London. So much is on your doorstep with cheap flights if flexible on where you go. Take advantage of this especially if kids are on the horizon.

If you dont already, learn to like beer and pubs. There's something better about British pubs and pub culture. Also it usually well priced reasonable quality meals.

Speaking of pubs, anything crowded in the city will have pickpockets so watch you phone/bag closely or it wont be there.

Its quite common to rent flats furnished, this is likely a good option for you to start. Also what I did as I had no rental history there is offer to pay 6-months up front (and requested a discount for that) to show there financial risk was reduced.

Its an awesome city - I personally enjoyed immensely. I noticed people tended to be there 6-month or 6-years - it was kind of love or hate though, with the majority loving.

Oh and go to Shakespeare's globe theatre for me will you. I walked past that place for 2 years thinking I'll line that one up sometime and never did!
by baibhavbista5 | 2025-05-21 05:14:35+00:00
Here is a video explanation and verification, in case the above is hard to follow: https://www.loom.com/share/2a0247ab163747508e28e4a79190583a

What is our fault that we did not clear up this misunderstanding immediately and I'm sorry for that dzink (I think this was during the time of Roam hypergrowth so maybe Bardia missed the later email reply?)

Hopefully, it is now clear that NO ONE accessed your graphs (and no graph is ever accessed without explicit user permission)

P.S. I took this video & wrote this message alongside my earlier one but could not post because HN said "You're posting too fast. Please slow down" XD. Hence the new account. Please do not block me because of this, mod
by JonanJ | 2025-05-21 05:15:14+00:00
It depends on how much you use, sure. But the point is a lot of people aren't willing to get subscriptions but still wants to use new apps - maybe just once or twice to try things out. For these people who use apps once in a while, it's cheaper to pay for only what they use.

Not only that, but subscriptions are going to kill startups.

33% of consumers wont get a new subscription unless they cancel an existing one.

Literally the definition of a zero-sum game as this number is increasing, but the new apps that come into market every single day are defaulting to subscriptions...
by flashgordon | 2025-05-21 05:15:44+00:00
Ive been doing this exactly "manual" setup (actually after a while I jsut wrote a few browser drivers so it is much more snappier but I am getting ahead).

I started with GPT which gave mediocre results, then switched to claude which was a step function improvement - but again grinded when complexity got a bit high. Main problem was after a certain size it did not give good ways break down your projects.

Then I switched to Gemini. This has blown my mind away. I dont even use cursor etc. Just plain old simple prompts and summarization and regular refactoring and it handles itself pretty well. I must have generated 30M tokens so far (in about 3 weeks) and less 1% of "backtracking" needed. i define backtracking as your context has gone so wonky that you have to start all over again.
by erickhill | 2025-05-21 05:15:55+00:00
The A500 came with a Kickstart ROM. The A1K required a floppy disk. The 500 could also use a 1MB Agnus chip and one could easily update trapdoor RAM. It wasn't light-years advanced over the A1K but it was a good step in the right direction and vastly more affordable. Hence why it was the best-selling Amiga and the A1K "did OK" but didn't set any sales records. "Not a single technical improvement" is ridiculous.
by xitang | 2025-05-21 05:16:04+00:00
Yes, different companies define levels differently. Microsoft's principal and Linkedin's staff can be a senior in another company, hence why I include the yoe as it says more about the requirements. Also, Microsoft's salary is in the low end compared to other companies in similar role and yoe, but salary is only one factor I suppose. They historically offer better wlb in general, though this might vary teams from teams.
by beeflet | 2025-05-21 05:17:45+00:00
The net upside is maintaining the market that allows for a trade deficit in the first place.

The problem is really that the two aren't directly linked. If you operate at a trade deficit, you don't need to manufacture at home. But if you can't manufacture at home, you can't build war machines efficiently, so you can't be the world police and ensure the market needed to operate at a trade deficit.

By defunding the military you're pulling the rug out from under yourself in this sense. I would still agree that it's massively inefficient and needs to be fixed, but the working US-World system would still invest a lot of funding into the military.
by nielsbot | 2025-05-21 05:17:55+00:00
> And I’d argue the consequences aren’t that different.

This is wrong. (Systemic) racism (still) exists. Someone who has natural advantages in society (white men) does not suffer the same consequences of the events you listed:

- "passed over for a job" Jobs are easier to get for white people in the US, no? - "pulled over by cops" really? - "denied the ability to purchase a house" redlining has denied a lot of wealth to black families in the US

> those all have equal levels of consequence for the person on the receiving end.

So, this is not true.
by globnomulous | 2025-05-21 05:18:08+00:00
> It seems like you are having an emotional response to not understanding the general energy picture.

This is condescending and rude. It also strikes me as obviously wrong. The 'response' isn't emotional in the slightest; it just explains the emotional and cognitive experience of acquiring understanding. It's a reasonable, well-reasoned explanation of the difficulty of intuitively grasping how much energy these data centers, and thus the companies that use them, consume -- and then of the shock many experience when it dawns on them.

> For example, an A320 aloft uses the same energy as two thousand of your hypothetical racks (2.5 tons of kerosene per hour).

> Each!

> We are in no meaningful sense torching the biosphere to get AI.

What exactly is the reasoning here? That airplanes use a lot of energy, just like data centers or compared to data centers, and therefore that AI isn't ecologically damaging -- or isn't "meaningfully" damaging, whatever that means? That's not just wrong. It's a nonsequitur.

There's a simpler, easier, better way to wrap our heads around the data, one that doesn't require false dichotomies (or something like that): humans are torching the biosphere both to get AI and to travel.
by thenoblesunfish | 2025-05-21 05:18:51+00:00
The chart of games vs highly rated games, as evidence of more stuff, but not more good stuff, is thought provoking.

It also seems possible that, at least to some extent, the overall quality of games has gone up with the volume, so people have become more critical. I don't play enough games to know. What's the gamer consensus?
by hakfoo | 2025-05-21 05:19:00+00:00
I suspect in many cases, the "value add" an American firm provides is an intangible.

In the pre-tariff omnishambles world, I could buy a more or less equivalent widget for $18 branded with a recognizable American brand, for $12 as a KWJIBO non-brand delivered from Amazon, or for $6 more-or-less manufacturer direct from AliExpress.

Amazon added $6 of value by saying "I can get it to you in a timely manner and offer a confidence-reinforcing return policy."

The American brand added another $6 of value for "this can probably be sourced consistently and people won't look at you weird trying to get it Shenzhen Tchang Zu Shrimp Cannery And Electrolytic Capacitor Plant #5 onto the approved vendor list."

They didn't actually improve the widget itself, just logistics around it. That means their value-add is extremely tenuous, and has a limited moat.
by cryptonector | 2025-05-21 05:19:12+00:00
> You've fallen into the exact zero sum thinking trap that the parent comment mentioned. If investment causes the overall pie to be bigger, then both sides win with no tradeoff.

The economy is _not_ a zero-sum game. The world economy is _not_ a zero-sum game. Trade very much _is_ a zero-sum game because all the exports of all the countries have to be equal imports in the others -- worldwide imports and exports must net to zero. GP's point, if I understood it -and idk if it's correct-, is that to pay off our debt we'll have to export more than we import, but that the rest of the world will not allow that. The part of GP's argument that sounds like "zero-sum games" is about world trade, and world trade is zero-sum even though the world economy is not zero-sum.
by ozgrakkurt | 2025-05-21 05:20:14+00:00
Maybe just skill issue, but I was using it for developing a large rust project. Compilation time was way worse than native and memory was a problem since I was allocating half of total to the vm and I only had 16 gb.

Also the network would cut out and I would have to restart the vm periodically.

Just using a linux laptop is way better but then I don’t have a nice touchpad, excellent battery life etc.
by perilunar | 2025-05-21 05:20:27+00:00
Some stats I'd like to see added:

* number of people in the air (Grok estimates 1.2 to 1.8 million, or 0.015% – 0.022%), but flightradar24.com probably has a better estimate.

* number of people in space (13 according to whoisinspace.com, so 0.00000016%)

* number of people at sea (?)
by cullingculling | 2025-05-21 05:21:31+00:00
(GPU-driven) occlusion culling with meshlet rendering would help a lot while being relatively straightforward to implement if you already have a GPU-driven engine like OP does. Occlusion culling techniques cull objects that are completely hidden behind other objects. Meshlets break up objects (at asset build time) into tiny meshlets of around 64 to 128 triangles, such that these meshlets can be individually occlusion culled. This would help a lot by allowing the renderer to skip not just individual parts of the dragons that are hidden behind other dragons, but even parts of each dragon that are occluded by the rest of the dragon itself! There's a talk on YouTube about the Alan Wake 2 team implementing these techniques and being able to cull complex outdoor scenes of (iirc) hundreds of millions of triangles down to around 10-20 million.

The basic idea is to first render as normal some meshes that you either know are visible, or are likely to occlude objects in the scene (say the N closest objects, or some large terrain feature in a real game). Then you can take the resulting depth buffer and downsample it into something resembling a mipmap chain, but with each level holding the max depth of the contributing pixels, rather than the average. This is called a hierarchical Z (depth) buffer, or HZB for short. This can be used to very quickly, with just a few samples of the HZB, test if an object's bounding box is behind the all the pixels in a given area and thus definitely not visible. The hierarchical nature of the HZB allows both small and large meshes to be tested at the same performance cost.

Typically, a game would track which meshlets were known to be visible last frame, and start by rendering all of those (with updated positions and camera orientation, of course). This will make up most of what is drawn to the scene, because typically objects and the camera change very little from frame to frame. Then all the meshlets that weren't known to be visible get tested against the HZB, and just the few that were revealed by changes in the scene will need to be rendered. Lastly, at some point the known visible meshlet set should be re-tested, so that it does not grow indefinitely with meshlets that are no longer visible.

The result is that the first frame rendered after a major camera change (like the player respawning) will be slow, as all the meshlets in the frustum need to be rendered. But after that, the scene can be narrowed down to just the meshlets that actually contributed to the frame, and performance improves significantly. I think this would be more than enough for a demo, but for a real game you would probably want to explore methods to speed up that first frame's rendering, like sorting objects and picking the N closest/largest ones so you can at least get some occlusion culling working.
by vanderZwan | 2025-05-21 05:22:20+00:00
That's because the reference point of most Europeans is not the actual lived experience of people in the US but the picture painted by the media.

When I visited the US the smiles seemed sincere‚ no doubt about it. The interactions also felt strangely shallow, which was of course to be expected and even sensible in the cultural context (why go into depth with someone you barely know and will never see again), but that is the real reason it felt jarring compared to what I was used to, and often made it confusing to make sense of whether the politeness was sincere or not.

This was in California, and I have to add that I was 17 at the time so "making sense of other people" wasn't a highly developed skill yet to begin with.