MurphyA/hacker-news huggingface dataset:
by Elucalidavah | 2025-09-28 07:35:02+00:00
> how all the popular dynamic languages have slowly become statically typed

Count the amount of `Any` / `unknown` / `cast` / `var::type` in those codebases, and you'll notice that they aren't particularly statically typed.

The types in dynamic languages are useful for checking validity in majority of the cases, but can easily be circumvented when the types become too complicated.

It is somewhat surprising that dynamic languages didn't go the pylint way, i.e. checking the codebase by auto-determined types (determined based on actual usage).
by lxgr | 2025-09-28 07:35:21+00:00
That's not really a common TCP problem. Only when there's something severely weird going on in the return path (e.g. an extremely asymmetric and/or congested return path connection dropping ACKs while the forward path has enough capacity) does the ACK mechanism limit TCP.

Also, HTTP/3 must obviously also be using some kind of acknowledgements, since for fairness reasons alone it must be implementing some congestion control mechanism, and I can't think of one that gets by entirely without positive acknowledgements.

It could well be more efficient than TCP's default "ack every other segment", though. (This helps in the type of connection mentioned above; as far as I know, some DOCSIS modems do this via a mechanism called "ack compression", since TCP is generally tolerant of losing some ACKs.)

In a sense, the win of QUIC/HTTP/3 in this sense isn’t that it’s not TCP (it actually provides all the components of TCP per stream!); it’s rather that the application layer can “provide its own TCP”, which might well be more modern than the operating system’s.
by setopt | 2025-09-28 07:35:41+00:00
> Why do people want to share information someplace that gets lost to the sands of time?

I mean, it’s the same reasons people used IRC for decades, and some people were unhappy if channels saved and published the IRC logs.

Informal asynchronous communication arguably has its place, and many people are more willing to speak plainly and without overthinking if what they say is not expected to be publically readable for decades.

Even if, of course, in public chat rooms someone could always record and share what is said without your consent, and if most people don’t say confidential things in public chatrooms about technical topics, there’s still something about a mailing list or forum that makes me personally speak less plainly compared to ephemeral channels.
by BrtByte | 2025-09-28 07:35:48+00:00
That's genuinely impressive. Six months without dialysis after a xenotransplant is no small milestone, especially considering how many hurdles this field has faced over the years. The level of genetic modification involved shows how far biotech has come. Still, it's hard not to wonder about the long game. Immunosuppression, organ longevity, possible unforeseen complications - all big unknowns
by t0mas88 | 2025-09-28 07:35:55+00:00
NATO needs to start working on more low-tech high volume solutions.

The Netherlands and Germany used to have old anti-air systems that were basically a tank undercarriage with a radar and two rapid fire machine guns. It was a system from the 1960s. Ineffective against fighter jets since those fly higher than the range of the guns, but a modern version of this would be cost effective against low tech drones.

You could build something like it using an existing armoured personnel carrier, fast movable gun and a modern radar sensor. It would be helpless against jets or tanks, but I think the way to use it would be to have high-tech air defense systems shoot the jets (with very expensive missiles) at long range and use these glorified air guns to shoot the drones at much closer range.
by procaryote | 2025-09-28 07:36:02+00:00
> Perhaps I should put this in a way that you might enjoy though: Torvalds is a dick in his communication and a stunted human being. His inability to communicate to others makes them feel bad despite the fact they evidently put in a lot of time and effort to make things better and when they make him angry he can be a petty little shithead who has no control over his emotions.

See, you're talking about the person, whereas Linus was talking about the code and the behavior of submitting such code late. Linus' thing is much nicer
by bluecalm | 2025-09-28 07:36:43+00:00
You will not always have an IDE showing function definitions when reading diffs, greps or PR requests. Even if you do you still need to spend time to click and see the function definition and then read it. Argument names are helpful but they are not documentation so you still need a bit of time to process it.

The alternative is using build in common operators in the language.

>>Otherwise, you could make that comment about every single function you encounter.

