MurphyA/hacker-news huggingface dataset:
by aidos | 2025-07-18 20:29:46+00:00
I’ve done a lot of interviewing and I’ve discovered that many devs (even experienced ones) don’t understand the difference between indexes and foreign keys.

My assumption is that people have used orms that automatically add the index for you when you create a relationship so they just conflate them all. Often they’ll say that a foreign key is needed to improve the performance and when you dig into it, their mental model is all wrong. The sense they have is that the other table gets some sort of relationship array structure to make lookups fast.

It’s an interesting phenomenon of the abstraction.

Don’t get me wrong, I love sqlalchemy and alembic but probably because I understand what’s happening underneath so I know the right way to hold it so things are efficient and migrations are safe.
by butterisgood | 2025-07-18 20:29:51+00:00
> Concurrency refers to the ability of a system to execute multiple tasks through simultaneous execution or time-sharing (context switching)

Wikipedia had the wrong idea about microkernels for about a decade too, so ... here we are I guess.

It's not a _wrong_ description but it's incomplete...

Consider something like non-strict evaluation, in a language like Haskell. One can be evaluating thunks from an _infinite_ computation, terminate early, and resume something else just due to the evaluation patterns.

That is something that could be simulated via generators with "yield" in other languages, and semantically would be pretty similar.

Also consider continuations in lisp-family languages... or exceptions for error handling.

You have to assume all things could occur simultaneously relative to each other in what "feels like" interrupted control flow to wrangle with it. Concurrency is no different from the outside looking in, and sequencing things.

Is it evaluated in parallel? Who knows... that's a strategy that can be applied to concurrent computation, but it's not required. Nor is "context switching" unless you mean switched control flow.

The article is very good, but if we're going by the "dictionary definition" (something programming environments tend to get only "partially correct" anyway), then I think we're kind of missing the point.

The stuff we call "asynchronous" is usually a subset of asynchronous things in the real world. The stuff we treat as task switching is a single form of concurrency. But we seem to all agree on parallelism!
by phtrivier | 2025-07-18 20:30:06+00:00
Roland-Garros, along with the Tour de France, is such a strong part of French culture.

Summer really "starts" when young people pretend to study for the "baccalaureat" exam, but are really just napping in front of a boring RG game (where the French players loose in the end).

Then it "peaks" when old people pretend to understand cycle racing, but are really just napping in front of a boring race (where the French racers are ridiculous in the end.)

And yet, we watch.

For a while, we watched because, well, TV would stop all regular programming to play the endless boring games and endless boring races, so we had no choice.

Now, we have the choice, and yet... we watch.

It still fascinates me. After all this years of knowing the winner from the very beginning of the competition, we still pretend.

"The glorious _certitude_ of sport."
by oblio | 2025-07-18 20:30:36+00:00
> My highest velocity was about 1.6 fib complexity points a day over thirty years, now it's 4.3 with Claude the last three weeks which is nuts.

Where do you work that you managed to track what I assume are Agile story points over 30 years, also, so accurately?

I don't even remember my median number for a sprint, let alone my daily average over long periods of time.
by adamrezich | 2025-07-18 20:30:43+00:00
Not that I'm disagreeing with you, but I simply found it startling that the article was so well-written, and well-researched, given that my only exposure to Salon has been since the “bloggification of news”, which has seen them become just as much of a shitrag as everyone else these days. But this guy put some serious time and effort into researching this story, and then further time and effort to coalesce it into this article—all from a highly inquisitive, truth-seeking perspective, devoid (as far as I can tell anyway) of any sort of partisan bias, or predetermined “angle” to the story that he's trying to push.

Boy would it be nice if we saw more Actual Investigative Journalism like this, these days!
by Kirby64 | 2025-07-18 20:30:46+00:00
> I'm surprised at this point apple still lets prototype hardware offsite with apparently no telemetry/location tracking/logging.

They definitely do have piles of telemetry. The allegations state the phone was at the employees house/apt when this happened. Where else would it be allowed offsite if not that?

