tag:notes.ghinda.com,2005:/feed Short Notes Short posts mostly about Ruby and Ruby on Rails. You can find me at : Linkedin, Mastodon, Twitter, Bluesky or for longer posts at allaboutcoding.ghinda.com. Check goodenoughtesting.com if you want to learn to write fewer tests and cover more features.  2026-03-03T10:20:05Z https://scribbles.page/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaVdQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ca93999e8b5ea17bfdb69f0666c337d22f1ccebb/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RTNKbGMybDZaVjkwYjE5bWFXeHNXd2RwQWl3QmFRSXNBVG9LYzJGMlpYSjdCem9LYzNSeWFYQlVPZ3h4ZFdGc2FYUjVhV1E9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5470907b5b5a357fec32990d4bdb78c827f9472/lucian-ghinda-talks-2%20copy.png https://scribbles.page/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaVdQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ca93999e8b5ea17bfdb69f0666c337d22f1ccebb/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RTNKbGMybDZaVjkwYjE5bWFXeHNXd2RwUldsRk9ncHpZWFpsY25zSE9ncHpkSEpwY0ZRNkRIRjFZV3hwZEhscFpBPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--d0a377349dc1eed29878fcae6bec2204e230fc00/lucian-ghinda-talks-2%20copy.png Short Notes https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/15435 2026-03-03T10:20:05Z 2026-03-03T10:20:05Z Obsidian + QMD <p>Now that Obsidian has headless support (see <a href="proxy.php?url=https%3A%2F%2Fhelp.obsidian.md%2Fsync%2Fheadless">https://help.obsidian.md/sync/headless</a>, you know what works really well with it?</p> <p><a href="proxy.php?url=https%3A%2F%2Fgithub.com%2Ftobi%2Fqmd">https://github.com/tobi/qmd</a></p> <p>It’s a much better search than what Obsidian provides, and you can integrate it with any LLM. Check the repo’s “skills” section.</p> <p>This is a good article (and I am so sad it is an article written on X instead of a blog) <a href="proxy.php?url=https%3A%2F%2Fx.com%2FArtemXTech%2Fstatus%2F2028330693659332615">https://x.com/ArtemXTech/status/2028330693659332615</a></p> Now that Obsidian has headless support (see https://help.obsidian.md/sync/headless, you know what works really well with it? https://github.com/tobi/qmd It’s a much better search than what Obsidian provides, and you can integrate it with any LLM. Check the repo’s “skills” section. This is a good article (and I am so sad it... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/15383 2026-02-27T14:59:16Z 2026-02-27T14:59:16Z Enable opusplan mode for Claude Code <p>What is <code>opusplan</code> mode?</p> <p>Anthropic documentation says:</p> <blockquote>Special mode that uses opus during plan mode, then switches to sonnet for execution</blockquote> <p>Here is how to enable it:</p> <ol> <li>Inside Claude Code session run <code>/mode opusplan</code> </li> <li>In settings write: <code>"model": "opusplan"</code> </li> </ol> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Instructions for enabling opusplan mode in Claude Code through settings edit or TUI command, highlighting its planning and execution phases." src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBNVNBQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--68665115a0e4c8776850304c6bac6f081709936d%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2F2.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Instructions to enable opusplan mode to Claude Code </figcaption> </figure> What is opusplan mode? Anthropic documentation says: “Special mode that uses opus during plan mode, then switches to sonnet for execution” Here is how to enable it: 1. Inside Claude Code session run /mode opusplan 2. In settings write: "model": "opusplan" Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/15208 2026-02-10T11:17:54Z 2026-02-10T11:17:54Z Claude Code settings: default to plan mode and plans directory <p>If you are usually first go to plan mode in Claude Code then you can set this mode as default in two ways:</p> <ol><li>You can run <code>/config</code> in your Claude Code session and then change the <code>Default permission mode</code> setting to <code>Plan</code> </li></ol> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBN1I5QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--7f9cd9550aebc6ca7b575fa318dc7ca2a2e9c8ad%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> </figure> <ol><li>Or you can edit your project settings or global settings at <code>~/.claude/settings.json</code> to set this:</li></ol> <pre data-language="json">{<br> "permissions": {<br> "defaultMode": "plan"<br> }<br>}</pre> <p>One more trick if you are in Claude Code settings is that you can change your plans directory to something that you might consider backup or even give it to a tool like <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2Ftobi%2Fqmd"><code>qmd</code></a></p> <pre data-language="json">{<br> "plansDirectory": "~/Projects/AI-plans"<br>}</pre> If you are usually first go to plan mode in Claude Code then you can set this mode as default in two ways: 1. You can run /config in your Claude Code session and then change the Default permission mode setting to Plan 1. Or you can edit your project... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/15081 2026-01-31T14:32:00Z 2026-01-31T14:32:00Z Few personal notes from the "How AI Impacts Skill Formation" from Anthropic <p>Anthropic published a study called <a href="proxy.php?url=https%3A%2F%2Farxiv.org%2Fhtml%2F2601.20245v1%23S6.F12">"How AI Impacts Skill Formation"</a> exploring how AI assistance affects both productivity and learning when developers work with new concepts. They also published an article exploring some results from the study: <a href="proxy.php?url=https%3A%2F%2Fwww.anthropic.com%2Fresearch%2FAI-assistance-coding-skills">"How AI assistance impacts the formation of coding skills"</a></p> <p>Here are some notes about things I found interesting:</p> <p><strong>Study Design</strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="from the study: Balance table of main study participants" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL0o3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--a423acf104b05d39aff3cf727c09f84dea37d02f%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> from the study: Balance table of main study participants </figcaption> </figure> <p>The researchers recruited 52 software engineers who were familiar with Python and had experience using AI coding assistance tools. The task involved learning Python asyncio, a library most participants hadn't used before.</p> <p>One interesting detail: the article describes participants as "mostly junior" engineers, but when you look at the data, 55.8% have 7+ years of coding experience and 36.5% have 4-6 years. This matters because the findings apply more to experienced developers learning new concepts than to absolute beginners.</p> <p>ChatGPT agrees with me: </p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Response from ChatGPT when prompted to analyse the experience level of the participants in the study" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL043QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--50311c3a0bad723099016c3fd9e957cc404c9c86%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Response from ChatGPT when prompted to analyse the experience level of the participants in the study </figcaption> </figure> <p><strong>The Core Finding: AI Doesn't Automatically Help Learning</strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL1o3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--cdb6422224c3e3ce6791a5b7d7d0c3de28e46e34%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> </figure> <p>Developers who completed tasks without AI assistance scored higher on comprehension tests. Using AI to generate code doesn't automatically translate to understanding that code. This pattern held true across all experience levels.</p> <p>This matches my experience. When I use AI to generate code, unless I make an intentional effort, I forget about that code very quickly. I need to actively review the code, build a mental model, and trace through the logic. Without that effort, I'm just watching the AI do something and forget about it in a couple of hours.</p> <p><strong>Interesting Finding from the Pilot Study<br></strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Pilot Studies from the Anthropic Paper" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL1I3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--8bceee67c024601b4ae5e2ba0e533693d0f73bfa%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Pilot Studies from the Anthropic Paper </figcaption> </figure> <p>During their pilot studies, the researchers discovered something telling about how integrated AI has become in developer workflows. Even when explicitly told not to use AI, 25-35% of participants still did.</p> <p>This shows we reach for AI tools almost instinctively now. It's become a default part of how many developers approach problems for a significant part of the developers maybe.</p> <p><strong>What Actually Works: Two Practical Approaches</strong></p> <p>The study identified two approaches that worked well for both task completion and comprehension:</p> <p>Approach 1: Generation-Then-Comprehension: Generate code with AI, then ask follow-up questions to understand what it did.</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL2Q3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--7db5c1b3dfebf5d6676dc20703a9257cd62c765c%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> </figure> <p>This group showed strong understanding in their quiz results. The key was not just generating the code but actively engaging with it through questions. They used AI as a learning tool, not just a code generator.</p> <p>Approach 2: Hybrid Code-Explanation: Ask AI to generate code AND provide explanations in the same response.</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL2g3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--9419a36e89d861676efdc1202ecc564105584757%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> </figure> <p>These participants spent more time reading, but developed better understanding. The explanation forced them to engage with the concepts rather than just copying the solution. The slower pace actually contributed to better learning outcomes.</p> <p><strong>The Role of Debugging in Skill Formation</strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL2w3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--4fecb40217c0ac31db7ce58e41b945606ee0b132%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> </figure> <p>Encountering errors and debugging them plays a crucial role in skill formation. The control group (no AI) hit errors, had to understand why they happened, and learned through fixing them.</p> <p>I think so far this process can't be fast-tracked. Debugging and incidents are essential parts of becoming a better developer. These experiences build the mental models you need to work effectively with code.</p> <p>AI can help you explore codebases and libraries during debugging, but it shouldn't replace the process of understanding why something broke. In my experience, throwing a zero-shot prompt at AI about an error is still a dice roll. Sometimes it works, sometimes it doesn't.</p> <p>Few-shot prompting with specific context, possible root causes, and hints about the codebase helps. But you need to understand the problem first to provide that context.</p> <p><strong>Implications for Engineering Leaders</strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL3A3QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--a4ed181238d5af8f85f227eb6c603c27346d1edd%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> </figure> <p>If your developers rely heavily on AI for code generation, you need processes that ensure they understand what's being generated.</p> <p>During incidents or debugging sessions under pressure, developers need the skills to validate and debug code quickly. If they've been primarily copying AI-generated code without understanding it, they won't have built those mental models.</p> <p>This means thinking about:<br>- How do we ensure learning happens alongside productivity gains?<br>- What code review processes help developers understand AI-generated code?<br>- How do we create space for debugging and error-handling practice?<br>- What onboarding approaches help new developers build foundational skills?</p> Anthropic published a study called "How AI Impacts Skill Formation" exploring how AI assistance affects both productivity and learning when developers work with new concepts. They also published an article exploring some results from the study: "How AI assistance impacts the formation of coding skills" Here are some notes about... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/15076 2026-01-30T10:59:49Z 2026-01-30T10:59:49Z Ruby Content and AI in the newsletter <p>Every week I curate what the Ruby community shares online and publish it in <a href="proxy.php?url=https%3A%2F%2Fnewsletter.shortruby.com">Short Ruby Newsletter</a>. </p> <p>In the last few months, I noticed a pattern that looks a lot like what happened with TDD in the early days. The Ruby community is experimenting again. Or at least this is how it feels to me.<br>As a curator, I spend time every week looking at what the Ruby community shares and talks about.  Let me share here few points I see: </p> <ul> <li>Ruby code samples shared on social media are trending down. Posts about using AI and LLMs with Ruby are trending up.</li> <li>Article about Ruby and Ruby content seems not to be so much affected by this. There is an increase in articles about using AI and Ruby but there are still good technical articles published. </li> <li>A vocal part of the Ruby community is embracing AI and LLM tooling.</li> <li>In general, the approach I see is not hyped-based, but there are many experiments on code quality and on how to use AI/LLMs to create better, faster products.</li> <li>I am happy that the Ruby community is running with this. New gems are being published. New skills are being shared. This brings me back to the early days of the Ruby community when we experimented a lot with web frameworks and pushed the boundaries of what could be done.</li> </ul> <p>Another example that I think shaped our ways of working and producing software was TDD. It is maybe too early to tell if we are in the early days of a Cambrian explosion of using AI/LLMs in daily coding life, but could we be there as we were with TDD? Look around at testing frameworks in other languages and see the impact RSpec had on them.</p> <p>So the newsletter is reflecting this reality of our community and I try as a curator to make sure that I include what the community talks about every week. </p> <p>The scope of the newsletter remains the same: primarily focused on code samples, news, gem releases, articles, and videos. AI and LLM content is there as it should be, showing where community interest lies. </p> Every week I curate what the Ruby community shares online and publish it in Short Ruby Newsletter.  In the last few months, I noticed a pattern that looks a lot like what happened with TDD in the early days. The Ruby community is experimenting again. Or at least this is... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/15014 2026-01-21T18:27:09Z 2026-01-21T18:27:09Z If you're writing API documentation, always specify units for duration parameters. <p>If you're writing API documentation, always specify units for duration parameters.</p> <p>Not just "timeout: 30" but "timeout: 30 seconds" or better yet name the parameter if you can "timeout_in_seconds"</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt='Dark UI panel comparing ambiguous "timeout: 30" with clear "timeout: 30 seconds" and preferred "timeout_in_seconds: 30", labeled Ambiguous vs Clear.' src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBN2Q1QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--e999cbf8435c39d16e3ed4f49c306cc07e95c6c9%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2FXnapper-2026-01-21-20.20.30.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Example of good vs bad naming/description </figcaption> </figure> <p>This is even more important inside your own codebase. Make sure that variables have proper names or descriptions or comments that specify the unit of measurements moreso in case you are working with durations. </p> <p>It matters for both developers and LLMs. </p> <p>When the unit is ambiguous, the LLM guesses. Sometimes it guesses wrong. Then developers debug code they didn't write, hunting for a bug that shouldn't exist.</p> <p>Clear documentation prevents bugs before they happen.</p> If you're writing API documentation, always specify units for duration parameters. Not just "timeout: 30" but "timeout: 30 seconds" or better yet name the parameter if you can "timeout_in_seconds"This is even more important inside your own codebase. Make sure that variables have proper names or descriptions or comments that specify... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/14994 2026-01-18T06:00:35Z 2026-01-18T06:00:35Z Plan your upgrades of Rails <p>If you are doing some planning this week, consider adding checkpoints for upgrading your #Rails app </p> <p><strong>Specifically, if you are still running Rails 7.2T.x </strong></p> <p><strong>Security fixes end: August 9, 2026</strong></p> <p>Maybe it sounds like there is enough time but time flies.</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Screenshot of document showing Rails maintanance policy" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBNDk1QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--40a44f2bcbdb55992cde882a4ef9b5f7bb1654c5%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fe7b9e34c-e696-49db-b712-34c7db1352e4.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://rubyonrails.org/maintenance </figcaption> </figure> If you are doing some planning this week, consider adding checkpoints for upgrading your #Rails app  Specifically, if you are still running Rails 7.2T.x  Security fixes end: August 9, 2026 Maybe it sounds like there is enough time but time flies. Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/14953 2026-01-12T04:32:13Z 2026-01-12T04:32:13Z Ruby and token-efficiency <p>Seems like Ruby is pretty well positioned as a language that is token-efficient when used with LLMs.</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="https://martinalderson.com/posts/which-programming-languages-are-most-token-efficient/" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdzE1QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--02b6d304c6c6d4d5b47a85a93c6c702b27a333e4%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2FCleanShot%25202026-01-12%2520at%252006.29.24%402x.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> https://martinalderson.com/posts/which-programming-languages-are-most-token-efficient/ </figcaption> </figure> <p>Source <a href="proxy.php?url=https%3A%2F%2Fmartinalderson.com%2Fposts%2Fwhich-programming-languages-are-most-token-efficient%2F">"Which programming languages are most token-efficient?" by Martin Alderson </a></p> Seems like Ruby is pretty well positioned as a language that is token-efficient when used with LLMs. Source "Which programming languages are most token-efficient?" by Martin Alderson  Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/14359 2025-12-02T13:08:07Z 2025-12-02T13:08:07Z If claude code sometimes skip CLAUDE.md file <p>I was reading this article: <a href="proxy.php?url=https%3A%2F%2Fwww.humanlayer.dev%2Fblog%2Fwriting-a-good-claude-md">https://www.humanlayer.dev/blog/writing-a-good-claude-md</a> and found there the following:</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Source: https://www.humanlayer.dev/blog/writing-a-good-claude-md" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMHB0QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--723816dc7665d3f20abe3b63be6871bf5b257c8c%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://www.humanlayer.dev/blog/writing-a-good-claude-md </figcaption> </figure> <p>Then I was curious to find out more about this system-reminder and to identify the source for this assertion.</p> <p>Seems like more sources points to the following article: <a href="proxy.php?url=https%3A%2F%2Fmedium.com%2F%40outsightai%2Fpeeking-under-the-hood-of-claude-code-70f5a94a9a62">https://medium.com/@outsightai/peeking-under-the-hood-of-claude-code-70f5a94a9a62</a> which seems to identify prompts that are send along with the data read by Claude Code from Claude.md.</p> I was reading this article: https://www.humanlayer.dev/blog/writing-a-good-claude-md and found there the following: Then I was curious to find out more about this system-reminder and to identify the source for this assertion. Seems like more sources points to the following article: https://medium.com/@outsightai/peeking-under-the-hood-of-claude-code-70f5a94a9a62 which seems to identify prompts that are send along with the data... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/14060 2025-11-11T09:43:04Z 2025-11-11T09:43:04Z Ruby Namespace will be renamed to Ruby::Box <p>The Ruby namespace will be renamed to <code>Ruby::Box</code>.</p> <p>A <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2Fruby%2Fruby%2Fpull%2F15075">merge request</a> regarding this was integrated into Ruby's master branch a couple of days ago by Satoshi Tagomori.</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Screenshot of title for a Github PR that says Rename namespace to Ruby:Box" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMk5lQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--98bd4b10cd2c5afbf2ee7b56ad4be834db27aee5%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://github.com/ruby/ruby/pull/15075 </figcaption> </figure> <p>The <a href="proxy.php?url=https%3A%2F%2Fbugs.ruby-lang.org%2Fissues%2F21385">renaming discussion</a> was initiated by Xavier Noria, who shared compelling reasons for reconsidering the name.S</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Renaming proposal for Namespace" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMkJlQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--233f6bbd2fedd75f64d694f79957d486856f88a5%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2FXnapper-2025-11-10-17.37.25.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://bugs.ruby-lang.org/issues/21385 </figcaption> </figure> <p>The <a href="proxy.php?url=https%3A%2F%2Fbugs.ruby-lang.org%2Fissues%2F21385%23note-25">accepted proposal</a>, suggested by Satoshi Tagomori, was approved by Yukihiro Matsumoto:</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="The proposal for Tagomori about Ruby::Box" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMkZlQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--721c3199a37e37ab9ada12a82382a2ff41b844cb%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2FXnapper-2025-11-10-17.39.16.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://bugs.ruby-lang.org/issues/21385#note-25 </figcaption> </figure> <p>But what is interesting is also that Matz <a href="proxy.php?url=https%3A%2F%2Fbugs.ruby-lang.org%2Fissues%2F21385%23note-12">hinted</a> that this should be seen as a low-level API, with potential plans for a higher-level API in the future. This development is exciting as it could unlock new possibilities:</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt='Matz saying "I consider this namespace thing as a low level API. And I have a plan to provide level higher level API in the future"' src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMkplQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--d569d9c459f4a18425c7fbd6488d21bec084c50a%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2FXnapper-2025-11-10-17.40.07.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://bugs.ruby-lang.org/issues/21385#note-12 </figcaption> </figure> <p>You can find all these and a lot more inside <a href="proxy.php?url=https%3A%2F%2Fnewsletter.shortruby.com%2Fp%2Fedition-156">the Short Ruby Newsletter</a></p> The Ruby namespace will be renamed to `Ruby::Box`. A merge request regarding this was integrated into Ruby's master branch a couple of days ago by Satoshi Tagomori.The renaming discussion was initiated by Xavier Noria, who shared compelling reasons for reconsidering the name.SThe accepted proposal, suggested by Satoshi Tagomori, was approved... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/14054 2025-11-10T15:25:09Z 2025-11-10T15:31:33Z Two good articles about Ruby and Smalltalk <p><strong>Noel Rappin - </strong><a href="proxy.php?url=https%3A%2F%2Fnoelrappin.com%2Fblog%2F2025%2F11%2Fruby-and-its-neighbors-smalltalk%2F"><strong>Ruby And Its Neighbors: Smalltalk</strong></a><strong><br></strong><br></p> <p>Noel Rappin continues his series of writing about Ruby and languages that <strong>inspire</strong> it (if you have not read yet part 1 <a href="proxy.php?url=https%3A%2F%2Fnoelrappin.com%2Fblog%2F2025%2F10%2Fruby-and-its-neighbors-perl%2F">Ruby And Its Neighbors: Perl</a>) and this time it is about <a href="proxy.php?url=https%3A%2F%2Fnoelrappin.com%2Fblog%2F2025%2F11%2Fruby-and-its-neighbors-smalltalk%2F">Smalltalk</a>. I liked very much this article as it goes into talking about the innovations that Smalltalk brings to the table, and at the end I almost felt sad that I never used Smalltalk professionally: </p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="What did Ruby take from Smalltalk" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMFplQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--bcd4bd3ced3b7e385ff1695951d253c71b5700f5%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://noelrappin.com/blog/2025/11/ruby-and-its-neighbors-smalltalk/ </figcaption> </figure> <p><strong>Vinay Keerthi - </strong><a href="proxy.php?url=https%3A%2F%2Ftech.stonecharioteer.com%2Fposts%2F2025%2Fruby-loops%2F"><strong>Some Smalltalk about Ruby Loops</strong></a><strong><br></strong><br></p> <p>While Noel's article was writting from the persperctive of someone that wrote Smalltalk professionally here Vinay explores the influence of Smalltalk as someone who does not know Smalltalk. It is still refreshing to see how the influence can be identified:</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="What did Ruby take from Smalltalk" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMGhlQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--4c66cecb074183a4cb7222cfdc8ec6b876bf96de%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://tech.stonecharioteer.com/posts/2025/ruby-loops/ </figcaption> </figure> Noel Rappin - Ruby And Its Neighbors: Smalltalk Noel Rappin continues his series of writing about Ruby and languages that inspire it (if you have not read yet part 1 Ruby And Its Neighbors: Perl) and this time it is about Smalltalk. I liked very much this article as it... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/14038 2025-11-09T05:49:20Z 2025-11-09T05:49:20Z Let's discuss Ruby more openly <p>I'm certain, although I haven't had the time to develop a proper data scraper to confirm, that Ruby articles are appearing more frequently on the front page of Hacker News this year.</p> <p>I'm specifically referring to technical articles.</p> <p>Here's the latest example: Yesterday, there were two posts:</p> <ul> <li>Joe Masilotti's article about <a href="proxy.php?url=https%3A%2F%2Fnewsletter.masilotti.com%2Fp%2Fruby-already-solved-my-problem">"Ruby Already Solved My Problem"</a> was on the front page and remained in the active list for a while.</li> <li>Bruno Sutic's article about the <a href="proxy.php?url=https%3A%2F%2Fbrunosutic.com%2Fblog%2Fruby-friendly-attributes-pattern">"Friendly Attribute Pattern"</a> was also featured on the front page.</li> </ul> <p>I encourage everyone in the #Ruby community to move beyond the mindset that "Ruby is declining." From what I observe, Ruby is growing in terms of its presence in public discourse and the resources being created.</p> <p>Let's discuss Ruby more openly. Yes, there are many other languages and frameworks, both new and old.</p> <p>I'm not a fan of criticizing others, so I believe we can talk about Ruby without dissing other technologies. Engage with others and share what we have.</p> I'm certain, although I haven't had the time to develop a proper data scraper to confirm, that Ruby articles are appearing more frequently on the front page of Hacker News this year. I'm specifically referring to technical articles. Here's the latest example: Yesterday, there were two posts: • Joe Masilotti's... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/13844 2025-10-21T08:16:09Z 2025-10-21T11:22:16Z Some good articles from Ruby published last week <p>1️⃣ Noel Rappin published an article about <a href="proxy.php?url=https%3A%2F%2Fnoelrappin.com%2Fblog%2F2025%2F10%2Fruby-and-its-neighbors-perl%2F%3Futm_source%3Dshortrubynews%26amp%3Bamp%3Butm_medium%3Dreferral%26amp%3Bamp%3Butm_campaign%3Dshort-ruby-newsletter-edition-153">Ruby And Its Neighbors: Perl</a></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Quote about I got weirdly nostalgic looking back over Perl code, even though I never really wrote much Perl. In fact, I left a job in part because I wanted to do a project in Python and they wanted it in Perl. " src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL3RZQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--ffa66d97bc72984b57e8bd6010f53d50437c8a9f%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://noelrappin.com/blog/2025/10/ruby-and-its-neighbors-perl </figcaption> </figure> <p>2️⃣ Sam Ruby published an article about <a href="proxy.php?url=https%3A%2F%2Fintertwingly.net%2Fblog%2F2025%2F10%2F15%2FFrozen-String-Literals.html%3Futm_source%3Dshortrubynews%26amp%3Bamp%3Butm_medium%3Dreferral%26amp%3Bamp%3Butm_campaign%3Dshort-ruby-newsletter-edition-153">Testing Frozen String Literals in Production</a><br></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Quote about I got weirdly nostalgic looking back over Perl code, even though I never really wrote much Perl. In fact, I left a job in part because I wanted to do a project in Python and they wanted it in Perl. " src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBL3hZQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--10f41d60807f13018ee48046126896a6e1faef94%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://intertwingly.net/blog/2025/10/15/Frozen-String-Literals.html </figcaption> </figure> <p>There is actuall an updated version of running the same test <a href="proxy.php?url=https%3A%2F%2Fintertwingly.net%2Fblog%2F2025%2F10%2F17%2FFrozen-String-Literals-Redux.html"><strong><em>Frozen String Literals Redux - A More Rigorous Test</em></strong></a><strong><em>. <br></em></strong><br>3️⃣ Vinay Keerthi published a new article about <a href="proxy.php?url=https%3A%2F%2Ftech.stonecharioteer.com%2Fposts%2F2025%2Fruby-blocks%2F%3Futm_source%3Dshortrubynews%26amp%3Bamp%3Butm_medium%3Dreferral%26amp%3Bamp%3Butm_campaign%3Dshort-ruby-newsletter-edition-153">Ruby Blocks</a><br></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Quote about I got weirdly nostalgic looking back over Perl code, even though I never really wrote much Perl. In fact, I left a job in part because I wanted to do a project in Python and they wanted it in Perl. " src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBLzFZQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--56ebc755d882c95ff58597751c591b49388b7fb3%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://tech.stonecharioteer.com/posts/2025/ruby-blocks </figcaption> </figure> <p>4️⃣ Sid Krishnan published a new article about <a href="proxy.php?url=https%3A%2F%2Fducktypelabs.com%2Fhow-does-turbo-listen-for-turbo-streams%2F%3Futm_source%3Dshortruby%26amp%3Bamp%3Bref%3Dshortruby.com"><strong>How does Turbo listen for Turbo Streams?</strong></a></p><p><strong></strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Quote about I got weirdly nostalgic looking back over Perl code, even though I never really wrote much Perl. In fact, I left a job in part because I wanted to do a project in Python and they wanted it in Perl. " src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBLzVZQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--77020981010b9d1bb9ff739aac612040cd6c1f5f%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://ducktypelabs.com/how-does-turbo-work-with-action-cable </figcaption> </figure> <p>5️⃣ Avo published an article about <a href="proxy.php?url=https%3A%2F%2Favohq.io%2Fblog%2Fopen-graph-image-generation-rails%3Futm_source%3Dshortruby%26amp%3Bamp%3Bref%3Dshortruby.com"><strong>Open Graph Image Generation in Rails</strong></a><strong><br></strong></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Quote about I got weirdly nostalgic looking back over Perl code, even though I never really wrote much Perl. In fact, I left a job in part because I wanted to do a project in Python and they wanted it in Perl. " src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBLzlZQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--348ab3e3317a96f46141ca16badae554e97fb7e3%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://avohq.io/blog/open-graph-image-generation-rails </figcaption> </figure> <p>You can find more articles to read in the Short Ruby Newsletter: <a href="proxy.php?url=https%3A%2F%2Fnewsletter.shortruby.com%2Fp%2Fedition-153%23more-content">https://newsletter.shortruby.com/p/edition-153#more-content</a><strong><br></strong></p> 1️⃣ Noel Rappin published an article about Ruby And Its Neighbors: Perl2️⃣ Sam Ruby published an article about Testing Frozen String Literals in Production There is actuall an updated version of running the same test Frozen String Literals Redux - A More Rigorous Test. 3️⃣ Vinay Keerthi published a new... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/13727 2025-10-14T03:45:27Z 2025-10-14T03:45:27Z Two ideas from an old creativity research <p>Amabile, Teresa M. “A Model of Creativity and Innovation in Organizations.” <em>Research in Organizational Behavior</em> 10, no. 10 (January 1, 1988): 123–67. https://ci.nii.ac.jp/naid/20000708825.</p> <p>Here is how someone described where they were looking for inspiration: in variations and deviations</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="A quote that says: &quot;I'm in a unique situation. For one thing, I generally get the funding I need. But, more importantly, my management has pretty much left me alone. I don't have a specific product area that I have to work on, specific deadlines, and so on. It is pretty much an exploratory area. I devise my own time commitments as I see necessary. I have a great deal of freedom. I don't have management standing over me giving me specific guidelines that I need to follow. Quite often I will be tinkering in something that management will have no interest in, yet when I start to develop it into something. there will be a lot of interest. If they had close reins on me, they would have killed a lot of projects at an early stage and nothing would have resulted.&quot;" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBNWRYQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--27efe9e521742d0e33a05016c4846992269f02ca%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Amabile, Teresa M. “A Model of Creativity and Innovation in Organizations.” </figcaption> </figure> <p>And then talking about their work environment they hint at something that I also talked in the past: there has to be slack time (and not time on Slack) during the work to be able to thinker with things without having the pressure of always making something that is directly productive: <br></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="A quote that says: &quot;I'm in a unique situation. For one thing, I generally get the funding I need. But, more importantly, my management has pretty much left me alone. I don't have a specific product area that I have to work on, specific deadlines, and so on. It is pretty much an exploratory area. I devise my own time commitments as I see necessary. I have a great deal of freedom. I don't have management standing over me giving me specific guidelines that I need to follow. Quite often I will be tinkering in something that management will have no interest in, yet when I start to develop it into something. there will be a lot of interest. If they had close reins on me, they would have killed a lot of projects at an early stage and nothing would have resulted.&quot;" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBNWhYQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--c14e79a86b632a24cbae04472eadc60eea25ed0c%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Amabile, Teresa M. “A Model of Creativity and Innovation in Organizations.” </figcaption> </figure> Amabile, Teresa M. “A Model of Creativity and Innovation in Organizations.” Research in Organizational Behavior 10, no. 10 (January 1, 1988): 123–67. https://ci.nii.ac.jp/naid/20000708825. Here is how someone described where they were looking for inspiration: in variations and deviationsAnd then talking about their work environment they hint at something that I... Lucian Ghinda https://notes.ghinda.com tag:notes.ghinda.com,2005:Post/13723 2025-10-13T05:46:31Z 2025-10-13T05:46:31Z We might start to see this kind of request to disclose use of AI when contributing to open-source <p>Ghostty introduced <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2Fghostty-org%2Fghostty%2Fblob%2Fmain%2FCONTRIBUTING.md%23ai-assistance-notice">this section</a> to their CONTRIBUTING.md file<br></p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="Ghostty requiring contributors to disclose use of AI" src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBK05XQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--44edab0a4a298a33ee590e2314cfee84542c80e9%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2Fimage.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://github.com/ghostty-org/ghostty/blob/main/CONTRIBUTING.md#ai-assistance-notice </figcaption> </figure> <p>And I think this part here is a normal expectation for any AI code contributed to a serious project:</p> <figure class="attachment attachment--preview flex-col justify-center attachment--png"> <img class="lightbox__image strip-metadata lightbox__image" alt="In a perfect world, AI assistance would produce equal or higher quality work than any human. That isn't the world we live in today, and in most cases it's generating slop. I say this despite being a fan of and using them successfully myself (with heavy supervision)! When using AI assistance, we expect contributors to understand the code that is produced and be able to answer critical questions about it. It isn't a maintainers job to review a PR so broken that it requires significant rework to be acceptable." src="proxy.php?url=https%3A%2F%2Fscribbles.page%2Frails%2Factive_storage%2Frepresentations%2Fproxy%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBK1JXQVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--c809934124bb70bff2859262a38ee6464e5316ad%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUNHa0NBQVk2Q25OaGRtVnlld2M2Q25OMGNtbHdWRG9NY1hWaGJHbDBlV2xrIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0%3D--768aeab7fb7843d85fe5b2b4ba237e06e6ef604f%2FXnapper-2025-10-11-21.37.26.png" loading="lazy" decoding="async"> <figcaption class="attachment__caption text-center"> Source: https://github.com/ghostty-org/ghostty/blob/main/CONTRIBUTING.md#ai-assistance-notice </figcaption> </figure> Ghostty introduced this section to their CONTRIBUTING.md file And I think this part here is a normal expectation for any AI code contributed to a serious project: Lucian Ghinda https://notes.ghinda.com