Personal Computing
How AI and Replit enabled my leap into productive, personal computing, and how I learned to stop worrying and love interactive programming environments
I’ve had above-average facility with computers for a while—but that’s more an indictment of the average than praise for my own ability.
One thing that’s held me back is my inability to code.
But that all changed in the past year, when I went from creating no finished products, to creating several every month that wildly increase my productivity.
This is a short explanation of what caused that transition.
So you couldn’t code, huh?
“Can’t code” is a little strong. I understood many of the fundamental concepts in computer science. I’d finished the online version of CS50. I’d worked through books like Automate the Boring Stuff with Python. I’d completed (with some elision) Replit’s 100 Days of Code.
But I still didn’t feel like coding had caught on internally. I didn’t have any projects I really wanted to pursue, and I wasn’t spending my free time working on coding projects the way I wanted to work on other passions.
I had a lot of coding knowledge, but it hadn’t been productively integrated by the forge of practical reality: I hadn’t shipped anything besides exercises selected for me by others, and I hadn’t built anything someone wanted (including myself). I was thoroughly untethered from a positive feedback loop.
I know a lot of people who get caught in this stage, and they allow whatever knowledge they’d accumulated to wither. But that didn’t happen to me thanks to advances in AI tools, particularly chatGPT, and Replit’s interactive programming environment.
How did chatGPT and Replit make you a coder?
They reduced so much friction around coding—it became an easy use of my time to create productivity increasing tools for myself.
chatGPT helps me write my programs (which are almost always 100 lines or less) quickly, and Replit gives me a way to use that program instantly to get the results I want.
But how do you know if chatGPT is giving you good code?
I only really know how to code functionally in Python—and that’s all I ask chatGPT to do. I type the sequence of instructions for my programs into chatGPT (which I’d otherwise do manually in an IDE by writing all the different parts of the program as comments, and then filling them in), read through the output to see if it looks good, make adjustments if needed, and then deploy the program in Replit. If I get an error, I get chatGPT to help me find the bug if I don’t see it myself.
What’s an example of something you code like this?
I’m currently working on a research project for Maximum New York that involves analyzing all 174 enacted local laws in New York City from 2023.
I wanted a program that would:
search through the text of all of these laws for any word or phrase I specified,
create a table that showed all the laws that had my search term, and how many instances of the search term,
save that table as a .txt file,
and name each file after its search term.
So I worked with chatGPT to get a ~70-line Python program, pasted it into Replit, and ran it. (I already had a folder with all 174 laws in appropriately named PDFs, which I downloaded with the help of another quick program I made, so I didn’t need to scrape anything from the internet.)
Here’s what the setup looks like when I run the program. Note the console on the right waiting for my search term:
Once I enter my search term, the console prints the program’s search progress:
And when it’s done, it prints the results as a table in the console. It also saves that table as a .txt file in a separate folder:
This is useful?
Yes! Probably not for you, but it definitely saves me a lot of time. I also think it’s fun to search through the docs just to explore.
Your code is terrible, saving results as txt is terrible, you don’t use a real IDE, and you should feel bad.
Listen, I need this program to do very specific things in a way that integrates with my legal research workflow, and nothing more.
I need ~zero friction at my current level of ability.
I don’t need to do anything else with my results other than take a quick look at them with my eyes.
I don’t need a fully decked out IDE (I am a small coder).
If I needed more than these things, I would build that functionality (using more advanced tools if needed). And I imagine I will do that soon, but that’s another stage of development.
Computing is personal again (for me)
I don’t code programs to ship them to anyone but me, at least for now.
But I’m happy to be at this stage—it is my zero-to-one for coding. I regularly create functional programs that help me, and I’m learning more each time I do it. It’s where I’ve always wanted to be, all because modern tools reduced friction in the right places (quickly coding when I need it, deploying a program).
I’d love to hear how you finally got going with coding, or if you’re still having the same trouble I was up until a year ago. Drop a comment, or send me an email!
Hey Daniel! Yeah hmmmm, programming for me has been an interesting journey. I've come to realize that LLMs are quickly providing a good way to evaluate your code (with some exceptions) and generate vast amounts of lower quality code.
Am curious to try Replit out and shoot me the script you used to grab the laws from online! Am curious to check it out