MurphyA/hacker-news huggingface dataset:
by jltsiren | 2025-07-18 10:05:14+00:00
A slightly different take:

The key information is halfway down the page, in the figure that shows the number of new graduates and new temporary workers each year. The number of new temporary workers has been relatively stable, while the number of new graduates has been climbing steadily.

There was a shortage of software developers in the 2010s. The industry hired more people from abroad than there were graduates from CS programs. Still, CS graduates had better job prospects than their peers in other fields. The market responded to the shortage by increasing the supply of CS graduates, and that increase in domestic supply kept entry-level wages from rising faster than inflation.

The job market changed in the 2020s. A country with a more reactive immigration policy would have noticed the worsening job prospects of new graduates and routinely lowered the supply of new immigrant workers in that field. The US could not do that, as American legislators apparently don't believe in such central planning. The government can make employment-based immigration easier or harder overall, but it lacks convenient tools for targeted interventions in specific fields.

People who chose CS when the job market was hot are now graduating in record numbers. You could say in retrospect that the market overreacted and allocated too much resources to software. And it's quite likely that the market will now overreact in the other direction, as it did after the dot-com bust. Immigration policy can help smoothen these market overreactions, as you can get immigrant workers much faster than new graduates. But that requires dedicated effort from the government.
by potato3732842 | 2025-07-18 10:05:41+00:00
That's because the system was sold with a lie or has otherwise been co-opted with revisions over the years.

It was supposed to be for hiring wernher von braun type world leading experts in their field.

It was never supposed to be for hiring a bunch of code plumbers, which is what 99.9% of this industry consists of.
by vbezhenar | 2025-07-18 10:05:49+00:00
Of course it is possible to use custom keys. At least it was possible on all EFI computers I owned. There are no "manufacturer keys". There's usually an option in BIOS to restore default configuration which resets to MS keys, but you can delete all MS keys.

Now there might be further complications, for example some Lenovo laptops using firmware blobs signed by MS keys and if you delete MS keys, you might brick your laptop, because GPU won't start anymore. That said, I'm using Lenovo Thinkpad T14s Gen4 Intel right now with all keys deleted and my custom key added and it works just fine. May be it's AMD issue.
by palata | 2025-07-18 10:06:41+00:00
> AFAIK, that depends on the hardware used. Google Pixels allow it, but it's not universally permitted.

You're right! That's what I mentioned the few manufacturers who do it correctly. GrapheneOS only supports Pixels for other reasons than that. CalyxOS supports other devices (one constraint being to be able to relock the bootloader). /e/OS doesn't seem care so much about the secure boot.

> Plenty of stories can be found on XDA where people tried to lock their bootloader that bricked their phone.

That raises a question: what is the point of relocking the bootloader? If overwriting the keys means that the whole system will be formatted, then I don't see why it should ever be prevented at all? If an evil maid wants me to lose my data, they can leave with the laptop, right?
by DrScientist | 2025-07-18 10:06:52+00:00
Why are there so many different database engines then? Is each instance of a different database out their an instance of NIH?

The answer is of course that every computer system of any complexity has to make trade-offs - do you need constraints, do you need scalability, do you need concurrency, security? Is your data of a specific form that benefits from a particular compressible storage form, is it optimised for write once read many or read/write etc etc..

In terns of the thrust of the main article - which is about the cost of dependencies - I find that I'm typically much happier to take a dependency if that dependency is very keen on minimising it's own dependencies! - ie I don't want to take on a whole forest of stuff.

In my view many automatic dependency management systems have helped create the mess that they claim to try and solve, and using careful manual dependency management can help cut down the burden.
by intermerda | 2025-07-18 10:07:24+00:00
> Where did you see that? On the news, I only see democrats crying "who's gonna mow my lawn" whenever Donald is deporting illegals, neve republicans.

This is a brain rotten to the core on right wing propaganda.

https://www.independent.co.uk/news/donald-trump-stephen-mill...

