MurphyA/hacker-news huggingface dataset:
by upofadown | 2026-01-04 13:30:43+00:00
I think the two cases are different. The EFAIL researchers were suggesting that the PGP code (whatever implementation) should throw an error on an MDC integrity error and then stop. The idea was that this would be a fix for EFAIL in that the modified message would not be passed on to the rest of the system and thus was failsafe. The rest of the system could not pass the modified message along to the HTML interpreter.

In the gpg.fail case the researchers suggested that GPG should, instead of returning the actual message structure error (a compression error in their case), return an MDC integrity error instead. I am not entirely clear why they thought this would help. I am also not sure if they intended all message structure errors to be remapped in this way or just the single error. A message structure error means that all bets are off so they are in a sense more serious than a MDC integrity error. So the suggestion here seems to be to downgrade the seriousness of the error. Again, not sure how that would help.

In both cases the researchers entirely ignored regular PGP authentication. You know, the thing that specifically is intended to address these sorts of things. The MDC was added as an afterthought to support anonymous messages. I have come to suspect that people are actually thinking of things in terms of how more popular systems like TLS work. So I recently wrote an article based on that idea:

* https://articles.59.ca/doku.php?id=pgpfan:pgpauth

It's occurred to me that it is possible that the GnuPG people are being unfairly criticized because of their greater understanding of how PGP actually works. They have been doing this stuff forever. Presumably they are quite aware of the tradeoffs.
by michaelcampbell | 2026-01-04 13:30:44+00:00
> Don't they miss the feeling of..... programming? Am I the weird one here?

Our company is "encouraging" use of LLMs through various carrots and sticks; mostly sticks. They put out a survey recently asking us how we used it, how it's helped, etc. I'll probably get fired for this (I'm already on the short list for RIFs due to being remote in a pathological RTO environment and being easily the eldest developer here, but...), but I wrote something like:

"Most of us coders, especially older ones, are coders because we like coding. The amount of time and money being put spent to make coders NOT CODE is incredible."
by pinum | 2026-01-04 13:30:55+00:00
Anecdotally, everything works flawlessly on my work machine: Optiplex Micro, Intel iGPU, Fedora KDE 43, 4K 32" primary monitor at 125% scale, 1440p 27" secondary monitor at 100%. No issues with Wayland or with anything else.

Everything actually feels significantly more solid/stable/reliable than modern Windows does. I can install updates at my own pace and without worrying that they'll add an advert for Candy Crush to my start menu.

I also run Bazzite-deck on an old AMD APU minipc as a light gaming HTPC. Again, it's a much better experience than my past attempts to run Windows on an HTPC.

As with everything, the people having issues will naturally be heard louder than the people who just use it daily without issues.
by CoolCold | 2026-01-04 13:31:02+00:00
Note that Aider is not much maintained over last 3 months or so, there is a fork Aider CE, though I'm just watching their changes through rss and not used myself.

I'm more in Opencode world now and its in general more efficient for me (I'm sorta sysadmin by day, not a programmer, so agentic mode with Opencode saves a lot of time cuz you can just tell - write adhoc Python script and check which objects/methods present at that library- savings me from a boring part of you know programming/diving deep in unknown languages).

On Aider part, I especially liked ability to nitpick the function name, which is great for more focused changes/investigations.
by supriyo-biswas | 2026-01-04 13:31:16+00:00
> And you earned a job based on what you know, or what you can do, rather than what degree you banked

As I see it, companies will want some sort of artifact that tells them that the person has some basic knowledge in their field of study, which would make us come back to the same system that many detest.

Otherwise we'll just end up with Samsung Korea's version of the entrance test[1] which is like the SAT but for getting a job, which only a handful of companies can realistically do, and as such there is very little appetite for it in the "West".

[1] https://www.graduatesfirst.com/samsung-aptitude-tests
by SahAssar | 2026-01-04 13:31:53+00:00
But if you use the modern crypto stuff you loose interoperability, right? What is the point of keeping the cruft of the format if you still won't have compatability if you use the modern crypto? The article mentions this:

