MurphyA/hacker-news huggingface dataset:
by komali2 | 2025-09-02 10:08:47+00:00
In my opinion (9 years FE exp) you should build your ecommerce site in shopify or wordpress + woocommerce or some other off the shelf tool. It will be up before the evening's out and you won't be spending that much extra than you would have anyway, and everything will Just Work (tm) and look pretty good (chuck out 50$ for a nice wordpress theme and you're golden).

If you insist on rolling your own, Django + templates should be plenty. Lots of existing code for integrating Stripe or whatever. AI will be fine at it. You could potentially investigate medusajs or prestashop. Here's a list that could be fun to investigate: https://github.com/awesome-selfhosted/awesome-selfhosted?tab... but keyword is fun. You should build it in wordpress because that is a bombproof solution running like half the internet and will save you endless amount of time.

If you're doing this as an exercise to learn a new tool, leave the AI to the side as you're robbing yourself an opportunity to delve into docs and gain more domain knowledge. And absolutely do not touch nextjs with a 10 foot pole, it's an absurdly overwrought tool. The only people that should learn nextjs are people working at dev houses that churn out a shitload of full stack apps for clients that have the budget to shell out for vercel's hosting costs. And even then imo they should just be using django + react + vite + tanstack MAYBE.

HTMX is cool but I'm not sure the point, again if for fun why not, but I would ask yourself: you get your site up and running and you spend the next year scrambling around putting things in boxes and printing shipping labels, and then in 2026 Thanksgiving right before the holiday rush something breaks in your app and you want to fix it but HTMX/nextjs/whatever have gone through 2 breaking change upgrades and so have 4 different libraries they rely on and actually the most up to date version of two libraries you rely on are not interoperable right now because they depend on different node versions or some other bullshit, and now what do you do?

Just use wordpress.
by tpm | 2025-09-02 10:09:10+00:00
From your own link:

> over 85% of water and sanitation facilities are now completely or partially out of service

I don't even think I have to add anything to that. Either they incidentally destroyed that much, which means they are not discriminating between civilian and military facilities, which means they are deliberately commiting massive war crimes against civilians, or they deliberately destroyed that much, which means deliberate genocide.

> Will you therefore admit a genocide committed by Russia?

Russia is without a doubt commiting genocide, trying to destroy the Ukrainian nation. This is openly admitted by Putin in that he says there is no such nation. Luckily it is not entirely successful yet, but in annexed territories it is absolutely exterminating any mention of Ukrainian nationhood and ethnicity.

Israel is much more successful, both now and in the long term.
by epolanski | 2025-09-02 10:09:49+00:00
I don't get it, I really don't.

Even assuming a company gets to AGI first this doesn't mean another one will follow.

Suppose that FooAI gets to it first: - competitors may get there too in a different or more efficient way - Some FooAI staff can leave and found their own company - Some FooAI staff can join a competitor - FooAI "secret sauce" can be figured out, or simply stolen, by a competitor

At the end of the day, it really doesn't matter, the equation AI === commodity just does not change.

There is no way to make money by going into this never ending frontier model war, price of training keeps getting higher and higher, but your competitors few months later can achieve your own results for a fraction of your $.
by baq | 2025-09-02 10:09:57+00:00
That's both perfect for this thread and terrible in general.

If you can see the analogy between text and pictures, it drives the point exactly the right way: in both cases you expect a database to know things it either can't or forgot. If it had a good picture of the zoomed in background it could probably generate a very good representation of what the cropped part would look like; same thing works with text.
by kotaKat | 2025-09-02 10:10:11+00:00
Looks like it's just a fancy Docker container running the Windows RemoteApp implementation, wrapped around some VM management skins?

I normally set this up on Windows boxes directly with https://github.com/kimmknight/remoteapptool and https://github.com/kimmknight/raweb to build a basic "remote Windows apps" box on my network overall -- it's nicer to be able to have one central Windows VM running that I can put the apps wherever I need them across whatever device in my house.
by DeepSeaTortoise | 2025-09-02 10:10:30+00:00
Compare it to the 2022 Ukraine war. For more than a year almost all the fighting happened in densely populated areas, with many such shorter phases before and since.

And Soviet-stock bombs just aren't as precise and unguided rocket artillery even more so.

Yet after more than 3 years the number of civilian deaths and injured COMBINED just barely surpassed 50k recently.
by quadhome | 2025-09-02 10:11:23+00:00
AsyncLocalStorage.enterWith is the wrong method; .enterWith changes the logger for across the *synchronous* execution. This doesn't matter if there's only one request happening at time-- like when you're testing locally. But that's why it didn't work on the actual project.

Use .run.

return LoggerStorage.run(requestLogger(), () => { logger()?.debug({ url: request.url }, "Started processing request!"); return NextResponse.next(); });
by close04 | 2025-09-02 10:11:26+00:00
GrapheneOS doesn't support Pixels with locked bootloader. It's where the game stops for all locked phones, a common practice now. You can already see how this is the single biggest thing.

The second big thing is that the "non-exhaustive list of requirements" is basically "whatever new Pixels do". Your conclusion that Pixel phones are "the only ones with secure enough hardware" is overstretching what's happening here.

The developers took the Pixel as a template because it's a well selling line, with good security, and generally with unlocked bootloader, and modelled the requirements based on it. It's a reasonable approach to the development of a niche security oriented OS because: "In order to support a device, the appropriate resources also need to be available and dedicated towards it". It has the downside that it makes it sound like no other phone has comparable security features.

Are the fully supported Pixel 6/6a more secure than any other non-Pixel phone sold on the market today?
by Nevermark | 2025-09-02 10:11:42+00:00
Until then, I like "protect". :)

