MurphyA/hacker-news huggingface dataset:
by Havoc | 2026-01-24 11:32:47+00:00
I've been eying the phone sockets too wondering what I can do with them. Think i'll end up running fiber though because internet is 1.6 so gigabit would be a bottleneck.

As a side note - it's quite difficult to find white fiber cables. They're all bright colour so that nobody cuts them accidentally but I don't want a pink line running along the walls haha
by user5994461 | 2026-01-24 11:34:13+00:00
A view from the the debugging tools since you asked https://thehftguy.com/wp-content/uploads/2026/01/screenshot_...

I don't think there is anything too fancy compared to a DSLAM. It's just that DSLAM are low-frequency long-range by design.

Numbers for nerds, on top of my head:

* ADSL1 is 1Mhz 8Mbps (2 kilometer)

* ADSL2 is 2Mhz 20Mbps (1 kilometer)

* VSDL1 is 15Mhz 150Mbps (less than 1 kilometer)

* Gigabit Ethernet is 100Mhz over two pairs (100 meters). It either works or it doesn't.

* The G.hn device here is up to 200 MHz. It automatically detects what can be done on the medium.
by norir | 2026-01-24 11:34:55+00:00
A precomputed lookup table would be about 1MB covering all of then code points. The lookup code would first compute the code point (and also could do validation) and directly look up the class in the table. The lookup table would not need to be directly embedded in go code and could just be stored in a binary file. But I'd imagine it also could be put in an array literal in its own file that would never be opened by an ide if the program needs to be distributed as a single binary.
by noelwelsh | 2026-01-24 11:36:08+00:00
I mean union types in the programming language theory sense, not in the "we called this language feature union types" sense. Elm's union types are algebraic data types (ADTs). Union types in the PLT sense are what Typescript has. The main difference is that an ADT must be declared upfront, whilst a union type can be constructed in an ad-hoc manner based on whatever types are used together at a particular point in the program.
by tengwar2 | 2026-01-24 11:36:44+00:00
One of the annoyances of Linux is working out where configuration information is, following through multiple layers of indirection and files over-riding other files. This looks like adding another layer, another place to look, and if you're reading the man file for a shell (for example) it probably won't even mention that this could invalidate the information contained in that in the man file.
by ndsipa_pomu | 2026-01-24 11:37:13+00:00
Wired vs wireless headphones can demonstrate why sometimes, the old simple tech is actually better.

Wired headphones have a great user interface - you plug them into the device making music. That's it. If a friend wants to play you some music, you can just plug your headphones into their device (assuming it has an audio socket) without mucking around with pairing and then later having a problem because it can only pair to a limited number of devices.

Also, of course, there's no issue with recharging them.

A secondary "benefit" is that you're far less likely to lose more bulky headphones than earpods.
by gsf_emergency_6 | 2026-01-24 11:37:46+00:00
My answer to that is that what little time Gibson spent on the West Coast was on the underclass :)

