MurphyA/hacker-news huggingface dataset:
by wintermut3 | 2025-12-15 05:58:20+00:00
TTRPG Narrative Engine — https://test.qualy.dev

I'm building a session prep tool for tabletop RPG game masters. The idea is to make a narrative engine rather than another static wiki. Most existing tools are great for storing lore, but they don't help you run the story. I wanted something that supports the "create now, refine later" workflow — get ideas into structure fast, then refine as you play.

Core features: - interconnected world-building (NPCs, factions, locations) and story-building (situations, fronts, clocks) - Bidirectional linking — connecting a story hook to an NPC makes that hook visible from the NPC's view - Clock system with milestone consequences that can spawn or edit entities - Situations fire different consequences based on outcome (players engaged vs. ignored the hook) - Material waste detection — flags under-connected content so you know what's prepped but unused.

The main workflow is mindmap-based. Each entity gets its own context layer showing direct relationships. (Soon available in demo version) Working on next: automatic player-facing content. As players complete situations, public notes from involved entities get published — so the GM doesn't have to maintain a separate campaign log.

Stack: TypeScript, Effect-TS, SolidJS, Cytoscape (graphs), Leaflet (maps)

The hosted version is rough — I've been using it to get early feedback from GM friends. Happy to hear thoughts from anyone who preps campaigns
by diimdeep | 2025-12-15 05:59:16+00:00
nice satire copypasta, here it is for posterity

Last quarter I rolled out Microsoft Copilot to 4,000 employees. $30 per seat per month. $1.4 million annually. I called it "digital transformation." The board loved that phrase. They approved it in eleven minutes. No one asked what it would actually do. Including me. I told everyone it would "10x productivity." That's not a real number. But it sounds like one. HR asked how we'd measure the 10x. I said we'd "leverage analytics dashboards." They stopped asking. Three months later I checked the usage reports. 47 people had opened it. 12 had used it more than once. One of them was me. I used it to summarize an email I could have read in 30 seconds. It took 45 seconds. Plus the time it took to fix the hallucinations. But I called it a "pilot success." Success means the pilot didn't visibly fail. The CFO asked about ROI. I showed him a graph. The graph went up and to the right. It measured "AI enablement." I made that metric up. He nodded approvingly. We're "AI-enabled" now. I don't know what that means. But it's in our investor deck. A senior developer asked why we didn't use Claude or ChatGPT. I said we needed "enterprise-grade security." He asked what that meant. I said "compliance." He asked which compliance. I said "all of them." He looked skeptical. I scheduled him for a "career development conversation." He stopped asking questions. Microsoft sent a case study team. They wanted to feature us as a success story. I told them we "saved 40,000 hours." I calculated that number by multiplying employees by a number I made up. They didn't verify it. They never do. Now we're on Microsoft's website. "Global enterprise achieves 40,000 hours of productivity gains with Copilot." The CEO shared it on LinkedIn. He got 3,000 likes. He's never used Copilot. None of the executives have. We have an exemption. "Strategic focus requires minimal digital distraction." I wrote that policy. The licenses renew next month. I'm requesting an expansion. 5,000 more seats. We haven't used the first 4,000. But this time we'll "drive adoption." Adoption means mandatory training. Training means a 45-minute webinar no one watches. But completion will be tracked. Completion is a metric. Metrics go in dashboards. Dashboards go in board presentations. Board presentations get me promoted. I'll be SVP by Q3. I still don't know what Copilot does. But I know what it's for. It's for showing we're "investing in AI." Investment means spending. Spending means commitment. Commitment means we're serious about the future. The future is whatever I say it is. As long as the graph goes up and to the right. -@gothburz
by vrajat | 2025-12-15 06:00:11+00:00
I’m building an open-source project to reduce GitHub Actions CI costs by running jobs on self-hosted runners on owned hardware. The motivation is to fill the gap between local workflow execution by projects like https://github.com/nektos/act and self-hosted runner setups on the cloud. My team’s requirements are simple and we don’t require all the features. We hope to keep ops simple and save costs. Any efficiency boost due to caching will be A bonus
by arjie | 2025-12-15 06:00:39+00:00
My first Arduino was something like 15 years ago as well, a Duemilanove. I suspect my parents still have it. I'm not saying nothing can change over time, but there's always one controversy after another online these days in software communities and I think rather than trust the latest mob I'm going to trust the guy who's been serving me well for more than a decade. These openness purity tests are really not for me.
by apatheticonion | 2025-12-15 06:01:20+00:00
You can define a declaration file alongside its target however the target does not use the types defined within its declaration within itself - only consumers see the types.

