MurphyA/hacker-news huggingface dataset:
by Telaneo | 2026-02-11 03:57:21+00:00
> That's the thing though, this stuff does actually work, if you just install debian or whatever it works.

You say that, but your anecdote is no more true than anyone else's. Or maybe other people just have different needs to you and the others for whom Wayland seems to work fine, and those needs are in conflict with the state of Wayland today.

Not to mention there are people in this very thread telling people to not recommend Debian to newcomers for fairly good reasons.[1] If I should use Debian because Wayland works fine there, but then I shouldn't use Debian because my new-ish GPU doesn't work well with it, or whatever other reason I'd rather not use Debian, then that translates into 'don't use Linux'.

> The complaint here is that the projects or layers that implement the features have changed.

Which is a reasonable complaint when that results in missing functionality compared to what was before.

> It would be like if Linux used to include a bundled web browser in the kernel and they decided to split it off in to a user space app which comes preinstalled on the distro. And then people complain because now the kernel doesn't have a web browser and in theory a distro could exist which doesn't have one.

People aren't complaining because there in theory could be Wayland implementations which lack functionality. They're complaining because the Wayland implementations which are used in distros today lack functionality they use which was present when they used X. They don't want to use a Wayland implementation which doesn't have

> Xorg was bloated with a kitchen sink of features which have now been broken out into separate projects which are still included out of the box when you install a normal non minified distro.

I'll take a bloated kitchen sink that works over a normal sink that randomly sprays water in my face.

Still waiting for drag-and-drop to not be broken on Plasma.[2] I doubt it's hitting everyone, since then there would be work happening to fix it, but it still seems to be making the rounds every now and then.[3] The problem doesn't seem to be the distro having been cut down to the bone, at least to me. I've heard a non-trivial amount of Wayland problems from Ubuntu and CachyOS users. Ubuntu is by no means minified, and although CachyOS is, it's one of the more popular distros and one people seem to like, so random Wayland problems should trickle up and generate bug reports and fixes to the point that people shouldn't be having significant issues any more.

[1] https://news.ycombinator.com/item?id=46966439

[2] https://bugs.kde.org/show_bug.cgi?id=484018

[3] https://old.reddit.com/r/kde/comments/1qk1lh8/kde_654_waylan...
by devsda | 2026-02-11 03:57:53+00:00
At this point, I think we should look at implementing filters that send different response when AI bots are detected or when the clients are abusive. Not just simple response code but one that poisons their training data. Preferably text that elaborates on the anti consumer practices of tech companies.

If there is a common text pool used across sites, may be that will get the attention of bot developers and automatically force them to backdown when they see such responses.
by JohnTHaller | 2026-02-11 03:58:19+00:00
The Chinese AI scrapers/bots are killing quite a bit of the regular web now. YisouSpider absolutely pummeled my open source project's hosting for weeks. Like all Chinese AI scrapers, it ignores robots.txt. So forget about it respecting a Crawl-delay. If you block the user agent, it would calm down for a bit, then it would just come back again using a generic browser user agent from the same IP addresses. It does this across 10s of thousands of IPs.
by dang | 2026-02-11 03:58:24+00:00
Glad to see you commenting here despite the, er, unsubstantive disposition of some of the commenters! (I'm a mod here btw in case that wasn't clear.)

