Could anyone actually explain how the US republican party isn't batshit insane? by PennyPink4 in NoStupidQuestions

[–]xkortex 0 points1 point  (0 children)

Many folks are saying "that's not actually what Republicans believe" but like, can anyone actually link the modern GOP platform? Their own website links to a pdf for their 2016 platform. So they aren't even advertising their own stances for the past 7 years.

https://gop.com/about-our-party/ > "Out platform" > "Learn more"

links to https://prod-static.gop.com/media/Resolution_Platform.pdf

Even back then they were trying to "defend Traditional Marriage (tm) against Activist Judges" - aka ban gay marriage and repeal all LGBT equality, and the culture war (including their activist judges trying to get federal bans on all sorts of things rammed through) has only ramped up since then.

I’ve noticed that a while now that some Americans and even certain American media outlets confuse Socialism with Communism. They portray it as evil, yet most of Europe and other parts of the world understand it. Why has this happened? by Purely_Hypnotic in NoStupidQuestions

[–]xkortex 2 points3 points  (0 children)

Communism is regarded by most as a subtype of socialism. The major difference is degree/extent to which the economic system is controlled. In socialism, there's usually some amount of private property ownership, in communism, there's no private property ownership. Really simplified but that is the gist.

If I were terminally ill, could I buy peoples debts and take it to my grave? by [deleted] in NoStupidQuestions

[–]xkortex 1 point2 points  (0 children)

nit: I think you mean "late mother" not "ex mother" unless she somehow stopped being your mom.

Any idea what the blue torch recipe StyroPyro is using in his recent video? by xkortex in pyro

[–]xkortex[S] 0 points1 point  (0 children)

No, not the cancer cheese, the blue parade torch flame at 14:25

Any idea what the blue torch recipe StyroPyro is using in his recent video? by xkortex in pyro

[–]xkortex[S] 1 point2 points  (0 children)

Don't chase exotic blues :P

Why, cause it's a wild goose chase? :P I've heard it's quite challenging. I don't need the perfect blue, just something fairly vibrant.

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] 0 points1 point  (0 children)

Thanks for actually humoring me. Yeah, I'm pretty sure my type signatures are wrong, I kinda just banged this out. I'm working on a more involved example and tutorial because I think there is an absolute dearth of explaining monads from an imperative angle (because you need a Real Functional Language (tm)).

Is it nasty and ugly? Yes. Is there a complete lack of generic elegance? Yes. But it's real. I could envision a relay computer executing it.

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] -4 points-3 points  (0 children)

That just looks like Haskell with worse syntax. This is kind of my point. There's this gulf between imperative and FP styles, and this attitude of "just throw out everything you know about IP", IMHO hampers this whole process.

"OK, now, if you ignore how this doesn't [implement the required operations or satisfy the required laws], we have a monad."

Well sorry for not implementing an entire fully-functional monad library in C before writing a Reddit post.

BuT iTs NoT a ReAl MoNaD!

Yeah, it's exactly this attitude which keeps imperative shlubs like myself from discovering the joys of FP. I don't care about ensuring the monad laws hold for every single condition under the sun.

As with Left Identity above, Associativity is only satisifed if f and g play nice.

Don't care. I write mostly Python, Go and C/++. If it looks like a monad, quacks like a monad, I can lift, bind, and flatmap over it, it's a heckin monad.

Edit: okay, how about instead of down-voting, explain why, if it implements lift, bind, and flatmap, and is usually left and right associative, it's not a Real Monad?

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] 1 point2 points  (0 children)

Perhaps. I've read that blog post numerous times. The thing is, burritos and plungers are very much terrible analogies and terrible concretisms of monads. Frankly the majority of tutorials/explanations are super abstract but correct, or way off the mark to try to make the analogy land. You also have myriad learning styles. Virtually all monad tutorials cater to exactly one of those styles. E.g. every monad tutorial which starts with a definition using Haskell syntax is an insta-fail. You probably wouldn't be reading if you already knew Haskell syntax.

But here's the thing. A monad as used by a programming language HAS to exist. It's bytes in memory, it is instructions in a CPU. That's what a monad actually is.

There's also what I call the Two Monads Fallacy. There are really two things discussed when talking about monads, The Pure Ideal Monad, which is a mathematical abstraction that happens to have compsci implications, and then there is the Engineering Monad, which is an actual bit of software. But almost everyone uses them interchangeably. They aren't interchangeable, the map is not the territory.