There are three issues with that.

The first is that JSDoc doesn't support everything you need in TypeScript and there is a lot of inlining (like typedef causes collisions, there's no importing a type without also re-exporting it from the importing file unless you inline the import)

The second is that JSDoc isn't picked up from imported libraries (or at least I don't think it is?)

Lastly, you still need a transpiler to remove the comments and build d.ts files.

In the end, JSDoc isn't practical for projects. The header file strategy means you don't need to transpile ever (only a typechecker) and you'd get the full suite of TypeScript functionality - at the cost of synchronization overhead.

For a project using JSDoc, you'll graduate to TypeScript when there is sufficient complexity anyway. Migrating from a d.ts file is way easier (potentially automatable) than migrating from JSDoc.
by Fricken | 2025-12-15 06:02:08+00:00
They're suing OpenAI for serenading a murder-suicide. Altman's anguished model is so large and over leveraged -so negligence alleged- that even the financiers are flexing on Zero Hedge.

So pop some corn and pick a side. Would you say a psycho can -or would you say a psycho can't- blame his bonafides on an artificial sycophant?
by 7777777phil | 2025-12-15 06:03:29+00:00
Volatility Regime Prediction via Causal Discovery in Option Markets - https://github.com/philippdubach/vol-regime-prediction/blob/...

Volatility regime models (Markov-switching GARCH, regime-switching stochastic volatility) are ubiquitous in finance. However, they share a fundamental limitation: regimes are identified ex post from return dynamics, providing no predictive power for regime transitions. The standard approach fits a Hidden Markov Model to returns, labels high and low volatility states, and estimates state transition probabilities that are essentially unconditional averages. This matters because the economic value of volatility timing depends entirely on predicting regime changes before they occur. A model that identifies regimes only after observing the returns is useless for trading volatility.

Existing research documents regime-dependent behavior but does not identify causal drivers of regime transitions. The papers on volatility forecasting factors, variance risk premium dynamics, and market instability from option flows dance around this question without directly addressing it. The recent work on causal ML in finance (double machine learning, causal forests) has focused primarily on equity return prediction rather than volatility states. The connection between options market variables and subsequent volatility regime transitions has not been rigorously established through causal methods.

We develop a causal framework for volatility regime prediction using option-implied variables as potential causes of regime transitions. The key insight is that options markets are forward-looking, so information embedded in the implied volatility surface, put-call ratios, option order flow, and term structure slopes may causally influence future realized volatility regimes rather than merely correlate with them.

Currently building a robust dataset.
by benzible | 2025-12-15 06:04:16+00:00
Reportedly killed by their son, who had struggled with addiction: https://people.com/rob-reiner-wife-michele-were-killed-by-so...

> In a 2016 interview with PEOPLE, Nick spoke about his years-long struggle with drug addiction, which began in his early teens and eventually left him living on the streets. He said he cycled in and out of rehab beginning around age 15, but as his addiction escalated, he drifted farther from home and spent significant stretches homeless in multiple states.

Rob Reiner directed a movie from a semi-autobiographical script his son co-wrote a few years ago. Hard to imagine many things worse than going through the pain of having a kid who seemed lost, getting him back, and then whatever must have been going on more recently that apparently led to this.
by apatheticonion | 2025-12-15 06:04:23+00:00
You cannot replicate `import type { x } from './foo'` without also re-exporting that import - which causes collisions.

