MurphyA/hacker-news huggingface dataset:
by g947o | 2025-12-14 23:06:45+00:00
I work in a codebase that unfortunately does not support TypeScript. I use JSDoc extensively, although not with type check enabled (due to various limitations). I also work on other projects with TypeScript. My own experience is that the DX with "real" TypeScript is much, much better than JavaScript with JSDoc, without question. JavaScript with JSDoc is much more verbose, with a lot of limitations when types get long or complex compared to TypeScript. The official TypeScript language service also does not provide the same level of support in very subtle ways.

Basically, the fact that it works does not mean it works well, and I don't recommend anyone going in this other direction unless they understand what they are getting into.
by scottlamb | 2025-12-14 23:06:48+00:00
> Wait, so the OS can re-order the fsync() to happen before the write request it is supposed to be syncing? Is there a citation or link to some code for that? It seems too ridiculous to be real.

This is an io_uring-specific thing. It doesn't guarantee any ordering between operations submitted at the same time, unless you explicitly ask it to with the `IOSQE_IO_LINK` they mentioned.

Otherwise it's as if you called write() from one thread and fsync() from another, before waiting for the write() call to return. That obviously defeats the point of using fsync() so you wouldn't do that.

> If you call fsync(), [O_DSYNC] isn't needed correct? And if you use [O_DSYNC], then fsync() isn't needed right?

I believe you're right.
by tvshtr | 2025-12-14 23:07:11+00:00
I think that many devs missed the fact that Anki went through major rewrite and all of its business logic/its brain/api are now contained in few rust crates. They're a pleasure to work with and it's very easy to write alternative frontends (just finished one). You don't have to import anything because you can just use the same db, and cards as Anki.
by KetoManx64 | 2025-12-14 23:07:39+00:00
This and many other issues. - Trusting strangers with your children and hoping that they will teach your kids the same values that you have and aren't teaching them the opposite for 8 hours a day. - Your children are exposed to other children that you have no control over during their most formative years, eg: kids from abusive households, drug addict parents, etc, of which the bullying is just the visible aspect.

Lots of bad parents out there that homeschool their kids, but I know some parents that put a lot of effort into making sure their kids are socializing and participating in social programs and have a community when homeschooling.
by varenc | 2025-12-14 23:07:41+00:00
If the VPN IP and the last ~4 hops in the traceroute just ignored ICMP pings, or just all inbound traffic, it sounds like that'd make your detection harder?

I've found that this isn't even that uncommon. One of the example VPN IP's on the article had the last 3 hops in traceroute ignoring ICMP. (though TCP traceroute worked). The VPN IP itself didn't, but it easily could!

(feel free to ignore lest we not give bad actors ideas)
by Aurornis | 2025-12-14 23:07:42+00:00
As I explained above, the GDPR law has a lot of exceptions and carveouts.

It has been widely misinterpreted as a tool to force website operators to remove anything you've contributed to the website or any information about you, but that is neither consistent with the language of the law nor consistent with what the courts have found.

You are free to remove your own e-mail address from an account (visit your account page) or to never provide any identifying information at all to the website. I've also seen the moderators change account names away from identifying information for those who request it.

However, there is no GDPR requirement that websites must universally delete any and all contributions you provide to a public website if you retroactively decide you don't want you public posts to be public.

Like I said, I doubt casual HN commenters have a better grasp on the law than Y Combinator's legal team.
by ramezanpour | 2025-12-14 23:08:02+00:00
I started a challenge I call “Dopamine Detox December” in which I stopped doing certain things to stop dopamine stimulants: - No social Media - No news - No video streaming services (such as YT, Netflix, and Amazon Prime) - No electronic and energetic music

The first days were so hard but now I’m getting used to it. I documented it here: https://ramezanpour.net/post/2025/12/11/dopamine-detox-is-ha...
by extr | 2025-12-14 23:08:55+00:00
Are those responses really "better"? Having the LLM tell you you're wrong can mean different things. Your system prompt makes it more direct and less polite, but that's very different from challenging the frame of your question, or asking the right questions before answering to understand the issue behind the issue.

It's like how people used to make fun of StackOverflow:

> I'm having trouble with X, how do I make it work?

> What are you trying to do? Z? Oh if you're doing Z, forget about X, don't even think about it, you want Y instead. (Never answers anything about X).

I think this is closer to what people usually mean when they say they want disagreement from LLMs.
by lern_too_spel | 2025-12-14 23:09:09+00:00
> Many times.

Clearly not.

> They detail methods and partners used in mass surveillance on US soil involving US corporations and US routed internet backbone connections.

PRISM is a data ingestion system whereby the NSA ingests data collected by the FBI Data Intercept Technology Unit that gets data from specific accounts under court order. The DITU is clearly labeled in the diagram on the slide showing how it works. The NSA has no integration with the companies at all. The "Internet backbone" has nothing to do with PRISM.

> No independently verifiable proof is provided that US persons are not targeted by this program.

If the FBI gives a section 702 court order to a company for an account that isn't for a foreigner outside the U.S., they are not going to comply. The FBI wouldn't even ask. The very idea that you think "verifiable proof" is needed shows you believed the ridiculous conspiracy theory that the NSA could directly fetch any account's data, which was supported by neither the law nor the leaked documents but only by Greenwald's fever dreams

> Instead we're gifted such lovely terms as LOVEINT: https://en.wikipedia.org/wiki/LOVEINT in which the NSA admits to warrant-less domestic spying for the most trivial of reasons.

Yet another document that you claim to have read but didn't. The cases where they were able to surveil the person they were stalking were foreigners outside the U.S. The domestic cases involved querying for associates using the metadata. Neither one is "domestic spying" and certainly don't show any evidence of domestic mass surveillance.

> "However, in recent years, FVEY documents have shown that member agencies are intentionally spying on one another's private citizens and sharing the collected information with each other."

Once again, if you bothered to read the source documents, you would find that this quote is not supported by the citations. The first citation shows that the U.S. The first is about how the U.S. is allowed to use UK phone numbers in its metadata collection for chaining analysis, not to share that data or analysis with the UK as the quote claims. The second is about how Australia is allowed to share data it collected outside the U.S. and the U.S. with the U.S. without first looking for and removing the data of Australians who happened to be abroad whose data was collected, not for the U.S. to spy on Australians as your quote claims.

Lesson: If you see a claim that describes something that is clearly illegal, you should verify it before you repeat stuff that is very clearly nonsense and come off as a tin foil hat wearing conspiracy theorist.
by JimDabell | 2025-12-14 23:09:12+00:00
I’ve implemented a search crawler before, and detecting and switching to the WordPress API was one of the first things I implemented because it’s such an easy win. Practically every WordPress website had it open and there are a vast number of WordPress sites. The content that you can pull from the API is far easier to deal with because you can just pull all the articles and have the raw content plus metadata like tags, without having to try to separate the page content from all the junk that whatever theme they are using adds.

> The reality is that the ratio of "total websites" to "websites with an API" is likely on the order of 1M:1 (a guess).

This is entirely wrong. Aside from the vast number of WordPress sites, the other APIs the article mentions are things like ActivityPub, oEmbed, and sitemaps. Add on things like Atom, RSS, JSON Feed, etc. and the majority of sites have some kind of alternative to HTML that is easier for crawlers to deal with. It’s nothing like 1M:1.

> Investing the effort to 1) recognize, without programmer intervention, that some random website has an API and then 2) automatically, without further programmer intervention, retrieve the website data from that API and make intelligent use of it, is just not worth it to them when retrieving the HTML just works every time.

You are treating this like it’s some kind of open-ended exercise where you have to write code to figure out APIs on the fly. This is not the case. This is just “Hey, is there a <link rel=https://api.w.org/> in the page? Pull from the WordPress API instead”. That gets you better quality content, more efficiently, for >40% of all sites just by implementing one API.
by adsharma | 2025-12-14 23:09:46+00:00
Cypher tries to solve problems closer to storage.

GraphQL was designed to add types and remote data fetching abstractions to a large existing PHP server side code base. Cypher is designed to work closer to storage, although there are many implementations that run cypher on top of anything ("table functions" in ladybug).

Neo4j's implementation of cypher didn't emphasize types. You had a relatively schemaless design that made it easy to get started. But Kuzu/Ladybug implementation of cypher is closer to DuckDB SQL.

They both have their places in computing as long as we have terminology that's clear and unambiguous.

Look at the number of comments in this story that refer to GraphQL as GQL (which is a ISO standard).
by linster | 2025-12-14 23:09:49+00:00
Im building a calendar for my car navigation system https://e39.dev

Last winter I built a Matrix client for it. This time around I want to wrap Akonadi with a DBus shim and consume that model in custom calendar widgets and UX I’m making for a rotary knob ui.

I want to run the same app on an intel atom tablet on the side of my fridge, with a Griffin PowerMate hooked up to it for input.
by qubex | 2025-12-14 23:10:06+00:00
I have a 2010 Toshiba Regza TV that has never been connected to the internet and is from the time when “1080p” was the new hotness and there was a kerfuffle going on about 3D televisions. Lots of HDMI 1.2 (?) ports, and a lot of legacy connectors including a SCART for when I want to bring a tear to my eye by watching VHS tapes from my youth. Attached to a 3rd generation AppleTV that could take a round and not drop the line; a device still supported but also too ancient for the flamboyant new Liquid Glass UI. Also attached: a Raspberry Pi 4 with an external 8TB HD. Amongst other things it’s the authoritative node for my Resilio Sync mesh of media and ebooks across all my devices.

I’m a happy camper. Newer stuff would feel like a downgrade. Couldn’t care less about 4K video. Never wilfully seen sought it out, unimpressed when I see it.

I still go to the cinema regularly, alone. Something very deliberate about going to a place to pay a price to go into a specific space to do a specific thing. Pandering to second screen audiences has produced some of the most profoundly insulting media in living memory.
by paddy_m | 2025-12-14 23:10:14+00:00
Buckaroo - the data table viewer for jupyter.

I recently integrated Lazy Polars and running analytics in background processes so I can reliably provide a fast table viewing experience on dataframes that would normally exhaust memory of the jupyter kernel. Analytics are run column by column and results are written to cache, if a column fits into memory individually, summary stats for the entire dataframe can be computed.

Here's a demo video of scrolling through 19M rows, and running background summary stats.

https://www.youtube.com/shorts/x1UnW4Y_tOk
by justAnotherHero | 2025-12-14 23:10:45+00:00
The day spotify wrapped dropped, I found out accidentally that they had used Rive as their team was happy to share this on X.

At the same time I was going through it trying to implement a handful of Rive animations in our app built with React Native, with not so stellar results and a taste in my mouth so bad that it inspired me to write about it.

Mostly to discourage other small teams(with a solo dev like us) saving their roadmaps in process and to share how I intend to tackle animations in the future.
by icegreentea2 | 2025-12-14 23:11:13+00:00
I only looked at the study about the open/free font. Two things I noticed were that the experiment design seemed to use lists of words, instead of reading in sentences or paragraphs, and that the base performance of (for example the correct letter rate) the traditional fonts were also very high (basically already 100%).

It's possible that the test used does not generalize to other reading contexts and populations.
by mmooss | 2025-12-14 23:11:21+00:00
> What are the allergic affects of the tree, its raw sap, the liquid lacquer, and maybe for hypersenstive/reactive urushiol allergies, the finished lacquer?

Answering my own question, based on reading my own source more carefully (Gladman 2006 p.122):

The Japanese urushi tree, T. verniciflua, is among "plants containing uroshiol cross-reacting chemicals", which are described as follows (note that genus Toxicodendron is in family Anacardiaceae):

"Similar compounds found in other members of the Anacardiaceae family, as well as in several non-Anacardiaceae plants, can lead to cross-reactions and to an identical clinical picture (Table 2). However, dermatitis induced by these cross-reactors is rare compared with the frequency of dermatitis from Toxicodendron species. The allergens in the non-Toxicodendron plants listed in Table 2 are generally noncatechol phenols and resorcinols, and not the highly allergenic catechols in poison ivy, oak, and sumac. The hypothesis that early skin exposure to catechols may allow cross-reaction to other Anacardiaceae, whereas early oral exposure to phenols and resorcinols may induce tolerance, has been expressed."

