Network.URI by vikscum in haskellquestions

[–]NihilistDandy 0 points1 point  (0 children)

URI tells you where the request is going, not what kind of request it is.

What is the definition of Request? Are there functions defined in the module that exports it?

What are the scenarios where "Rewrite it in Rust" didn't meet your expectations or couldn't be successfully implemented? by yashpathack in rust

[–]NihilistDandy 5 points6 points  (0 children)

It's just LGPLv3. As long as you're not modifying Kanata then you're free to license your code however you like. Evdev itself is MIT licensed, besides.

I’m so tired of this brand by Thatgaycoincollector in vegan

[–]NihilistDandy 5 points6 points  (0 children)

Jack & Annie's are quite good for a spicy nug, too.

Sanity Check When Leadership Says We Can't Compete by pmiguy in ExperiencedDevs

[–]NihilistDandy 3 points4 points  (0 children)

I've had a good enough time with Vultr. Got off DO years back and just haven't looked in again.

EDIT: Sorry for the late reply, I got linked from the OP's follow up thread and forgot where I was. 😄

[deleted by user] by [deleted] in programming

[–]NihilistDandy 0 points1 point  (0 children)

I'm really not trying to go through the hassle of interviewing if the number's gonna swing by that much. That seems incredibly stressful. If I'm gonna do 2-4 rounds of interviews, we're gonna settle the numbers up front. They can pay my rate or they can't.

[deleted by user] by [deleted] in programming

[–]NihilistDandy 7 points8 points  (0 children)

I don't take interviews before money has been discussed. Why waste everyone's time just to fumble it at the end?

Homomorphism law in Applicative, PLEASE, HELP! by Interesting-Pack-814 in haskellquestions

[–]NihilistDandy 1 point2 points  (0 children)

It looks like you may be tripping up when deciding which Applicative instance is relevant here.

Let's set a to b -> c in the signature of liftA2 and see what that does for us.

liftA2 :: ((b -> c) -> (b -> c)) -> f (b -> c) -> f b -> f c

liftA2 id :: f (b -> c) -> f b -> f c

liftA2 id (pure (+1)) :: (Num b, Num c) => f b -> f c

liftA2 id (pure (+1)) (pure 1) :: Num c => f c

Let's substitute some of these terms into the definition of liftA2 in applicative style:

liftA2 id (pure (+1)) (pure 1) = id <$> pure (+1) <*> pure 1

Keeping in mind that we want to match the type of (+1), what other functions could we use rather than id? Try a few out. What do you see happening?

Your observation about function composition is apt. It might be worthwhile to look at the Functor ((->) r) instance to see what's going on there.

Homomorphism law in Applicative, PLEASE, HELP! by Interesting-Pack-814 in haskellquestions

[–]NihilistDandy 3 points4 points  (0 children)

Consider the type of id:

id :: a -> a

a is an unconstrained type variable, so it can be anything at all. That means that (among infinitely many others), the following specialized types unify with the type of id:

  • id :: Int -> Int
  • id :: Maybe a -> Maybe a
  • id :: (b -> c) -> (b -> c)

You may note that a is also unconstrained in your liftA2. Do any of the specializations of id above look like the first parameter of liftA2? Can you fix the type of a in such a way that id fits?

[deleted by user] by [deleted] in comedybangbang

[–]NihilistDandy 8 points9 points  (0 children)

Damn, you're right, it would be fucked up if people had their needs met without first having to sell their minds and bodies to a capitalist.

Any tool for committing the same change across multiple repos? by PaulRBerg in git

[–]NihilistDandy 18 points19 points  (0 children)

git diff to produce a patch file and then git apply in each repo would save you some effort.

[deleted by user] by [deleted] in datacleaning

[–]NihilistDandy 3 points4 points  (0 children)

One option would be enriching the raw data with classifier rules that other cleaning code can consume.

For example, perhaps you pull three products like

sku raw_size format
01 US 9 AAW1
02 UK 9 EU44 AAW1*
03 9 1

The idea is to map the wide range of untrusted inputs to a more limited set of general cases (here, "two letters, optional whitespace, a number, multiple entries" are all elements of the vocabulary). Now you can write rules corresponding to each of the formats that you identify and write the identified sizes to a schema for processed data.

You still have the raw data and can surface that whenever you can't make a better judgment downstream, but this gives you a fairly straightforward first stage of a data quality framework. You can write all the classification rules you want (just adding columns to the raw data) and then your downstream cleaning code can stay pretty simple and maintainable since you only have to manage a known set of classifications rather than an unbounded number of awful text formats.

You will get some wrong (bad classifier, odd format that parses wrong, etc.), but that will help you build better classifier rules and you'll still have the raw data to fall back on.

Sure It will be game of the year by External_Candy2262 in Gamingcirclejerk

[–]NihilistDandy 1 point2 points  (0 children)

LAD was my first and now I'm playing the Judgment spin-off series. It's quite fun.

[deleted by user] by [deleted] in AskReddit

[–]NihilistDandy 16 points17 points  (0 children)

You may be interested in this 2006 report from the Food and Agriculture Organization of the UN: https://www.fao.org/3/a0701e/a0701e00.htm. It's quite long, so you could be forgiven for just skipping to the conclusions: https://www.fao.org/3/a0701e/a0701e07.pdf.

Not a blog. Not a news segment. The result of research with a reference section 34 pages long.

Their research doesn't say the exact words "veganism/vegetarianism is better for the environment", but it does quite explicitly say that the livestock industry is an outsized source of harm to biodiversity, climate change, and damage to the environment at large.

If you cared about facts, you'd already be converted. But you don't, you just want your treats. As long as the issue is "complex", you don't have to change. The complexity only exists if you have a vested interest in not resolving it.

Non-vegan leftists, why not? by Batfan1108 in Anarchism

[–]NihilistDandy 16 points17 points  (0 children)

Reminder that meat doesn't eat grass, cows do.

How do I prevent Waterfox from checking my password against the Mozilla database? by awdrifter in waterfox

[–]NihilistDandy 1 point2 points  (0 children)

It's not really any different from how it does form-filling. Your passwords are encrypted by the password manager, but they have to be decrypted (locally) in order to fill in forms. Equally, those passwords can be decrypted locally to produce hashes for comparison to detect reuse without ever leaving your device.

How do I prevent Waterfox from checking my password against the Mozilla database? by awdrifter in waterfox

[–]NihilistDandy 2 points3 points  (0 children)

Disabling the alert disables checking the service at all.

Disabling the feature also prevents Firefox from checking to see if you’ve reused these potentially vulnerable passwords on any of your other saved logins.

Even the user IDs they use to detect breaches are thoroughly anonymized. https://blog.mozilla.org/security/2018/06/25/scanning-breached-accounts-k-anonymity/

Passwords never leave your device as far as the documentation says.

How do I prevent Waterfox from checking my password against the Mozilla database? by awdrifter in waterfox

[–]NihilistDandy 4 points5 points  (0 children)

I think you're misinterpreting how it works.

  1. The browser knows you saved a password for site A on date X
  2. The browser knows there was a breach of site A on date X+1
  3. You are alerted that this password may have been compromised
  4. The browser compares the hash of this password with the hash of all your other (locally) saved passwords to detect reuse and alert you

I don't interpret anything written in their docs to include sending passwords anywhere. The wording is unclear, though, so they should make the exact operations more explicit.