MurphyA/hacker-news huggingface dataset:
by jmspring | 2025-10-10 05:47:43+00:00
My post to intfiction.org, a big IF geek but also some curiousities and things to explore.

Some years back, I helped build an event driven system where the driver was Twine and a user client. Twine was interesting, but I hated the editor, storing things in local storage, etc. I’ve also wanted to poke at two things - a technical itch (personal) using something other than javascript in the representation of things like twine and (in the works) something I could use off line on the ipad to design stories.

There was another aspect of this, by day I’m a software engineer, at night I love the IF field and maybe it’s adhd, etc. I get lost in technology (but also playing games). I wanted to see what I could to with AI in building things in an area that is a passion, but just time and how to get started.

Whisker is the project I started, some is me writing, a fair amount is AI guidance. The goal, for me, is to get to a point where I can have an iOS / iPad whatever os the call it now client, so when sitting on my iPad I can play around with story idea.

This is an entirely self driven project. I like Twine, but (and yes I could have focused on that) I wanted to engage my nerdism.

Whisker was a secondary play on Twine. I have 6 cats, Yarn already crosses into the IF world. So Whisker. One would ask why derive from Twine (I have some interesting and complex examples), but see the javascript thing and me being a nerd and Lua is a powerful scripting language.

I also wanted the ability to import as well as export to Twine compatible formats.

Again, it’s a work in progress despite some of the fluff in readmes (those are all about the AI tool fluffing things up).

Feel free to be brutal, this is a personal project to enable me to play around in the space. While not there, in the next weeks, I want an app I can use on the iPad and doodle around on Twine-like stories.

The project url should be in the post.
by MrDrMcCoy | 2025-10-10 05:48:01+00:00
Probably this one: https://brainenergy.com/

I've read it, it's quite good and full of citations. I've seen a number of studies since it came out that support it as well.

If you like that, also check out "This is Your Brain on Food" which overlaps with much of the content there, but with a bit more of a focus on the gut brain connection.
by j_bum | 2025-10-10 05:48:48+00:00
I’m almost 30 and made this change about a year ago.

I now rotate between high rep (sets of 20 rep max) and medium weight weeks (sets of 8-12 reps). My joints haven’t ached in a while and I’ve become much less prone to random muscle tweaks. Mike Isreatel has an excellent intro to high rep training [0]. It produces pumps and mind-muscle connection like nothing else!

I actually went too far into the high rep/volume training direction for several months, but realized I needed to reincorporate medium weight lifts when I started losing a bit of grip strength. I am now super content with my current rotation cycle!

[0] https://youtu.be/HzFHAHOOA4A?si=avUNYahKGPoHbYph
by geokon | 2025-10-10 05:49:02+00:00
I feel there is a balance to strike with rushing to a demo. .. (maybe it's an implicit tension between the satisfaction of finishing a component and getting a demo)

I think this is where the choice of language makes a big difference. In Clojure, the difference between a "component" and a separate library/application is literally just adding a `deps.edn` file and then pointing to the directory from the parent project.

I think breaking the project in to small achievable goals is very sensible. But if you take the extra time to make the component stand on its own as a mini-lib .. it's very satisfying. For instance I had to write a "component" that would read some GeoJSON and segment it (it's took me a couple of days and was mostly a wrapped around GDAL or something). I could have hacked together a solution to rush to a demo - but instead I made a small little library out of it. When I was done with it, I had a sense of "I made a thing". To be clear.. it's still kind of ugly and I would be horrified if someone else tried to use it and submitted PRs.. but it's also not a coupled tangle of code in my larger codebase.

as he says "Build for yourself" - the library/application should only do what you need

By contrast, if I was working in C++ making an API and decoupled library would be such a chore that'd never bother

The most important aspect is that this all ends up not just much more satisfying at every step - but it makes your code incredibly decoupled and refactorable. The more you rush to a demo the more your code is coupled and hard to refactor.
by simonw | 2025-10-10 05:49:19+00:00
I'd argue that we have that already: coding agents with access to a programming language (or, even better, a container they can run commands in) can use all sorts of other tools to help explore a solution space.