Also, Jon’s videos discussed extensively that there was tons and tons of watermarking/metadata/whatever all over the phone. Hence why they “recreated” it to show in the videos.
by andsoitis | 2025-07-18 20:31:34+00:00
> Asynchrony: the possibility for tasks to run out of order and still be correct.

Asynchrony is when things don't happen at the same time or in the same phase, i.e. is the opposite of Synchronous. It can describe a lack of coordination or concurrence in time, often with one event or process occurring independently of another.

The correctness statement is not helpful. When things happy asynchronously, you do not have guarantees about order, which may be relevant to "correctness of your program".
by mvdtnz | 2025-07-18 20:31:38+00:00
> At some point there will be a war or significant political disruption. A large part of the world will want to divest itself of dollars, and none of the state-backed alternatives will be stable enough for their needs. That's when we'll see a shift to crypto - first some international institutions that do business across ideological borders, then the rest of the internationals, then individuals.

Sorry how would crypto end up more stable than any candidates for a reserve currency? The only thing even remotely stable in the crypto world are stablecoins which... are pegged to the dollar (the actual reserve currency) which is already unstable in your scenario.
by Retr0id | 2025-07-18 20:32:31+00:00
The article later says (about the server/client example)

> Unfortunately this code doesn’t express this requirement [of concurrency], which is why I called it a programming error

I gather that this is a quirk of the way async works in zig, because it would be correct in all the async runtimes I'm familiar with (e.g. python, js, golang).

My existing mental model is that "async" is just a syntactic tool to express concurrent programs. I think I'll have to learn more about how async works in zig.
by Lammy | 2025-07-18 20:33:01+00:00
> The two office suites take very different paths here. LibreOffice uses the OpenDocument Format (ODF), an open standard meant to be controlled by no single company. Microsoft, on the other hand, created its own Office Open XML (OOXML) to support every feature in its own software, giving us the familiar .docx and .xlsx

It's so impressively underhandedly sneaky that Microsoft named their ODF-competitor format “Office Open” just as OpenOffice.org's (LibreOffice's direct ancestor) hype peaked with OO.o 2.0 having ODF as its native format, when MS Office finally had a viable and popular competitor for like the first time ever.

https://www.openoffice.org/press/2.0/press_release.html (2005-10-20)

https://news.microsoft.com/2005/11/21/qa-microsoft-co-sponso... (2005-11-21)
by jsnell | 2025-07-18 20:33:02+00:00
I don't see how you can make the argument that a large portion of funds used for AI capex were diverted from other investments (and starving other industries), while simultaneously applying the economic multiplier to the whole sum when going from the investments to the GDP impact.

Surely you only get one of the two, because for diverted investments the multiplier applies equally on both sides of the equation.
by garciasn | 2025-07-18 20:33:31+00:00
There is no 'surveillance state' here. There were two people engaged in an apparent affair that were caught and people close to them were notified. These two having an affair is a big ¯\_(ツ)_/¯ and no one should care; however, being these two are the 1) CEO of a company and 2) the head of HR for that same company, the employees of said company, its shareholders (if any), and its board (if any) should be REALLY interested in this. And it has absolutely fucking nothing to do w/surveillance; this could have happened anywhere, at any time in history, with or without technology.
by notatallshaw | 2025-07-18 20:33:45+00:00
> is cheap

It's not even cheap, it's just possible to get companies to donate the resources to sustain it: https://dustingram.com/articles/2021/04/14/powering-the-pyth...

What it is is feasible, and IMO the alternative you're suggesting is infeasible under our current model of global economics without some kind of massive government funding.

> you're strongly incentivized to root your users simply because if you don't your competitors will

Python is not rooting it's users, this is hyperbole.
by devilbunny | 2025-07-18 20:33:56+00:00
Can I walk a mile? Yes. Can I walk a mile from my house? Not safely.

There's a road I would have to walk down to get to anything that isn't on my street. One lane each way, no shoulders, no sidewalks, and very poor visibility of oncoming traffic due to an inconveniently placed hill.

