stingpie

joined 2 years ago
[–] stingpie@lemmy.world 31 points 1 day ago (5 children)

What's important to note is that there has been a big shift in the goals and techniques of education. This most famously occured with "common core" math in the US. It was a push to teach math in a more intuitive way, one that directly corresponds with what children already know. You can physically add things together by putting more of them together, and then counting them, so they try to teach addition with that analog in mind.

Prior to common core math, there was "new math," which anyone under 80 years old assumes has always been the standard. New math was a push to teach math in a more understandable way, one that gradually introduced new concepts to ensure children understood how math works. This was satirized by Tom Leher in his song "New Math." If you look up the song, you'll see that new math mostly was implemented by teaching students how base-10 positional notation works, and then using that understanding to present addition and subtraction as logical algorithms.

Prior to new math, the focus of math education was much more about getting the right answer, rather than the skills needed for problem solving using math. This allows for a higher breadth of education, as topics can be covered quickly, but each topic is understood in a shallow way.

[–] stingpie@lemmy.world 2 points 6 days ago (2 children)

FP & OOP both have their use cases. Generally, I think people use OOP for stateful programming, and FP for stateless programming. Of course, OOP is excessive in a lot of cases, and so is FP.

OOP is more useful as an abstraction than a programming paradigm. Real, human, non-computer programming is object-oriented, and so people find it a natural way of organizing things. It makes more sense to say "for each dog, dog, dog.bark()" instead of "map( bark, dogs)".

A good use case for OOP is machine learning. Despite the industry's best effort to use functional programming for it, Object oriented just makes more sense. You want a set of parameters, unique to each function applied to the input. This allows you to use each function without referencing the parameters every single time. You can write "function(input)" instead of "function(input, parameters)". Then, if you are using a clever library, it will use pointers to the parameters within the functions to update during the optimization step. It hides how the parameters influence the result, but machine learning is a black box anyway.

In my limited use of FP, I've found it useful for manipulating basic data structures in bulk. If I need to normalize a large number of arrays, it's easy to go "map(normalize, arrays)" and call it a day. The FP specific functions such as scan and reduce are incredibly useful since OOP typically requires you to set up a loop and manually keep track of the intermediate results. I will admit though, that my only real use of FP is python list comprehension and APL, so take whatever I say about FP with a grain of salt.

[–] stingpie@lemmy.world 0 points 1 week ago (1 children)

I think 'implies' asks whether it's possible that A causes B to be true. In other words, it is false if there is evidence that A does not cause B.

So:

If A is true and B is false, then the result is false, since A could not cause B to be true.

If A and B are both true, then the result is true, since A could cause B.

If A is false and B is true, then the result is true since A could or could not make B true (but another factor could also be making B true)

If A and B are both false we don't have any evidence about the relationship between A and B, so the result is true.

I don't know for sure, though. I'm not a mathematician.

[–] stingpie@lemmy.world 18 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

I personally think the change from master & slave was kind of silly, as far as I'm aware, it was a bunch of people with no background in CS who thought the application of the term to something that has neither race nor agency was an insult to black people.

But I digress. It led to better guidelines in the Linux kernel, which I think are useful. You should tailor the terms you're using to the specifics of the task. If you have a master process that only has outward interfaces through the slave processes, you could use the term 'director' and 'actor.' if the master process is managing slave processes which compete over the same resources, you can use the terms 'arbiter' and 'mutex holder.' If the slaves do some independent processing the master does not need to know the details of, you can use the term 'controller' and 'peripheral.'

Basically, use a term that is the most descriptive in the context of your program.

Edit: also, I don't know why no one mentions this, but you can also use master/servant. Historically, there wasn't a difference between servant and slave, but in modern days there is, so it's technically different, technically the same.

[–] stingpie@lemmy.world 6 points 1 month ago (3 children)

Unused memory is not useless, it is just unused. If I want to pull up a guide on how to giggle the grables in my favorite game Grable Giggler, I would be very happy if I had unused memory which I can now use for my browser.

Also, smaller RAM usage generally correlates to smaller file size, which is very useful on computers with limited storage.

And finally, there's also low spec gaming and accessibility. Minecraft, at least prior to the microsoft acquisition, was a very low spec game. I wouldn't say it was optimized, but a game of minecraft took less ram than chrome. There was nearly no computers at the time which couldn't run minecraft. At the time of minecraft's early boom, kids were getting low-spec hand-me-downs, and so minecraft was one of the most open-ended games they could play. What I'm trying to say is that minecraft—and Doom for that matter—owe a large part of their success to low memory usage.

[–] stingpie@lemmy.world 18 points 1 month ago (3 children)

GIF compression is endearing, though. It only has 256 colors, but it tries its hardest anyway.

[–] stingpie@lemmy.world 4 points 1 month ago (4 children)

What's your preferred default pronoun? As far as I'm aware, there isn't a universally accepted replacement, since any pronoun comes with drawbacks. 'he' & 'she' are gendered, 'it' typically refers to non-sentient things, and 'they' can cause confusion about number. Of course, there's also neopronouns, but people have come up with a billion, and there's no consensus or standard, so I can't confirm the person I'm talking to will understand.

[–] stingpie@lemmy.world 3 points 1 month ago (3 children)

From an ace perspective, the statement that sexual expression is a human need is bizarre. I don't really know how horny regular people are, but this makes it seem like an obsession. It's like if I said bird watching is a human need; you'd immediately assume I spend like six hours a day bird watching to think it was biologically necessary.

[–] stingpie@lemmy.world 5 points 2 months ago* (last edited 2 months ago) (2 children)

I struggle to learn rust because the semantics and syntax are just so awful. I would love to be enthusiastic about rust, since every seems to love it, but I can't get over that hurdle. Backporting the features into C, or even just making a transpiler from C to rust that uses annotations would be great for me. But the rust community really does not seem interested in making stepping stones from other languages to rust.

[–] stingpie@lemmy.world 65 points 2 months ago (3 children)

IMO around 2006 is when you see the decline. It's the delineation between kids who started with computers, and kids that started with phones or tablets.

view more: next ›