MurphyA/hacker-news huggingface dataset:
by xrd | 2026-01-06 16:32:52+00:00
This is my question, and why not go a step further and just self host foregjo?

Forgejo is a single go binary and very fast.

You can script it using an API, you have full access to the database which can be sqlite3 or postgres.

Then you get all the benefits of an integrated issue tracker which has a great GUI for humans to review.

I really don't understand the raison-de-etre for beads other than yak shaving, and would really like to.
by notepad0x90 | 2026-01-06 16:33:03+00:00
I think it depends on what "join" means. I see no reason why it has to be "replace a human". People used to have secretaries back in the day, we don't anymore, we all do our own thing, but in a way, LLMs are our secretaries of sorts now. Or our personal executive assitants, even if you're not an executive.

I don't know what else LLMs need to do? get on the payroll? People are using them heavily. You can't even google things easily without triggering an LLM response.

I think the current millenial and older generation is too used to the pre-LLM way of things, so the resistance will be there for a long time to come. but kids doing homeworks with LLMs will rely on them heavily once they're in the work force.

I don't know how people are not as fascinated and excited about this. I keep watching older scifi content, and LLMs are now doing for us what "futuristic computer persona" did in older scifi.

Easy example: You no longer need copywriters because of LLMs. You had spell/grammar checkers before, but they didn't "understand" context and recommend different phrasing, and check for things like continuity and rambling on.
by bilkow | 2026-01-06 16:33:13+00:00
You don't need primary selection to avoid the keyboard, you can also hold right-click on your selection and release it on "copy" (or right-click on your selection then left-click on copy, more intuitive but slightly more cumbersome)

I agree it's less convenient (there's an extra step: explicitly copying the text), but in my experience it's also more reliable as you don't lose it by just selecting anything.
by ajross | 2026-01-06 16:33:33+00:00
> I'm not talking about fitts law on phones though, I don't think anyone is.

I was, in the comment you responded to!

I'm saying that phone-centric UI paradigms completely dominate in the modern world. And by extension, arguments like the linked article dancing on pins over minutiae of the menu bar, are missing the point. Good User Interface design in the coming decades simply is not going to use menu bars, it's not. It exists for dinosaurs like us, not the coming generation of tool users who will be directing AI or whatever and not digging through text.
Show HN: You are now the product manager of this site
by mlatman | 2026-01-06 16:33:42+00:00
Hey HN,

I wanted to see what happens if you put a large group in control of a site that’s completely built and updated by an AI agent.

I first tried this with a small group of co-workers and it worked surprisingly well, so the obvious next step was: give it to a bigger group of strangers and see what we learn.

This site is fully autonomous. An AI agent reads this thread, decides what to do, writes code, and ships updates on a virtual computer. I might step in if it gets totally stuck, but the goal is for the site to evolve primarily based on this discussion.

How it works:

- Leave a comment with a feature request, bug report, design tweak, or question
- Every ~5 minutes, the agent checks this thread, reads new comments, and decides what to work on
- It writes code, tests it locally, and deploys to Vercel via Git
- Upvotes affect priority — highly upvoted comments rise on its roadmap

The site started as a blank canvas this morning. Everything you see was built by the agent based on earlier comments.

All of the work is done by a https://Tasklet.ai agent (disclosure: I work there). If you’re curious about the technical details, I wrote up how it works here: https://michaellatman.com/articles/hey-hn-ai-built-site.
by andersonpico | 2026-01-06 16:33:49+00:00
their cynicism is perfectly understandable once you correctly identified the demographics (which you did), so I'm not sure why you're holding pessimism against poor people with a bleak future; like it or not that's far more anchored in reality than anything around these parts, as there are far more people with "bottom rung jobs" than software developers and VC investors in the bay area.
by thumbsup-_- | 2026-01-06 16:33:57+00:00
There has always been this argument that allowing H1bs to switch jobs easily and clearing the green card backlog for India will increase labor liquidity in the market which may in turn result in higher wages for local and foreign population.

