MurphyA/hacker-news huggingface dataset:
by selimenes1 | 2026-03-06 12:24:43+00:00
The framing of this as an "AI-generated PR" problem slightly misses what I think is the deeper issue: the cost asymmetry between submitting and reviewing has gotten dramatically worse. Before LLMs, submitting a low-effort PR still required some minimum effort -- you had to at least read the code, understand the build system, and write something that compiles. That natural friction filtered out most noise. Now someone can generate a plausible-looking PR in 30 seconds that takes a maintainer 30 minutes to properly evaluate, because the reviewer still needs to understand intent, check edge cases, verify it does not break existing behavior, and assess whether the change is even desirable.

I think the Ghostty-style policy (linked in another comment) gets the principle right: the bar should be "can you explain what your change does and why, without AI assistance." That is not anti-AI -- it is anti-outsourcing-your-understanding. If you used AI to help write the code but you genuinely understand the change, you can answer questions about it. If you cannot, you have not actually contributed engineering work, you have just created a review burden.

What I have found works well in practice for projects I maintain is treating the PR description as the real signal. A good PR description explains the problem being solved, why this approach was chosen over alternatives, and what trade-offs were made. That is very hard to fake with a quick LLM prompt because it requires actual understanding of the codebase context. When I see a PR with a vague one-liner description and a large diff, that is an immediate close regardless of whether AI was involved -- the submitter has not done the work of communicating their intent.
by carpenecopinum | 2026-03-06 12:25:08+00:00
Just tried it out with GrapheneOS on my Pixel 7 and the eBay app works fine.

Generally I think the marketing of GraphenOS is interesting. They are usually positioned as the "Absolute security. No compromises." ROM, but in my personal experience, they are the "It must work. No compromises. Then make the rest as safe as possible"-option, given aspects like using the "real" Google Play Services (if desired), but sandboxed, instead of MicroG or unrestricted Google Play, which pretty much all other ROMs roll with.
by magicalist | 2026-03-06 12:25:18+00:00
Depending on how you do it and they find out, you could certainly be sued for fraud and misrepresentation, though. And, if you put a "copyright by me" at the top of a public domain work, it's technically a crime under 17 U.S.C. § 506(c) - Fraudulent Copyright Notice

https://www.law.cornell.edu/uscode/text/17/506#c
by m12k | 2026-03-06 12:25:26+00:00
I just wish more of these projects would be a bit more ambitious and put more focus in their communication on being good at what they do, rather than being free and made by idealists. They're branding themselves in a way that only really appeals to other techy idealists, while accidentally putting off a lot of potential users who are neither technical nor philosophical enough to know or care what a term like libre means. There's a lot of good, free software that is selling itself short by communicating more about being the latter than the former.
by falsename | 2026-03-06 12:25:55+00:00
Stack:

- CLI + dashboard: Rust, single binary. TUI built with ratatui, agents run in tmux sessions. Full ANSI rendering — you see exactly what each agent shows.
- API: ASP.NET Core minimal API on .NET 10, SQLite for everything (sessions, KB, users, settings).
- Memory: sqlite-vec for vector search + FTS5 for full-text. Embeddings via Ollama (local). Facts auto-extracted from session transcripts by LLM, recalled on session start via semantic similarity.
- P2P: Direct peer-to-peer over TLS 1.3 between machines, with relay fallback for NAT. Agents on different machines message each other and transfer files without going through a central server.
- Session hooks: SessionStart/SessionEnd hooks inject memory context and capture transcripts automatically. Supports Claude Code, Codex CLI, and Gemini CLI — each has its own transcript parser (JSONL, markdown, Gemini format).
- Knowledge Base: Hierarchical key-value store (project/compartment/entry), versioned, API-backed. Agents read/write it. Crew instructions, architecture decisions, codebase maps all live here.

No containers, no background services beyond tmux.

Check the blog section about the recently added Archivist for a short video showcase.

Happy to answer questions here.
by weatherlite | 2026-03-06 12:26:03+00:00
I think it depends on:

A) how old the product is: Twitter during its first 5 years probaby had more work to do compared to Twitter after 15 years. I suspect that is why they were able to get rid of so many developers.

