MurphyA/hacker-news huggingface dataset:
by rayiner | 2026-01-21 01:17:43+00:00
> Meanwhile, AOC/Mamdami are lunatics who want ... better healthcare? Less inequality?

It's not about their goals, it's about first world versus third world approaches to achieving those goals.

The first-world approach is about shared sacrifice and building systems with the correct tradeoffs, incentives, etc. That’s how you end up with a system like Sweden that has high middle class taxes to support a robust welfare state along with extremely competitive corporate taxes. It also fosters efficiency because middle class people have a lot of skin in the game.

The third-world approach instead is tribalistic. The bad tribe, rich people, have the money, and the job of government is to expropriate that money and give it to the good tribe. In that kind of politics, you see a strong emphasis on identity and class warfare, and very little talk about tradeoffs and sacrifice.

The third world approach has a huge body count. In 1960, South Korea had a GDP per capita around $150, while Bangladesh was at $100. But my parent’s generation Indians/Bangladeshis were AOC/Mamdani socialists. As a result, Bangladeshi grew to just $260 by 1989 when we left. By then, Korea was at $6,000. And of course today Korea is a first world country while Bangladesh is still a third world country.

Around 2010, Bangladesh adopted neoliberalism and tripled its GDP per capita in just 14 years. So there was nothing about Bangladesh structurally that prevented the same kind of growth you saw in South Korea. It was all cultural and political. If my parent’s generation hadn’t been AOC/Mamdani socialists, I’d still probably live in my homeland. More importantly, millions of children would be alive today who instead died in poverty because of delayed economic growth.
by prodigycorp | 2026-01-21 01:18:05+00:00
I have used Claude Code in a couple months. THEY HAVEN’T FIXED THIS YET?

I’m starting to think that the reason why anthropic doesn’t open source Claude code isn’t due to competitive reasons, it’s because they don’t want people to see what a mess their code base is.

Maybe they bought Bun to increase the rate of flickering so that the text looks solid again
by dfajgljsldkjag | 2026-01-21 01:18:56+00:00
> plus the fact that Google actually shoehorns RCS in countries where they think they can get away with it.

This is the real thing that nails down "RCS" as a totally google thing. Google will forcefully enable RCS for people on carriers that want nothing to do with it. And in that case Google controls the entire process every single step of the way.
by offsign | 2026-01-21 01:19:41+00:00
Makes for a catchy headline, but you only have to go back to Jan 9, 2024* to find a similarly 'drought free' California:

https://droughtmonitor.unl.edu/Maps/CompareTwoWeeks.aspx

(*Technically slivers of the state in the far north/south were 'abnormally dry' in 2024, a small difference from 2026)
by zamadatix | 2026-01-21 01:20:18+00:00
I'm not sure I buy the "you get a leak of the address of a high value target you believe can be routed to over the internet in some fashion, but it's the internal address which leaked and you have no idea who could own said high value target either" story.

I agree if it's an actual concern then you can use NAT66 to hide the prefix, I just don't see how this achieves security when the only publicly accessible attack point is supposed to be the internet attached FW doing the translation of the public addresses in the first place.

Additionally, if that really is the leaked IPv6 address then it's formatted as a temporary one which would have expired. If you mean static services which were supposed to be inbound allowed then we're back at the "the attack point is however the internet edge exposes inbound in both cases, not the internal address".
by anyfoo | 2026-01-21 01:20:27+00:00
For your example, shouldn't you either present two "private" IP addresses, in which case you'd replace the IPv6 address in your example with what is likely to be an autoconfigured link-local address (though any ULA address would be valid as well),

OR present the two IP addresses that the targets would be visible as from the outside, in which case you'd replace the IPv4 address with the "public" address that 192.168.0.1 NATs to, going outbound?

Then, the stated difference is much less stark: In the first case, you'd have a local IPv6 address that's about as useless as the local IPv4 address (except that it's much more likely to be unique, but you still wouldn't know how to reach it). In the second case, unless your target is behind some massive IPv4 NAT (carrier-grade NAT probably), you'd immediately know how to route to them as well.

