MurphyA/hacker-news huggingface dataset:
by rini17 | 2025-05-09 22:03:05+00:00
Apparently in the US there's no straight and honest discourse about anything anymore. In Europe there are various neurodivergent-adjacent groups and products too, but it's more practically focused and less about identity. Professional psychiatrists, even sceptical ones, have space in european mainstream media and pushing stuff not in DSM is uncommon.

Social contagion might be happening, not denying that, but I would not discount other organic "not placebo" factors causing disorders. Our life did change drastically since 2000.
by SamuelAdams | 2025-05-09 22:03:12+00:00
This idea is already implemented in Dotnet, with Trimming and now ahead of time compilation (AOT). Maybe other languages can learn from dotnet?

https://learn.microsoft.com/en-us/dotnet/core/deploying/trim...

https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...
by munificent | 2025-05-09 22:03:46+00:00
I believe most of this is language designers picking their personal preference and then that percolating down through history.

The original UNIX folks really love lowercase. Executables are lowercase, most file names are lowercase, file extensions are, etc. That extends to C where DMR and Ken Thompson chose lowercase names for keywords, built-in types, and standard library functions. If I remember right, Thompson uses all lowercase in most of his communications too, so I suspect it comes from him. Or maybe it was a flex because the PDP-11 could do lowercase when some other early computers didn't support it at all?

The early Pascal compilers from Niklaus Wirth and friends appear to be all caps, probably because that's all the machines supported. The language itself generally isn't case sensitive. (I say "generally" because there are many flavors of Pascal.)

When Anders Hejlsberg created Turbo Pascal (which is also case-insensitve), he introduced a convention of lowercase for keywords what we now call PascalCase for function and type names and (judging by the Wikipedia article) a mixture of PascalCase and camelCase for variables.

Perhaps because Straustrup built on C but is a Dane like Hejlsberg, he picked a mix for C++: camelCase function and variable names with PascalCase type names.

These conventions then flowed down through time. Java was heavily inspired by C++ and takes the same convention. C# is another Hejlsberg creation and follows his preferences. JavaScript follows Java. (It must annoy Hejlsberg to no end that his third baby TypeScript breaks with his own convention.)
by PaulHoule | 2025-05-09 22:03:54+00:00
I'll argue that serialization is universal, there are so many cases in technology where you can scan something with a rotating or moving platform, it takes rather sophisticated electronics to implement "holographic" protocols such as the FFT, Borrows-Wheeler Transform, Deep Interleaving, Forward Error Correction, etc and I just don't see how you get to the place where you can build that kind of thing without breaking things down logically into systems that use serialization.

I am sure that aliens who can build computers know about the halting problem but they probably formulate it differently. [1] I doubt they have 8-bit bytes. They probably, like us, skipped Indium Phosphide, Gallium Arsenide and such for Silicon, but I'm not so sure about that.

[1] Turing started out with a line of though that seems oddly disreputable now: we know most of Cantor's phony numbers (that we call the "reals") don't have names [2], but some of them, like π do. Is the difference between the named and nameless ones that we can program a Turing machine to print out the named ones?

[2] ... hence less "real" than the integers
by MrRadicle | 2025-05-09 22:04:00+00:00
https://archive.ph/Ej90N

How about some Fake Lawyers with Fake Degrees they got from Axact, shove some bribe money in there. Its a global blackmail and bribery operation and domain Registrars like GoDaddy NameCheap Name.com Dynadot Tucows etc are allowing them to create millions of FAKE WEBSITES to scam people and that money goes right back into the west via offshore accounts, right into your real estate, treasonous bastards that accept "Sharia Investors" — It goes through Dubai, the Carribean, then right into Private LLCs and anonymous Private Equity Shareholders.

Islam is a master of bribery and sniffing out TRAITORS.
by tzs | 2025-05-09 22:05:42+00:00
First to file really doesn't change anything relevant here. It just makes it so that if two or more independent inventors invented the same thing and both are applying for a patent the patent goes to whoever filed first instead of trying to figure out who invented it first.

