\

Whistler: Live eBPF Programming from the Common Lisp REPL

95 points - last Monday at 9:13 PM

Source
  • guenthert

    today at 10:04 AM

    While this is an interesting project, I found following grating:

    "Permissions without root

    You don’t need root. Grant capabilities to SBCL:

    sudo setcap cap_bpf,cap_perfmon+ep /usr/bin/sbcl

    Now sbcl --load my-bpf-program.lisp works as your regular user. Tracepoint format files need chmod a+r to allow non-root compilation with deftracepoint."

    That's obviously not ideal. Better might be to create a purpose-built image. Unlike perl, sbcl doesn't even pretend to care about security. Taint mode extension for sbcl, anybody?

      • phoe-krk

        today at 10:19 AM

        > Unlike perl, sbcl doesn't even pretend to care about security.

        Mind expanding? What particular stuff does Perl have in terms of security here?

    • runetech

      today at 9:19 AM

      Just recently discovered the author, Anthony Green. Floored and inspired by his productivity and scope of projects!

      I enjoyed reading up on his fiber implementation and dabbling with the Java compiler/runtime integration.

      https://atgreen.github.io/repl-yell/posts/sbcl-fibers/

      https://github.com/atgreen/openldk

      Kudos Anthony - you make the world a more interesting place ;-)

      • jasonjmcghee

        today at 3:43 AM

        This is very cool.

        I'm in danger of being nerd sniped.

        • today at 12:43 AM

          • fock

            today at 3:57 AM

            very cool and the person has the skills to do that. sad to see how the fully AI generated "why this matters" section in the blog gives a lingering vibe of slop.

              • sidkshatriya

                today at 7:28 AM

                > sad to see how the fully AI generated "why this matters" section in the blog gives a lingering vibe of slop.

                I am quoting this verbatim from offending section:

                Why this matters

                The traditional eBPF workflow is: write C for the BPF side, compile with clang, then write Go or Rust or Python for the userspace side. Two languages, separate build steps, multiple processes.

                With Whistler 1.0, the workflow is: write Lisp. The compiler, loader, and userspace application share a process. You can develop at the REPL β€” modify a probe, re-eval the form, see results immediately. The feedback loop is instant.

                Seems like a reasonable paragraph. I sincerely feel we must stop tainting things with the "slop" pejorative unless it really seems egregious. Also in 2026 is it easy to be so confident about what was generated by a human, edited by a human or generated by an LLM ?

                My main metric is: does the paragraph add value ? It does to me as a summary.

            • AbanoubRodolf

              today at 3:56 AM

              [dead]