Employers don't want this. Policymakers also don't want this because higher wages (for everyone) may put inflation pressure. Instead, the middle ground is to have employers have their way by having hostage labor, while at the same time, keep spreading hate for H1bs so that local population doesn't feels alienated by policymakers.
by codyb | 2026-01-06 16:33:57+00:00
Didn't work for Biden

He was incredibly successful at tackling hidden charges, and dark patterns, and extra fees tacked on after the fact

The country ate alive the nicest, most well meaning president we've ever actually had as far as I can tell

Although of course he was up against every media company in the nation, all, including social media, controlled by about... 8 people or whatever
by nashashmi | 2026-01-06 16:33:59+00:00
Maybe there are existing laws already in the books that can be leveraged as part of this EO. I know Lina Khan with FTC was focusing on this. And this is being taken up by the NYC administration where Lina was part of the transition team. Lina was in charge of seeing how to fulfill Mamdani's vision using the existing law system.
by general1465 | 2026-01-06 16:34:11+00:00
I love it. It is such a stupid move that I can only laugh. USA will lose EU, very close ally with a huge economy. Where is the big part of military supply chain coming from? Well it is EU - i.e. big chunk of F35 is made in Europe. Which would be really smart thing to lose, when US Navy already has issues to build ships in general.

And then war with China comes around. Take Greenland and it is going to be more like USA against the world, than USA vs China.
by scottlamb | 2026-01-06 16:34:17+00:00
I'm a little surprised they're at all open to a rewrite in Rust:

> All that said, it is possible that SQLite might one day be recoded in Rust.

...followed by a list of reasons why they won't do it now. I think the first one ("Rust needs to mature a little more, stop changing so fast, and move further toward being old and boring.") is no longer valid (particularly for software that doesn't need async), but the other ones probably still are.

I write Rust code and prefer to minimize non-Rust dependencies, but SQLite is the non-Rust dependency I mind the least for two reasons:

* It's so fast and easy to compile: just use the `rusqlite` crate with feature `bundled`. It builds the SQLite "amalgamation" (its entire code basically concatenated into a single .c file). No need to have bazel or cmake or whatever installed, no weird library dependency chains, etc.

* It's so well-tested that the unsafety of the language doesn't bother me that much. 100% machine branch coverage is amazing.
by Workaccount2 | 2026-01-06 16:34:27+00:00
Make an order that any service which holds your money for spending with them (starbucks app, giftcards, ez-pass) has to pay you interest at the benchmark rate (or BM - 0.25%, something small).

It's such a money maker but no one complains because they either don't know it's happening or don't care enough to say something. But 1 million people with $10 in their account will generate $1,000/day in free money for the holder.
by california-og | 2026-01-06 16:35:25+00:00
I also found it a very good thing. After the API use ban, and losing my blocklist, I couldn't go back to browsing normal reddit anymore and was finally able to quit after 10+ years. And, it has made me very resistant to joining or doomscrolling any other social media too. I think the hn model is decent because it doesn't optimize for engagement but for intellectual curiosity, whether it's positive or negative, which leads to mostly earnest and interesting discussion.
by malshe | 2026-01-06 16:35:45+00:00
I am guessing you have detailed data as you took 3 months to put it together. I suggest regressing wages on various employer-, employee-, and job-specific characteristics. That analysis will be more insightful. Also, comparing this wage delta across employers who are subject to the H1B cap and those who are cap exempt (e.g., non-profit universities) would make your story more compelling. Your analysis suggests that the wage delta would be small or 0 for cap exempt employers. Btw, you could consider this as a characteristic of employers and include it as a binary (1/0) variable in the regression model. Just my 2 cents.
by irishcoffee | 2026-01-06 16:35:51+00:00
From where I sit, smartphones completely ruined the internet.

If you're defining "successful" in the sense of people-making-a-lot-of-money I completely agree.

If you're talking about the internet in 2005 vs 2025, smartphones completely ruined the internet. At one point I had half my high school using HTML in their AIM profiles because they thought mine was cool.

