Task 1: Max Odd Binary
Task 2: Conflict Events
https://theweeklychallenge.org/blog/perl-weekly-challenge-367
Seeing the explanation of how the path coverage instrumentation that comes with #AFLplusplus works made me realize that it would actually be not just possible but even probably feasible to build something that's just "fully compatible" with what AFL expects to receive.
It's really just a large array of byte values, the address and size are supplied by AFL, where you increase a value at a position when a given edge has been traversed.
The number any given edge gets is just every relevant BB's number xor'd with the previously seen BB's number shifted by 1.
What number do you give a BB? Uniform random numbers seem to be good enough for a start!
An open question I have is that we do compile and then run some code at compile time when compiling #rakulang code, so ideally the "same" input code (for a suitable definition of same) would get the same numbers for all BBs so that only consequential changes in behavior are considered interesting by the fuzzer ...
Dipped my toes in #AFLplusplus over the weekend was a kinda nice distraction / pastime.
Got #moarvm (language runtime for #rakulang) its first fuzzing target that exercises the streaming decoder system which is what you would use when reading strings (rather than bytes) with some encoding from a streaming source like the output of a process you're running.
Was a big help to actually put rules in the Makefile to generate the different variants (one with cmplog, one with asan, one with lcov, one with just afl instrumentation) of all the .o files, but I'm not so happy with the rules I came up with.
And to add to the pain, of course there's always nmake which I don't feel like figuring out what exactly I have to do to replace the usage of addsuffix I have ...
https://github.com/MoarVM/MoarVM/pull/1996
If you want to chime in with ideas for what would be good to do with fuzzing in this context, send a comment or toot!
Giving MoarVM its own instrumentation for moarvm bytecode for path coverage would be cool for the future!
Last week, the 28th edition of the German Perl/Raku Workshop took place in Berlin. It was great to see some familiar faces (as well as some new ones!) to discuss computing, our favourite Swiss army chainsaw, and much more.
This report contains rough notes of the talks that I attended.
https://peateasea.de/german-perl-raku-workshop-2026-a-report/
2026.12 Ich bin ein Berliner
The slides for my talk "Getting FIT with Perl" at last week's German Perl/Raku Workshop in Berlin are now available online: