MurphyA/hacker-news huggingface dataset:
by sunrunner | 2025-05-26 11:19:03+00:00
There are a lot of terms in software development that have been co-opted from other disciplines and misrepresent a lot of development work, including 'engineering' and 'architecture'.

I think it's helpful to think of engineering as a _process_ instead of a role, and the reality is that a lot of development work doesn't necessarily rely on the strong engineering methodology (e.g. measurement, material properties, tolerances, modelling, etc.) that the people developing the software might imagine just based on the number of job adverts for 'engineers'.

This isn't a bad thing. There are hundreds or thousands of different but equally valid solutions to getting a program to do a thing, but not recognising that most code writing is somewhere between a art and engineering and is neither a purely artistic discipline but also rarely a purely engineering one is useful.

The kinds of engineering and architecture that people think of in software development only really represent common practices and shared language (e.g. design patterns, architectural patterns) and not a strong engineering practice or any kind of truth about how software actually runs.

(Unless you're writing software for launching rockets, in which case the engineering _process_ porbably should be strong).
by elzbardico | 2025-05-26 11:19:19+00:00
You'd love a very old book named Mathematics for the Million. The author was a committed Marxist and an Engineer, and due to this combination, it places a strong emphasis on demystifying concepts, the historical context of mathematical ideas and its practical application.

Of course, some of it is a bit strange for modern audience, the way lots of things in calculus are taught nowadays is completely different. If you are looking for rigorous formal proofs, you won't find them on this book.

But it is a quite funny and quirk book that gives you a different perspective on math concepts and will satisfy your hunger for knowing the people and the historical context behind it.
by sentimentscan | 2025-05-26 11:20:17+00:00
>, in 2021 the mean duration in Germany was 1 769 hours and 1 923 hours in Italy.

That is strange, by this chart the Italy have 1694 and Germany 1340. In Poland it is still 1814 in 2024 hours. https://en.wikipedia.org/wiki/List_of_countries_by_average_a...
by rixed | 2025-05-26 11:21:18+00:00
I mean that we already have SMTP headers for metadata.

Such as in-reply-to (no need to quote the whole mail at the bottom of yours) and obviously the sender (no need for an explicit signature), and you could use x-face if you needed something fancier or, if your company really really needs to remind everyone how social they are at every message, you could have added an x-coprorate-blurb custom header, etc.

Whatever, emails these days are nothing more than an archaic last resort password reset protocol.
by namaria | 2025-05-26 11:21:39+00:00
And also the seminal papers by Gödel, Turing, and the books on cybernetics (robotics and automation in 1950s) by Ashby and Wiener.

The limits of what can be automated have been clear for almost a century now. Yet people insist in selling ways to automate your way out of social, political, economical problems. Come to think about it, people should also read Comways's paper as well.
by joshstrange | 2025-05-26 11:21:41+00:00
I couldn’t agree more and I’ve said the same thing many times.

I have yet to see an LLM-generated app not collapse under it’s own weight after enough iterations/prompts. It gets stuck in loops (removing and adding the same code/concept), it gets hung up on simple errors, etc.

For greenfield it’s amazing, no doubt, but unless you are watching it very closely and approving/reviewing the code along the way it will go off the rails. At a certain point it’s easier to add the new feature or make the modification yourself. Even if the LLM could do it, it would burn tons of money and time.

I expect things to get better, this will not always be the state of things, but for now “vibe coding” (specifically not reviewing/writing code yourself) is not sustainable.

Most people doing it have a github profile that is a mile wide and a meter deep.

LLM’s are amazing and useful, but “vibe coding” with them is not sustainable currently.
by lyu07282 | 2025-05-26 11:21:44+00:00
I find that hard to believe, I also don't think LLMs provide the value some others are seeing but there is also code search and refactoring tasks that LLMs can help with. Instead of heaving to write a codemod, I can just write a prompt and accomplish the same thing in much less time. To say they have literally zero value just seems uninformed tbh. That's the sort of black and white thinking that isn't very helpful in the conversation.
by soraminazuki | 2025-05-26 11:21:49+00:00
Probably because the author's main focus was about potential change in working conditions and not the veracity of the AI hype. But disappointing nonetheless.

To be clear, I'm sure some critical software engineering jobs will be replaced by AI though. Just not in the way that zealots want us to think. From the looks of it right now, AI is far from replacing software engineers in terms of competence. The utter incompetence was in full public display just last week [1]. But none of that will matter to greedy corporate executives, who will prioritize short-term cost savings. They will hop from company to company, personally reaping the benefits while undermining essential systems that users and society rely on with AI slop. That's part of the reason why the C-suites are overhyping the technology. After all, no rich executive has faced consequences for behaving this way.

[1]: https://news.ycombinator.com/item?id=44050152
by f3b5 | 2025-05-26 11:21:56+00:00
An intent-based Linkedin B2B lead finding tool that evaluates tens of thousands of comments in small thematic niches to find prospects that have a certain problem, and are actively looking for a solution. I just finished building the backend side of the tool, and released it to a group of early customers to find out how well it performs. It's a really fun engineering problem to cut through tons of spam, bullshit, and hustle porn, and find the few gold nuggets in the comment sections.
by andrewaylett | 2025-05-26 11:22:03+00:00
It's not so much a git replacement, as a whole new porcelain on top of the same plumbing.

JJ uses the git binary and maintains a git repository. In co-located mode, the jj working copy is a git working copy. If you use regular git tooling it might be a bit uncertain why you're in detached head mode, but all read-only tooling will work without any problems and if you write to the repo jj will do its best to absorb your manual changes cleanly.
by concernedParty | 2025-05-26 11:22:08+00:00
> (Proverbs 13:7) There is one who pretends to be rich, yet has nothing; There is another who pretends to be poor, yet has great wealth.

Pretending you're rich has been happening for a long time. Conversely, pretending you're poor though might make you a bit of a miser as you wouldn't use what you have to help anyone else. It seems wise to be discrete about your wealth if you have it, or you're just inviting trouble for little real gain.
by shireboy | 2025-05-26 11:22:19+00:00
I’m trying to wrap my head around mcp but auth and security is still the confusing thing to me. In this case, I get there is an oauth redirect happening, but where is the token being stored? How would that work in an enterprise or saas environment where you want to expose an mcp for users but ensure they can only get “their” data? How does the LLm reliably tell the mcp who the current user is?
by throw_m239339 | 2025-05-26 11:22:31+00:00
> Domain ownership should be progressively taxed. House ownership too for that matter. With houses it's easy to prevent tax evasion by splitting the ownership between multiple entities (because companies shouldn't own housing), but it would be almost impossible with domains...