> Take AEAD ciphers: the Rust-language Sequoia PGP defaulted to the AES-EAX AEAD mode, which is great, and nobody can read those messages because most PGP installs don’t know what EAX mode is, which is not great.

Other implementations also don't support stuff like Argon2.

So it feels like the article is on point when it says

> You can have backwards compatibility with the 1990s or you can have sound cryptography; you can’t have both.
by DarkNova6 | 2026-01-04 13:32:24+00:00
It's more complicated than that:

1: C uses pointer arithmetic and any pointer can end up being nil or simply show to the wrong address.

2: Just because memory is initialized, that doesn't mean a correct value is read. Some types don't have a valid zero-state (think of Rational-Numbers or Date). Which is why you need a way to express optionality and want to throw an exception if it the empty-state is accessed.
by ordinary | 2026-01-04 13:33:03+00:00
This careful response seems sensible at first blush. After all, maybe in 5 years things will be better for Venezuelans! On the other hand, maybe not. In my heart of hearts I believe the odds are not great, but in lieu of a time machine, I think we can do no better than call it 50:50 odds.

In the meantime, though, this action is already having effects beyond the US and Venezuela. Withholding judgement until this conflict has fully played out carries with it an implicitly permission for similar actions in other places and situations. After all, maybe those will be for the better too!

That's why I oppose this action. Not in support the Maduro regime, which in my view has little to nothing that's worth defending, but because of the precedent that it sets for future events. This is hardly the first time a nation has had its sovereignty violated by a stronger power, and I'm not so naive to believe that it will be the last if only enough people spoke out. But at the same time, I strongly believe that accepting it as something that's inevitable (or even good) will only make it happen more often.
by rnentjes | 2026-01-04 13:33:29+00:00
After reading all that (ok skimming), he does mention nullable types, but doesn't go into them at all. What's wrong with having the option of defining if something can be null or not? This is how I understand nullable types, don't known about monads. You only have to check if it's null if you have defined that it can be null.

To me this sounds like a solved problem, for example like how it's done in kotlin: https://kotlinlang.org/docs/null-safety.html#nullable-types-...
by franky47 | 2026-01-04 13:34:12+00:00
I used to do that exact job 10 years ago (without AI, obviously). I figure that career would be very different now.

There was something exciting about sleuthing out how those old machines worked: we used a black box approach, sending in test samples, recording the output, and comparing against the digital algorithm’s output. Trial and error, slowly building a sense of what sort of filter or harmonics could bend a waveform one way or another.

I feel like some of this is going to be lost to prompting, the same way hand-tool woodworking has been lost to power tools.
Show HN: Vendor agnostic AI Agent as a JSON
by baalimago | 2026-01-04 13:34:28+00:00
What's the minimum required hyperparameters to create an AI agent? 1. Model to use, 2. the prompt and 3. which tools to use (mcp servers/internal). The rest is just wiring to make the agentic loop work.

This is an example of a trade bot which trades on polymarket, a prediction market. But as a schema, it can be expanded to be an agent for any usecase. The limiting factor is the tools, as in the MCP servers.

As MCP servers gets more widely adopted, this sort of agentic specification will too gain in value.
by underdeserver | 2026-01-04 13:35:31+00:00
It's a way to discover their content - content you might miss if you only go on HN once or twice a day.

HN is great for diversity of topics, tech news, random discussions with tech-celebs etc., but e.g. Simon's blog is the best content there is on what the latest LLM gizmo is and how well it works.
by Pascal1997 | 2026-01-04 13:36:33+00:00
Hey HN!

I’m excited to share Blink, a new search experience that gives concise, AI-generated answers with clear source references — designed to help you get the gist without endless scrolling.

https://blink-oi.vercel.app
What it does

Provides short, direct answers to queries

Includes verifiable source links

No ads, no clickbait — just useful info fast

Built with speed and clarity in mind

Why I built it

Current search often buries facts under noise. Blink aims to serve focused responses with context — similar to a mix of a search engine and an AI assistant.

Would love your feedback

