5C5C5C

@5C5C5C@programming.dev
0 Post – 93 Comments
Joined 12 months ago

If we are now considering philosophical intellectual exercises to be memes then this description is accurate.

My head canon for sea-based Kaiju is they have a sack of muscles somewhere inside their body that can expand a cavity, kind of like the diaphragm expands the lungs, except instead of taking in air or water it just creates a volume of vacuum inside of them. This makes them extremely bouyant relative to the surrounding sea pressure, so they rapidly ascend and can casually float like a boat near the surface.

But if they ever want to dive again, they just let that cavity collapse and all their bouyancy goes away.

25 more...

At least he spared us from Oz becoming a senator. Even with the personality change, he isn't nearly as bad as that grifter. Now hopefully someone can primary him when his seat is available, or better yet maybe someone can convince him to step aside since he's no longer the person he used to be.

By all credible accounts the systemic issues at Boeing predate this CEO by probably 2 decades. Dave Calhoun seems to specialize in "troubled companies", i.e. he has never been anything more than a professional scape goat.

Edit: I didn't do enough research, he hasn't really been CEO at many places, just upper positions like director and board member. Still, the companies he specializes in seem to be the ones with reputations to cannibalize for money by cutting quality and screwing consumers, like GE.

5 more...

You're making a logical fallacy called affirming the consequent where you're assuming that just because the backdoor was caught under these particular conditions, these are the only conditions under which it would've been caught.

Suppose the bad actor had not been sloppy; it would still be entirely possible that the backdoor gets identified and fixed during a security audit performed by an enterprise grade Linux distribution.

In this case it was caught especially early because the bad actor did not cover their tracks very well, but now that that has occurred, it cannot necessarily be proven one way or the other whether the backdoor would have been caught by other means.

38 more...

Funny how the headline makes it sound like a Rust specific problem, as if the Rust language is unsafe or the core team was incompetent, but then other affected language standard libraries include

  • Erlang (documentation update)
  • Go (documentation update)
  • Haskell (patch available)
  • Java (won’t fix)
  • Node.js (patch will be available)
  • PHP (patch will be available)
  • Python (documentation update)
  • Ruby (documentation update)

So actually this is a vulnerability that originates in Windows, and Rust and Haskell are the only languages that are actually protecting users from it as of right now, with Node.js and PHP to follow.

This is exactly what I thought about abortion rights but they really went and plowed ahead on that.

Now they've shifted the culture wars over to trans rights and whatever other kinds of bigotry they can muster up. There's really no bottom to the depths of horribleness that they're willing to plumb.

3 more...

Your graph also cuts out early. Eventually you want to get performance gains with multi-threading and concurrency, and then the line drops all the way into hell.

10 more...

Your eyes broken bro

2 more...

The post is literally describing existential nihilism, whoops.

2 more...

This is the argument that I used when I was an adolescent who thought himself very wise and smart but in reality just wanted an excuse to not have to change the lifestyle that I was comfortable with.

Saying "life only comes from death" is a cowardly reductionism. It creates a false equivalence between plant and animal life that lets you ignore the fact that sustaining human life does not require the wanton suffering of animals. And it certainly doesn't require animals to be suffering at such massive scales and in such cruel ways.

You're probably someone who will cite studies which indicate that plants emit distress signals when they take physical damage, and you'll argue that therefore plants suffer the same as animals. But that's an intellectually dishonest argument. Suffering as we understand it is more than just a chemical reaction to stimulus; it emerges from an awareness of being alive and an instinctual desire to remain alive and unharmed. Plants do not have that kind of awareness.

There are predators in nature that only know how to hunt to survive. Their digestive systems are specialized to consume the bodies of other smaller animals. And their ecosystems depend on those predators to balance out the reproductive cycles of their prey, otherwise the prey animals would become overpopulated and wipe out life forms lower on the food chain.

The fact of the matter is that humans have not been a collaborative member of any ecosystem for tens of thousands of years. We cause massive harm to every ecosystem that we're a part of, and the mass slaughter of farm animals is the worst thing we've done to this planet yet, even more harmful overall than CO2 emissions. We're eroding the soil and using up the fresh water in ways we can't sustain, and then to top it all off we're inflicting the largest scale unnecessary suffering in the history of this planet. And all of it is being done so that humans can enjoy a pleasure that is both unnecessary and easily replaced with a small amount of agricultural and supply chain reform.