It's a trade-off. The more logic there is to pack the more it's worth it. Here we have a one liner with two built in operators.
by jpc0 | 2025-09-28 07:40:04+00:00
The vaccine does not prevent infection and does not reduce the rate of infection, however it was mandated for everyone to take it, even strong young people with no comorbidities that had already been infected.

I'm not against the vaccine but it was forced when there was no medical reason for it to be forced on everyone. When we then also see stats like this where in certian cancers it significantly increases cancer rates then it becomes dubious.

Your individual chance might no have increased much but across the entire population it is significant. I know people who were otherwise healthy and got diagnosed with cancer after the Covid19 pandemic, everyone suspected it was related to the vaccines and it is now being proven by medical studies.

It is important that the studies get done so that we can learn from our mistakes and make different choices in the future and help those that need the help while not harming others.
by pansa2 | 2025-09-28 07:40:24+00:00
> all the popular dynamic languages have slowly become statically typed

I’ve heard this before, but it’s not really true. Yes, maybe the majority of JavaScript code is now statically-typed, via Typescript. Some percentage of Python code is (I don’t know the numbers). But that’s about it.

Very few people are using static typing in Ruby, Lua, Clojure, Julia, etc.
by shellwizard | 2025-09-28 07:40:55+00:00
I still have to deal with a handful of UNIX systems at $WORK mostly AIX, and I don't really like it much compared to all of the Linux boxes that we mostly use. On one hand it seems to be rock solid and all of that but on the other it's like driving a Ferrari to go to work instead of a more sensitive Toyota. Most of them are being replaced by cheaper Linux servers where memory is not so pricey and mostly feel the same, albeit some memory allocation/caching difference
by WhyNotHugo | 2025-09-28 07:41:04+00:00
“complying with local laws” isn’t always a good thing. Here’s some behaviours that you need to report in some countries in order to comply with local laws:

* someone is a homosexual * someone had sex out of wedlock * someone is a communist * someone is right-wing * someone is a Muslim * someone is _not_ a Muslim * someone spoke ill of the current ruler * someone hosted a messaging service, and didn’t ask users for a copy of their id
by vintermann | 2025-09-28 07:41:43+00:00
That anime is one of my favorites. The main characters are pretty anime-ish, all anime protagonists from that time look more or less the same, but the older adults (apparently Go is a bit of an old person's game in Japan) are drawn in a more naturalistic style with a lot of character.

> in Go there’s this unspoken understanding that if you drive people away, you’ll have no one left to play with.

Definitively not in online Go. I ran into some people who clearly thought racist trash-talk was a way to reduce the competition.
by fuzzfactor | 2025-09-28 07:42:23+00:00
I got one of these surplus from an Exxon lab where they upgraded.

From the instrument company they had a 4-channel RS-232 "Autoswitch" you could wire into the serial port from 4 instruments, then the fifth cable ran to a dumb terminal CRT console, and you could access any one of the instruments by sending unique control codes to switch communication channels.

Those Autoswitches were about a $1000 option. Instead, most people who were doing something like this used a manual switch from Radio Shack that was about 50 bucks.

Alternatively, you could unplug the local CRT terminal and connect the serial cable to a phone modem instead. Your instruments then had a telephone number.

You could then call from anywhere to access the data and control the instruments. As long as you had a modem and terminal at any remote location. Long-distance charges may apply :)

Using 1980's design equipment.

In 2001 the Sony smartphone made it possible to remotely call in on a cellular, link it to your laptop by infrared, and use Hyperterminal in Windows XP instead of a local CRT if you wanted to also. They had this to an extent before XP, Bluetooth, and USB anyway.

But with a manual switch you couldn't switch instruments remotely 24/7 unless there was somebody on site 24/7, not without an autoswitch.

At Exxon, 4 channels was not enough, and there were AT&T rack units like this, way more powerful, with built-in modems for direct connection to the phone lines.

Never did use the rack one I got since all my instruments were in the same lab at the time, and before I could make a move, ethernet became dominant which joined each instrument's PC quite well when it was built into Windows, instead of having to join instruments together in some way beforehand.