Trying to figure out who invented first could be hard because your priority date was not necessarily when you actually thought of the invention. It was the latest date where you started working diligently to reduce your invention to practice and continued so working until you succeeded.

So if you came up with the idea and started right away working diligently on it and keep doing so until you succeeded then your priority date would be when you came up with the idea.

But if you took breaks you might lose that priority date, and your new priority date would be when you resumed work.

So then we have to decide when a break will reset your priority date. Is it just the length? Does the reason for the break matter?

And what counts as working diligently? Does it need to be full time or is it OK if you are working on your invention every evening after your job?

It was quite messy.
by GuinansEyebrows | 2025-05-09 22:05:58+00:00
> I think you can consider "DEI" as unfair racial discrimination

i'm sorry, nothing personal, but this mentality is just inexcusably dense and reality-avoidant. i hope you don't believe this nonsense so strongly that you think i'm attacking you for it but i think we can hold ourselves to a higher standard of cognition here.
by tialaramex | 2025-05-09 22:07:00+00:00
Yeah, likewise Rust is completely fine after you say `mod foo` and have a file named foo.rs, if you also make a foo/ directory and put foo/whatever.rs and foo/something_else.rs that those are all part of the foo module.

Historically Rust wanted that foo.rs to be renamed foo/mod.rs but that's no longer idiomatic although of course it still works if you do that.
by alphazard | 2025-05-09 22:07:01+00:00
> It will still be first in global finance, because nothing is poised to fully replace it.

There are many countries with their own currencies, and all it takes is one of them to back it with gold, or a basket of commodities, and create infrastructure around it, and now there is something more attractive than the dollar to denominate debts in. That's all it takes. Everyone just wants to conduct business, get paid, buy food, etc. If the dollar is inflating away 10% every year, and there's something that fluctuates less than that, it's not exactly a hard choice. Especially if the choice is just a drop down in an app.

What may be more concerning, is it's not going to be a western democracy that sets up a stable-coin backed by commodities. They move too slowly, it's going to be an authoritarian regime that can move fast and wants to advance it's significance in the global economy.
by Sam_Odio | 2025-05-09 22:07:25+00:00
Interesting - these have exactly the design polish I'd expect from working at FB, Twitter, DBX, etc... From what I've seen most of the people I've worked with at those companies care more about the quality of my thinking than the polish of my docs.

Paul - great work. Was thinking of doing the same. I'd love to collaborate on some sort of shared resource/repo of docs like these (github?) and contribute a few of my own.
by leelou2 | 2025-05-09 22:07:34+00:00
Odin seems to strike a really interesting balance between simplicity and practicality, especially for game development. I like the idea of having “batteries included” without too much abstraction getting in the way. For those who have used both Odin and Go, how do you feel about the differences in day-to-day development? Are there any features in Odin that you wish Go had, or vice versa? Would love to hear more real-world experiences!
by zozbot234 | 2025-05-09 22:07:38+00:00
> In the 80s the idea of a library of functionality was something you paid for, and painstakingly included parts of into your size constrained environment (fit it on a floppy). You probably picked apart that library and pulled the bits you needed, integrating them into your builds to be as small as possible.

If anything, the 1980s is when the idea of fully reusable, separately-developed software components first became practical, with Objective-C and the like. In fact it's a significant success story of Rust that this sort of pervasive software componentry has now been widely adopted as part of a systems programming language.
by CountSessine | 2025-05-09 22:08:12+00:00
I don't know about incompetent - there's plenty of smart people around Trump. The big problem seems to be that they all kind of disagree with each other and Trump ends up doing what the guy who talks to him most recently advises him to do.

The current "plan" seems to be to leave behind the largely-defunct WTO once and for all and build a selective free-trade alliance specifically excluding China, much like GATT was. I don't think this would really make the US "richer" (or any participant in the alliance) - in fact it would probably make us all a bit poorer. But it would make China much poorer which at this point is kind of the goal.

https://www.hudsonbaycapital.com/documents/FG/hudsonbay/rese...

