skysight-inc/HackerNews huggingface dataset:
There are at least a few nascent statically typed languages (as in, full static typing rather than gradual) which nevertheless let code with type errors compile for the sake of testing.

The two that I know of are Darklang [0] and Roc [1] which aim to let you compile code with type errors for the same reason you suggest.

[0] "Dark is designed for continuous delivery. As such, we don’t like requiring you to make large scale changes across your program, like changing a type everywhere. Instead, we want you to quickly discover that bad ideas won’t work, without first requiring you to propagate the type changes throughout your program."

https://blog.darklang.com/real-problems-with-functional-lang...

[1] "If you like, you can run a program that has compile-time errors like this. (If the program reaches the error at runtime, it will crash.)"

https://www.roc-lang.org/friendly
> My impression of Rust is that it's a very opinionated language

It's not though. There's only one thing Rust is opinionated about.

> that wants everybody to program in a specific way that emphasizes memory safety above everything.

Well yes, that is literally the core proposition and purpose of the language. That's like saying java is opinionated because it wants to manage the memory.

> I just don't think the kinds of security bugs you get from C/C++ "unsafe" code are that big of a deal for games

As soon as games are networked it starts being a problem, and these days non-networked games are pretty rare.
As I said above, cult-like. They will swiftly call you names if you even dare to question their beliefs. Thank you for proving me right kind sir.
Yeah, I work on a cute idyllic farm town with free range animals and despite all this feel-good stuff, I’ve seen chickens living in horrible conditions and baby cows I know will be separated from their mothers.

The way I look at it, it’s an issue of consent. The animals can’t consent to how they’re being treated, so we shouldn’t do it. At least not in developed nations where we have so many alternatives. The idea that “free range” means it’s okay to corral these animals at will and kill them well before their natural lives just doesn’t fit for me.

Meanwhile, lentils and soybeans are amazing!
Agreed, but I am not the original commenter, I am making my own point separately from them. I agree with you that Tesla isn't gaming anything by having a good airbag.
Because the value is in what the wrapper helps your specific customer base do.

Whether that's through prompt engineering or RAG, or some other technique, the value is in someone else spending the time to think of a UX that helps accomplish a specific job.

If you know what you want and how to do it, then likely fiddling around with prompts can get you pretty close, but people are busy and don't have time to test asking chatGPT 500 different prompts to get one that works well, or hunt around for examples to feed into context or into a RAG index.

There's an asymmetry of information and effort developing the pipeline/context/prompt construction involved. And this is what add's value.

Not simply a chat window and passing whatever the user types in, to openAI's API.
Would that make rust a cargo cult ?
I see. So the weakest link in the security chain is that someone discovers the <6 digit pin on your usb key (easy on a security camera), and then manages to steal it for 2 min.

Not terrible for anyone whose threat model is not targeted attacks. But quite bad for people whose threat model is exactly that.
I don't think it was out of competition. To borrow some language from the aforementioned open letter: This is very much a "pattern of behaviour" with these people, directed against anyone and everyone that makes a compelling political target. Travis Brown must be the worst of them, who isn't even really a part of the "Scala community" anymore since he dedicates 100% of his time not on Scala development but on coordinating lynch mobs against his personal enemies within the Scala community. Coincidentally, he is also the new boyfriend of Yifan Xing (the accuser) and a sworn enemy of Jon Pretty.
If they tried to use C++ it would have ended absolutely the same way.

As someone who works in gamedev I can assure you C++ is same bad choice for 2 man indie project. In search of fast iteration times games have moved away from writing code in low level languages. Hardware for casual games is much bigger and faster than anything small team is able to make.
and here https://news.ycombinator.com/item?id=40172000
>But not the second: on Github for example you can have multiple passkeys for the same account.

People mention the "only a single passkey instead of multiple passkeys" issue because they run into some websites such as PayPal that only let you add one passkey. E.g. :

