MurphyA/hacker-news huggingface dataset:
by 3uruiueijjj | 2026-02-02 08:30:11+00:00
USB license dongles are still very common in industrial automation, I work for a company that uses it. You don't want an internet outage (or an AWS outage) to take down a production line for a day. You also expect to set up a system once and then have it just work for a decade or so.

In our case, the copy protection would still be as easy to bypass as the one in the article.
by adrianwaj | 2026-02-02 08:30:15+00:00
The next leap, I think will be when internet service providers are bought out by the hardware makers. Or vice versa? Everything tech will come in a bundle - and it will be global/multi-language and come with content. One ring to rule them all type stuff.

Then again, with the Agentic Economy, who knows, there could be a currency-based consolidation. Not sure what that all means for the OS. Maybe look at the payment and finance systems first and work backwards. You do some work for someone, how are they going to pay you and how are you going to spend the money?
by thxg | 2026-02-02 08:30:17+00:00
The original Wordle came with a pre-baked ordered list of 2315 "secret" words, off which the daily secret word was looked up (I think based on local time). The list was right there in the javascript code of the game (alongside the list of 12972 allowed guess words). It covered dates from 2021-06-19 to 2027-10-20.

Then in January 2022, the NYT bought Wordle, and started tweaking both lists, first shrinking the secret word list to 2309 entries, but leaving the logic otherwise intact. Fast forward to today, I looked up the current code [1], and it seems that there are now 14855 allowed words. The first 12546 are ordered alphabetically (0: "aahed", 12545: "zymic"), and the next 2309 are not. This may suggest that the latter are the secret words, but the logic for picking them has changed: I found no obvious sequence, when compared to the last few days' secret words. So it's either a more complex sequence, or the secret word is picked server-side.

In any case, I guess they decided to re-shuffle the list now at day 1689 / 2309 in order to avoid giving particularly assiduous player an additional bit of information: they can exclude all previous secret words. (To be accurate, I think this would be 1.897 bits, but my information theory is rusty.)

[1] https://www.nytimes.com/games-assets/v2/9003.896ec900f2a1ce8...
by PunchyHamster | 2026-02-02 08:30:18+00:00
Yeah, I use it to get some basic info about topic I know little of (as google search is getting worse by the day..). That then I check.