All I had to do so I could have a PC for each of the old RS-232 instruments was to "just" write my own code to accomplish both, "concurrently" for instruments never designed for DOS interfacing, much less Windows.
by precompute | 2025-09-28 07:43:03+00:00
This is local, but I've found that external inference is fast enough, as long as you're okay with the possible lack of privacy. My PC isn't beefy enough to really run whisper locally without impacting my workflow, so I use Groq via a shell script. It records until I tell it to stop, then it either copies it to the clipboard or writes it into the last position the cursor was in.
by kaoD | 2025-09-28 07:43:11+00:00
I'm currently on my Nth run of:

- I want to deploy a tiny service for personal use

- That has occasional requests (think ~10 a day)

- Needs to respond to a few daily events: a CRON job here and there, read an email, webhooks... Think a simpler Zapier

In principle this would be perfect for any of the many cloud function providers.

But AFAIK all of them have this vendor lock-in built into their business model and I just refuse to cave in.

Is there anything that I can do to not lock myself into an edge-computing ecosystem (or whatever this is called in the provider of choice) and still get the benefits? Is there any provider that supports any standard that is not tied specifically to their offering?
by burnt-resistor | 2025-09-28 07:43:28+00:00
Makes a big assumption that they're synchronously remote controlled over RF.

Fiber lasers can direct 10's-100's of kW of power almost continuously and with a range of several km with proper optics:

https://youtu.be/BkbVeA4Lejc

https://youtu.be/lFMvesTUjAA

https://youtu.be/eFiDYFnlp7s
by thaumasiotes | 2025-09-28 07:43:45+00:00
> The average FIDE elo is 1550; chess.com's average of 1200 elo is much lower because it has many beginner players, including children.

Why would that lower the average elo? Elo is a conserved quantity: for you to gain points, your opponent must lose that many points, and vice versa.

So there are two obvious facts about the average rating:

1. In a closed system, the average rating can never change, not up or down, not by any infinitesimal fraction of a point.

2. In an open system, the average rating can change, but for it to go down would require players with an above-average rating to leave the system.

In the much more common scenario where beginners come in, lose a bunch of games, and then leave, the average rating will go up over time.
by lxgr | 2025-09-28 07:44:48+00:00
You're mixing application layer multiplexing and transport layer multiplexing.

If you use the former without the latter, you'll inevitably have head-of-line blocking issues if your connection is bandwidth or receiver limited.

Of course not every SSH user uses protocol multiplexing, many do, as it can avoid repeated and relatively expensive (terms of CPU, performance, and logging volume) handshakes.
by Canada | 2025-09-28 07:45:57+00:00
What we really need is more IPV6 deployment so normal people can have plenty of routable addresses and we can go back to hosting more things on the edges like we used to, on computers we physically control.

There are plenty of applications where the bandwidth of PON fiber commonly deployed to homes is more than sufficient, and the extra latency is irrelevant.

Sure, it may be susceptible to DDoS attack, but if tens of millions of people were running personal and business systems from home it's debatable this would be less resistant than having a few centralized companies own us all.
by zkmon | 2025-09-28 07:46:07+00:00
It is a common practice in South Indian languages, to wrap letters with a tail or spiral, to mean something more than letter itself. In Telugu, people used to start all of their writing with a "Sri" as a single letter, with a tail wrapped around it. This is mostly seen on post cards, or anything written on paper.

Wrapped letters have special meaning, like goods with a special package.
Show HN: Fake-xmlservice – Local XmlService implementation for GAS testing
by yoshi389111 | 2025-09-28 07:47:01+00:00
I often write Google Apps Script (GAS) projects that rely on XmlService, but I found it hard to test them locally. So I created @yoshi389111/fake-xmlservice, an npm package that implements XmlService in Node.js.

- Works with Jest (e.g., put it in `setupFilesAfterEnv`)

- Allows local unit tests for GAS code using XmlService

- Supports parsing and serializing XML (partially complete, not 100%)

- API is designed to be a drop-in replacement for GAS's XmlService

Repo: <https://github.com/yoshi389111/fake-xmlservice>