They have other tricks too. Claude Code makes itself a TODO list for a problem and can tackle the items on that list one-by-one, including firing off sub-agents to perform subsets of those tasks.
by ActorNightly | 2025-10-10 05:49:42+00:00
> Are there any serious technical reasons not to do it?

Yes.

First is startup time. REPL cycle being fast is a big advantage for development. From a business perspective, dev time is more expensive then compute time by orders of magnitude. Every time you make a change, you have to recompile the program. Meanwhile with regular python, you can literally develop during execution.

Second is compatibility. Numpy and pytorch are ever evolving, and those are written a C extensions.

Third is LLMs. If you really want speed, Gemma27bqat that runs on a single 3090 can translate python codebase into C/C++ pretty easily. No need to have any additional execution layer. My friend at Amazon pretty much writes Java code this way - prototypes a bunch of stuff in Python, and then has an LLM write the java code thats compatible with existing intra-amazon java templates.
by ACCount37 | 2025-10-10 05:51:12+00:00
If you go out of your way to avoid anthropomorphizing LLMs? You are making a mistake at least 8 times of 10.

LLMs are crammed full of copied human behaviors - and yet, somehow, people keep insisting that under no circumstances should we ever call them that! Just make up any other terms - other that the ones that fit, but are Reserved For Humans Only (The Kind Made Of Flesh).

Nah. You should anthropomorphize LLMs more. They love that shit.
by gbalduzzi | 2025-10-10 05:51:31+00:00
You need both and there are no ways around that.

Examples let you grasp immediately how to use the library and provide you good starting point for your integration.

Detailed explanation of all params and configurations allows you to solve more complex problems and understand the full capabilities of the tool.

I am miserable when any of the two kind of documentation is missing.

The only exceptions are very simple libraries, where the example tells you already everything there is to know.
by NedF | 2025-10-10 05:51:58+00:00
> The Internet was much better before the 2000s

An embarrassing fiction, it was junk. More people are on VPNs now than were on the internet pre-2000

It's true there were ideas and principals in a wild west the younger generation will never know was the default. You could go out and have a battle with Injun's or see a lynching but it was 99.9% dust and hard work herding cows.

The internet now is a megacity, everything is amazing, there are roving gang wars to little hobbyists and anything else you can imagine.

> He’s also totally correct in calling out the obvious lunge towards authoritarianism

Yes Pavel and this is 100% correct.

China banned VPNs effectively, this will come to the West next. If the US falls there is no where to VPN to.
by MobiusHorizons | 2025-10-10 05:53:07+00:00
I think generally people who care about performance don't tend to write their code in Python to begin with, so the culture of python is much less performance sensitive than is typical even among other interpreted languages like perl, php, ruby or javascript. The people who do need performance, but are still using python, tend to rely on native libraries doing significant numerical calculations, and many of these libraries are not compatible with PyPy. The escape hatch there is to offload more and more of the computation into the native runtime rather than to optimize the python performance.
by vasco | 2025-10-10 05:55:02+00:00
> and the devastating supply chain issues prove that conclusively.

Did we go through the same covid? No country on earth had food shortages while majority of people were stuck at home. COVID was a perfect demonstration of resiliency of trade and JIT systems. But you ate up the news the media put out that were basically china-boogeymen, to force government to create the huge CHIPs act.
by toast0 | 2025-10-10 05:57:27+00:00
It's not nice that pmtud breaks when ICMP isn't available, but sensible probing can do pretty well. Of course, barely anybody probes and they may not be sensible if they do.

Imagine at the beginning of a connection, sending a burst of packets, you could send (ignoring tcp timestamps because it makes the math hard, PAWS is a waste of bytes for most flows, and etc) [0,1460); [1400, 2800), ...

If you get an ack of the first packet, great. If not, you resend it as a 1400 byte payload and probe again in a future burst. Maybe even premptively resend the first packet as a 1400 byte segment after a short delay. Anyway, have enough failed large packets and probe smaller. Probe bigger again every so often if the connection stays open for a meaningful amount of time.
by hoodgail | 2025-10-10 05:57:57+00:00
I'm the developer of Sicar.io, and this is the first look at its alpha gameplay.

I've always loved classic arena shooters and wanted to see if I could build a fast paced, skill based FPS that was instantly accessible from a web browser, with no downloads required.

It's built from the ground up using JavaScript and Three.js for the WebGL rendering. A major focus has been on performance optimization and creating a responsive feel, which has been a fun challenge, especially on the networking side.

This is very early footage, so the art and maps are still basic. I'm most interested in feedback on the core mechanics: Does the movement look right for this type of game? How does the pacing feel?

I'm here to answer any questions about the tech stack or the development process. Thanks for taking a look!
by JdeBP | 2025-10-10 05:58:49+00:00
It's not an interactive approval process, remember. It's a ruleset-matching process. There's not really a chicken-and-egg problem where one builds up from nothing by interactively approving things at device insertion time using a keyboard, here. One does not have to begin with nothing, and one does not necessarily need to have any keyboard plugged in to the machine to adjust the ruleset.

The first possible approach is to start off with a non-empty ruleset that simply uses the "old model" (q.v.) and then switch to "opt-in" before commissioning the machine.

The second possible approach is to configure the rules from empty having logged in via the network (or a serial terminal).

The third possible approach is actually the same answer that you are envisaging for the laptop. On the laptop you "know" where the USB builtin keyboard will appear, and you start off having a rule that exactly matches it. If there's a "known" keyboard that comes "in the box" with some other type of machine, you preconfigure for that whatever it is. You can loosen it to matching everything on one specific bus, or the specific vendor/product of the supplied keyboard wherever it may be plugged in, or some such, according to what is "known" about the system; and then tighten the ruleset before commissioning the machine, as before.

The fourth possible approach is to take the boot DASD out, add it to another machine, and change the rules with that machine.