How does the quality compare to your go-to search tools?

What queries gave the best/worst results?

What should Blink do next?

Thanks!

Pascal Rapulana.
by vladvasiliu | 2026-01-04 13:36:41+00:00
I used to be like this. I actually ran a 14" FHD laptop with a 24" 4k monitor, both at 100%. Using i3 and not caring about most interface chrome was great, it was enough for me to zoom the text on the 4k one. But then we got 27" 5k screens at work, and that had me move to wayland since 100% on that was ridiculously small.
by hebejebelus | 2026-01-04 13:37:25+00:00
Well, on my Macbook, some of that already exists. In the Shortcuts app you can use the "Use Model" action which offers to run an LLM on apple's cloud, on-device, or other external service (eg ChatGPT). I use this myself already for several actions, like reading emails from my tennis club to put events in my calendar automatically.

Whether or not we'll see it lower down in the system I'm not sure. Honestly I'm not certain of the utility of an autonomous LLM loop in many or most parts of an OS, where (in general) systems have more value the more deterministic they are, but in the user space, who can say.

In any case, I certainly went down a fun rabbit hole thinking about a mesh network of LLM nodes and thin clients in a post-collapse world. In that scenario, I wonder if the utility of LLMs is really worth the complexity versus a kindle-like device with a copy of wikipedia...
by thevinchi | 2026-01-04 13:37:44+00:00
I’ll concede that IPv6 has usefulness on the public Internet, where adoption is actually gaining nicely. No issues there really.

However, my comparison is end-user focused (ie. the Linux desktop experience). I should have been more clear about the scope perhaps.

Both IPv6 and Wayland have increased complexity and surface area for pain (cost) without an obvious benefit for the end-user.

Also: wrt IPv6 specifically, I don’t believe every device on a private network should be publicly addressable/routable. To me that’s a bug, not a feature, and again does not serve the consumer, only the producer.
by alembic_fumes | 2026-01-04 13:38:18+00:00
Back when I programmed in Haskell, I also had a similar question about the extremely terse variable names that pop up everywhere. I'd wonder, why is this "x" and "xs" instead of "item" and "items" or "businessName" and "businessNames" or whatever. Eventually I found this (paraphrased) answer that made it all click:

The specificity or abstractness of a (variable) name relates to the values that it can hold. So when you have a very abstract function whose inputs can be of almost any type, naming those inputs in an overly-specific manner is an exact inverse of the failure of giving an overly generic to name highly constrained parameter.

Examples of correct naming:

func firstWord(s string) string { ... }

func bidShortcodePrefix(businessId string) string { ... }

Examples of incorrect naming:

func firstWord(strWithOptionalSpaces string) string { ... }

func bidShortcodePrefix(s string) string { ... }

All this said, I do agree with your original take on the comments. I much prefer having human-readable explanations inline with anyhow non-trivial code. If nothing else, they really make it easier to correctly fix the code if a bug is found much later.
by zeendo | 2026-01-04 13:38:28+00:00
Glad to see a good write-up of Wayland issues. My day-to-day doesn't run into the vast majority of these problems so when I see people melt down over a single trivial seeming Wayland choice about window coordinates then I have a really hard time relating.

This post is a lot more relatable.

As an aside, regarding remote Emacs - I can attest that Waypipe does indeed work fantastically for this. Better than X11 ever worked over the network for me.