Normcore as reaction to hipsterism (We're still sort of in it apparently)?

Thanks! Virginia is screaming at the top of her lungs! (Ohanian, Poole, Gibson)

Imho Mailer was an quasitroll, so whatever works
by boxofficebads | 2026-01-24 11:38:26+00:00
So i may install "Rockbox" again (yes - that was an upgrade), on an Kinese express-device? But, but, but...that may sound offending -sry, just for a moment i thought, "you were missing the topic completly" so... my 2 cents OT....

Platforms, globally synchronized making the Uniform, and bland?

(Reads:) "Monitored, connected beds.
Antitrust pressure seem slowed"

"A Timex ad went viral this year: 'Know the time without seeing you have 1249 unanswered emails.'"

An Opinon-Refusal-Portal; the 'Wise people Of Gotham"-Citizen-Advice-Agency, the 120%-Normality, the Blue-Milk-Canal-Logic (Kishon)

I like watches cos, there once was a time, machines got that big and heavy, that wind-like waterpowered-energy couldn't make them start, nor keep them go, and therefore a 'need' of steam-engines...

"Cos nostalgia revealed a massive, underserved Service-economy-demand."

so... ?

Random thoughts, not? (-;
by jasode | 2026-01-24 11:38:30+00:00
>This is not an issue in Europe, due to effective regulation.

This article's author complaining about Proton overriding his email preferences is from the UK. Also in this thread, more commenters from UK and Germany say companies routinely ignore the law and send unwanted spam. Companies will justify it as "oops it was a mistake", or "it's a different category and not marketing", etc.
by spacecadet | 2026-01-24 11:38:32+00:00
Neat! Others have pointed out nmap, but hey, a project may look similar at first but evolve into something entirely different. For a few years I have slowly worked on a network analysis tool. It started out as a way to learn a few concepts better, make a prettier TUI app, but has turned into a tool I use for work as needed. I have never shared it here, https://github.com/derekburgess/jaws
by nmstoker | 2026-01-24 11:41:52+00:00
Has anyone seen this implemented? Doesn't look like there is any code to try or links to a demo.

They mention a video but the paper didn't include details but a quick Google found this (which I vaguely recognise now as having been posted on HN before):

- https://jenson.org/text/

- https://youtu.be/_9YPm0EghvU?si=NU3SDrKxAK7_5FQW
by flohofwoe | 2026-01-24 11:42:25+00:00
> When you strlen() a UTF8 string, you don't get the length of the string, but instead the size in bytes.

Exactly, and that's what you want/need anyway most of the time (most importantly when allocating space for the string or checking if it fits into a buffer).

If you want the number of "characters" (which can have two meanings: either a single UNICODE code point, or a grapheme cluster (e.g. a "visible character" that's composed from multiple UNICODE code points). For this stuff you need a proper UNICODE aware string processing library. But this is needed only rarely in most application types which just pass strings around or occasionally need to split/parse/tokenize by 7-bit ASCII delimiters.
by tialaramex | 2026-01-24 11:43:03+00:00
For the containers in particular this makes a lot of sense because the C++ stdlib containers are just not very good. Some of this is because C++ inherited types conceived as pedagogic tools. If you're teaching generic programming you might want both (single and double) extrusive linked list types for your explanation. But for a C++ programmer asking "Which of these do I want?" the answer is almost always neither.

The specification over-specifies std::unordered_map so that no good modern hash table type could implement this specification, but then under-specifies std::deque so that the MSVC std::deque is basically useless in practice. It requires (really, in the standard) that std::vector<bool> is a bitset, even though that makes no sense. It sometimes feels as though nobody on WG21 has any idea what they're doing, which is wild.
by wiseowise | 2026-01-24 11:44:57+00:00
> Because Kotlin took a dumb turn about 5 years ago and decided that multiplatform was their future instead of the jvm (because they felt threatened by React Native and Flutter on Android).

It’s because JB intends to make money on their investment, unlike the other two. This is the reason why Kotlin ecosystem is a half baked mess – JB tries to artificially replicate all successful ecosystems without having a community.
by publicdebates | 2026-01-24 11:46:27+00:00
Smoe of these are definitely nice-to-haves*, but when you're evaluating a C++ alternative, there are higher priority features to research first.

How are the build times? What does its package system(s) look like, and how populated are they? What are all its memory management options? How does it do error handling and what does that look like in real world code? Does it have any memory safety features, and what are their devtime/comptime/runtime costs? Does it let me participate in compile time optimizations or computations?

Don't get me wrong, we're on the same page about wanting to find a language that fills the C++ niche, even if it will never be as ideal as C++ in some areas (since C++ is significantly worse in other areas, so it's a fair trade off). But just like dating, I'm imagining the fights I'll have with the compiler 3 months into a full time project, not the benefits I'll get in the first 3 days.

* (a) I've been using structs without typedef without issue lately, which has its own benefits such as clarifying whether the type is simple or aggregate in param lists, while auto removes the noise in function bodies. (b) Not needing forward declarations is convenient, but afaik it can't not increase compile times at least somewhat. (c) I like the consistency here, but that's merely a principle; I don't see any practical benefit.
Show HN: I built A GUI for managing waypoints in large-scale robot navigation
by ponta17 | 2026-01-24 11:46:39+00:00
When robot navigation scales from hundreds of meters to several kilometers, managing waypoints as raw numeric values quickly becomes painful and error-prone.

This provides a GUI tool that lets you visually edit waypoints on a map, automatically generate them from start and goal positions, and batch-edit multiple waypoints at once, making medium- to large-scale navigation much easier to manage.
by IshKebab | 2026-01-24 11:47:29+00:00
> A new house bought today could have 10 phone sockets and 0 Ethernet sockets.

That's nonsense. Not in a new house. Maybe one from 20 years ago.

Anyway nice find. It's always annoying when there's a product that you know should exist but simply doesn't.

I'm currently trying to find a reasonably priced Bluetooth Auracast receiver so I can play audio to multiple rooms from my phone (no way am I investing in Sonos after all their bullshit).

There should be loads of these but the only ones I can find seem to be battery powered wearable devices aimed at tour groups, or hundreds of pounds.
Show HN: DayZen: Visual day planner for ADHD brains
by Kavolis_ | 2026-01-24 11:49:29+00:00
Hey HN,

I've struggled with time-blindness my whole life. ADHD means I can write 14 tasks on a to-do list and genuinely believe I'll finish them before lunch. Reality disagrees at 11 PM when everything falls apart.

DayZen is my solution: your day as a 24-hour radial clock. Tasks become colored arcs. When the circle fills up, it's full. No more lying to yourself about what actually fits.

Just shipped 1.4 with Focus Mode
The new version adds features I've wanted since day one:

Focus Mode: Full-screen timer that zooms into your current task. Distractions fade, simple controls keep you on track. Built it because I kept checking my phone to see "what's next" and losing 15 minutes to Reddit.

Live Activities + Dynamic Island: Your active focus session shows on Lock Screen with time remaining and progress bar. Sounds simple, but it's been genuinely game-changing for staying aware without pulling out my phone.

Insights: Added analytics (today/weekly/monthly/yearly) with streaks and category breakdowns. Turns out I spend 40% of my time on "Important but not urgent" which explains a lot.

Time awareness improvements: Specifically designed for ADHD time blindness. Visual feedback makes abstract time concrete.

Why a radial clock?
Linear lists hide the finite nature of your day. They feel infinite, so you keep adding tasks. A circle forces honesty. Conflicts glow red immediately. You see gaps. You make the hard choices before the day starts, not at midnight when you're burned out.
Technical details:

Built native iOS with SwiftUI
Two-way calendar sync (Google, Outlook, Apple)
Local-first, iCloud sync between devices
No account needed, no tracking, no ads
Lock Screen widgets use WidgetKit with Live Activities API
Recurring tasks auto-generate instances for next 30 days

Privacy approach:
Your schedule stays on your device. I don't collect, sell, or see your data. No analytics, no crash reporting, no server calls except calendar sync (which uses system auth). This was non-negotiable for me as both an ADHD person and someone who values privacy.

Looking for feedback on:

Does the radial approach click for you, or is it too different?

Focus Mode UX: Does the minimalism help or is it too minimal?

What other time-blindness features would help?

Try it: https://www.dayzen.xyz/

Site:Happy to answer questions about the technical implementation or design decisions. Built the whole thing solo over the past year while working full-time, so there are definitely rough edges I'm still smoothing out.
Thinking about memory for AI coding agents
by hoangnnguyen | 2026-01-24 11:49:35+00:00
I’ve been experimenting with AI coding agents in real day-to-day work and ran into a recurring problem, I keep repeating the same engineering principles over and over.

Things like validating input, being careful with new dependencies, or respecting certain product constraints. The usual solutions are prompts or rules.

After using both for a while, neither felt right.
- Prompts disappear after each task.
- Rules only trigger in narrow contexts, often tied to specific files or patterns.
- Some principles are personal preferences, not something I want enforced at the project level.
- Others aren’t really “rules” at all, but knowledge about product constraints and past tradeoffs.

That led me to experiment with a separate “memory” layer for AI agents. Not chat history, but small, atomic pieces of knowledge: decisions, constraints, and recurring principles that can be retrieved when relevant.

A few things became obvious once I started using it seriously:
- vague memory leads to vague behavior
- long memory pollutes context
- duplicate entries make retrieval worse
- many issues only show up when you actually depend on the agent daily

AI was great at executing once the context was right. But deciding what should be remembered, what should be rejected, and when predictability matters more than cleverness still required human judgment.

Curious how others are handling this. Are you relying mostly on prompts, rules, or some form of persistent knowledge when working with AI coding agents?
by Nextgrid | 2026-01-24 11:49:54+00:00
Yeah the era of non-Ethernet/Wi-Fi NICs died off decades ago with the last ADSL cards. Nowadays I'm not sure if OSes even support creating drivers for anything non-Ethernet (especially where to provide the config UI for your non-standard protocol).

What I've seen done recently to work around this is to combine your custom chip with a standard Ethernet NIC on the same board. The computer just sees an (off-the-shelf) NIC that's always connected, and all configuration happens via IP by browsing to a specific private IP (this kinda insists on NAT though).
Show HN: ReTraced – Job scheduler that makes retries visible as data (v1.0)
by Anshikakalpana | 2026-01-24 11:49:59+00:00
I'm a 2nd year student building ReTraced — a distributed job scheduler
that treats retry behavior as first-class data instead of hiding it in
logs or config flags.

Most schedulers tell you a job retried 3 times. ReTraced tells you:
- When each retry happened (with timestamps)
- Why it retried (transient failure vs permanent)
- Was it automatic or manually triggered?
- Full audit trail before DLQ

I built this because while stress-testing, I found a backoff timing bug
that only showed up when I could see retry attempts as structured data.
Expected exponential delays (5s → 10s → 20s), but actual timestamps showed
~6s plateaus. The visibility made debugging trivial.

*Core ideas:*
- Retry attempts stored as queryable records (not just counts)
- Per-job retry strategies (fixed, linear, exponential + jitter)
- DLQ is first-class with full failure context
- Redis-backed, at-least-once semantics

*Current state:* v1.0.0 — core model stable, usable for internal tools
and experimentation. Goal is production-ready self-hostable within a year.

I'm actively looking for feedback on:
- DLQ replay strategies
- Redis coordination patterns vs Postgres
- Retry strategy edge cases I'm missing

GitHub: https://github.com/Anshikakalpana/ReTraced
Docs: https://re-trace-five.vercel.app/

Would love your thoughts, especially from folks who've built or operated
schedulers in production.
by bjackman | 2026-01-24 11:51:39+00:00
Wait, but you get 63MB/s down from steam?

My internet is pretty good, I can easily saturate my (rather dated) WiFi at about 30MB/s. But Steam downloads are extremely slow for me (can't remember the numbers but much less).

I always assumed Valve themselves were just stingy with bandwidth. Something else funny going on?
by embedding-shape | 2026-01-24 11:52:11+00:00
> because they fight for our attention.

Not only that, they straight up pay people to just share and write about their thing: https://i.imgur.com/JkvEjkT.png

Most of us probably knew this already, the internet had paid content for as long as I can remember, but I (naively perhaps) thought that software developers and especially Hacker News was more resilient to it, but I think all of us have to get better at not trusting what we read, unless it's actually substantiated.
by iamcalledrob | 2026-01-24 11:52:35+00:00
Symnetric gigabit connections can be hard to come by in London.

If you're served by a niche fibre provider (e.g. Hyperoptic, Community Fibre) then you're golden.

There's Virgin (think Comcast) with paltry upload speeds due to the cable tech. Understandable though not ideal.

Then there's the OpenReach full fibre network with paltry upload speeds due to... ??? there appears to no good reason, other than not wanting to cannibalise their leased line business. Does anyone actually know why they don't offer a symmetric product like the niche fibre ISPs?
by retired | 2026-01-24 11:53:06+00:00
Agreed. I tugged on each phone wire a to see if they were free. And I got lucky on all of them.

One of the problems I had was a kinked conduit where concrete was poured on top, or at least that is what I assumed. Was a bit difficult to get the “knot” (where the phone wire was connected to the CAT5E) through that spot.
by muixoozie | 2026-01-24 11:53:37+00:00
First time hearing about this tool and person. Just looked for a youtube video about it and he was recently interviewed and sounds very serious / bullish on this agentic stuff. I mean he's saying stuff like if you're still using IDEs you're a bad engineer. Basically you're 10x slower than people good at agenic coding. HR going to be looking for reasons for fire these dinosaurs. I'm paraphrasing, but not exaggerating. I mean it's shilling FOMO and his book. Whatever. I don't really care. I'm more concerned where things are headed.
by wtcactus | 2026-01-24 11:53:49+00:00
My current apartment also had a bunch of phone sockets spread around... In a couple of hours, I've removed the existing wires and passed Ethernet wires. Quick, easy, ubiquitous and cheap.

Ok, the writer could be renting a house and not wanting to do that. But sincerely, in Portugal, the landlords couldn't care less. Maybe in the UK, they really, really love their phone sockets and don't want to replace them, don't know.
by flohofwoe | 2026-01-24 11:54:55+00:00
The usual solution for this is:

typedef struct bla_s { ... } bla_t;

Now you have a struct named 'bla_s' and a type alias 'bla_t'. For the forward declaration you'd use 'bla_s'.

Using the same name also works just fine, since structs and type aliases live in different namespaces:

typedef struct bla_t { ... } bla_t;

...also before that topic comes up again: the _t postfix is not reserved in the C standard :)
by mattmanser | 2026-01-24 11:55:10+00:00
I think our phone lines must work differently, the entire infrastructure is owned by one company (BT) who must lease it to other companies. So they can do things like this, as everyone needs a router at the end to access it and that's how they charge per customer.

There is a separate cable network, again one operator (Virgin), who don't lease it out.
by Voultapher | 2026-01-24 11:56:08+00:00
Science has a massive blind spot, one it can't fathom exists. For many today, especially on HN science is closer to a religion than what they themselves view it as. This is not a particularly popular believe since it contradicts a lot of nicely build up self-perceptions. Science can't figure out what is worthwhile pursuing and what isn't _without_ biased input at the very beginning of that chain. Science can't reason about the limits to it's power since it assumes that everything can be analyzed and broken into smaller problems. The fact that science is a tool, one profoundly incompatible with certain types of very real properties of our world does not fit into the religion of science. "Science can solve all problems and if it hasn't we just haven't tried hard enough". Science is a hammer that insists it is the right tool for every problem and if it doesn't work well you're just holding it wrong.

I was born into and shaped by a science and enlightenment religion world-view and lack proper words to describe the issues with it, but I feel them.
by a022311 | 2026-01-24 11:57:27+00:00
I wish I knew about this when I lived in a house without Ethernet sockets! I needed it in the attic for my PC and servers and all I had were slow, unreliable TP-Link Powerline adapters. My first speed test gave me 37.1Kbps (after painfully loading Cloudflare's test page). On a really good day I could get 3MBps. I'd get disconnected multiple times a day and I had to try all sorts of methods to get the adapter to connect again. I had to write a program in the end to tell me if I didn't have internet because the Powerline broke or my DNS server broke (normally it's always DNS but turns out it wasn't) :D

I had a phone socket in that room and I had already discussed the possibility of converting it into an Ethernet socket but decided it's not worth it because everything ended up in a cupboard far away from my router. These adapters would have solved the problem nicely!

By the way, I have more fun stories. The cabling in my current house (which has Ethernet sockets) is still miserable. I spent a year working with my PC over USB tethering to my phone until I finally called an electrician to find which of the 11 dangling cables in the cupboard went to my office...

One day some wires in there were slightly moved and the internet got disconnected because they were badly crimped. Nothing was working so in the end I got an RJ45 connector and managed to get the wires in there.
by io_eric | 2026-01-24 11:58:13+00:00
A C++ library could wrap DOM APIs (WebCC already does this), but achieving a fine-grained reactive model purely in library code involves major trade-offs

A dedicated compiler allows us to trace dependencies between state variables and DOM nodes at compile-time, generating direct imperative update code. To achieve similar ergonomics in a C++ library, you'd effectively have to rely on runtime tracking (like a distinct Signal graph or VDOM), which adds overhead.
by necovek | 2026-01-24 11:58:14+00:00
In general, there is a difference of ethos and culture between Free Software and Open Source movements. GitHub is the latter: strewn with expectations from low-effort requests.

With free software, many projects have their own code hosting with separate accounts, sometimes even separate bug trackers with another set of accounts (think Bugzilla + GitLab). Any submission is by definition bigger effort, and thus the culture is significantly different.

As an example, just try submitting a patch to GNU libc (if it hasn't switched to GitHub in the intervening years, though I'd be surprised as it's a GNU project, but it's also largely supported by Red Hat), and see where you get to. Or join the GNOME community and submit a fix. Or FreeDesktop. Or KDE. Or...