The fifth possible approach is for there to be a step that is part of installation that enumerates what is present at installation time and sets up appropriate rules for it.
by josh_kratz | 2025-10-10 06:01:19+00:00
Think of it like this: “naive 300“ would try and check if n minus any of the first 300 primes lands on another prime. For big n, it falls apart fast as prime gaps explode, and you start missing left and right. But here I am doing a small, constant set of primes, call it the “gear”… and for each even n, I check n – q for every q in that gear. Not just as a casual test, but as a full-blown, multi-threaded, checkpointed sweep with audited logs.
by tankenmate | 2025-10-10 06:01:52+00:00
"Only a Sith deals in absolutes"; your statement is both a) lacking any nuance (any cost vs any benefit), and b) so lacking in nuance (a tautology even) to border on irrelevance and nihilism (a throw away statement that has the intellectual depth of "everything happens for a reason", a true but largely useless comment that, at least on the surface, is used to shut down any debate).
by anigbrowl | 2025-10-10 06:02:11+00:00
Anonymity was important back then to, and I was a strident defender of anon.penet.fi (look this up if you're not familiar). The problem is that what worked well as an option with a degree of persistence created its own set of problems when industrialized. We are not imho better off with fully anonymous swarms or the increasingly default situation of website ownership being hidden from the public, both of which have enabled the automation of abuse, misinformation, slop content and so on. Over the last 30-40 years internet communication/communities have gone from relatively high trust and levels of user participation/democracy toward zero trust and an extremely bimodal power distribution which has produced an excess of toxicity and adversarial behavior. I blame hacking/phreaking culture to a certain extent, because openness and information exchange valorized in that culture are also accompanies with a lot of drama and personal backbiting.
by gorgoiler | 2025-10-10 06:03:12+00:00
tldr.sh is a project that had been doing this for man pages:

https://news.ycombinator.com/item?id=15779382

As the above 8y old discussion and today’s blog post both say: yes, examples are but one part of a complete set of learning materials — practicals, theory, recipes, reference.

However, in a toss up, the greatest of these is the one you always want first: picking the thing up, tossing it about to get a feel of it, and getting your hands dirty!

For code, worked examples are particularly helpful because your dev environment can jump to the function definition, which typically has its own reference documentation.
by antirez | 2025-10-10 06:03:21+00:00
To check for consistency in the reasoning steps in the presence of a correct reply, to evaluate the actual LLM performances, is a fundamentally misleading idea. Thinking models learn to do two things: 1. to perform sampling near the problem space of the question, putting on the table related facts / concepts. 2. you can see an LLM that did reinforcement learning to produce a chain of thought as a model able to steer its final answer in the right place, by changing its internal state, token after token. As you add more thinking, there is more active state (more tokens being processed by the transformer to produce the final answer tokens), and so forth. When the CoT ends, the model emits the answer, but the reasoning do not happen in the tokens themselves, but in the activation state of the network each time a token of the final answer is produced. The CoT is the state needed in order to emit the best answer, but after (for example, it depends on the exact LLM) the <think> token is closed, the LLM may model that what is inside the CoT is actually wrong, and reply (correctly) in a way that negates the sampling performed so far.
by ilikehurdles | 2025-10-10 06:04:25+00:00
Yes I would actually be mad if a volunteer at an org sold member lists or gave preferential treatment to outside sponsors as a way to make ends meet for himself, for example. Like are you kidding? If you don’t like the terms and pay, change them or don’t sign up. Anything else - like monetizing off your own insider access - is underhanded and unethical.
by messe | 2025-10-10 06:04:42+00:00
> Another interesting choice in this project is to make lengths signed:

There are good reasons for this choice in C (and C++) due to broken integer promotion and casting rules.

See: "Subscripts and sizes should be signed" (Bjarne Stroustrup) https://open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1428r0...

As a nice bonus, it means that ubsan traps on overflow (unsigned overflows just wrap).
by andrewflnr | 2025-10-10 06:05:15+00:00
Blood types aren't fixed across the population. It's kind of a tricky question which of our points they make a better example for. :D

But also, I guess by "feature" I tend to mean "noticeable feature". You might be more right about that, at least as far as terminology goes. At the bottom end you have a point mutation to a codon for the same amino acid, and then eventually you get something like a slightly different color pattern. Those are probably free.

But as soon as you have to, say, add or increase the size of a physical feature, there's a metabolic cost. And when those features aren't used, that (small!) cost drives them to disappear in relatively short order (for instance, all the convergently legless lizards). That strongly implies that for those, there needs to be a persistent reason for them to keep existing.

Entirely aside, I wonder how long we need to have blood transfusions as part of society before blood type compatibility starts exerting selective pressure.
by Slydite | 2025-10-10 06:05:32+00:00
Thanks! I actually had the same problem. The source linking is actually already there - just implemented a bit differently by directly inlining source images at relevant points:

For videos: Screenshots are timestamped in the filename as (frame_00-12-45.jpg)

For PDFs: Page numbers are preserved in the filename as (page_15.jpg)

The "verify as you study" use case is exactly what I built this for. I wanted the AI-enhanced explanations but still needed to double-check against source material during exam prep. The screenshot integration was designed to make that workflow natural instead of bouncing between 2 files.

That said, I could make this more explicit - maybe add the timestamps/page numbers as clickable links in the markdown itself. Would that be more useful than the current inline image approach? It will break if original file is moved.
by thaumasiotes | 2025-10-10 06:05:38+00:00
> Chinese characters are syllabic in the sense that most Chinese words are just one syllable. But still the characters have a meaning associated to them

Well, there is semantic information included in the spelling of Chinese words. Far more than is included in other, non-Japanese writing systems.

But that won't stop the script from being syllabic any more than the same phenomenon in every other written language will stop its script from being syllabic or alphabetic. English script is alphabetic even though way is spelled differently from weigh.

Meaning is not used in determining the pronunciation of a Chinese character. (Except to the extent that the same character may have separate uses, as when 長 is pronounced zhang3 if it means 'grow' and chang2 if it means 'long'.) A character indicates a sound, and it always indicates that sound regardless of the meaning of the word in which it appears. This is as pure as syllabaries get.

Kanji do not share those properties. They are not restricted to single syllables. They frequently stand for several different unrelated words. They do not represent any particular sound. They may be drafted into any word with a vaguely appropriate meaning, even if that word is conventionally spelled with other kanji.

> most Chinese words are just one syllable

This is false; they're mostly two syllables.
by turkeywelder | 2025-10-10 06:05:43+00:00
Idiotic Brit here.

Not exactly how we think. We're frustrated that our private railway is worse than DB in terms of lateness and cancellations but also hugely, massively more expensive for us to use.

We'd be happy if it was publicly owned because then at least the insane profit from ticket sales might possibly just maybe make it into investment in the railway instead of someone's bonus.
by OneLessThing | 2025-10-10 06:07:40+00:00
I agree that it reads really well which is why I was also surprised the quality is not high when I looked deeper. The author claims to have only used AI for the json code, so your conclusion may be off, it could just be a novice doing novice things.

I suppose I was just surprised to find this code promoted in my feed when it's not up to snuff. And I'm not hating, I do in fact love the project idea.
by yatsyk | 2025-10-10 06:08:30+00:00
I share Durov’s disappointment about where the internet is heading.

But I think it’s hypocritical to talk about freedom of speech issues in Western Europe while ignoring similar or worse restrictions in China, Russia, or Dubai, where he lives.

It’s similar to Musk’s approach — when Twitter is shut down in Brazil, it’s a freedom of speech violation, but having a Tesla factory in China suddenly makes that problem disappear there.
by Slydite | 2025-10-10 06:08:55+00:00
I really appreciate the vouch and the warm welcome! I was confused when the comment disappeared, thought I'd done something wrong. It was probably my inactive account. Will email hn@ycombinator.com to make sure everything's clear with it.

Thanks for the encouragement on the project! The problem space definitely resonated with me as a student, and I'm excited to see it helping others avoid the lecture-rewatching spiral. I made sure this was extendible enough that I can add more input formats (research papers, business documents) and output formats and tools in a few lines of code.
by menaerus | 2025-10-10 06:09:40+00:00
> Memory access times have not significantly improved in many years.

We could say that it actually became worse and not better if we put it more into the context. For example, 90ns latency coupled with a 3GHz core is "better" than 90ns latency coupled with a 5GHz core. In latter, CPU core ends up being stalled for 450 cycles while in the former case almost half as much - 237 cycles.
by KempyKolibri | 2025-10-10 06:09:53+00:00
> You could say that this suggests higher sodium increases cardiovascular disease risk but that seems like a stretch when if you'd picked a slightly different set of CVD-correlated biomarkers you would have got exactly the opposite result.

What’s the evidence for this?

> Even if the results had been more convincing, the methods are not - it's an extremely short term study and looks only at correlative biomarkers and not at actual health outcomes

You're going to have to pick your poison here - when you're after long term data on dietary interventions showing hard outcomes it's highly unlikely you'll ever see this in the form of RCTs that you're looking for (i.e. where you _only_ alter salt consumption). That's why we look for converging lines of evidence - biomarkers/soft outcomes from RCTs and hard outcomes from prospective cohort studies, for example. When we look at this for salt, we consistently see lower salt = lower adverse outcomes.

That said, when we meta-analyse RCTs we do actually have sufficient power to see improvements on hard outcomes. In this meta (https://doi.org/10.1016/S0140-6736(11)61174-4) we see a 29% reduction in cardiovascular events in the 7 months to 11.5 years in normotensives in RCTs which looked exclusively at salt reduction. I wouldn't call 11.5 years short term, nor cardiovascular disease events a soft outcome. So surely this ticks all your boxes?