MurphyA/hacker-news huggingface dataset:
by jimmyjonny | 2025-12-28 13:49:15+00:00
This is the most critical post you will make. Hacker News (HN) can crash your server with traffic if you get to the front page, so be ready.

The Golden Rule of HN: Do not "market." Explain how you built it. They care about the architecture, the code, and the hardware—not the "product benefits."

Here is the exact template to use.
The Submission Fields

Title:

Show HN: I built a public web interface that tunnels to my home RTX 3090 for inference

Url:

[Your Render Link]

Text (The "First Comment"):
(You must post this immediately after submitting the link. This is where you win them over.)

Hello HN,

I wanted to run a privacy-focused LLM service without paying for H100s or leaking data to OpenAI, so I built a hybrid architecture.

The Architecture:

Frontend/Gateway: Hosted on Render. This handles the public traffic, auth, and UI.

Inference: Hosted under my desk on my personal rig (RTX 3090).

The Tunnel: The Render server acts as a dumb WebSocket relay. It accepts user prompts, encrypts them, and tunnels them to my local Python worker.

Processing: My local worker uses Ollama for the LLM (Qwen 2.5 14B/32B) and Playwright for live web scraping/RAG.

The Stack:

Backend: FastAPI + Python

Protocol: Secure WebSockets (WSS)

Inference: Ollama (Local)

RAG: PyMuPDF (for PDF analysis) + Playwright (for "Deep Research" browsing)

Why I did this:
I wanted "Sovereign AI." The cloud server never stores the unencrypted chat logs; it just passes packets. The actual intelligence lives on my hardware. It’s essentially a free way to expose a local LLM to the web for personal use (and for friends).
Show HN: I built an open-source wallpaper gallery for GitHub repos
by nyxuis | 2025-12-28 13:49:17+00:00
Hey HN,

GitHub has hundreds of wallpaper repositories with thousands of
images, but actually browsing them is painful. You either clone
gigabytes locally or click through the file browser one by one.

So I built WALL·E Gallery. Use existing collections or Paste a repo URL→ instant gallery.

How it works:
- Fetches repo tree via GitHub (no cloning)
- Proxies thumbnails (~50KB instead of 10MB originals)
- Works with private repos too (with GitHub token)

Infinite scroll, search, dark mode, mobile friendly, self-hostable.
No accounts, no tracking.

Live: https://walle.theblank.club
Source: https://github.com/amitray007/wall-e

Do share your suggestions/feedback.
Also, I did find my desktop wallpaper from this.
by ghickPit | 2025-12-28 13:49:52+00:00
That's a super interesting situation (and description).

I always order reviewing the work of others ahead of working on my own code. This works wonders for the team. But admittedly, if the review workload is not distributed well, then my approach produces an annoying imbalance for me, and over the longer term, it leads to burnout.

