-
The REPL: Issue 132 - August 2025
Stop concatenating URLs with strings — Use proper tools instead
I am glad someone wrote this. I point this out in code review all the time. Now I can send them this link.
If you are using
ActiveSupport
(e.g. On a Rails project), the query generation can be made easier with#to_query
:require "active_support/all" query_params = { format: "json", include: "profile" } URI.encode_www_form(query_params) # => "format=json&include=profile" query_params.to_query # => "format=json&include=profile"
I’m sold. Agentic coding is the future of web application development
Nate Berkopec is a smart guy, and he points out that agentic coding is a game changer. I feel it too. Once I started using Roo, it felt like there is no going back. I am still working out how to best work with it and improve it, learning how to prompt it and thinking about TDD. Overall, it has certainly been a boost, especially in architectural planning and coding; it’s been very effective.
Some folks make it seem like we won’t write any code anymore. I don’t think that is true. I find myself tweaking nearly all of the agent’s suggestions. However, it certainly feels like a big shift in how we code.
The New Skill in AI is Not Prompting, It’s Context Engineering
The article resonates with my usage of AI: To get good answers, you need to give good context to the LLM. Tell it what to do, what files are relevant, and what parts of the code you expect it to touch. Very importantly, tell it what not to do in the task.
-
Use AI Agents to Experiment
I’ve come across mentions of fish, the shell, many times in chats and articles over the years. I’ve always been curious because I spend a lot of my time in the terminal.
Trying a new shell with the defaults is typically not a great experience. I know that is one of
fish
’s selling points—that the defaults are better than in other shells. And I don’t doubt that. It’s just not relevant to me. I’ve been schlepping my dotfiles between computers for almost 10 years. I don’t use the defaultzsh
. In any case, as I’ve written before, I use a few shortcuts extensively to find files and commits. They are essential to my workflow.And so it has been that trying out a new shell seems like a lot of work: trying to learn first how to customize it to make myself somewhat productive, while I figure out if I really like it or not. It has always seemed like a large up-front investment.
Last weekend, I figured: What if I ask my AI agent to port my
zsh
configuration tofish
? It handled it without a problem. In a few minutes, I had a fish configuration that was so similar to myzsh
configuration that I was getting confused as to which shell I was in. I added a 🐟 to my prompt as a reminder.Of course, if everything was identical, then I am not really using
fish
. I then had a bit of a chat with the agent: With the context of what I typically do in the command line, my past experience, and what I’ve already customized. It gave me a few suggestions for what parts offish
I would get more mileage out of.The results were so good that I was able to work in
fish
the whole week, with only very minor issues. A few times I reverted tozsh
, but mostly to find a command in the history that I didn’t want to figure out from scratch1.I am still not convinced that I am going to be using
fish
going forward. The point is that using an AI agent lowered the cost of trying to usefish
so much that I am now able to experiment. What other things can AI help me experiment with?-
That is probably an indication that I should add an alias or script for that command ↩
-
-
The REPL: Issue 131 - July 2025
I’m sold. Agentic coding is the future of web application development
Nate Berkopec has been writing about agentic coding as a game changer. I’ve been experimenting myself and can absolutely relate to his attitude. I can also relate to folks that have tried and are still skeptical. In my experience – and it’s short like everyone else’s, because this is moving so fast – both the agent and the model make a huge difference. Just the other day, I was doing something on my personal computer with the same agent I’ve been using at work but a different model. The results were much worse. So much so that I wound up just doing the work without the agent’s help, even though I was very confident that the model available at work would have done correctly in seconds. And both models are the flagship of their respective companies. That is why I can see some people haven’t had the light-bulb moment, and some have.
Speeding Up My ZSH Shell
Scott Spence provides a guide on how to speed up your zsh prompt. My prompt is already very fast, having gone through some optimization a few months ago. If you haven’t done this lately, I recommended. Having a fast zsh startup and prompt is a quality-of-life improvement.
Stop concatenating URLs with strings
I am glad Szymon Fiedler wrote this! I point this out in code review all the time. Now I have an article to point to.
If you are using active support (like Rails does), the query generation can be made easier with
#to_query
:require "active_support/all" query_params = { format: "json", include: "profile" } URI.encode_www_form(query_params) # => "format=json&include=profile" query_params.to_query # => "format=json&include=profile"
-
Balance Vs Stability
Every so often I read about “work-life balance”. They are usually well-intentioned articles discussing how to avoid working too much and balancing time spent working vs time spent living. I’m always a bit troubled by the use of balance.
balance | ˈbaləns |
noun
1 an even distribution of weight enabling someone or something to remain upright and steady
2 a condition in which different elements are equal or in the correct proportions
3 an apparatus for weighing, especially one with a central pivot, beam, and a pair of scales
To me, balance evoques a scale, with a central pivot. The weights on either side have to be exactly right, or the scales tips to either side. Talking about work-life balance seems like finding just the right balance between how much time to spend at work and how much time to spend away from work (family, friends, etc). The implication of the scale is that if you don’t find the precise point, then you are either cheating work or cheating yourself.
Instead, I like to frame it in terms of stability.
stable 1 | ˈstāb(ə)l |
adjective
(of an object or structure) not likely to give way or overturn; firmly fixed
• (of a patient or a medical condition) not deteriorating in health after an injury or operation
• (of a person) sane and sensible; not easily upset or disturbed
• not likely to change or fail; firmly established
A stable structure can withstands some outside forces. Think of a building. It can withstand people moving around inside. Outside forces like wind and rain. Even the earth shaking beneath it. It remains stable and grounded. That is what work-life balance should be like: Sometimes work demands a bit of extra time, sometimes our personal life does. We should be striving to create structure in our lives, so that we can withstand some shifting forces and remain stable.
I’d rather talk about work-life stability, instead of work-life balance.
-
The REPL: Issue 130 - June 2025
My AI Skeptic Friends Are All Nuts
According to the author, AI skeptics are not making good arguments. AI is useful. Its not perfect, but that is not the point. It can help developers deliver value quicker.
And it’s not just Chat. Agentic AI is a game changer. I’ve been using it for a couple of weeks, and it’s already changing how I code. It’s not perfect. But still useful.
This. Is. Changing. So. Fast.
Thrive In Obscurity
The gist is that you should focus on what interests you, and write (or code about that). Be happy no because people follow you, but because what you are producing is interesting to you. Maybe the world will agree. More than likely it will not, but that should not be your goal.
I’ve managed to blog consistently since 2012. 13 years. I’ve amassed a lot of content. Nothing has gone viral. I don’t care. It has helped me become a better writer. Maybe find a job (but maybe not). It has helped me think, by making some ideas concrete and publishing them. Even if it’s only for the robots to crawl.