Package: <https://www.npmjs.com/package/@yoshi389111/fake-xmlservice>

It's not fully complete yet, but it already works for my use cases. I'd love feedback on:

- What features you'd expect in a testing library for GAS XmlService

- Any edge cases you ran into with XmlService in your projects

Thanks!
by Anamon | 2025-09-28 07:47:11+00:00
Like a lot of things recently, it reminds me again of Timothy Snyder's book On Freedom. I think the world would be on a much better path if more people took its core message to heart: that your "freedom" in how to lead your life is not just an absence of oppression, but something made possible for you by an entire society collaborating on giving others these opportunities, by maintaining infrastructure, education, emergency services, etc. etc.

I like the thought experiment of considering how much of your current life's comforts and liberties you would still have if you lived as a hermit in the woods. Nobody tells you what to do there, but you'd quickly find out how much your luck depended on society.

Being able to buy my food at the supermarket instead of having to go hunt and forage for it every day gives me a lot of additional energy and time to exercise other freedoms.
by matthewsh | 2025-09-28 07:47:37+00:00
I've had NixOS on a list to give it a shot one day when I wanna tinker on a weekend project, it's been on that list for quite some time now and just haven't had time for it. I hear good things about the project when I ask other devs, but all I read these days about Nix is about infighting, politics, global bans, governance wrongdoings, and drama.

From the outside, this concerns me for the longevity of the project. I'm sure if it makes it through it could be better for it; but it is concerning and makes me push it further down the list to try.
by lxgr | 2025-09-28 07:49:59+00:00
If you believe that, you clearly haven't had to work with mosh in a heavily firewalled environment.

Filtering inbound UDP on one side is usually enough to break mosh, in my experience. Maybe they use better NAT traversal strategies since I last checked, but there's usually no workaround if at least one network admin involved actively blocks it.
by goku12 | 2025-09-28 07:50:30+00:00
A bit of medical and historical context seems to invert its interpretation entirely. For example Louis Washkansky, the recipient of the first human transplant (performed by Dr. Christiaan Barnard in 1967 in Cape Town, South Africa) lived for only 18 days before passing away from pneumonia. But nobody considers that historical fact as a negative when thinking about heart transplants these days. In comparison, this statement about the pig kidney is actually very exciting. It means that the xenotransplantation technology is progressing rapidly and will soon become widely available. They seem to have overcome most of the serious difficulties in the process.
by vladms | 2025-09-28 07:50:57+00:00
I like static types but advocating for enforcing them in any situation is different. Adding them when you need (Python currently) seems a better strategy than forcing you to set them always (Typescript is in between as many times it can determine them).

Many years ago I felt Java typing could be overkill (some types could have been deduced from context and they were too long to write) so probably more an issue about the maturity of the tooling than anything else.
by oliwarner | 2025-09-28 07:51:35+00:00
I think this is a pretty poor reading of the market. Everyone has a phone. An increasing segment now has little access to desktop or laptop computing. I know I hate that I have to pick up my laptop to do relatively small tasks that I'm halfway through on my phone.

Offering a dockable screen/keyboard/mouse, using the phone battery/compute/storage seems like it would be trivial for Apple.

Obviously cannibalises laptop or tablet sales, but that's not the market's disinterest.
by cco | 2025-09-28 07:52:05+00:00
I'm relatively well versed in "the divide" so to speak. But I'm trying to understand what you mean by the Plymouth and Jamestown split as it relates to our modern country today.

It seems like both the spirit of Plymouth and Jamestown are inside the big tent of the Republican party today. But that doesn't sound like what you intended it to mean. Or maybe it is?

That's the part I'm curious about; who is Plymouth and who is Jamestown in 2025 in your eyes?
by lxgr | 2025-09-28 07:52:30+00:00
The main problem with port 25 isn't that it's unencrypted, but rather that it's mixing two two concerns: (Often unauthenticated) server-to-server mail forwarding, and (hopefully always authenticated, these days) client-to-server mail submission.

