logo
  • Published on
    Adding SQL, HTML, JavaScript, Python, C and C++ runners to a static blog: choosing where each language runs, Web Workers, a sandboxed iframe, Pyodide, the Compiler Explorer API, CodeMirror, a CSS-only dropdown, time limits and output floods
  • Published on
    A visualizer that really runs C and Python sort code on random input and animates the run as bars: the step trace format, random input passed on stdin, building and checking frames, playback controls, lazy loading
  • Published on
    Hooking up giscus, which stores comments in GitHub Discussions: turning on Discussions, giscus app permissions, getting repo and category IDs over GraphQL, NEXT_PUBLIC env vars and redeploying, choosing the comment category, auto-loading with a lazy iframe, pathname mapping