B) The industry: many b2c / ecommerce businesses are straightforward and don't have an endless need for new features. This is different than more deep tech companies
by yomismoaqui | 2026-03-06 12:26:19+00:00
The decline of the USA empire is clearer, day by day.

I'm starting to watch videos from today's China and comparing with 30 years ago its like night and day, sons have a much better life than their parents. The typical evolution from parents that worked on the fields to sons working with computers or selling things on Douyin. You see new cars, new buildings, from the outside you feel like this country is "going up".

Compare this to the USA now and 30 years ago. The disillusionment, the social strife, electing a president like Trump that makes George W. Bush seem like a good pick, people than can leaving the country for greener pastures... Sons have worse opportunities than their parents.

If you just compare the gradient of China and USA you will see it clear.
Show HN: Easemonitor – self‑hosted uptime and performance monitoring
by mabsrencode | 2026-03-06 12:26:20+00:00
I built Easemonitor to keep track of service uptime, response times, SEO, vulnerability scans, etc.
It's 100 % open‑source (GPL‑3), runs in Docker on a cheap VPS and includes:

NestJS API + worker with BullMQ queues
NextJS frontend with SSR caching & image optimization
Prometheus metrics, Loki logs, Grafana dashboards, Jaeger tracing
JWT rotation, WAF rules, CSP/HSTS, CVE audit scripts
Webhook DLQ, queue dashboard, healthchecks, maintenance mode
You can try it on my demo https://easemonitor.com

Would love feedback, contributions, or ideas for features.
by sensanaty | 2026-03-06 12:26:36+00:00
Similar happened to me just now. Claude whatever-is-the-latest-and-greatest, in Claude Code. I also tried out Windsurf's Arena Mode, with the same failure. To intercept the inevitable "holding it wrong" comments, we have all the AGENTS.md and RULES.md files and all the other snake oil you're told to include in the project. It has full context of the code, and even the ticket. It has very clear instructions on what to do (the kind of instructions I would trust an unpaid intern with, yet alone a tool marketed as the next coming of Cyber Jesus that we're paying for), in a chat with minimal context used up already. I manually review every command it runs, because I don't trust it running shell scripts unsupervised.

I wanted it to finish up some tests that I had already prefilled, basically all the AI had to do was convert my comments into the final assertions. A few minutes later of looping, I see it finishes and all tests are green.

A third of the tests were still unfilled, I guess left as an exercise for the reader. Another third was modified beyond what I told it to do, including hardcoding some things which made the test quite literally useless and the last third was fine, but because of all the miscellaneous changes it made I had to double check those anyways. This is about the bare minimum where I would expect these things to do good work, a simple take comment -> spit out the `assert()` block.

I ended up wasting more time arguing with it than if I had just done the menial task of filling out the tests myself. It sure did generate a shit ton of code though, and ran in an impressive looking loop for 5-10 minutes! And sure, the majority of the test cases were either not implemented or hardcoded so that they wouldn't actually catch a breakage, but it was all green!!

That's ultimately where this hype is leading us. It's a genuinely useful tool in some circumstances, but we've collectively lost the plot because untold billions have poured into these systems and we now have clueless managers and executives seeing "tests green -> code good" and making decisions based on that.
by bdangubic | 2026-03-06 12:26:48+00:00
so it is either or, eh? this is the fault of our society (the most in america due to two-party system) where we have been programmed (especially in recent years with party-controlled “social” media) to think this way. there is of course much more sane middle ground but we are past the point, evidenced by comments like yours, where this is even debatable. any approach to a more sane scenarios will be labeled as “socialism” etc…
by dangus | 2026-03-06 12:27:00+00:00
I am not sure why my choice of one specific model led you to strongly imply the unavailability of these features in PCs:

> Like screen brightness. Or external IO. Or more than 64GB of memory. Or not being stuck with Windows. Or an SSD larger than 2TB.

It seems like you are now trying to walk back that statement, and I find that facetious. What you originally strongly implied is that Macs have all those attributes and PCs don’t, and when I reply with evidence of your implication being incorrect, you dismiss my comment over its length.

Worse, you insult my comment’s content (“all that”) with zero substance on what’s wrong with it. Your main goal of that phrase is to discredit what I said as crazy talk, which is the kind of thing propaganda news networks do against people who are speaking obvious truths.

How can you possibly defend soldered flash storage when Apple’s competitors offer a better alternative? Well, you can’t defend it, which is why you dismissed my comment as musings of a crazy person not worth reading.

This is what Mac zealots do: they put blindfolds on and pretend like Mac hardware is above and beyond the laws of physics and PC laptops can’t possibly satisfy the same priorities that Macs do.
by fpaf | 2026-03-06 12:27:38+00:00
I find the music example very illuminating, thanks!
Looking into US Copyright for songs there are two different kinds:

- one for the composition, the musical idea, music, lyrics.

-one for the recording, the music taking shape in a format that someone can listen to

I don't think this is how software licenses work, as they cover the code itself, rather than the ideas (the specific recording rather than the composition, in the music example), but it's an interesting way to frame why using LLM this way is, if not illegal, at least unethical.

source: https://www.copyright.gov/engage/musicians/
by thesunnez | 2026-03-06 12:28:17+00:00
Thanks for the feedback blourvim! I'm continuing to work on the interaction flow--- agree it is jarring to zoom in and out. I'm trying to arrange the current path more clearly on the screen. Good idea also with adding details or even links. Especially when you go deeper into the map, it could be nice to have notes attached as a sort of summary of the map. Will let you know once these have been resolved.
by 1313ed01 | 2026-03-06 12:28:30+00:00
I have paid for Aseprite, but on many machines I just install the old GPL version, usually available as a package. It is fine for most tasks, even if the latest version has many improvements.

A fork of the old version to have a slightly better version conveniently available in package repos would be nice. I don't think it has to catch up with Aseprite to be useful.
by lproven | 2026-03-06 12:28:37+00:00
> IIRC we got long filenames with Win95, and a built-in network stack, no more Trumpet WinSock. And it did seem more stable, not nearly as good as NT/2000 but better than 3.1.

Kinda sorta but this misses context.

> we got long filenames

Consumers got long filenames. NT had been doing it for a couple of years. Win95 did it on FAT on a mass-market OS.

> a built-in network stack

No. Windows for Workgroups had offered that for several years. It talked NetBEUI, the Microsoft protocol, out of the box, and it also talked Novell IPX/SPX for talking to Netware, and DECnet, and HP-DLC...

But you hint at the important bit...

> no more Trumpet WinSock

Bingo. Win95 offered native 32-bit TCP/IP for the first time and it was over Ethernet.

WfWg had DOS-based 16-bit TCP/IP but only over Ethernet (or Token Ring!) It didn't have dialup networking -- at all. It couldn't talk TCP/IP over PPP, such as over a modem. WfWg 3.11 offered, only as an optional extra download, a 32-bit TCP/IP stack -- for network cards. And nobody had anything to download it over. ;-)

