MurphyA/hacker-news huggingface dataset:
by skissane | 2025-06-26 23:37:52+00:00
Contracts require agreement (a “meeting of the minds”)… if X makes a contract with Google, that contract between Google and X can’t create a contract between Google and Y without Y’s agreement. Of course, Google’s lawyers will do all they can possibly can to make the contract “transitive”, but the problem is contracts fundamentally don’t have the property of transitivity.

Now, if you are aware of a contract between two parties, and you actively and knowingly cooperate with one of them in violating it, you may have some legal liability for that contractual violation even though you weren’t formally party to the contract, but there are limits - if I know you have signed an NDA, and I personally encourage you to send me documents covered by the NDA in violation of it, I may indeed be exposed to legal liability for your NDA violation. But, if we are complete strangers, and you upload NDA-protected documents to a file sharing website, where I stumble upon them and download them - then the legal liability for the NDA violation is all on you, none on me. The owner of the information could still sue me for downloading it under copyright law, but they have no legal recourse against me under contract law (the NDA), because I never had anything to do with the contract, neither directly nor indirectly

If you download a model from the vendor’s website, they can argue you agreed to the contract as a condition of being allowed to make the download. But if you download it from elsewhere, what is the consideration (the thing they are giving you) necessary to make a binding contract? If the content of the download is copyrighted, they can argue the consideration is giving you permission to use their copyrighted work; but if it is an AI model and models are uncopyrightable, they have nothing to give when you download it from somewhere else and hence no basis to claim a contractual relationship

What they’ll sometimes do, is put words in the contract saying that you have to impose the contract on anyone else you redistribute the covered work to. And if you redistribute it in full compliance with those terms, your recipients may find themselves bound by the contract just as you are. But if you fail to impose the contract when redistributing, the recipients escape being bound for it, and the legal liability for that failure is all yours, not theirs
by hackyhacky | 2025-06-26 23:38:15+00:00
Rather than re-write your scripts to store temp files into /dev/shm, you can just mount /tmp using the tmpfs file system and get the same benefit for all your programs. Some distros do this by default.

The relevant line from fstab is:

tmpfs /tmp tmpfs noatime 0 2

Now any program that writes to /tmp will be writing to a RAM disk, thus sparing unnecessary wear on my SSD.
by simonw | 2025-06-26 23:38:22+00:00
> Your proposed solution is to feed the error back to the LLM. Great, but can you guarantee that the proposed fix will also not contain hallucinations?

You do it in a loop. Keep looping and fixing until the code runs.

> but can you trust that it will cover all real world usage scenarios, test edge cases and failure scenarios, and do so accurately?

Absolutely not. Most of my blog entry about why code hallucinations aren't as dangerous as other mistakes talks about that as being the real problem humans need to solve when using LLMs to write code: https://simonwillison.net/2025/Mar/2/hallucinations-in-code/...

From the start of that article:

> The real risk from using LLMs for code is that they’ll make mistakes that aren’t instantly caught by the language compiler or interpreter. And these happen all the time!
by palata | 2025-06-26 23:39:30+00:00
> Current military drones used in Ukraine are inefficient conversions of civilian products

Are you sure about that? Many drone companies have been engineering for the military for years before the Ukraine invasion in 2022.

The thing is, those FPV drones are super, super, super cheap. We do have better technology, it does exist. But it is more expensive. Is it worth it then? That's the question.
by chatmasta | 2025-06-26 23:39:40+00:00
Yes, and also just because a space data center isn’t useful today doesn’t mean it won’t be required tomorrow. When all the computing is between the ground and some nearby satellites, of course the tradeoffs won’t be worth it.

But what about when we’re making multi-year journeys to Mars and we need a relay network of “space data centers” talking to each other, caching content, etc?

We may as well get ahead of the problems we’ll face and solve them in a low-stakes environment now, rather than waiting to discover some novel failure scenario when we’re nearing Mars…
by protocolture | 2025-06-26 23:41:00+00:00
>Metrics are gamed as marketing tools rather than assessment tools.

