MurphyA/hacker-news huggingface dataset:
by trod1234 | 2025-05-19 18:31:26+00:00
Hiring is down across the board in tech jobs. Brain drains occurring because its no longer economically viable and the most competent people with options will move to other areas and not turn back. There are people with 10 years of experience doing the job that can't find jobs in the field. I think you neglect how much the factor market has shrunk.

It is a mistake to compare what's happened with past events and assume the future holds something similar. Anyone losing money on the stock market knows this intuitively. Its survivor bias.

The problem also isn't about what to do with young people. That's a red herring.

The critical problem is, what naturally happens in a sequential pipeline when nothing goes in, and the pipeline finishes having the remaining people coming out of it. Eventually its empty.

At that point, no one will be able to hire such talent because it won't exist anymore, not at any price. The cost of labor in getting rid of those positions may drop in the short run, but then you get infinite cost for those positions that you need to replace in the form of you simply can't find people.

Its what engineer's call a cascade failure. These are usually catastrophic, and rarely noticed at first except as a rule in blood (after the fact). You don't notice until its too late to do anything but that's a problem for next quarter thanks to money-printing/debt issuance, and it will keep being that until its too late.

This is the problem when the majority of people have lost objective reality, which many people have slowly been noticing since 2016, and its just been growing worse.

The smart competent people warn and ring the alarm bells, nothing happens, things get worse, braindrain happens because the competent people withdraw to focus on their own futures, and the cycle continues until it cannot. A runaway feedback loop.
by colinmcd | 2025-05-19 18:31:28+00:00
These numbers don't reflect anything useful. This is the total size of the code in the package, most of which will be tree-shaken. In Zod's case, the package now contains three independent sub-libraries. I recommend plugging a script into bundlejs.com[0] to see bundle size numbers for a particular script

[0] https://bundlejs.com
by kayodelycaon | 2025-05-19 18:31:45+00:00
Crop rotation is needed for yearly crops that deplete soil. By harvesting them, you’re removing the nutrients.

As I understand it, you’re not taking any significant amount of nutrients when you harvest the trunks of trees and leave the branches behind to replenish the soil.

Controlled burning can also be used to speed up the process. Some species of pine trees actually require fire to reproduce.

There are questions about making the soil more acidic. Pine trees grow better in acidic soil. Correlation is not necessarily causation.
by cess11 | 2025-05-19 18:32:09+00:00
The public sector isn't allowed to hire people and do things that could be perceived as competing with the private sector, which drives paying consultancies for things like software development as soon as the result could work as a product (i.e. more than one government body would want an instance).

Procurement ("lagen om offentlig upphandling"), one of the big wins for the right, is also fundamentally broken in that a lot of the public servants involved are fresh graduates that soon gets poached by private corporations and the organisational response is to sign long term contracts with huge corporations that supply many different things and are also allowed to bring in subcontractors for the things they don't. This effectively destroys any possibility of commercial competition.

It's purposefully designed this way by conservatives.
by colinmcd | 2025-05-19 18:32:43+00:00
Author here, AMA!

Regarding the versioning: I wrote a fairly detailed writeup here[0] for those who are interested in the reasons for this approach.

Ultimately npm is not designed to handle the situation Zod finds itself in. Zod is subject to a bunch of constraints that virtually no other libraries are subject to. Namely, the are dozens or hundreds of libraries that directly import interfaces/classes from Zod and use them in their own public-facing API.

Since these libraries are directly coupled to Zod, they would need to publish a new major version whenever Zod does. That's ultimately reasonable in isolation, but in Zod's case it would trigger a "version avalanche" would just be painful for everyone involved. Selfishly, I suspect it would result in a huge swath of the ecosystem pinning on v3 forever.

The approach I ended up using is analogous to what Golang does. In essence a given package never publishes new breaking versions: they just add a new subpath when a new breaking release is made. In the TypeScript ecosystem, this means libraries can configure a single peer dependency on zod@^3.25.0 and support both versions simultaneously by importing what they need from "zod/v3" and "zod/v4". It provides a nice opt-in incremental upgrade path for end-users of Zod too.

[0] https://github.com/colinhacks/zod/issues/4371
by toomuchtodo | 2025-05-19 18:33:03+00:00
All payment roads eventually lead to FedNow instant payments.

https://fintechtakes.com/articles/2025-03-25/the-pay-by-bank...

https://20392958.fs1.hubspotusercontent-na1.net/hubfs/203929... (page 4 specifically)

(work at a fintech, thoughts and opinions my own)
by jonas_kgomo | 2025-05-19 18:33:29+00:00
This is the most difficult conversation i ever listened to, because each sentence had so much layers that I could not possibly understand every 5 min of the discussion. My questions is, how does one get to understand these kind of conversations, and secondly, where can I find more of them?