Very few mottos can withstand literal dissection. For that matter, many phrases have entirely different meanings than if they were read as normal words.

Words bend to the context, and by associating a motto with the ideal it is proposed for, it quickly becomes its own context.

"Protect the user, their data and the truth!", if you say it loudly, comes across to me like something the Three Musketeers would exclaim. If they were programmers, about to enter the forest of dark patterns, risking their lives for the users they know, and those they will never meet.

Love it. All subjective of course.
by komali2 | 2025-09-02 10:11:55+00:00
I feel like I'm being gaslit every time nextjs is discussed. I picked it up and learned it for a couple different projects because clients heard about it and wanted it. I kept finding shit like this in the OP post, making issues, asking around about it, and being told by nextjs experts that I was Doing Everything Wrong. Fine, I'll deploy on vercel, but wait this client wants to try cloudflare edge because he knows the ceo and wants to pitch for his investment firm having better access or whatever tf, so I need to get it running on that, so now I can't use some xyz version of some library, and I have to use some bleeding edge version of nextjs and... etc.

Every day that went by I wondered if I was going insane for thinking we should just go back to building apps in straight vanilla javascript. Or like, just react SPAs pointing at fastapi apps deployed on s3, which has never failed me.
by leoedin | 2025-09-02 10:12:04+00:00
I've spent quite a lot of the last year setting up an embedded Linux device for mass deployment - so I've seen a lot of its downsides first hand.

When you have a fleet of embedded devices you want pre-compiled disk images, repeatable builds, read only filesystems, immutable state (apart from small and well controlled partitions), easy atomic updates, relatively small updates (often devices are at the other end of a very slow cell connection) and a very clear picture of what is running on every device in your fleet.

Linux can do all that, but it's not the paradigm that most distros take. Pretty much the entire Linux world is built around mutable systems which update in place. So you're left to manage it yourself. If you want to do it yourself, you end up in the hacky fragile world of Yocto.

Compared to that, using an RTOS or application framework like Zephyr is fairly easy - at the expense of app development time, you just need to worry about getting a fairly small compiled binary onto your device.

I do agree that there's some really powerful parts available which would benefit from the shared drivers and consistent syscalls a standardised operating system offers. But building and maintaining a Linux system for any part isn't a simple undertaking either - and so the complexity of that needs to be considered in total development time.
by athrowaway3z | 2025-09-02 10:12:08+00:00
> Even more worrying

This is untrue.

It's a case of A leads to B and B requires A.