But presenting a local IP for IPv4, and a global one for IPv6, strikes me as a bit unfair. It would be equally bogus to present the public IPv4 address and the autoconfigured link-local address for IPv6 and asking the same question.

I do concede that carrier-grade NAT shifts the outcome again here. But it comes with all the disadvantages that carrier-grade NAT comes with, i.e. the complete inability to receive any inbound connections without NAT piercing, and you could achieve the same by just doing carrier-grade NAT for IPv6 as well (only that I don't think we want that, just how we only want IPv4 CGNAT because we don't have many other options any more).
by dang | 2026-01-21 01:20:52+00:00
There's no aspect of this that we haven't publicly explained over and over again. Here's one example: https://news.ycombinator.com/item?id=46378818. Here are countless others:
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

If you read some of those explanations and still have a question that isn't answered there, I'd be happy to take a crack at it. What you shouldn't do is take commenters' claims about it un-skeptically, because sometimes (as in this case) they are false.
by AndrewKemendo | 2026-01-21 01:22:13+00:00
> Or do you mean that to you it all reads as yet another case of someone thinking their technology is what's going to right the ship that is society's current trajectory, then bailed when that didn't come to be?

Couldn’t have said it better myself

Desperation is just a manifestation of manic ignorance unfortunately

The only solution to ignorance is education and I’ll go back to my original point which is this precise thing was discussed over and over and in detail over the last half century of computing in multiple places

Most notably one of the most popular well distributed books that discusses this explicitly is Rodney Brooks’ mythical man month

So my original critique is that engineers do not even utilize the core literature for which there is global consensus on these problems
by 8bitsrule | 2026-01-21 01:22:19+00:00
Very readable explanation of why and how useful a dark-side lunar radio telescope would be.

TLDR: As a result of expansion of the universe, over 13B years the wavelength of neutral hydrogen signals has been stretched from 21cm to 'tens of meters'. On Earth, this part of the spectrum is cluttered with noise from Earth and Sun. For 14 days at a time...not a problem on the dark-side.
by nkrisc | 2026-01-21 01:22:49+00:00
> May told the publisher, Maxton Books for Little People, that he couldn’t agree to a publishing deal because he didn’t own the copyright in the story he had written.

> Apparently, that state of affairs didn’t sit well with those in charge at Montgomery Ward and the president of the company, Sewall Avery, gave May back the copyright in Rudolph the Red Nosed Reindeer. The book was published on October 4, 1947.

Seems hard to believe it was truly that simple, I wonder what additional nuance there might be to it.

Though I have no idea where I'd even begin to research that besides random web searches.
by apt-apt-apt-apt | 2026-01-21 01:23:13+00:00
I usually left the monitor-to-MBP cable plugged in, but I did have some minor finicky connection issues at one point. But that was nothing compared to the monitor actually dying.

The monitor setup seemed like the ideal solution, less cables and just plug in to the monitor. But the combination of heat from powering the monitor, MBP, the monitor itself, and hot weather does seem like a plausible cause to me.
by mturmon | 2026-01-21 01:23:16+00:00
Here's a nice animation tracking this (covers up to 2022, not sure about 2025): https://grace.jpl.nasa.gov/resources/42/grace-and-grace-fo-t...

The southern end of the central valley (San Joaquin region, whole central valley is outlined in red) is particularly hard-hit by groundwater depletion. Some of that storage does not come back, because the ground compacts after the groundwater is withdrawn.
by ComputerGuru | 2026-01-21 01:23:25+00:00
If you lose the WAL you lose the data since the last merge but there’s no risk of corruption. The WAL handles missed syncs fine, too, missing losing just that window of data.

I don’t know if or how Postgres records the transaction number in the index to be able to notice if it’s out of date. If it does, I don’t know of any solution to “catch up” the index besides recreating it, which would be ok if that’s the only issue but from my experience with out-of-date indexes (libc or icu updates, where Postgres doesn’t know if anything IS broken and just reports that it could be), there’s no guarantee you’d even notice and your app could be running completely broken until you rebuild.
by shevy-java | 2026-01-21 01:23:36+00:00
> Haskell provides indexable arrays, which may be thought of as functions whose domains are isomorphic to contiguous subsets of the integers.

