MurphyA/hacker-news huggingface dataset:
Ask HN: Anyone else doing login-free trials with localStorage tokens?
by dsmurrell | 2025-12-12 14:58:39+00:00
I posted my side project (Spikelog, simple metrics tracking) here a few weeks ago. You had to sign up to try it.

I have no idea how many people bounced at that step but I know I personally close tabs when something wants my email before I can even look around. So I finally added a "try without signing up" flow. This was recommended by a commenter the original post: https://news.ycombinator.com/item?id=46085379

To get this working when you press 'Try it now', I create a guest user and give you back a 'refresh' secret. That goes in localStorage. Next time you visit, we swap it for a fresh JWT. If you eventually sign up for real, your stuff transfers over.

I'm using a separate (from my auth router) JWT keypair for guests vs real users. Idea being if someone compromises the backend they can only forge guest tokens, not real ones. Secrets are hashed, guest creation is rate limited (5/hour/IP). Only real accounts can call the merge endpoint so guests can't steal each other's data.

There are some downsides. If you clear your localStorage, you've lost access. It only works on one device. And I'll need some cleanup job eventually for abandoned guest accounts sitting in the DB.

I'd be interested in other's approaches to this. I wanted to make something that mirrored my real auth flow where everything starts from a valid refresh token (the real flow uses a cookie).

https://spikelog.com if you want to poke at it. Feel free to try and break it and please let me know if you do, or how I can tighten up my security.
by g947o | 2025-12-12 14:59:13+00:00
Nobody ever said rewrites are always a bad idea. You just made that up. It has been done successfully many times, with many more happening (e.g. TypeScript compiler rewrite).

What matters is how the project is planned and implemented.

Typically, complete rewrites that halt all feature development and fail to achieve feature parity is a recipe for disaster. On the other hand, balancing the work for feature/regular maintenance and rewrite and gradually achieving feature parity before rolling things out has worked well.
by EastLondonCoder | 2025-12-12 14:59:29+00:00
That’s deliberate. “Correct” implies anchoring to a truth function the model doesn’t have. “Plausible” is what it’s actually optimising for, and the disconnect between the two is where most of the surprises (and pitfalls) show up.

As someone else put it well: what an LLM does is confabulate stories. Some of them just happen to be true.
by munksbeer | 2025-12-12 14:59:58+00:00
> I have speculated something similar to this. The sentiment on HN on AI is way more positive about its outcomes than the engineers I know who use it intimately every day.

Interestingly, I feel the opposite. I feel threads on AI/LLMs on HN are more negative about it that positive. So much so that I've almost stopped bothering because the reactions feel way too knee jerk at this point.

I guess we could always go "meta" and ask an LLM to do a sentiment analysis.
by ramon156 | 2025-12-12 15:01:20+00:00
It works until you realize some of these usages would've been better as individual key/value rows.

For example, if you want to store settings as JSON, you first have to parse it through e.g. Zod, hope that it isn't failing due to schema changes (or write migrations and hope that succeeds).

When a simple key/value row just works fine, and you can even do partial fetches / updates
Show HN: DailyGame.online – a minimal daily puzzle arcade built with GPT-5.2
by xmasdong | 2025-12-12 15:03:19+00:00
Hi HN — I owned the domain dailygame.online and wanted to build something small that could eventually make money, but I didn’t have a clear idea at first. Around the same time GPT-5.2 came out, so I treated this as an experiment: can I ship a playable “daily games” site quickly if I use GPT-5.2 as a pair programmer?

I started by giving one strict constraint: no flashy UI. The homepage should be a tiny centered box (ASCII/terminal-like) listing “Today’s Daily Games”.

Then I had GPT-5.2 implement the site end-to-end and I iterated like a normal dev loop (build → run → report concrete issues → request minimal diffs → repeat). The result is a small hub with multiple games: a Wordle-like daily word game, a Christmas variant, 2048, a Connections-style logic puzzle, an emoji quiz, and a geography clue quiz.

What I asked it to do over time (in order): - scaffold the Next.js project + minimal homepage + first playable daily word game set up Git remote and push to GitHub

- add SEO basics (sitemap/robots/structured data + small footer copy)

- add a Christmas game to capture seasonal interest complete the other mini-games (2048 / Connections / Emoji Quiz / Geo Quiz)

