MurphyA/hacker-news huggingface dataset:
Show HN: Netrinos – A keep it simple Mesh VPN for small teams
by pcarroll | 2025-12-19 21:50:52+00:00
I'm the founder at Netrinos. I built a WireGuard-based mesh VPN because remote access has always been a pain. After years of SSH tunnels, IPsec headaches, and the ssh log horror movie, I wanted something simpler: install, sign in, get work done.

Netrinos creates a LAN-like overlay network across your devices. Connections are direct P2P via WireGuard, with no central server routing traffic. Each device gets a stable IP and DNS name (pc.you.netrinos.com). When direct connections fail, they fall back to a relay server that's still encrypted end-to-end. We can't see your traffic.

The most challenging problem to solve was NAT traversal. UDP hole punching works most of the time. The rest is a cocktail of symmetric NAT, CGNAT, and serial NATs. We use STUN-style discovery and relay fallback for the edge cases. I was surprised by how unreliable low-end ISP routers really are, and how much technical wizardry it takes to hide that behind a clean, simple UX.

Our stack is a Go backend for client and server, WireGuard kernel mode for Linux and Windows (macOS is userspace), Wails.io for cross-platform UI. WireGuard does all the heavy lifting. Go ties it all together.

Popular use cases include: RDP to home PCs, accessing NAS without exposing it, and SSH into headless Linux boxes. One customer manages hundreds of IoT devices in the field, eliminating the need to deal with customer routers.

We just released Pro with multi-user, access control, and remote gateway routing. Personal is free (up to 100 devices).

I'd love to hear what you expect from a simple mesh VPN, what's missing from current tools, and what's lacking from your remote access setup. Use code HNPRO26 for a 30-day trial of Pro.

https://netrinos.com
by adzicg | 2025-12-19 21:51:10+00:00
We use claude code, running it inside a docker container (the project was already set up so that all the dev tools and server setup is in docker, making this easy); the interface between claude code and a developer is effectively the file system. The docker container doesn't have git credentials, so claude code can see git history etc and do local git ops (e.g. git mv) but not actually push anything without a review. Developers review the output and then do git add between steps, or instruct Claude to refactor until happy; then git commit at the end of a longer task.

Claude.md just has 2 lines. the first points to @CONTRIBUTING.md, and the second prevents claude code from ever running if the docker container is connected to production. We already had existing rules for how the project is organized and how to write code and tests in CONTRIBUTING.md, making this relatively easy, but this file then co-evolved with Claude. Every time it did something unexpected, we'd tell it to update contributing rules to prevent something like that from happening again. After a while, this file grew considerably, so we asked Claude to go through it, reduce the size but keep the precision and instructions, and it did a relatively good job. The file has stabilized after a few months, and we rarely touch it any more.

Generally, tasks for AI-assisted work start with a problem statement in a md file (we keep these in a /roadmap folder under the project), and sometimes a general direction for a proposed solution. We ask Claude code to an analysis and propose a plan (using a custom command that restricts plans to be composed of backwards compatible small steps modifying no more than 3-4 files). A human will read the plan and then iterate on it, telling Claude to modify it where necessary, and then start the work. After each step, Claude runs all unit tests for things that have changed, a bunch of guardrails (linting etc) and tests for the wider project area it's working in, fixing stuff if needed. A developer then reviews the output, requests refactoring if needed, does git add, and tells claude to run the next step. This review might also involve deploying the server code to our test environment if needed.

Claude uses the roadmap markdown file as an internal memory of the progress and key conclusions between steps, and to help with restoring the progress after context resets. Pretty much after the initial review, Claude only uses this file, we don't look at it any more. Once done, this plan file is thrown away - tests and code remain. We occasionally ask it to evaluate if there are any important conclusions to record in the architectural design records or contributing guide.
by Semaphor | 2025-12-19 21:51:27+00:00
I had an ancient-ish Roomba (620, 11 years ago). The repairability was amazing. This was from back when there was little competition, but just 2 years ago I could still get every part replaced. Only screws, nothing else. It was beautiful. I got a new vacuum/mop now, vastly better functionality, in exchange for the cloud, but I'm glad my old one lives one at my parents.