Taxes aren't the answer for everything. And they are already taxed in the EU, it's called VAT.
by quotemstr | 2025-05-26 11:22:34+00:00
That global state is the coordination problem it's solving. Who owns the thread list? The current process wide setreuid identity? The loaded library list? Debug info registrations? Shared dynamic memory allocations? TLS slots? Someone has to, and that someone is libc. Avoiding it because it has state is to be confused about the whole concept of an OS.

Yeah, it's mixed up with the same library that provides sscanf and strcat. So what? You don't have to call them.
by amalcon | 2025-05-26 11:23:03+00:00
> 1. of course it is, if you're not mathematically savvy.

I don't think that says what you're claiming it does. If you actually look at the simulation linked from there (which I do take some issues with, but those are irrelevant to the point):

- Scaled sincerity, the one that gets their claimed 91% effectiveness, is actually one of the more mathematically complicated strategies to execute.

- Maxing + sincerity, the version of "mildly-optimized sincerity" that is least complicated to execute (and thus the one most likely to be executed intuitively), is among the least effective in large elections.

- Mean-based thresholding -- the closest approximation of my proposed strategies here, consistently outperforms all sincere-derived approaches in elections of 10+ participants. It is also simpler to execute than scaled sincerity.

> and that leads to a greater NET utility

This is not accounting for the reduced utility of increasing the complexity of the voting system, or of weakening the secret ballot by allowing more information content on it.

