Fork me on GitHub
#clojure-uk
<
2016-10-10
>
thomas08:10:14

@agile_geek I assume this means that you have something lined up?

agile_geek08:10:45

@thomas It does. Start a new contract today. I'll talk about it once everything signed up and I'm settled in.

otfrom08:10:57

agile_geek happy hunting

thomas14:10:34

@mccraigmccraig would clj(s).spec have caught it?

mccraigmccraig14:10:59

@thomas i don't think it would - the error was internal to a function - the input was valid and the output was valid, but there was a bad assumption about the form of the input inside the function

dominicm14:10:41

@mccraigmccraig How do you mean "about the form"?

mccraigmccraig15:10:01

@dominicm "about the shape" would maybe have been a better phrase

dominicm15:10:44

@mccraigmccraig That seems to me that "input was valid" is not a true statement then. What the function expected, and what was valid (to who?) was different.

dominicm15:10:53

Maybe I'm completely lost though 😛

mccraigmccraig15:10:24

@dominicm the input was valid, but the body of the function failed to deal with the full variety of possible inputs

dominicm15:10:49

Ah, now I understand

thomas15:10:35

how did you discover the error @mccraigmccraig ? just thinking out loud here is that .spec could have generated that particular input.

mccraigmccraig15:10:56

@thomas i discovered it because it caused a model inconsistency - better tests in the area would certainly have discovered it, but the set of required tests for complete coverage is a lot harder to construct than it would have been for a type-checker to notice the missing branch

thomas15:10:24

fair enough

otfrom16:10:54

We're hiring for clojure and devops at Mastodon C http://www.mastodonc.com/hiring/2016/10/02/senior-devops.html

mccraigmccraig16:10:48

your architecture buzzwords look very like mine @otfrom

otfrom16:10:51

mccraigmccraig they always have. I'm not sure if that is b/c we have a hive mind or if I'm a fanboi

minimal16:10:49

must be proficient in generating infinite streams of run time type errors

otfrom16:10:52

or doing stuff with clojure.spec. 😉

otfrom16:10:58

both work fine for me

mccraigmccraig16:10:36

@minimal in constant memory plz