MurphyA/hacker-news huggingface dataset:
by SOLAR_FIELDS | 2025-04-07 21:22:19+00:00
$10k USD cash is exactly what a startup I used to work for would pay employees for a successful referral (hired and work in the position for some set amount of time). That seems to be the going price for a successful SDE hire as of the time of writing this comment. Here it just looks like the employee wants to pay that instead of the employer.

Note that I’m not commenting on the ethics or other wider aspects around why prospective employees might feel like they want to pay this, I’m only pointing out that the number is not unreasonable or abnormal
by johnnyanmac | 2025-04-07 21:22:27+00:00
"coding error" makes it seem like some technical issue. Meanwhile, anyone in tech knows this is at best an administrative error and that there was no "coding" involved whatsoever. But you don't want to blame admins who are doing your bidding, no?

Anyone who really thinks this is "efficient" need to understand that they are firing the IRS during tax season and realize how absurd that is. It's like announcing a mass layoff the week before shilling our a product. You at least wait until shipping before the layoff wave hits
by kakapo1988 | 2025-04-07 21:22:31+00:00
Because humans wiped out the mammoths, giant sloths, and a host of other megafauna. All those species survived millions of year, and numerous previous ice ages, but had no defense against human hunters. So as each area on earth was colonized by our species, the megafuana were quickly wiped out in that area.

I'm from NZ, and we had that event in our recent history. The islands had numerous species of giant birds, but these were wiped out quickly by the first humans who came here, just a few centuries ago. Same everywhere. We've been driving species to extinction for a long time.
by mystified5016 | 2025-04-07 21:23:49+00:00
I mean, that's more or less the conventional process for mass assembling PCBs. We use CNC machines that place down each component before the boards roll down the line to batch soldering.

It would be wildly inefficient for large TV panels, and you probably couldn't get enough precision at a reasonable price.

It would make much, much more sense to produce them the way we do LCD panels. The entire panel is manufactured at once with a lithographic process. Ideally, you'd grow the LEDs directly on the substrate.

Then again, the process you suggest is almost what they lay out in the article. The LEDs and circuit elements are raster printed. It's still very inefficient as it takes a long time to raster over an entire panel
by porphyra | 2025-04-07 21:24:23+00:00
I am very skeptical that chromatic aberration can be applied before a demosaic and then the result can be stored in a Bayer array again. There seems to be no advantage in storing the result of chromatic aberration correction in a raw Bayer array, which has less information, than a full array with the three RGB values per pixel. Perhaps I am not understanding it correctly?
by roguecoder | 2025-04-07 21:25:53+00:00
Lying isn't marketing. If you lie in marketing, people can sue you.

It is one thing to frame your experiences in ways that are relevant to what the job is looking for: it is not only unethical to fabricate experiences, it is counter-productive. I will be checking references, and if their reports of the role you played on a project don't match yours I will not be hiring you. If you don't have references who can speak to the work you did, I also won't be hiring you. All you have done is waste my time and yours.

The sheer number of applications from auto-submit-to-every-job application processes have completely broken the system. There is simply no way for every recruiter to consider ever candidate, which is what they are now being asked to do. I know that is frustrating, and I am sorry you are in that place, but lying will not help.

We will eventually figure out how to defeat these candidate-spam bots. In the meantime the only hiring pipelines that are still functional are human-to-human individual networking.
by crote | 2025-04-07 21:26:04+00:00
> Am I fundamentally missing something about the experience upper management has with AI

Read the post again. Does this look like something a LLM would struggle to write?

A lot of people in upper management spend an awful lot of time writing meaningless word salad. They take a single sentence like "20% is getting fired" and turn it into a four-page essay about "strategic realignment", "streamlining growth", and "enabling the future of the $corp family". It doesn't really mean anything, so there's no way for a LLM to get it wrong.

If you haven't used AI to do complicated tasks where the details actually matter, I'm not surprised you'd get the idea that it is the greatest thing since sliced bread.
by Smaug123 | 2025-04-07 21:26:47+00:00
Conor has always had a turn of phrase - every paper has at least one gem.

