Skip to main content
Notes by Austin Pocus

Dev Journals 2: The Journaling

Today wasn't as good as yesterday, but I did learn a few things, especially around the myriad ways to manage processes with Python.

There's a saying in the Yi Jing, the Book of Changes, in a translation I can't seem to find at the moment:

Too anxious, the fox gets his tail wet. Be like the man and not like the fox.

Today, I was like the fox. Today, I rushed ahead. To put it another way: I pulled a "Leroy Jenkins".

It started innocently enough. I was going to try and get a version of my code running, using the design I discussed yesterday.

However, I learned quickly that I didn't have the tools I needed. In vain, I pushed forward:

I tried to use the Connection class given by the multiprocessing.Pipe class, but that couldn't be passed into my process.

I tried to start the process a different way, but it was still blocking the parent process.

I tried to use the subprocess module along with a subprocess.PIPE parameter...

And that got me into Popen, which was a low-level API that warned me I was definitely in the weeds on this.

All of a sudden it was 7PM, and I was wondering, how did I get here?

I had meant to read documentation and start slow, learning which method would be most suitable for my needs. Instead, I dove in headfirst like I usually do.

You get the idea.

Tomorrow, I think I'll start by reading a book I bought the other day: Thinking, Fast and Slow by Daniel Kahneman. I've been told before that there are two systems of thinking, "1" and "2". I've been doing a lot of System 1 thinking when I should've been using System 2 here.

A more conscious approach in general would be useful. Often, even when I write English, let alone code, I rush in headfirst, go from end to end as quickly as I can.

I've written about this before: I go depth-first when I should go breadth-first, in a lot of situations.

I'll have to try this again tomorrow.