Macro metrics are marketing tools largely.

In Australia we had a long period of "Lower Taxes" Vs "Lower Taxes (As a proportion of GDP)" The issue being that the latter didnt actually lower taxes, they just spent more money, increasing GDP.

These metrics are helpful sometimes in review. But in terms of targets they suck.
by ponector | 2025-06-26 23:41:06+00:00
> tanks aren't the crushing force that they used to be in Manstein's and Guderian's time

Russians have assault groups of couple tanks and half a dozen ifv. Had Guderian used same forces in a single battle? The biggest Russian operations had 40-60 armored vehicles, mainly ifv.

Tanks are still a real power, especially western modern tanks.
by somethoughts | 2025-06-26 23:41:18+00:00
haha - yes - sometimes when you look at all the Web 2.0 and beyond startups, all of the startups seems to be at least original founded to solve problems single people think need solving:

* finding good looking people in college

* sending dm's to other people

* carpooling with strangers

* crashing on strangers couches

* getting takeout delivered

* robots/drones that fight each other

* the meta verse

* the equivalent of digital beanie babies

Meanwhile automation to help out with stuff like laundry, dishwashing, cooking home cooked meals, other household chores, helping the elderly, etc. remain untouched.
by Zak | 2025-06-26 23:41:39+00:00
I was surprised by how wrong Jobs got that. Native PC (including Mac) apps had significant usage at the time despite the surge in web apps and were particularly advantageous on a memory and network constrained device.

I wouldn't claim to have better general intuition about consumer preferences than Steve Jobs, but I called this one right: when the iPhone launched without third-party apps, I thought that was a crazy decision that wouldn't last once the competition started to catch up.
by ETH_start | 2025-06-26 23:41:41+00:00
The problem isn’t that people won’t pay for news, it’s that the payment mechanisms suck. Subscriptions are high-friction, lock-in models for content people rarely read. What’s missing is an open, low-friction way to pay per article without creating an account, entering card details, or giving up personal data.

This is where crypto actually makes sense, as payment infrastructure. A browser wallet on modular extensions of Ethereum, like Base or Arbitrum, could handle sub-cent payments instantly. You could read three articles and be down 3 cents, no login required and no data trail. And if it's all built on open standards, you avoid the usual siloing problems you'd get with Apple or PayPal running the system, like a private company gaining control over a monopoly and abusing that position to extract economic rent.

Smart contracts could automate revenue splits between writers and outlets, basically a decentralized Spotify for news, but programmable. And crucially, if payments are peer-to-peer, the biggest regulatory burdens — the terribly thought out KYC/AML anti-privacy laws — don’t apply. Those laws target intermediaries, not end users. That’s critical for making anonymous micropayments viable at scale.

Most past micropayment models failed because the rails weren’t there. Now, thanks to upgrades to public blockchain technology, they are, or at least we're getting close.
by mrcsharp | 2025-06-26 23:41:56+00:00
> but Valve put a lot of effort into making games work on Linux

Yes! this is competition at its finest, right? It is also what I was talking about in my original comment.

> So now gamers have gained another platform to play games!

Yup, this is definitely a good thing. Yes gamers get another platform and hopefully gets MS to focus on Windows to make it better and less hostile to users.

Gamers are also quite vicious and they will tarnish the reputation of anything that doesn't work well for them. Let's see how Linux will fare in their hands.
by galaxyLogic | 2025-06-26 23:42:03+00:00
> A large part of our civilisation rests on the shoulders of one medieval monk: Thomas Aquinas.

The article starts with that but then provides no evidence for that claim as far as I can see. How does our civilization in large part rest on his ideas? What about other civilizations?

The claim about the validity of Aquinas' ideas seem to only make sense if we accept his initial assumption which is the existence of God. But, making claims like this seems almost as if designed to HIDE the existence of such initial assumptions. Call them axioms if you will. They are not "proven".

> Something is good if it fulfills its function

The confusion here is that there is no such thing as "universal good". It is always "good for something" and "good for somebody". Bad for something else, and bad for somebody else. So the claim seems to be that because something is good for somebody and bad for somebody else, there is perfection?