Put differently, if I enable / assist / mentor others, that produces value comparable to my own personal output, for the company (or that's at least how I understand things). However, the emotional value of each, to me, is comparable only up to a certain extent -- namely, as long as I get to write enough code myself. The proportion must be right.

I rely on management / the team to (self-)organize the review workload, and then I prefer to help others first, and work on my own stuff second. I draw much more satisfaction from working on my own code, but I feel the importance of supporting others, so I prioritize the latter. This particular prioritization too rewards me emotionally, but only up to a certain point. I can say "no", but, in my view, if I have to say "no" frequently, to requests for assistance, then the workload is ill-distributed, and that responsibility is not mine. (I explicitly don't want to be promoted to a level where I become responsible for assigning tasks to people.)
by port11 | 2025-12-28 13:50:14+00:00
The major issue with this is that modern CSS is almost its own job, to the point we used to have Interface Developers at some place I’ve worked (HTML+CSS specialists). I did frontend for over a decade and eventually lost the train on CSS changes, I don’t even know what’s going on there anymore.

It’s still awesome, but it’s becoming increasingly silly to ask someone to know modern HTML, CSS, JavaScript, Typescript, some build tools, a couple of frameworks, etc.

The amount of JS we ship to clients is a reflection of cost-cutting measures at your workplace, not that every FE dev shuns CSS.
by christophilus | 2025-12-28 13:51:14+00:00
Yep. I remember my dad quoting some major news anchor as saying, “My job isn’t to report the news; it’s to shape perception.” Or something like that. I started watching the news with that as my lens, and it seems to be an axiom of the entire industry. I never have managed to find a reliable way to filter the signal from the noise, other than watching / reading the direct sources (CSPAN or whatnot). No one has time for that.
by 63 | 2025-12-28 13:52:00+00:00
Imagine all the incredible fan works that could spark careers and businesses if e.g. the original star wars trilogy were public domain, or how many indie dev studios could get started by riffing on pokemon. But alas, fans of both franchises continue to make works but can't profit from them and need to pray that Disney and Nintendo won't send lawyers after them if they get popular
by ndiddy | 2025-12-28 13:52:39+00:00
There's a really good video here that shows that it likely happened. https://www.youtube.com/watch?v=-y3RGeaxksY Rhythm Nation is unique because it uses a nonstandard tuning that shifts the notes to less-used frequencies. The video creator found a paper that studied the resonant frequency of various 2.5 inch laptop hard drives, and found that it matched up with the frequency of the low E note used in Rhythm Nation.
by ben_w | 2025-12-28 13:53:21+00:00
That's the positive interpretation, but none of the discussions I've had with UI designers or managers have been about adding animation for accessibility, and the zeitgeist of the last decade has been that skeuomorphism (of which intuitive animations are a subset) is passé.

So far as I can tell, all that the stakeholders want from the UI, animations included, is pizzazz.
by hopelite | 2025-12-28 13:53:47+00:00
That is common of people who are deluded with propaganda. It equally common among all cult like psychological frameworks of mental control. Even you making that statement to rationalize why you cannot understand things that are beyond your capacity to comprehend what is beyond the event horizon of the bubble you exist in, "reserved for when people start telling me that Ivermectin is a COVID remedy" is just more evidence that you are conditioned to soothe your cognitive dissonance with well trained mental rhetoric. And no, before you go off being all smug and self-satisfied again, I don not believe that Ivermectin in a COVID remedy; regardless of how hard you want to tell yourself that to bring your mind back "into spec" ... a rather fitting comment someone responded with... you just don't know what that spec is, you are not even aware that you are running on spec. What is that specification you are running on, you think?
by fcpguru | 2025-12-28 13:55:19+00:00
Amazing, related story. I had a friend that always talked about growning up in 418 Pennsylvania. It began as a company town for a ceramics manufacturer in the 1920s. The factory specialized in heat resistant vessels. You know like kettles, pitchers, industrial teapots. Each stamped each with a model number tied to production lines.

Line 418 was the most profitable. When the post office opened, the clerk assumed “418” was the town name, not the factory line number. By the time anyone noticed, mail was flowing, checks were signed, and no one wanted to correct the federal government. The factory closed in the 1950s. The town shrank but remained oddly proud of its name. Residents leaned into it without explaining it.
by port11 | 2025-12-28 13:55:42+00:00
Congratulations! It’s a very challenging and bumpy ride but it makes life differently meaningful.

Discontented Little Baby is terrific. I was parenting out of fear, the typical stuff of staying indoors, sleep schedules, etc. The book has a really chill approach: just go live your life and bring the baby along. That’s how we wanted to parent, but somehow everyone around us got us into a place of fear.

Don’t make the kid nap in the dark, that hinders their cortisol/melatonin cycle development. Go have fun together!

Good luck, internet stranger :)
by sylware | 2025-12-28 13:56:27+00:00
1 - kernel module from anti-cheats are weaponized by hackers.

2 - if I recall properly, that linux feature is a direct mapping of the target user process allowing extreme dynamicity in time, performant, and much more powerfull mechanisms than basic 'calls'. Namely hell for hackers if a live service game has a proper "security" team, all that without a kernel module.
by rixed | 2025-12-28 13:58:05+00:00
> I am reminded that the only real power comes from violence

Rather from numbers in my opinion. "Divide and conquer", or its modern equivalent "confuse and manipulate", is what makes violence effective. It is always striking to compare how much people are similar, even in our divided society, versus how much dissimilar they think they are. I'm used to help organize long boat trips with all kind of people from various backgrounds, and it's funny to watch.

In the past it was easy to convince people that "the other" was strange and dangerous, due to physical distance. Today we achieve the same with social media.
by 6510 | 2025-12-28 13:58:19+00:00
Right, I sort of expected there to be an attribute for an url.

<datalist json="search.php?q=toyota+corolla">

But then you would want to send other form values along with it which might make things more complicated than it should be?

Static could be better too. When search engines first started building these auto complete dropdowns the multi word input was really the killer feature. To have something like "green toyota" you would have to generate an element for all color and brand combinations? And the you want it to work for "green toyota corolla" and you get an abc kind of list length.

Perhaps a wildcard would have been fun or regex options.

<option value="* days"></option>
<option value="* weeks"></option>
<option value="* years"></option>
by subscribed | 2025-12-28 13:58:46+00:00
Precisely.

Especially when comparing the number of deaths(1) from then-China's favourite energy source or simply Uranium's efficiency(2) and the fact we know now how to recycle most of the waste(3)

Sure, I prefer the solar too, but I agree the governance is the bigger problem in the example from the story.

(1) https://www.researchgate.net/figure/rates-for-each-energy-so... and https://www.nextbigfuture.com/2023/10/new-nuclear-power-is-p...

(2) https://xkcd.com/1162/

(3) https://whatisnuclear.com/recycling.html and https://www.sciencedirect.com/science/article/pii/S036054421...
by Vincent_Yan404 | 2025-12-28 13:58:49+00:00
Exactly. To give you some concrete examples that I’ll dive deeper into in Part 2:

Soviet Architecture: Many of our residential and administrative buildings were designed and built by Soviet experts, giving the city a distinct 'Stalinist empire' aesthetic that felt very grand compared to the surrounding desert.

Elite Salaries: The wage levels in our factory were on par with those in Beijing, which was extraordinary given our remote location.

The 'Post-Scarcity' Bubble: For many families, daily expenses were minimal because the 'unit' (Danwei) provided almost everything. We regularly received rations of high-quality rice, flour, and oil as part of our work benefits, so we rarely had to spend money on basic survival.

In a country that was still struggling with scarcity, living in 404 felt like living in a futuristic, well-provisioned fortress. Stay tuned for Part 2, where I'll talk more about this 'gilded' lifestyle.
by Vincent_Yan404 | 2025-12-28 14:00:41+00:00
This is an incredible story! Thank you for sharing the legend of '418'.

It’s fascinating how industrial logic can accidentally become a place's identity, whether it’s a production line in Pennsylvania or a secret code in the Gobi Desert. The fact that residents remained 'oddly proud' of a name that was essentially a clerical error resonates deeply with me.

In 404, our pride was tied to a secret mission; in 418, it was tied to a factory's success. Both show how humans can find a sense of home and belonging in the most 'functional' or even 'accidental' labels. This is exactly the kind of connection I hoped this post would spark.
by Pepp38 | 2025-12-28 14:00:50+00:00
Author here.

I built an autosave system, then spent time trying to break it on purpose:
tab crashes, reloads, SPA navigation, storage failures, interrupted sessions.

What surprised me wasn’t that autosave fails, but how often these failure modes
only show up in production, after users lose data.

Not trying to sell anything here. Mostly curious how others have dealt with
autosave and data-loss prevention in real apps.
by m0d0nne11 | 2025-12-28 14:01:59+00:00
Our spendthrift overpaid sociopath SIL supplies our grandchildren with all the latest crap (inevitably purchased at maximum-buttfu*k boutique retail prices!) only for every item to end up ignored after a cursory inspection and then abandoned in drifts on the floor - they literally have to rent a dumpster at least once a year to throw it all away! It's truly vile. So I treasure the memory of the look on SIL's face from a couple years back when I presented a gift to our grandson that he played with indoors until spring and then out in the yard until SIL... threw it away! It was 20ft of rope from Home Depot.
by singpolyma3 | 2025-12-28 14:02:16+00:00
I can promise you they are not. One of the families in question doesn't even get their tax credits because they are too far behind on filing. It's just the mover income. They have to make it work and since they must, they do

They don't buy formula obviously and they cloth diaper with used stuff from marketplace. To cover the two examples you gave
by fcpguru | 2025-12-28 14:02:25+00:00
oh wow, I was just playing with all the dialtone frequencies in a little ios app:

https://i.imgur.com/LGXEU7z.mp4

I really miss those sounds. Learned so much about all the different frequencies. No to get too woo-woo but did you know each tone is actually two frequencies a high and low one?

The video above shows dialing either LOVE or FEAR. Not sure where this app is going but I had this idea to help catch myself whenever I'm following fear vs love.
by kryogen1c | 2025-12-28 14:02:25+00:00
I think the greatest crime social media has committed is convincing everyone their opinion matters, the idea that research/journalism is hot-swappable with fact-checking.

Sometimes in conversation Israel or tariffs or whatever comes and I'm always like... idk? What do I, have a PHD? I know enough to know they're complex issues and the worst thing i could do is have a strong opinion
Show HN: LinkPersona – Free LinkedIn audit tool that runs 100% in the browser
by Pixel-M | 2025-12-28 14:05:58+00:00
"Hi HN,

I built this because I was frustrated that every "LinkedIn Optimizer" requires OAuth access or a PDF upload. I didn't want to send my personal data to a third-party server just to check my headline structure.

LinkPersona is a static site (HTML/Tailwind/JS). All the analysis logic (regex for checking 'Role + Result + Metric' patterns, readability scores, etc.) happens client-side. No databases, no tracking pixels, no signup.

It includes:

Headline analyzer

Hook previewer (simulating the mobile vs desktop truncation point)

Post formatter

Code is not minified if you want to poke around 'view source'. Feedback welcome!"
by Vincent_Yan404 | 2025-12-28 14:06:53+00:00
This is where it gets psychologically complex. I’ve often thought that while happiness often comes from having a clear, defined place in a system, freedom is the terrifying opposite—it’s the absence of those boundaries.

My feelings toward 404 are deeply conflicted. It was a cage, yet for a long time, I desperately wanted to go back. As I explore in Part 2, the most tragic part wasn't the strength of the cage, but its fragility. It vanished almost overnight, and when the 'cage' that gave us our identity and social standing disappeared, many of us lost our sense of meaning entirely.

We were free, but we were also 'lost' in a world that no longer had a place for us.
Show HN: Talkyard, open-source forum software. StackOverflow Reddit Slack hybrid
by KajMagnus | 2025-12-28 14:07:45+00:00
Chat "demo": https://forum.talkyard.io/-31/support-chat

Q&A demo: https://insightful.demo.talkyard.io/-6/asking-for-help-in-it...

If you want to self-host, I'd love feedback on the new installation instructions!

Installation repo: https://github.com/debiki/talkyard-prod-one/tree/ty-prod-one... — upcoming new version (feedback welcome). Docker Compose on Debian/Ubuntu.

Source code: https://github.com/debiki/talkyard, AGPL. React, Scala, Postgres.

Biz model: SaaS + Enterprise edition.

Backstory: Inspired by angry people saying silly things in debate programs on Swedish TV. I thought they needed time to think, before they spoke. But they couldn't stay in the TV studio for hours and days. They needed a place online where they could share their thoughts, later when done thinking. There wasn't any good software for this, so I started coding. (This was long ago.)

No investors (instead, independent, based out of Europe/Sweden). Hand coded.
by berkes | 2025-12-28 14:08:07+00:00
Is that "straight-forward easy to understand and follow JavaScript" the whole thing written from scratch? Or does it use libraries (that use libraries, that use libraries)?

Because I've written my share of javascript-from-scratch in my time - before npm and such. And even if my use-case was limited, in order to get edge-cases and details working - issues long solved by their HTML/CSS counterparts - we needed more and more JS. Many of which handwritten polyfills, agent-detection, etc.

Seriously, things like scrollbars (because the client insisted on them being consistent across user-agents) or dropdowns (because they had to be styled) "visited" state on links, in pure JS are thousands of lines of code.
Maybe not today, anymore, IDK, with current APIs like the history API or aria labeling. But back then, just in order to make the dropdown work with screen readers, or the scrollbars react well to touchpads -in the direction the user was used to based on their OS- took us thousands of lines of JS, hacks, workarounds and very hard to follow code - because of the way the "solutions" were spread out over the exact right combination of JS, HTML and CSS. Edit: I now recall we got the web-app back with the comment "When I select "Language" and start typing "Fr" I expect French to be picked and "enter" to then put the language in French". We spent another few days on functions that collect character inputs in memory and then match them with values. All because "flags in front of the names were of crucial importance".

So, maybe this is solved in modern HTML/CSS/JS. But I highly doubt it. I think "some straight-forward ... JavaScript" is either an `import { foo } from foobar` or a pipe-dream in the area of "programmers always underestimate hours"
by Ekaros | 2025-12-28 14:08:09+00:00
Losses with money are easiest to prove thus easiest to litigate. And then also potentially prosecute. Money is in the end most of time reconcilable at the end. So any mistakes can be proven.

In other areas like lost sales or failures of the system there is lot more arguments. On other hand if you are rich enough and can prove the other side is off by sufficiently large amount of money you can bring the hammer down with facts.
by countWSS | 2025-12-28 14:08:22+00:00
Massive x100 speed-up for writing simple, mind-numbing stuff.
Algorithm optimization +20%*(Depends on domain).
Obscure APIsx10(deals with APIs much better than docs)
Debugging is massively easier(incomparably).
I don't know waht HN hate for AI is coming from,
but its ideal for prototyping/debugging/refining code.
Minor polishing/editing specifics is much easier for me,
rather than writting a correct "draft v1.0" from scratch:
since i typicall evolve structures from primitive(v0.1)
while AI gives me a chance to start from 1.0 and polish it
later(optimize/fix/improve/etc).
For "from scratch to working prototype" workflow would mean
months of coding condense to days(mostly debugging/flaw finding).

Drawbacks:I feel like more code is simplified, no ad-hoc complex
structure after AI rewrite. Pure "clean code" with most
standard optimizations and control flow.
AI can fix "good complex code" into simplified "enterprise ready" control flow charts in code form,
it lacks the sense of 'code quality' instead thinking verbose, clean code is the quality marker.
by rw_panic0_0 | 2025-12-28 14:09:02+00:00
that's a nice practice that I do from time to time. Like when my inner self critic starts being too critical ("I'm not doing enough" kind of stuff), or doing things gets harder for some reason, I incorporate the routine of writing done things at the end of the day, and when the situation normalizes I stop doing it. It's usually like a month or two
by mort96 | 2025-12-28 14:09:17+00:00
You need to close it and check for errors as part of the happy path. But it's great that in the error path (be that using an early return or throwing an exception), you can just forget about the file and you will never leak a file descriptor.

You may need to unlink the file in the error path, but that's best handled in the destructor of a class which encapsulates the whole "write to a temp file, rename into place, unlink on error" flow.
by andai | 2025-12-28 14:10:01+00:00
> Maybe the most obvious con: a tada list forces you to have an accomplishment each day so you can write it down, and this added stress to my day.

Maybe it makes more sense to have a box per week instead of per day. Or even per month!

At least in my own life I've noticed that focusing on daily output tends to be demoralizing, whereas if I look back over the months I am often amazed by what has come out of me.
by rastrian | 2025-12-28 14:10:22+00:00
I think we mostly agree for the nullable case in a sound-enough type system: if Foo | null is tracked precisely and the compiler forces a check before x.bar, then yes, you’re not “remembering” checks manually, the compiler is.

Two places where I still see tagged/discriminated unions win in practice:

1. Scaling beyond nullability. Once the union has multiple variants with overlapping structure, “untagged” narrowing becomes either ambiguous or ends up reintroducing an implicit tag anyway (some sentinel field / predicate ladder). An explicit tag gives stable, intention-revealing narrowing + exhaustiveness.

2. Boundary reality. In languages like TypeScript (even with strictNullChecks), unions are routinely weakened by any, assertions, JSON boundaries, or library types. Tagged unions make the “which case is this?” explicit at the value level, so the invariant survives serialization/deserialization and cross-module boundaries more reliably.

So I’d summarize it as: T | null is a great ergonomic tool for one axis (presence/absence) when the type system is enforced end-to-end. For domain states, I still prefer explicit tags because they keep exhaustiveness and intent robust as the system grows.

If you’re thinking Scala 3 / a sound type system end-to-end, your point is stronger; my caution is mostly from TS-in-the-wild + messy boundaries.
by chrisoverzero | 2025-12-28 14:11:56+00:00
> […] it shouldn't take long at all for people to learn the highly consistent naming conventions that tip you off to what type of data is being handled.

I’ve used languages with an approach like this. The difference in what I’ve used is that you separate the conventional part from the rest of the name with a space (or maybe a colon), then only refer to the value by the non-conventional part for the rest of the scope. Then the language enforces this convention for all of my co-workers! It’s pretty neat.