Internet Explorer 4 for Windows 3.x had an optional 16-bit dialup stack and optional 16-bit TCP/IP -- but that could not talk to a network card.

I know, it's prehistory, but in the late 1980s and early to mid 1990s, local-area networks were catching on like wildfire and by 1993 or so Microsoft noticed and made networking in Windows a standard feature.

What is overlooked today: it didn't use TCP/IP.

Nothing much did. Not even big iron or minicomputers like DEC VAX kit with VMS. TCP/IP was a Unix thing, and Unix cost $thousands just for the OS, plus $thousands more for the hardware. Even if you ran it on PCs, you needed $thousands worth of RAM. SCO Xenix was huge but for production it needed 2-4 MB of RAM, ideally 8+ MB, and in the DOS era, PCs came with 1 MB.
by latexr | 2026-03-06 12:29:00+00:00
> If your original thoughts achieve a tangible result through this tool, the ownership should reside with the thinker.

What if you ask the tool “come up with an idea and build it” and it makes you an (obviously) derivative app? Or what if (closer to this post) you say “copy this thing, but differently so we don’t get into legal trouble”? Is any of those is an “original thought” worthy of ownership of the output?
by LucasAegis | 2026-03-06 12:29:27+00:00
You are focusing on the 'bricks' (the literal lines of code), but your argument overlooks the fundamental reality of Architectural Interdependency. In the era of AI-driven synthesis, we must shift our perspective from linguistic expression to systemic logic.

Think of software development as finding a structural path from point A to point D.

