MurphyA/hacker-news huggingface dataset:
by llmslave2 | 2026-01-07 09:02:20+00:00
It is, but you get the benefit of shared behaviour and state.

Like an Entity might have a Position, a reference to the World, the Screen, methods for interacting with other entities, etc. You don't get that from simply implementing an interface, although it's not difficult to pass those into the object. A common example I've seen is having every class extend an EventEmitter superclass. You could implement that as part of the interface but that becomes a ton of duplication.

I think of it like this: If you model your domain as something like `A : B : C : D {}` you get all the problems of inheritance, when simply doing D { A; B; C; } gives you the same benefits without the problems. Doing `A : X {}, B : X {}, C : X {}` sidesteps most of the problems with inheritance but gives you some of the benefits as well.
by jll29 | 2026-01-07 09:02:56+00:00
Medically speaking, your proposal would perhaps prevent a lot of heart attack deaths. It has been shown that not working is not just unpleasant, it's a strong stressor [1,2].

[1] https://academic.oup.com/geronj/article-abstract/46/1/P9/638...

[2] https://www.econstor.eu/handle/10419/234818
by zekejohn | 2026-01-07 09:02:57+00:00
Traditional AI agents have EVERY tool loaded into context from the stat, call tools one at a time, each requiring a full inference round trip, for example: "delete all completed tasks," that means: call findTasks, wait, call deleteTask for task 1, wait, call for task 2... each call resends the entire conversation history, so tokens compound fast and there is a lot of wasted tokens and inference.

Codecall is an open source approach that lets agents write and execute TypeScript code in a secured Deno sandbox to orchestrate multiple tools programmatically, like calling an API (which is really all a tool is!)

So instead of 20+ inference passes and 90k+ tokens, the agent can just write and execute:

const tasks = await tools.todoist.findTasks({ completed: true });
for (const task of tasks) {
await tools.todoist.deleteTask({ id: task.id });
}

2 inference passes. The code runs in a Deno sandbox, executes all operations programmatically, and returns a result. In our demo, for one example, this reduced tokens by 74.7% and tool calls by 92.3% while being much faster as well.

How it works (high level) ->

1. There are only 2 tools (readFile, executeCode) + a file tree. The agent reads SDK files on demand, so a 30 tool setup is effectively the to a 5 tool setup (only the file tree gets bigger)

2. Multiple tool calls happen in one execution, not N inference calls for N operations... because the agent can write code to execute and orchestrate multiple tools (like API) this significantly reduces the number of passes + tokens per request

3. Models have a 10-50% failure rate searching through large datasets in context. Code like users.filter(u => u.role === "admin") is deterministic and avoids those failure, so not only is it more efficient & cheaper. its also often much more accurate when doing operations with lots of data!

We also generate TypeScript SDK files from MCP tool definitions, so the agent sees clean types and function signatures. It also learns from errors, so when a tool call fails, it updates the SDK file with learned constraints so future agents avoid the same mistake.

Codecall works with any MCP server (stdio/http). Would love feedback from anyone interested in or building more complex agents :)
by 4k93n2 | 2026-01-07 09:03:15+00:00
i switched to using neovim a year ago and oddly enough its actually a lot easier to write code in termux compared to any of the other android IDE type apps. they all have drop down menus or sidebars that are quite awkward to use, especially when the keyboard is already taking up half the screen, but with neovim (or vim) youre using the keyboard to do most things anyway, so the keyboard can just stay open all of the time and you never need to move your hand up to the actual app part. selecting text is way easier than android's implementation as well
by globular-toast | 2026-01-07 09:04:03+00:00
He's talking about bonds, though. These can't generally be paid back early. The same goes for some other loans like mortgages which often come with an agreement that you won't pay it back within a number of years (unless you pay a fee). If you intend to pay back the interest normally then you could totally book it as a liability up front, it's the same thing at the end of the day. I mean, it is literally a liability. You've agreed to pay back the amount of the loan plus interest.

I'd encourage people doing their own accounts to think of it like this and don't do things that professional accountants do "just because".

