MurphyA/hacker-news huggingface dataset:
by JackSlateur | 2026-01-11 12:51:38+00:00
Here is a sample

We are talking about a "stupid" tool that parses a google sheet and makes calls to a third-party API

So there is one google sheet per team, with one column per person

One line per day

And each day, someone is in charge of the duty

The tool grabs the data from the sheet and configures pagerduty so that alerts go to the right person

Very basic, no cleverness needed, really straightforward actually

So we have 1 person that wrote the code, with AI. Then we have a second person that checked the code (with AI). Then the shit comes to my desk. To see this kind of cruft:

def create_headers(api_token: str) -> dict:
"""Create headers for PagerDuty API requests.

Args:
api_token: PagerDuty API token.

Returns:
Headers dictionary.
"""
return {
"Accept": "application/vnd.pagerduty+json;version=2",
"Authorization": f"Token token={api_token}",
"Content-Type": "application/json",
}

And then, we have 5 usage like this:

def delete_override(
base_url: str,
schedule_id: str,
override_id: str,
api_token: str,
) -> None:
"""Delete an override from a schedule.

Args:
base_url: PagerDuty API base URL.
schedule_id: ID of the schedule.
override_id: ID of the override to delete.
api_token: PagerDuty API token.
"""
headers = create_headers(api_token)

override_url = f"{base_url}/schedules/{schedule_id}/overrides/{override_id}"
response = requests.delete(override_url, headers=headers, timeout=60)
response.raise_for_status()

No HTTP keep-alive, no TCP reuse, the API key is passed down to every method, so is the API's endpoint. Timeout is defined in each method.
The file is ~800 lines of python code, contains 19 methods and only deals with pagerduty (not google sheet). It tooks 2 fulltime days.

These people fail to produce anything meaningful, this is not really a surprise given their failure to do sane things with such a basic topic

Does AI brings good idea: obviously no, but we knew this.
Does AI improves the quality of the result (regardless of the quality of the idea): apparently no
Does AI improves productivity: again, given this example: no
Are these people better, more skilled or else: no

Am I too demanding ? Am I asking too much ?
by iLoveOncall | 2026-01-11 12:51:38+00:00
And I'm sure if you go back to the release of 3.5, you'll see the exact same comments.

And when 5 comes out, I'm sure I'll see you commenting "OK I agree 6 months ago but now with Claude 5 Opus it's great".

It's really the weirdest type of goalpost moving.

I have used Opus 4.5 a lot lately and it's garbage, absolutely useless for anything beyond generating trivial shit for which I'd anyway use a library of have it already integrated in the framework I use.

I think the real reason your opinion has changed in 6 months is because your skills have atrophyed.

It's all as bad as 6 months ago, and even as bad as 2 years ago, you've just become worse.
by aebtebeten | 2026-01-11 12:51:53+00:00
Being a good shepherd* would involve a sufficiently deep dive into MAGA Studies to be able to figure out which high-order bits could be flipped. (like pronouns switched, over the course of the XX, from coding antisymmetric to coding symmetric relationships?)

As a corollary, this probably means establishing a myth of the "Good MAGA" (compare 爱,责,仁,德?) but as long as it be less destructive than the current situation, there is a nonzero possibility to do some nose-holding. (compare Bismarck on Bratwurstspezialitäten) One would have to search one's soul in order to decide if the ends justified the means!