But that's just today. Next week someone else might get Trump's ear before he speaks to the press.
by poincaredisk | 2025-05-09 22:08:52+00:00
"completely solves" is a bit of an overstatement. Imagine a curl-like library that allows you to make requests by URL. You may only ever use HTTP urls, but code for all the other schemas (like HTTPS, FTP, Gopher) needs to be compiled in as well.

This is an extreme example, but the same thing happens very often at a smaller scale. Optional functionality can't always be removed statically.
by sedatk | 2025-05-09 22:08:53+00:00
Free-form identifiers are neat for test-case naming, but not for `HTTPStatus.`404``. I think having `HTTPStatus.Error404` was a bad idea to begin with. Just use semantic names like `HTTPStatus.NotFound` and you wouldn't have a problem in the first place. Now, a single character typo can easily make a 404, 403 and create a bug. It's less of a problem with semantic names.

If you want constrained numeric types in Swift, that's another problem to tackle. But `HTTPStatus.`404`` seems to be the least ideal way to go about it. It lets you do stuff like to declare `HttpStatus.`404`` with a value of 403 too.
by arecurrence | 2025-05-09 22:09:11+00:00
I too wish deprecation with migration path was a more common pattern in today's language development. The language has very much needed work and the numerous bugs within Apple's own libraries certainly hasn't helped.

That said, some of the, erm, "new ways" to solve problems have been significant advancements. EG: Async/Await was a huge improvement over Combine for a wide variety of scenarios.
by alabastervlog | 2025-05-09 22:09:23+00:00
Red wings and Rancourt & Company, here, plus Mexican and Spanish manufacturers (most search engines are terrible at surfacing these, you need to specify the country to find them) when I can’t find what I want in my price bracket in the US. Alden’s a bit rich for my blood.

Frankly, sneaker prices are getting so damn high that for the last couple years “expensive” leather shoes and boots from manufacturers that have resisted big price hikes have been looking more and more like a bargain…
by mhb | 2025-05-09 22:10:35+00:00
Kamala is clearly an idiot. So there's that. Who are you trying to convince? It would be great if the Democrats could learn that all it would take to beat the giant douche is to run someone reasonably intelligent and moderate instead of playing the brinksmanship game believing that it's unthinkable that anyone would actually vote for the giant douche.
by zeroxfe | 2025-05-09 22:10:38+00:00
> If it was pulled into Rust stdlib, that team would be stuck handling it, and making changes to any of that code becomes more difficult.

I think Rust really needs to do more of this. I work with both Go and Rust daily at work, Go has its library game down -- the standard library is fantastic. With Rust it's really painful to find the right library and keep up for a lot of simple things (web, tls, x509, base64 encoding, heck even generating random numbers.)
by gscott | 2025-05-09 22:11:32+00:00
If I am China I lend you money I would like get paid back in dollars because I can already print as many Yuan as a I want. Why should I lend to you in a currency I can turn the printing press on for. So it feels like the Dollar will be around for awhile as long as it is accepted, convertible, and the Government tries to slow down the printing press themselves.
by taeric | 2025-05-09 22:11:37+00:00
I agree that I don't like thinking of libraries as the problem. But they do seem to be the easiest area to point at for a lot of modern development hell. Is kind of crazy.

I'll note that it isn't just PGO/BOLT style optimizations. Largely, it is not that at all, oddly.

Instead, the problem is one of stability. In a "foundation that doesn't move and cause you to fall over" sense of the word. Consider if people made a house where every room had a different substructure under it. That, largely, seems to be the general approach we use to building software. The idea being that you can namespace a room away from other rooms and not have any care on what happens there.

This gets equally frustrating when our metrics for determining the safety of something largely discourages inaction on any dependencies. They have to add to it, or people think it is abandoned and not usable.

Note that this isn't unique to software, mind. Hardware can and does go through massive changes over the years. They have obvious limitations that slow down how rapidly they can change, of course.
by jiggawatts | 2025-05-09 22:11:58+00:00
A consideration that is often overlooked is that the waste accumulates exponentially!

If each layer of “package abstraction” is only 50% utilised, then each layer multiplies the total size by 2x over what is actually required by the end application.

Three layers — packages pulling in packages that pull their own dependencies — already gets you to 88% bloat! (Or just 12% useful code)

