off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
2021-02-10T15:25:26.211800Z

I worked from 9:30 am till about 11:pm, got a LOT done for some new work that we had agreed, and it was hard stuff too. Then got up to an email from client that says after our meeting he spoke to his boss and "they understand the system much better" oh no... Turns out everything he had told me at meeting was nonsense and I need to redo it all again... FML

🤦 4
2021-02-10T15:27:44.212500Z

The annoying thing is, did he sit in our meeting and think "I'm bullshitting here... I better check what i said", and yep he was bullshitting

2021-02-10T17:24:18.213400Z

Oof, I hate it when games of telephone cause waves of miscommunication like that

2021-02-10T17:25:42.214700Z

Sounds like the boss needs to be in future meetings

caumond 2021-02-10T18:28:11.214800Z

Iteration is part of the job, transparency also... if he were not sure it should have said, but that's not the behavior of most people... in the other hand, sharing doubts are often not welcome when it come to the dev I work with

vemv 2021-02-10T19:10:55.217Z

Today this jvm fuzzer popped up in HN https://github.com/CodeIntelligenceTesting/jazzer I've never completely understood what a fuzzer does (is it like :clj: generative testing? or much lower-level with a different reach?). Would this be of any use for us clojurists?

2021-02-10T19:30:48.219100Z

generative testing (aka property based testing) generates random structured data for testing, in order to do that is uses some description of the structure (types, clojure.spec, etc) to figure out what to generate

2021-02-10T19:31:25.219600Z

fuzzers tend to be at the level of generating random patterns of data in memory

2021-02-10T19:33:45.221600Z

which might lead one to describe fuzzers as "low level", but a lot of fuzzers are very sophisticated, doing analysis of either completed program runs, or even instrumenting the program to watch it run, to determine what inputs are likely to hit bugs

2021-02-10T19:35:15.222100Z

afl is, to my mind, magic https://github.com/google/AFL#2-the-afl-fuzz-approach

👀 2
2021-02-10T19:37:56.224400Z

I am kind of curios about jazzer, just because fuzzing in my mind is very tied to making random arbitrary patterns of bytes in memory, and passing them to code that doesn't expect it, which is not something a managed runtime like the jvm which its runtime enforced typing typically lets you do

2021-02-10T20:20:31.226300Z

I don’t know specifically what jazzer does, but it’s possible to apply the same concept in a more structured way: function x takes an integer and a string, so run it with a bunch of random integers and random strings to see what happens

raicotop 2021-02-10T21:42:01.229300Z

For those of you doing web development in CLJ - is it single-page applications? Microservices at server side? Are microservices and SPAs a good fit?

seancorfield 2021-02-10T22:00:20.230700Z

We have a mixture of SPAs and SSRs. Our main customer-facing app is a React/JS front end with a Clojure REST-like API on the backend, but our Login and Billing apps are SSR (with Selmer/Compojure and Selmer/Bidi respectively).

seancorfield 2021-02-10T22:01:03.231300Z

That React app also talks GraphQL to a separate backend Clojure app (for real-time chat).

seancorfield 2021-02-10T22:01:50.231700Z

"Microservices" is a bit of a nebulous buzzword in my opinion.

2021-02-10T22:09:10.234200Z

yes, which is what property testing or generative testing libraries like test.check or quickcheck do.

genekim 2021-02-10T23:50:02.235300Z

Not exactly a fuzzing library, but one I was delighted to read about — a repo of “naughty strings” that have high likelihood of crashing programs. https://twitter.com/i/web/status/1090631220029882369

😁 1
genekim 2021-02-10T23:51:00.235500Z

by “delighted,” I mean, of course, “nervous laughter, thinking my code in all likelihood would crash, too.” 🙂

😄 1
2021-02-10T23:58:06.235700Z

Wait, is it safe to click that link in my browser? 🙂