I think the root problem is that the OP (https://entire.io/blog/hello-entire-world/) is the wrong genre for HN. It's a fine fundraising announcement, but that sort of enthusiastic non-technical post tends to rub our audience the wrong way because what they really want is technical details. Spectacular non technical details like high valuations, etc., tend to accentuate this.
by bigwheels | 2026-02-11 03:58:42+00:00
This seems like an uncharitable take. Personally I would refrain from putting a 20 year barrier around the qualification, that seems a little harsh.

TFA's take makes sense in a certain context. Getting a high-quality design which is flexible in desirable ways is now easier than ever. As the human asking an LLM for the design, maybe you shouldn't be claiming to have "designed" it, though.
by leptons | 2026-02-11 03:59:01+00:00
Splitting up the country to avoid a bloody civil war? Are you serious? The first thing that happens if California secedes is California's ports will be blockaded by US warships. And it's going downhill quickly from there. This administration would love nothing more than justification to lock up every citizen left-of-right-wing, or just exterminate them outright. They have been demonizing liberals for years as child molesters and satanists, casting them as less than human, violent, and depraved. You think a bloodless separation is possible? It's more likely that pigs will sprout wings and fly.
by p-s-v | 2026-02-11 03:59:08+00:00
Working on a knife steel comparison database. It lets you visually compare steels across key performance axes — edge retention, corrosion resistance, toughness, and ease of sharpening — using interactive radar charts.

You can filter by use case (EDC favorites, budget-friendly, high edge retention, etc.) and get a quick read on tradeoffs between steels like S35VN, MagnaCut, M390, and others.

Built it because I kept seeing the same "which steel is best" debates in knife forums with no good way to actually compare data side by side.
Site: https://new.knife.day/blog/knife-steel-comparisons/all
https://new.knife.day/steels
by stitched2gethr | 2026-02-11 03:59:14+00:00
I think the rationale is that with the right tools you can move much faster, and not burn everything to the ground, than just rawdogging Claude. If you haven't bothered setting up extra tools you may still be faster / better than old you, but not better than the you that could be. I'm not preaching, that's just the idea.

> That is not software engineering or development, it's brogrammer trash.

Yes, but it's working. I'm still reading the code and calling out specific issues to Claude, but it's less and less.
by autoexec | 2026-02-11 03:59:22+00:00
It's more like companies recommending alcohol to a alcoholic who has been sober for 13 months because they know they are going through a divorce and are currently 15 feet from a bar, or a company targeting a person with Alzheimer's right at the time they know they'll start sundowning, or even just cranking up nostalgia in their advertising because they know your last surviving parent died last year and you won't be going home for the coming holidays.

Ad targeting these days can be intensely personal and manipulative. There are lots of ways ads could be used that aren't harmful, but also lots of ways that they can. Imagine an ad using a deepfake of your own child who died in a car crash telling you in his voice how he might still be alive if your car only had <insert new safety feature here>. There are clearly lines that can and should be drawn. There are extremely unethical practices happening today because companies are amoral monsters that only care about money and there are almost no laws or regulations to stop them from doing whatever they want.

Ads aren't like cigarettes. You make the choose to smoke or not. Nobody is asking you before they show you an ad if you want to see it or not, ads are just forced on you. Only rarely are you given any opportunity to opt out of them, and the industry spends a lot of money to circumvent any efforts you take to cut them out of your life. You can quit cigarettes, but they wont let you quit advertising.
by famouswaffles | 2026-02-11 03:59:37+00:00
The ML Research world (so this isn't a matter of the uninformed) was surprised by the performance of GPT-2 and utterly shocked by GPT-3. Why ? Isn't that strange ? Did the transformer architecture fundamentally change between these releases ? No, it did not at all.
So why ? Because even in 2026, never 18 and 19, the only way to really know how a neural network would perform trained with x data at y scale is train it and see. No elaborate "laws", no neat equations. Modern Artificial Intelligence is an extremely empirical, trial and error field, with researchers often giving post-hoc rationalizations for architectural decisions. So no, we do not have any precise models that tell us how a LLM will respond to any query.
by ninjin | 2026-02-11 03:59:55+00:00
Exactly. The problem is that by their very nature some content has to be dynamically generated.

Just to add further emphasis as to how absurd the current situation is. I host my own repositories with gotd(8) and gotwebd(8) to share within a small circle of people. There is no link on the Internet to the HTTP site served by gotwebd(8), so they fished the hostname out of the TLS certificate. I am getting hit once every few seconds for the last six or so months by crawlers ignoring the robots.txt (of course) and wandering aimlessly around "high-value" pages like my OpenBSD repository forks calling blame, diff, etc.

Still managing just fine to serve things to real people, despite me at times having two to three cores running at full load to serve pointless requests. Maybe I will bother to address this at some point as this is melting the ice caps and wearing my disks out, but for now I hope they will choke on the data at some point and that it will make their models worse.
by hattmall | 2026-02-11 04:00:51+00:00
I don't know. I thought it made sense in that the previous commenter was lamenting the "boomers" and how everything will be better when they are gone. Without actually realizing that their isn't anything inherently problematic with boomers, it's just that they are the first generation that didn't reproduce at a replacement level. Making the aged a larger demographic than than the youth. That problem, however isn't going away, and is in fact magnified in each subsequent current generation.
by aaravchen | 2026-02-11 04:02:06+00:00
For Matrix clients I'm given to understand the issue is the lack of XEP equivalents. Either your server(s) and clients are all on the latest available version or you're SOL.
This makes third party clients effectively impossible since every change is basically a breaking change and the client and server are tightly coupled.

XMPP took it a step further and has feature segmentation by defining XEPs. This is basic minimum for defining an extensible protocol for client-server communication and has been for decades (maybe it was a new idea when XMPP first started). Notably, browsers use this same thing with w3c specs, which is why they keep working too. If you don't have this feature segmentation and negotiation, you don't have a functional open source client-server protocol full-stop (looking at you Matrix).

I think what XMPP has gotten better at is doing like with w3c and setting baseline minimum features, which has allowed more standardization of clients.
by avaer | 2026-02-11 04:02:35+00:00
If anyone is curious I implemented a prototype of this at https://github.com/avaer/markdownlang

I used Opus 4.6. In my defense, in addition to wanting to try a live version of this because I think it's super cool, I was also academically curious if we've gotten to the point where we have one-shot blog post -> compiler pipelines working.

Turns out, the answer is yes.
by eqvinox | 2026-02-11 04:03:29+00:00
I think the key thing here is the context and size; the searchable content of even a lot of e-mails is quite dense and small. I'm not a search expert but I'd look at precalculated indexes on very short substrings (3-4 characters maybe?), have the client pull those it needs for a particular query and then process client-side from there. (Doesn't even need figuring out in advance what people will search for, though that'd certainly improve things.)

I did say you pay with engineering, didn't I? :)
by freetime2 | 2026-02-11 04:03:40+00:00
Looks like a great car. As Marques Brownlee puts it [1], this is Rivian's "Model Y fighter". And I personally find the R2 to be much more appealing than a Model Y in terms of size, shape, and interior.

But we have been misled so many times about EV prices prior to launch, I think it's important to wait until we see what it actually costs for different trim levels before making comparisons to the Model Y. That $45,000 price they are throwing around could very well be for a trim that isn't even available at launch.

And anyway if I were going to buy a new compact crossover today, I'd probably lean more toward the RAV4 PHEV. It's an EV most of the time, I can refill it up with gas during long trips, it's got tactile buttons, and it has carplay.

[1] https://www.youtube.com/watch?v=EfReqcUJfBU
by 1vuio0pswjnm7 | 2026-02-11 04:03:47+00:00
No user-agent header required:

https://www.msn.com/en-us/money/other/waymo-exec-reveals-com...

Text-only, HTTPS optional:

http://assets.msn.com/content/view/v2/Detail/en-in/AA1VL9B3/

https://assets.msn.com/content/view/v2/Detail/en-in/AA1VL9B3...

Simple HTML:

{
x=AA1VL9B3
ipv4=23.11.201.94
echo "<meta charset=utf-8>";
(printf 'GET /content/view/v2/Detail/en-in/'$x'/ HTTP/1.0\r\n'
printf 'Host: assets.msn.com\r\n\r\n') \
|nc -vvn $ipv4 80 |grep -o "<p>.*</p>"|tr -d '\134'
} > 1.htm
firefox ./1.htm
by lock1 | 2026-02-11 04:03:54+00:00
> Because in those examples you can have a User whose email property is a ParseError and you still end up having to check "is the email property result for this user type Email or type ParseError?"

In languages with a strong type system, `User` should hold `email: Option<ValidatedEmail>`. This will reject erroneous attempts `user.email = Email::parse(raw_string);` at compile time, as `Result<Email,ParseError>` is not compatible / assignable to `Option<ValidatedEmail>`.

It's kind of a "oh I forgot to check `email.isValidated`" reminder, except now being presented as an incompatible type assignment and at compile-time. Borrowing Rust's syntax, the type error can be solved with

user.email = Email::parse(raw_string)
.ok()
.and_then(|wellformed_email| {
email_service.validate_by_send_email(wellformed_email)
});

Which more or less gets translated as "Check email well-formedness of this raw string. If it's well-formed, try to send a test email. In case of any failure during parsing or test email, leave the `user.email` field to be empty (represented with `Option::None`)".

> and it's very similar to just checking a validation bool except it's hiding what's actually going on.

Arguably, it's the other way around. Looking back at `email: Option<ValidatedEmail>`, it's visible at compile-time `User` demands "checking validation bool", violate this and you will get a compile-time error.

On the other hand, the usual approach of assigning raw string directly doesn't say anything at all about its contract, hiding the contract of `user.email` must be a well-formed, contactable email. Not only it's possible to assign arbitrary malformed "email" string, remembering to check `email.isValidated` is also programmer due diligence, forget once and now there's a bug.
by themafia | 2026-02-11 04:04:20+00:00
> with all the rules and regulations out there.

And who wrote those? Aren't they just another part of the moat?

> It's actually quite fascinating how it was started.

Visa was founded in 1958 by Bank of America (BofA) as the BankAmericard credit card program.[1] In response to competitor Master Charge (now Mastercard), BofA began to license the BankAmericard program to other financial institutions in 1966.[8] By 1970, BofA gave up direct control of the BankAmericard program, forming a cooperative with the other various BankAmericard issuer banks to take over its management. It was then renamed Visa in 1976.

The answer is: "Banks."
by alex_metacraft | 2026-02-11 04:05:01+00:00
Hey HN. I've been working on askill, a CLI package manager for agent skills (SKILL.md files used by Claude Code, Codex, Cursor, etc.).

There are already several skill directories and installers out there (skills.sh, skillregistry.io, and others). I saw the Show HN for skills.sh a few weeks ago and noticed comments asking for version management, proper uninstalls, and more transparency around what gets installed. Those are exactly the problems I'd been working on, so I figured it was worth sharing.

What askill does differently:

1. AI safety scoring. Every skill indexed on askill.sh gets an automated review across five dimensions: safety, clarity, completeness, actionability, and reusability. The full breakdown is visible before you install. This was motivated by a simple concern — a SKILL.md tells your agent what to do, what commands to run, how to behave. Trusting random files from GitHub without any review felt like the early days of npm before anyone thought about supply chain security.

2. Real package management. askill publish lets authors release versioned skills with semver. askill add @scope/name@^1.0 resolves versions. askill update and askill remove do what you'd expect. Skills can declare dependencies on other skills. None of the existing tools I've seen handle versioning or dependency resolution.

3. Precise installs. askill add @scope/name installs one skill. Most alternatives operate at the repo level — if a repo has 12 skills you only want 1, you still get all 12. askill also lets you install from GitHub directly (askill add gh:owner/repo@skill-name) if the skill hasn't been published.

4. Cross-agent symlinks. Skills are written to .agents/skills/ (canonical location) and symlinked into each agent's expected directory (.claude/skills/, .codex/skills/, .cursor/skills/, etc.). One install, all agents see it. This also means removal is clean — delete the canonical copy and all symlinks go away.

5. Open indexing. An automated crawler finds SKILL.md files across public GitHub repos and indexes them. Authors can also run askill submit <github-url> to trigger indexing of a specific repo. No manual curation.

The AI scoring pipeline runs hourly. It re-evaluates whenever the source SKILL.md content changes. The scoring is done by an LLM with 11 heuristic rules as guardrails (detecting auto-generated content, internal config paths, hardcoded secrets, etc.). I'm under no illusions that LLM-based review is perfect, but it's a starting point and better than nothing.

The CLI is open source (MIT): https://github.com/avibe-bot/askill

Browse indexed skills: https://askill.sh

Happy to answer questions about the architecture, the scoring system, or anything else.
by dietr1ch | 2026-02-11 04:05:05+00:00
I remember 2 events where the activation was completely out of place and felt it was endangering rather than protecting me.

- Driving from Tahoe to SF where the limited lane visibility due to the slope and a slight twist made the system think I was going to hit the car I was overtaking (from the 2nd and left-most lane). This really felt dangerous since it activated mid-turn and messed with the car's balance.

- The other event was a roundabout where a car yielding to get in behind plants jump-scared the breaking system. At 10-15 mph or so the unexpected breaking wasn't dangerous though, worst-case scenario you get rear ended at low speeds.

Beyond that, overtakes where you slow down as you return to your lane may trip the system, but those cases are fair even though the following distance they intend is a bit too cautious. I reckon my Mom would be holding the roof with both hands if she was there, but my Dad & siblings unfazed.
by toraway | 2026-02-11 04:06:08+00:00
What kind of barrier/moat/network effects/etc would prevent someone with a Claude Code subscription from replicating whatever "innovation" is so uniquely valuable here?

It's somewhat strange to regularly read HN threads confidently asserting that the cost of software is trending towards zero and software engineering as a profession is dead, but also that an AI dev tool that basically hooks onto Git/Claude Code/terminal session history is worth multiples of $60+ million dollars.
by Domenic_S | 2026-02-11 04:06:41+00:00
Despite being politically charged, this seems like it could be reasonable given what we know:

* The study was on people age 50+,

* In the US for adults 65+ (a key high-risk group in the trial), the ACIP preferentially recommends higher-antigen or adjuvanted options like Sanofi, Seqirus adjuvanted, recombinant high-antigen Flublok, etc as the "best-available standard of care",

* The "standard flu shot" Moderna used is likely not one of the above, or they would have said so

The idea here is to see if the new shot is meaningfully better than the best existing/approved option for the target demographic, not to see if it's better than a standard shot you give a healthy 20-year-old.

All-in-all feels like a nothingburger.
Show HN: Obsidian Visual Skills – Generate Canvas, Excalidraw, Mermaid from Text
by axtonliu | 2026-02-11 04:06:42+00:00
Hi HN,

I built a set of Claude Code skills that turn text into three types of visual diagrams for Obsidian users.

The Problem:

I take lots of notes in Obsidian. When I want to visualize concepts, I have to manually draw in Excalidraw (time-consuming), write Mermaid syntax (syntax errors, trial and error), or arrange Canvas nodes by hand (tedious positioning).

What It Does:

Three skills, each outputs a different format:

1. Excalidraw Diagram – Hand-drawn style diagrams with CJK font support. Three output modes: Obsidian (.md), Standard (.excalidraw), and Animated.

2. Mermaid Visualizer – Flowcharts, sequence diagrams, state diagrams. Built-in syntax error prevention for common pitfalls (list conflicts, subgraph naming, special characters).

3. Canvas Creator – Obsidian's native .canvas format. MindMap or Freeform layouts with automatic spacing algorithms.

Example prompts:

"Create an Excalidraw flowchart showing the CI/CD pipeline"
"Visualize this process as a Mermaid diagram"
"Turn this article into an Obsidian Canvas"

Technical Notes:

Skills are just Markdown files that Claude Code loads on demand. No server setup, no API keys needed (unless you want image export). The Mermaid skill has built-in error prevention rules learned from 50+ common failures.

Repo: https://github.com/axtonliu/axton-obsidian-visual-skills

Demo video and screenshots in the README.

Happy to discuss the error prevention approach or Excalidraw animation mode!
by zhyder | 2026-02-11 04:07:24+00:00
Hmm the whole point of checkpoints seems to be to reduce token waste by saving repeat thinking work. But wouldn't trying to pull N checkpoints into context of the N+1 task be MUCH more expensive? It's at odds with the current practice of clearing context regularly to save on input tokens. Even subagents (which I think are the real superpower that Claude Code has over Gemini CLI for now) by their nature get spawned with fresh near-empty context.

Token costs aside, arguably fresh context is also better at problem solving. When it was just me coding by hand, I didn't save all my intermediate thinking work anywhere: instead thinking afresh when a similar problem came up later helped in coming up with better solutions. (I did occasionally save my thinking in design docs, but the equivalent to that is CLAUDE.md and similar human-reviewed markdown saved at explicit -umm- checkpoints)
by barishnamazov | 2026-02-11 04:08:03+00:00
> What matters less is the mechanical knowledge of how to express the solution in code. The LLM generates code, not understanding.

I think it's the opposite -- if you have a good way to design your software (e.g., conceptual and modular), LLM will generate the understanding as well. Design does not only mean code architecture, it also means how you express the concepts in it to a user. If software isn't really understood by humans, I doubt LLMs will be able to generate working code for it anyway, so we get a design problem to solve.