skysight-inc/HackerNews huggingface dataset:
> Python was the first language I made money with. However, these days, I struggle to read and make sense of type-ridden, generic-filled, Pydantic-infested Python code.

I'm in the same boat. Python was great when it was a snake. I liked additions like the "with" statement - they were very pythonic.

I think it's good when the language evolves, although the direction Python took feels more like grafting - oh people like cats, so let's graft some fur onto the snake; people like bats so let's attach wings. The creature no longer resembles a snake, or any other animal for that matter.

I still think Python 3.0 was the right thing to do - get rid of "old style" classes, default to Unicode strings, be strict about mixing Unicode with bytes, etc. While there, I wish we got rid of the __init__(self, ...) crap - repeating yourself three times was absurd. The language was getting better up until 3.4 or so, and it slowly started going downhill from there, async being the inflection point.

I don't think you can fix it anymore. Python 4.0 will never happen, at least not the way 3.0 did.

Go has its problems too. "if err != nil" is awful - stack unwinding exists, but it's awkward and "bad style". Tuples exist, but not as a first-class object. Generics dropped way too late (but at least I'm happy we went thru so many proposals, finally settling on something actually reasonable). Past mistakes cannot be easily undone, so I'm happy it's taking a more conservative approach.
> from my understanding, it generates always tailnet ip for hosts

It does, but it should connect over LAN when both devices are on the same network. The tailnet IP doesn’t exist outside the WireGuard network, so it’s up to the WireGuard routing algorithm.
intriguing that the word "spacetime" does not appear in this text. For sure it wouldn't be related to algebraic geometry!
Based on UNIX philosophy too is Dan North's idea of Joyful Coding that does away with formal SOLID principles in favor of CUPID more playful ones: https://cupid.dev
Is it too bold to say that any 10+ year old study claiming to have found across-subject brain x behavior relationship is not worth looking at closely?
Disrupting the destruction of our natural world with openness [video]
You try raising Merino sheep in the Hebrides!

Blackfaces can live all year on the hill, if you get clothes made from their wool, so can you :)
Also consider Nebula: https://github.com/slackhq/nebula

ZeroTier does not use an OSI approved open-source license. It is under a freedom-restricting "Business Source License". Nebula is MIT licensed.

Nebula is much simpler and in most cases faster than ZeroTier.
Suburbia is subsidizing nothing. They are a drain on the urban core of every single city. There is not enough density in a suburban land area to even reclaim the taxes required to build the infrastructure to get there. And we stupidly continue to build new suburban development for new tax bases that don’t even reclaim the cost of building them. Then there’s no money to maintain them.

Urban development subsidizes everything.

Go watch some Strong Towns.

Fuck suburbs, unless they were built around a streetcar.
God says...

bradytrophic indical sacella unlittered surveying mis-tilled brachymetropic oxime masa hypermilitant litas acarotoxic thrust O retranslating awee tetraodont prevoidance cabbala Linker pervertedness absurdest coruscates aminopyrine spitting ledgers Fremontia upthrown simplifiers acomous statutable Ampelopsis
This is how I feel about my fursuit. The thing should just about be kept in a humidity controlled display cabinet.
> cynical () positions on some controversial questions.

I feel "cynical" is an inappropriate word here.

We may have to, for the same (ecumenical) reasons that thinkers like
Churchland, Hofstadter, Dennet, Penrose and company have all struggled
with, eventually accept the impossibility of proof of (existence or
non-existence) on any hypothesis of "machine mind". The pragmatic
response is, "does it offer utility for me?". And that's all that can
be said. Anyone's choice to accept or reject ideas of machine
intelligence will remain inviolably personal and beyond appeal to
"proof" or argument. I think that's something we'd better get used to
sooner rather than later, in order to avoid a whole lot or partisan
misery and wasted breath.
> Being persuasive (i.e., churn out convincing prose) is how LLMs were designed to be.

