MurphyA/hacker-news huggingface dataset:
by stavros | 2025-10-25 20:27:52+00:00
Phones aren't stolen for the phone, they're stolen because carriers enable the theft. There's a reason why thieves now cycle around on e-bikes and grab the phone from your hand, and the reason is premium rate phone numbers and shortcodes. They want the phone unlocked because they start texting as many SMS shortcodes (that they control) as they can, siphoning thousands of dollars worth of purchases off you.

If you make the mistake of not notifying the carrier immediately, which you won't think to do because everyone thinks the phone was stolen for the phone itself, you're on the hook for the charges.

Carriers know that no legitimate users use (or even know of) shortcodes, yet they have them enabled by default on all plans, exactly because they take a cut from this theft and they can turn a blind eye to it by pretending the charges are consensual.
by throwaway290 | 2025-10-25 20:28:00+00:00
HN has some commenting rules and next time check them before trying to enforce some rule that don't exist

Yours is not a gift horse, you did not give any insight to us and you make others less likely to give insight so it is a net harm to community

Never said I support allowing to write any random stuff. Literal nazi is way worse than writing style nazi but both are not welcome.
by QuantumNomad_ | 2025-10-25 20:28:45+00:00
The infinite scroll makes it difficult to reach the links in the footer, at least on mobile.

Footer links:

GitHub repo https://github.com/miketromba/shadcn-themer

Three other links also in the footer but they only bring me to login screen:

Terms of Service https://shadcnthemer.com/terms

Privacy policy https://shadcnthemer.com/privacy

Contact https://shadcnthemer.com/contact
by krackers | 2025-10-25 20:29:09+00:00
I hope you're joking, the last thing I want is pop-ups in my phone app. If the issue being solved is someone "forgetting" to press dial in a panic after entering 911 (which seems unlikely given that this is muscle memory ingrained into everyone), there's probably better ways to do the same thing. You could only auto-dial if someone holds up the phone to the ear. After a few seconds you could vibrate the phone and draw more attention to the dial button. Anything that doesn't break the usual muscle-memory flow.
by lgas | 2025-10-25 20:29:10+00:00
Surely if fastest execution speed is your goal then something like

PRINT "1";CHR(13);"2";$CHR(13);"Fizz";$(CHR)...etc

would be your best bet?

Of course if you are happy with spaces instead of newlines as in your C64 code then you can even do it in one big string so you don't have to pay for concatenation.
by pessimizer | 2025-10-25 20:29:21+00:00
A large portion of people use "nuance" as a self-serving euphemism for their own lies or corruption, and explicitly call for no nuance when demanding conformity.

"Nuance" is an elite get out of jail free card: You're just too dense to understand how I was fundamentally right about everything when I was wrong in exactly the way you said I was wrong. The fact that I agree with you now is because there's finally enough evidence. Actually, it's a sign of your stupidity that you were "right" before. You should actually be grateful that I've come to agree with you; it shows how flexible and open to new information I am, and how lucky you were.
by Kye | 2025-10-25 20:29:38+00:00
A large portion could still feed themselves.

What food assistance does is allow someone spend less of an already scarce time and energy budget on food preparation. You can eat for cheap if you make major components in bulk, but it all adds up. Assistance lets people buy their way out of some or all of that effort and reallocate it to keeping their lives moving forward, hopefully to a point where they don't need assistance.