NB: I guess the word here for high-density should probably be entropy or information content as opposed to density.
by albumen | 2025-05-19 18:33:34+00:00
In 2019, Airbus displaced Boeing as the largest aerospace company by revenue.

In October 2019, the A320 family became the highest-selling airliner family with 15,193 orders, surpassing the Boeing 737's total of 15,136.

In 2023 the number of Airbus aircraft in service surpassed Boeing for the first time.
by ddq | 2025-05-19 18:33:35+00:00
Metal Gear Solid 2 makes this point about how "over the past 200 years, a kind of consciousness formed layer by layer in the crucible of the White House" through memetic evolution. The whole conversation was markedly prescient for 2001 but not appreciated at the time.

https://youtu.be/eKl6WjfDqYA
Ask HN: What are some "eureka" projects?
by 90s_dev | 2025-05-19 18:33:39+00:00
A eureka project is when someone has a eureka moment, writes a project in a relatively short amount of time, and it explodes in popularity yet retians longevity.

An example is git, written in a couple weeks and became the primary vcs today.

What are other examples?
by netbioserror | 2025-05-19 18:33:40+00:00
I remember that in older formal game theory tournaments, a punish-once single-retaliation strategy won out. It was unconditional on copying, simply that if the opponent cheated, you cheat back once and then forgive until another cheat. Another form of Golden Rule approach. But I think those tournaments were under simpler conditions than the one here.

I like the incorporation of miscommunication, and being able to change the parameters.
by ty6853 | 2025-05-19 18:34:07+00:00
Technology and automation likely lead to the lion's share in productivity increase. Thus we have seen at least one mode of tech wages that focus on creating higher productivity systems staying strong while many other segments stagnate.

Meanwhile I don't see any evidence education in the past 20 years in the US has yielded a significantly higher quality and efficiency of candidate.

If you want more money all else equal you have to bring something more to the table. If all you bring to the table is being able to use a more efficient machine it's not clear why your wage would elevate rather than the value of the machine (capital) elevating. Merely having as good an education as the guy 20 years ago isn't going to cut it.
by scrollaway | 2025-05-19 18:34:27+00:00
If anyone is in the US and interested in coming over to Europe to build a startup…

I started an incubator specifically for US based entrepreneurs looking to make the leap from what is, right now, an incredibly unstable place to build, and assist in getting both private and public funding for you, and take care of all the admin and immigration paperwork.

Come to Brussels, Belgium. It’s the most international city in the world per capita, English friendly, welcoming to expats and there’s 0% capital gains tax. It’s also human sized, you don’t need a car to get around.

https://sevenseed.eu/program

Shoot me an email if you’re interested. This program was birthed right here on HN in a Who’s hiring thread. I’ve talked to 50+ founders who have had enough of the current admin and want change.
by liampulles | 2025-05-19 18:34:29+00:00
I can't call it a design oversight no, because I'm not sure what reasonable alternatives were considered before Go v1 was released. I also don't have context of all the decision factors that went into Go's spec. To be honest, I'm not anywhere near an expert on programming language design - I'm probably the wrong person to ask.

I am thankful that they haven't broken the spec to change that design, but maybe others don't care about that as much as I do.
by buckle8017 | 2025-05-19 18:35:04+00:00
The author states that globalization began in 1994 with NAFTA.

That seems either extremely naive or intentionally deceptive.

Globalization began in 1972 with the opening of China.

Which of course perfectly lines up with the stagnation of American wages.

https://en.m.wikipedia.org/wiki/1972_visit_by_Richard_Nixon_...
by MoreQARespect | 2025-05-19 18:35:16+00:00
Perhaps. More than a famous guru I find most companies badly need a testing framework that can simulate 90% of possible scenarios hermetically and lack somebody who can build that.

Once you have that and somebody has taken you around the block 3 or 4 times pairing with TDD on your app it usually starts to make more sense.

On my team after I inculcated the TDD habit properly, BDD came naturally. I didnt even encourage them to have conversations with the PO while screensharing the tests. They dont even know that's called BDD.
by preisschild | 2025-05-19 18:35:38+00:00
Its very similar. Most people "at risk" for a accident in a nuclear power plant are the workers. There are multiple redundancies that make sure dangerous levels of radioactive isotopes are not released to the public. Thats why every western nuclear power plant has required containment buildings basically forever. Chernobyl didn't, which is why it affected the environment / nearby people.
by jraph | 2025-05-19 18:35:43+00:00
> Edit: for clarity, by "multiple OS" I mean multiple Linux versions. Like if one project has a dependency on Ubuntu22 and another is easier with Ubuntu24. You don't have to stress "do I update my OS?"

For this part, I just create systemd-nspawn containers.