The thing is accounting is all made up. We try to squeeze this idea of "value" into this abstraction called "money" and make it all work. But it's trivial to find cases where it's overly simplified and doesn't really work.

For example, how do you book depreciation of a motor vehicle? For the average person with a single utility vehicle the vehicle's value remains roughly the same from the moment of purchase until the moment is is written off. The value is its utility to you. In my accounts, I book this simply as "1 car" in my assets. But accountants don't like that. Everything has to be valued in money. So you end up with stupid stuff like averaging the depreciation over time that is pure fiction and only exists to make the books work and reduce the "shock" when a vehicle is finally written off.
by yfontana | 2026-01-07 09:04:55+00:00
This probably won't make you feel any better, but banks don't really loan out money that's not theirs. When they lend money, they literally create it out of thin air. Creating that money has a cost, which is what ultimately limits how much they can lend, and having more deposits can lower that cost somewhat, but there's no direct connection between the money you deposit in your account and the money that the bank lends to someone else.
by burnt-resistor | 2026-01-07 09:04:57+00:00
- CIA has zero agents or assets because everyone knows everyone.

- Everyone (35k in 50k) has a .30-06 or bigger 800+ yd rifle.

- There are few/no highways between population centers.

- The terrain, weather, and seas are hostile af.

- Denmark deployed military troops and equipment already to defend key infrastructure.

- Attacking Greenland would be the end of NATO, or at least it wouldn't contain the US anymore.

What the rest of NATO can do: constantly do large-scale winter training exercises in Greenland.

Good luck, Praxis assholes.

Relevance to HN: Yarvin, a16z, and Peter Thiel made it relevant when they entered politics and endangered us with their idiotic, selfish, utopian, fascist bullshit pipedreams.

Another analysis video saying basically the same thing but it detail by a Scandinavian military officer: https://youtu.be/8hdthsG8tks

And a video about Lauder, the foreign minister, and Greenland Development Partners conducting an economic and political insurgency: https://youtu.be/UwVJq6BhRZE
by Muromec | 2026-01-07 09:05:21+00:00
It's more of a problem with big established companies and less in startups really. What I'm familiar with is -- initially everyone gets a temporary 1 year contract. Contract could be not extended, but the company commits to 1 year. After two extensions, you get a permanent one and can't be fired because you look funny to your boss.

Then there is outsourcing, where the contract with their company can be dropped. They are more expensive and have 1 year contracts too. People on permanent contracts have to be persuaded to sign separation agreement and have leverage over you. I have seen some funny examples of management trying to fuck over people for no good reason and then having to continue paying them for 2 years without seeing any output, but that was not a 10 people shop that would go under for it and was self-inflicted too.

They mood in Europe is you as a company owner have to take the risks, not the employees. Which is reflected into salaries of course.

For the startups it's not the problem I saw so far, as they benefit from having to pay lower then otherwise salary, without actually taking the risk. If the company goes under, everyone goes back to job market anyway.
by ChadNauseam | 2026-01-07 09:05:32+00:00
I do stuff in my free time now that would have been a full time job a year ago. Accomplishing in months what would have taken years. (And doing in days what would have taken weeks.) I'm talking about actually built-out products with a decent amount of code and features, not basic prototypes. I feel like the vibe is "put up or shut up", so check out my bio for one example.

I think your logic goes wrong because you assume that more productivity implies less desire for engineers. But now engineers are maybe 2x or 5x more productive than before. So that makes them more attractive to hire than before. It's not like there was some fixed pool of work to be done and you just had to hire enough to exhaust the pool. It's like if new pickaxes were invented that let your gold miners dig 5x more gold. You'd see an explosion in gold miners, not a reduction. For another example, I spend all my free time coding now because I can do so much now. I get so much more result for the same effort, that it makes sense to put more effort in.
by fuzzfactor | 2026-01-07 09:05:42+00:00
Certificates working as designed, to expire.

Either turning your purchase into e-waste, or confirming that your purchase was designed as e-waste to begin with, whether Apple, Logitech, or both.