Also: sometimes an easy snack is nice when you've been eating cheap for months.
by lll-o-lll | 2025-10-25 20:29:43+00:00
OOP has many short comings (enough that I would say it has been the single worst design paradigm that afflicted this industry), so Rust felt like a breath of fresh air to a c++ dev. However, many basic patterns that are employed when you are building embedded software are just needlessly difficult. Zig is the better C, and it’s just the better language for getting stuff done with total control. If I need to be high level with more I’ll reach for something else (c# provides all the optimisations I need if I’m not bit bashing). Rust feels like it has this one great trick, no gc and memory safety, but nothing else to offer.
by c0balt | 2025-10-25 20:29:50+00:00
> Not buy it?

That is a solid option but alas voting with your wallet can be difficult (social reasons etc.) The only thing that needs Windows for me is Valorant. Everything else runs on bazite.

> UEFI system with windows and Linux

That is weird. Were you trying to have some selection with grub?

Just having two drives and selecting a boot device in the Bios/Uefi of the MB has worked stable for at least four years with this configuration. Make your default Linux or Windows and only use the MB for one-time boots of the other one.
by hunterpayne | 2025-10-25 20:30:14+00:00
I suspect because a lot of Rust library projects are just clones of a project (usually in C) translated to Rust. This is a good way to learn Rust. However, after you learn it, why maintain it? There isn't really much incentive. Add to that the politics of the Rust ecosystem and it causes churn in the dev population.

I suspect there are other reasons too. There is a cost to fad languages being used. Replicating the ecosystem of libraries around a language is a huge job. Its rare that a language ever gets the same size and quality ecosystem as say C or Java. But the fans of the language will try. This leads to a lot of ported projects and a small number of devs maintaining a huge number of projects. That's a recipe for abandonware. I suspect a lot of student projects too which is also likely to do the same.
by antasvara | 2025-10-25 20:30:37+00:00
>it can't be a failure of the montessori method because the very design and goal of the method is to not let that happen. or at least the chance is very small. and then it is still a failure of the teacher and not the method.

High intensity interval training (HIIT) is an exercise method that involves very short (think under 5 minutes) intetvals of max effort exercise followed by breaks. This methodology validates very well in scientific literature, both conceptually and in exercise studies that show impressive fitness gains.

It also, by many accounts from researchers and participants, sucks super hard to do correctly. You need to be putting in truly grueling amounts of effort during the intervals to see the advertised benefits. Most people, even when they try to do this, aren't doing it correctly.

I think you could say two things about someone that's not seeing results from HIIT:

1. HIIT is super effective; if you're not getting good results, it's because you're doing it incorrectly. 2. HIIT is not actually a reasonable exercise regimen for most people; this means it's not a great exercise regimen.

Statement 1 is logically true. Statement 2 can be more or less true depending on the theory (walking 20 minutes a day is a lot more reasonable than requiring total exhaustion, whereas a theoretical routine that requires Tasering yourself is less reasonable and makes Statement 2 much more true).

What I've described as my experience in Montessori is definitely Statement 2. I'm sure the method has ways to combat my problems, and if I had gone to a "better" Montessori school it's entirely possible they would have dealt with them. But from what I've seen, these specific problems crop up enough that I think they're a fair criticism.
by sarabande | 2025-10-25 20:30:37+00:00
I really appreciated this blog post, John, to know that you're doing what I've been doing without a guilty conscience.

I'm a VP eng/research at a startup and also feel like one of the few people apart from the founders who can push major technical initiatives by just doing it themselves, due to: business context, technical chops, architectural judgment, grit, and seniority to pull in cross-functional stakeholders to help out.

However, I have often questioned if it is correct that so few people in the org can do this and if I shouldn't be enabling others to do it themselves instead.

How have you been able to navigate not having any direct reports? Who does your engineering org report to and how are you able to manage conflict between org builders and your technical vision?
by aranw | 2025-10-25 20:30:38+00:00
> That's a really nice article, thanks. And I can see how separating the validation logic from processing code is useful. > What's not clear to me is why you chose this approach over existing OOP techniques, such as GoF Adapter Pattern, or even just interface implementation (as Go looses a lot of the ceremony of Java/C#).

Thanks for that feedback! Really appreciate it and glad you liked it. I'm planning to try get a series of posts written about the project and also CUE.

You are right I could have used adapters and/or interfaces. The main reason I went with CUE was to keep the transformation logic declarative and in one place. With adapters, I'd still need to write Go code for each sensor type

The goal I had was to minimise the amount of changes I have to make in my Go code. With my current approach I have minimal Go changes and just additions to my CUE schemas. When firmware updates land or I add new sensors, I update the schema and the generic processing code just works.

The CUE schemas are also portable. I can take them to other projects without trying to make generic reusable Go code that works across multiple codebases. The schemas double as documentation too, so if someone asks what a sensor reports, I point them at the CUE file rather than explaining how various structs fit together.

Honestly I also just wanted to try building something with CUE and this felt like a good use case for it
by buescher | 2025-10-25 20:31:23+00:00
No. The RF equivalent of that would be an antenna pattern. The smith chart is a particular mapping of complex impedance that allows for fairly straightforward calculation and visualization of things like conjugate matches. It's related to the impedance plots for speakers, but audio engineers generally don't use it. RF engineers will plot impedance vs frequency on it though. If you come across curlicue plots on it, those are typically frequency sweeps i.e. they plot impedance vs frequency. You might have to look for the frequency legend or endpoints.
by surajrmal | 2025-10-25 20:31:35+00:00
Perhaps that's due to only learning how to treat the symptoms rather than the cause. Building intuition requires understanding why the compiler prefers something different. People coming from C++ tend to get this fairly quickly as they understand the problems rust solves for them, but folks coming from higher level languages don't always see it the same way because they may have not had to deal with those problems.
by mek6800d2 | 2025-10-25 20:31:53+00:00
Clickbait! If you read the article, there's no gloom or doom.

30 or more years ago (?), Consumer Reports did a report on toothbrushes and they did a follow-up note or article clarifying their recommendation of how often to change toothbrushes. Their recommendation was not because of bacteria as many readers apparently thought, but because the bristles get worn down and don't clean as effectively.

And the "toilet plume"? Is that more of a problem in Britain? Looking back at John Postgate's Microbes and Man (which I read back in the 1990s):

Few people realize, however, that when a used toilet is flushed, a turbulence and spray of water and excrement is generated comparable to a sneeze: in any toilet one can isolate faecal clostridia and streptococci from the ceiling, walls and door handle as well as around and beneath the seat. British water closets certainly generate such infectious aerosols; it is probable that the vortex type favoured in the USA, depending on a swirl rather than a splash to flush the closet, is less generous in the matter of dispersing faecal microbes around the room.

(That was written back in the 1990s or earlier; British folks and travelers can obviously provide more current insight than me, who has never traveled outside the U.S.!)
by t-writescode | 2025-10-25 20:32:07+00:00
You have no direct reports. That’s the difference. You’re effectively the solo Fellow level engineer at the company, driving the largest tech decisions based on time spent in code; and you’re doing your job well by familiarizing yourself with all parts of the code, including areas that need bug fixes.

This is not the same as an SDM or Director or people with lots of reports. It’s mostly the “having reports” part that causes devs to reduce or stop coding, since managing and project leadership are whole jobs.
by deaux | 2025-10-25 20:33:50+00:00
I'm sure you never use any Google or Microsoft products at all, such as Google Search, Maps or Android, and none of the companies and engineering teams you've ever worked with have used such products, given how habitually they lie (and the fact that they're two major AI vendors).

If so, congratulations for being old or belonging to the 0.01%. Good luck finding a first job where that holds in 2025.
by tptacek | 2025-10-25 20:33:54+00:00
Articles like these are kind of hard to parse because there's no well-defined meaning to the title of "CTO". Our "CTO" codes, probably more than anybody in the company, but that's because he's got a founder-inherited CTO title that mostly just means "he can do whatever he wants" --- we're happy with that, what he wants is practically always great.

That's one definition of a CTO. Another CTO type is the opposite: "the thing you call an engineering founder when they've done so much customer-facing work that you have to take their commit bit away from them". This is, I think, an even more common archetype than the other one.

Then you have the toxic CTO definitions --- CTO as "ultimate decision maker for engineering", or, God help you, CTO as "executive manager of all of engineering".

You'd have to be specific about what kind of CTO you are to really make the question of why you code interesting.
by nine_k | 2025-10-25 20:34:03+00:00
I'm 100% on board regarding the use of pure functions and eschewing shared mutable state wherever practical. (Local mutable state is fine.)

But OOP does not necessitate mutable state; you can do OOP with immutable objects and pure methods (except the constructor). Objects are collections of partially-applied functions (which is explicit in Python) that also conceal internal details within its own namespace. It is convenient in certain cases.
by thom | 2025-10-25 20:34:22+00:00
I think this captures the technical track dual to CEO 'founder mode'. As cringeworthy as many found that term, it captures the plain truth that there are certain types of changes that only people at the top are (or at least feel) empowered to make in an organisation's structure or processes. A CTO can choose to ship substantial, opinionated pieces of software that wouldn't (at least quickly) emerge from lower level teams. Arguably the best way to communicate a radical design is working code. That said, I do think the degree to which a company can push down this sort of constitutional power is a good measure of long term organisational health.
by deaddodo | 2025-10-25 20:35:25+00:00
> Even while Pascal wasn't written with low-level programming in mind

If that’s true, then neither was C, Algol, etc. When those languages were conceived, “low-level” programming was just “programming” and “high-level programming” was the exception. Mostly because the hardware ecosystem was far more fragmented and an OS wasn’t guaranteed.

To that effect, all of those languages give you the “features” necessary to “low-level” program, namely: raw pointers and ability to compile for freestanding environments.
Show HN: Path-security – Comprehensive path validation with 62 attack vectors
by redasgard | 2025-10-25 20:36:04+00:00
Hi HN! Author here.

TL;DR: Comprehensive path validation protecting against 62+ attack vectors including encoding attacks, Unicode tricks, and Windows-specific exploits. 95.81% test coverage, battle-tested in production.

The motivation: We built a blockchain security platform that handles untrusted code repositories. Standard path validation wasn't enough - we kept discovering new attack vectors:

- URL encoding: %2e%2e%2f → ../ - Double encoding: %252e%252e%252f → %2e%2e%2f → ../ - UTF-8 overlong: %c0%ae (invalid but sometimes accepted) - Unicode homoglyphs: ․․/ (using U+2024) - Windows NTFS streams: file.txt::$DATA - Trailing dots/spaces (Windows ignores these) - And 50+ more patterns

After 6 months of production hardening, we extracted this into a standalone library. Every attack we've seen is tested (21 tests, 62+ patterns).

*Stats*: - 62+ attack patterns covered - 95.81% test coverage - Zero dependencies (only anyhow) - Cross-platform compatibility - MIT/Apache-2.0 licensed

*Links*: - Crates.io: https://crates.io/crates/path-security - GitHub: https://github.com/redasgard/path-security - Docs: https://docs.rs/path-security

Perfect for web file uploads, archive extraction, git operations, and any application handling user-provided paths.

Feedback very welcome!
by jakewins | 2025-10-25 20:36:04+00:00
There is a middle ground here though. I try, anymore, to make sure I’m very clear on which review comments are blockers for me and which - most - are style, suggestions, questions. Unless the code has some egregious problem I immediately approve it and write a comment saying “this is good by me if you fix blockers A, B”; that way they are not then blocked by me doing a second review unless they want it.

Maybe this is because I’m working somewhere where we don’t use stacked reviews though? So it’s a major pain for someone to have a PR open for a long time going through lots of cycles of review, because it’s tricky to build more work on top of the in-review work
by magic_hamster | 2025-10-25 20:36:07+00:00
1. First and foremost, if your only problem with Window 11 is the TPM check, just bypass the TPM check. My gripes with Windows 11 go far beyond this so regardless of the hardware, I am never installing Windows 11.

2. Microsoft recommendations serve Microsoft's interests, not necessarily yours. Look surprised when Microsoft "recommends" you dump your perfectly usable computer for Windows 11.

3. Microsoft will be fine no matter what you choose to do on your machine.

4. Look a little deeper into LTSC IoT. It's Windows 10 with security updates and most things work fine. Yes there are trade-offs. For me, who never installs aggressive ring-zero anti cheat software for games, it was a no brainer. I also don't care about Xbox or the Microsoft Store. Having these things stripped from my Windows install is a feature, not a nuisance.
by morgan814 | 2025-10-25 20:36:10+00:00
Several months ago my job required RTO for “local” employees (not all that local). I live a flight away from the office so I got to stay remote.

Recently, quite a few remote employees were given advanced notice of lay-offs. Myself impacted.

Fast forward a bit. Now I’m training a contractor in another country to do my job.

We are expected to monitor systems 24/7.

RTO is so clearly a scam.
by 1718627440 | 2025-10-25 20:36:35+00:00
> recently released stuff

That's a tiny slice of the books on the market though and these are books that weren't already proven to be good by the test of time. I don't think most books sold are recently released by a huge margin. The only publication where recently released matters are specifications, papers, documentation and news, but these tend to be mostly online or digital these days.
by didibus | 2025-10-25 20:36:53+00:00
That's not what was proposed though, what was proposed was to have kids move up as their ability develops.

It's pure hypothesis that this would coincide with less disruption in classes, even more that it would be causative.

I also find it purely hypothetical that it does anything to make kids better.

You said lack of disruptiveness is associated with better outcomes, have any research or data about it? Otherwise it too is pure hypothetical.

A hypothesis isn't bad, but since we're on the topic of ability, let's not devolve into cargo cults.
by rpdillon | 2025-10-25 20:38:54+00:00
Possibly unpopular, but this is an interesting topic, so I'll post my counterpoint.

The question is: what are you not doing that is in the list of CTO responsibilities because you're coding? One of the reasons stated why you do this is "because you enjoy it", and on the list of reasons you need to do it is there are only a handful of people in the org that can ship new product surface area. That's...concerning. That seems like the kind of thing the CTO would want to fix, but I don't think having the CTO be the one to ship that surface area is highest-leverage use of time. If I'm reading this right, it's essentially that "because of the virtue of my position and autonomy, I can work on experimental projects for months at a time, but I don't empower my teams to do the same."

I have direct experience with this sort of attitude at companies between 200-400 people, and the messaging from top brass was framed as "innovation cannot be democratized". After seeing it in action for several years, I think it's a poor model. CTOs are technical visionaries, but coding is not a high-leverage activity. Good startup CTOs need to change their role multiple times over the course of the life of a company, and failing to understand the profound impact you can have as a leader is a common pitfall, because it doesn't fit with what you enjoy, or often what you have experience with. In the case of Assembled, Crunchbase says between 100-250 employees. If you get more towards 500-1000, I would seriously recommend you re-evaluate your thinking on coding as CTO, at least to the degree you are today.

One technical question: do you find yourself developing the MVP of a particular feature to "get water through the pipes" and then handing that off to some other team to get it to "production ready"? What happens when you don't have time to land the long-term experiment before you need to turn to the next concern? I ask these questions because they are the points where I've seen this system fail, and I'm curious if that has every been an issue for you.
Show HN: Diagram as code tool with draggable customizations
by RohanAdwankar | 2025-10-25 20:38:58+00:00
In the past I've used declarative diagram generation tools like Mermaid.js a lot for quickly drawing up things but for presentations or deliverables I find that I have to then move the generated diagrams over to a tool like Lucidchart which allows full control of the organization and customization.

Therefore I am now working on this to combine the benefits of both into just one tool which can do both functions.

The project is certainly in the early stages but if you find yourself making architecture diagrams I'd love to hear your thoughts on the idea or even a Github issue for a feature request!

One of the workflows I'm targeting is when an AI generates the first draft of the diagram (all the LLMs know .mmd syntax) and then the user can then customize it to their liking which I think can drastically speed up making complex diagrams!