No. They were designed to churn out accurate prose that accurately reflects their model of reality. They're just imperfect. You're being cynical and emotional to use the term bullshit. And again, it anthropomorphizes the LLM, it implies agency.
Epsilon injection appears whenever right or left side of ':' has no operand. E.g.

(:a)

(a:)

a:|b

a|b:

etc

I will try to change the precedence and see how it works.
Btw what do you think about explicit operators '>' '<' where '<' works as usual regex matcher, and '>' as a generator. For example to change 'cat' to 'dog' there could be something like '<cat>dog' where '<cat' part is a parser and '>dog' is a generator. Thanks.
The importance of memory safety depends on whether your code must accept untrusted inputs or not.

Basically 99% of networked applications that don't talk to a trusted server and all OS level libraries fall under that category.

Your HFT code is most likely not connecting to an exchange that is interested in exploiting your trading code so the exploit surface is quite small. The only potential exploit involves other HFT algorithms trying to craft the order books into a malicious untrusted input to exploit your software.

Meanwhile if you are Google and write an android library, essentially all apps from the play store are out to get you.

Basically C++ code is like an infant that needs to be protected from strangers.
As someone else pointed out: more isn't better. There's an optimum, and it depends on the task. There are some "in vivo" studies about connections in the young cat's visual cortex. It starts out very connected, and most of the connectivity is lost, while structures form.
> You're also ignoring that Singapore is only half the size of Texas while having a similar number of people living in it.

Try again, Texas is roughly _1000x_ larger than Singapore with 5x the population.
Reducing the risk of extinction is definitely something we should work towards, and there a temptation to say "we should fix earth instead of going to mars" which always annoys me because it assumes that one is at the expense of the other, which it is not.

But I DO think that BEFORE we try to send people to Mars we should invest a lot more in local orbital architecture like space habitats. Building bigger space stations would be cheaper, easier, safer, and more immediately beneficial. They could be a stepping stone to the moon or Mars but would be beneficial in their own right
Sadly there will be a lot more of this in future as the dismantling of the already weak consumer protection agencies will let companies do whatever they want.

This delusional idea of letting the market self regulate needs to stop. Sadly even when people are dying there are enough greedy and stupid people who still think this can work. You are playing Russian roulette with lives and maybe it is your son or daughter that is one of the first to die because of some companies greed before "the market correct itself".
> Alone the fact that its creators went on to design Plan 9, Inferno, Alef, Limbo and Go, shows even they moved on to better approaches.

I think you're confusing "different" with "better", and you're confusing someone'small almost personal experiments implemented as proof-of-concept projects as actually being improvements.

I mean, Plan 9 was designed with a radical push for distributed computing in mind. This is not "better" than UNIX's design goals, just different.

Nevertheless, Plan 9 failed to gain any traction and in practice was pronounced dead around a decade ago. In the meantime, UNIX and Unix-like OSes dominate the computing world still up to this day. How does that reflect in your "better approaches" assertion?

The argument on the Go programming language is particularly perplexing. The design goal of Go has nothing to do with the design goal of C. Their designers were very clear in how their design goals was to put together a high-level programming language and tech stack designed to improve Google's specific problems. This wasn't C's design requirements, were they?

https://go.dev/talks/2012/splash.article
Also, ZeroTier is layer 2, whereas Tailscale is layer 3. So you can bridge your LAN to ZeroTier at layer 2. https://docs.zerotier.com/bridging/
> implies an intent to deceive

Not necessarily, see H.G Frankfurt "On Bullshit"
> Google Maps changed the way we get around. It all began in a bedroom in Sydney