Humans are omnivores and the simple reality is that as an omnivore with options at your disposal you have a choice about whether the process of sustaining your life involves wanton suffering at a massive scale or not. If you think the suffering of animals is worth the pleasure you derive from eating their flesh then just be honest and say so. Don't be a coward like I used to be by pretending that animals and plants are the same.

5 more...

The difference is that for one side the "violations of the Geneva convention" are not being carried out by the duly elected government 🤔

1 more...

Astroturfing implies that a corporation or government agency with large amounts of funding are paying individuals or bots to spread misinformation for their employer's financial or strategic benefit.

You might not know this, but there isn't a "Big Vegan" industry with deep pockets to financially support astroturfing. Agrobusinesses that grow vegetation make more money off the meat industry than they would if they centered their produce around vegetarian or vegan diets. Businesses that do cater to vegans barely manage to scrape by and have no margins to support social media manipulation; they barely even have budget for conventional marketing.

What you're actually witnessing is legitimate grassroots efforts to inform people about the harm that the meat industry causes. You see "astroturfing" doesn't mean "a lot of people are saying things I don't like". It actually means "grassroots campaign but fake", hence the name "astroturf", which is a fake kind of grass.

9 more...

I genuinely wonder what the kompromat is on Sensor Tuberville. He seems to do everything in his power to help Putin's military interests.

4 more...

What an absolutely bizarre whataboutism, so vapid and self-evidently disingenuous that I can't believe I'm about to waste my time picking it apart, but here we go:

First of all, rescuing children from traumatically abusive environments is not the same as what the meat industry does to calves. Separation from parents is inherently traumatic itself, but that needs to be weighed against the degree of harm that the abusive parent might do, on a case-by-case basis.

Secondly, there are certainly cases of the government separating children from their parents that should be protested. Like when Texas defines transgender-affirming households to be committing child abuse and uses that as a reason to forcibly separate the child. Or when immigration control separates migrant children from their parents.

This might come as a shock to you, but it's possible to care about and advocate for more than one issue at a time. I don't know if your emotional capacity might be limited to just caring about one thing, but most people don't suffer from that limitation.

Five years ago I installed Windows 10 direct from Microsoft's online store onto my Ubuntu laptop so I could play some Windows-only games.

It was fine for a while, but after some updates the Start menu began shoving ads (I believe Candy Crush was a big one) into my shortcut panels.

It's true that I could go deleting them one-by-one, and probably hunt down settings to disable them, but I find it repulsive that I paid for an operating system only to be personally made into a product for Microsoft on top of that. I've decided I'm never going to spend another dollar on such predatory behavior, even if it means I'm throwing away a significant portion of my video game library.

1 more...

I'm not saying you can't do multi-threading or concurrency in C++. The problem is that it's far too easy to get data races or deadlocks by making subtle syntactical mistakes that the compiler doesn't catch. pthreads does nothing to help with that.

If you don't need to share any data across threads then sure, everything is easy, but I've never seen such a simple use case in my entire professional career.

All these people talking about "C++ is easy, just don't use pointers!" must be writing the easiest applications of all time and also producing code that's so inefficient they'd probably get performance gains by switching to Python.

6 more...

Whenever people complain that in Rust "the compiler is tough to beat", the real problem is that individual's mindset.

I had this problem as well when I first started playing with Rust. I thought I was very smart and that I know exactly what I'm doing when I'm programming, so if the compiler is complaining so much about my code, it's just being a dumb jerk.

But if you stick with it instead of giving into your initial frustration, you'll realize that the truth is the compiler is your friend and is saving you from innumerable subtle bugs that you'd be putting into your code if you were using any other language.

When you realize that the 1.5x time+effort you need to spend to satisfy the Rust compiler is saving you 5x-50x time+effort that you'd have to spend debugging your program if you had written it in any other language, you'll come to appreciate the strictness of the compiler instead of resenting it.

There's a reason us crustaceans are so zealous and the ecosystem is growing so rapidly, and it's not because we're super smart or have some unusually high work ethic. It's because the language and the tooling is legitimately really good for producing high quality software at a rapid pace.