I've got one of their lesser gaming mice and it was pretty good to begin with. It had the RGB glowing constantly at a default condition whenever there was USB power to the mouse. But only if you installed the Windows Logitech software could you change the RGB to a different pattern or turn it off.

Never really needed their software, used the mouse on various Windows and Linux systems. Then one day a firmware update came automatically while Windows was online.

Now the RGB glows (apparently part of its initialization) only when you first turn on the PC, never to be glowing again unless you are using Windows and have the Logitech software running.
by santiagobasulto | 2026-01-07 09:06:07+00:00
Yes I agree with you. The pattern is "composition" vs "inheritance". Defining a "thing" as "what it can do" instead of "what it is".
Instead of saying that "a duck is a Bird which in turn is an Animal which in turn is a LivingThing" (Duck -> Bird -> Animal -> LivingThing) you focus on what a duck can do: a duck "quacks, swims, etc":

class Duck(Swimmable, Quackable, FishEatable...)

I think there's still a place for "inheritance" based approach for APIs that need to be very strict about subtyping: would be hard to express covariance/invariance/contravariance without it.
by masklinn | 2026-01-07 09:07:03+00:00
> You're getting into pedantics about specific languages

No, I'm using terms which clearly express what I'm talking about, and referring to actual historical experience with these concerns.

> Implement a function that takes three strings without 3! permutations of that function either explicitly or implicitly created.

In the overwhelming majority of cases this is a nonsensical requirement, if the function can take 3 borrowed strings you just implement a single function which takes 3 borrowed strings.

In the (rare) situation where optimising for maybe-owned makes sense, you use a wrapper type over "owned or borrowed". Which still needs no "interface or inheritance".
by kenty | 2026-01-07 09:07:40+00:00
It is clear that Alphabet is his baby and neither he not Larry ever fully left.
He is still in his 50s so maybe just too young to play golf and chill on superyachts all day. While him being a billionaire makes any lesson derived have to have an asterisk him enjoying technical work even after long having won the rat race is a pretty cool role model.
by breppp | 2026-01-07 09:08:07+00:00
According to Amnesty, October 7 included crimes of extermination, a worse crime than the already devalued word "Genocide", which now amounts to "war i don't like".

They waited with the report two years for the war to end for reasons which aren't too surprising

https://www.amnesty.org/en/wp-content/uploads/2025/12/MDE150...
by djtango | 2026-01-07 09:08:15+00:00
I introduced myself to my now wife as an accidental hipster:

- I brewed my own kombucha (I have GI issues and I am so lactose intolerant that even kefir and yoghurt would give me a reaction)

- I ride a bicycle everywhere (I exercise daily and like to stay active, bicycle is often the fastest way around London)

- I buy expensive locally farmed produce (the quality is usually night and day vs other sources)

There were plenty of other signals by which I superficially seem like a hipster but my wife would attest I'm the opposite of an actual one.

In the words of my ever wise mother "keep the good bits, leave the rest"
by paganel | 2026-01-07 09:08:36+00:00
See how Bellingcat was "reverse" finding the identities of Russian citizens based on the cars they were owning. Too lazy to search for the exact links, this was around 2020-2021, something like that.

Later edit: Something like this [1], from late 2020: "Russian Vehicle Registration Leak Reveals Additional GRU Hackers". There were also some other articles with Google StreetView screenshots and the like, I won't search for them because even finding this one reference means I'm not doing something better with my time right now.

[1] https://www.bellingcat.com/news/americas/2020/10/22/russian-...
by webdev1234568 | 2026-01-07 09:08:56+00:00
Don't give up to the facade just yet.

This is the creator of a product saying how good it is.

If you've worked anywhere professionally you know how every place has its problems, where people just lie constantly about things?

Yeah.

Keep at it and see where things go.

I'm also a dev a bit overwhelmed by all of this talk, at my job I've tried quite a few things and I'm still mostly just using copilot for auto complete and very small tasks that I review throughly, everything else is manually.