> I found this to be a hilariously obtuse and unnecessarily formalist description of a common data structure.

Well it is haskell. Try to understand what a monad is. Haskell loves complexity. That also taps right into the documentation.

> I look at this description and think that it is actually a wonderful definition of the essence of arrays!

I much prefer simplicity. Including in documentation.

I do not think that description is useful.

To me, Arrays are about storing data. But functions can also do that, so I also would not say the description is completely incorrect either.

> who can say that it is not actually a far better piece of documentation than some more prosaic description might have been?

I can say that. The documentation does not seem to be good, in my opinion. Once you reach this conclusion, it is easy to say too. But this is speculative because ... what is a "more prosaic description"? There can be many ways to make a worse documentation too. But, also, better documentation.

> To a language designer, the correspondence between arrays and functions (for it does exist, independent of whether you think it is a useful way to document them) is alluring, for one of the best ways to improve a language is to make it smaller.

I agree that there is a correspondence. I disagree that Haskell's documentation is good here.

> currying/uncurrying is equivalent to unflattening/flattening an array

So, there are some similarities between arrays and functions. I do not think this means that both are equivalent to one another.

> would like to see what it would be like for a language to fully exploit the array-function correspondence.

Does Haskell succeed in explaining what a Monad is? If not, then it failed there. What if it also fails in other areas with regards to documentation?

I think you need to compare Haskell to other languages, C or Python. I don't know if C does a better job with regards to its documentation; or C++. But I think Python does a better job than the other languages. So that is a comparison that should work.
by stackghost | 2026-01-21 01:23:39+00:00
It makes sense to consider an array as a function with the index as its input argument and the element its output, i.e. f(x) = A[x]... but I don't see the practical benefit of considering things from this perspective.

When I'm writing code and need to reach for an array-like data structure, the conceptual correspondence to a function is not even remotely on my radar. I'm considering algorithmic complexity of reads vs writes, managed vs unmanaged collections, allocation, etc.

I guess this is one of those things that's of primary interest to language designers?
Show HN: MicroState – JavaScript City Builder
by iaincollins | 2026-01-21 01:23:53+00:00
I’ve been working on MicroState, a city builder prototype written entirely in vanilla JavaScript using the HTML5 2D Canvas API.

My goal was to see how far I could get with a 2.5D isometric style simulation with vanilla JavaScript built very simply and drawn entirely with procedural generation for maps, tiles, roads, trees, buildings, etc.

The most interesting element is probably the terrain model, which allows for fairly arbitrary terrain.

Although some of the generated graphics like trees are cached as sprites, buildings- which are much more intensive to draw - are not cached yet, and many will probably cause your CPU fan to go brrr.

It's not quite a game yet, though it is "playable" and I thought folks might find it fun to try and have suggestions for features and gameplay they'd like to see, both in single player and multiplayer.

I'll be publishing the source on GitHub soon so it's easier to submit and track features and defects (and to clone and fork).

Happy to answer any questions!
by maroonblazer | 2026-01-21 01:25:37+00:00
My partner and I have been through this cycle. Something happens, she interprets it a certain, very specific, way and then has an adverse emotional reaction.

In the early days of our relationship I would try to explain to her why her emotion doesn't 'make sense'. That just made things worse. Much worse. When she helped me understand that she needed me to validate that what she was feeling was legitimate - based on her interpretation of the events - she was able to let go and consider other interpretations.

Note that this "letting go" almost never happened in the moment, but only after the emotions abated and she had time to process the entire situation. We're talking hours, not minutes.
by Dagger2 | 2026-01-21 01:25:46+00:00
But... it doesn't do that. If incoming traffic isn't part of an established connection, NAT will just ignore it. It doesn't deny that traffic, it just lets it pass through to the router without translating the addresses in it.

