Article URL: https://www.apa.org/pubs/journals/releases/xge-xge0001772.pdf
Comments URL: https://news.ycombinator.com/item?id=44290597
Points: 16
# Comments: 11
https://www.apa.org/pubs/journals/releases/xge-xge0001772.pdf

Article URL: https://www.chemistryworld.com/opinion/benzene-at-200/4021504.article
Comments URL: https://news.ycombinator.com/item?id=44290413
Points: 67
# Comments: 24
https://www.chemistryworld.com/opinion/benzene-at-200/4021504.article

Article URL: https://blog.darklang.com/darklang-goes-open-source/
Comments URL: https://news.ycombinator.com/item?id=44290653
Points: 43
# Comments: 9

Article URL: https://yalereview.org/article/jennifer-krasinski-richard-foreman
Comments URL: https://news.ycombinator.com/item?id=44291026
Points: 5
# Comments: 1
https://yalereview.org/article/jennifer-krasinski-richard-foreman

Hello HN,
I built a Typescript library (named socket-call, for lack of a more sexy name) whose goal is to be able to call socket.io events as regular functions.
So you declare your server-side like so:
...
const listenEvents = (services: UserServices) => ({
// Add your events here, the name of the event is the name of the function
login: async (username: string) => {
services._socket.data.user = { username };
console.log(`User ${username} logged in`);

Article URL: https://turso.tech/blog/working-on-databases-from-prison
Comments URL: https://news.ycombinator.com/item?id=44288937
Points: 214
# Comments: 139

Article URL: https://www.theregister.com/2025/06/16/salesforce_llm_agents_benchmark/
Comments URL: https://news.ycombinator.com/item?id=44289554
Points: 20
# Comments: 8
https://www.theregister.com/2025/06/16/salesforce_llm_agents_benchmark/
Article URL: https://personal.math.ubc.ca/~cass/graphics/text/www/
Comments URL: https://news.ycombinator.com/item?id=44289705
Points: 6
# Comments: 0

I've always found it cool to be in roles where I can help a younger generation learn skills to have a bright future. That role is something I do in a few ways (as a parent, robotics mentor, school board advisor and Sunday school teacher) and I suspect most HN readers share the same role and appreciation. And for developing software skills, it was obvious that both the students and I had to have a productive software environment where we could work together. That theme of experienced/inexperi

Hello,
I would like to share a Rust implementation of the Zstandard seekable format I've been working on.
Regular zstd compressed files consist of a single frame, meaning you have to start decompression at the beginning. The seekable format splits compressed data into a series of independent frames, each compressed individually, so that decompression of a section in the middle of an archive only requires zstd to decompress at most a frame's worth of extra data, instead of the entire arch