If this is indeed the future I also don't wanna be a part of it and will switch to another career, but all this talk seems to come only from the people who actually built these things.
by wiseowise | 2026-01-07 09:11:01+00:00
> Claude Code has been around for almost a year and is being built by an entire team, yet doesn't seem to have benefited from this approach. The program is becoming buggier and less reliable over time, and development speed seems indistinguishable from anything else.

Shhh, this is not what you’re supposed to look at.

Look! Bazillion more agents! Gorrilion more agents! Productivity! Fire those lazy code monkeys, buy our product! Make me riiiich.
by spaniard89277 | 2026-01-07 09:11:39+00:00
US already has access to Greenland. It has bases, they can expand if they want, and they even may be able to extract natural resources from it (don't know the current status). This is completely unnecessary from a military/resources standpoint.

From my POV trust in the US is already completely broken, and people is pretty worried.

Some of the MAGA people seem to say that that's exactly what they want, to make Europe wake up and take care of itself. Which is a good thing from my POV as Europe as an entity has been doing pretty bad decisions, and some of the european countries too (I think Trump was right about the nordstream).

Now, what I don't think americans understand is that Europe is not the memes they see in the Internet. Europe is not just a bunch of lefties shitting on the US, in fact we consume US products and services, we pour enormous amounts of money into US financial markets, US has plenty of bases here, there's a lot of intel exchange, etc.

I wonder if americans understand what pushing Europe into survival mode means. In, maybe, sooner than 20 years the Pax Americana will be completely over. US will have no allies (Who? Latin America, with only transactional ties due to shared history? Rusia, with a decaying pop and GDP closer to Italy?) and you'll fail to deter China from becoming the global power.

Because I guess nobody in the US believes China will just sit and watch, right?

If it wasn't for China, this would be the world order Dugin et al wanted. If democrats weren't right about Trump being a Putin puppet, they were pretty close.
by ben_w | 2026-01-07 09:12:11+00:00
Canada might be able to do that, but do also remember that the USA's president keeps talking about making Canada into just another state.

There's a big risk that everyone says "I want to be in the country that wins the next war. Therefore, China." and this then becomes a self-fulfilling prophecy because all (or enough of) the talent made the same choice.
by weatherlite | 2026-01-07 09:12:26+00:00
To me it's more of a mixed bag.
On the one hand - disheartening to see how the knowledge base and skills I've worked more than a decade to develop became of little value (not worthless, but not as valuable as before). Also - yeah, the speed of delivery that is going to be expected of devs will make it so we will not be able to hold all the pieces in our heads and rely on A.I (when things break it will suck, hopefully A.I will be able to get us out of the jam). This is also not enjoyable to me.

On the other hand : way less time spent on being stuck on yarn/pip dependency issues, docker , obscure bugs , annoying css bugs etc etc. You can really focus on the task at hand and not spend hours/days trying to figure out something silly.
by gf000 | 2026-01-07 09:12:55+00:00
Except it doesn't work the same way it won't work for LLMs.

If you use too many microserviced, you will get global state, race conditions, much more complex failure models again and no human/LLM can effectively reason about those. We somewhat have tools to do that in case of monoliths, but if one gets to this point with microservices, it's game over.
by dspillett | 2026-01-07 09:13:23+00:00
> especially on whether AGPLv3 would be a blocker for something you'd self-host in dev

AGPL3 shouldn't be a blocker for use with this sort of tool unless:

▪ someone is very paranoid about GPL infection (that is to say that they, or their bosses, have been taken in by some of the fear-mongering over the years)

▪ or they are intending to make the feature available as part of the their product/service (if it is a mail related/adjacent tool and they want to use this as a built-in self-test module) rather than just using it internally, in which case they might be subject to the full terms of the licence due to effectively directly linking the code.

To alay the concerns of that first group, perhaps include in you documentation a paragraph explaining that simply using it in a dev environment, with no redistribution, does not constitute linking.

If someone tells you "no one will use it commercially if you use GPL"¹, you always have the option (assuming all the code is yoursor contributors have signed over their relevant rights) of dual licencing GPL and commercial.

--------

[1] this usually means "I want to sell this with my service but don't want to pay or otherwise give back, please use a more permissive license so I can do that"
by sneak | 2026-01-07 09:13:41+00:00
A lot of people either a) don’t know about the good tools or b) aren’t using them enough/properly.