The router will then do exactly the same thing it would've done if no NAT was involved at all: if the dest IP in the packet is the router itself then the router will accept or refuse the connection depending on whether anything is listening on the respective port, and if the dest IP is on the LAN then it will route it onto the LAN.
by rerdavies | 2026-01-21 01:25:58+00:00
The principle difference, IMHO, is that it makes the security visible. My home cable router has NO firewall configuration at all. Supplied by my ISP and woefully deficient in absolutely all respects. I can't (for example) configure It does have a configuration for forwarding IPv4 ports to inside machines; but none for forwarding IPv6 ports. Does it have stateful filtering of IPv6 ports? I'd like to think that it does, but if so there is no visible evidence that it does.
by ProllyInfamous | 2026-01-21 01:26:01+00:00
Andés Hess (RIP) gave an examination, 2006, in his Organic Chemistry course... which ended up with 35% of the class being reported to Vanderbilt's Honor Council.

He brilliantly tested students using open-ended, single-sentence questions (with half of the page blank to show your work)... which tested foundational topics and oozed with partial-credit opportunities. You then had an option to submit "test corrections" to explain why you should gain more points for your efforts (typically considered, when reasonable).

----

His first exam of the semester, there was a multi-step question which resulted in a single 1cm x 1cm box — worth 20% of the entire exam's scoring — for you to indicate whether that particular Grignard reaction resulted in a single-, double-, or triple- bond.

The majority of the class answered (incorrectly) that it would be a double-bond, by writing a `=` into the blank box. In fact, that reaction resulted in a triple-bond `≡`

35% of the class ended up just adding the third parallel line (i.e. changing what they had originally answered) when handing in their test corrections. Dr. Hess had made photocopies of all the penciled exams... and reported all the cheaters.

----

I answered it correctly, originally, so was never tempted to fib a similar mistake — but this definitely opened my eyes in reinforcement of not cheating. I eventually got into medical school, and most of that 35% of branded "cheaters" did not. Ultimately I never became a physician, but remember the temptations to cheat like everybody else did. I am happier/poorer because...
by eru | 2026-01-21 01:26:36+00:00
That would only save your graph, if your two measures of inflation had a fixed ratio over time. They don't, as you can see on https://fred.stlouisfed.org/graph/?g=1QI7c . The CPI tends to grow faster than the GDP deflator, but not reliably so.

The growth of this ratio explains some of the widening gap between your two graphs over time.

https://fred.stlouisfed.org/graph/?g=1QJtv is my attempt at putting both time series on the same measure of inflation. Some gap remains.

Btw, https://fred.stlouisfed.org/series/LABSHPUSA156NRUG# is what you might actually be interested in: it's the labour share of GDP. As you can see it's rather stable. Most of the action is in the difference between mean vs median labour compensation.
by dlcarrier | 2026-01-21 01:26:52+00:00
Yeah, that's the kind of stuff that I know how it works from a network protocol standpoint, but have no clue how to configure on any given system, let alone verify I configured it correctly. I installed DD-WRT on my router, hoping it would be easier to set up. The user interface was much easier to navigate, but the labels of the settings were so sparse that I couldn't tell what anything was referring to, even knowing the terminology for the the lower layers of network protocols. I wouldn't be surprised if I never get around to working on it in my lifetime, as long as I can play around with electronics projects.

Regarding Android OS, I'm not convinced it isn't a toy OS. I feel like they threw in the Linux kernel, but didn't bother including most of the useful features, and pat themselves on the back whenever they add one back. It took almost a decade before they figured out that you could install fonts without reinstalling the operating system. If they ever discover DKMS, we can stop throwing our phones away every few years, and have some actually useful hardware. Then again, it took Apple two years to add copy and paste to a phone, so maybe it's an industry-wide problem. If I could buy a modern Jornada 700 series running Linux or BSD, I'd never need to pick up an Android or iOS device again.
by rkrueger11 | 2026-01-21 01:27:41+00:00
Not really sure why this was posted today. However, I see a lot of confusion / misinformation in the comments, so here is a simplified explanation of how RCS works, while recognizing the topic is more complex technically and commercially. (Source/disclaimer: I am a product manager at Twilio and work on RCS.)