A network admin can reasonably want to have the users of their network not run mail servers on it (as that gets IPs flagged very quickly if they end up sending or forwarding spam), while still allowing mail submission to their servers.
by yurishimo | 2025-09-28 07:52:37+00:00
PHP is a great example of the convergence of interfaces. Now they have different “PSR” standards for all sorts of things. There is one for HTTP clients, formatting, cache interfaces, etc. As long as your library implements the spec, it will work with everything else and then library authors are free to experiment on the implementation and contribute huge changes to the entire ecosystem when they find a performance breakthrough.

Types seem like a “feature” of mature software. You don’t need to use them all the time, but for the people stuck on legacy systems, having the type system as a tool in their belt can help to reduce business complexity and risk as the platform continues to age because tooling can be built to assert and test code with fewer external dependencies.
by flohofwoe | 2025-09-28 07:53:27+00:00
OTH I only came to realize that I actually like duck typing in some situations when I tried to add type hints to one of my Python projects (and then removed them again because the actually important types consisted almost entirely of sum types, and what's the point of static typing if anything is a variant anyway).

E.g. when Python is used as a 'scripting language' instead of a 'programming language' (like for writing small command line tools that mainly process text), static typing often just gets in the way. For bigger projects where static typing makes sense I would pick a different language. Because tbh, even with type hints Python is a lousy programming language (but a fine scripting language).
by pansa2 | 2025-09-28 07:53:54+00:00
As the article says, type hints represent a fundamental change in the way Python is written. Most developers seem to prefer this new approach (especially those who’d rather be writing Java, but are stuck using Python because of its libraries).

However it is indeed annoying for those of us who liked writing Python 2.x-style dynamically-typed executable pseudocode. The community is now actively opposed to writing that style of code.

I don’t know if there’s another language community that’s more accepting of Python 2.x-style code? Maybe Ruby, or Lua?
by SilverElfin | 2025-09-28 07:56:11+00:00
> The guy you’re replying to is not worth your time. His comment history shows that he speaks in the kind of short, reductionist tropes that evidence the fact that his prefrontal cortex has been melted by exposure to propaganda. People like this are scared of the world around them and operate on fear, which is followed by hate as a defense mechanism. I admire you for engaging, but you can’t change these unfortunate people. Just be glad you aren’t one.

Your entire comment is inappropriate for HN. People have different experiences from you. What they have seen or experienced may not be captured in “citations”. You can choose to not believe it. But when you dismiss it as propaganda, you are not being curious. And when you engage in an insulting personal attack, you’re violating the guidelines.
by varjag | 2025-09-28 07:56:28+00:00
Yes the reboot takes too long, even before you account the time to re-negotiate comms (even over fiber it is not instant). However in a terminal approach on target say a 1/4 second disrupt will likely be unrecoverable. Quadcopter drones are not ballistic or aerodynamic, and stability recovery once it gets tumbling is challenging.
by lxgr | 2025-09-28 07:58:12+00:00
Yes, and those that have fought in these battles know its limitations. Head-of-line blocking when using multiplexing is definitely one of them. This is a very reasonable incremental improvement.

Importantly, it does not seem to switch out any security mechanisms and is both an implementation and a specification draft, which means that OpenSSH could eventually pick it up too so that people don't have to trust a different implementing party.
by CLPadvocate | 2025-09-28 07:58:24+00:00
> Regardless of intention, it is a test where intelligence helps you perform.

PISA is just testing if you learned some set of information at specific point in time. It has basically nothing to do with intelligence - it's a test of standard compliance.

> You probably mean to say some specific interpretation of IQ scores is unscientific.

No - I mean that IQ is NOT MEASURING HUMAN INTELLIGENCE AT ALL. It may have some correlation with some aspects of intelligence, or maybe rather have some correlation with human's performance in specific situations which some other people may consider as "acting intelligently", but it's not guaranteed to be the case. So maybe it's rather some kind of an indicator of the current mental and body fitness (oxygen level, nutrition, sleep / exhaustion, focus, or whatsoever), but no more.

> You can't, e.g., claim that IQ is bullshit, and also that Jews are overrepresented in influential positions because of their high IQ.

which i never did in my entire life.