The alternative is to do an inline `const foo = /** @type {import('./foo').x} */ ({})` however this gets messy, repetitive and it's difficult to use algebraic types (e.g. `Event & { detail: string }`)
by crockeo | 2025-12-15 06:04:25+00:00
Encoding it into your source file has positive externalities. If you're using source control, the comment controlling the linter is tracked alongside the rest of your code. You can track who added it and why. You can share this comment with other engineers on your team.

You could also imagine other representations of the same data (e.g. one large file which includes annotations, or a binary representation). But in this case you lose colocation with the code they're annotating, so it's more likely to drift.

I fully agree that there are probably better UX's out there for this flow, but the source annotation approach is popular for very good reasons.
by tallytarik | 2025-12-15 06:04:32+00:00
There are plenty of VPN and proxy detection services, either as a service (API) or downloadable database, which are surprisingly comprehensive. Disclaimer: I’ve run one since 2017. Years on, our primary data source is literally holding dozens of subscriptions to every commercial provider we can find, and enumerating the exit node IP addresses they use.

There are also other methods, like using zmap/zgrab to probe for servers that respond to VPN software handshakes, which can in theory be run against the entire IP space. (this also highlights non-commercial VPNs which are not generally the target of our detection, so we use this sparingly)

It will never cover every VPN or proxy in existence, but it gets pretty close.
by zinekeller | 2025-12-15 06:06:03+00:00
And this is rather an anemic take. The (proposed) UK VPN ban that was recently discussed here have a definition on what exactly is a "VPN" for the purposes of the ban (basically "VPNs generally advertised to normal consumers") but a lot simply shouted "ssh go brr" (and definitely did not read the proposed law). These "let's go techical" thinking never flies with the poeple who makes such legislation, and in (probably unpopular!) opinion we should talk to them in terms that they can understand. Yes, we don't want that law, but having a purist take would probably alienate regular people.

It doesn't really matter that a single person has found a loophole because many, many other people don't have such a luxury, and that's what the lawmakers are aiming for.
by xur17 | 2025-12-15 06:08:15+00:00
Back in 2019 I created a Google Spreadsheet titled "family debts" that allows my family (4 siblings and my parents) to record when we owe each other money, and periodically settle up. I later learned that I recreated Splitwise, but having something like this with trusted folks has been hugely useful. We have over thousand entries, and use it constantly for splitting gifts, buying something at the store for someone, etc.

Om Friday after Thanksgiving I spent half a day building a telegram bot that accepts an address and a list of Amazon links, and in turn orders the item (at a discount since it uses my Amazon credit card), and adds it to the above "family debts" spreadsheet.

I really like the idea of programmable, trusted lending like this, and feel like it could be extended to other groups that you implicitly trust.
by gc000 | 2025-12-15 06:09:36+00:00
I'm thinking about creating a brilliant.org clone (the old version, not the current enshittified one) but entirely community-driven and open source: Besides the classical features (create/delete,edit your own problems) you can also have courses and collections: courses are a ordered sequence of lessons and problems, lessons are post-like entities that can contain text, images, animations, embedded videos through links, latex, code, ... Collections are just a ordered sequence of problems (ideally it is a progressively difficult path of problems, but this feature can be used for anything you want). It would also feature a wiki, and eventually a forum for discussing/administering the website.

If anyone wants to join the project, contact me replying at this comment/writing at gbc0 [at] proton [dot] me
by esjeon | 2025-12-15 06:09:47+00:00
An interesting story, a tech post with a rich intimate personal story, I enjoyed it pretty much.

But, in my first attempt to read it, I got totally lost in the very first part. I had to go back and forth to understand where it was coming from and where it is heading. I think a little bit of guidance at the beginning would not hurt, for example something like: “this is my personal journey related to the design of an app,” maybe in light gray and italic.
by pypt | 2025-12-15 06:09:54+00:00
From what I understand, croc is P2P, i.e. both computers have to be on for the transfer to happen (the "relay" that they mention only helps negotiate the connection between two peers). With aero.zip, you upload your files to a server, and the recipient can download it whenever - either real-time while you're still uploading them (imitating the P2P/croc model), or at a later date. This is a more universal approach IMHO.

