Resting, Learning, and a Few AI Rules
Rest is crucial, but learning doesn't have to stop with downtime
By Jed May ·
I’ve been sick this week and haven’t touched many side projects. Most evenings I’ve just been trying to recover while keeping the day job afloat, but that’s part of the rhythm too. Rest is necessary. While I’ve been slowed down, I’ve thought more about the small set of rules I follow when I work with AI. These are the things that keep me from getting lost or sloppy.
Restart When Things Slow Down
Once a chat gets too long, it bogs down. Every single message you send includes the entire conversation history in the background, and that weight eventually makes everything crawl. My fix is to stop fighting it. I’ll ask AI to summarize the conversation and hand me a clean jumping-off point. A prompt I often use looks like this:
"Summarize this chat so I can start a new one. Include where we left off, what the current task is, and any important context I’ll need to continue."
That gives me a fresh thread that loads faster and keeps all the momentum without the lag. Everyone puts a huge emphasis on prompt engineering with proper prompting. I haven’t found a huge need for that, but it is crucial to get as much detail as possible in the prompts. In this way, you use fewer tokens, get responses back quicker and more complete. That said, it’s not the end of the world if you just talk to this thing - it does a pretty decent job of understanding.
Never Commit Code You Don’t Understand
AI will generate some amazing code in seconds. It’s tempting to drop it in and move on, but don’t. Every time I get a code block, I walk through each line and make sure I know what’s happening. If something’s fuzzy, I’ll test it out in isolation or ask AI to explain it. Running code to see if it “works” is fine; in fact, it might be quicker than reading line-by-line to make sure it gives you the desired output. That said, you need to understand and make sure you’re not running a nefarious script that can brick your computer. A quick glance can help before running it to see the outcome, but I never commit code unless I can explain it back to someone that’s never seen it. That habit saves me from debugging nightmares later.
Ask Questions, Even Dumb Ones
Sometimes AI spits out an answer that sounds good but doesn’t click. When that happens, I just keep drilling in. “Why this instead of that?” “What happens if I change X?” “Show me a smaller version of this code.” If I still don’t get it, I open a browser and start Googling. There’s no shame in needing multiple passes. In fact, asking until it makes sense is how I know I’m actually learning instead of just copying. I use AI for just about all of my knowledge searches now, but again, I verify. It’s not always correct.
Codify Your Standards
AI can be surprisingly good at remembering your style within a chat, but it’s fragile. A reset and it’s gone. To fix that, I keep a simple text file with my coding preferences written down: spaces or tabs, naming conventions, how I want XML comments formatted, etc. It’s just the little quirks I’ve settled on. If I need to generate boilerplate, I paste that file into the conversation as context. AI will conform instantly, and I don’t have to keep correcting it on the basics. If you’ve been using AI and told it to correct the code multiple times, you can likely do something like, “Generate a coding standards .txt file that fit what I’ve asked you to do repeatedly so I can paste this in later.” You can copy/paste or just copy the file itself, usually.
Start Projects Early
Even when I don’t feel ready, I’ll spin up a project, repo, or quick script just to anchor what I’m working on. It doesn’t have to be pretty. Having something concrete makes the back-and-forth with AI more productive because the context is real, not theoretical. Attachments can help, but they’re not required. The important part is having something tangible to push against. Once that exists, AI becomes a collaborator instead of a lecturer.
AI is a tremendous sounding board for ideas, if it’s not too overly bubbly. It can be on your side with some terrible ideas. I don’t ask for opinions; I have it walk me through concepts. For instance, I toyed with the idea of recreating twitter in Rust. I gave it prompts like, “I want to recreate twitter in Rust. What’s the biggest issue users have with Twitter? Or the biggest feature that’s requested?” It came back with editing tweets. “Okay, why is that so difficult?” It came back with some logical arguments, and I began storyboarding some thoughts. In this way, AI really shines for me. I love scaffolding with this thing. It identifies pitfalls, provided you ask it to.
Leverage Voice Conversations for Practice
One of the most underrated features is voice. I use it a lot for practice runs — especially interviewing. But the real magic is in teaching mode. I’ll paste in code I’ve written and tell AI:
"I want you to be extremely critical. You are a student I’m teaching some semi-advanced coding concepts to. Here’s the code <pasted in>. I’m going to explain this code, my thoughts behind it, how it works, and why I made certain design choices. You are going to act as a year 1 student. If I get too confusing, you need to stop me and ask clarifying questions. At the end, I’ll ask for feedback, and you’ll explain where I spent too much time, not enough time, or could have improved."
This exercise forces me to explain my thinking out loud, which is the best test of whether I really understand something. It’s uncomfortable sometimes, but that’s the point.
This technique is fantastic for prepping for running meetings, negotiations for promotions, any practice conversation you have in your head. Again, make sure you’re prompting this thing to be critical; you’re not looking for buddies at this point, you’re looking for some real feedback.
That’s what I’ve been leaning on this week. Nothing flashy, just the basics: rest when you need to, and keep sharpening the way you work with AI. Even small practices like these compound over time.