I've read it's way worse nowadays, but if they stayed at their quality from back then, I'd have probably paid more for an offline workable repairable vacuum.
by shagie | 2025-12-19 21:51:33+00:00
https://news.sky.com/story/how-a-reddit-post-blew-brown-univ...

> How a Reddit post blew Brown University shooting investigation wide open

> Frustration had mounted that the murderer had managed to get away and that a clear image of his face hadn't emerged - until a Reddit post finally put police on his trail.
by betterhealth12 | 2025-12-19 21:51:51+00:00
appreciate the question and I understand the concern. Our algorithm will balance for this by surfacing and allowing discovery of novel ideas even if they don't have the strongest weight yet - as the source of that idea gets validated over time, their own track record will be used as a proxy for the quality of their future ideas.

The idea is that by relying on their eventual track record rather than just an individual claim, we can surface and reward novel ideas that have merit too.
by noname123 | 2025-12-19 21:52:04+00:00
I agree 100%. The biggest example here is if you read and go back to the threads of HN before the downfalls of SBF and Liz Holmes, you'll see so many people on here worshipping them and apologists for their bad behavior. Most are corporate types are conformists who buy what they are told ('till the narrative are changed). It used to bother me but nowadays I just keep it pushing and aim for the tails and let the mid-curve people be the mid-curve people.
by binarin | 2025-12-19 21:52:07+00:00
You've missed a lot sarcasm in that statement.

claude-code rendering pipeline often goes awry, and start scrolling back and forward very fast, causing insane flickering. They have some explanation in https://github.com/anthropics/claude-code/issues/769#issueco... describing that they've made that tradeoff in the name of native terminal experience (instead of learning per-program shortcuts/etc).

Funnily enough, before reading their reasoning, I thought that the whole rendering pipeline was badly vibe-coded.
by kccqzy | 2025-12-19 21:52:28+00:00
Tech journalism should help. It’s basically curation. I also don’t follow CPUs constantly. When I need to buy CPUs, I go to a few publications (say Ars Technica), search their archives for discussions of CPUs published within the last two years and see what the editors think.

Of course it’s only a solution if you are buying. If you writing low-level software for these outside userspace, I suppose you’ll have to follow the development of CPUs.
by abetusk | 2025-12-19 21:52:35+00:00
For anyone wanting to know, the keyboard layout is that of a chromatic button accordian [0] [1].

I guess there's a C64 "executable" that he's made available but no source so I don't know what the exact keymapping is. I did find a few different resources that show the layout in action [2] [3].

[0] https://www.youtube.com/watch?v=xwsZ41pA_Vo&t=58s

[1] https://en.wikipedia.org/wiki/Chromatic_button_accordion

[2] https://okathira-dev.github.io/client-web-api-sandbox/button...

[3] https://www.rmwinslow.com/tones/
by Rietty | 2025-12-19 21:52:42+00:00
Working in a Data Engineering/Operations role which focuses heavily on financial datasets. Everything is within AWS and Snowflake and each table can easily have >100M records of any type of random data (there is a lot of breadth.) General day to day is creating jobs that will process large amounts of input data and storing them into Snowflake, sending out tons of automated reports and emails to decision makers as well as gathering more data from the web.

All of this is done in a Python environment with usage of Rust for speeding up critical code/computations. (The rust code is delivered as Python modules.)

The work is interesting and different challenges arise when having to process and compute datasets that are updated with 10s of TBs of fresh data daily.
by noname123 | 2025-12-19 21:56:06+00:00
I think Christina Paxson should hire him to be a director of patrol or more realistically a community liason for Brown campus police. The RI/FBI circus were all mum on whether the guy will receive the 50K reward - very on-brand. He wants privacy so I don't know even if there will be a GoFundMe but I think they should do the right thing and give the guy his 50 grand at the very least.
by SAI_Peregrinus | 2025-12-19 21:56:18+00:00
Embedded developer here, automotive-related. C, some Python for tests, some shell scripts, CMake, etc. for CI. Review of hardware schematics, reading datasheets, reading various standards documents (USB, various SAE standards, various ISO standards, etc.) is required. Firmware updates take weeks of testing, even though the unit tests run in seconds they can't catch most errors the system can encounter in practice, and simulator tests don't catch things like increased temperature raising power consumption without an expensive thermal chamber. Factory production sets hard deadlines on quite a few things. All together, that means it's a more deliberate, slower release cycle.
by palmotea | 2025-12-19 21:56:21+00:00
> The "stupid and arrogant" idea has worked for decades and the only real problem with it is espionage.