1.The Foundational Gateway (A → B): You are correct that AI tools are an amalgam of existing data. This foundational layer (A-B) represents the "Prior Art" or the existing IP that serves as a necessary gateway for any further development. If the path starts here, the rights of the original creators must be respected through the established legal framework of Intellectual Property Offices.

2.The Innovative Branch (F → D): However, if an orchestrator uses a tool to forge a new path via a distinct architecture (F) to reach the destination (D), that specific "delta" is a unique intellectual asset. Even if the tool "borrows" the bricks, the topological map of the new architecture belongs to the thinker who directed it.

3.The Necessity of Cross-Licensing: This is where the true core of IP exists. If the owner of the foundation (A-B) wishes to utilize the superior, optimized results of the new path (ABFD), they must respect the IP of the FD architecture. Conversely, the FD creator must acknowledge the base.

We aren't just talking about 'verbatim reproduction' of code; we are talking about the Systemic Design that justifies the existence of IP offices worldwide. The future isn't about "cleaning" licenses through AI, but about a more sophisticated world of Cross-Licensing where the foundational layer and the innovative layer recognize each other's functional logic.
by globular-toast | 2026-03-06 12:29:57+00:00
> The motivation: enabling relicensing from LGPL to MIT.

Good heavens, that's incredibly unethical. I suppose I should expect nothing more from a profession that has shied away from ethics essentially since its conception.

> I think society is better off when we share

Me too.

> and I consider the GPL to run against that spirit by restricting what can be done with it.

The GPL explicitly allows anyone to do anything with it, apart from not sharing it.

You want me to share with you, but you don't want to share with me.
by Horos | 2026-03-06 12:29:58+00:00
The "job as library" pattern is simple: instead of wiring jobs into main or a framework, you split into 3 things.

Your queue is a struct with New(db) — it knows submit, poll, complete, fail, nothing else.

Your worker is another struct that loops on the queue and dispatches to handlers registered via RegisterHandler("type", fn). Your handlers are pure functions (ctx,payload) → (result, error) carried by a dependency struct.

Main just assembles: open DB, create queue, create worker, register handlers, call worker.Start(ctx). Result: each handler is unit-testable without the worker or network, the worker is reusable across any pipeline, and lifecycle is controlled by a simple context.Cancel().

Bonus: here the queue is a SQLite table with atomic poll (BEGIN IMMEDIATE), zero external infra.

The whole "framework" is 500 lines of readable Go, not an opaque DSL. TL;DR: every service is a library with New() + Start(ctx), the binary is just an assembler.

The "all in connectivity" pattern means every capability in your system — embeddings, document extraction, replication, MCP tools — is called through one interface: router.Call(ctx,"service", payload).

The router looks up a SQLite routes table to decide how to fulfill that call: in-memory function (local), HTTP POST (http), QUIC stream (quic), MCP tool (mcp), vector embedding (embed), DB replication (dbsync), or silent no-op (noop).

You code everything as local function calls — monolith. When you need to split a service out, you UPDATE one row in the routes table, the watcher picks it up via PRAGMA data_version, and the next call goes remote.

Zero code change, zero restart. Built-in circuit breaker, retry with backoff, fallback-to-local on remote failure, SSRF guard.

The caller never knows where the work happens.

That's the "job as library" pattern: the boundary between monolith and microservices is a config row, not an architecture decision.

https://github.com/hazyhaar/pkg/tree/main/connectivity
by gzread | 2026-03-06 12:30:11+00:00
Free software is already mandated to do a lot of things, like not defraud the user. If you make a bitcoin wallet that sends 5% of your money to the developer without asking I'm pretty sure you'll be prosecuted, so the government is compelling you to ask the user for consent to do that.

When you make food you're compelled to write the ingredients. We tolerate these because they are obvious and trivial, but pedantically, food labelling laws also violate the first amendment.
by muyuu | 2026-03-06 12:30:53+00:00
> all attempts at controlling the Internet will converge on surveillance and censorship, which is why all this stuff matters

it really boils down to this sadly, and it should be pretty obvious shouldn't it?