The nearest public library to my childhood home was 2.2 miles; I would occasionally bike to it before I had a car, but it involved crossing one major street.
by rrrrrrrrrrrryan | 2025-07-18 20:34:35+00:00
I hung out with some (Vietnamese Zen) buddhist monks at their monastery for a bit, and it was really interesting how they really strive to limit sensory indulgences that take their awareness away from what's happening right here, right now.

They didn't just cut out the obviously mindless things like television and social media, but music, small talk, and even books were considered things to be consumed in moderation, because they were striving to spend as much time as possible each day really focused on the present moment.
by muzani | 2025-07-18 20:34:44+00:00
It's a joke obviously, but the deeper point is context is extremely important. In the pre-AI days, we'd budget 3 months for someone to get the context of the codebase and the product. These days, it's still 2-4 weeks. You can have someone extremely skilled spread out on multiple projects and they'd do a terrible job. Whatever low hanging fruit is all taken up by AI.

The exception I've seen so far is something like devops or infra. Where the person has done their job whenever nothing goes wrong. People are happy to pay monthly for nothing going wrong.
by Lichtso | 2025-07-18 20:34:49+00:00
Concurrency is parallelism and/or asynchrony, simply the superset of the other two.

Asynchrony means things happen out of order, interleaved, interrupted, preempted, etc. but could still be just one thing at a time sequentially.

Parallelism means the physical time spent is less that the sum of the total time spent because things happen simultaneously.
by Shellban | 2025-07-18 20:35:43+00:00
As @lillylizard pointed out, it turns out that these are new packages, not comprised existing packages like I first thought. Still, the nature of the hack is a Remote Execution, as you pointed out elsewhere, meaning the hacker could pull my router password from the password manager, or grab my SSH keys and log into whatever machine is listed in the known_hosts, or just mess with my Ebay account and the credit card saved on there. The hacker could in theory do literally anything I could do.
by rpdillon | 2025-07-18 20:35:56+00:00
You've been very diligent in replying to the detractors in this thread, but I have yet to see any compelling examples.

You say that there are plenty of examples of copyleft projects being overtaken by proprietary versions that then create network effects that end up being worse for the end user because the original project was copyleft. You further assert that if the original project had been permissively licensed, this wouldn't have happened.

I'm unaware of this ever happening. Can you list a few of the examples you had in mind?
by DiscourseFan | 2025-07-18 20:36:05+00:00
Most healthy, active people who eat decently, get enough rest, and avoid drinking and smoking, will be able to eliminate cancer as it comes up. The only people who would benefit from these screenings are already unhealthy and cancer might be just one of many potential conditions they could experience—the goal of healthcare is not to dedicate an inordinate amount of resources for procedures that may amount to not much of any long term benefit.

People talk about the “immune system” but they are really referring to a number of systems the body uses to regulate itself, more or less successfully, around environmental pressures. The body is a system under tension, sometimes extreme tension leads to extreme success (success here being growth of power), sometimes it breaks the body, and sometimes the systems have been slowly failing for a while, and most treatments will not help. Medicine is only useful in the specific case where the power of the body would be promoted if not for one thing, that the body would be healthy, at least manageably so, without that issue.
by tojumpship | 2025-07-18 20:36:19+00:00
> Devs could setup an option to pacman -U which allows it to bypass VT

Goes against the very nature of the distro. I very rarely see assumed defaults in Arch, and they are almost always opt-in. Mind you, you need community provided helpers to automate AUR building, its that barebones and I'm sure there are people who manually build / use custom scripts to build every package.
by 0xCaponte | 2025-07-18 20:37:10+00:00
Offline solutions or not totally internet dependent ones can bring a lot of value to the users. So many things are webapps that could easily work offline. Sure, the web is easier and has more reach, but when sites, apps, or games vanish, I start to miss the 90-00 CD days.

But again, what is best for the user is probably not the best business idea...
by igouy | 2025-07-18 20:37:54+00:00
> And I don't feel like I need to be saved by anyone.

You seem to have read what isn't there.

I was attempting to check if I had read what wasn't there.

And perhaps I did, if it's "more a way to maintain a good habit".

