Radan

@radan.dev

Software developer, RubyZG organizer, Author of http://masterhotwire.com, Runner, Dog Owner, Father (in increasing order of importance). Website: https://radan.dev/

For any given piece of agent generated code you can decide to read it or not. Either can be good. The most important part is that you are deliberate about it and can explain it. Btw, "This part is not important" on one end and "I just want to read it" on the either can be enough.

I care about code quality, which still maters (agents also work better with good code), but it's no longer as economical for me to craft it by hand. So I end up thinking more about how to precisely explain it rather than rely on intuition. Which is both harder and more rewarding. So that's nice.

Broadcasting Turbo refresh adds an extra round trip and a debounce delay. Broadcasting the content directly fixes that, but introduces a race condition. Here's how to keep fast, immediate updates without race conditions: radan.dev/articles/tur...

When broadcasting a Turbo refresh is not enough: faster UX with versioned immediate updates

The simplest way to make a page collaborative with Hotwire and Rails is to subscribe to changes and broadcast a refresh when relevant models update.

radan.dev

Social media rewards being sure: sure that this is the absolute best way to do the thing, that not doing this or that "will leave you behind", as if it was a fact. Can that ever be true? I'm not so sure.

I am exasperated with people accusing programmers of "gatekeeping" programming. We were practically dragging people through the gate. Do you know why a mindless LLM can tell you so much great programming information? It's because we've been sharing that information for free online for decades.

2 weeks ago, I attended RubyConf Austria in Vienna. A first day AI panel left me wondering: if programming languages are becoming irrelevant, will Ruby conferences still matter? Then, the next day, I noticed what to me looked like clues pointing to an answer. radan.dev/news/ruby-co...

RubyConf Austria and the future of Ruby conferences

To get from Zagreb, where I live, to Vienna, where RubyConf Austria was happening: drive 173km to Graz, take a right and go for another 198km. Sure, I’ve glossed over two country borders and some…

radan.dev

I got an LLM to search for 20 articles on a topic, and, given requirements, select 5 for me to read. It picked good articles, gave me concise summarise and presented them in a numbered list: 1., 2., 3., 5. Yes, that's right, there's no number 4. 😁

Today, the agent was not succeeding in debugging so I used the debuggers to figure it out the ancient way. It's entirely possible that I could have used the AI differently to solve it slightly faster. But man, did it feel good to be deeply focused on a single thing. So good.

I was always a fan of trying out solutions. For really critical projects I'd give two of my team members different approaches to implement, so we can compare. I love that AI makes it also feasible to do for non-critical work: let it implement, learn from it, discard it.

The 10x developer was never really about speed of coding. It was about asking the right questions to know that what is asked is the wrong thing to build. And framing the problem in a way that reveals a much simpler solution. The speed of implementation was just a tiny part.

When the world accelerates, invest more in understanding the fundamentals. Nobody knows what technological progress will bring tomorrow but we know it will sit on top of the foundation of fundamentals.

When a coding agent makes a plan I make a judgement call: Is this the kind of change where it is easier to review the plan or the final product? Complex output: review plan. Simple output: just approve and wait to review the results. The plan creation is still useful for the agent.

There's a strong split showing up everywhere in AI usage: if you can setup a reliable and deterministic verification loop, agents can solve the task successfully, in no time. Without it, especially if nuanced judgement is needed, they can produce convincing garbage in no time.

Adam Kucharski@adamjkucharski.bsky.social · 3mo ago

"Based on the dataset you shared, US and UK responses differ mainly in tone, intensity, and wording style, even though they express similar emotional states" New post on what happened when I got Copilot to do some data analysis: kucharski.substack.com/p/real-signa...

It is oh so tempting to multitask with more and more agents. Do you think you can out-multitask AI? More likely than not your real edge is in deep understanding that comes from undivided attention. Be careful how much depth you sacrifice by just trying to run more agents.

Make things better than others expect them to be. If nothing else, because you take pride in your craft.

Both the agent and I missed a UI race condition bug. It was going well: I forced the agent into strict TDD with 100% line and branch coverage. This worked well for regular bugs but you can't test for race conditions. The twist: it was the same one as on a previous project. I caught it there...

One thing at a time Multi-tasking is mostly an illusion. What we're actually doing is slicing our focus, jumping from one thing to another and then back again. All that jumping decreases our productivity and worse, erodes our peace of mind. You're only doing one thing at a time anyway. Might as…

One thing at a time

Multi-tasking is mostly an illusion. What we're actually doing is slicing our focus, jumping from one thing to another and then back again. All that jumping decreases our productivity and worse, erodes our peace of mind. You're only doing one thing at a time anyway. Might as well embrace that instead of spending so much time shifting gears.

seths.blog

Simple code that clearly models the domain still matters: it is easier for agents to work with, easier to understand and makes bugs shallower. The values of frameworks like Rails and Hotwire are multiplied, not diminished.

A no comments lesson: Tests suddenly fail -> AI: I'll debug! -> AI: Assets not loading!! -> AI: writes 300 lines of custom asset loading logic -> AI: all green!!! -> Me: suspicious -> Me: Debug myself -> Me: Delete AI code and define literally one ENV var -> Tests are green. True story.

After the success of vibe coding, I think the next obvious frontier is vibe writing: articles that the author prompts and never actually reads, and neither does anyone else.

Yesterday I did 69km of Istria, longest distance I ever did. Exhausting: yes, but the landscape is amazing. If you’re looking for a place for some trail running, you won’t go wrong with Istria. Few more photos in comment.

Lake ButonigaDamn on lake ButonigaMe next to lake, proving I was thereView od lake Butoniga from the climb towards Motovun