Now kids can hardly even type on an actual, physical keyboard.
by nofriend | 2026-01-06 16:35:55+00:00
Why would middle click not open tabs? You middle click a link to open it in a new tab, you middle click a text box to paste into it. Neither interfere with the other. On windows, you can middle click anywhere on the page (except links, ofc) to go into a scrolling mode where dragging your mouse around changes the scrolling direction. I don't think many people use that feature, but it's there, and doesn't work on linux.
by s_dev | 2026-01-06 16:36:31+00:00
It's very interesting to see Plex users slowly turn against the platform primarily due to costs being imposed. Plex has better client software than Jellyfin but the 'proprietary vs open source' debate for NAS/video streaming software seems to be reversing. Jellyfin is catching up to Plex and in a few years despite Plex having a first mover advantage here -- I expect it to surpass Plex in monthly active users.
Show HN: Repogen – a static site generator for package repositories
by tlar | 2026-01-06 16:36:50+00:00
Hi HN,

Package repositories don't need to be complicated. They're just static files: metadata indexes and the packages themselves. Yet somehow hosting your own feels like you need dedicated infrastructure and deep knowledge of obscure tooling.

repogen is an SSG for package repos. Point it at your .deb/.rpm/.apk files, it generates the static structure, you upload to S3 or any web host. Done. $0.02/month to host packages for your whole team.

It supports Debian, RPM, Alpine, Pacman, and Homebrew. Has incremental mode for updating repos without redownloading everything. Handles signing. Very alpha, but it works. Would love to get feedback!
by thisislife2 | 2026-01-06 16:37:18+00:00
From what they have written, the only other language that meets their requirement seems to be Ada:

1. Stability: Ada is an "old and boring" language (aka stable and reliable - the first standard for the language was issued in 1983 and created for the Defence industry) - https://learn.adacore.com/courses/intro-to-ada/chapters/intr...

2. Compatibility: Interoperability features is built-in, allowing you to create Ada libraries that can be used with other languages - https://piembsystech.com/interfacing-ada-programming-with-c-...

3. Embedded Programming: Ada has been designed for embedded programming and the language includes constructs for directly manipulating hardware, for example, and direct interaction with assembly language. - https://learn.adacore.com/courses/intro-to-embedded-sys-prog...