No, the stupid and arrogant idea is the one that the Chinese will be content to occupy the subordinate position forever, taking direction from Westerners and doing only the grunt work the Westerners often think is beneath them.

It's also stupid and arrogant to think the Chinese are not capable of innovation on their own. The espionage was a tactic to catch up more quickly, and now that they've done that, Chinese are innovating on their own now and have better technology in many areas. But that's not the only thing going on: Western countries are literally going over to China, teaching them what they'll need to know to out-compete them in the future.
by forgotpwd16 | 2025-12-19 21:56:31+00:00
Loses? My comparison is regarding GP's metric perf/lines_of_code. Let m := perf/lines_of_code = 1/(t × lines_of_code) [highest is better], or to make comparison simpler*, m' := 1/m = t × lines_of_code [lowest is better]. Then**:

Nim 1672 Julia 3012 D 3479 C# (SIMD) 5853 C# 8919

>Nim version is not some naive version

It's direct translation of formula, using `mod` rather `x = -x`.

*Rather comparing numbers << 1. **No blank/comment lines. As cloc and similar tools count.
by dqh | 2025-12-19 21:57:26+00:00
I work on the software stack for a biological computing platform (think: tool for programming with human neurons in a dish).

Coding work spans FPGA (SystemVerilog), Linux kernel C, userspace C, Python, and yes, some web services and Browser JavaScript also. I also work on the network engineering of the cloud service and on the Linux OS image.

Easily the most fun I’ve had as a developer and I’ve worked on lots of different types of commercial software projects before. Not all the world is web apps, embedded work can be very satisfying if you’ve not considered it.
by schlauerfox | 2025-12-19 21:58:04+00:00
Pirate button: "Ask me about LOOM" You mean the latest masterpiece of fantasy storytelling from Lucasfilms™ Brian Moriarty™? Why it's an extraordinary adventure with an interface of magic, stunning high-resolution, 3D landscapes, sophisticated score and musical effects. Not to mention the detailed animation and special effects, elegant point 'n' click control of characters, objects, and magic spells. Beat the rush! Go out and buy Loom™ today!
by throw1235435 | 2025-12-19 21:58:19+00:00
Nah; the only advantage that a software engineer has is that if they are experienced they've probably just a little bit bright. But their role will probably change to something other than a software engineer. Bright valuable people that care and are engaged are rare anyway. They may transition to a different role slowly (e.g. Product, QA, BA, etc) because they still offer value and know the domain, but it isn't traditional SWE. That's been disrupted by AI; I don't want it to be true and I'm hoping for something else; but reality is staring us in the face at the moment and it isn't fair to people to talk platitudes anymore. The fact that you have to write an article like this feels like defensive framing to me + illustrates what happens once a skill is devalued by people/society due to disruption; it proves to me where this is all heading.

My thought on why people especially juniors are just delivering slop: Why bother with quality? Why bother with the craft? When it will be disrupted by the next tool/AI model/etc in the next few years anyway? Just think short term - will this slop get you through the PR and tick a short term box? If so success - might not have a job long term anyway due to all the AI stuff. In fact if I keep ticking boxes I'm more likely to last than the other person given more job incentives. Just get paid today.

In your example a QA that is skilled at testing websites should pick up CORS issues for example. And the models will keep getting better and eventually give them harnesses too - and we SWE will slowly automate everything around this because the only lifeboat left for your career is to cash out hopefully by disrupting yourself (no unions, professional bodies, etc).
by gleenn | 2025-12-19 21:58:30+00:00
Clojure also has the threading macro -> and ->> which are great at converting exactly the same type of code into a stream of modifications instead of breaking out everything into variables. Naming things can be very useful sometimes but sometimes it is entirely gratuitous and distracting to have