- fix real bugs and UX problems I found while testing (touch swipe issues, SSR hydration mismatch from randomness, up/down key mapping, animations/feedback feeling off, “online activity” updates too frequent/unrealistic)

-add Google Analytics (gtag)

How GPT-5.2 fit in: GPT-5.2 was the implementer/pair programmer (pages, components, game logic, animations, SEO files, fixes based on my feedback).

I acted more like product + QA (direction, UI constraints, testing, and pushing changes that feel believable for a low-traffic site).

Demo: https://dailygame.online

ok

1) Can SEO realistically drive meaningful traffic for a small daily web games site like this? If yes, what pages/keywords would you build first?

2) If you were monetizing it, would you start with ads, subscriptions (no-ads + stats), or something else?

3) Would you go “more games” or “deeper daily content” to make it sustainable?
by pdimitar | 2025-12-12 15:03:30+00:00
RE: memory, any self-respecting CI/CD system will allow you to compile any Rust project without out-of-memory halts.

RE: NPM, you have a right to a preference of course. I certainly don't miss the times 20 years ago when pulling in a library into a C++ project was a two-week project in itself. make and CMake work perfect right up until they don't and the last 2% cost you 98% of the time. Strategically speaking, using make/CMake is simply unjustified risk. But this is of course always written off as "skill issue!" which I gave up arguing against because the arguers apparently have never hit the dark corners. I have. I am better with Just and Cargo. And Elixir's mix / hex.

What you like as a language (or syntax) and what you roll your eyes at are obviously not technological or merit-based arguments. "Weird" I can't quite place as an argument either.

Use what you like. We all do the same. The original article lists good arguments in favor of Rust. Seems like a good case of "use the right tool for the job" to me.
by phantasmish | 2025-12-12 15:03:40+00:00
> > The vast majority of CG is replicating stuff like set design or replacing a location shoot.

> Says who?