* "the engineering of coincidence is replaced by the propagation of consequence" (https://www.cs.ox.ac.uk/projects/utgp/school/conor.pdf)

* "programmers who do not wish the ordering guarantees are entitled not to pay and not to receive", or "We could plough on with proof and, coughing, push this definition through, but tough work ought to make us ponder if we might have thought askew." (https://strathprints.strath.ac.uk/51678/7/McBride_ICFP_2014_...)

* "be minimally prescriptive, not maximally descriptive" (https://personal.cis.strath.ac.uk/conor.mcbride/PolyTest.pdf)

Their papers are also generally presented very well - easy to follow, as these things go (by which I mean it's actually feasible to work through with a pencil and paper and understand the contents within a few hours). I really recommend PolyTest which is particularly edifying; before I learned the "avoid the green slime" principle, dependent types were a battle, but when I read it I was enlightened, and it's super interesting to watch the types evolve as the problem is understood.
by rambeltran | 2025-04-07 21:27:14+00:00
I had been wanting to learn Next.js for a long time and loved the idea of telling a story via gifs. I also bought a domain on impulse(like always) a while back and thought id put something there before it expires. I don't see it going anywhere, but already learned a ton about Next and all the things that go with it. Its wonky, so please don't judge too harsh. You can check it out at prelinq.com
by permalac | 2025-04-07 21:27:55+00:00
Take the following with a pinch of salt.

Wasn't Bull SAS, French IT now in Atos(Eviden) the initial patent owner for the chip we all carry on our cards and phones? IIRC USA didn't want to use it unless a US company owned it, so visa or master bought the patent from Bull and they extended it around the word.

I don't know how to feel about that.
by SOLAR_FIELDS | 2025-04-07 21:28:20+00:00
You just described in a concise way why I feel like “simple non DRY terraform configuration” is much better than “insane variable indirection to avoid like 20 lines of copy pasted code”

Configs are configs. It’s better for them to be obvious and verbose than it is for them to be hard to understand and pithy. They don’t have the same requirements as the software that actually goes out on the release train.
by tomduncalf | 2025-04-07 21:28:26+00:00
I’ve got a very simple project demonstrating how to use the newish pure C++ Emscripten Audio Worklet API if you’re interested. It’s a bit neater than the old way you’ll usually come across which also involves writing JS code, but there aren’t many docs online! https://github.com/tomduncalf/emscripten-audio-worklet-examp...
by asabla | 2025-04-07 21:28:31+00:00
> And if other vendors sign on to support MCP, then it becomes a self reinforcing cycle of adoption

This is exactly what's happening now. A good portion of applications, frameworks and actors are starting to support it.

I've been reluctant on adopting MCP in applications until there was enough adoption.

However, depending on your use case it may also be too complex for your use case.
by fragmede | 2025-04-07 21:28:37+00:00
> Concatenate is a process of combining two or more strings into a single larger string. It's an important function in programming and computing because it allows you to store and combine multiple pieces of data when needed.

https://www.lenovo.com/us/en/glossary/concatenate/#:~:text=C...

That doesn't make those two strings equal, however.
by ompogUe | 2025-04-07 21:29:43+00:00
I'm a data engineer for a "very large warranty group".

We manage the pipelines for downstream analytics.

We have combinations of data and actuarial scientists doing this analysis, so those would be good things to look into.

One part that dovetails with your QA experience is there's a lot of work with different reporting systems where the data needs to line up correctly.

Evaluating risk is more open-ended, since it also requires analysis of external data.

Hope this helps a little...

Good Luck!
by neuroelectron | 2025-04-07 21:30:30+00:00
Very suspicious article. Sounds like the "nothing to see here folks, move along" school of security.

Reproducibility is more like a security smell; a symptom you’re doing things right. Determinism is the correct target and subtly different.

The focus on supply chain is a distraction, a variant of The “trusting trust” attack Ken Thompson described in 1984 is still among the most elegant and devastating. Infected development toolchains can spread horizontally to “secure” builds.

Just because it’s open doesn’t mean anyone’s been watching closely. "50 years of security"? Important pillars of OSS have been touched by thousands of contributors with varying levels of oversight. Many commits predate strong code-signing or provenance tracking. If a compiler was compromised at any point, everything it compiled—including future versions of itself—could carry that compromise forward invisibly. This includes even "cleanroom" rebuilds.
by whstl | 2025-04-07 21:31:42+00:00
I interviewed every single candidate for development positions in a 300-400 company for the last three years and I saw some incredibly crazy stuff.

- A candidate who wore glasses and I could faintly see the reflection of ChatGPT.

- A candidate that would pause and look in a different specific direction and think for about 20, 30 seconds whenever I asked something a bit difficult. It was always the same direction, so it could have been a second monitor.

- Someone who provided us with a Resumé that said 25 years of experience but the text was 100% early ChatGPT, full of superlatives. I forgot to open the CV before the interview, but this was SO BAD that I ended in about 20 minutes.

- Also, few months before ChatGPT I interviewed someone for an internship who was getting directions from someone whispering to them. I managed to hear it when they forgot to mute the mic a couple times.

Our freelance recruiter said that people who aren't super social are getting the short end of the stick. Some haven't worked for one, two years. It's rough.
by roguecoder | 2025-04-07 21:31:43+00:00
Leaving short-duration jobs off is common practice. The only way it might be "lying" is if you happened to, I dunno, have joined SVB just in time to commit a bunch of fraud, and then hoped no one googles your name. And even then, if it was three weeks, when your conviction comes up in the google search no one is going to think you lied leaving it off.

Similarly, it is typical that people will have a polite fiction for "why did you leave your last role?" that hints in the direction of the real reason without saying anything the company wouldn't want to be said publicly. That question is a test of your discretion as much as it is making sure the same reason doesn't apply to the new company.

However, saying you have a degree you don't, worked on a project you didn't, implemented something you didn't, led a project you only participated in, or used a technology you didn't: those are lies. Even if you get away with it, you are setting yourself up for a role you are unqualified to have. If you get caught, you will be correctly fired.
by hnlmorg | 2025-04-07 21:32:53+00:00
Im not using the term in any weird way here. JavaScript even has a function specifically called “concat” and the ‘cat’ utility in UNIX is short for “concatenation”

You can try string concatenation in 3 differently languages using the links below:

https://www.w3schools.com/python/python_strings_concatenate....

https://go.dev/play/p/Q5VPF2ANk7Y

https://www.w3schools.com/jsref/jsref_concat_string.asp

Edit: who said anything about making both side of the operator equal? That’s not how operators work.
by ptrhvns | 2025-04-07 21:33:18+00:00
That's not what's happening. Using your analogy, you're reading the book, remembering it, and then making N more books (maybe for commercial purposes) by using what you remembered to create something very similar in terms of style, prose, plot, and so on. As a result, the person who you learned from can't get a job writing anymore because their work has been commoditized. Also, they're feeling lost because the work they devoted their lives to is now awash in a sea of similar work.
by kylehotchkiss | 2025-04-07 21:33:41+00:00
https://en.wikipedia.org/wiki/Acinetobacter_baumannii#Antibi... 3 pathways to antibiotic resistance... nice. These are clever bacterium.

TIL "Efflux pumps are protein machines that use energy to pump antibiotics and other small molecules that get into the bacterial cytoplasm and the periplasmic space out of the cell." They even have their own bilge pumps!
by xmprt | 2025-04-07 21:33:53+00:00
The problem with modern hiring practices is that they're throwing the baby out with the bathwater. Hiring based on past experience is biased and often can lead to either subpar candidates (lemons) or overpaying. You're either left with the people who didn't succeed at their previous job (but are good talkers) or people who have a brand name college/company but aren't really exceptional. On the other hand, trying to completely ignore past experience means you're left asking questions completely unrelated to real world work.
by charlietran | 2025-04-07 21:35:17+00:00
Excellent article, and I appreciate how you gave an overview of solutions that didn't make sense for you but were otherwise important to know about.

Could you expand on how your pathfinding works for both ground-based and flying enemies? I've been trying to wrap my head around how to handle this on my own game, and trying not to invent a wholly separate solution for enemies than can avoid obstacles vertically.
by neilv | 2025-04-07 21:35:25+00:00
That sounds worth trying. And it would definitely be something to practice in advance...

When I've been aware of some of my hard-focused thinking behavior (am not autistic, AFAIK), sometimes I found I automatically tend to look away, at slightly interesting things (e.g., lines at the edge of a door or wall outlet, or some simple physical mechanism), and then sometimes it seems like 1% of my cycles are contemplating that. While the rest seems to be reasoning in all sorts of ways about the immediate problem and related things.

(In an interview, this is balanced with my awareness of the interviewer's mental model, and also thinking about the job opportunity that's the real point of the exercise.)

I don't understand how that works, but it usually works very well for problem-solving outside of interviews.

If I tried to switch up that automatic process, by closing eyes, I don't know whether the habit of visually contemplating something in parallel is a Chesterson's Fence, and then the magic wouldn't work.

Though, would be funny, if you were in an interview, trying this eye-closing tactic for a hard-thinking problem for the first time, just so you wouldn't look like a cheater, and you find this puts you in some other mental mode. Combat Mode, for example, where maybe you're suddenly finishing the interviewer's sentences, disregarding things they say you think are irrelevant, redirecting and cutting to the chase, with a calm but energized and commanding manner. You might get permabanned from that company, for coming across like an aggressive jerk, but they started it by creating a jerky interview process. :)
by lambda_foo | 2025-04-07 21:35:38+00:00
David Christiansen did a more recent experience report from 2019 about using Dependently Typed Haskell at Galois.

https://davidchristiansen.dk/pubs/dependent-haskell-experien...

The video is on YouTube somewhere. Having used Haskell and some dependently typed Haskell around the same time, I thought it was a fair assessment of state of play.
by aseipp | 2025-04-07 21:36:00+00:00
Mostly because it is jarring for users that want to interact with tools which require these footers -- and the setups to apply them, like Gerrit's change-id script -- are often annoying, for example supporting Windows users but without needing stuff like bash. Now, I wrote the prototype integration between Gerrit and Jujutsu (which is not mainline, but people use it) and it applies Change-Id trailers automatically to your commit messages, for any commits you send out. It's not the worst thing in the world and it is a little fiddly bit of code.

But ignore all that: the actual _outcome_ we want is that it is just really nice to run 'jj gerrit send' and not think about anything else, and that you can pull changes back in (TBD) just as easily. I was not ever going to be happy with some solution that was like, "Do some weird git push to a special remote after you fix up all your commits or add some script to do it." That's what people do now, and it's not good enough. People hate that shit and rail at you about it. They will make a million reasons up why they hate it; it doesn't matter though. It should work out of the box and do what you expect. The current design does that now, and moving to use change-id headers will make that functionality more seamless for our users, easier to implement for us, and hopefully it will be useful to others, as well.

In the grand scheme it's a small detail, I guess. But small details matter to us.
by wduquette | 2025-04-07 21:36:31+00:00
Brings back memories. My first computer was a Heathkit-branded PDP-11 kit my dad assembled, with a dumb terminal, paper-type I/O, and no operating system. Later we had dual 8" floppies and a version of DEC's RT-11 OS, which was similar to CP/M. Read Byte magazine, and grew familiar with the names Altair, MITS, SWTPC, Imsai, etc., etc. Good times.
by WillAdams | 2025-04-07 21:37:00+00:00
I would hope this environment would facilitate programming by making it even easier to look up how a module/function was defined, and when developing code, to quickly/easily plot output graphically/interactively so as to see whether things are lining up or no.

I actually need a data visualization tool at my day job, so I've installed it there, and begun working through the documentation/tutorials --- hopefully it will facilitate my wrapping my mind around a better solution for a recursive description of systems at work _and_ making a graphical interactive version available to co-workers --- if that works out, I'll try it out on my personal project.
by ajross | 2025-04-07 21:37:10+00:00
Yes, but the commit object (which includes metadata) references a tree object by its hash. The tree object is a text representation of a directory tree, basically, referencing file blobs by hash. So yes, you can recognize identical files between commits. It's true there's no fast indexing: if you want to ask the question "which commits contain exactly this file?" you have to search every commit. But you don't need to delta the file contents itself.
by viraptor | 2025-04-07 21:37:14+00:00
The core of the system is simple - you list the third parties you send data to, you make accepting and rejecting equally easy.

Consider basically any popup on a popular website which: takes over most of the screen, makes "accept" the highlighted action button, requires going through "customise" to reject, sometimes requires unchecking categories manually, puts "save and exit" and "accept all" that so the same thing next to each other, either hide or not provide "reject all", etc.

There is no conspiracy here. You can either not use third parties, or if you do, your approval system doesn't have to be obnoxious at all, but almost every page makes it a shitty experience to 1. Make you accept out of frustration. 2. Make your angry that this is asked in the first place.
by schacon | 2025-04-07 21:37:28+00:00
You can use smudge and clean filters to expand this into something on disk and then remove it again before the hash computation runs.

However, I don't think you would want to use the SHA, since that's somewhat meaningless to read. You would probably want to expand ID to `git describe SHA` so it's more like `v1.0.1-4-ga691733dc`, so you can see something more similar to a version number.
by autoexec | 2025-04-07 21:37:33+00:00
That's true, they didn't have enough evidence to prove intent. Although having a low level staffer who had no business providing government IT services destroy the phones was unheard of, violated the law on how government records should have been handled, and highly suspicious there are also possible "valid" reasons for it, like protecting the information in those devices from being able to be recovered by anyone who dug the devices out of the trash, and the destruction of emails after 60 days could have just been to save space rather than specifically to hide evidence.

They also decided not to go after charges for the nobody staffer who did the deed, and controversially Hillary didn't face any consequences with the FBI saying: "To be clear, this is not to suggest that in similar circumstances, a person who engaged in this activity would face no consequences. To the contrary, those individuals are often subject to security or administrative sanctions. But that is not what we are deciding now."
by cdavid | 2025-04-07 21:37:47+00:00
I am not saying mature companies are "YOLO-ing" this randomly, but that many assumptions are made about how the input metrics trickle back to revenue/profits, and those can change. The attribution exists, but how it is done is far from an objective thing. E.g. how do you translate CTR into revenue ? How do you value an additional user ?

This can also be seen with cost saving. There are numerous examples on HN when people wonder why reducing the cost of something by X millions was not recognized (e.g. https://x.com/danluu/status/802971209176477696). Based on my own experience, most likely explanation is that's because there was no item related to this in the financial planning to be recognized.
by AnthonyMouse | 2025-04-07 21:38:04+00:00
> Insurance companies would be spending on cheaper preventions for all kinds of things instead of expensive cures if they operated like you describe.

The existing law has a massive defect that prevents any of that sort of thing from happening right now.

We capped insurance company profits as a percentage of claims, so the only way they can make more money is by paying out more and bigger claims. We basically banned them from having any incentive to lower costs because now lower costs mean lower profits instead of higher ones.

But that's a flaw in the existing system, not a flaw in the general concept.

> They'd be ripping a new one in the meat industry to forestall antibiotic resistance, for example.

There are already various state and federal laws restricting the use of antibiotics in livestock. But in general what leverage does an insurance company have over the meat industry?
by kccqzy | 2025-04-07 21:38:30+00:00
The most direct way of solving the immediate problem is to make transitions idempotent. Why must it be an error to complete an already complete TODO? Completing an already complete TODO should be a no-op. That simplifies things greatly.

Of course many actions logically cannot be made idempotent, but for the subset that can, do it as much as possible.