There's going to be an inflection point where the people who keep dismissing Rust are going to be left behind by the entire tech industry because there's no other language that allows an ordinary developer to produce as high quality software as quickly that can work across EVERY platform, including web (via compiling to web assembly). I won't pretend I can predict exactly when that inflection point will happen, but it will definitely happen.

1 more...

You have a talent for metaphor.

You have that totally backwards.

The board (which is the board of the non-profit) wanted the company to be more focused on its mission and less profit-driven. Altman is the one that's been letting Microsoft get its tendrils around OpenAI and push a narrative that everything must be closed off and profit focused.

You're thinking of faculty. This is referring to administrators. If you don't know the difference then you know nothing about how institutes of higher education function.

There's a difference between "You have to decide when to synchronize your state" and "If you make any very small mistake that appears to be perfectly fine in the absence of extremely rigorous scrutiny then this code block will cause a crash or some other incomprehensible undefined behavior 1/10000 times that it gets run, leaving you with no indication of what went wrong or where the problem is."

Yeah that's my big takeaway here: If the people who are rolling out this technology cannot make these assurances then the technology has no right to exist.

I've had the privilege of switching from C++ to Rust almost completely in my professional work. I can tell you in no uncertain terms, the language itself makes an enormous difference.

When I was doing highly concurrent multi-threaded programming in C++, I would sometimes have to waste entire weeks hunting down subtle data race bugs, despite the fact that I have a solid understanding of concurrency and multithreading. In some cases the bugs would originate in third party libraries that I was using, even though those libraries came from credible sources like Microsoft, Google, and GNU.

Switching to Rust, those bugs are gone. By the time my code compiles there's at 95% chance that it will work exactly the way it's intended to without any debugging. The remaining 5% is silly little logic accidents like saying if condition { ... } when I meant to say if !condition { ... } and those bugs are trivially caught by writing a few simple unit tests (and Rust also makes it easier to write unit tests than any other language I know of).

When I see my colleagues struggle with debugging problems in their JavaScript, Python, or C++ code, almost every time it turns out to be something that would've been trivially caught by the Rust compiler.

By no means does using Rust guarantee that your code will be completely bug free. But the language alone gets you so close to that goal that it hardly takes any special effort beyond compiling to get all the way there.

I think this is a huge reason that the ecosystem grows as quickly as it does: it's so easy to write code that you can feel confident enough about to publish for anyone to use that many people go ahead and do that, and others feel confident using the work of others because the compiler does so much to ensure quality. It creates a virtuous cycle where people can develop faster by taking advantage of other people's efforts and then release their own effort back into the community.

A little disingenuous, yes, but the reality is that if we redirected the meat industry's subsidies towards a supply chain that centers around plant based diets, we'd have a more sustainable industry as well as a more affordable food supply for everyone.

Sustaining the status quo of meat consumption is a constant battle against the laws of physics.

Personally I suspect they're getting all the information they care about via subpoenas on big data and social media companies. They don't have a need to compromise security on a technical level anymore because the justice system itself is compromised. That means backdoors only benefit national enemies at this point, so the NSA of today would rather those not exist at all.

Of course that's not to say anyone should trust those agencies at their word on anything.

And even if you do get to use pure modern C++ you'll still get burned by subtle cases of undefined behavior (e.g. you probably haven't memorized every iterator invalidation rule for every container type) that force you to spend weeks debugging an inexplicable crash that happened in production but can only be recreated in 1/10000 runs of your test suite, but vanishes entirely if you compile in debug mode and try to use gdb.

And don't even get me started on multi-threading and concurrency.

6 more...

I really don't think that there is any perfect programming language.

You'd be wrong 🦀🦀🦀🦀🦀

3 more...

Your idea of nuance would have us all sitting on our hands while unsustainable industries make the world we live in uninhabitable and put an end to humanity as we know it.

Sounds like there are going to be a lot of machines running a fresh install of Linux next year. Microsoft really does ♥️ Linux.

It only took me ~2 weeks of playing with Rust before it became my scripting language of choice over Python (which I had been using casually for ~5 years by that point).

The initial setup for Rust can be whipped up with $ cargo init. You're right that there's more setup boilerplate because of the mandatory Cargo.toml and directory structure, but cargo init will provide all that in a snap.