The latter is the real argument against score voting that I don't think has a counter. I haven't brought it up yet, because it's a lot less convincing if you believe that optimal individual strategy in score voting performs much better than optimal individual strategy in approval voting. But you, in particular, don't seem to believe that. So...

Score voting puts more information on the ballot than any other system, for an only marginal improvement over approval voting (which puts the second-least, after single vote). Putting more information on the ballot is bad, because it allows votes to be dis-aggregated. Attack description:

- Alice instructs Bob to fill out the ballot in a specific way. That specific way includes minor random perturbations of scores that are unlikely to influence the election result, but are likely to make Bob's ballot unique. E.g. selecting a random score for a candidate with a very low chance of victory, fully randomizing a question that Alice does not care about, or (worst case) adding or subtracting 1-5 percent from scores of relevant candidates.

- Alice observes the vote counting, and notes if Bob's ballot was observed.

- Alice rewards or punishes Bob accordingly

The value of the secret ballot is very high. I suggest that it is greater than any increase in utility achievable in the delta between score voting and approval voting.
by maaaaattttt | 2025-05-26 11:23:37+00:00
"Brain_s_". I find we (me included) generally overlook/underestimate the distributed nature of human intelligence, included in the AI field. That's why when I first heard of mixture of experts I was thrilled about the idea and the potential. (One could also see similarities in random forest). I believe a path to AGI(tm) would be to reproduce the evolution of human intelligence artificially. Start with small models training bigger and bigger models and let the bigger successfull models (insert RL, genetic algos, etc.) "reproduce" and teach newer models from scratch. Having different model architecture cohabit could maybe even lead to the kind of specializations we see in parts of the brain
by gedy | 2025-05-26 11:23:39+00:00
> If I want to create a React app with X amount of pages, some Redux stores, Auth, etc. then it can smash that out in minutes. I can say "now add X" and it'll do it. Generally with good results.

Not discounting your experience, but a lot of these examples are about frameworks that never had good bootstrapping, such as Rails does/did. LLMs are really good at boilerplate, but maybe this points to these such stacks needing too much fiddling to get going, vs 10x coder AI.
by santiagobasulto | 2025-05-26 11:24:14+00:00
I think the rule of thumb should be to ALWAYS start with Cookies for client/server authentication, with all the security features enabled by default. HttpOnly, Secure and SameSite.

Then, if that has some sort of limitation for your app's specific use case, you can see to migrate to JWT.

But the standards are standards for a reason.
by sentimentscan | 2025-05-26 11:24:34+00:00
Part of this is a cultural issue. I completely understand why people struggle with addiction, smoking, obesity, stress, depression, and so on. I don't blame the people, but the current culture of cheap and fast food, stress, overworking, lack of time and/or energy for cooking, family, hobbies, and taking care of health. Many of these preventable diseases could be addressed by cultural changes and government care, which could decrease the cost of medical/nursing care.
by energy123 | 2025-05-26 11:24:51+00:00
> There's two kinds of emergence, one scientific

I am not aware of any scientific kind of emergence. There's philosophical emergence, and its counterpoint - ontological reductionism.

Most people have an intuitive sense that philosophical emergence is true, and that bubbles up in their writing, taken as an axiom that we're all supposed to go along with.

On closer inspection, it is not clear to me that this isn't simply a confusion or illusion caused by the tendency of the human mind to apply abstractions and socially constructed categories on top of complicated phenomena, and those abstractions are confused for actual effects that are different from the underlying base-level phenomena being described.
by jasonwatkinspdx | 2025-05-26 11:25:06+00:00
Additionally production lines are all about doing the same thing over and over again, with fairly minimal variations.

Software isn't like that. Because code is relatively easy to reuse, novelty tends to dominate new code written. Software developers are acting like integrators in at least partly novel contexts, not stamping out part number 100k of 200k that are identical.

I do think modern ML has a place as a coding tool, but these factory like conceptions are very off the mark imo.
by infecto | 2025-05-26 11:25:19+00:00
You’ll usually find three kinds of people talking about LLMs online:

1. The ones writing Medium posts about being 100x more productive. 2. The skeptics, like yourself, who construct made-up examples to prove it’s impossible to get value, framing things in a way where failure is the only plausible outcome. 3. And then there’s the middle group, people quietly getting real, uneven, but worthwhile value.

You’d be surprised. The vast majority of engineering isn’t that unique. Usefulness often depends on the age of the codebase and the dynamics of the team. I’m firmly in the middle camp: far from perfect, but I get real value from these tools as they stand today. It’s like having a junior engineer who can scaffold out the basics so I can spend my mental energy on the parts that actually matter.
by melvinroest | 2025-05-26 11:25:28+00:00
Is it? I didn't bother to check as it wasn't too relevant. I wasn't stuck anymore. Worst-case it's a memnonic that is untrue. Best case: it is. For actual derivations I check the work.

This is what it wrote by the way.

I posted an image and asked:

Why is this m

m for angle mangle?

ChatGPT:

In geometry we often need to distinguish the angle itself (a geometric object) from the numerical size of that angle (a real-number measurement, usually in degrees or radians). To keep the two ideas separate we put a little “m” in front of the angle symbol:

m∠B reads as “the measure of angle B.”

* ∠B refers to the actual wedge-shaped region determined by the two rays that meet at vertex .

* m∠B is the single number—e.g. \90∘—that tells you how “wide” that wedge is.

So in the worked example the author writes

m∠A + m∠B + m∠C + m∠D = 360∘

because they are adding the sizes of the four interior angles of a quadrilateral, not the angles themselves.

If you dropped the m you’d be adding geometric objects, which doesn’t make sense; the m reminds the reader that what’s being added are real-number measures. (Some textbooks use ∣∠B∣ or simply write the letter with a bar over it, but “m∠” is by far the most common in U.S. and many international curricula.)

So the mysterious “m” isn’t another variable—just a shorthand for “measure of.”

---

Edit: this took quite some work to write well as ChatGPT answers don't copy/paste neatly into HN. So I won't be doing this for the other example.
by rs186 | 2025-05-26 11:25:39+00:00
Sounds like Claude is doing the right thing, at least for the general problem.

You are just waiting for this to deteriorate, and at some point that 5min timeout is not long enough, and you'll have to come up with something else again.

And more generally, there are multiple issues with properly handling long running actions -- you want a good UX for these actions in your app, they may need to be queued or be allowed to cancel etc. I don't know the exact situation, but I assume this is a small app so you don't care much about it. But in any serious application where UX is important and you don't want someone to submit 10000 such requests (or 10000 users submitting at the same time) to blow up your backend, the sane design is to do this asynchronously with other mechanism to manage the actions.
by ChrisMarshallNY | 2025-05-26 11:27:00+00:00
When someone insists that you expose in public, and refuses to engage in any other manner, then that’s an issue. I see a fair amount of pretty classic “schoolyard bully” behavior on HN, which is interesting, as this is a professional forum, frequented by some of the most influential people in the industry.

Bullies like an audience. They want people to see their behavior.