https://old.reddit.com/r/yubikey/comments/14h0d7y/single_key...

https://www.paypal-community.com/t5/Managing-Account-Archive...
Honestly I have not read all the article. What language they are going to use instead of Rust?
My point is that while you (a moderately tech-savvy person) can easily find a download that is very likely to be safe (and you can feel confidence this is the case), the average person who wants to play Minecraft for free might not.
They look to have been pretty reasonable in the coverage.

https://www.cbsnews.com/baltimore/news/baltimore-co-schools-...

Alleged, "speculation that the recording was generated using AI", "we need more information", etc.
That's the kind of thing where I can't even imagine how the project conceivers and directors can even have the creativity and chutzpah to envision a $300 million dollar lab made by boring dozens of tubes 2 kilometers into the south pole to create a giant cubic kilometer of sensors.

Obviously I'm glad such people exist.
https://archive.is/J6mDZ
Between:

- No insurance required
- No registration
- Can use both bike lanes and sidewalls where I live
- Park anywhere I can lock it to something
- Nearly maintenance free (tires and bearings only)
- Saves unnecessary wear on my vehicles; could replace them entirely if I wasn't a motorhead

I have absolutely no regrets about my dual motor scooter
I know rust, I don't know game development (I've dabbled slightly). If I choose to build a game I either need to make it work in rust* or I need to learn a new language (Unity -> C#, Unreal -> blueprints, Godot -> gdscript).

So your advice to "just use Unity/Unreal/Godot" is the opposite of your advice "you should stick with what you know" in my case. I suspect the former is good advice, and the latter is therefore wrong.

* For the sake of argument, we can pretend I only know rust. In reality I know a fair number of other languages as well, but the list doesn't happen to include C# or "random game engine specific scripting language", which seems to be the options if we're going with an established engine for big 3d games.
It wasn't meant as bullying and certainly wasn't seen that way back when I did this. It was mischevious practical jokes that people laughed at. The world we live in now is not as happy of a place. I feel bad for youth of all ages growing up in the world we have now.
I have been using passkeys for a while in the form of yubikeys

Best practice is to register two keys to every website. Keep one physically in a safe.

With password managers I would say the same basic practice applies. Make sure you have a working offline backup of whatever secrets you hold dear.

There are some sites that only allow you to register a single passkey for an account (AWS Console last I checked) but these should be getting fixed as it becomes more popular
When I read "memorization and repetition", the first thing that springs to my mind was being unsuccessfully forced to learn multiplication tables in my youth. I have learned over time that I'm simply incapable of memorizing something that I either don't understand to a certain depth or see as unmoored from obvious utility. Even when I comprehend and see the use for something, it's still hard to remember without practice through usage.

I think she does mean "use and practice" when she says "memorization", which is fine, but I think that phrasing could lead education in a direction that would be worse for people with memory issues like mine.
Likewise. If anything matters in this world, I think the wellbeing of sentient creatures is a good candidate for the top of the list. I cause enough suffering inadvertently, let alone by intentionally supporting this kind of industry.

I found it easy to stop once that clicked. A moment of pleasure can’t justify the immense suffering that made it possible.
The primary advantages of passkeys are phishing resistance, uniqueness per site, and breach resistance.

Phishing resistance is improved over what a good password manager can provide (unique passwords per site, checking web origin before providing options). Since WebAuthn is a protocol, the origin of the requesting site is stamped into the authentication response; even if the user had the option to override a passkey to be sent to a different malicious domain, it is meant to be rejected if replayed on the legitimate website. WebAuthn really needs an attacker to compromise the legitimate site or to compromise DNS and TLS infrastructure for phishing to be successful.

The uniqueness is really two benefits in one - you don't need to think of multiple unique passwords (if doing manual password management), or suffer with password complexity rules (if doing either manual or automated password management). It is just a public key, usually a P-256 curve point. The security of the user authentication process is abstracted upstream, so it is secured with the local password/biometric or via an activation PIN (same as password managers).

The breach resistance means that if XSS gets onto the page, if a hacker gets read-only access to the password database, it is still infeasible for them to leverage anything they gain to answer future authentication challenges. If your passwords aren't unique, a breach is a big deal and can create a lot of lateral movement. Even if they are unique, attacker visibility of the password means account compromise. The private key in a passkey is separate from the website infrastructure, so that attacker is not going to be able to authenticate from anything they observe.
> The crux of the bill is [...] changing the definition of “sexual conduct” to include “any sexual or gender oriented conduct that knowingly exposes minors to persons who are dressed in sexually revealing, exaggerated, or provocative clothing or costumes, or are...

Sounds like photos of traditional heterosexual couples getting married in Southern Baptist churches might easily meet their new standard.
The first one :)