let input = read_input(); let trimmed_input = input.trim(); let trimmed_uppercase_input = trimmed_input.uppercase();

...

The extra variable names are almost completely boilerplate and make it also annoying to reorder things.

In Clojure you can do

(-> (read-input) string/trim string/upcase)

And I find that so much more readable and refactorable.
by krnlclnl | 2025-12-19 21:58:33+00:00
Got my start with C via Linux kernel hacking in the 90s. It's practical so that's where I would recommend. (or a BSD kernel which are often better organized).

With ~17 years of experience already, start with the study of the structure of C programs. Recreate some of it manually, build it, and research the things that do not behave as expected.

Bonus of using an open source kernel is they have a lot of eyeballs on them. They will be pretty dialed in versus studying random Github projects that happen to be written in C.

Would recommend avoiding cognitive overload, wait until you get into comfortable flow writing, building, fixing as needed, simple programs before you dive into lower level debugging, trying to grasp assembly structures that a compiler spits out.
by Geonode | 2025-12-19 21:58:34+00:00
The difference here could be because we're in different fields. We would call what you're referring to as "chroma." In historical palettes, almost no colors had that intensity of color at the top of your image. In pigment, a color can be extremely saturated and very dark. I submit this random video I found: https://www.tiktok.com/@color.nerd/video/7215966155071163691...
by bluGill | 2025-12-19 21:58:40+00:00
The claim is SerApi is not honoring robots.txt, and they are getting far more data from google/more often than needed for an index operation. Or at least that is the best I can make out of the claim in court from the article - I have not read the actual complaint.

People are generally fine with indexing operations so long as you don't use too much bandwidth.

Using AI to summarize content is still and open question - I wouldn't be surprised if this develops to some form of "you can index but not summarize", but only time will tell.
by ryuuchin | 2025-12-19 21:58:51+00:00
These are available on Weatherbell[1] (which requires a subscription) now except for the HGEFS ensemble model which I'm guessing will probably be added later. AIGFS is on tropical tidbits which should be free for some stuff[5]. I believe some of the research on this is mentioned in these two[2][3] videos from NOAA weather partners site. They also talk about some of the other advances in weather model research.

One of the big benefits of both the single run (AIGFS) and ensemble (AIGEFS) models is the speed and (less) computation time required. Weather modeling is hard and these models should be used as complementary to deterministic models as they all have their own strengths and weaknesses. They run at the same 0.25 degree resolution as the ECMWF AIFS models which were introduced earlier this year and have been successful[4].

Edit: Spring 2025 forecasting experiment results is available here[6].

[1] https://www.weatherbell.com/

[2] https://www.youtube.com/watch?v=47HDk2BQMjU

[3] https://www.youtube.com/watch?v=DCQBgU0pPME

[4] https://www.ecmwf.int/en/forecasts/dataset/aifs-machine-lear...

[5] https://www.tropicaltidbits.com/analysis/models/

[6] https://repository.library.noaa.gov/view/noaa/71354/noaa_713...
by Aurornis | 2025-12-19 21:58:53+00:00
Thinking kids drink too much soda is an opinion (probably backed by evidence), but I wouldn't describe it as a moral panic.

Moral panic usually rises to the level where the threat is viewed as so severe to the fabric of society that excessive laws and regulations are welcomed as a solution. People engaged in moral panic start to believe that their normal baseline values for topics like freedom of expression and innocent until proven guilty can be suspended due to the urgency and magnitude of the threat.

If you're just lamenting the fact that too much soda is consumed, I wouldn't call that a moral panic.
by andsoitis | 2025-12-19 21:59:00+00:00
> nationalism

Nationalism isn’t inherently immoral. Nationalism is the belief that people with a shared history, culture, language, or identity, ought to have political self-determination and a special loyalty to their own nation.