The most common antidote to anti-consumer behavior like this, is for the established parties to pull a dumb stunt and for competitor to eat their lunch.

If you can't bank without Google or Apple, all competition is dead on arrival.

If we have to politik the deplatforming rules of companies because they've taken complete control of the gates, we're doing the wrong politiking at the wrong place.
by homebrewer | 2025-09-02 10:12:14+00:00
When traveling to China, which is also a very mobile-first country, you're expected to install AliPay and WeChat. A couple of years ago AliPay started accepting foreign bank cards, which you add to your account (in addition to lots of other information including photos of yourself and scans of your government id), and then pay through the AliPay application everywhere. Cash has been made extremely inconvenient or even impossible to use, foreign cards are also often not accepted.
by pjmlp | 2025-09-02 10:12:35+00:00
We dearly miss Steve Balmer among those of us that still care about Windows desktop development tooling.

Satya would kill Windows if he could, and replace everything with Azure OS thin clients.

Likewise XBox woes with console, is due to similar approach, he only cares about XBox as games publisher umbrella brand for all Microsoft Games Studios subdivisions.
by simonw | 2025-09-02 10:13:22+00:00
Yes, if you try to use it as if it was an actual lossless encyclopedia.

One of the reasons I like this analogy is that it hints at the fact that you need to use them in a different way - you shouldn't be looking up specific facts in an unassisted LLM outside of things that even lossy compression would capture (like the capital cities of countries).
by bestest | 2025-09-02 10:14:27+00:00
middleware = fn(req) → next(req).

express/koa give you the use() chain. next.js gives you one root, but nothing stops you from chaining yourself. same semantics, just manual wiring.

type mw = (req: Request, next: () => Response) => Response; const logger: mw = (req, next) => { console.log(req.url); return next();

};

const auth: mw = (req, next) => { if (!req.headers.get("x-auth")) return new Response("forbidden", { status: 403 }); return next(); }; function chain(mws: mw[]) { return (req: Request) => mws.reduceRight((next, mw) => () => mw(req, next), () => new Response("ok"))(); } export function middleware(req: Request) { return chain([logger, auth])(req); }

root is given, chain is trivial. that’s middleware.
by skorpen | 2025-09-02 10:15:08+00:00
Sonnet 4 and gpt5 are both good at SvelteKit. You might have to specify that you want to use Svelte 5 in the llm instructions for your editor.

Use Context7 mcp to get Svelte 5 docs if the agent messes up something you know should work.

The new experimental remote functions solved a big pain point with sveltekit, so I no longer have any reasons not to recommend svelte and sveltekit to people.
by algo_trader | 2025-09-02 10:15:39+00:00
I am more interested in the room (apartment?!!) picture [1]

Is it a common tourist setup or do people stay there long term? Whats the rent on that?

Thank god i had company lodging when visiting South Korea

1. https://substackcdn.com/image/fetch/$s_!kXTm!,f_auto,q_auto:...
by yasserf | 2025-09-02 10:16:52+00:00
I agree it’s pretty frustrating, but I do really like the SSR capabilities

I’m divide my frontend and backend via pikku, that way I can continue using normal server side functions but optionally spin up a seperate api service if needed.

Haven’t really tested it on vercel as much, but it ignores middleware on the nextJS side unless it’s for frontend code.

https://pikku.dev/docs/runtimes/nextjs-app

Disclaimer: I’m the pikku core developer
by vintermann | 2025-09-02 10:17:54+00:00
Yes, I agree there are a lot of definitions or descriptions masquerading as explanations, especially in medicine and psychology. I think maybe insurance has a lot to do that. If you just describe a lot of symptoms, insurance won't know whether to cover it or not. But if you authoritatively name that symptom set as "BWZK syndrome" or something, and suddenly switch to assuming "BWZK syndrome" is a thing, the unknown cause to the symptoms, then insurance has something it can deal with.

But this description->explanation thing, whatever the reason, is just another error people make. It's not that different from errors like "vaccines cause autism". Any dataset collecting causal claims people make is going to contain a lot of nonsense.
by blenderob | 2025-09-02 10:18:32+00:00
I'm disappointed to see this kind of cringey, ChatGPT-generated nonsense-Latin being posted and upvoted on HN.