I, too, suffer from the pgtk is slow issue (only a 4k monitor though it's mitigable and manageable for me)
by locknitpicker | 2026-01-04 13:39:04+00:00
> The "what" vs "why" distinction breaks down when your code encodes domain knowledge that readers can't infer from context.

Your comment is a poor example because you unwittingly wrote "why" comments, not "what".

// We match them by looking for equal-opposite amounts within a 3-day window because bank transfers appear as two transactions - a debit here and credit elsewhere

If anything, you proved the importance of clarifying why things must be the way they are.

> The Uncle Bob approach of extractNameMatchingTransfersWithinSettlementWindow() doesn't actually help - now I need to know what settlement windows are anyway, and I've lost the context of why 3 days.

You are also completely off in here as well, and I think that your comment shows a deeper misunderstanding of the topic. What you tried to frame as "Uncle Bob approach" actually means implementing your domain in a clear and unambiguous way so that both the "what" and the "why" are clear by looking at the code. Naming conventions are one aspect, but the biggest trait is specifying an interface that forces the caller no option other than doing the what's because of the why's.

Without looking too hard into it, whipping out something like this in a few seconds would match the intent

GetMatchingTransfers(TransferAmount, SettlementWindow)
by monerozcash | 2026-01-04 13:39:48+00:00
I've done this on a W222, a W223, a continental GT and an Urus. On each of those cars it was as easy as disconnecting the antenna, on none of them did I have to tear into the roof pillars.

I've never seen an antenna that was difficult to disconnect, on the super simple end you have something like the W222 where you can literally just pop out the antenna cover on the roof and just remove the antenna module inside.

>But this is usually not without consequences as well such as a perpetual error code display or the radio, navigation or entertainment functions stop working.

Well sure, I do have cars without GPS because I was lazy. Carplay still works fine, so can't really bother to do anything about it.
by monegator | 2026-01-04 13:39:54+00:00
I don't know man, i have a bunch of computers, the oldest one is a 2012 macbook, then various laptops from different brands (hp, dell, lenovo), an intel nuc from 2016 and a minisforum using a ryzen 7 that i bought just before the ram craze (phew)

all these machines run debian trixie with KDE and i think i only ever seen glitches once, or twice in only one of them. I think the macbook. Granted, all devices run from the internal GPU, intel or AMD.

The only time i saw kde "krash" a lot was when i was demoing arch in a VM, to see what the fuss is all about that distro. But i don't know if it was virtualbox, or arch.
by jacquesm | 2026-01-04 13:39:54+00:00
The main reason for that is because they know that if they did declare that formally (rather than just acting like it is already a fact) that China would most likely immediately respond with force. So this is not because they want it to be like that but because they are playing a longer game.

With the US unreliable and distracted all bets are off on how this will unfold, the chances China attempting to take over Taiwan have substantially increased.
by mindcrash | 2026-01-04 13:40:09+00:00
Which would become a very interesting situation from a geopolitical POV.

Because Greenland is part of the Kingdom of Denmark, i.e. a NATO country.

Which means Denmark could declare war AND invoke NATO Article 5 against the United States:

"The Parties agree that an armed attack against one or more of them in Europe or North America shall be considered an attack against them all and consequently they agree that, if such an armed attack occurs, each of them, in exercise of the right of individual or collective self-defence recognised by Article 51 of the Charter of the United Nations, will assist the Party or Parties so attacked by taking forthwith, individually and in concert with the other Parties, such action as it deems necessary, including the use of armed force, to restore and maintain the security of the North Atlantic area.

Any such armed attack and all measures taken as a result thereof shall immediately be reported to the Security Council. Such measures shall be terminated when the Security Council has taken the measures necessary to restore and maintain international peace and security."

https://www.nato.int/en/about-us/official-texts-and-resource...

Which means not only Denmark, but also Albania, Belgium, Bulgaria, Canada, Croatia, Czech Republic, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Italy, Latvia, Lithuania, Luxembourg, The Netherlands, North Macedonia, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Turkey, and the United Kingdom will immediately be in a state of war with a founding member of NATO - namely the United States. (https://en.wikipedia.org/wiki/Member_states_of_NATO)
by embedding-shape | 2026-01-04 13:40:31+00:00
Same goes the other way, the US has dependencies on Europe when it comes to various technologies, that would stop immediately if the US decides to be violent towards its allies. I'm sure Europe could survive without Microsoft Office, what would the US do if they stop being able to get machine tooling since that industry all but disappeared in the US, and the US doesn't have any allies left?
by WillAdams | 2026-01-04 13:40:53+00:00
For an example of what happens when he runs into a real programmer see:

https://github.com/johnousterhout/aposd-vs-clean-code

_A Philosophy of Software Design_ is an amazing and under-rated book:

https://www.goodreads.com/en/book/show/39996759-a-philosophy...

and one which I highly recommend and which markedly improved my code --- the other book made me question my boss's competence when it showed up on his desk, but then it was placed under a monitor as a riser which reflected his opinion of it....
by walterbell | 2026-01-04 13:41:27+00:00
> any advantage of having integrated memory

Power efficiency. Strix Halo also offers unified CPU/GPU memory with 256 GB/s memory bandwidth, which brings it closer to Apple Silicon performance for local LLMs, https://chipsandcheese.com/p/strix-halos-memory-subsystem-ta...

Another opportunity is low-latency storage with millions of IOPS. Nvidia is rebooting Intel's cancelled (see eBay) Optane for "AI Storage". Future Mini PCs and LLM accelerators for Narrow/Edge AI industrial use could benefit from high-IOPS storage, https://www.tomshardware.com/tech-industry/nvidia-and-kioxia...
by dubeye | 2026-01-04 13:41:34+00:00
awesome, in 2025 I made a few apps for my small business that I have spent hours trawling the web looking for, and I have little coding skills.

Sometimes it feels like I'm living in a different world, reading the scepticism on here about AI.

I'm sure there enterprise cases where it doesn't make sense, but for the your everyday business owner it's amazing what can be done.

maybe it's a failure of imagination but I can't imagine a world where this doesn't impact enterprise in short order
by Melonai | 2026-01-04 13:42:18+00:00
Interesting, I had these issues around 2 years ago with my Nvidia GPU, making Wayland unusable (especially the honestly probably epilepsy-inducing flicker).

After an Nvidia graphics driver release everything cleared up to be very usable (though occasionally stuff still crashed, like once or twice a week). I heavily dislike Nvidia and went with AMD just around a month ago, zero issues.

I'm curious to hear about what hardware you have.
by BSDobelix | 2026-01-04 13:44:25+00:00
>>While Greenlanders broadly support independence, there is a divide over how quickly it should happen.

https://www.arctictoday.com/the-seven-steps-to-greenlandic-i...

>>While a majority of Greenland's 57,000 inhabitants support independence, there is division over the timing and potential impact on living standards.

https://www.reuters.com/world/greenlands-leader-steps-up-pus...

As you can see here there's only one party (with 7.4%) in Greenland who is against independence:

https://en.wikipedia.org/wiki/2025_Greenlandic_general_elect...

One would say that paints a pretty clear picture.

>So if the choice were to be "Be a part of Denmark" or "Be a part of the US", the majority would stick with Denmark.

Or maybe the third choice..be independent?
by andretti1977 | 2026-01-04 13:44:29+00:00
For some reason I can’t reply to your next comment on nato forced on your country.

When I’m implying that nato has been pushed to former soviet countries I’m referring to the influence done by US to support different governments. In Ukraine revolution in 2014 has been greatly supported by US.

I’m in no way saying China, Russia or whatever country is acting better, I’m just saying nobody can be so naive to not understand that there is no ideal of freedom involved in any US action but only political/power interests.

I’m curious to see which freedom-related justification will be used for the future annexation of Greenland
by popcornricecake | 2026-01-04 13:45:19+00:00
Flawless on AMD? Absolutely not. 2-3 years ago there used to be a amdgpu bug that froze my entire laptop randomly with no recourse beyond the 4 second power button press. After that was fixed, it sometimes got stuck on shutdown. Now it doesn't do that randomly anymore, but yet all it takes to break it, is to turn off the power to my external monitor (or the monitor powering off by itself to save energy) or unplugging it, after which it can no longer be used without rebooting and then sometimes it gets stuck on shutdown.
by mytailorisrich | 2026-01-04 13:45:59+00:00
This is all totally inacurrate and beside the point.

China has factually split, like Germany before. Whether any "reunification" happens peacefully or not is irrelevant to the use of term and so is which side is the richer.

Russia and Ukraine is obviously not the same at all, and "unification" is obviously not the same as "reunification".