Also, aero.zip is a webapp, i.e. there's nothing to install, and you don't even need to sign up to send small files. Meanwhile, croc is a CLI utility which will be hard to use by mom-and-pop users.
by yupyupyups | 2025-12-15 06:15:35+00:00
>a new “digital evidence” app, announced by the Digital Affairs Ministry last month and expected to launch next spring, will likely form the backbone of the Danish plans. The app will display an age certificate to ensure users comply with social media age limits

Ok, what qualifies as "social media" and how can adults bypass this to not connect their real identities with their online accounts?

The article doesn't address this, but addresses some weak argument that says this law infringes upon the rights of children, an argument most critics don't make.

I'd also like to know who developed this app. There could be some serious financial incentives to push something like this.
by Mikhail_Edoshin | 2025-12-15 06:16:18+00:00
When I was an adolescent boy, my teacher gave me a beautifully looking "scientific" encyclopedia, translated into Russian from a British original. Graphically it was a masterpiece; I think it was used as one of samples in in Alan Hurlburt's "The Grid". Yet as I tried to read it I was somewhat puzzled and disappointed. Normally as I read a scientific book for my age I could form a coherent big picture. If I could not, then the material was hard, so I had to re-read, write things down, explain to myself and I would finally get it. Yet with this encyclopedia I could not get even a glimpse of the big picture. A factoid here, a factoid there, all very well illustrated, the whole book in full color, which was rare those days, but without any links between those factoids. As a Russian saying goes, it all flew into one ear and flew out from another. Nothing stayed. I've got much more from a modest physics schoolbook where I re-read every topic and derived every formula.
by genuser | 2025-12-15 06:16:34+00:00
As millions prepare for Thanksgiving travel, the critical decision between Google Maps and Waze could determine whether you arrive at dinner on time or stuck in holiday traffic. Both navigation giants offer powerful routing capabilities, but they approach navigation with fundamentally different philosophies. Google Maps serves as a comprehensive digital atlas, while Waze focuses exclusively on optimizing the driving experience through real-time community data.
by kaffekaka | 2025-12-15 06:16:49+00:00
I largely agree. But sometimes the program is not destructive and you only need to test for inputs that may/will actually occur. The LLM wrote a script to do some processing? Just test it, if the processing is fine, done.

I have many LLM-written scripts and tools to do some semi simple jobs where I have barely even looked at the code because I could see immediately that the job I wanted to do got done.
by bradgessler | 2025-12-15 06:17:08+00:00
https://terminalwire.com

It’s “Hotwire for command-line apps”, meaning you can ship a CLI in a Rails app without building an API. The dream is to make it work for all major web frameworks.

Terminalwire streams stdio, browser launch commands, and a few more things needs to ship a CLI for a SaaS quickly.

The best part is when you want to ship a feature for the CLI, you don’t have to worry about pushing out updates to clients and making sure it’s compatible with your API.

A more interesting development are companies that are using it as a replacement for MCP in AI stacks. They’re reporting less token usage and better overall results.
by defrost | 2025-12-15 06:17:28+00:00
I'm stating that GBNews is a cesspit of click / rage - bait headlines from the extreme end of the UK Conservative wing.

I've an interest in the spectrum of UK political opinion and reporting, however GBNews is not a source of balanced reasoned quality journalism, nor is it a source that has good local reporting from Australian stringers.

In general, it's not a HN worthy source.
by RealityVoid | 2025-12-15 06:17:38+00:00
> Also sometimes I have been offered solutions that seem obvious to me, like did you really think I hadn’t thought of that? Which is especially piquing haha

Yes, but that's still a solution minded thing. I sometimes complain as well, but, as mentioned, as sort of a rubber ducking method. I listen to the proposals again, I go, nah, tried that, It leads to X, that doesn't work because of Y, but, sometimes, even with these obvious solutions, there are tiny aspects I overlooked or bypasses I did not consider, so this is still potentially useful. And, yes, if we both can't find a solutin that is acceptable, then comiseration is in order. But I'd never manifest anger or disapproval about someone wanting to help.
Show HN: Warper – The fastest React virtualization library, built with Rust/WASM
by itsmeadarsh | 2025-12-15 06:17:48+00:00
I built the fastest React virtualisation library. The core is written in Rust and compiled to WebAssembly.