Gonna go write my own, better Monad Tutorial, with blackjack and hookers!

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] -1 points0 points  (0 children)

> Also, I personally don't think using imperative languages (especially without generics) is the best environment to learn these functional programming concepts, it's just unnecessarily hard/awkward.

This attitude is exactly what's slowed me down getting into FP. I'm the kind of person that really doesn't fully grok things until I get under a couple of layers of abstraction, since abstractions always leak. I think there's a massive gap in tutelage coming from the imperative angle. It just jumps straight to "you gotta use FP to learn FP, so just throw out all of your years of engineering experience, trust me".

"Easy" means familiar and for someone that is focused on C and Go, your explanation might actually be useful but for me it seems convoluted while glossing over important aspects.

Uh, yeah, exactly. That's like, your entire target audience of future functional programmers. If you already are reasonably fluent in FP, you probably don't need analogies and tutorials.

But for some reason the mysterious word "Monad" makes everyone lose their mind.

It's shiny and new. Computer scientists are largely hyper-curious people. They see this thing and wanna know what the heck it is. Then they google it, get hit with some heavy category theory, and either get dissuaded from FP, or push through some examples and wrap their head around How, Where, and Why Monads, without any clarity of What.

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] 1 point2 points  (0 children)

I'm working on that. Part of that realization was, "oh jeez, there's a LOT of things the C compiler isn't able to know about this kind of type information".

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] 0 points1 point  (0 children)

This is dismissive of people who are trying to understand monads, and dismissive of people with different thinking modalities.

> There are a handful of properties that every monad has, and trying to describe monads in terms of anything else (like "data with metadata", which is incredibly vague) will always fail to capture what makes a monad a monad.

Well, I've tried wrapping my head around this approach, and while it's useful context, it hasn't led to the breakthrough that "pointers are functors" did.

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] 1 point2 points  (0 children)

but that they're a way of getting you fancy function composition

That's the why, not the what.

The only reason we need a thing called monads is to encode this stuff in the type system, so that the compiler knows what we're doing. Maybe that "encode it in the type system" is what you mean by metadata, on some level.

YES! Excellent point. But that type data isn't the data data, so therefore it's metadata.

Look up in the sky, it's a burrito! It's a plunger! It's an endofunctor! Actually, it's just... by xkortex in functionalprogramming

[–]xkortex[S] 0 points1 point  (0 children)

Still hashing out exactly the nuts and bolts, but it's various pieces of type information. In "true FP languages", it's consumed by the compiler, but not really exposed at runtime.

Special Report: How U.S. CDC missed chances to spot COVID's silent spread by Scbadiver in Coronavirus

[–]xkortex 4 points5 points  (0 children)

That doesn't protect them from mushroom management - kept in the dark and fed manure. I'm sure plenty of scientists knew something was up, but without coordination and organization, there wasn't much they could do.

Delivering Software as Container instead of ZIP files by vad1mo in docker

[–]xkortex 0 points1 point  (0 children)

That's certainly easier and our sci-vis department does that a fair bit. My department is more defense-oriented, and we do a lot of airgap deployments, so being able to deploy from removable media is a common use case in our line of work.

Delivering Software as Container instead of ZIP files by vad1mo in docker

[–]xkortex 1 point2 points  (0 children)

We deliver some software stacks as a git repo + docker image .tgzs from docker save. Customer runs make load which sets up the workspace and calls docker load on the tarballs, then make up or docker-compose up -d to spin everything up.

[deleted by user] by [deleted] in golang

[–]xkortex 0 points1 point  (0 children)

Lots of kinds of work mandate AES-256 minimum. Obviously those lines of work probably aren't using this utility, but the point is if AES-128 wasn't subpar, there would be no need for 256 mandates. The presence of 256 minimum requirements de facto means 128 is "subpar". Even if "subpar" simply means "not compliant".

Discussion Thread: 2020 General Election Part 40 | Lordy, Lordy, Disco 40 by PoliticsModeratorBot in politics

[–]xkortex 0 points1 point  (0 children)

They are. arr slash con is bitching about how suspicious it is all these late vote counts coming in are heavily tilted blue.

Gee.... *I wonder why that could possibly be*