There is a ton of anti-AI sentiment, and not all LLMs are equal. There is a lot of individual adoption that is yet to occur.

I know at least two startups that are one person or two people that are punching way above their weight due to this force multiplier. I don’t think it’s industry-wide yet, but it will be relatively soon.

Check back in on your assessment in a year.
by ErroneousBosh | 2026-01-07 09:13:56+00:00
> Random freezing at different points of the boot process suggests a hardware failure, not something broken in the software boot chain.

Power issues all day long. It'll be fine until the SoC enables enough peripherals for one of the rails to sag down.

That being said, it's a hell of a coincidence that it failed exactly when a software update failed.
by ranguna | 2026-01-07 09:14:25+00:00
Parasitic strategies != ads

The regulation was about unskippable ads, not ads in general.

I agree with the op and I don't agree that we are better off without YouTube. It's not hard at all to understand the op, so I'm not sure why you misread them and jumped to conclusions that all ads are parasitic and asked if we're better off without YouTube. Was that rage bate or did you really think the op was talking about all ads?
by p0w3n3d | 2026-01-07 09:14:31+00:00
Disclaimer: This post was written by a human and edited for spelling, grammer by Haiku 4.5

I recently am finishing the reading of Mistborn series, so please do not read further unless you want a spoiler.

SPOILER

There is a suspicion that mists can change written text.

END OF SPOILER

So how can we be sure that Haiku didn't change the text in favour of AI then?
by eterm | 2026-01-07 09:15:45+00:00
I've been finding the reams of markdown that claude generates too difficult to read comfortably, so I switched to asking it to generate PDFs with typst instead.

Without even writing a "skill", it nails the execution, and then generated this booklet of examples with only a minimal prompt. ( It made up all the examples itself. )

Part of what makes Typst so nice to work with is the speed, the almost instant compilation means you can very quickly iterate.
Show HN: A RAM-only, end-to-end encrypted P2P terminal chat in Python
by isanoguchi | 2026-01-07 09:16:07+00:00
Hi HN,

This is cmd-chat, a Python terminal chat app designed around a few constraints:

- No central servers
- No message or key persistence
- No plaintext credentials ever sent over the network

Authentication uses *SRP*, and messages are encrypted after key exchange. All data lives in memory only and disappears when the process exits.

This was partly a learning project and partly an experiment in building a “minimum-trust” chat system using standard cryptographic primitives.

Curious to hear thoughts on the threat model, crypto choices, and overall design.
by syberant | 2026-01-07 09:16:28+00:00
Unsure if this is useful to you but have you heard about GNU Unifont?
It’s not as nice and comes with some asterisks but damn it’s very compact.

I first read about it via this blog post: https://shkspr.mobi/blog/2019/04/banish-the-%ef%bf%bd-with-u...
by llmslave2 | 2026-01-07 09:16:40+00:00
Right but then you expect way more productivity from those teams. I'm wondering where that is.

I find when I'm in a domain I'm not an expert in I am way more productive with the AI tools. With no knowledge of Java or Spring I was able to have AI build out a server in like 10 minutes, when it would have taken me hours to figure out the docs and deployment etc. But like, if I knew Java and Spring I could have built that same thing in 10 minutes anyways. That's not nothing, but also not generalisable to all of software development, not even close. Plus you miss out on actually learning the thing.
by MattPalmer1086 | 2026-01-07 09:16:53+00:00
What stops anyone else doing the ECDSA public key recovery hack by signing two identical messages and getting the public key, i.e. the thing you are using as a cryptographic seed?

In general, using a key for a purpose it was not designed for gets you into trouble. Treating a public key as private key seed material is almost certainly going to be a problem. Systems are just not designed to keep public keys secret, even if webauth does.