Regarding the chemical composition, urushiol (in poison ivy/oak/sumac): "is a mixture of 3-n-pentadecylcatechols, which contain a catechol ring moiety substituted with different aliphatic side chains at position 3 or 4."
by joshwitzer | 2025-12-14 23:11:31+00:00
The recent attack at Bondi Beach in Sydney has been deeply distressing, particularly for those with ties to the area.

In response, a grassroots online petition has been created as a symbolic gesture of solidarity with the victims and their families.

I’m sharing this here not as a call to action, but to understand how online communities—especially technical ones—engage with real-world tragedies.

How do people here think platforms like ours should respond to or acknowledge events like this? Are symbolic digital actions meaningful, or are there better ways for online communities to contribute?
by hirsin | 2025-12-14 23:11:48+00:00
Authz overhead for graphql is definitely a problem. At GitHub we're adding github app support to the enterprise account APIs, meaning introducing granular permissions for each graphql resource type.

Because of the graph aspect, queries don't work til all of the underlying resources have been updated to support github apps. From a juice vs squeeze perspective it's terrible - lots of teams have to do work to update their resources (which given turnover and age they may not even be aware of) before basic queries start working, until you finally hit a critical mass at some high percentage of coverage.

Add to all that the prevailing enterprise customer sentiment of "please anything but graphql" and it's a really hard sell - it's practically easier and better to ask teams to rebuild their APIs in REST than update the graphql.
by auxiliarymoose | 2025-12-14 23:12:21+00:00
This is how I develop web software, and I've found it productive and maintainable.

A bonus of this approach is that it clearly delineates what type information is available at runtime, vs what type information is just a comment. (especially useful when working with serialized data).

I also like that it generally means all of the preconditions and postconditions for functions are in a single place (both the prose and the technical information are in the JSDoc comment), keeping the code itself low-noise and boiled down to its essence, and providing a natural place to write example inputs and outputs to guide usage.

As for generic types, I use them extensively, and this is made less verbose e.g. on function calls by using an @type annotation on the function which accepts a TypeScript signature without needing separate @template + @param annotations.

It's awesome stuff, and I'm happy that TypeScript works so well with JSDoc!
by sunshowers | 2025-12-14 23:12:25+00:00
It depends. I've been working on a series of large, gnarly refactors at work, and the process has involved writing a (fairly long), hand-crafted spec/policy document. The big advantage of Opus has been that the spec is now machine-executable -- I repeatedly fed it into the LLM and see what it did on some test cases. That sped up experimentation and prototyping tremendously, and it also found a lot of ambiguities in the policy document that were helpful to address.

The document is human-crafted and human-reviewed, and it primarily targets humans. The fact that it works for machines is a (pretty neat) secondary effect, but not really the point. And the document sped up the act of doing the refactors by around 5x.

The whole process was really fun! It's not really vibe coding at that point, really (I continue to be relatively unimpressed at vibe coding beyond a few hundred lines of code). It's closer to old-school waterfall-style development, though with much quicker iteration cycles.
by timschmidt | 2025-12-14 23:12:35+00:00
Yes I am familiar with the official statements. They do not constitute "independently verifiable proof ... that US persons are not targeted by this program." and carry far less weight than the previously quoted and linked testimony which directly contradicts them when considered in context of the disclosures.

The same folks you'd have us believe without question have lied repeatedly about these very programs:

http://www.allgov.com/news/controversies/nsa-director-alexan...

https://apnews.com/article/business-33a88feb083ea35515de3c73...

Since the official statements aren't trustworthy, I'll accept independently verifiable (by a group like EFF) proof. I'd be a sillybilly to accept less.