Last time I wanted to test something in a very old version of WebKit, creating a Debian Jessie container takes a few minutes. Things run at native speed.
by igouy | 2025-05-19 18:35:58+00:00
"Static typing is a powerful tool to help programmers express their assumptions about the problem they are trying to solve and allows them to write more concise and correct code. Dealing with uncertain assumptions, dynamism and (unexpected) change is becoming increasingly important in a loosely couple distributed world. Instead of hammering on the differences between dynamically and statically typed languages, we should instead strive for a peaceful integration of static and dynamic aspect in the same language. Static typing where possible, dynamic typing when needed!"

https://ics.uci.edu/~lopes/teaching/inf212W12/readings/rdl04...
by cosmic_cheese | 2025-05-19 18:36:02+00:00
I doubt nix is ever going to enjoy popularity on the scale of Homebrew due to its differing model. People are too used to doing a simple “x install y” without any backing configuration or flakes or anything like that.

Personally speaking I might learn it at some point but for now nix's friction/overhead isn’t proportional to the occaisional inconvenience with traditional package managers.
by WorldMaker | 2025-05-19 18:36:11+00:00
When I had Apple Card's daily cash going to Apple Cash was when Apple Cash was still a Discover (debit) card under the hood. (Last I checked it is a Visa [debit card] now.) During that time I found a bunch of places didn't take Discover and just didn't even put up a sign (even ones that had "Amex not accepted signs") because they didn't think anyone cared. It was never an issue then because I'd just switch back to the Apple Card (Mastercard), but as the only Discover card I've ever had in my "wallet" (virtual or otherwise) it was an interesting experience that left a lasting impression.
by alex_smart | 2025-05-19 18:36:23+00:00
I don't need new reasons to hate Linux. Like I said, I have moved to macbooks as my personal computing device because of the better hardware.

> solved a while ago

Can not be the case because I was facing these issues less than a couple of years ago.

