On Physical Work, the Pen Plotter, Circuits, and Anticipating Batch Halfway Mark
Week 5, day 5 at Recurse F2’25
More Dynamic Programming
Did some more dynamic programming practice.
-
over the weekend: the rod cutting problem
-
dynamic programming is clicking a bit more, both in how beautiful it is, and how rare it seems it’d actually arise in real life
Physical Work
Been thinking a bit about: what is your ideal amount of physical movement during a day spent doing work?
-
for some folks, this may be close to 100% — athletes, dancers, kinesthetic thinkers
-
for others, it may be close to 0% — really hardcore thinkers, math types, idea turners
-
for me, I think it’s maybe 5-20%, but there’s no good outlet for it in my line of work. E.g., I don’t need to chop wood for part of the workday.
-
also for me, breaks (like taking a walk or exercising) are great for the overall mental health, but are cognitively separate. I know it’s a break, not part of work, so its satisfaction is lower.
-
I think physical work being necessary is part of why something like camping is so satisfying. You are doing all sorts of necessary physical work to survive: hiking, finding a spot, pitching the tent, organizing gear, cooking, cleaning, etc.
Pen Plotter
The old HP from the 80s.
I am low key obsessed. Playing with a physical device, while not exactly physical work, is such a great change of pace. I’ve enjoyed doing a kind of ‘hardware Fridays.’
Finally understood why it was crashing (buffer overflow), wrote small util (splitup.py) to split up too-long commands before sending to chunker to not overflow memory, and a small util (scale.py) to scale plots to page size.
These & all the experiments are available at:
https://github.com/mbforbes/pen-plotter
While the grid is kind of stupid, it’s actually really nice for previewing a backdrop before printing because it shows you the size of the page on an SVG, which can otherwise be hard to see.
I think it got 5% through this in like 10-15 minutes before my laptop went to sleep.
Data transforms
Witnessed a glimpse of industrializing a data pipeline, moving from pandas scripts on a massive CSV to ingesting data into a database (using “dbt”) and running SQL on it. My understanding is that this SQL can happen in-between database versions, so a larger source database can be filtered and transformed before writing into a smaller target one.
Rapid Riter
There’s a dot matrix display that I’ve been wanting to try out, but after looking at the docs a bit, decided I’d rather pair on it.
I saw there’s an institutionalized concept called an “RFP” — request for pairing. This is great. I would like to try it.
Volition & Career
-
Went to a workshop about writing and discussing where you’d like to be in the next 5 years.
-
Even though my course didn’t change, I think it was genuinely helpful to really write through all the reasoning behind why I’m doing what I’m doing. It was mentally clarifying and motivating to crystalize into words.
-
It was also valuable to hear what others were thinking, inspiring in ways I hadn’t thought of before! Making Recurse a part of life going forward is a cool idea.
-
Also, this made (unrelatedly) me really realize I need to start presenting more, and doing more 1-2 pairing projects.
Circuits
- Saw a hardware synth soldering project
- Got my mind absolutely blown by how small modern chips are
- Maybe re-learned-ish a few vocabulary terms, like IC (integrated circuit)
- These inputs/outputs are monster-sized, like terrifying metal spider legs, compared to the teensy weensy silicon printed within.
- Sine(-ish?) waves made by capacitors filling / draining
- Square waves made by transistors turning on/off.
- This already is analog (not digital) synth, as manipulating a wave.

This is what’s inside those black (plastic?) things on electronics boards! (this one may be shrunk since ~'70s). Source: Ken Shirriff’s blog: Silicon die teardown: a look inside an early 555 timer chip.
Next up
Next week will be week 6 of 12. How time flies! I’m so grateful I’m doing a full batch rather than a half, as I feel like it’s taken me nearly this long to figure out how to really Recurse.
On the top of my mind are:
- RFP
- sign up for a demo/presentation (regularly)
- be more involved in a group, like organizing the small RL agent game-playing tournament