Fork me on GitHub
#off-topic
<
2021-02-10
>
Stuart15:02:26

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

facepalm 13
Stuart15:02:44

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

caumond18:02:11

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

scriptor17:02:18

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

scriptor17:02:42

Sounds like the boss needs to be in future meetings

vemv19:02:55

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?

hiredman19:02:48

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

hiredman19:02:25

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

hiredman19:02:45

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

hiredman19:02:56

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

paul.legato20:02:31

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

hiredman22:02:10

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

raicotop21:02:01

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?

seancorfield22:02:20

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).

seancorfield22:02:03

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

seancorfield22:02:50

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

genekim23:02:02

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

😁 4
genekim23:02:00

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

😄 4
andy.fingerhut23:02:06

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