I was responding to the "Stockholm syndrome" comment specifically because there are a number of hardware and software problems (e.g. https://jayfax.neocities.org/mediocrity/gnome-has-no-thumbna...) with using linux as a desktop operating system that linux users have to find their way around, so I found the comment rather full of irony.

PS: I already know that the file-picker issue has been fixed. That does not take away from the fact that it was in fact broken for decades. It is only meant as an example.
by folkrav | 2025-05-19 18:36:55+00:00
I fully agree with you - "YMMV" is the one true take. Visual Studio has never been particularly attractive to me, my whole workflow is filled with POSIX tools, and my code mostly runs on Docker and Linux servers. Windows is just another thing to worry about for me, be it having to deal with the subtle quirks of WSL not running on raw metal or having to deal with running UNIX-first tooling (or finding alternatives) on Windows. If it wasn't for our work provided machines being Windows by default, and at home, being into VR gaming and audio production (mostly commercial plugins), I'd completely ditch Windows in a heartbeat.
by ToucanLoucan | 2025-05-19 18:37:31+00:00
That's a fair rebuttal. I guess what I don't understand is the reflexive nature to double-triple-quadruple down into stuff that's like... not even overly difficult to discern as being wrong? Like to come back to Scott Adams, he seems to have a lifelong set of issues around socializing, and is a bit racist. But like, he managed a successful career that got around those things. So why come back in his twilight years to be really racist in public, even as people asked him to not? Even has a lot of his fans asked him to not?

It's such a bizarre hill to die on.
by lxgr | 2025-05-19 18:37:37+00:00
For me, the best part of running Linux as the base OS is not having to deal with Windows.

No ridiculous start menu spam; a sane, non-bloated operating system (imagine being able to update user space libraries without a reboot, due to being able to delete files that other processes still have opened!); being able to back up my data at the file level without relying on weird block-level imaging shenanigans and so much more.

How is inverting the host/guest relationship an improvement on that?
by tptacek | 2025-05-19 18:37:41+00:00
It's honestly a pretty good case study of the limitations of the approach, because you can imagine all sorts of spurious correlations you might pick up from a photograph (limit case: subject is holding their framed mathematics doctoral degree) that could result in a classifier good enough to give you a betting edge, but good for little else. Broadly, you'd expect a trained photo classifier to pick up a bunch of SES signals.
by al_borland | 2025-05-19 18:37:53+00:00
Not everything is a big web app. Applying this separation of concerns to everything, and assuming everything will scale into Facebook, brings a lot of needless complexity into what should be simple little pages. Old PHP was great at that, and still is. I’m continually shocked that it has seemed to be the only game in town for decades. It seems like such an obvious use case. Maybe this is a testament to how well PHP solve this space, despite catching a lot of flack online. Similarly to this project, PHP also started out of the developer’s need to manage his Personal Home Page, not large scale enterprise apps.

So many people talk about missing the old Internet and the virtues of the small web, and breaking free from platforms… then at the same time speak out against the tools that allow a person to start small and dip their toe into the water of web development, without needing to spend several months in a boot camp for a few lines of server side code.
by alephnerd | 2025-05-19 18:37:59+00:00
> The right way to do this would have been to match private financing so the EIB is providing capital but not gatekeeping

Israel did this with Yozma back in the 2000s, China recently with Guidance Funds, and the US with he IRA and CHIPS Acts, so it is a model that does work.

That said, the EIB press release is very vague [0], and it appears to be a proposal right now, and still needs to be approved by EIB's Board of Governors.

Realistically, we wouldn't get a true picture of this until mid-late 2025 at the earliest (notorious European summer season is about to kick in), so there's no point speculating about this until the final version that is passed by the Board of Governers

[0] - https://www.eib.org/en/press/news/president-calvino-tech-fir...
by yndoendo | 2025-05-19 18:38:00+00:00
I don't like Microsoft products, such as Windows, because I used them through out the years and find all the edge cases where they don't hold up. Windows OS is too fragile with their kludge of internal designs. Corrupt registry or WMI repository bakes systems with ease. This has nothing to do with Open Source.

OSes that use plain text configuration files are easy to resurrect. Windows is fixed with reinstall the OS. Linux and BSD are fixed with editing a config file or reinstalling a single corrupt application / library.

Example of bad versus good design is DirectX shader compilation. Windows can only perform this while the game is running. Linux with WINE can perform this without the game running. Windows will have bad FPS during the first run / scene with many games because of this.

PS. Windows print system is really bad in the industrial environment because they do not follow label markup language stands. Number of label DSLs have a print quantity setting to save memory. Want 1000 copies printed, one print job with print quantity set to 1000. Windows spools up 1000 copies of the label and sends each to the printer. This eats up the memory on printers in no time. It also brakes the ability to clear the print queue just on the printer. Extra steps require the Windows print job to be canceled and they the printer's queue to be cleared. Otherwise The printer will receive the next 990 of the 1000 print job.
by ackfoobar | 2025-05-19 18:38:32+00:00
Mine is "time cook"-2-0-0-start. Pressing "2" to start is some dumb preset program.

But that's not the point, it's usually not pleasant to find and press the buttons on the microwaves machine. Mashing the corner button a bunch of times is a nicer experience.

If it weren't the start button doing double duty as "+30 seconds", I would put my microwave in a more accessible location - space I rather put other stuff in.
by trollbridge | 2025-05-19 18:38:51+00:00
I'll second this, and I'm someone who ran a certain alternative OS to Linux before Linux was viable instead of run Windows, worked as a developer of Win16 and Win32 apps early in my career which gave me a deep love-hate of the platform, couldn't stand Microsoft's monopoly tactics back in the 1990s and 2000s, and remain ever-sceptical of Microsoft's open source and Linux initiatives...

... but WSL is an excellent piece of work. It's really easy to deploy apps on. Frankly, it can be easier to a deployment there than on a Linux or macOS system, for example the reasons detailed above.
by colinmcd | 2025-05-19 18:38:55+00:00
Ecosystem libraries would need to switch from a single peer dependency on Zod to two optional peer dependencies. Despite "optional peer dependencies" technicall being a thing, its functionally impossible for a library to determine which of the two packages your user is actually bringing to the table.

Let's say a library is trying to implement an `acceptSchema` function that can accepts `Zod3Type | Zod4Type`. For starters: those two interfaces won't both be available if Zod 3 and Zod 4 are in separate packages. So that's already a non-starter. And differentiating them at runtime requires knowing which package is installed, which is impossible in the general case (mostly because frontend bundlers generally have no affordance for optional peer dependencies).

I describe this in more detail here: https://x.com/colinhacks/status/1922101292849410256
by DangitBobby | 2025-05-19 18:39:07+00:00
I like to think if I employed people, I'd want them to make more money when the company makes more money. It's probably weird to think the entire point of companies, the economy, and society at large is to improve life, though. And I think I'm just slow because I need it spelled out for me how a CEO or the company itself "earned" the gains from automation and productivity tools (that they almost certainly didn't invent themselves) while the employees are just lucky to still be employed.
by asdff | 2025-05-19 18:39:11+00:00
Hombrew just pulls the latest versions of everything I have installed whenever I try and install one new unrelated thing. The defaults are kind of annoying in that:

" Unless $HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set, brew upgrade or brew reinstall will be run for outdated dependents and dependents with broken linkage, respectively.

Unless $HOMEBREW_NO_INSTALL_CLEANUP is set, brew cleanup will then be run for the upgraded formulae or, every 30 days, for all formulae."

However I don't think even these flags are sufficient. I think to really ensure nonbreaking behavior you have to use a brew pin command on each and every formula you have installed on the system.

Really annoying defaults considering brew is a developer facing program not a consumer facing program where the tradeoff between security and functionality makes more sense.

This is why I still reach for conda whenever possible. I am at least prompted before 100 things are installed.