As for the domain specific boilerplate, I actually find that Rust is better at that than Python in almost all cases. I feel that Rust's clap is much simpler, more reliable, and less boilerplate than Python's argparse. Python might win in cases where there's a very mature domain specific package that you need which isn't available in the Rust ecosystem, but that's becoming rare as crates.io grows.

And then when it comes to the actual "scripting", very often my IDE's intellisense can practically fill in the Rust code for me. One keystroke per word and it knows what function I want, or I can quickly scroll through the recommendations until I find what I'm looking for. Meanwhile with Python I always have to consult docs to find any API that isn't part of the basic standard library. As a result I'll often get the scripting done faster in Rust than in Python.

It does absolutely take some time to reach that point, though. Most programmers will definitely feel significant discomfort with Rust initially, but that's just because you need to deprogram your brain from the bad habits that other languages encourage. There's a tipping point in that deprogramming where all the other languages start to feel uncomfortable because you know it won't let you write as good quality of code as Rust would.

2 more...

Weird how this notion of "personal responsibility" applies to every person except for those people who choose to intentionally misrepresenting the product by branding it in ways that are misleading. The people running this company aren't responsible for their role in misleading the public, just because the fine print happens to indicate that the product isn't actually what it's marketed as?

Now you'll probably say something to the effect of "I never said that! You're putting words in my mouth!" except what other motivation can you have to jump to the defense of the liar and blame people for being misled, except that you want to put all the responsibility on individuals for being misled and not on the company that is systematically and intentionally misleading them? Maybe you just manage to derive a smug sense of superiority thinking of yourself as someone who is invulnerable to this kind of tactic so blaming the victims lets you feel good about yourself.

3 more...

Personally I think the "compiling Rust is slow" narrative comes from comparing it against scripting languages like Python. If you compare compiling Rust against compiling C++ code of similar complexity, I think Rust will come out very favorably since C++ templates and headers tend to carry a huge compilation burden.

I want this for when climate collapse destroys modern civilization and the survivors are left to rebuild society without the benefit of global supply chains or information infrastructure.

3 more...

As for not having underwear, well...

1 more...

If the issue exists in the standard library of every language that provides this capability and Rust's standard library is the first to fix it, how is it a Rust issue?

It would be more accurate to say that it's an issue in almost every language EXCEPT Rust at this point.

The only reason it isn't being called a C or C++ issue is because their standard libraries don't even attempt to offer this capability. But you can bet that all sorts of C/C++ libraries that do offer this, like Qt, will also be having this issue.

1 more...

Just because you personally disagree with the goal of a grassroots movement does not mean it is a fake grassroots movement.

A grassroots movement is very simply a collection of people, usually belonging to a community with a shared interest, who work together to publicly advocate for a particular cause. This is contrast to a powerful or moneyed interest that lobbies for a cause that usually only benefits a small group. When a powerful or moneyed interest is paying large groups of people (or alternatively bot farms) to manufacture the appearance that a grassroots movement is supporting their cause, THAT is astroturfing. The agreeability of the cause has nothing to do with how the strategy gets labeled.

You have such a tenuous grasp on the meanings of such basic words that you might want to consider hesitating before referring to other people as idiotic.

3 more...

Not as bad as metamates. It's amazing how much money is accumulated by people who are so far removed from basic human sensibilities. I don't know if the money makes them detached or if their detachment is somehow a key to them making so much money.

Because this is the status of the bug across the standard libraries of various languages, per this article and others:

  • Erlang (documentation update)
  • Go (documentation update)
  • Haskell (patch available)
  • Java (won’t fix)
  • Node.js (patch will be available)
  • PHP (patch will be available)
  • Python (documentation update)
  • Ruby (documentation update)

Notably C and C++ are missing from this list because their standard libraries don't even offer this capability. Half of these standard libraries are responding to the issue by just warning you about it in the function documentation. Rust is one of the few that actually prevents the attack from happening.

The original BatBadBut bug report used JavaScript to illustrate the vulnerability.

The fact that it was discovered early due to bad actor sloppiness does not imply that it could not have also been caught prior to wide spread usage via security audits that take place for many enterprise grade Linux distributions.