My point is that you lose all moral high ground lecturing countries on how they should behave when you're doing the exactly same thing.
Meanwhile I have a B.S in Mathematics and I'm still just as bad at it as I ever was. I paired it with Computer Science in a Double Major and thankfully I am much more comfortable with that.
When all you have is a hammer, everything looks like a nail. When all you have is programming expertise, all your game production obstacles look like programming problems.

I think everyone in games has met an “engine person” who spends a lot of time iterating on tech, but never quite getting to the creative expression that got them in the game. I think part of it comes a bit from mythologizing breakthrough games like DOOM, where cool technology made something completely fresh. We begin to think that emulating id Software is how you make compelling art, ignoring the latter half of Kushner’s novel.
This is a sobering read. Thank you for sharing.

This sums it up for me:

> Rust as both language and community is so preoccupied with avoiding problems at all cost that it completely loses sight of what matters, delivering an experience that is so good that whatever problems are there aren't really important. This doesn't mean "ship crap games", it means focusing on the game being a good game, not on the code being good code.

I think this can be easily extrapolated to projects outside of game development as well.

User experience is ultimately all that matters. If you're in prototyping stages of whatever it is you're building, and games spend a lot of time in this phase, then your focus should always be on testing what the user experience will be like, rather than absolute code correctness, maintainability, and everything else that makes a long-term project successful.

The fact Rust seemingly can't deliver this rapid prototyping workflow should be a large factor when deciding which language to use.

I've been using Go as my main language for the better part of a decade now, and I think it strikes the perfect balance of code quality and rapid prototyping. It's far from the side of absolute freedom of a language like Python, which becomes a nightmare to work with after the prototyping phase is over (though this might have improved in the past few years), but it's also far from languages like Rust, and allows me to be very productive, very quickly, while also being easy to pick up for newcomers. I probably wouldn't pick it for GUI or game development either, though, but for things like CLI, network and web tooling, it's perfect.
> being able to search for functions by type signature is just plain convenient.

It's certainly not all the way there, but now that we are over the mostly empty promises of encapsulation and (worse) trying to model the world with classes, but grouping by that implicit first argument type for discoverability is exactly what OOP is, in this age of post-OOP.

The "you're not trying hard enough" position reminds me a lot of the Scala community's disdain for java-in-scala-syntax: if you don't use it like an almost-Haskell you're on your own (1). Here, I think Rust is actually more open: I don't read too much of the community, but most of what I saw seemed to be quite welcoming to the idea of placating the borrow checker with refcounting when "the rust way" fails to sufficiently click.