[actually, Bismarck is only credited for that observation. He was a master of the strategic ambiguity, however: https://en.wikipedia.org/wiki/Ems_dispatch ]

* are dogs a good analogy? LEO (or wannabe LEO?) like to think of themselves as the good guys, the sheepdogs, as opposed to the bad guys, the wolves. Might it be possible to point out that it's mostly small, fearful, dogs who bite inappropriately; big dogs are more tolerant?
by martin-t | 2026-01-11 12:52:04+00:00
The issue is that everyone is focusing on verbatim (or "too similar") reproduction.

LLMs themselves are compressed models of the training data. The trick is the compression is highly lossy by being able to detect higher-order patterns instead of fucusing on the first-order input tokens (or bytes). If you look at how, for example, any of the Lempel-Ziv algorithms work, they also contain patterns from the input and they also predict the next token (usually byte in their case), except they do it with 100% probability because they are lossless.

So copyright should absolutely apply to the models themselves and if trained on AGPL code, the models have to follow the AGPL license and I have the right to see their "source" by just being their user.

And if you decompress a file from a copyrighted archive, the file is obviously copyrighted. Even if you decompress only a part. What LLMs do is another trick - by being lossy, they decompress probabilistically based on all the training inputs - without seeing the internals, nobody can prove how much their particular work contributed to the particular output.

But it is all mechanical transformation of input data, just like synonym replacement, just more sophisticated, and the same rules regarding plagiarism and copyright infringement should apply.

---

Back to what you said - the LLM companies use fancy language like "artificial intelligence" to distract from this so they can they use more fancy language to claim copyright does not apply. And in that case, no license would help because any such license fundamentally depends on copyright law, which as they claim does not apply.

That's the issue with LLMs - if they get their way, there's no way to opt out. If there was, AGPL would already be sufficient.
Show HN: Enforcing time-bounded technical debt with Git history
by jjdev8157 | 2026-01-11 12:52:20+00:00
I kept running into the same problem in large codebases: “temporary” code almost never gets removed.
People add TODOs, FIXMEs, or quick hacks to hit a deadline, and six months later nobody remembers why they’re there or who owns them. They quietly turn into production bugs.
I built a small CLI that treats those comments as time-bounded instead of permanent. You can attach an expiry date to a TODO in the code, and when the date passes, CI fails and points to exactly where the expired code lives.
It works by:
scanning comments across any language
parsing structured annotations
and optionally using git blame to infer who added them and when
I tried to keep it simple and CI-friendly rather than tied to any particular language or linter.
Here’s the repo if anyone wants to look at the implementation:
https://github.com/jobin-404/debtbomb
I’d love feedback from people who’ve dealt with long-lived “temporary” code in production.
by skybrian | 2026-01-11 12:52:36+00:00
I think it’s true that people get enjoyment from different things. Also, I wonder if people have fixed ideas about how coding agents can be used? For example, if you care about what the code looks like and want to work on readability, test coverage, and other “code health” tasks with a coding agent, you can do that. It’s up to you whether you ask it to do cleanup tasks or implement new features.

Maybe there are people who are about literally typing the code, but I get satisfaction from making the codebase nice and neat, and now I have power tools. I am just working on small personal projects, but so far, Claude Opus 4.5 can do any refactoring I can describe.
by verdverm | 2026-01-11 12:53:38+00:00
The main issue I see here is that most people are only paying token service, pun intended, to their package instructions. You really need multiple and you need to put effort into them.

Most of the ones I've seen in the wild are long ass doc dumps, which are great for polluting your context with a ton of unnecessary tokens. I don't use the ones they give me and write my own for the parts of a project I use.
by masklinn | 2026-01-11 12:53:39+00:00
> This is like trying to defend that you can't statically know the result of 1 + 2

It is completely unlike that. tsimionescu is asserting that they can always know statically whether `foo` will move its parameter. The function I provided is a counter-example to that assertion.

Of course the branch body always moves, that's what it's there for. That has no bearing on the argument.
by ece | 2026-01-11 12:54:01+00:00
As a private platform, SpaceX did try to draw a line with where their service could be used in Ukraine, but we're talking about Iranian protestors now, a different matter I think. If they were offering a firewall as a service, then what you're saying would be more true.

Apple and Google have done more than just stay in good graces of governments by getting rid of apps governments don't like, they haven't enforced their terms against X, and given tens of millions to Trump's ballroom.
by shakna | 2026-01-11 12:54:26+00:00
ARIA and the web group define title to be used. [0][1] It's just that many agents just don't use it correctly. JAWS and NVDA do. Microsoft Speech used to ignore it, but I think they fixed that around Windows 11 release. I'm not sure about VoiceOver. Most braille readers I've used... Well, you'll be lucky if they read anything correctly.

With the three big ones, JAWS, NVDA and Speech using it correctly, I'm pretty happy guiding people to use it today.

> The title attribute represents advisory information for the element, such as would be appropriate for a tooltip. On a link, this could be the title or a description of the target resource; on an image, it could be the image credit or a description of the image; on a paragraph, it could be a footnote or commentary on the text; on a citation, it could be further information about the source; on interactive content, it could be a label for, or instructions for, use of the element; and so forth. The value is text.

[0] https://html.spec.whatwg.org/multipage/dom.html#the-title-at...

> Most host languages provide an attribute that could be used to name the element (e.g., the title attribute in HTML), yet this could present a browser tooltip. In the cases where DOM content or a tooltip is undesirable, authors MAY set the accessible name of the element using aria-label, if the element does not prohibit use of the attribute.

[1] https://w3c.github.io/aria/#aria-label

[2] NVDA bug confirming they use it: https://github.com/nvaccess/nvda/issues/7841

[3] Sorry for the numbers everywhere. I've got a footnote macro set for the way most HNers use this.
by ezst | 2026-01-11 12:54:28+00:00
CachyOS? That distro asking you to pick one out of 5 bootloaders and one out of 13 desktop environments? That is rolling and so comes with the implicit contract that you would have your eyeballs liking every package's release notes for any one of them that you ever update?

Don't get me wrong, I've got nothing against CachyOS (I really couldn't care less), but if this is where we collectively set the bar for what is "user friendly", we are doing it wrong.
by Wowfunhappy | 2026-01-11 12:55:06+00:00
> But do I (and all my colleagues) need Microsoft Office (Word, Excel at least) and/or Drawing software (Adobe or something) and/or god forbid Visual Studio 2026, and some other corporate software to make a living? Inevitably yes.

Do you, still?

I'm a 5th grade teacher and the office suite of choice is Google Docs. I could use whatever OS I wanted as long as it has a modern web browser. (And I do in fact use something unusual, although it's not Linux.)

A lot of graphic designers use Figma now.

I'm sure some developers need Visual Studio, but obviously many don't.
by al_borland | 2026-01-11 12:55:37+00:00
I can only use approved AI tools with company code, which is only Copilot. I try to use it from time to time, but am continually disappointed. I can’t relate to any of the hype. When I end up using it, I think it slows me down, and I don’t end up using any of its code at the end of the day.

I’ll occasionally have it write a little regex for me, which it does a decent job with, that’s its main use.
by throw0101c | 2026-01-11 12:55:41+00:00
Museum of Television, Toronto, Canada:

> The Museum exhibits the world’s most comprehensive collection of TV receivers for the formative 60yr period from the 1920s to the 1980s. It offers displays devoted to receiver design, to TV signals in space, & to the museum’s signature Philco Predicta line of sets. It's home to sets from Marilyn Monroe & Elvis Presley; to the 1939 Worlds’ Fair RCA Phantom Teleceiver, the rarest TV on the planet; to Felix The Cat, the 1st star of TV; & to tributes to John Logie Baird & Philo Farnsworth, the inventors of mechanical & electronic TV The Museum tells the story of the medium, to contribute to the understanding of the impact of TV on the people who watch it, & to recover the names & reputations of the Pioneers who invented it

* https://www.tripadvisor.ca/Attraction_Review-g155019-d184937...

* Official site: https://mztv.com

See also perhaps "Mr. Dressup to Degrassi: 42 Years of Legendary Toronto Kids TV":

* https://museumoftoronto.com/collection/from-mr-dressup-to-de...

* https://www.ctvnews.ca/toronto/article/mr-dressup-and-polkar...
by mindcrash | 2026-01-11 12:55:46+00:00
This is why should never-ever directly bury cables in the ground/walls/floor and ALWAYS use rigid PVC and/or flexible PVC tubes from site to site and pull the fiber or UTP cables through those tubes.

As an alternative if you are networking a single location and you don't mind seeing some finishing profiles on the walls (or want something easy in a pre-existing situation) you can also drill somewhere along the wall and feed the cables directly down to the floor or up the ceiling and cover them up.

But always, ALWAYS, make them easily accessible and easily removable.

Got plenty of experience to say no cable will survive a lifetime, and if you experience a problem without easy access you are fucked.
by simonw | 2026-01-11 12:56:01+00:00
They're improving rapidly, which means your intuition needs to be constantly updated.

Things that they couldn't do six months go might now be things that they can do - and knowing they couldn't do X six months ago is useful because it helps systematize your explorations.

A key skill here is to know what they can do, what they can't do and what the current incantations are that unlock interesting capabilities.

A couple I've learned in the past week:

1. Don't give Claude Code a URL to some code and tell it to use that, because by default it will use its WebFetch tool but that runs an extra summarization layer (as a prompt injection defense) which loses details. Telling it to use curl sometimes works but a guaranteed trick is to have it git clone the relevant repo to /tmp and look at the code there instead.

2. Telling Claude Code "use red/green TDD" is a quick to type shortcut that will cause it to write tests first, run them and watch them fail, then implement the feature and run the test again. This is a wildly effective technique for getting code that works properly while avoiding untested junk code that isn't needed.

Now multiply those learnings by three years. Sure, the stuff I figure out in 2023 mostly doesn't apply today - but the skills I developed in learning how to test and iterate on my intuitions from then still count and still keep compounding.

The idea that you don't need to learn these things because they'll get better to the point that they can just perfectly figure out what you need is AGI science fiction. I think it's safe to ignore.
by imtringued | 2026-01-11 12:56:06+00:00
They created a specification for the PKGBUILD format and a library to parse PKGBUILD files.

If you wanted to use PKGBUILD files to build Ubuntu or Debian packages, you could in principle build your own makepkg implementation for building Ubuntu packages.

You could also build an SBOM tool that takes a PKGBUILD and produces the SBOM using the PKGBUILD metadata of all the transitive dependencies.

They are also working on something that could be summarised as "IDE" features. Validation and linting of PKGBUILD files not unlike what a language server/IDE does (e.g. rust analyzer or IntelliJ).
by graemep | 2026-01-11 12:56:18+00:00
Thank you, that is quite informative.

The specific posts I see are from the Royal National Institute of Blind People who really ought to know.

What they do is add the image description at the end of each text post, even thought this matches the alt text.

This is the one about using alt text: https://www.facebook.com/rnibuk/posts/pfbid037RmtoSxfAJX82G4...

They do now have a comment on that one that explains their reasoning (I did not see it until just now).
by ndriscoll | 2026-01-11 12:56:29+00:00
My comment was exactly about the required math background though. Anyone who's completed an intro to proof class would find that kind of statement easy to formalize because they would have had to write similar statements for homework. That provides some context: everyone who's interested in computer theorem provers probably has some experience with proofs, so formalizing that statement should be easy for them. i.e. (for this kind of problem) it's not really "the hard part" for people who are seriously working on this stuff.
by sgarland | 2026-01-11 12:57:14+00:00
Thanks for the reply. Yeah, that’s the talk I was referring to.

I suppose I could try my own benchmark out tbf. I’m curious to see what it can do on today’s hardware. I would think it’s mostly network-bound for Raft consensus, though the 10x ping time increase you demonstrated without an appreciable drop in writes suggests it’s more complex than that.
Show HN: I built a tool that turns raw outage timelines into public postmortems
by tasssmaal | 2026-01-11 12:57:45+00:00
Hi HN,

When production breaks, writing a clear and honest incident report is stressful and slow — especially while customers and teammates are waiting.

I built IncidentPost to solve that. You paste a raw outage timeline (alerts, Slack logs, timestamps) and it generates a professional, shareable postmortem with an executive summary, timeline, root cause, mitigations, and action items.

You can see a full demo output here:
https://incidentpost.vect.pro/demo

Live app:
https://incidentpost.vect.pro

It’s a one-time purchase per incident — no accounts, no subscriptions.

I’d love feedback from engineers, SREs, and founders who’ve had to write postmortems under pressure.
by ricardobeat | 2026-01-11 12:58:03+00:00
Those are not matters of freedom of speech, but the unhealthy amount of power social media platforms have come to possess. The problem is how they amplify and distribute disinformation because engagement = advertising money. Free speech does not (and should not) mean you get worldwide reach.

Any platform distributing 'content' over a certain audience size should be treated as a media company and subject to much stricter rules and some kind of ethical oversight - like newspapers used to.
by OlaProis | 2026-01-11 12:58:30+00:00
This is my only public Rust repo — I have some ongoing private projects in Rust, so I'm familiar with the ecosystem (cargo, crates, the borrow checker experience, etc.).

That said, to be fully transparent: as I disclosed elsewhere in this thread, the Ferrite codebase is 100% AI-generated (Claude via Cursor). I direct the development, test, and iterate, but I haven't written the Rust by hand for this project.

So my Rust experience is more "ecosystem familiarity + reading AI-generated code" than "battle-hardened Rustacean." This project is partly a learning exercise — seeing how far AI-assisted development can go while picking up Rust patterns along the way.
by mqus | 2026-01-11 12:58:38+00:00
Its not "building a new package management system", "alpm" is literally the foundation of the pacman ecosystem. They are improving this so they _can_ catch up on packaging tasks.

I'm the same as the sibling commenter, I don't want to have another deb or rpm distro. The AUR wouldn't exist without pacman&makepkg.
by elktown | 2026-01-11 12:58:59+00:00
I wonder if being a literal AI sci-fi author, antirez acknowledges that there's possible bias and willingness to extrapolate here? That said, I respect his work immensely and I do put a lot of weight to his recommendations. But I'd really prefer the hype fog that's clouding signal [for me] to dissipate a bit - maybe economic realities will sort this out soon.

There's also a short-termism aspect of AI generated code that's seemingly not addressed as much. Don't pee your pants in the winter to keep warm.
by simonw | 2026-01-11 12:59:20+00:00
> And I'm sure if you go back to the release of 3.5, you'll see the exact same comments.

Not from people whose opinions on that I respect.

Credible software developers I know were impressed by Claude 3.5 but none of them were saying "I don't type out code by hand any more". Now they are.

If you think LLMs today are "as bad as 2 years ago" then I don't respect your opinion. That's not a credible thing to say.
by robertseel | 2026-01-11 12:59:32+00:00
Hey Jaime, massive props for building this – I was in the exact same boat last fall: 200+ apps, solid SWE experience (5+ YOE, shipped multiple features at scale), but constant ATS black holes and ghosting. Tried the usual suspects (Teal, ResumeWorded, etc.), but they either spit out generic fluff or encouraged padding that felt sketchy.Gave Cvora a spin a couple weeks ago and honestly, it's the first one that felt right. Dropped my base CV + a senior backend role desc → extracted the exact keywords (Kubernetes, Go, microservices) without hallucinating anything.
Bullet rewrites were natural – kept my real impact (e.g., "Reduced latency 40%" stayed, but phrased to match the JD's emphasis on performance). No invented stories.
PDF generated in like 15 seconds, scored 96% on their checker (tested it against a real Lever posting I had).
The dashboard is a lifesaver – I track 40+ apps now without Google Sheets chaos.

Already got 3 callbacks in the last 10 days (from ~15 tailored apps), which is way better than my previous 1-2% hit rate. The "no faking" promise actually delivers – recruiters can smell BS, and this avoids it completely.What sucks a tiny bit: Would love a quick export to Word/Google Docs for minor manual tweaks (PDF is great for submission, but sometimes I want to adjust one word). Also, multi-language support would be huge (I'm bilingual EN/ES).Keep going – this solves a real, painful problem without the shady shortcuts. Happy to beta test more features if you want. Thanks for shipping something honest!
by kace91 | 2026-01-11 12:59:44+00:00
>They introduce new layers of complex system understanding and problem solving (at that AI meta-layer), and let me dig into and solve harder and more time-consuming problems than I was able to without them.

This is not my experience at all. My experience is that the moment I stop using them as google or search on steroids and let them generate code, I start losing the grip of what is being built.

As in, when it’s time for a PR, I never feel 100% confident that I’m requesting a review on something solid. I can listen to that voice and sort of review myself before going public, but that usually takes as much time as writing myself and is way less fun, or I can just submit and be dishonest since then I’m dropping that effort into a teammate.

In other words, I feel that the productivity gain only comes if you’re willing to remove yourself from the picture and let others deal with any consequence. I’m not.
by williamcotton | 2026-01-11 12:59:47+00:00
The first thing you need to do is brush up on some IP law around software in the United States. Start here:

https://en.wikipedia.org/wiki/Idea–expression_distinction

https://en.wikipedia.org/wiki/Structure,_sequence_and_organi...

https://en.wikipedia.org/wiki/Abstraction-Filtration-Compari...

In a court of law you're going to have to argue that something is an expression instead of an idea. Most of what LLMs pump out are almost definitionally on the idea side of the spectrum. You'd basically have to show verbatim code or class structure at the expressive level to the courts.