When less-than 3 times-per-week my run-habit will feel unfamiliar. When transitioning from distance runs to intervals my run-habit will feel unfamiliar. After a 10-day vacation break my run-habit will feel unfamiliar. And soon it feels familiar again.
by chowells | 2025-07-18 20:38:07+00:00
The difference is quite useful and informative. In fact, most places don't seem to state it strongly enough: Concurrency is a programming model. Parallelism is an execution model.

Concurrency is writing code with the appearance of multiple linear threads that can be interleaved. Notably, it's about writing code. Any concurrent system could be written as a state machine tracking everything at once. But that's really hard, so we define models that allow single-purpose chunks of linear code to interleave and then allow the language, libraries, and operating system to handle the details. Yes, even the operating system. How do you think multitasking worked before multi-core CPUs? The kernel had a fancy state machine tracking execution of multiple threads that were allowed to interleave. (It still does, really. Adding multiple cores only made it more complicated.)

Parallelism is running code on multiple execution units. That is execution. It doesn't matter how it was written; it matters how it executes. If what you're doing can make use of multiple execution units, it can be parallel.

Code can be concurrent without being parallel (see async/await in javascript). Code can be parallel without being concurrent (see data-parallel array programming). Code can be both, and often is intended to be. That's because they're describing entirely different things. There's no rule stating code must be one or the other.
by tonfa | 2025-07-18 20:38:24+00:00
iirc some companies (google?) had been doing that before section 174 anyway. (which is why it imo isn't super convincing to tie layoffs with section 174 rather than e.g. end of zirp)

ok I read it in https://blog.pragmaticengineer.com/section-174/ "Google: the tax change was minimal, because Google was voluntarily amortizing software development expenses for most staff, already."
by jmcgough | 2025-07-18 20:38:31+00:00
There's not a lot of evidence that full body MRIs are beneficial. A lot of people have pre-cancerous growths that may or may not become cancer in the future, so you may just be giving them unnecessary surgery, and surgeries are not risk-free. If you don't operate, they might develop an anxiety disorder.

We do a lot of CT imaging in the emergency department and it sucks if we incidentally find an abnormal growth in a young patient's CT head. These are usually benign and often not worth performing brain surgery to get a biopsy.
by TacticalCoder | 2025-07-18 20:38:41+00:00
> Most COBOL applications I’ve seen have been banking and insurance related with few exceptions.

Banking is a big one yup. I think some countries still use COBOL too for computation related to pension payments.

Best paid consultant I ever met was a COBOL dinosaur. The bank fired him then had to crawl at his feet and accept his insane daily fees when he came back as a consultant.

A very good friend of mine worked at a bank on Java code that would generate... COBOL code. Fun stuff.
by wordofx | 2025-07-18 20:39:29+00:00
Edit: also thanks for actually replying with a great comment cos usually the replies are not even worth entertaining and only proving my point.

This is the classic example of “I want it to do everything. But it didn’t do what I wanted. So obviously it’s not helpful.”

It doesn’t solve /all/ problems. And some models are better than others at certain tasks. You see people talk about PRDs and they say “I got Claude to create a PRD and it sucked” but you sit them down with o3 and generate the same PRD and they are like “oh wow this is actually pretty decent”.

But difficult to help over HN. As a sort of related example. Back in May I had a requirement to ingest files from a new POS system we didn’t currently support. The exports we got are CSV but based on the first char decides the first type of line that needs to be parsed and how many commas will be in that data set line.

I used o3 and explained everything I could have how the file worked and how it should parse it into a generic list etc. got it to generate a basic PRD with steps and assertions along the way.

I then fed this into cursor using Claude sonnet 4 with the csv files asking it to look at the files and the PRD and asked it if there was anything that didn’t make sense. Then asked it to begin implementing the steps 1 by 1 and letting me check before moving onto the next step. Couple of times it misunderstood and did things slightly wrong but I just corrected it or asked Claude to correct it. But it essentially wrote code. Wrote test. Verified. I verified. It moved on.

Typically in the past these tasks take a few days to implement and roll out. This whole thing took about 1 hour. The code is in the style of the other parsers with the exception that it optimised some parts and despite being a bit more complicated runs faster than some of our older parsers.

While most of my usage is around programming. We also use AI for marketing, customer leads, I have scheduled tasks to give me summaries of tickets from the support system to know what should be prioritised for the day. So even tho AI doesn’t solve all programming issues we get value in almost all aspects of the business.
by lm28469 | 2025-07-18 20:39:48+00:00
OK but then again look at a map of Palestine vs Israel territories over the years... Who's under "imminent threat"? Who's under "credible threat"? One could argue Palestine is defending from an illegal occupation and as such Israel couldn't even claim self defense, just like Russia can't claim self defense in Ukraine

Even in international self defense there are criterion and limits
by npteljes | 2025-07-18 20:40:46+00:00
I wonder how popular these packages were. Librewolf and Firefox sure are popular, so this sounds scary, but for example searching for "firefox-patch-bin aur" yields no results, aside from sites talking about how it contained malware.

My impression is that the malice was spotted timely, and not many people were affected. Which is a pretty good thing!
by mandevil | 2025-07-18 20:41:07+00:00
The answer is, the therapy does not improve much. It was controversial when it was approved, because the Phase III clinical trial failed to show statistically significant improvement- lots of people in the FDA advocated against approving the drug (even without knowledge of these rare fatal side effects) but were overruled by Peter Marks, head of the the biologics for the FDA under Biden.

It seems to me to be similar to the approval of the three Alzheimer's drugs which don't really show improvement either- it seems like over the past decade the FDA has wanted to approve drugs that might work for diseases where there was no treatment at all (while saying things "delivering hope"). And it's not gone well, and has not been a good idea.
by sunshowers | 2025-07-18 20:41:25+00:00
I think a key distinction is that in many application-level languages, each thing you await exists autonomously and keeps doing things in the background whether you await it or not. In system-level languages like Rust (and presumably Zig) the things you await are generally passive, and only make forward progress if the caller awaits them.

This is an artifact of wanting to write async code in environments where "threads" and "malloc" aren't meaningful concepts.

Rust does have a notion of autonomous existence: tasks.
by buybackoff | 2025-07-18 20:41:41+00:00
A little offtop, but do you know a number in usecs that io_uring can save on enterprise grade servers, with 10G NICs, for socket latency overheads vs LD_PRELOAD when hardware supports that? Let's say it's Mellanox 4 or 5. My understanding is that each gives around 10us savings, maybe less. Based on some benchmarking, which was not focused on any of those explicitly but had some imprecise experiments. It also looks like they do not add up. Do you have a number based on real experience?
by benreesman | 2025-07-18 20:42:51+00:00
It seems to me that the self-taught vs. CS degree distinction is missing the point: a point Peter Siebel made very clear in his chapter ordering for Coders at Work.

The people who outperform are people who love computers and hacking on them. Some such meet programming at University, more and more anyone who loves it will already know that before starting classes.

The range on skill and experience in this field is too big to be near the top if it's just a job. It's fine to have it be a job, but that's a different persuit than aspiring to be a top hacker.
by jgeada | 2025-07-18 20:42:53+00:00
There is a reason QC factorization records haven't shifted much over the past years. Number of qubits by themselves isn't enough. You to be able to do computation on them and for long enough to run Shor's algorithm till it produces a solution. How the qubits are connected, how reliable the logic gates are and how long you can maintain the quantum coherence with enough fidelity to get results is equally important.

That no significant factorization milestones have moved is a huge critical black eye to this field. Even worse, that no one has ever even been able to truly run Schors algorithm on even trivial numbers is a shocking indictment of the whole field.
by zegax | 2025-07-18 20:43:06+00:00
Roughly 5% of energy in the US is dedicated towards AI datacenters. The current usage will double to 70–90 TWh/year by 2026-2027. For software heavy tech businesses it makes sense to host your own AI data center so that you could train it on your codebase and have developers build faster. Not sure if this benefits humanity that much..