An example of this is the new Windows 11 calculator that can take several seconds to start because it loads junk like the Windows 10 Hello for Business account recovery helper library!

Why? Because it has currency conversion, which uses a HTTP library, which has corporate web proxy support, which needs authentication, which needs WH4B account support, which can get locked out, which needs a recovery helper UI…

…in a calculator. That you can’t launch unless you have already logged in successfully and is definitely not the “right place” for account recovery workflows to be kicked off.

But… you see… it’s just easier to package up these things and include them with a single line in the code somewhere.
by CountSessine | 2025-05-09 22:12:24+00:00
For the record, I'm not really sure how I feel about this plan. Free trade with China uplifted 700 million people (in China) from poverty.

OTOH, if you believe that China is basically Germany circa 1938 (and indeed, China in 2025 is the largest and most successful fascist state in all of history), then kneecapping China's economy makes plenty of strategic sense.

But we could always just keep buying Hitler's Volkswagens - that's the direction our incentive gradient points in. The US doesn't need to be the global police - we could always just let China have Taiwan, the Senkakus, the Ryukyus, etc...
by bigfatkitten | 2025-05-09 22:13:03+00:00
I've been a firefighter for 22 years. I'm sure neither of us will ever cease to be amazed at what otherwise intelligent people will do when they're in a panic.

People also do amazingly dumb things because a piece of software with a tone of authority told them to do it, even when they're not under duress. Look at the number of people who find themselves stranded or dead because they uncritically followed the directions of a navigation app, and who weren't in a panic state when they did it.
by johnnyjeans | 2025-05-09 22:13:12+00:00
C's preprocessor not being powerful enough is less a problem with text-substitution macros, more that they're not allowed to expand recursively which was an intentional design choice. There are some hacks you can do to get around it, and people have done cool things[1] within the limited space those hacks grant you, but there's a reason many C projects with extensive metaprogramming just use an external macro language (which is also just text-substitution).

IMO AST Macros are an even bigger problem than text substitution. Debugging metaprogramming of any kind past a certain point of complexity is a royal pain in the ass (even in a Lisp, Forth or Prolog), but AST explorers are next to useless for complicated logic problems that involve needle in a haystack searches of side effects. If you're dealing with a large AoS of heterogeneous SoAs which influence each other to shuffle around, and most of the related code and the structures themselves are generated via AST macros, you better be really comfortable with assembly analysis and debugger scripting.

[1] - https://github.com/Hirrolot/datatype99
by hayst4ck | 2025-05-09 22:13:21+00:00
The tree of Liberty must be refreshed with the blood of patriots and tyrants is true, that is literally spoken by a founder of the country and person who penned the country's founding document. It is a belief that you materially benefit from but deny. You have so much privilege but deny it's genesis.

You believe in the product of Locke's philosophy, but deny its requirements.

Tyranny is the result of consolidated power. Tyrants aren't going to respond to "please give up your power" or "please follow the law" peacefully. If you challenge power, power will respond. The freedom of speech exists precisely because saying something tyrants don't like will result in tyrants trying to punish you for your speech. Freedom of speech exists in order to protect speaking truth to power because power doesn't like truth spoken to it.

Freedom is solidarity. Solidarity is its price. The word solidarity itself is important to reflect on, because it is solidarity against a force that seeks to break the solidarity by harming individuals acting in solidarity. Labor rights and protection for freedoms were hard won, many individuals were harmed earning them. This country that you enjoy was the result of a revolutionary and civil war.

This is the language the country was literally founded on. This is where the rights you enjoy being protected come from:

These are the times that try men's souls. The summer soldier and the sunshine patriot will, in this crisis, shrink from the service of their country; but he that stands by it now, deserves the love and thanks of man and woman. Tyranny, like hell, is not easily conquered; yet we have this consolation with us, that the harder the conflict, the more glorious the triumph. What we obtain too cheap, we esteem too lightly: it is dearness only that gives every thing its value. Heaven knows how to put a proper price upon its goods; and it would be strange indeed if so celestial an article as freedom should not be highly rated. Britain, with an army to enforce her tyranny, has declared that she has a right (not only to tax) but "to bind us in all cases whatsoever" and if being bound in that manner, is not slavery, then is there not such a thing as slavery upon earth.