Where nationalism can go wrong is when it becomes exclusionary (eg defines nation as ethnic, racial, or religious), when it claims moral superiority, suppresses internal dissent, escalates into zero-sum thinking (success defined in terms of other nations losing).
by andai | 2025-12-19 21:59:25+00:00
Back in the day I needed PDF export for some client thing. I can't remember if I was using pdfjs or jspdf. I do however remember that it was many thousands of lines of code, and yet, I had to lay out the lines of text on the page manually.

My page layout code was like 50 lines of code. And I remember thinking... OK they already wrote 8,000 lines of code... They couldn't have added 50 more?!

400 lines though. Respect. I will take a proper look at this when I recover from burnout :)
by sigmar | 2025-12-19 21:59:30+00:00
Graphcast (the model this is based on) has been validated in weather models for a while[1]. It uses transformers, much like LLMs. Transformers are really impressive at modeling a variety of things and have become very common throughout a lot of ML models, there's no reason to besmirch these methods as "integrating an LLM into a weather model"

[1] https://github.com/google-deepmind/graphcast
by restalis | 2025-12-19 21:59:37+00:00
Managing the light source, specifically the 13.5nm length on the wave spectrum, that gets generated from overheated tin plasma, is in fact the most challenging part of the machine. Here "managing" includes the process of hitting a rightly sized tin droplet with lasers at the right angles, and all the rest of the complicated fluid math necessary to get the most of that precious lighting moment, as well as the proper handling of that spark event's after-effects, of course. As opposed to the rest of the machine parts (like directing the EUV light to the reticle through those mirrors you mention), the light generation part is dynamic, very easily to get wrong, and very costly to iterate on.
by dpark | 2025-12-19 21:59:48+00:00
The US specifically doesn’t gather or publish stats about citizens who are detained or deported. Shocking, that.

But you can easily search on Google and find some info. Propublica has an article claiming they investigated 170 cases of citizens detained by ICE, some without communication for more than a day, some physically abused. There’s info out there.

Are we only concerned about deportations of citizens, though? Not illegal detentions? Not abuse? Not deportation of legal residents?

> The sheer number of people that are being processed is due to prior administrations open border policy.

Obama got called the deporter in chief because he deported so many immigrants. It’s possible to enforce immigration laws without having a bunch of masked men snatching people off the street.

I think there’s a real conversation to be had about immigration. But that’s not what’s happening.

> Want to change the law? Do it correctly.

Agreed. Follow the law. Deporting residents in violation of court orders is not following the law. Denying due process is not the law.

Maybe Biden should have enforced the law more effectively. Trump flouting the law doesn’t fix that.

> Were you referring to Biden's son?

No. I was referring to the president. And the Supreme Court essentially granting the president immunity for any and all actions.

Are you under the impression that Hunter Biden was president at some point? Or maybe you believe that Biden being addicted to coke and buying a gun is somehow relevant to any of the actions Trump has taken

Or maybe you’re not acting in good faith and you’re invoking this as a distraction.
by Quothling | 2025-12-19 21:59:54+00:00
I think it depends on the sort of work you do. We had some hubspot integration which hadn't been touched for three years break. Probably because someone at hubspot sunset their v1 api a few weeks too early... Our internal AI tool that I've build my own agents on updated our data transfer service to use the v3 api. It also added typing, but kept the rather insane way of delivering the data since... well... since it's worked fine for 3 years. It's still not a great piece of software that runs for us. It's better now than it was yesterday though and it'll now go back to just delivering business value in it's extremely imperfect form.

All I had to do was a two line prompt, and accept the pull request. It probably took 10 minutes out of my day, which was mostly the people I was helping explaining what they thought was wrong. I think it might've taken me all day if I had to go through all the code and the documentation and fixed it. It might have taken me a couple of days because I probably would've made it less insane.

For other tasks, like when I'm working on embedded software using AI would slow me down significantly. Except when the specifications are in German.
by tecoholic | 2025-12-19 21:59:59+00:00
> Mistral OCR 3 is ideal for both high-volume enterprise pipelines and interactive document workflows.

I don’t know how they can make this statement with 79% accuracy rate. For any serious use case, this is an unacceptable number.

I work with scientific journals and issues like 2.9+0.5 and 29+0.5 is something we regularly run into that has us never being able to fully trust automated processes and require human verification every step.