I know of a number of folks on HN, that are convicted felons, often running companies that help other convicted felons, interested in going legit (This does not include the much greater number of “uncaught” felons. I bet that every blackhat has an HN handle, and I'll also bet that they are some of the best-behaved HN members).

Occasionally, one of these folks may choose to post some portion of their personal journey. I am grateful to read what they post, and would never dream of demanding that they post more. If I find what they post compelling, I might contact them directly.
by Avicebron | 2025-05-26 11:27:04+00:00
(Anecdote) Best job I ever had, I walked in and they were like "yeah, we don't have any training or anything like that", but we've got a fully setup lab and a rotating library of literature. <My Boss> "Yeah I'm not going to be around, but here are the office keys" don't blow up the company pretty much.
by rsynnott | 2025-05-26 11:27:17+00:00
Yeah, this seems... at best confused?

> As a result, while the logos of Mercedes-Benz, BMW, and Volkswagen are seen all over American roads, those of Ford and General Motors are a rare sight in Germany.

Ford manufactures cars in Europe, and was historically quite successful in Europe (though it seems to really be struggling in the past decade or so; other than Transit vans it'd be unusual to see a new Ford today). The cars that it made in Europe were, generally, aimed at the market, and many were never made available in the US at all.

GM also used to manufacture cars in Europe, again, aimed at local preferences. Their European division ended up part of Stellantis, the great conglomerate of car brands that you can't quite believe still exist.

The concentration on _Germany_, which doesn't have an independent trade policy, seems odd.
by Macha | 2025-05-26 11:27:18+00:00
jj as effectively used is a git UI. There's an experimental self-hosted backend that nobody uses (and is disabled in release builds), and there's a piper backend in Google, which is enough that people call it a VCS of its own rather than a git UI, but there's nothing stopping some other tool building the same primitives on top of git directly without jj as an intermediate layer. As I understand it, to some extent, that is GitButler.
by codethief | 2025-05-26 11:27:23+00:00
> we end up having to support JWT in the web browser too, manually putting it into localstorage or the application state, instead of just leveraging the cookie jar that was already there.

> We just recently had to implement an SSO solution using JWT because the platform only gave out JWTs, so we ended up putting the JWT inside an encrypted HttpOnly cookie. Seemed a bit like a hat-on-a-hat, but eh.

Why would you think that? Cookies are a perfectly normal place to store JWTs for web applications. If your frontend is server-side-generated, the browser needs to authenticate the very first request it sends to the server and can't rely on anything apart from cookies anyway.
by colinnordin | 2025-05-26 11:27:35+00:00
I was reading a lot of technical books and kept highlighting things I wanted to remember — but I rarely went back to review them. The notes just sat there, on my Kindle or in the reading app.

So I started building something simple: a tool that lets me turn highlights into flashcards with as little friction as possible.

Just select text on your iPhone, share it with the app, and it creates a flashcard using AI — a Q&A pair and a short summary. You can browse cards in the app, or show them on your Home Screen, Lock Screen, or watchface of your Apple Watch.

This is my first iOS app, and building it has been a great learning experience. I’m using Supabase for the backend which have been mostly great.

Check it out: https://komihag.com
by wrils | 2025-05-26 11:27:37+00:00
May 26, 2025 — The demand for AI Content Editors in the United States is experiencing significant growth, with job postings increasing by 25% annually, according to recent data from Jobicy.

AI Content Editors play a pivotal role in enhancing content quality and production efficiency by leveraging artificial intelligence tools. Their responsibilities include overseeing the generation, editing, and optimization of AI-created content to ensure clarity and engagement. This role requires a strong understanding of AI technologies and their application in content creation.

The surge in demand is reflected in competitive compensation packages. As of 2025, the average annual salary for AI Content Editors stands at $80,100, with junior-level positions starting at $48,060 and senior roles reaching up to $144,180.

This growth trend underscores the increasing reliance on AI technologies across various industries and the essential role of skilled professionals in integrating AI into content strategies.
by dmit | 2025-05-26 11:27:44+00:00
A small note here: even though the public version of jj only supports the Git backend right now (I believe there's also support for whatever Google's using internally?), it's designed to be backend-agnostic. So potentially, in the future it could grow its own native backend that could solve some of Git's pain points -- support for huge repositories, native large file storage, etc.
by wordofx | 2025-05-26 11:28:10+00:00
lol it’s funny you have to ask.

Out of curiosity I asked Claude.

“I have an application, it only has a few users, hosted on nginx. There is 1 endpoint which can take up to 5 minutes to execute. What’s the best way to fix this?”

Response:

“Immediate fix…

Increase nginx timeout settings explains how”

I happen to have a php project here hosted on nginx with docker locally for running and testing. So I asked cursor the exact same question. It suggested refactoring to make the call async, or changing nginx. I said change nginx. It updated the config and rebuilt docker compose to make sure the change happened.

It’s always a user issue when it comes to using AI.