Should be pretty easy. NSA has EFF's contact information from that lawsuit ( https://en.wikipedia.org/wiki/Jewel_v._National_Security_Age... ) in which they destroyed evidence against a court order, and argued "state secrets" against every claim. You know, the one that explicitly avoided deciding the constitutionality of all this on procedural grounds. Totally trustworthy behavior. Everyone responds that way when asked to prove they're not mass surveilling Americans.
by nickjj | 2025-12-14 23:12:43+00:00
I've been a long time Windows user (20+ years) who heavily uses WSL 2 as my dev environment with tmux / Neovim but I'm switching to native Linux before the end of this year.

I tried once 7 years ago but ran into major audio issues that were a deal breaker but I'm hoping the Linux kernel has improved. I have the same hardware as before.

My dotfiles have been public for many years and can 1 shot a new or existing system in a few minutes with a bunch of command line tools on Debian, Ubuntu, Arch (with or without WSL 2) and macOS. It has an install script and theme switching for a long time which I've used to set up a a few systems (personal desktop, laptop and work laptop).

I've been casually tweaking a laptop running Arch with niri. I'm preparing a bunch of things in my https://github.com/nickjj/dotfiles to prepare for that push which will work on Arch Linux and be opt-in to install and configure a GUI and assorted tools.
by deepsquirrelnet | 2025-12-14 23:13:05+00:00
I’m finishing up a language identification model that runs on cpu, 70k texts/s single thread, 13mb model artifact and 148 supported languages (though only ~100 have good accuracy).

This is a model trained as static embeddings from the gemma 3 token embeddings.

https://github.com/dleemiller/WordLlamaDetect
by Anamon | 2025-12-14 23:13:09+00:00
The definition of what we see progress in with LLMs as anything akin to intelligence is your supposition, though.

It's a view I don't share at all. I don't see anything that could be even remotely considered intelligent under any reasonable definition of the term. Useful in places, yes. Intelligence, hard no. So the question of whether it will approch or surpass human intelligence makes no sense to me, because the technology and its progress are in an entirely different dimension and unrelated to that idea or goal.
by neechoop | 2025-12-14 23:13:15+00:00
HALUD YOUR HORSES is a small containerized development workflow designed to reduce exposure to supply-chain attacks in the JavaScript and Node.js ecosystem. Every project runs inside an isolated container with its own node_modules volume. Nothing from npm executes directly on the host machine. The tools are simple shell scripts that create, enter, and fork project-specific development images.

https://github.com/maya-undefined/halud_your_horses
by cadamsdotcom | 2025-12-14 23:14:21+00:00
You need to take yourself out of the loop. Give the agent tools (usually short scripts that the agent wrote for you) that let it check things like:

are we following the project’s architectural guidelines?

Is the right visual spacing on every page in the UI?

The better the agent’s tools are at finding problems and informatively (in English) recommending fixes to the agent, the more leveraged you will be.
by stephen | 2025-12-14 23:15:34+00:00
Right, my point is that this:

https://docs.dagger.io/cookbook/services?sdk=typescript

Still looks like "a circa-2000s Java builder API" and doesn't look like pleasant / declarative / idiomatic TypeScript, which is what aws-cdk pulled off.

Genuinely impressively (imo), aws-cdk intermixes "it's declarative" (you're setting up your desired state) but also "it's code" (you can use all the usual abstractions) in a way that is pretty great & unique.
by culi | 2025-12-14 23:15:58+00:00
> although not with type check enabled (due to various limitations)

Curious what limitations there are on static type checking. It seems like a matter of your IDE setup

> My own experience is that the DX with "real" TypeScript is much, much better than JavaScript with JSDoc

I agree with the DX point. I would just point out that if you're using JSDoc and getting intellisense from it, you are using TypeScript
by square_usual | 2025-12-14 23:16:45+00:00
> I hope no one out there’s paying per token!

Some companies are. Yes, for Claude Code. My co used to be like that as it's an easy ramp up instead of giving devs who might not use it that much a $150/mo seat; if you use it enough you can have a seat and save money, but if you're not touching $150 in credits a month just use the API. Oxide also recommends using API pricing. [0]

0: https://gist.github.com/david-crespo/5c5eaf36a2d20be8a3013ba...