Yes, I know the author added a disclaimer:

> PS: I don’t know any Latin, ChatGPT did the translation for me, so there may be some mistakes.

But there aren't just "some mistakes". The Latin is essentially nonsense. The closest meaning I can draw from that phrase is:

"Protect wife, given things, truth."

That's barely coherent, let alone proper Latin. Is "usorem" even a word?

Of course, it's your blog and you're free to post what you like. But I'd hope the HN community would be more discerning. Imagine if someone posted an article with nonsense Fortran code generated by ChatGPT, adding a note like:

"PS: I don’t know Fortran, ChatGPT translated this Python to Fortran for me, so there may be some mistakes."

If the Fortran didn't even compile, would we still upvote it? I doubt it.

And really, why write nonsense Fortran when you could just write clear Python, Go, or Rust that the community very well understands? Likewise, why attempt fake Latin when you can just write plain English, which most people here understand?
by theshrike79 | 2025-09-02 10:18:44+00:00
Obsidian for todo lists is a bit of a square peg and round hole situation.

And for someone who likes to "work on their productivity", it's a never ending swamp of plugins and optimising data views and reports.

I just switched to Things3 and couldn't be happier. It has very little customisation and options. It just lets me write down my TODO-lists.
by redditor98654 | 2025-09-02 10:18:51+00:00
A while ago, I had attempted to do it the Rust style with a Result type in Java (where it is called Data oriented programming) and the result is not great. I was fighting a losing battle in a naive attempt to replace checked exceptions but still retain compile time type safety.

https://www.reddit.com/r/java/s/AbjDEo6orq
by dali99 | 2025-09-02 10:19:47+00:00
Location: Dubai/Pakistan

Remote: Yes

Technologies: TypeScript, JavaScript, Next, React, Node.js, Express.js, AWS, Docker, Github Actions, Bash, XState, Redux, React Query, Pixi.js, Playwright, React Native, PostgreSQL, k6

Résumé/CV:https://drive.google.com/file/d/1wqOxf0dmood6Gp5QiRCIP5ZFT4R...

Email: danishali0051 @ gmail . com

My work flow these days looks like this - 50% of time planning and finalising exactly what the requirements are, generating a requirement doc which includes user requirements, our performance budget (https://addyosmani.com/blog/performance-budgets/), how to test it (locally husky or on ci/cd or both) e.t.c performance test and non functional requirements - then 10-15% of the time is spent on Implementation planning and communication with team - The main code implementation , I just tell my friend claude to do it :) - Then my work starts reviewing the the code written by my friend. then comes deploying and monitoring work the Final Boss AWS :P.

dont worry most of these works are done by my besties CKCC Chat GPT, Kiro, Cursor and Claude Code

My formal introduction:

Full Stack Engineer with 5+ years of experience building fast, scalable apps using React, Next.js, and Node.js. I emphasize production readiness with functional testing (Supertest/Jest/Playwright), performance testing (k6/Lighthouse/Networks), and database optimizations (Postgres indexing & queries). Experienced in Docker deployments and AWS (EC2, S3, RDS, Fargate, CodePipeline), I design CI/CD workflows that ensure reliable, high performance systems. My metric driven approach helps startups ship polished products that behave predictably in production.

Open for Part Time roles $35/hour. Looking forward towards working with you.
by DecoySalamander | 2025-09-02 10:20:50+00:00
For autocompletion I suggest giving Zed's own offering another try. It's guesses somewhat correctly at least half the time and is very convenient when it get's what you're trying to do durin a refactor and suggest valid multiline changes. It's still rather annoying when it replaces regular autocompletion for import paths with it's plausible sounding guesses. Before that I was using Cody, but I don't think that they have free tier any more.

> immediately consumed the entire free tier's worth of credits in just a few minutes of normal coding

Happened to me too when I've tried to do a single edit with connected gemini pro. It somehow ran out of free quota even before finishing it.
Show HN: Safe-fetch – fetch() without try/catch
by asouei | 2025-09-02 10:20:55+00:00
Every project repeats the same fetch pattern: try/catch, check `res.ok`, handle timeouts. I got tired of the boilerplate.

*safe-fetch* always returns `{ ok: boolean, data | error }` with typed errors. 3kb, built-in retries, dual timeouts, Retry-After support.

Recently featured in Awesome TypeScript. Feedback welcome!
by account42 | 2025-09-02 10:20:59+00:00
Maybe this makes more sense as a change to trademark law than a license thing. If a name OpenSourceProject has gotten popular due to being open source then I would say it's in the interest of the public to ensure that OpenSourceProject keeps referring to an open source project an isn't misappropriated for something else. It's a kind of bait and switch fraud that I think should be generally illegal. On the other hand I don't see why we should care about the creator not being allowed to re-license his own work as long as no one has been mislead about what they are getting.
by paulified | 2025-09-02 10:22:44+00:00
I think if you keep in mind we're talking simple and not easy, then it's sort of like "of course". And there's definitely a sort of elegance in a simple design, like how Apple does hardware, that still manages to "get the job done". So in that sense it's more of a considered constraint than neglect.

But I think there's also a danger of this becoming cargo-culted/dogmatic to the point where's it _is_ the messy, short-sighted solution. I remember many years ago working at a company that adopted XP and TDD and the whole "write the failing test and then the simplest thing to make the test pass". Well-intentioned but with some experience you quickly realise that sure, just returning a hard-coded value will make the test pass simply, but I _know_ there's more requirements coming and that code's going to have to change. So to with system design, I suspect there's also a case for experience telling you that the changes are coming. Maybe this still fits into the "possibly work" part.

The other thing I've seen in my time is that you don't always get the capacity to come back change the design later. So while it's great (and probably bordering on being clever for clever's sake) at times to do the simple thing, hedging your bets in terms of how a system will have changes piled on can often be a good move too.