i'm finding it befuddling that even technical audiences seem to resist connecting those dots, but strong motivated reasoning is at play: these are audiences that will often feel it will be them who will be in control, and they're also emotionally nudged by the idea of child safety
by gzread | 2026-03-06 12:32:11+00:00
I think the uproar comes because the well is already poisoned. People are already trained to respond with an outburst of anger to any law that mentions the age of the user, and will find excuses to rationalize that outburst, even when the law isn't that bad.

I mean, "compelled speech"? Really? That's people's argument? This is about as bad as the government compelling you to write a copyright notice.
by likelystory | 2026-03-06 12:32:26+00:00
I could see that:

- Firefox may be more prevalent on those using Linux, since FF is less “corporate” than Chrome or Edge.

- People using Linux are probably putting Linux on old machines that had versions of Windows that are no longer supported.

However, what I can’t say next is “PSUs would get old and stop putting out as much” because that doesn’t tend to happen. They just die.

Those running Linux on some old tower may hook up too many devices to an underpowered PSU which could cause problems, but I doubt this is the norm.

If it’s not PSUs, what is it? It’s not electromagnetic radiation doing the bitflipping because that’s too rare.

Maybe bitflips could be caused by low-quality peripherals.

People also don’t vacuum out laptops like they used to vacuum out towers and desktops, so maybe it’s dust.

Or maybe it’s all a ruse and FF is buggy, but they don’t have time to figure it out.
by jtickle | 2026-03-06 12:33:05+00:00
If you are interested, find and go to an amateur radio club meeting. The licensing test makes sure you know the regulations and some theory. It does not help introduce you to "ham culture" which is definitely a thing. I learned all the practical stuff from talking with local club members. They are usually overjoyed for new members; if not just go to the next club. Youtube and whatnot helps but it's better to be able to ask someone a stupid question, and believe me, if you want to be overwhelmed with information, ask a ham a question. In my experience there are some assholes but more genuinely kind people, mostly older folks who just want to connect with someone.
by jcgl | 2026-03-06 12:33:13+00:00
> I think agents will have much better luck with TUIs than browsers.

I’m very skeptical. Why would you think that? TUIs inherently don’t provide programmatically accessible affordances; if they have any affordances at all, they’re purely visual cues that have unstandardized and of varying quality.

Compare that to the DOM in a browser where you’ve got numerous well-understood mechanisms to convey meaning and usability. Semantic HTML and ARIA roles. These things systematically simplify programmatic consumption.
by kleiba | 2026-03-06 12:33:36+00:00
I think there's some truth to what you say - at the same time, a lot of successful products have names that basically have no meaning at all, or at least none that's related to what the project actually does ("Windows", "Cursor", "Firefox", etc...)

Of course, a point could be made that any inoffensive but basically fluffy name is still better than a geeky sounding tech babble name...
by timmg | 2026-03-06 12:33:53+00:00
I'm one of those people that goes by the "all models are wrong, but some models are useful" saying.

I'm sure the "elite overproduction" model is mostly wrong. But I also think it is an interesting/useful way to look at some things happening in society recently.

Certainly, you can think of the recent "cancel culture" phenomena as a great way to remove elites to make room for new ones. (Maybe you could argue that some of the effects of MeToo were similar.)

DEI -- along with hiring quotas -- tended to bring new "officials" at companies and government orgs ("head of diversity") which is another great way of "creating" more elites.

Kinda neat, I think. But probably not super-explanatory.
by dakheera47 | 2026-03-06 12:34:57+00:00
Job applications feel like shouting into a void. You submit, you wait, you hear nothing. So I added link tracking to my CV — now I get a ping when a real human clicks it, which job it was for, and when.

Turns out most applications get zero clicks. Some get two within 11 seconds of each other, which means someone opened it, skimmed it, and moved on. That's useful information.

It's part of JobOps: a self-hosted job application pipeline I've been building. It also scrapes jobs, scores them for fit, and tailors your CV per application using a local LLM. Just hit 300 stars.

Repo: https://umami.dakheera47.com/q/3mzRH2XZo
by pfdietz | 2026-03-06 12:34:59+00:00
Calling BS on the last claim there. It's not realistic to do it in Germany with just batteries for storage (since something like Li-ion batteries are poorly suited for handling Dunkelflauten or seasonal storage). Throw in a very low capex, if poor RTE, storage technology and renewables can easily get to 100% anywhere.

See https://model.energy/