The people who are like "actually there's a ton of CG you don't notice!". They mean simple compositing, CG backdrops, painting in props, and stuff like that. (as if I'm not already aware of that stuff, LOL) That's where most of the CG is in movies for the last decade or so—they're right about that. It's replacing prop construction, set design & construction, and location shooting.

> This is basically going from "CG is bad" to "not all CG" to "that's not an 'effect'". These arguments never hold up because any explanation ends up full of holes and inconsistencies.

No, I'm just not impressed when CG successfully (I disagree it's successful as often as proponents say, and to them I say "give it ten years and a lot of this 'good' stuff will look awful to you", as it's the same ride we've been on with CG the entire time so far, the "look, CG's finally entirely convincing!" movie seems about as convincing as Jason and the Argonauts' stop motion a few years later) does something mundane that wouldn't even have been an effect before.

I mean, if we're counting that, and trying to compare the two, then just about every single time a location shoot was used where CG might have been today, classic "effects" win. That part's silly to compare.

> People have been making the argument of 'models look more real' since the 90s, but when it comes down to it, they don't know what is CG and what isn't and can't tell the difference. It's a combination of nostalgia and thinking they know better when they aren't actually being tested.

The best of the best just really do hold up better. It's a shame we didn't get more time with that style before CG took over, it was a pretty brief window between "you can always tell the model is a model" and "now it's all computers".

(This should irk you too: CG blood spatter harms every single action movie where it replaces squibs, the movie may survive the harm but that part is terrible every time)
by vintagedave | 2025-12-12 15:03:44+00:00
> For decades, Windows has been the platform for PC gaming: open, flexible and built with players in mind.

To by cynical-slash-experienced for a moment, my understanding of corporate communications reads this as: 'We are worried gamers will stop using Windows.'

They even use 'innovation' right in the headline, not even leaving that erstwhile salubrious word until the text where it belongs, next to 'collaboration', 'push forward', and 'deliver experiences'.
by margalabargala | 2025-12-12 15:04:07+00:00
If I'm reading correctly, it's not that your search results would be crawled, it's that if you created a link to www.theirwebsite.com/search/?q=yourspamlinkhere.com or otherwise submitted that link to google for crawling, then the google crawler makes the same search and sees the spam link prominently displayed.
Ask HN: Pointless thing you've read that gratified your intellectual curiosity?
by blenderob | 2025-12-12 15:04:09+00:00
The 4 billion if statements post prompted me to ask this.

What is the most pointless thing you've read that gratified your intellectual curiosity?

I absolutely love reading articles that deep dive into a "useless" or "pointless" problem which does not benefit anybody except for gratifying your intellectual curiosity.

What such stuff have you read?
by LargoLasskhyfv | 2025-12-12 15:05:16+00:00
There is more. This was released in 1995: https://en.wikipedia.org/wiki/Illuminati:_New_World_Order

A few other links lazily searched -

The single card depicting it: https://www.worthpoint.com/worthopedia/illuminati-world-orde... (zoomable)

The whole set: https://www.ccgtrader.net/games/illuminati-nwo-ccg/limited/

One of countless articles covering that, and related stuff: https://www.independent.co.uk/news/world/americas/us-politic...

I've held this card (already well used and worn) in my hand, shown to me by someone affiliated with the CCC in Hamburg, who had it always on him in his purse, about 2004/5.

Surreal.
by orwin | 2025-12-12 15:05:21+00:00
Browsing history? Search history? Age?

Also 'product interaction' is an euphemism to say "if you're sick, we'll sell this information for around 80€" (I think it's close to 200$ for Americans but I don't have any contact in this industry overseas). If you have a cancer and suddenly you see an increase in ads for pseudo-medicine and other scams whose only goal is to extract all the money you have left, and if lucky, your famil's money too, that's from 'product interaction'.
by cafard | 2025-12-12 15:05:33+00:00
> Early programming languages followed similar logic: FORTRAN (Formula Translation), COBOL (Common Business-Oriented Language), BASIC (Beginner’s All-purpose Symbolic Instruction Code), SQL (Structured Query Language), I believe Lisp stands for list processing. The pattern was clear: names conveyed purpose or origin.

Yes and no. The Navy has or had a lot of code in JOVIAL, Jules's Own Version of the International Algorithmic Language. SNOBOL goes a long way back.
by ethbr1 | 2025-12-12 15:05:35+00:00
If someone becomes successful, it's common to pay it back by helping out the steps that might have led to that success.

Brin didn't go to every high school: he went to the one he did.

And maybe he had a terrible experience and thought it contributed nothing to his success... but that's kind of a dick perspective at a certain level of wealth, especially if a school has needs (and they always do).
by RHSeeger | 2025-12-12 15:05:53+00:00
> I truly believe that everyone that says that typing is a chore once they've got the shape of a solution get frustrated by the amount of bad assumptions they've made.

To a lot of people (clearly not yourself included), the most interesting part of software development is the problem solving part; the puzzle. Once you know _how_ to solve the puzzle, it's not all that interesting actually doing it.

That being said, you may be using the word "shape" in a much more vague sense than I am. When I know the shape of the solution, I know pretty much everything it takes to actually implement it. That also means I've very bad at generating LOEs because I need to dig into the code and try things out, to know what works... before I can be sure I have a viable solution plan.
by jfindper | 2025-12-12 15:06:32+00:00
>Hey, if you want a fast anonymity netowrk, there are commercial providers.

For most people seeking anonymity via Tor network (whistleblowers, journalists, activists, etc.), paying a company who can then subsequently be compelled to hand over your information is a bad choice.

And in most other scenarios, Authentic8 is probably still a bad choice. If you require a FedRAMP-authorized service, then sure, look at Authentic8.
by anonymars | 2025-12-12 15:06:33+00:00
Yeah, I'm confused at these examples, along with the implicit idea that the existence of breaking changes means C# had equivalent compatibility challenges to, say, python3.

.NET Framework -> Core was more persuasive, but I stand by the overall point that compatibility is more about project philosophy than "static vs dynamic typing" and indeed I think Framework/Core illustrates just that: Framework more heavily favored preserving compatibility compared to Core

edit: I assume this was a superficial grasp onto "Deprecation of WithOpenApi extension method" ("WithOpenApi duplicated functionality now provided by the built-in OpenAPI document generation pipeline") and "Razor runtime compilation is obsolete" ("Razor runtime compilation has been replaced by Hot Reload, which has been the recommended approach for a few years now.")
by dolftax | 2025-12-12 15:06:57+00:00
On the OpenSSF CVE Benchmark[1], Semgrep CE hits 56.97% accuracy vs our 81.21%, and nearly 3x higher recall (75.61% vs 26.83%).

On when to run it, fair point. Autofix Bot is currently meant for local use (TUI, Claude Code plugin, MCP). We're integrating this pipeline into DeepSource[2], which will have inline comments in pull requests, that fits the QA/pre-merge flow you're describing.

That said, if you're using AI agents to write code, running it at checkpoints locally keeps feedback tight.

Thanks for the feedback!

[1] https://github.com/ossf-cve-benchmark/ossf-cve-benchmark

[2] https://deepsource.com/
by krupan | 2025-12-12 15:06:58+00:00
I'm case you didn't read to the end:

"This is depressing. Profoundly depressing. i look at the statistics board for my reverse-proxy and i never see less than 96.7% of requests classified as bots at any given moment. The web is filled with crap, bots that pretend to be real people to flood you. All of that because i want to have my little corner of the internet where i put my silly little code for other people to see."
by danaris | 2025-12-12 15:07:20+00:00
Honestly, I blame Adobe most for the death of Flash.

If they had been willing to invest the resources needed to make it both performant and, most importantly, secure, there's a much better chance that it would have survived—it might even have been enough for Jobs to be willing to have it work on the iPhone. (Maybe.)

Too many people lamenting how the death of Flash ended a thriving ecosystem of games and other art forms forget that Flash was also a huge resource hog, one of the #1 sources of crashes on many systems, and an absolutely massive vector for malware. I'd love to see some statistics on just how many infections were enabled by Flash, and how fast that declined once it stopped being a requirement to browse large chunks of the web.

And don't forget, either, that Flash wasn't originally an Adobe product: they took it over when they bought Macromedia, eliminating their biggest competitor and guaranteeing their monopoly. I wasn't really paying that much attention to the space, but it wouldn't surprise me if under Macromedia, it was getting better and more frequent updates.
Show HN: TubeDL – Native macOS video downloader built on yt-dlp
by ricky_trujillot | 2025-12-12 15:08:25+00:00
I built TubeDL because I was tired of sketchy web-based video downloaders with ads and malware.

It's a native macOS app (Swift/AppKit) with a clean UI wrapped around yt-dlp. Local processing only - videos never touch my servers.

Free tier: 720p, 5 downloads daily Pro: $19 one-time (no subscription) for unlimited 4K

Looking for feedback on positioning and features. What would make this more useful?
by tempest_ | 2025-12-12 15:08:35+00:00
> A lot of the tooling reminds me of NPM, and after spending a huge amount of my time fighting with NPM, I actually prefer the way C/C++/CMake handles stuff.

I guess you and me live different lives because I have spent far more time messing with ancient C/C++/CMake/Automake/Autoconf/configure/just have this particular .so file in this particular spot/copy some guys entire machine because this project only builds there/learn and entirely different language just to write build files (CMake sucks and 5 other alternatives are just lipstick on a pig) etc. etc.

I am of the opinion that half of Rusts success is based on that fact that C/C++'s tooling is annoying and ancient. People want to write code not mess with build envs.
by happosai | 2025-12-12 15:09:03+00:00
Processing itself doesn't make foods more or less healthier. Many highly processed foods are healthier than their unprocessed natural form. Yogurt is healthier than milk while butter isn't.

It why people ultra process foods - to make them more tasty and addictive by processing in more fats, salts and sugars. Take soda for example. They added acidic CO2 bubbles so they can add more sugar .

The problem with the term ultra processed has, it bags in huge amounts of different foods and classifies them all bad.
by mapt | 2025-12-12 15:09:03+00:00
It's very difficult for me to contemplate how anybody could run a VPN, however reputable, that isn't compromised by one intelligence agency at least. Their incentive structures and their costs to participate in this space just make it a no-brainer.

If you're starting a brand new VPN company with ironclad ideals about privacy - are you going to be able to compete with state-run enterprises that can subsidize their own competing "businesses", on top of whatever coercive authority they possess to intervene in local small businesses?
by foldr | 2025-12-12 15:09:04+00:00
Escape analysis clearly isn’t part of the semantics of Go. For that to be the case, the language standard would have to specify exactly which values are guaranteed to be stack allocated. In reality, this depends on size thresholds which can vary from platform to platform or between different versions of the Go compiler. Is the following non-escaping array value stack allocated?

func pointless() byte { var a byte[1024] a[0] = 1 return a[0] }

That’s entirely up to the compiler, not something that’s determined by the language semantics. It could vary from platform to platform or compiler version to compiler version. So clearly you don’t need to think about the details of escape analysis to understand what your code does because in many cases you simply won’t know if your value is on the stack or not.
Show HN: PageSpeak – Talk to book characters in their world or ours
by drkph | 2025-12-12 15:09:08+00:00
I built an iOS app that lets you have conversations with book characters.

Two modes: "Fictional world" places you inside the story during specific events. "Real world" brings characters into our time.

Library is public domain classics for now (H.G. Wells, Jules Verne, Ayn Rand) - you can also upload your own books.

Would love feedback, especially on character accuracy and what books you'd want to see.
AI that reads your Git history so you don't have to write status reports
by slmslm | 2025-12-12 15:10:00+00:00
Hey HN, I built Gitmore because I was tired of spending hours every week copy-pasting from git log to write status updates. The problem: Git history contains everything about what your team shipped, but extracting useful information from it is painful. Commit messages are written for machines, not stakeholders. Status reports are a time sink. Changelogs go stale. And developers doing critical backend/infrastructure work often go unrecognized. What Gitmore does: AI-powered queries - Ask questions in plain English: "What did the team ship last week?" or "Show me Sarah's contributions this month" (powered by Claude) Automated reports - Weekly/monthly summaries delivered via email or Slack. AI converts cryptic commits into human-readable narratives Auto-generated changelogs - Public changelog page that updates itself from your Git activity Developer leaderboard - A "Coffee Score" system that recognizes all types of contributions, not just visible UI changes Slack integration - Query your repos directly from Slack What we DON'T do: We never access your source code. Only commit metadata (messages, timestamps, authors), PR info, and contributor profiles. Stack: Next.js 15, MongoDB, Claude API, works with GitHub, GitLab, and Bitbucket. Pricing: Free tier (1 repo), Pro at $15/mo (5 repos), Enterprise at $49/mo (20 repos). For a 10-person team, this saves roughly 78 hours/year that would otherwise go to manual status reporting. Would love feedback from the HN community. What's missing? What would make this more useful for your workflow?
by chem83 | 2025-12-12 15:10:11+00:00
Neat! This is a newer model, but i believe they’ve had one since the 80s: https://docs.fischertechnikclub.nl/info2/1987uk.pdf

Did Fischer ever make it outside of Germany? My father would bring us kits every time he would travel there for work in the late 80s/early 90s. The focus was more on Engineering themes, so not quite the same as a Lego or Playmobil set. More like Lego Technic for the most part.
by baq | 2025-12-12 15:10:32+00:00
> we know how to predict the weather with great confidence

some weather, sometimes. we're not good at predicting exact paths of tornadoes.

> so a single prompt may be close to useless and two different people can get vastly different results

of course, but it can be wrong 50% of the time or 5% of the time or .5% of the time and each of those thresholds unlock possibilities.
by chuckadams | 2025-12-12 15:10:53+00:00
The problem with all-backend is that to change the order of a couple buttons, you now need buy-in from the backend team. There's definitely a happy medium or several between these extremes: one of them is that you have full-stack devs and don't rigidly separate teams by the implementation technology. Some devs will of course specialize in one area more than others, but that's the point of having a diverse team. There's no good reason that communicating over http has to come with an automatic political boundary.
by kappaking | 2025-12-12 15:11:38+00:00
> These are not equivalent, I don't have to scan my face, upload my ID and share my personal biometric data with various 3rd parties, who will sell and leak my data, every time I want to look at porn or sip a beer

Oh man, you must just not go out much anymore. I’ve seen a lot of bars with full blown facial scanners next to their bouncer.
by caminanteblanco | 2025-12-12 15:11:43+00:00
SVG's are so fun! The amount of logic you can put into an SVG is absolutely wild given what they're generally used for. My desktop wallpaper uses embedded JS to create a random Barnsley fern fractal every time the system starts, so it's different every time. The only problem is that only browsers have the full SVG spec support I needed to get it to work correctly, but that's nothing that systemd and puppeteer can't fix.