I think that the main issue with these kind of concepts is they always sound great on the face of them but in the real world it's never that simple :P
by adwn | 2025-09-02 10:22:50+00:00
I think the discrepancy between different views on the matter mainly stems from the fact that state-of-the-art LLMs are better (sometimes extremely better) at some tasks, and worse (sometimes extremely worse) at other tasks, compared to average humans. For example, they're better at retrieving information from huge amounts of unstructured data. But they're also terrible at learning: any "experience" which falls out of the context window is lost forever, and the model can't learn from its mistakes. To actually make it learn something requires very many examples and a lot of compute, whereas a human can permanently learn from a single example.
by berkes | 2025-09-02 10:23:13+00:00
Many of the abstractions and nextjs tools do things that my OS does better, cleaner and more predictable too.

I suppose the overly complicated ENV/.env loading hierarchy is (partly) needed because Windows doesn't (didn't?) have ENV vars. Same for inotify, port detection, thread management: *nix does it well, consistent ish. But when you want an interface or feature that works on both *nix and windows, in the same way, you'll end up with next.js alike piles of reinvented wheels and abstractions (that in the end are always leaking anyway)
by qcnguy | 2025-09-02 10:23:16+00:00
> I don't know what he was talking about

There's a bunch of ways AI is improving itself, depending on how you want to interpret that. But it's been true since the start.

1. AI is used to train AI. RLHF uses this, curriculum learning is full of it, video model training pipelines are overflowing with it. AI gets used in pipelines to clean and upgrade training data a lot.

2. There are experimental AI agents that can patch their own code and explore a tree of possibilities to boost their own performance. However, at the moment they tap out after getting about as good as open source agents, but before they're as good as proprietary agents. There isn't exponential growth. There might be if you throw enough compute at it, but this tactic is very compute hungry. At current prices it's cheaper to pay an AI expert to implement your agent than use this.
by styanax | 2025-09-02 10:23:19+00:00
KeepassXC (Linux) can import Bitwarden files directly as well, as both programs support H/TOTP there's a solution here. Not what I do, but I can see the use case aligning to the GP's comment - using Bitwarden (e.g.) as the TOTP app could allow importing it's backups to KeepassXC if your main/only mobile device fails and you only have a laptop etc.