Honestly the absolute revolution for me would be if someone managed to make LLM tell "sorry I don't know enough about the topic", one time I made a typo in a project name I wanted some info on and it outright invented commands and usages (that also were different than the project I was looking for so it didn't "correct the typo") out of thin air...
by bjackman | 2026-02-02 08:31:32+00:00
I was a bit skeptical at first coz my experience so far has been that Nix's weak typing quite rarely causes me problems.

(Likely because NixOS options tend to be how I communicate between pieces of code, and those have a good enough type system).

But actually I think, as something that you just use occasionally like in your JSON example, this could be really cool. I wouldn't wanna use it as "gradual typing" in the sense of aiming to gradually type a whole body of code I think I would be more interested in "selective typing".

Just occasionally when you get that itch of "ugh this will fail really ungracefully if the inputs are bad" then you just apply this where it's needed.
Show HN: Vibe coded React based flashcard app
by graphitout | 2026-02-02 08:31:55+00:00
I wanted to test vibecoding in a less familiar territory. I have never worked with ReactJS and have limited experience with TypeScript. Therefore, trying out a small frontend-only application seemed like a good choice.

I have a Claude subscription, so I went with Claude Code. Always wanted to create a flashcard application with my own ideas.

Learning so far:

- Use whatever chatbot (Claude/ChatGPT/Gemini) to assemble a specification (if possible with wireframes, I used PlantUML). This will save considerable time.

- If possible, choose a language that supports type checking. Tools like Claude Code can fix errors in an iterative fashion.

- Have a solid testing strategy prepared and vibecode the tests as well. Checking everything manually will consume too much time.

Here is a German course for testing the app: https://charstorm.github.io/repeatrom/?course_name=German+Ba...
by kqr | 2026-02-02 08:32:23+00:00
If you want to create an adventure game but your visual skills are lacking, I recommend looking into text adventures! There are great tools for making them these days:

- Inform 7 has annoying syntax but an amazing IDE;

- Inform 6 is somewhat object oriented, has a good Emacs mode and decades of tools;

- Dialog takes the evaluation model of Inform 7 and dresses it in sensible syntax but it is a bit niche so tools are lacking;

etc.

The Wise-Woman's Dog is one of the best adventures I played in 2025: https://ifdb.org/viewgame?id=bor8rmyfk7w9kgqs
by frizlab | 2026-02-02 08:32:33+00:00
Yeah. Exactly the same as there should never be an “artisan ear” for chairs, tables, buildings, etc.

Hell even art! Why should art even be a thing? We are machine driven by neurons, feelings do not exist.

Might be your life, it ain’t mine. I’m an artisan of code, and I’m proud to be one. I might finally use AI one of these days at work because I’ll have to, but I’ll never stop cherishing doing hand-crafted code.
by idk1 | 2026-02-02 08:33:41+00:00
As an aside, one of my very nice family members like tarot card reading, and I think you'd get an extremely different answer for - "What's moon plus sun?" - something like I would guess as they're opposites - "Mixed signals or insecurity get resolved by openness and real communication." - It's kind of fascinating, the range of answers to that question. As a couple of other people have mentioned, it could mean loads of things. I thought I'd add one in there.

I'll just add that if you think this advice applies to you, it's the - https://en.wikipedia.org/wiki/Barnum_effect
by PunchyHamster | 2026-02-02 08:33:58+00:00
> There is still a real question that has to be answered: how do you safely let your company ship AI-generated code at scale without causing catastrophic failures? Nobody has solved this yet.

It's very simple. You treat AI as junior and review its code.

But that awesomely complex method has one disadvantage, having to do so means you can't brag about 300% performance improvement your team got from just commiting AI code to master branch without looking.
by Sesse__ | 2026-02-02 08:34:03+00:00
> It also has an advanced query planner that embraces the latest theoretical advances in query optimization, especially some techniques to unnest complex multi-join query plans, especially with queries that have a ton of joins. The TUM group has published some great papers on this.

I always wondered how good these planners are in practice. The Neumann/Moerkotte papers are top notch (I've implemented several of them myself), but a planner is much more than its theoretical capabilities; you need so much tweaking and tuning to make anything work well, especially in the cost model. Does anyone have any Umbra experience and can say how well it works for things that are not DBT-3?
Show HN: Mentionable – Track if ChatGPT recommend your brand
by AlexRST | 2026-02-02 08:35:23+00:00
Hey HN,

I built Mentionable because I kept wondering: when someone asks ChatGPT "what's the best tool for X?", does it mention my product? I had no idea, and manually testing prompts across 5 different LLMs was tedious.

The problem: AI assistants are becoming a major discovery channel. People ask ChatGPT, Claude, or Perplexity for recommendations instead of Googling. If you're not showing up in those responses, you're invisible to a growing segment of potential customers.

What Mentionable does:

1. You enter your URL
2. We analyze your site and auto-generate prompts (things like "best CRM for freelancers" or "affordable invoicing software")
3. We query ChatGPT, Claude, Perplexity, Gemini, and Grok regularly to check if they recommend you
4. You get a simple dashboard showing where you're mentioned, where you're not, and how it changes over time

No complex dashboards with 50 metrics. Just: "Are you being recommended? Yes/no. Here's what changed."

Why I built this: Existing tools in this space (GEO/LLMO tracking) are either enterprise-priced ($200+/mo) or require you to manually input every prompt you want to track. I wanted something a solo founder could use without spending hours configuring it.

Happy to answer questions about the product or the tech.
by michaelt | 2026-02-02 08:36:15+00:00
> Isn't this true of any greenfield project?

Sometimes the start of a greenfield project has a lot of questions along the lines of "what graph plotting library are we going to use? we don't want two competing libraries in the same codebase so we should check it meets all our future needs"

LLMs can select a library and produce a basic implementation while a human is still reading reddit posts arguing about the distinction between 'graphs' and 'charts'.
by pvtmert | 2026-02-02 08:36:34+00:00
I have been booting from external drives on different hardware since 2007. I was even able to trick Windows XP to boot off of a 12GB SanDisk thumb drive. (Although it was horribly slow!)

Coming back to the author's story, as others have pointed out as well, I do not think it is related to the DFU port itself. I think it depends on the BIOS/UEFI firmware which is addressing those ports, and then the bootloader who is responsible for finding the system (root) volume.

Nowadays these happen with Volume UUIDs hence it should not matter, at least in theory. But even GRUB adds a hint, as discovery just with UUID may fail.

Since we cannot see what actually is happening or see the logs, I would simply say: "Always use the same port for booting and installation." Which usually simplifies the process.

I am quite certain "the undocumented DFU port" was the port author initially used to install macOS to the external drive. Maybe on another Mac/machine. When they change the machine, addressing/enumeration of ports may be different, due to how boot process works. Therefore, let's say you used the port=0x3 in the first install, when you change the machine, you need to find the same port=0x3. Thus being the undocumented-DFU-port author mentions.

> P.S: Also DFU port is for installing firmware (BIOS/UEFI) to the device even before boot occurs. For example, you should connect one end of a USB cable to a working computer (ie. "master"), another end to the DFU port of target (ie. "slave") while the machine that is off. Some specific sequence of power-key combination puts target machine into DFU-mode, where you can overwrite the firmware (UEFI/BIOS, etc) from the working machine... That is the purpose of DFU. -- Or at least access the internal hard-drive/SSD without actually booting the "slave" machine.
by Epskampie | 2026-02-02 08:36:59+00:00
Horrifying read. I recently read a book about a girl who was pressed into prostitution, and this reads much the same. [1] Before I was convinced that slavery was mostly a thing of the past, how awful to find out this isn't true.

1: https://www.goodreads.com/book/show/6515858-slave-girl
by kolp | 2026-02-02 08:38:15+00:00
I had to use tailscale to bust through port forwarding on chained routers because, even with ports configured correctly, wireguard wasn't able to get through.

My use case was for remote access into a home-hosted Nextcloud instance, via an ISP supplied fibre router (IPv4, not CGNAT), then my own Gl iNet router, then to my Nextcloud instance.

Despite opening up port forwarding correctly, wireguard just couldn't get through that chain, whereas tailscale got through with no problems.

Downside of using tailscale is that it's messy to use at the same time as a VPN on your client device. Split tunnelling supposedly works, but I couldn't get it going.
by jltsiren | 2026-02-02 08:39:10+00:00
> The question is can you match Java's performance without significantly increasing the cost of development and especially evolution in a way that makes the tradeoff worthwhile?

This question is mostly about the person and their way of thinking.

If you have a system optimized for frequent memory allocations, it encourages you to think in terms of small independently allocated objects. Repeat that for a decade or two, and it shapes you as a person.

If you, on the other hand, have a system that always exposes the raw bytes underlying the abstractions, it encourages you to consider the arrays of raw data you are manipulating. Repeat that long enough, and it shapes you as a person.

There are some performance gains from the latter approach. The gains are effectively free, if the approach is natural for you and appropriate to the problem at hand. Because you are processing arrays of data instead of chasing pointers, you benefit from memory locality. And because you are storing fewer pointers and have less memory management overhead, your working set is smaller.
by JasonADrury | 2026-02-02 08:39:14+00:00
I've been decompiling and patching a wide range of software using codex with ida-pro-mcp and radare2 for generic targets, various language-specific tools for .net and java for example. IDA is heavily scriptable so the LLM usually ends up interacting rather interesting ways, but generally extremely effectively.

I'm not paying for the tokens I use, so I just choose whatever is the most performant model OpenAI offers. I find LLMs to be highly capable, struggling very little even against fairly obnoxious obfuscation.

My use cases have ranged from malware analysis to adding new features to complicated EOL enterprise software without access to the source code.

I've done a lot of manual reverse engineering. In many cases you can genuinely 100x your productivity using these tools. Tasks like matching decompilation are an especially good fit for LLMs.
by palata | 2026-02-02 08:40:11+00:00
I disagree with "usability" being one dimension. I disagree with assuming that Windows is the definition of "most usable" and "Linux should move towards Windows to get more usable".

Linux is different. It's great to learn something different. I don't use Linux because I don't want to pay for Windows. I use Linux because I like how Linux is.

The more Windows people join Linux and try to make it look like Windows, the more Linux starts looking like the platform I left 15 years ago.
by anal_reactor | 2026-02-02 08:40:19+00:00
> This effectively leads to a situation where smaller company employees are able to be so much more productive than the equivalent at an enterprise. It often used to be that people at small companies really envied the resources & teams that their larger competitors had access to - but increasingly I think the pendulum is swinging the other way.

Small companies are more agile and innovative while corporations often just shuffle papers around. Wow, what a bold claim, never seen before in the entire history of economics.
by xp84 | 2026-02-02 08:40:40+00:00
I haven't mastered the Ian's knot (the super fast one) yet, but I've been tying the "Ian's Secure Knot" [1] for years. I try to teach parents on my kid's soccer team as well, because in my experience, half use the "standard shoelace knot" which is mediocre at staying tied, and the other half tie the granny version of the same, which comes out in about 5 minutes.

This seems very much like the kind of thing that a kid probably learns and is drilled on in late preschool in Japan, and given how much time must be wasted daily by even grown adults re-tying shoes it makes me wish we taught kids practical skills like this. (Yes, I know scouts learn knot-tying in general, but a lot of kids don't even get to do scouting).

P.S. to be honest, I've started buying and installing the sets of elastic laces with buckles (they're only a couple bucks) every time I get a new pair of shoes, so I don't tie shoes anymore, except for things like soccer cleats.

1. https://www.fieggen.com/shoelace/secureknot.htm
by snackbroken | 2026-02-02 08:41:39+00:00
Doesn't interning usually refer to when you only consider identical copies, as opposed to dictionary compression where you allow for concatenations? E.g.

Interning:
1: "foo"
2: "bar"

my_string = "foo" // stored as ref->1
my_other_string = "foobarbaz" // not found & too long to get interned, stored as "foobarbaz"

Dictionary compression:
1: "foo"
2: "bar"

my_string = "foo" // stored as ref->1
my_other_string = "foobarbaz" // stored as ref->1,ref->2,"baz" (or ref->1,ref->2,ref->3 and "baz" is added to the dict)
by verse | 2026-02-02 08:41:42+00:00
I was like 10 years old when I learned about the Ian Knot. I'm 28 now.

I remember showing my friends at school. They were shocked how fast I could tie my shoelaces.

I don't even remember the normal way you're supposed to tie them

I guess I just googled "how to x" for literally everything when I was a kid
by simonair | 2026-02-02 08:41:56+00:00
Not who you asked but I have made similar experiences with Claude Code. For example I might have asked it to “commit the changes” and be surprised that it did not use the skill `committing-changes`.

Now if I ask “why did you not use the skill”, the answer typically starts with an apology, the insight which skill it should have used, and it will proceed using the skill.

In contrast, asking “what can we change in the skill description so you use it next time I ask you to commit”, it will typically explain how it selects skills and how to modify the skill in question’s description so it would pick it on its own.
by oliwary | 2026-02-02 08:43:46+00:00
In https://squareword.org (2D variant) I was also running into this problem. It's a bit different though, since I need to find valid 5x5 squares, with 5 words down and 5 across. Surprisingly, there is quite a limited number of such squares.

Ive been able to solve it by slowly injecting more challenging words over time, which has the side effect of also introducing a difficulty gradient. Players seem happy so far :)
by anilakar | 2026-02-02 08:44:56+00:00
A certain automation system vendor uses proper USB license dongles in their PC software but they do not do challenge-response authentication. Instead they send a hardcoded string to the dongle and compare the response against a list that contains various software feature levels.

The whole automation system including machinery costs anywhere from 200k to 1M yet Vendor™ tries to milk the customers dry with a 1.5k software license that lets you manage up to 254 physically* connected systems. I'm pretty sure the license dongle is in reality designed to prevent casual tinkering of parameters, which is something only service techs should do.

*You can circumvent this with serial-over-Ethernet converters, which has resulted in an Industrial Internet of Shit-level security nightmare as companies happily expose their systems over the internet, thinking that license dongles are a substitute for authentication.
by blazers777 | 2026-02-02 08:45:23+00:00
the problem is that there's oversensitive people and you actually do impact their lives by being a nurse that comes home at 3 am.

if you cook some dishes, and some oversensitive person doesn't like the smell, then you're impacting them.

it becomes not so simple, especially when you are a building manager and two people have a problem with each other. it's not always easy to figure it out.

Then you have cases like a once per year loud birthday party. That's annoying. Are you really the problem if you do that once a year?

I can hear my neighbors televisions regularly. It's annoying yet I never thought they were a problem. However, another person in the building DOES think they are a problem. Partly because they don't understand that they need to compromise because the walls are so thin. Since the sounds are annoying, do they get to stomp around all night and get revenge with machines and devices? at that point, the petty revenge is probably the problem.

and for a building manager, it's not always easy to figure out which person is the unreasonable one.
by piranhas | 2026-02-02 08:46:59+00:00
Still work in progress but the first version of my rooftop discovery & review site is ready. Imagine "Tripadvisor for rooftops & skydecks". Just added the top 150 places across Vietnam and will see where it goes ... Will probably add more countries.

Discover the best #rooftops, #skydecks, #skybars & #skyviews in #vietnam, #danang, #dalat, #halong, #hanoi, #hochiminhcity, #hcmc, #hoian, #hue, #nhatrang, #ninhbinh, #phuquoc, #sapa, #vungtau & elsewhere.

Next: I will contact the owners / operators of the currently listed rooftops to transfer listings to them. I hope that they will add more details like photos and other details which I couldn't find like rooftop floor level in some cases.

Check it out. Your feedback is welcome
by sevenzero | 2026-02-02 08:48:05+00:00
I started to outsource thinking at my job as my company made it very clear that they do not want/cant afford thinking engineers. Thinking requires time and they want to deliver quickly. So they cater towards the very realistic deadlines our PMs set for features (/s). Funnily enough the features have to be implemented ASAP according to the customers, but the customer feedback takes like 6 months due to them using the new feature for the first time 6 months after delivery. I just dont care anymore. Gonna leave the learning part up to my time off, but getting generally tired of the industry as a whole, so just putting in minimal effort to pay my bills until things explode or get better. So for me its definitely outsourcing thinking at work.
by penteract | 2026-02-02 08:50:06+00:00
Your other points are more relevant to the content of the article, but point 2. relates the practical consequences of undecidable type-checking, so I'll reply to that.

I don't have a problem with compile time code execution potentially not terminating, since it's clear to the programmer why that may happen. However, conventional type checking/inference is more like solving a system of constraints, and the programmer should understand what the constraints mean, but not need to know how the constraint solver (type checker) operates. If it's undecidable, that means there is a program that a programmer knows should type check, but the implementation won't be happy with; ruining the programmer's blissful ignorance of the internals.
by 3D30497420 | 2026-02-02 08:51:15+00:00
> People outsourcing thinking and entire skillset to it - they usually have very little clue in the topic, are interested only in results, and are not interested in knowing more about the topic or honing their skills in the topic

And this may be fine in certain cases.

I'm learning German and my listening comprehension is marginal. I took a practice test and one of the exercises was listening to 15-30 seconds of audio followed by questions. I did terribly, but it seemed like a good way to practice. I used Claude Code to create a small app to generate short audio (via ElevenLabs) dialogs and set of questions. I ran the results by my German teacher and he was impressed.

I'm aware of the limitations: Sometimes the audio isn't great (it tends to mess up phone numbers), it can only a small part of my work learning German, etc.

The key part: I could have coded it, but I have other more important projects. I don't care that I didn't learn about the code. What I care about is I'm improving my German.