Google bought Jibe Mobile in 2015. [1] The GSMA Universal Profile (UP) defines the industry standard for RCS features. [2] Messaging apps (for example, Google Messages or Messages on iOS) implement those features, and carriers expose them through a MaaP (Messaging as a Platform). The GSMA publishes UP updates periodically; UP v3 was released in February 2025 [3], though the latest publicly iOS version supports UP v2.4.

Most carriers globally now use Google’s Jibe MaaP instead of building their own as Google Messages supports the Jibe MaaP. That choice reduced the fragmentation that previously produced many inconsistent Android messaging experiences. In addition, I believe E2EE encryption was only added to the UP in v3, Google had previously added it to Google Messages outside of the spec, as as a result only worked when both users are using Google Messages.

iOS Messages can technically support any MaaP because the downloaded carrier profile specifies which MaaP URL to use.

A MaaP supports both person-to-person (P2P) and application-to-person (A2P) RCS. P2P RCS uses phone numbers. Carriers generally do not enable RCS on the business phone numbers companies use for SMS today. For A2P RCS, businesses must create a chatbot/agent entity in the MaaP with its own image, display name, and contact details. Google’s MaaP provides an interface for businesses to create those RCS agent profiles; carriers then approve which agents may message subscribers on their networks. Theoretically this also helps make it easier for messaging clients to reduce spam / fraud, since traffic from legitimate business will be more distinguishable from P2P fraudulent traffic—both from a technical perspective (phone number vs chatbot/agent entity) as well as from an end user experience (verified and branded display vs anonymous phone number).

If you're a business / brand, interested in getting started with RCS, check out this page with more info on how to get started with RCS: https://www.twilio.com/en-us/messaging/channels/rcs

1. https://techcrunch.com/2015/09/30/google-acquires-jibe-mobil...
2. https://www.gsma.com/solutions-and-impact/technologies/netwo...
3. https://www.gsma.com/solutions-and-impact/technologies/netwo...
by SatvikBeri | 2026-01-21 01:27:58+00:00
Not technically a nanny, but not dissimilar. In this case, they do several types of work (house cleaning, watching 1-3 kids, daytime and overnights, taking kids out.) They are very competent – by far the best we've found in 3 years – and charge different rates for the different types of work. We also need to track mileage etc. for reimbursement.

They had a spreadsheet for tracking but I found it moderately annoying – it was taking 5-10 minutes a week, so normally I wouldn't have bothered to write a different tool, but with vibe coding it was fairly trivial.
by SatvikBeri | 2026-01-21 01:29:48+00:00
I am really shocked at the response this trivial anecdote has gotten.

I could state it much more generically: we had an annoying Excel sheet that took ~10 minutes a week, I vibe coded a command line tool that brought it down to ~1 minute a week. I don't think this is unusual or hard to believe in any way.
by maxglute | 2026-01-21 01:30:17+00:00
RMB settled ~60% of PRC cross border payments last year (up from 30% a few years ago), ~6T USD equivalent in settlement, which already makes rmb more real/useful currency than euro/yen reserves. And functionally shadow reserve - RMB can buy Chinese inputs, intermediate goods and global commodities, i.e. even oil delinked from USD, which covers like everything a country typically needs. That's what reserve is ultimately for, to buy shit/liquidity, not mere storage. RMB already guarantees access to most global goods for the simple reason PRC is producer of said goods. PRC also has massive USD war chest reserves, they already do USD lending AND USD swaplines to global south. In terms of liquidity/scale of swapline to EU, peak US swapline to EU was like 600B during covid and 2008 financial crisis, i.e. 20% of PRC USD reserves, which PRC increasingly need to find uses for as she displaces more USD from trade settlement. So it's doable for PRC, but question of trust, but not whether EU trust PRC, but whether PRC trust EU since these swap lines tend to be commodity-backed, where frankly EU has limited offerings to PRC.
by shimman | 2026-01-21 01:31:18+00:00
They do, most issues that arise from making things accessible are self inflicted. Some people just want to redesign things for the sake of design while ignoring a core principle of design (accessibility) over aesthetics.

Sounds harsh but maybe somethings SHOULDN'T be designed a certain way because it breaks a11y when there are other roads to be taken that can still look pleasant, be accessible, and way easier to maintain (less brittle JS to worry about).