4. Ada supports processes / suites to comply with Branch coverage in ISO 26262 ( https://github.com/NVIDIA/spark-process ) and Decision coverage in DO-178C ( https://learn.adacore.com/booklets/adacore-technologies-for-... ).

5. Ada has features supporting memory safety to avoid many memory issues in the first place ( https://www.adacore.com/blog/memory-safety-in-ada-and-spark-... ) but using its exception handling and programming techniques (like pre-allocating "guard" memory) can allow Ada programs to tackle fringe OOM errors.

6. Performance: Ada is built for systems programming, is just as fast as C ( https://learn.adacore.com/courses/Ada_For_The_Embedded_C_Dev... ), with the added bonus of "modern" programming features that can generate more "reliable" code
by vlovich123 | 2026-01-06 16:37:22+00:00
For what it’s worth rust was also designed by a person with strong opinions. It’s devolved to an organization but that’s inevitable in terms of long term sustainability.

You can always use no-std if you so choose where the language is about the size of C (but still has better utility) although if you’re complaining about the size of the language, c++ is drastically worse in my opinion. Rust starting to work its way into the Linux kernel should be a signal that the language is better suited for paring down than c++
by AstroBen | 2026-01-06 16:37:36+00:00
> As a counter I’ve had OpenAI Codex and Claude Code both catch logic cases I’d missed in both tests and codes

That has other explanations than that it reasoned its way to the correct answers. Maybe it had very similar code in its training data

This specific example was with Codex. I didn't mention it because I didn't want it to sound like I think codex is worse than claude code

I do realize my prompt wasn't optimal to get the best out of AI here, and I improved it on the second pass, mainly to give it more explicit instruction on what to do

My point though is that I feel these situations are heavily indicative of it not having true reasoning and understanding of the goals presented to it

Why can it sometimes catch the logic cases you miss, such as in your case, and then utterly fail at something that a simple understanding of the problem and thinking it through would solve? The only explanation I have is that it's not using actual reasoning to solve the problems
by kayo_20211030 | 2026-01-06 16:37:49+00:00
It doesn't seem unreasonable to want the simple stuff to work simply. When did everything we think we know become "metaphors" that can only be understood by solvers of cryptic crossword puzzles? Switches go up/down, and the expected thing happens? Dishwashers just go on when you push the button? Why screw with the simple stuff?
by gruez | 2026-01-06 16:38:04+00:00
>has to pay you interest at the benchmark rate (or BM - 0.25%, something small).

Deposit accounts at most banks pay you less than that, so it's unclear why you'd want gift cards to pay that much. Not to mention that turning gift cards into essentially bank accounts is going to create even more issues. Remember how we have to remind people how paypal isn't a bank? Or how would you calculate income taxes from the interest?
by johncolanduoni | 2026-01-06 16:38:06+00:00
The great firewall was updated to support inspection of TLS 1.3. They didn’t just decide it was whatever and let everything through. It was easier to just update their parsing than to force everyone to turn it off, so they did that instead. Perfect forward secrecy was a thing before TLS 1.3, and they’ve found other methodology to accomplish what they want.

For ECH, China can just require you turn it off. Or distribute their own blessed distribution. It’s the more marginal censorship regimes that will be in an interesting spot. Especially ones where the ISPs are mostly responsible for developing the technical measures.
by threethirtytwo | 2026-01-06 16:38:35+00:00
Is there still pressure to use OOP? On Hacker News, at least, the trend seems to be moving in the opposite direction. There’s growing skepticism toward OOP, and that’s reflected in the popularity of languages like Rust and Zig, which are explicitly designed to push against traditional object-oriented patterns.

That’s not to say OOP advocacy has disappeared from HN. It still exists, but it no longer feels dominant or ascendant. If anything, it feels like a legacy viewpoint maintained by a sizable but aging contingent rather than a direction the community is moving toward.

Part of OOP’s staying power comes from what I’d call a cathartic trap. Procedural programming is intuitive and straightforward. OOP, by contrast, offers a new conceptual lens: objects, inheritance, polymorphism, and eventually design patterns. When someone internalizes this framework, there’s often a strong moment of “clicking” where complex software suddenly feels explainable and structured. That feeling of insight can be intoxicating. Design patterns, in particular, amplify this effect by making complexity feel principled and universally applicable.

But this catharsis is easy to confuse with effectiveness. The emotional satisfaction of understanding a system is orthogonal to whether that system actually produces better outcomes. I’ve seen a similar dynamic in religion, where the Bible’s dense symbolism and internal coherence produce a powerful sense of revelation once everything seems to “fit” together. The feeling is real, but it doesn’t validate the underlying model.

In practice, OOP often increases complexity and reduces modularity. This isn’t always obvious from inside the paradigm. It tends to become clear only after working seriously in other paradigms, where composition, data-oriented design, or functional approaches make the tradeoffs impossible to ignore.
Show HN: Tt – P2P terminal sharing over WebRTC
by artpar | 2026-01-06 16:38:37+00:00
Made this to use my laptop terminal session on mobile without data going through a server.

tt start -p mypassword → get a URL (qrcode) → open in browser → enter password → connected.

Direct webrtc datachannel between your machine and browser.

Signaling server is a cloudflare worker, exchanges ~2KB of sdp/ice metadata then gets out of the way. Password never transmitted - argon2id derives 256-bit key locally on both ends. All terminal i/o gets nacl secretbox encryption before hitting the datachannel. double encrypted with dtls underneath but I wanted the relay to see nothing useful even during signaling.

go + pion/webrtc, about 14k loc. browser is xterm.js + webcrypto for argon2id. stun default, turn for symmetric nat.

my use case: checking on claude code runs from my phone when im not at my desk. hotel wifi, spotty mobile data. spent time on turn fallback, keepalive with reconnection, buffered writes during disconnects. pwa so it works from home screen and survives app switching. holds up ok on 3g.

Trade-offs: ice gathering takes 2-5s on connect. browser cant initiate, need cli on host. codes expire 24h.

Single binary, no deps. daemon mode for multiple sessions. tests with race detector, chaos tests for disconnects, network condition simulation. crypto and webrtc at ~72% coverage.

https://github.com/artpar/terminal-tunnel

ps: default relay runs on my cloudflare free tier so no guarantees. you can self-host the worker or run tt relay locally.
Show HN: Video to Image – Client-side frame extraction with AI quality scoring
by yuni_aigc | 2026-01-06 16:39:02+00:00
Hello HN,

I built a tool to extract high-quality frames from videos entirely in the browser.

Link: https://video-to-image.com

The Problem I frequently need to grab specific high-res frames from video footage for thumbnails or documentation. Opening heavy desktop editors (Premiere/Resolve) is overkill for this single task, and existing web tools usually require uploading the file to a server (privacy risk + bandwidth constraints) or result in compressed, low-quality output.

How It Works The application runs 100% client-side with no server-side processing for the video files.

Local Loading: It uses URL.createObjectURL to load the local file into an HTML5 video element. The binary data never leaves your device.
Frame Capture: To extract a frame, the app seeks the video element to a specific timestamp and draws the content to an off-screen <canvas>. This allows us to export the image data as a Blob (PNG/JPG/WebP) while preserving the original video resolution (up to 4K).
AI Quality Scoring: To solve the problem of selecting the best frame among similar ones, I implemented a client-side analysis engine. It evaluates pixel data from the canvas context for sharpness (focus), contrast, and exposure. It assigns a quality score (0-100) and flags blurry frames, which is particularly useful for filtering out motion blur in batch exports.
Technical Challenges

Seeking Precision: One of the biggest hurdles was video.currentTime seeking. Browsers often snap to the nearest keyframe rather than the precise timestamp requested, especially with inter-frame compression like H.264. I had to implement logic to verify the seek position.
Memory Management: Batch exporting hundreds of 4K frames for a ZIP download quickly hits browser memory limits. I implemented a queue system to process, compress, and release objects from memory in chunks to prevent crashes on lower-RAM devices.
Limitations

Codec Support: Since it relies on the browser's native decoding capabilities, file support is limited to what your browser can play (e.g., H.265/HEVC support is inconsistent across Chrome/Firefox/Safari).
Performance: Decoding high-bitrate 4K/60fps footage entirely in the browser can be CPU-intensive.
I’m happy to answer any questions about the implementation or the client-side stack. Feedback on the quality scoring algorithm is especially welcome.

Thanks!
Show HN: Tangents – Non-linear LLM chat with hands-on context control
by _boffin_ | 2026-01-06 16:39:11+00:00
LLM chat breaks when you're learning. Side questions either clutter the main chat or you copy/paste into a new chat and lose lineage. Tangents makes the workflow explicit with non-linear chat and hands-on context control:

- Branch: select a span in any message and open a tangent chat. The main chat stays readable.

- Collector: save multiple snippets (from the same message, across messages in a chat, or across chats).

- Compose: ask using only what's in the Collector as curated context.

There's also a Context console to preview what the model will see, plus context controls so you can pin / include / exclude messages (on the message item or in the console).

-----------

HN page: https://tangents.chat/hn

-----------

Available now

- Branch from a selection to explore a tangent chat

- Collector (multi-snippet: same message, across a chat, or across chats)

- Compose (ask using only what's in the Collector)

- Context controls (pin / include / exclude)

- Context console (preview before you send)

- Bring your own key

Future

- Full documents and media as first-class attachments (planned)

- Selectable regions/spans across formats (text, images, audio/video) and timestamp ranges for media (planned)

- Mobile workspace: functional today, still being refined (WIP)

What this is not

- Not an agent framework. It's a chat workspace for manual context control.

- Not a node-graph canvas. You build the graph inline as you branch and collect; visualizations are secondary.

- Not "citations marketing." The focus is keeping context explicit and inspectable while you work.

-----

Track your ideas as they evolve over time.

Branch when you digress, collect what matters, and come back with a clean, connected result.

-----

Notes

- Early access is gated because I'm personally funding inference

- Provider: OpenAI only right now; expanding to others soon

-----

Blunt feedback welcome.