> Spend a month in Syria, Libya, or Sudan and then tell me that you support civil war

What do you think makes people fight in a war? Why are Ukrainians fighting in what, if you accept Putin's framing, is a civil war?
by kadoban | 2025-05-09 22:13:48+00:00
It seems quite likely that this isn't actually fundamentally true, because the real story was a mess.

If you look at bacteria even, there's a lot of genetic transfer beyond just strict parent/child relationships either just directly or via viruses or other things I'm sure I've never heard of.

The earliest life was probably more like some kind of soup of self-replicating things, closer to a chemical reaction than biological, and then it would have been kind of a sliding scale over a long period of time before we get to anything that really looks that much like "<this> organism begat <that> organism".

The entire concept of organisms themselves are an abstraction over the truth, that kind of works for today's world, but probably less worked when things were new and interesting and messy.
by bluescrn | 2025-05-09 22:13:49+00:00
The other problem is that modern graphics APIs got so complex that they're intimidating even to experienced developers.

That 'first triangle on screen' code can now look something like this - https://github.com/KhronosGroup/Vulkan-Samples/blob/main/sam... - compared to the simpler old days of OpenGL (https://github.com/gamedev-net/nehe-opengl/blob/master/vc/Le...)
by toshinoriyagi | 2025-05-09 22:17:09+00:00
Hadn't heard of this eGPU dock before, but it seems to support USB 4 as well. I wonder why they only mention USB 3. USB 3 is 5Gb/s, but USB 4 gets you to 40Gb/s, near HDMI 2.1.

https://www.adt.link/product/UT3G.html
by chatmasta | 2025-05-09 22:17:30+00:00
It seems both backwards and perfectly sensible that the country with the biggest debts is also the country with the biggest stick. It’s backwards because it seems counterintuitive to any mafia-style arrangement where the guy with the big stick is collecting the money. But it’s sensible because the safest debtor is one that won’t default, and why would the country with the biggest stick ever want to default?

It’s almost like some twisted version of Mutually Assured Destruction mixed with economics and realpolitik. As long as you don’t try to collect your money, it’s safe and profitable to lend me more of it. Because of the implication…
by smolder | 2025-05-09 22:17:48+00:00
What happens inside a black hole is basically unknowable. We can only ponder the math which leads to ideas like space and time swapping roles once you cross the event horizon.[0] The only thing that comes out is hawking radiation, which is sort of like... half of nothing.

[0] https://youtube.com/watch?v=KePNhUJ2reI
by dathinab | 2025-05-09 22:17:51+00:00
dead code elimination is a very old shoe

which get reinvented all the time, like in dotnet with "trimming" or in JS with "tree-shaking".

C/C++ compiler have been doing that since before dot net was a thing, same for rust which does that since it's 1.0 release (because it's done by LLVM ;) )

The reason it gets reinvented all the time is because while it's often quite straight forward in statically compiled languages it isn't for dynamic languages as finding out what actually is unused is hard (for fine grained code elimination) or at lest unreliable (pruning submodules). Even worse for scripting languages.

Which also brings use to one area where it's not out of the box, if you build .dll/.so in one build process and then use them in another. Here additional tooling is needed to prune the dynamic linked libraries. But luckily it's not a common problem to run into in Rust.

In general most code size problems in Rust aren't caused by too huge LOC of dependencies but by an overuse of monopolization. The problem of tons of LOC in dependencies is one of supply chain trust and review ability more then anything else.
by dtkav | 2025-05-09 22:17:59+00:00
In the AI age having all of your files in markdown and away from AI enabled providers is making more and more sense.

I know of several AI companies who use bespoke tools because otherwise their data would be shared with their competitors (e.g. notion -> openai, gdocs -> google, etc).

It used to be that putting your docs on google "felt" safe because it was unlikely that some random google employee would read you random company docs. Now it seems unlikely to me that they aren't reading every doc with AI.