« Back to blog

How to follow along with this blog

Posted September 1, 2026· 2 min read · difficulty: beginner
Tags: meta

A quick tour of the interactive terminals, runnable code cells, and hints you will find in every post.


Posts on this blog are interactive. You can copy commands, run code, and inspect the output without leaving the page. This post describes each component.

Terminal sessions

Terminal blocks show a session exactly as it happened. Click copy next to a command to grab it, or hit copy commands to grab every command at once and paste them into your own shell.

kali@attackbox: ~
whoami
kali
uname -a
Linux attackbox 6.8.0-kali1-amd64 #1 SMP x86_64 GNU/Linux
echo "follow along!" | base64
Zm9sbG93IGFsb25nIQo=

Output lines are colored by convention: [+] success, [-] failure, [!] warning, [*] info.

kali@attackbox: ~
./exploit.py --target 10.10.10.5
[*] Connecting to 10.10.10.5:8080
[*] Sending payload (412 bytes)
[!] Target responded slowly, retrying
[-] Attempt 1 failed
[+] Got shell!
id
uid=0(root) gid=0(root) groups=0(root)

Runnable code

Code cells are editable and run right in your browser. Change something and hit Run (or Ctrl + Enter). JavaScript runs in an isolated Web Worker, and any script that runs longer than a few seconds is terminated.

hello.jsjavascript

Python works too, powered by Pyodide (CPython compiled to WebAssembly). The first run downloads the runtime; later runs start immediately. Python cells on the same page share state, like a Jupyter notebook — define something in one cell, use it in the next.

cell_1.pypython
cell_2.pypython

Regular code blocks

Plain snippets get syntax highlighting, a filename, and a copy button:

import socket

def is_open(host: str, port: int, timeout: float = 1.0) -> bool:
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.settimeout(timeout)
        return s.connect_ex((host, port)) == 0

Callouts and hints

For CTF-style posts, hints and solutions stay hidden until you want them:

hint: what does a spoiler look like?

Like this. Hints and solutions stay folded up until you click them.

These are all the components used in the posts.


Next: Building jwt-autopsy and portscout »