Yes there is often an "equilibrium". It is better to be in equilibrium than to be on the losing side of it. But that is not "perfection" (whatever that means). Maybe Aquinas was not aware that some species go extinct. How is that "perfect"?

I can't resist but quote from one of the great philosophers of our time, Mel Brooks: It's good to be King! :-)
by slt2021 | 2025-06-26 23:42:57+00:00
I use jupyter notebooks for similar purpose, with the Python kernel's memory keeping the state I want for some random stuff, and notebook being a recipe how to reproduce the calculation/processing.

some of my kernels been running for weeks, as I come back and redo or rework some processing.

the neat thing about jupyter notebooks, is you can interleave python one-liners with bash one-liners and mix them as you wish.
by throwaway98334 | 2025-06-26 23:43:13+00:00
> One of the big problems is that folks judge Matrix based on the legacy Element apps, which have now been succeeded by Element X

Which is mobile-only. Element's UX on desktop is still a joke.

> These days, the priority at Element is providing a self-hosted, decentralised WhatsApp and Teams replacement for governments... and once we get sustainable doing that, we'll be able to spend time building community features once again.

In other words, you don't have the community's best interests in mind, but we should rest safe because you'll have their best interests in mind at some point in the future, maybe.

Not very reassuring.
by _carbyau_ | 2025-06-26 23:43:18+00:00
:-) I appreciate your snark and the ad campaign reference.

But if international waters isn't enough (and much cheaper) then I don't think space will either. Man's imagination for legal control knows no bounds.

You wait (maybe not, it's a long wait...), if humankind ever does get out to the stars, the legal claims of the major nations on the universe will have preceded them.
by Aurornis | 2025-06-26 23:43:44+00:00
> The GDP formula is commonly expressed as GDP = C + I + G + (X - M), where C is consumer spending, I is business investment, G is government spending, and (X - M) represents net exports (exports minus imports).

Imports don't actually subtract from GDP. They are subtracted inside the GDP formula to make sure they aren't counted toward the country's production, basically.

Logically it makes sense: If you import something, it was not produced within the country. Therefore you need to make sure it's not counted in GDP. However, the starting values for GDP calculation are sum total type numbers, so you have to manually subtract out imports.

This proves endlessly confusing for journalists and even politicians who see the subtraction sign and conclude that "imports subtract from GDP"
by lawlessone | 2025-06-26 23:43:50+00:00
Anecdotally i've seen a ton of people online that do art ,taking commissions from people to draw specific things for them, that also often talk to each other about dealing with ADHD.

Not an artist or customer myself but just follow a good few of them.

What's worse is many of them would have had work they did scraped to train some models of the models displacing them.
by nwienert | 2025-06-26 23:43:59+00:00
I skimmed part of it, but unless I missed some huge caveat I think you’re backwards and GP is definitely right. The article mentions React, then sort of dismisses it later saying the other two strategies are better to implement instead of diffing.

I don’t see any reason a browser level “here’s new DOM you diff and apply it” couldn't exist and be a huge win for React and other libraries, with React so much more popular than every other framework combined, and that being a pretty low level API, it makes sense to start there.

Building the overly abstracted thing first is a mistake web API authors have made too many times (see web components).
by pfdietz | 2025-06-26 23:44:15+00:00
The argument for SSTOs was that staging was too scary. But experience since then shows this argument was bogus. Staging can be made highly reliable.

Even a small amount of delta V provided by a first stage makes the job of the "almost SSTO" second stage much easier. And a low delta V first stage can be rugged, with high high safety factors, and is easy to recover at the launch site.

Put another way: if you have an SSTO, its payload increases dramatically if you stack it on a very low performance recoverable first stage.

I don't see any way SSTOs are going to be preferable to TSTOs, especially if the SSTO has to use hydrogen to get off the ground.
by treyd | 2025-06-26 23:44:37+00:00
Not only does it generate more code, the initially generated code before optimizations is also often worse. For example, heavy use of iterators means a ton of generics being instantiated and a ton of call code for setting up and tearing down call frames. This gets heavily inlined and flattened out, so in the end it's extremely well-optimized, but it's a lot of work for the compiler. Writing it all out classically with for loops and ifs is possible, but it's harder to read.
by arvindparekh | 2025-06-26 23:45:37+00:00
This is awesome! I literally gave better-auth a spin 2 days ago and I was able to get it up and running within 15 minutes. I'm yet to try the plugins, but looks really easy to set up and work with, safe to say I'll be using it for future projects.

I didn't like the fact that it doesn't have a built-in sign-in ui components, but glady https://github.com/daveyplate/better-auth-ui solves it.
by rendx | 2025-06-26 23:46:21+00:00
It is well known that there is a link between "criminal" (violent) behavior and prior trauma/adverse childhood experiences. It is similarly well known that trauma has an effect on brain development. There's plenty of research into how violent behavior is passed on between generations. It is also known that neuroplasticity and therapy allows for regrowth and new connections to form.

I think it's a grave mistake to try and frame brain damage as the cause, and not the result of (transgenerational) violence.
by protocolture | 2025-06-26 23:46:36+00:00
The border situation is quite harmful to tourism, to the point where advice is being issued to be careful traveling to the USA. Its not a new thing except in scale either. The same shit was happening as far back as 2015, it just keeps getting worse. And from what I can tell, news reports about how hostile the US is to tourists, doesnt get airtime in the US. People seem shocked or think I am joking when I share story after story of people wrongfully apprehended at the border.
by fluidcruft | 2025-06-26 23:46:46+00:00
For one, it integrates Google Wallet and creates a virtual card so the actual credit card number doesn't end up in those merchant databases that get constantly breached. This ties the credit card number to use of the secure element in my phone which is configured to require biometrics to activate. That makes it extremely difficult to fradulently bill. Yes, you can fight fraudulent charges etc but that costs me time and effort and to be it's a no brainer.

I also like the convenience of using Google Wallet to pay for things. It's by far the fastest transaction and easier than futzing around with chip cards and pins. It's also more secure than the dumb tap to pay bullshit in credit cards themselves which do not require biometrics or pins. (Currently my main card is too old to include tap to pay, so I don't have to worry about how to disable it yet). Just generally Google Wallet is more secure than chip+pin while also being much easier to use and not having to trust some random keypad.

It's also nice to not even have to carry a wallet around. I'm not fully there yet (Apple supports my state's drivers license but Google Wallet support isn't ready yet). Phone is obviously something I take with me, it just makes wallet so vestigial since Apple Pay/Google Wallet support is becoming very ubiquitous.

My banks have also implemented 2FA login by just push notification so no typing number or such tedious stuff. Unlock my phone, pass biometrics and done.

There are more but those are just the first things that come to mind.
by kristianp | 2025-06-26 23:47:56+00:00
> options to buy 1,500 shares of stock at $3/share

What percentage of early employees held their shares till now? It would have been tempting to many to sell to buy a house. Ballmer is the biggest holder now I think.

> Microsoft stock split 2-for-1, and Microsoft shipped Windows 1.0. We moved to the brand new Redmond campus in February, 1986, and MSFT went public on 3/13/1986 at $21/share and closed at $27.75/share. Not quite 9 months after I started, my (as yet unvested) stock options were worth $83,250.

Interesting that Microsoft did source control even in 1985 and that Xenix on the PDP-10 (or 11?) was around at that stage.
by bigyabai | 2025-06-26 23:48:02+00:00
Except you can't do it at any time. America tried this logic with the motor vehicle (and offshored it), then the semiconductor (and offshored it), and now we're seeing it for pretty much every other manufactured commodity America is known for. What do we make, anymore?

There's a simple explanation for why this happened: America really believes in free market competition. Even when we're getting reamed by global competitors in cost and quality, someone always presupposes that this manufacturing capacity can come back. But that's not how it works; products are worth what people will pay for them, and if the trade value goes down then the gross domestic product will follow.

It's a blatant vulnerability of democratic capitalism. I'd like for you to be right, but I live in America. I don't know if anything on my desk was made in America; I don't even know if my desk itself was made domestically anymore. America isn't a rung on the manufacturing ladder, you could remove us entirely and only stand to increase your margins.
by ARob109 | 2025-06-26 23:48:22+00:00
Learning Rust ATM and using bindgen on a C header. Just looked and it generates Rust enums from C enums. I'm not sure what the default behavior of bindgen is, but it seems there is option for constifying enums

--constified-enum <REGEX> Mark any enum whose name matches REGEX as a series of constants

--constified-enum-module <REGEX> Mark any enum whose name matches REGEX as a module of constants

IMO, saying bindgen avoids the issue presented in the article is not accurate.

edit: formatting
by bobmcnamara | 2025-06-26 23:48:26+00:00
> NULL checks which would normally prevent you from accessing invalid pointers now will pass and send you along to deref your bogus pointer.

Oddly, this is bog standard implementation specific behavior for standard C - caller accessing any result of malloc(0) is undefined behavior, and malloc(0) isn't required to return NULL - the reference heap didn't, and some probably still don't.
by fennecbutt | 2025-06-26 23:49:20+00:00
I suppose that's true but not necessarily. Most of the control hardware would likely come from Taiwan. Structural components can be machined locally, brushless motors or whatever other mechanism can also be machined locally. Sensors etc are available from Japan/Taiwan as well. But tbf I think it would be possible to source reliable Chinese components from reputable companies as well - try do b2b already and they wouldn't get the sales if the product didn't work. Make purchases through a variety of disposable paper companies and the factories would have no idea that it's for defense.

Software for loitering etc would be so easy nowadays too. Hell I can tell a pi zero to track GPS + multiple cameras + loiter/engage target on whatever signatures are available from available sensors.

I say this while eyeing up the Carvera. I want to justify it so badly. Perhaps the Air...not for aforementioned purposes of course, unless some defense contractor wants to pay me ahaha.
by hiAndrewQuinn | 2025-06-26 23:49:29+00:00
/dev/shm is typically world-writable by default:

$ ls -ld /dev/shm drwxrwxrwt 3 root root 120 Jun 32 02:47 /dev/shm/

Incidentally, "30 years ago" is the cutoff date for music being considered the oldies. This just made me realize Nevermind is now an oldie, and soon The Lonesome Crowded West will be too.
by ChadNauseam | 2025-06-26 23:49:37+00:00
Did you do it from a clean build? In that case, it's actually a slightly misleading metric, since rust needs to actually compile macros in order to typecheck code that uses them. (And therefore must also compile all the code that the macro depends on.) My bad for suggesting it, haha. Incremental cargo check is often a better way of seeing how long typechecking takes, since usually you haven't modified any macros that will need to be recompiled. On my project at work, incremental cargo check takes `1.71s`.
by ctur | 2025-06-26 23:49:59+00:00
This is an unnecessary optimization, particularly for the article's use case (small files that are read immediately after being written). Just use /tmp. The linux buffer cache is more than performant enough for casual usage and, indeed, most heavy usage too. It's far too easy to clog up memory with forgotten files by defaulting to /dev/shm, for instance, and you potentially also take memory away from the rest of the system until the next reboot.

For the author's purposes, any benefit is just placebo.

There absolutely are times where /dev/shm is what you want, but it requires understanding nuances and tradeoffs (e.g. you are already thinking a lot about the memory management going on, including potentially swap).

Don't use -funroll-loops either.
by npalli | 2025-06-26 23:50:24+00:00
> We're really talking about resistance to memory safety in the last redoubts of unsafety: browsers and operating systems.

.. and other performance critical areas like Financial applications (HFT), High Performance Computing (incl. AI/ML), embedded, IoT, Gaming/Engines, Databases, Compilers etc.. Browsers and OS are highly visible, but there is a gigantic ton of new C++ code written everyday in spite of the availability of memory safe languages.