https://www.yahoo.com/news/trump-u-turn-deporting-farm-21542...

https://archive.ph/1Q4p9
by andy_ppp | 2025-07-18 10:07:45+00:00
The demo will be great and it will not be accurate enough or trustworthy enough to touch, however many people will start automating their jobs with it and producing absolute crap on fairly important things. We are moving from people just making things (post-truth) to the actual information all being corrupted (post-correct? there's got to be a better shorthand for this).
by zozbot234 | 2025-07-18 10:07:52+00:00
> Which is exactly why users have the freedom and choice to just disable Secure Boot?

There's some x86 hardware in the wild where the option to disable Secure Boot does not work. Which is part of the reason why Shim exists in the first place - it allows you to boot unsigned code with the machine owner's consent, even with Secure Boot enabled.
by trilogic | 2025-07-18 10:08:05+00:00
Yeah but not opensource. The community is pissed off about it, Openai should contribute back to the community. Reddit blow up with angry users about the delays and missed promises of Openai release models. The fact they thay are affraid to be humiliated from the competition like "llama4 did" is not an excuse, in fact should be the motivation.
by perlgeek | 2025-07-18 10:08:17+00:00
FHE might allow arbitrary computation, but I use most services because they have some data I want to use: their search index, their knowledge, their database of chemicals, my bank account transactions, whatever.

So unless Google lets me encrypt their entire search index, they can still see my query at the time it interacts with the index, or else they cannot fulfill it.

The other point is incentives: outside of some very few, high-trust high-stakes applications, I don't see why companies would go through the trouble and FHE services.
by radicalbyte | 2025-07-18 10:09:29+00:00
That matches my experience: but it's to be expected as most CS degrees are applied Math not Software Engineering. You have to respect that.

The thing which makes SEs good is being smart and having passion. Self-taught selects for that. For young people, take a smart young person and put them through a CS degree whilst working. They'll be instantly productive and with a little guidance can be successful. Over time they become exceptional.

That was my path.
by eqvinox | 2025-07-18 10:09:52+00:00
It's possible and it's what you should be doing. "sbctl" (https://github.com/Foxboron/sbctl) AFAIK has a reasonable frontend for doing that on Linux (don't know, I did it manually). You have to put the system in "secure boot setup mode" in BIOS/UEFI options before booting, which enables changing the PK (Platform Key) which is used to chain off all the other keys. (Setup mode should be automatically exited when you install a new PK.)

You can keep the Microsoft keys in there if you want to dual boot Windows, you just need to re-sign the keys themselves with your own PK.
by vbezhenar | 2025-07-18 10:10:10+00:00
I'm using Arch and it was very easy to configure secure boot. I don't know why you think it's not friendly. I'm using UKI, so no bootloader at all, my UKI is signed by my own key which is installed into UEFI. Most of sign process is handled by systemd, so most of it is already integrated into the base system.
by danielbln | 2025-07-18 10:10:17+00:00
It's the white page problem, that LLMs solve handily. Instead of facing the daunting task of building back up a complex mental model, I can ask the machine "yo, what were we doing? what's this thing? ok, how about you give it a spin and show me" and all of the sudden I'm back in it and can get cracking. That, and rubber ducking, and speeding up yak shaving to the nth degree really make this thing very useful to me. I also have various data sources hooked up (slack, notion, linear) so it's also a task management and project management tool for me.
by palata | 2025-07-18 10:10:32+00:00
> Now there might be further complications, for example some Lenovo laptops using firmware blobs signed by MS keys

Oh right! Yeah if you want to use custom keys, you need to be able to build and sign your OS, and proprietary firmwares are then a problem. Now I wonder why this is not a problem on Android... Is it because the firmware blobs come from the image that you sign yourself?

Would the solution be that the GPU should load the firmware from the OS?
by danbruc | 2025-07-18 10:10:32+00:00
That might be a good thing after all, at least in a certain sense. Stack Overflow has been dying for the last ten years or so. In the first years there where a lot of good questions that were interesting to answer but that changed with popularity and it became an endless sea of low effort do my homework duplicates that were not interesting to answer and annoying to moderate. If this now gets handled by large language models, it could maybe become similar to the beginning again, only those questions that are not easily answerable by looking into the documentation or asking a chat bot will end up on Stack Overflow, it could be fun again to answer questions on Stack Overflow. On the other hand if nobody looks up things on Stack Overflow, it will be hard to sustain the business, maybe even when downscaled accordingly.
by bzzzt | 2025-07-18 10:11:21+00:00
Looking at service logs at my company show a serious amount of hacking attempts by bots originating from Russian and Chinese IP addresses. Mostly harmless on an updated server not running an ancient Wordpress but attempts nonetheless.

For companies that don't serve customers there it's very common to just block those network ranges. Of course, it's no real solution, but some people are convinced every security layer contributes to 'defense in depth'.
by f1shy | 2025-07-18 10:11:50+00:00
That is exactly the reality. I work in a place where we build HW. The resistor costs almost nothing. But installing it, having it in stock, making sure the quality of yet another component is correct, eventually managing another vendor, all costs. So much, that the cost of a resistor we put a value of some cents (up to ten) even when the part itself cost so little that the software has problems tracking it.
by haiku2077 | 2025-07-18 10:12:19+00:00
Some people I know make a deal with a friend or relative to do cross backups to each others' homes. I use AWS Glacier as my archival backup, costs like 3 bucks a month for my data; you could make a copy onto two clouds if you like. There are tools to encrypt the backups transparently, like the rclone crypt backend.
by zelphirkalt | 2025-07-18 10:12:27+00:00
Recently I had a good time avoiding a few dependencies. I am developing a project using Django and it go to a size, where I felt I should add testing to it.

But to test things, I would need instances of model classes. However, I didn't want to have to specify all the required fields every time I needed an instance for a test. The fields might be mandatory, but not always relevant for each test. Such a field needs to be filled, but not necessarily by me in the test code. I knew from earlier projects, that Faker generates random data and in the past I have thought it shouldn't be difficult to write a thing that generates random strings and numbers and ids for fields, and recursively other required entities. So I decided to write it myself [1], rather than introducing factory boy and faker as dependencies.

Sure those libraries will have a lot more features, but my code is simple and does what I need and I gained additional understanding of the complications with Django's model handling.

I also suspect, that factory boy has to hack around some issues, that I avoided by always creating entities in the database, which most of my code is doing anyway. I am not sure how they solved creating instances of models, that have many to many fields without persisting the entities in the database for example, because Django raises an error when one tries to do set a value for such a many to many field, without storing the entity in the database first, so that it gets an id. Which makes sense. So I suspect there is quite some magic in that dependency, that I don't need for now.

What's more is, that my factory functions are just as easy to use, if not easier. I simply do `factory_for_model(MyModel)(kwargs)`. It is also easy to add more functionality like `gen_multiple(factory, count)` for example. Uniqueness is more difficult, due to how Django's fields and models are compared. But as far as I understand neither does Faker do uniqueness out of the box. I may be wrong about that though.

I also developed a decorator for pytest functions, that helps me avoiding long test names and instead puts a test description in the decorator arguments. Those sentence long test names have previously annoyed me and always caused linting to attack me for it.

[1]: https://codeberg.org/ZelphirKaltstahl/web-app-vocabulary-tra...
by khurs | 2025-07-18 10:12:29+00:00
> I need a command not from the top-10,it's not there and I need to brew install it first, which sucks (this could be fixed by making a "distribution" of common commands for brew, I haven't even checked whether that exists).

Run 'brew list' to see what you have installed, then write a shell/ansible script to install these.

Save script to your cloud storage/source control and anytime you get a new machine, run the script.
by paintbox | 2025-07-18 10:13:08+00:00
There is no valid reason not to disclose that information to the user inside the rejection letter.

It's not as much a failure of Apple's legal department as it's a failure of the legal system where this is a-ok.

Doesn't matter what the app is - maybe user tried to publish an illegal app, but that should be clearly communicated. It's the civilized way.
by eqvinox | 2025-07-18 10:14:08+00:00
> It sounds like the "manufacturer keys" are always from Microsoft,

The primary key is called "Platform Key" (PK) on UEFI, there can be only one, and it is generated by the mainboard manufacturer, not Microsoft. The PK is then used to sign Key Exchange Keys (KEK) which you will generally have 2…4 of, the Microsoft self-use one, the Microsoft third party one, a board vendor one, and a system/board specific one.
by cesarb | 2025-07-18 10:14:30+00:00
> How does it negotiate with a host-powered device if it's unpowered to begin with?

Through a pair of resistors.

The unpowered device connects each of the two CC pins to the ground pin through a separate resistor of a specific value. The cable connects one of these CC pins to the corresponding pin on the other end of the cable (the second pin on each side is used to power circuitry within the cable itself, if it's a higher-spec cable). On the host side, each of the two CC pins is connected to the power supply through a separate resistor of another specific value. When you plug all this together, you have the host power supply connected to ground through a pair of resistors, which is a simple voltage divider. When the host detects the resulting voltage on one of the CC pins, it knows there's a device on the other end which is not providing power, and it can connect the main power pins of the connector to its power supply.
Launch: MileAway – Automatically organizes your travel photos into trips (iOS)
by alepacheco99 | 2025-07-18 10:15:48+00:00
Hi HN,

I just launched MileAway, an iOS app that uses location data to automatically group your photos into trips.

The idea came from frustration with messy photo libraries — MileAway builds timelines of your travels without requiring manual albums or tags. It’s private (all processing happens on-device), and works retroactively with your existing photos.

Would love to hear your thoughts or questions. Happy to dive into how I handled local photo parsing, location clustering, and background privacy constraints on iOS.

Product Hunt link: https://www.producthunt.com/products/mileaway
by serbuvlad | 2025-07-18 10:15:59+00:00
> Is SSL also an evil technology designed to take away freedom from the internet?

If it were not for Let's Encrypt, YES!

Secure boot would not be a problem if it were trivial to enroll keys. Give me a big message like:

"The OS you are trying to run is signed by an unknown key

sha256:whateverthefuck

IF YOU ARE NOT RUNNING AN INSTALLER YOU ARE MOST LIKELY CURRENTLY BEING ATTACKED AND SHOULD NOT PROCEED.

If you are running an installer VERIFY THE KEY with the one your OS vendor gave you.

Proceed? (Add the key as trusted)

yes NO"
by intermerda | 2025-07-18 10:16:14+00:00
Top comment on that article

> This is just so completely outrageous.

> And Trump just approved another wave of Indians on H1B's for next year.

They would rather be poor and underdeveloped than have immigrants start more than half of billion dollar+ startups.

“If you can convince the lowest white man he's better than the best colored man, he won't notice you're picking his pocket. Hell, give him somebody to look down on, and he'll empty his pockets for you.” ― Lyndon B. Johnson
by fleebee | 2025-07-18 10:16:59+00:00
How often do we print debug something that isn't just a single variable? I have defined a macro in my editor that expands into a nicely formatted logger call when I type "dbg" and the variable name. I can do it without thinking or losing focus.

On the other hand, if I used an LLM to guess what I wanted to get logged (as the author did), I'd have to read and verify the LLMs output. That's cognitive overhead I normally wouldn't have.

Maybe I'm missing something, but I just don't find myself in situations where I only vaguely know what I want to debug and would benefit from an LLM guessing what that could be.
by crossroadsguy | 2025-07-18 10:17:04+00:00
> offers $5 samplers of any perfume. A sampler bottle is actually 10-20 doses.

That site sells decants or maybe samples for 4 for a 0.7ml (saw one example). Now I know one doesn’t need a bucket in one go but only way that 0.7ml is going to last 10-20 doses is if one opens the cap (or presses the atomiser) and then closes it before anything actually comes out and the person just assumes they “took it all in” :)

I am saying this someone who regularly buys 1.5-2ml samples and 4-5ml decants.
by Latty | 2025-07-18 10:17:46+00:00
Well, there are always going to be varying speeds and power because needs change and tech improves, as the spec improves over time, the cables have to vary. Either you change the cables entirely (creating even more waste as now you have to change even if you don't need the higher spec), or you have varied ones. Also, right now they can do higher speeds at shorter lengths, but not longer ones, so if you had only one speed, you'd have to have a short maximum length, or pay for very expensive active cables for any long cable, even if you only need it for power.

Even if it were purely cost, even then I think we still benefit: the alternative is cheaper devices will use a different cheaper cable spec, and you end up with many different cable types where you can't use them at all. Sure, maybe I won't get max speed from one cable, but still being able to get half speed and or power is better than a cable I can't use at all.

Honestly, I just have never got this criticism, the alternative is just "have completely different cables" and that has literally all the same problems but worse, outside of "it can be hard to identify what this cable supports", which is solvable in much better ways than making them incompatible (as with the cable I'm looking at on my desk right now which explicitly says 40gbps/240w on it).

I grew up in the era of every mobile phone having a different charger, and it was always a nightmare when you were at a friend's house and they didn't have the one you need. I may not get max charging speed, but now everyone always has a charger I can use for any of my devices. Please, I don't want to go back.
by potato3732842 | 2025-07-18 10:20:25+00:00
That's like trying to apply "the average american gets 20% of their fiber..." type nutrition information to a 500lb obese person.

It's probably true but not really meaningful in the broader context.

With the current easy money federally backed loans US university funding model the foreign students are just easy money on top of an already screaming money printer more than a noteworthy subsidy of their operations.
by kindkang2024 | 2025-07-18 10:20:32+00:00
> They tried that with Koko, it didn't work. It did not make the gorilla any smarter, it was an animal, and remained an animal.

I really doubt both their methods and your conclusion. The project tried to teach animals to adapt to the human naming system, and more importantly, it wasn’t a true social-level experiment with animals.

(That said, in my opinion, Koko was smart. Critics of Patterson’s claims have acknowledged that Koko learned a number of signs and used them to communicate her wants and needs.)

Imagine an alien taking an one- or two-year-old human baby and trying to teach him to communicate with alien using vocal signals that humans have difficulty producing or perceiving—and, most importantly, where naming is not a social-level communication that boosts ecological fitness. That’s basically what they did with Koko. It’s like training an LLM model on text corpora where the loss function (fitness measure) is inconsistent or even meaningless—would that produce a useful model?

We first need to understand how animals naturally name things, and then enrich that naming system in a way that fits their minds—not force them to learn human naming. Most importantly, this naming should improve their ecological fitness in a consistent way, so that they can ‘feel’ the fitness of certain naming and evolve their minds toward it.

That’s why Google DolphinGemma is so remarkable. If they succeed, they might mimic dolphin-like communication in a way other dolphins truly understand—gradually introducing naming and concepts that improve evolutionary fitness: finding food, recognizing others, being happy, and identifying suitable mates. If recursive naming develops, I believe it could even lead to real cognitive evolution.

This is just a rough idea, but I truly believe in it-—based on self-meta-cognition about how my own mind evolved and works, as well as other observations. Unfortunately, I don’t have the power or energy to explore it deeply, but I hope someone working on animal cognition research will take a closer look at using large language models like DolphinGemma and dive deeper.
by marginalia_nu | 2025-07-18 10:20:35+00:00
You fairly quickly run into problems a RDBMS can't solve. They're above all incredibly hamstringed by being built around supporting concurrent mutation of the data set and mutable datasets in general.

If you don't need that, even a fairly naive index implementation will get orders of magnitude more performance out of a computer than you will with a RDBMS if you can assume the data is immutable.