• 0 Posts
  • 22 Comments
Joined 2 years ago
cake
Cake day: July 9th, 2023

help-circle



  • I don’t think this is a fair comparison because arithmetic is a very small and almost inconsequential skill to develop within the framework of mathematics. Any human that doesn’t have severe learning disabilities will be able to develop a sufficient baseline of arithmetic skills.

    The really useful aspects of math are things like how to think quantitatively. How to formulate a problem mathematically. How to manipulate mathematical expressions in order to reach a solution. For the most part these are not things that calculators do for you. In some cases reaching for a calculator may actually be a distraction from making real progress on the problem. In other cases calculators can be a useful tool for learning and building your intuition - graphing calculators are especially useful for this.

    The difference with LLMs is that we are being led to believe that LLMs are sufficient to solve your problems for you, from start to finish. In the past students who develop a reflex to reach for a calculator when they don’t know how to solve a problem were thwarted by the fact that the calculator won’t actually solve it for them. Nowadays students develop that reflex and reach for an LLM instead, and now they can walk away with the belief that the LLM is really solving their problems, which creates both a dependency and a misunderstanding of what LLMs are really suited to do for them.

    I’d be a lot less bothered if LLMs were made to provide guidance to students, a la the Socratic method: posing leading questions to the students and helping them to think along the right tracks. That might also help mitigate the fact that LLMs don’t reliably know the answers: if the user is presented with a leading question instead of an answer then they’re still left with the responsibility of investigating and validating.

    But that doesn’t leave users with a sense of immediate gratification which makes it less marketable and therefore less opportunity to profit…





  • Did the software industry learn nothing from Y2K? Was it too long ago already for people to remember the mess we made for ourselves?

    Saving two characters in a file name is not worth the hell you are leaving in your trail by shoving this nonsense in an obscure corner of production code that people are going to forget about until it’s too late.


  • I recently had an accountant file something for the IRS that was dated as expiring in 1940 when it should’ve been 2040. I had to catch it myself after reading through 70 pages of dense forms before it was sent off, and I could’ve easily missed it.

    Digital records have existed long enough now that it’s downright irresponsible to leave off the century for anything where having an accurate date might even slightly matter.


  • There’s a lot to be said for the scale of damage that can be done with something, especially relative to the effort needed to do that damage.

    These days tech companies are doing enormous damage to people’s brains (saturating our dopamine receptors to the point that many people have depression and executive dysfunction) to turn us all into consumption machines that can only find happiness by consuming content and buying commercial products and services.

    Imagine how much more harm they’ll do when they have direct access to our neurons, without even LED pixels as a buffer in between.



  • Probably the most important thing is keeping up with security fixes. I’m not an expert in web security, but my impression is that there’s a never-ending cat and mouse game between hackers and browser developers to find or patch exploits. And since browsers play such an important role in the activity of hundreds of millions… billions?.. of consumers, it has the largest possible attack surface for hackers to target.

    Then there’s things like better support for web assembly (how I would love the web dev world to break the JavaScript hegemony), and the constantly shifting web standards that are meant to make websites more capable, easier to program, and more performant. E.g. things like websockets and WebRTC.


  • I think it’s debatable whether RAII should be called “memory management”. Whether dealing with Rust or modern C++, you don’t need to “manage” the memory beyond specifying a container that will determine its lifecycle behavior, and then you just let it drop.

    You could certainly choose to manage it more granularly than that in Rust or C++, but in the vast majority of cases that would be considered bad practice.

    That’s a qualitatively different user experience than C or pre-2011 boostless C++ where you actually need to explicitly delete all your heap allocations and manually keep track of which pointers are still valid. Lumping both under “memory management” makes the term so broad that it almost loses its significance.


  • There are several ways to achieve an effect equivalent to operator overloading in Rust, depending on exactly how you want the overloading to work.

    The most common is

    fn do_something(arg: impl Into<Args>) {
        ...
    }
    

    This lets you pass in anything into the function that can be converted into the Args type. If you define the Args type yourself then you can also define any conversion that you want, and you can make any construction method you want for it. It’s a small touch more explicit than C++'s operator overloading, but I think it pays off overall because you know exactly what function implementation all different choices of arguments will be funneling into.

    I’ll admit there’s one thing from C++ that I frequently wish were available in Rust: specialization. Generics in Rust aren’t exactly the same as templates in C++ but they’re close enough that the concept of specialization could apply to traits and generics. There is ongoing work to bring specialization into the language, but it’s taking a long time, and one of my projects in particular would seriously benefit from them being available.

    Still, Rust will have specialization support long before C++ has caught up to even a quarter of the benefits that Rust has over it.


  • Even with modern C++ it’s loaded with seg fault and undefined behavior footguns.

    The times when C++ feels more ergonomic than Rust are the times when you’re writing unsafe code and there’s undefined behavior lurking in there, waiting to ambush you once you’ve sent it to production. Code that is 100% guaranteed safe is always, and I really want to emphasize this: always more ergonomic to write in Rust than it is to write in C++.

    Show me any case where C++ code seems more ergonomic than its Rust equivalent, and I will always be able to show you how either the C++ code has a bug hiding in it or how the Rust code can be revised with syntactic sugar to be more ergonomic than the C++.


  • C++ was far and away my favorite language (I used it professionally for 10 years and was always excitedly keeping up with new ISO developments), until I learned the basics of Rust…

    Now it’s my firm belief that the world will become a better place when C++ stops existing. C++ just has no positive role to play in a world where Rust exists at the level of maturity that it already has.

    Whatever they might try to do to C++ to make it less intolerable will be in vain until they’re ready to break backwards compatibility. And once they’re willing to break backwards compatibility to legitimately improve the language, they’re just going to end up with a messy knock off of Rust.


  • I’m directing my criticism specifically on the technological advancement which is devoid of communal spirit, not on all technological advancement categorically.

    Crediting human achievement to technological advancement is a mistake in my opinion. Technological advancement is not inherently good or bad. Communal spirit is what determines whether technology yields positive or negative outcomes. That’s the real ingredient behind everything humans have achieved throughout history.

    Sadly techno-optimism has become a prevailing mindset in today’s world where people and institutions don’t want to take responsibility for the consequences of their actions because of belief that as-yet-unknown technological advancement will bail us out in the future, even when there’s no evidence that it will even be physically possible.

    But what I said is that your view is a sad one, not an incorrect one. The truth is, technological advancement may truly end up being the defining characteristic of humanity. After all, when we think about extinct species, we tend to associate them most strongly with what made them extinct. Just as we associate the dinosaurs most strongly with a meteor, maybe an outside observer will some day associate humanity most strongly with the technology that sent us out in a blaze of glory.


  • What a sad view of humanity to think that our one defining characteristic should be pursuit of technology rather than the ability to intelligently collaborate and thereby form communities with a shared purpose.

    I can assure you that the success of human survival throughout the history of our species has had far more to do with community and resourcefulness than with technological advancement. In fact it should be clear by now technological advancement devoid of communal spirit will be the very thing that brings an untimely end to our entire species. Our technology is destroying the climate we depend on and depleting the soil that we need for growing food, to say nothing of the nuclear bombs that could wipe us out with the wrong individuals in positions of power.


  • This is a rare case where sentient is being used correctly. Sentient beings do have feelings, e.g. dogs and cats are sentient and can have cravings and even feel hate.

    Sapient means having enough intellect to understand and reason about the situation. The post doesn’t actually require that.


  • A statement like “veganism is unhealthy” is so objectively wrong that it really harms your credibility in general. I wonder how much you actually read from the article, or did you just grab the title and run with it?

    There are a small number of specific nutrients that are readily available in meat that are harder to come by in a vegan diet. Harder but entirely possible, especially with supplements.

    And many of the meat alternatives that you were disparaging earlier are specifically engineered to provide those nutrients (in particular Impossible and Beyond brands).

    “Veganism is unhealthy” in the same way that any eating pattern is unhealthy if you aren’t mindful of what you’re eating. Conventional meat-based diets have much higher risk of heart disease due to high cholesterol, so let’s go ahead and label that unhealthy too.