Live Demo: https://warper.tech

10 million rows at 120+ FPS. No lag. No dropped frames.

Existing libraries like react-window and react-virtuoso hit walls at scale. They rely on JavaScript binary search and O(n) scans for variable heights. Warper is different.

The engine uses:

- Fenwick trees for O(log n) variable-height lookups - O(1) arithmetic for fixed-height items - Zero-copy typed arrays between WASM and JS - Pre-allocated memory pools with zero GC during scroll

Benchmarks on M1 MacBook Pro with 1M rows: Warper hits 119 FPS. react-virtuoso drops to 58 FPS. At 10M rows Warper stays at 118 FPS while virtuoso falls to 31 FPS.

Its not marginally faster. Its 2-4x faster depending on the workload.

Trade-off is bundle size: around 45KB vs 6KB for react-window. Worth it if you need the performance.

Available through GitHub Sponsors at github.com/sponsors/itsmeadarsh2008

Happy to answer questions about the architecture.
by netcoyote | 2025-12-15 06:17:51+00:00
After reading an article about doing 10,000 pushups in a year (https://wjgilmore.com/articles/10000-pushups), I created "push10k", an iOS app to help me keep track and stay motivated. It's free (no money, no ads) in the iOS app store: https://apps.apple.com/us/app/push10k/id6754811078.
by password-app | 2025-12-15 06:18:40+00:00
Nice work on the human-in-the-loop approach. We're using a similar pattern for password automation - the AI handles the tedious clicking through password change flows, but the user explicitly selects which accounts to update.

The challenge we've found is balancing automation with user control. Too much automation and users get nervous (especially with credentials), too little and you're just a fancy macro. The "approve then execute" pattern seems to hit the sweet spot.

Curious how you're handling error recovery when the agent gets stuck?
by lordkrandel | 2025-12-15 06:19:11+00:00
Aaahahaha I've never seen a more toxic advice. Go faster! The world will be more alive! It's like putting yourself on cocaine. Grow expectations from you into people, that you'll never be able to sustain! Burn yourself on the altar of productivity! People will like you more at work! When you will die you will be remembered as the fastest guy in the office! The one who made a lot of mistakes but kept the company afloat by doing so much unpaid overwork that capital could flow free to the owner of the business! For no gain than self validation!
by reify | 2025-12-15 06:19:31+00:00
The 2022 Diadema antillarum die-off event: Comparisons with the 1983-1984 mass mortality.

2021). Disease-driven mass mortality is well known for diadematid sea urchins (Bak et al. 1984;Lessios 1988; Hylkema et al. 2023; ...

https://www.researchgate.net/publication/366893742_The_2022_...

to date, unknown cause.

though I am sure there are a lot among us who blame all the chemical shit we humans dump in the seas
by jacobriers | 2025-12-15 06:19:47+00:00
The graphs that this article uses as sources for app store releases are just stock images from Statistica and not the real numbers - looks like that's hidden behind a paywall.

The reason I think so is because I wanted to write a follow-up post, and checked the numbers - for instance, the graph for the Play Store peaks at 140000 app released per month, but all the references I found on the internet were much lower.

I then hunted around for other sources of app store data and found appfigures, which had a free trail. I did a bit of querying and I am seeing a noticeable uptick in number of apps released since around March 2025 (from around 20000 to 35000 for Google and 17000 to 30000 for iOS).

In terms of new GITHUB public repositories, the numbers look correct - so I agree with them there - no uptick in new open source repos in the AI era so far.
by OneDeuxTriSeiGo | 2025-12-15 06:20:13+00:00
Most of the relevance of this is limited to C++ library authors doing metaprogramming.

Most of the "ugly" of these examples only really matters for library authors and even then most of the time you'd be hard pressed to put yourself in these situations. Otherwise it "just works".

Basically any adherence to a modicum of best practices avoids the bulk of the warts that come with type deduction or at worst reduces them to a compile error.