I guess "The Guardian" is in financial difficulties. They don't have money to pay students to find out about iGo, TomTom and others.
And the funniest part: they want money for this "article". /s
Classic Data science pipelines built with LLMs
Things USAID has funded [video]
How is that not totalitarian propaganda? What is the difference between USSR official propaganda and Democrat "aid for other countries"? I am interested in HN Leftist crowd opinion. Or maybe they will downvote this to oblivion, because it's easier. But easier doesn't mean 'right'.
I thought it was Tailscale that always selects which IP to use as endpoint for other devices, and set that up for Wireguard? If I'm wrong, could I replicate that behavior (using relay on WAN, direct connection on LAN) with Wireguard without external configuration tools?
Interface inheritance is OK (as long as you pay attention to these issues) but implementation inheritance is a huge mess because it's effectively antithetical to modularity. Your entire class hierarchy must be understood/evolved as a whole if you use implementation inheritance, that's the only way to avoid running into severe problems with its semantics as the code changes over time. Of course that's not exactly the most common approach given that class hierarchies in many real-world codebases are large and it's just not practical to survey them as a whole.
Tailscale does support this. Using the Subnet routing feature you can expose other devices on the network to the Tailnet. I had to use this for a while with TrueNAS because of the way it handles TS integration (eventually I moved to using a reverse proxy).
I really wish people would stop calling software developers engineers because they aren’t.

A professional engineer is competent by virtue of his/her fundamental education and training to apply the scientific method and outlook to the analysis and solution of engineering problems. He/she is able to assume personal responsibility for the development and application of engineering science and knowledge, notably in research, design, construction, manufacturing, superintending, managing, and in the education of the engineer. His/her work is predominantly intellectual and varied and not of a routine mental or physical character.

https://en.m.wikipedia.org/wiki/Engineer

Never does that occur in software. Most people employed to write software struggle to use giant tools to put text on screen and cannot measure things. That isn’t engineering. By the time a developer does graduate to a level commensurate with engineering we call them senior principles to distinguish them from the false engineers.
We were also told that smart home will make our life easier and save time to have more available for the "important" things in life. But reality is that people just spend more time with their smart home things and are even shouting at their computers even though the computers just do what they were told...
EU prepares to hit Big Tech in retaliation for Donald Trump’s tariffs
I think the way he sketches the the AI labs as "marketing geniuses" for not just releasing their models as auto-correct is a bit cynical, as well as implying in general that these labs are muddying the waters on purpose by not agreeing with <authors position> and by engaging in "hype" (believing in the technology).
Eh, I disagree. Oftentimes integrating someone else's wheel comes with so much added complexity that it rivals (or exceeds) making your own, and that code also needs to be maintained, is at risk of library churn, etc.

There are very real drawbacks to relying on other people's solutions to your problems. Sometimes they are outweighed by the hassle of implementing your own solution, but in many cases they do not.
Tailscale DNS might cause a bit of trouble, but the overhead isn’t too bad, I’m measuring ~1ms ping difference, which is a lot in relative terms, but in absolute it makes 0.5ms into 1.5ms.
by "enable sixel support" I mean alias cat=sixcat, which I'm sure breaks some sort of rule
Yes, but my point is that the people that pose the greatest threat to stability are the ethno nationalists. The UK has them violently rioting just last year.
My father is a retired physics professor. I tried debating him once about an aqueduct in a town near us that was built in the early XX century.

His view is that it was moronic because communicating vessels had already been known for centuries.

I tried arguing that maybe they didn't have the materials (pipes), or maybe dealing with obstructions would have been difficult, etc. After all, this was a remote location at that time.

I think that the person who built it probably didn't know about communicating vessels but that it is also true that the aqueduct was the best solution for the time and place.

Anyway, debating academics about practical considerations is hard.
CIA also promoted jazz music which was very effective in getting European intellectuals and artists to appreciate American culture more.

But I don’t see how that should make you appreciate jazz music itself any more or less.
DDclient (or an alternative) takes care of the IP change and wireguard is as good as stateless anyway.
You may find this discussion interesting:

https://news.ycombinator.com/item?id=42981600
Is the slower train cheaper? If so, isn't that a competitive market choice?
So what is the answer? Because racism in hiring is illegal.
The sys prompt given to run the turing test (from https://arxiv.org/pdf/2405.08007) actually works well. I'm honestly not sure I'd be able to tell (unless I test it adversarially e.g ignore the prompt, write a poem etc)
Is your oncologist leading a controversial campaign against another set of oncologists with opposing views?
> Why haven't the sciences I speak of contributed more to the general discourse?

They didn't use the word "inject"
People have stopped using LLMs? I wasn't aware of that. Can you share a source for that?
Yep, and there is no "ip alias" type of things. On zerotier, I route my home server ip to zerotier ip and then it just works.
It's not just the O(n), you must think of interface{} as a pair (concreteType, pointerToMutableData). It's a can of worms, allocating n*2 word-sized objects for each rune is just the surface layer - strings in particular are immutable.

I think Go does the right thing to make this allocation and assignment explicit, you may be a little less surprised with how the program actually behaves. https://go.dev/play/p/PzuBpM66VX2
Show HN: Create Beautiful Music Visualizers
Made Chimp to create music visualizers:

1. Choose a template

2. Upload audio or generate with Suno

3. Generate subtitles

4. Customize particles, waveforms, logo, background

5. Export as video
2003? Canvas wasn't a thing until the 2010s
How does Nebula compare to Wireguard?
Show HN: Klarity – OS tool to debug LLM reasoning patterns with entropy analysis
After struggling to understand why our reasoning models would sometimes produce flawless reasoning or go completely off track - we updated Klarity to get instant insights into reasoning uncertainty and concrete suggestions for dataset and prompt optimization. Just point it at your model to save testing time.

Key new features:

- Identify where your model's reasoning goes off track with step-by-step entropy analysis
- Get actionable scores for coherence and confidence at each reasoning step
- Training data insights: Identify which reasoning data lead to high-quality outputs

Structured JSON output with step-by-step analysis:

- steps: array of {step_number, content, entropy_score, semantic_score, top_tokens[]}
- quality_metrics: array of {step, coherence, relevance, confidence}
- reasoning_insights: array of {step, type, pattern, suggestions[]}
- training_targets: array of {aspect, current_issue, improvement}

Example use cases:

- Debug why your model's reasoning edge cases
- Identify which types of reasoning steps contribute to better outcomes
- Optimize your RL datasets by focusing on high-quality reasoning patterns

Currently supports Hugging Face transformers and Together AI API, we tested the library with DeepSeek R1 distilled series (Qwen-1.5b, Qwen-7b etc)

Installation: `pip install git+https://github.com/klara-research/klarity.git`

We are building OS interpretability/explainability tools to debug generative models behaviors. What insights would actually help you debug these black box systems?

Links:

- Repo: https://github.com/klara-research/klarity
- Our website: [https://klaralabs.com](https://klaralabs.com/)
- Discord: https://discord.gg/wCnTRzBE
I get that the point of the illustration being a “gorilla” is from the invisible gorilla test (https://en.m.wikipedia.org/wiki/Inattentional_blindness#Invi...), but it’s very likely there is a bias against gorillas recognition by AI given their history! https://www.bbc.com/news/technology-33347866.amp

Maybe a different choice of illustration would result in a more apt description.
Wireguard connects to an IP endpoint. It does not resolve the domain for each packet.
I use a public LLM via its API. My workflow involves a main conversation history containing my initial notes. When I need to explore a specific topic further, I create a branch from that main conversation, keeping the original notes separate.
Plenty of human bullshitters have no intent to deceive. They just state conjecture with confidence.
And decoding subsequences of UTF-8 code units (bytes) into Unicode scalars (runes), which also forces a copy.

But why did Go pick the same syntax for cheap conversions and expensive ones, though? I'd expect this to be a standard function, not a type conversion.
The documentary the Act of Killing [1] follows a man who was a regime-sanctioned killer of "communists" in Indonesia. Watching interviews with the director, he talks about how after someone's killed a couple of people, refusing to do more means admitting that the previous kills he's done are something wrong/terrible.

The director helps reveal what's inside the killer's mind by suggesting to him to make a movie of his experiences. In one scene [2], we're at a lush waterfall, we see angels dancing and the victims of the killers thank him for freeing them from communistic godlessness and sending them to heaven, with the song "Born Free" playing in the background...

[1] https://www.youtube.com/watch?v=5CfG-VmDyjE

[2] https://www.youtube.com/watch?v=o-ta9To14yw
This is patently false. They are trained to generate correct responses.
https://archive.is/PNXt6
Can we defend software (and encryption) integrity against the EU and UK security regime as well please. I'm far far more concerned about that.
Show HN: Newtler, News and Butler
Create a personalized feed that fits your unique needs, combining updates from news, blogs, YouTube, newsletters and more. With real-time updates and AI-powered content briefs, you can zero in on what matters most, all in one simple, organized place.
> In fact we have full agency over whether we are interested enough to listen and trust the arguments, just like any other persuasive message.

I definitely do not make conscious choices about swiping. It's entirely reaction. The line between "full agency" and operating automatically is incredibly blurry.
Please state you musings about the async. I'm just getting into that right now and I wonder if my misgivings are a result of my age or a fundamental issue with the Python implementation of the concept.

Seriously, all and any insight and advice appreciated. Thanks.
This is a more elaborate version of how I feel about Python these days. Python is still a much nicer language than something like JS, but it hasn’t been very successful at saying no to things.

I like type hints, but it’s easy to go overboard with them. Pydantic and FastAPI are great. The problem is that typenauts and academics coming from other languages are trying to bring every feature under the sun to Python. The core team hasn’t been able to fight this barrage of feature requests.

The same is true for Go. I regularly see Rust/Haskell folks talking about how things could be better if Go had xyz feature. While it’s true that Go would probably have benefited from a little more expressiveness, how much more? Where do you stop?

I like Go because it’s not Rust or Zig. I mostly write server software, and Go is far more productive in that space. The Go team understands this and is much more protective about scope creep. Keep your type theory off my lawn and let me make money in peace, please.
The rules are too generic to be useful, because mankind still can't agree on what is "innovative", "useful", "aesthetic", ... and what isn't.

Only rule 7. and 9. are measurable and not purely subjective.
Most high performance code is vectorized and Rust is better at autovectorization and aliasing analysis than C++, so I'm not really seeing your point.

Having to drop down to intrinsics early is not a strength.
Inspiring in many ways, but also troubling. These people would have used fire for heating, cooking, and crafting, but there is no smoke. Depictions of ancient peoples that delete critical elements are troubling, distracting, and misleading.
I don't think I'd put the difference between the pc and server markets vs mobile down to vendor "intransigence". Rather, I would say it's a result of the market incentives. For PCs and especially for servers, customers insist that they can install an already released OS and it Just Works. This means that vendors are strongly incentivised to create and follow standards, not to do odd things, and to upstream early. On the other hand in mobile and embedded there is basically no customer demand to be able to run preexisting distro releases, and so vendors feel very little pressure to put in the extra work to get support upstream or to avoid deviating from common practice. On the contrary they may see their custom deviations as important parts of what makes their product better or more feature rich than the competition.

Right to repair laws as you suggest might do something to shift the incentives of vendors in these markets; I don't think they're ever going to "see the light" and suddenly decide they've been doing it wrong all these years (because measured in commercial consequences, they haven't)...
The AMA lobbied for a freeze in slots because the rate of growth had was increasing and extrapolating from that it looked like more physicians would be graduating than there would be jobs for them to fill.

The number of physicians has been growing faster than population growth since the 60s. No one could have predicted that we’d be able to sustain the insane growth in medical spending and demand that allowed this to continue.

Because of the way medical training is funded, number of physicians isn’t not a free market phenomenon. Congress decides how many there are. In the 90s it looked like there were going to be too many. When that changed the AMAs position changed, it was a perfectly reasonable position.

But even if it weren’t a reasonable position. That was 30 years ago. No one who was in a position of power is around today, so it’s unclear to me how exactly the current AMA should bear responsibility.

It would be like if IEEE today called for a temporary freeze on the increase of H-1Bs. Then 30 years later something causes an explosion in demand for engineers and people started blaming these evil engineers.