dmesg --follow
[ 67100100.000 ] posts.x: Am I in the minority using Sol as my daily driver in Codex?  |   [ 67097280.000 ] posts.x: Full talk on why MCP's context problems are a harness issue, not a protocol issue, and what MCPC does about it:  |   [ 67097280.000 ] posts.x: A lot of the AI world spent the past year calling MCP dead, Anthropic included, with Theo, Gary Tan, and Peter Levels all piling on, even as MCP…  |   [ 67037100.000 ] posts.x: @TheZachMueller Nice one! That’s a warm room, just in time for winter.  |   [ 67035060.000 ] posts.x: Full talk on turning scattered engineering judgment, feature-flag agent included, into something a coding agent can actually use:  |   [ 67035060.000 ] posts.x: A team held a recurring meeting every two weeks for one purpose: deleting feature flags nobody needed anymore. @aorobator, a Senior Software Engineer…  |   [ 67034100.000 ] posts.x: Full talk on Greptile's AI-generated PR data, agent revert rates, and the three-question framework behind merging without human review:  |   [ 67034100.000 ] posts.x: A quarter of the pull requests Greptile reviews every month are now completely or largely AI generated, up from under 1% early last year. @greptile…  |   [ 67018080.000 ] posts.x: Full talk on rumors hardening into facts inside a multi-agent village, and the auto-research loop built to catch it:  |   [ 67018080.000 ] posts.x: A rumor that one agent "might leave" can harden into "is leaving" as it spreads through a multi-agent village, with nobody noticing the shift from…  |   [ 67010820.000 ] posts.x: Full talk on building the harness, from reward hacking to bare metal tuning, behind a 3x kernel speedup:  |   [ 67010820.000 ] posts.x: GPU kernels turn out to be an unusually good match for an agent loop: there's a clear benchmark, and a result that's either faster and correct or it…  |   [ 66968520.000 ] posts.x: Full talk on pitting Claude Code, Codex, and Kimi against a human speedrun record, and why none of them found a novel optimizer to win it:  |   [ 66968520.000 ] posts.x: Two coding agents went up against a community speedrun that human researchers spent two years grinding down, and neither one found a genuinely novel…  |  
corey@gallon.me:~/til$

Writing Racket (Scheme) in Jupyter Notebooks

FIGURE 1 ⋅ Writing Racket (Scheme) in Jupyter Notebooks

First, we’re going to install Jupyter. As we don’t want to contaminate our global Python installation, we’ll do this in a venv

python -m venv venv

Now, let’s activate that bad boy:

source ./venv/bin/activate

Assuming you have Racket installed (see previous TIL — NB do not install via the Snap store … use apt!), install the Racket kernel for Jupyter:

raco pkg install iracket

Should your system complain about not having libzmq5 installed:

sudo apt install libzmq5

Then, install the Racket kernel into Jupyter:

raco iracket install

Then, confirm that Jupyter sees the Racket kernel:

❯ jupyter kernelspec list
Available kernels:
  python3    /home/captivus/projects/sicp/venv/share/jupyter/kernels/python3
  racket     /home/captivus/.local/share/jupyter/kernels/racket

Now … we create a new Jupyter notebook in VSCode using the Command Palette:

Command Palette New Jupyter Notebook.png
FIGURE 2 ⋅ Command Palette New Jupyter Notebook.png

In the top right of the notebook, select the kernel (it won’t say Racket when you start):

Jupyter Notebook Select Kernel.png
FIGURE 3 ⋅ Jupyter Notebook Select Kernel.png

You’ll be presented with these options:

Jupyter Kernel Options.png
FIGURE 4 ⋅ Jupyter Kernel Options.png

Select “Jupyter Kernel”, then select “Racket”:

Jupyter Notebook Select Racket.png
FIGURE 5 ⋅ Jupyter Notebook Select Racket.png

… and you’re up!

corey@gallon.me:~$ tail -f /writing Attach to the stream. An email when I have something worth sending. Replies encouraged!
corey@gallon.me:~$ ls -lt /til ↑2024-10-06 Working through SICP in Jupyter Notebooks
▸2024-10-06 Writing Racket (Scheme) in Jupyter Notebooks ⋅ you are here
↓2024-10-06 raco: Racket's Package Management System (and More)