((1) but with Kotlin having taken over the entire not-almost-Haskell part of scala it's not an issue anymore: is has its niche and it fills it well, no more taking over the entire JVM while also magically converting everybody into an almost-Haskellian)
> suspect the problem here is that you want activist agencies to ratchet-like interpret power delegations ever more broadly as long as you agree with those interpretations

You're reading a lot into my expressed desire to keep regulation in the hands of the two elected branches.
You mean Full Self Driving. If they call it that to sell it you gotta call it that when investing failures or safety.

Because it’s not “full self driving” and part of the fault for these deaths and non-fatal crashes lies with the man selling it like that.
I copied this exact same snippet and was going to comment the exact same thing.

Why choose Rust if you don’t care about maintainability and long term stability? Those are core values of the language!

The language choice was wrong from the start. C++ is king for games so if you care more about delivering features and fast prototyping why not go with that?

Maybe Rust is not a good language for rapid iteration in the game industry. And that’s ok I think.
Bun is amazing, but I recently tried to make an http/2 server through fastify and was not able to:

user@host:~/d/temp/server$ bun run index_fastify.js
14 | warned.add(feature), console.warn(new NotImplementedError(feature, issue));
15 | }, $;
16 |
17 | class NotImplementedError extends Error {
18 | code;
19 | constructor(feature, issue) {
^
NotImplementedError: node:http2 createServer is not yet implemented in Bun. Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/887
code: "ERR_NOT_IMPLEMENTED"

at new NotImplementedError (internal:shared:19:27)
at internal:shared:2:69
at node:http2:48:53
at getServerInstance (/Users/user/d/temp/server/node_modules/fastify/lib/server.js:342:16)
at createServer (/Users/user/d/temp/server/node_modules/fastify/lib/server.js:25:18)
at fastify (/Users/user/d/temp/server/node_modules/fastify/fastify.js:198:30)
at /Users/user/d/temp/server/index_fastify.js:4:13

The linked issue is actually about implementing support for http/2 clients, which was already released in v1.0.13 (https://bun.sh/blog/bun-v1.0.13#http2-client-support). The NotImplementedError message should be updated to point to the issue for the server variant: https://github.com/oven-sh/bun/issues/8823

Implementing http/2 server support is in the top few feature requests (https://github.com/oven-sh/bun/issues?q=is%3Aissue+is%3Aopen...). It looks like once they ship this, a lot more people will be able to move over to Bun.
The link works, but the link parser on HN (of all places) is confused by the parens.
Someone who has experienced real problems as a result of a specific mechanism is not required to solve every single problem with alternatives to that mechanism before saying "this mechanism has caused me real problems and it'd be nice if there were a better alternative that didn't cause those problems".

> The moment you allow this, you have to find a way to pick between several implementation - and they don't always have sane names.

There are other possible solutions that don't involve that.

For instance, many applications would be quite happy with "There can be only one implementation", giving a compiler error if there's more than one.

A slightly more sophisticated rule would be "Identical implementations are allowed and treated as a single implementation". This would be really convenient in combination with some kind of "standalone deriving" mechanism, which would generate identical implementations wherever it was used.
Probably should have mentioned that it's interactive, and invites experimenting with the content.
Yeah I'm not a game dev and don't write anything with low latency requirements. Almost all my code is in the "thoughput" camp.
Absolutely agree with the comments on ECS and Bevy in particular. I tried getting to grips with it for some time, doing things the Bevy way, and it just felt like a big step backwards because it’s not suitable for most things. The renderer was really slow at the time too, although I imagine that has improved. Switched to plain rust + vulkan (via ash) + dear imgui and haven’t looked back.
StopTheMadnessPro is a browser plugin that can skip YouTube ads
It's not possible to raise ethical beef at sufficient scale for a median piece of beef to be ethical, but it's absolutely possible to do so with chickens. It may be more profitable to raise chickens in inhumane conditions, but it is not necessary to do so to supply the US with the quantity of chickens and eggs it consumes.

Anyone with an acre of land (i.e. most Americans that don't live in cities) has enough space to raise enough chickens to fully feed their family on eggs, or meat if they so chose.

Whether their HOAs or municipalities allow them to do so is another matter.

Chickens are very easy to raise for eggs. We have a dozen chickens who have really excellent lives, and we are overflowing with more eggs than we can eat.
Yes.

C was invented in the '70s and only got standardized 20 years later.

And Rust's ~20 years is young in systems lang terms (the alternatives, C and C++, are 50 and 40 years old).

And nobody had TikTok back then.
I went to UW Madison and now work there and know someone who did a rotation at IceCube (doing tech support). It would be a really neat life experience but Wisconsin is already too cold for my taste.

What they do it totally out of my field, but I love hearing about it. It's a big source of pride in the university.
Looks like Justin Sun is an upstanding figure of high moral character. [0]

No one gets that wealthy without lack of morals and lack of humanity. If you can drop $4m for a dinner or $28m for a flight (and honestly, I don't care if you're going to the Moon at that price), you have no care for your fellow humans who suffer.

[0] https://en.wikipedia.org/wiki/Justin_Sun#Pending_Civil_Cases
Yeah, I started writing about what you found (the answer to (2) for Python) and I realised that's a huge rabbit hole I was venturing down and decided to stop short and post, so, apologies I guess.
This study suggests the opposite.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4692249/
Perhaps because the article is about how Rust isn't the magic bullet to everything, and a few people have commented agreeing with the article, others feel more willing to comment their own Rust isn't perfect opinion as well.

If you go into the comment section of a pro-Rust article, where the first few top-level comments are also pro-Rust, the responses to people expressing a negative attitude about Rust tend to (in my experience) be different.

This phenomenon certainly isn't exclusive to Rust (or HN). It happens all the time, especially when a prolific commenter is among the first few comments. It can set the tone for the entire comment section.
Rust is not antithetical to iteration-based programming, it just makes you write a lot of heavy boilerplate to explicitly support that kind of style. The flip side of that is once the 'iteration'/'prototyping' phase is over, you can actually refactor the prototype into high-quality production code, instead of either throwing it away altogether and rewriting it from scratch (spoiler alert: this doesn't really happen most of the time, because it's viewed as pointless waste) or just putting it in production as-is (which is what people actually do, even though it's obviously a disaster in the longer run).
Emhermesc.js:77 throw ex; Error: EMFILE: too many open files
It's not news though? Favoring iteration speed at the cost of future maintainability is a common argument for dynamically typed languages.
1password has a URL field. All you have to do it add the extra URLs

Better yet, while on mobile, search for the entry of the desktop site and have it fill. 1password will ask if you want to update the entry for this site
When is Java getting value types? It has been talked about forever now.
The day they open source XP is the day the world will collectively become better
I think you’re exactly right. In philosophy this Bayesian thinking is called “verisimilitude”, or to quote Stephen Colbert, “truthiness”.

Hume and Wittgenstein did a good job in their own ways of elucidating why judgements cannot stem only from facts. The “is ought problem” and “picture theory of language” are approachable places to google on the matter.

But we make judgements all day and it does seem like there are better judgements than others. We don’t have easy answers for what is right, wrong, beautiful, ugly, redeemable, or important. But these unscientific concerns are the most important aspects of anyone’s life, and philosophers can provide a lot of insight.
> Parts of the Rust community are toxic indeed, but I've been around long enough to recognize the same pattern in communities of other hot programming languages or frameworks in their up-and-coming phase.

Yeah. I think there’s also a weird way that newcomers get treated when they join a community. When you’re a newcomer to Rust, you probably have some preconceptions about how Rust should work based on the other languages you know, and you’re probably running into a lot of the same problems with Rust that everyone else has (e.g. borrow checker).

Most of the community is just kinda tired of the discussion and tired of answering the same questions, so they don’t interact with the noobs at all. That means that the people who, as you say, “thrive on dunking on noobs all day long”, are the primary point of contact for noobs.

Finding a decent programming community these days is a pain in the ass. The cool people, i.e., the people working on cool projects and getting shit done, are mostly busy and not hanging out with anybody.
reposting:

StopTheMadnessPro is a browser plugin that can skip YouTube ads,
works on iOS and also on Mac.
Clearly, it was a good day