<?xml version="1.0" encoding="UTF-8"?>
    <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
        <channel>
            <title>Mattias blog - resonates with me</title>
            <link>https://ahlstrom.info</link>
            <atom:link href="https://ahlstrom.info/rss.xml" rel="self" type="application/rss+xml" />
            <description>Personal thoughts and reflections.</description>
            <item>
                    <title>Building my own AI assistant</title>
                    <link>https://ahlstrom.info/building-my-own-ai-assistant</link>
                    <description>I got curious about the tech behind AI assistants like ClawdBot/MoltBot/OpenClaw when they showed up a few weeks ago. Ran one for a couple of hours on my machine before I got the feeling I didn’t understand the value compared to how many tokens were being used. But an idea was born and I started chatting with Claude Code about possible solutions. Could you build an AI assistant that used Claude Code itself the way Anthropic intended, without getting blocked like OpenCode users were. About five...</description>
                    <guid>https://ahlstrom.info/building-my-own-ai-assistant</guid>
                      <content:encoded>
                            <![CDATA[<p>I got curious about the tech behind AI assistants like ClawdBot/MoltBot/OpenClaw when they showed up a few weeks ago. Ran one for a couple of hours on my machine before I got the feeling I didn’t understand the value compared to how many tokens were being used. But an idea was born and I started chatting with Claude Code about possible solutions.</p>
<p>Could you build an AI assistant that used Claude Code itself the way Anthropic intended, without getting blocked like OpenCode users were.</p>
<p>About five months ago Anthropic released the Claude Agent SDK. A way to create tools on your machine that used the internal Claude Code with all its capabilities. That solved the first problem.</p>
<p>The second was about security. The solution was running the assistant inside Docker. A computer inside a computer that only has access to what’s inside.</p>
<p>But to make it valuable it needed access to email, calendar and various other things without exposing keys or giving it direct access. That’s where the idea of a layer in between was born. A proxy written in plain code that decides what the assistant gets to see and what it doesn’t.</p>
<p>The layer provides access to mail, calendar and a way to use more demanding features like speech to text that need more compute. In this layer I also decide what gets filtered before it reaches the assistant and what permissions it has. Not reading certain emails, not sending emails only drafts, not creating calendar invitations with others and so on.</p>
<p>All development is done by me talking to Claude and it talking to the assistant about possible solutions. Then they tell me.</p>
<p>All communication happens through Telegram from my side. I talk and send. It receives and thinks and messages back. It reads through newsletters, sales emails and creates drafts and suggests times when a meeting could work. I tell it to block five minute slots for getting small things done. During the day and night it does research I can read through in the morning. It looks for only positive news on all the major news sites.</p>
<p>And this is just the beginning.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 07 Feb 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>More intuitive for everyone </title>
                    <link>https://ahlstrom.info/more-intuitive-for-everyone</link>
                    <description>Designing for accessibility from the start makes tools more intuitive for everyone.</description>
                    <guid>https://ahlstrom.info/more-intuitive-for-everyone</guid>
                      <content:encoded>
                            <![CDATA[<p>Designing for accessibility from the start makes tools more intuitive for everyone.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 15 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Perfect choice is sometimes not requested</title>
                    <link>https://ahlstrom.info/perfect-choice-is-sometimes-not-requested</link>
                    <description>The Star Trek replicator gives you anything you want, which means you have to decide what you want. Sometimes the luxury is letting someone else choose. SVT at 8pm made the decision for you. The DJ played a song you wouldn’t have picked. Infinite personalisation sounds like freedom but it’s also infinite cognitive load. In a world where AI can generate everything, the scarcity isn’t content. It’s trusted humans willing to narrow infinity down to three things worth your time.</description>
                    <guid>https://ahlstrom.info/perfect-choice-is-sometimes-not-requested</guid>
                      <content:encoded>
                            <![CDATA[<p>The Star Trek replicator gives you anything you want, which means you have to decide what you want. Sometimes the luxury is letting someone else choose. SVT at 8pm made the decision for you. The DJ played a song you wouldn’t have picked. Infinite personalisation sounds like freedom but it’s also infinite cognitive load. In a world where AI can generate everything, the scarcity isn’t content. It’s trusted humans willing to narrow infinity down to three things worth your time.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 14 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Atoms move at atom speed</title>
                    <link>https://ahlstrom.info/atoms-move-at-atom-speed</link>
                    <description>Digital content scales because failure is free. A million unread blog posts cost nothing but server space. But physical products demand validation before production. Unsold inventory is real money rotting in warehouses. Shelf space is finite. You can’t A/B test chip flavours the way you test headlines. The physical world has irreducible constraints that compress the infinite back down to the manageable. AI speeds up the digital. The atoms still move at atom speed.</description>
                    <guid>https://ahlstrom.info/atoms-move-at-atom-speed</guid>
                      <content:encoded>
                            <![CDATA[<p>Digital content scales because failure is free. A million unread blog posts cost nothing but server space. But physical products demand validation before production. Unsold inventory is real money rotting in warehouses. Shelf space is finite. You can’t A/B test chip flavours the way you test headlines. The physical world has irreducible constraints that compress the infinite back down to the manageable. AI speeds up the digital. The atoms still move at atom speed.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 13 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>AI bottleneck</title>
                    <link>https://ahlstrom.info/ai-bottleneck</link>
                    <description>AI can generate a thousand product ideas before lunch, but someone still has to tell you if any of them are good. Speed up idea generation 100x and you don’t get 100x better products. You get a queue of untested concepts waiting for the same limited pool of humans to validate them. The bottleneck isn’t creativity anymore.</description>
                    <guid>https://ahlstrom.info/ai-bottleneck</guid>
                      <content:encoded>
                            <![CDATA[<p>AI can generate a thousand product ideas before lunch, but someone still has to tell you if any of them are good. Speed up idea generation 100x and you don’t get 100x better products. You get a queue of untested concepts waiting for the same limited pool of humans to validate them. The bottleneck isn’t creativity anymore.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 12 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>UX vibes vs Code vibes</title>
                    <link>https://ahlstrom.info/ux-vibes-vs-code-vibes</link>
                    <description>An idea I’ve dabbled with Vibe coding all about focusing on the user experience rather than focusing on the code that makes that experience.</description>
                    <guid>https://ahlstrom.info/ux-vibes-vs-code-vibes</guid>
                      <content:encoded>
                            <![CDATA[<p>An idea I’ve dabbled with  </p>
<p>Vibe coding all about focusing on the user experience rather than focusing on the code that makes that experience. </p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 11 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>The non scalability issue </title>
                    <link>https://ahlstrom.info/the-non-scalability-issue</link>
                    <description>People argue about scalability when they see products built with AI-assisted development. They imagine what happens when the userbase grows or the codebase expands i.ez technical debt piling up. Many products built this way solve specific problems for specific people. A tool that helps a company process their invoices. A system that generates reports for a particular team. An interface that automates one workflow that’s been eating up someone’s time. When you build something to solve an actual...</description>
                    <guid>https://ahlstrom.info/the-non-scalability-issue</guid>
                      <content:encoded>
                            <![CDATA[<p>People argue about scalability when they see products built with AI-assisted development. They imagine what happens when the userbase grows or the codebase expands i.ez technical debt piling up.</p>
<p>Many products built this way solve specific problems for specific people. A tool that helps a company process their invoices. A system that generates reports for a particular team. An interface that automates one workflow that’s been eating up someone’s time.</p>
<p>When you build something to solve an actual problem you have right now, the constraints are already built in. You know the scope. You know the users. You know what “done” looks like.</p>
<p>The scalability critique applies to products trying to be everything to everyone.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 10 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Start with facts, not insights</title>
                    <link>https://ahlstrom.info/start-with-facts-not-insights</link>
                    <description>For a couple of years I’ve had this folder called Braindump. It’s where I write my somewhat on-and-off journal, often when my brain starts getting too clogged up. One thing I’ve noticed about journaling that makes it way easier: start with facts before insights. “But of course” you might think. The struggle is that when we start journaling, we think we should only write profound things. We want it to become a book of deep thoughts. But our deep thoughts usually come after we’ve laid out the...</description>
                    <guid>https://ahlstrom.info/start-with-facts-not-insights</guid>
                      <content:encoded>
                            <![CDATA[<p>For a couple of years I’ve had this folder called Braindump. It’s where I write my somewhat on-and-off journal, often when my brain starts getting too clogged up.</p>
<p>One thing I’ve noticed about journaling that makes it way easier: start with facts before insights.</p>
<p>“But of course” you might think. The struggle is that when we start journaling, we think we should only write profound things. We want it to become a book of deep thoughts. But our deep thoughts usually come after we’ve laid out the bare facts.</p>
<p>In other words, it’s way easier to start with what you did, what you were thinking about, what you saw or noticed. Then go deeper if possible.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 09 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Declarative and procedural knowledge</title>
                    <link>https://ahlstrom.info/declarative-and-procedural-knowledge</link>
                    <description>A thing I’ve been thinking about lately is the idea of declarative vs procedural knowledge. In other words knowledge that something exists versus knowledge how it is done. The feeling is that AI tools are removing the need for step-by-step procedures for most things. Knowing that queues and databases exist, that there’s a musical scale called phrygian, what camera body or film stock or shallow depth of field mean. The vocabulary and concepts themselves become more important than memorizing how...</description>
                    <guid>https://ahlstrom.info/declarative-and-procedural-knowledge</guid>
                      <content:encoded>
                            <![CDATA[<p>A thing I’ve been thinking about lately is the idea of declarative vs procedural knowledge. In other words knowledge that something exists versus knowledge how it is done.</p>
<p>The feeling is that AI tools are removing the need for step-by-step procedures for most things. Knowing that queues and databases exist, that there’s a musical scale called phrygian, what camera body or film stock or shallow depth of field mean. The vocabulary and concepts themselves become more important than memorizing how to execute them.</p>
<p>Because once you know the vocabulary, AI can handle the procedure. You need to know phrygian exists to ask for it. You need to know what shallow depth of field is to request it. But memorizing the scale pattern or calculating the f-stop becomes optional.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 08 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>The generalist advantage - part three - a new role enters the arena</title>
                    <link>https://ahlstrom.info/the-generalist-advantage-part-three-a-new-role-enters-the-arena</link>
                    <description>By the end of 2026 the highest-ROI hire at early-stage startups will be someone who doesn’t fit any existing job title. Not a PM. Not a developer. Not a designer. Someone who can do all three well enough and ship fast enough that traditional role boundaries don’t matter. Someone with 10-20 years of experience who’s not the best developer and not the best product manager, but they see the whole product. They have the helicopter view that comes from doing this for decades. They know what actually...</description>
                    <guid>https://ahlstrom.info/the-generalist-advantage-part-three-a-new-role-enters-the-arena</guid>
                      <content:encoded>
                            <![CDATA[<p>By the end of 2026 the highest-ROI hire at early-stage startups will be someone who doesn’t fit any existing job title. Not a PM. Not a developer. Not a designer. Someone who can do all three well enough and ship fast enough that traditional role boundaries don’t matter.</p>
<p>Someone with 10-20 years of experience who’s not the best developer and not the best product manager, but they see the whole product. They have the helicopter view that comes from doing this for decades. They know what actually matters versus what’s theater.</p>
<p>A year ago this person was a unicorn hire. They existed but had to choose where to spend their time. AI makes it achievable now. Not because AI replaces experience, but because it amplifies it.</p>
<p>Claude Code can write the checkout flow but it can’t tell you that adding one more step will kill conversion. It doesn’t have the scar tissue from shipping products that failed in interesting ways. Gut feeling still matters and gut feeling comes from experience.</p>
<p>The startups of the future will need fewer people and those people will be generalists. It’s a way to have a longer runway and a way to move faster than your competitors.</p>
<p>This is the time to be a generalist.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 07 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>The generalist advantage - part two - the cycle collapsed</title>
                    <link>https://ahlstrom.info/the-generalist-advantage-part-two-the-cycle-collapsed</link>
                    <description>The breakthrough isn’t just that you can code faster. It’s that the gap between thinking and shipping collapsed. The cycle looks like this now: start the morning brainstorming and thinking of ideas, building hypotheses, doing the POC or prototype. After lunch you build and ship. The day after you look at the outcome. Each day can become a sprint. That used to take weeks and now it takes a day. Projects that used to be blocked by priorities aren’t anymore because you can build ten different...</description>
                    <guid>https://ahlstrom.info/the-generalist-advantage-part-two-the-cycle-collapsed</guid>
                      <content:encoded>
                            <![CDATA[<p>The breakthrough isn’t just that you can code faster. It’s that the gap between thinking and shipping collapsed.</p>
<p>The cycle looks like this now: start the morning brainstorming and thinking of ideas, building hypotheses, doing the POC or prototype. After lunch you build and ship. The day after you look at the outcome. Each day can become a sprint.</p>
<p>That used to take weeks and now it takes a day.</p>
<p>Projects that used to be blocked by priorities aren’t anymore because you can build ten different landing pages and ten different A/B tests and ship them all in one day. You can test the hypothesis instead of debating it.</p>
<p>I’ve built Shopify apps in 30 minutes and campaign sites in an hour. These are real products that solve real problems, not just demos to show off the technology.</p>
<p>The constraint wasn’t just coding speed. It was the whole machinery of getting from “what if we tried this” to “here’s what happened when we tried it.”</p>
<p>You can finally execute on product intuition at the speed you think.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 06 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>The generalist advantage - part one - why you had to choose</title>
                    <link>https://ahlstrom.info/the-generalist-advantage-part-one-why-you-had-to-choose</link>
                    <description>For the last 14 years I couldn’t be a generalist anymore. You’re a developer? Great, please think about the product but don’t go overboard. You’re a product manager? Yes you’re technical but do you really know code? You’re a CPO? Sure, but do you really know the technical parts? The real blocker was time. You could do both strategy and execution but you didn’t have time to get down in the weeds. This opened up challenges with not being able to discuss the right things. “This is the way we...</description>
                    <guid>https://ahlstrom.info/the-generalist-advantage-part-one-why-you-had-to-choose</guid>
                      <content:encoded>
                            <![CDATA[<p>For the last 14 years I couldn’t be a generalist anymore.</p>
<p>You’re a developer? Great, please think about the product but don’t go overboard. You’re a product manager? Yes you’re technical but do you really know code? You’re a CPO? Sure, but do you really know the technical parts?</p>
<p>The real blocker was time. You could do both strategy and execution but you didn’t have time to get down in the weeds. This opened up challenges with not being able to discuss the right things. “This is the way we engineer it” became the rule that sometimes blocked progress.</p>
<p>The generalist approach didn’t scale. You had to choose. Strategy or execution. Vision or implementation. The bandwidth wasn’t there to do both well.</p>
<p>I’ve watched developers focus so much on speed optimizations and picking the best frameworks that they lose track of the bigger picture. I’ve seen product managers spend weeks crafting the optimal roadmap with detailed OKRs and PRDs. I’ve watched designers pixel-push design libraries thinking it will make things clearer for developers.</p>
<p>Everyone had to specialize because that’s all the time allowed for.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 05 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Sea glass</title>
                    <link>https://ahlstrom.info/sea-glass</link>
                    <description>I tend to think that people’s ideas and opinions are like glass shards in a sea. The longer we live, our sharp edges get softer. We can still be spiky but we also understand that there are other views.</description>
                    <guid>https://ahlstrom.info/sea-glass</guid>
                      <content:encoded>
                            <![CDATA[<p>I tend to think that people’s ideas and opinions are like glass shards in a sea. The longer we live, our sharp edges get softer. We can still be spiky but we also understand that there are other views.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 04 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>When your AI Sales Agent does know about public holidays</title>
                    <link>https://ahlstrom.info/when-your-ai-sales-agent-does-know-about-public-holidays</link>
                    <description>I got an outreach email on December 30th. Then on January 1st, a follow-up arrived: “We haven’t heard back from you yet.” Well, no. Of course you haven’t heard back. It’s New Year’s Day. And this isn’t just about public holidays. I’ve experienced this with emails and LinkedIn outreaches on Friday afternoon, then again on Monday morning. We are using an AI agent sophisticated enough to personalize emails, manage multi-step sequences, and track engagement. But somehow it doesn’t know to check if...</description>
                    <guid>https://ahlstrom.info/when-your-ai-sales-agent-does-know-about-public-holidays</guid>
                      <content:encoded>
                            <![CDATA[<p>I got an outreach email on December 30th. Then on January 1st, a follow-up arrived: “We haven’t heard back from you yet.”</p>
<p>Well, no. Of course you haven’t heard back. It’s New Year’s Day.</p>
<p>And this isn’t just about public holidays. I’ve experienced this with emails and LinkedIn outreaches on Friday afternoon, then again on Monday morning.</p>
<p>We are using an AI agent sophisticated enough to personalize emails, manage multi-step sequences, and track engagement. But somehow it doesn’t know to check if it’s a public holiday? It doesn’t realize that only a few business hours have passed before firing off that second message?</p>
<p>This isn’t even a hard problem to solve. Every calendar API knows about weekends and major holidays. Your AI can write convincing copy and manage complex workflows. It just needs to be configured to understand that January 1st is probably not the best day to send “just following up since we haven’t heard back.”</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 03 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>We stopped worrying and learned to love the chatbot</title>
                    <link>https://ahlstrom.info/we-stopped-worrying-and-learned-to-love-the-chatbot</link>
                    <description>Once we believed apps were listening to our conversations. Targeting us with ads. We were outraged. Now we tell chatbots our worries. Our feelings. Our hopes and secrets. What changed? Maybe it’s that sharing benefits me directly. I get something back. Social media ads never gave me anything. Maybe it’s that I pay for these tools. That makes me feel like my data is more secure. If they were ad-supported, I’d share less. Imagine talking about something personal and then getting an ad for a...</description>
                    <guid>https://ahlstrom.info/we-stopped-worrying-and-learned-to-love-the-chatbot</guid>
                      <content:encoded>
                            <![CDATA[<p>Once we believed apps were listening to our conversations. Targeting us with ads. We were outraged.</p>
<p>Now we tell chatbots our worries. Our feelings. Our hopes and secrets.</p>
<p>What changed?</p>
<p>Maybe it’s that sharing benefits me directly. I get something back. Social media ads never gave me anything.</p>
<p>Maybe it’s that I pay for these tools. That makes me feel like my data is more secure. If they were ad-supported, I’d share less. Imagine talking about something personal and then getting an ad for a therapist in Umeå. I’d quit immediately.</p>
<p>I probably overshare. Haven’t found the line yet.</p>
<p>It’s cheaper than a psychologist.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 02 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>What’s another year</title>
                    <link>https://ahlstrom.info/what's-another-year</link>
                    <description>In 2025 I decided that I was giving the blog one month of post every day. Then I decided to continue. Closing in on 2026 I started to resent the whole idea of writing every day. Every day was a struggle. But the kicker is, most of the days it was easy. Not good, but easy. I lowered the stakes and the requirements. A post can be a single line of text. It does not need to be profound. It just needs to be. So here is for another year. It’ll be fun.</description>
                    <guid>https://ahlstrom.info/what's-another-year</guid>
                      <content:encoded>
                            <![CDATA[<p>In 2025 I decided that I was giving the blog one month of post every day. Then I decided to continue. Closing in on 2026 I started to resent the whole idea of writing every day. Every day was a struggle. But the kicker is, most of the days it was easy. Not good, but easy. I lowered the stakes and the requirements. A post can be a single line of text. It does not need to be profound. It just needs to be.</p>
<p>So here is for another year. It’ll be fun.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 01 Jan 2026 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Don't edit while you create</title>
                    <link>https://ahlstrom.info/dont-edit-while-you-create</link>
                    <description>I tell myself this all the time. It’s still true. Don’t edit while you create. It shifts your focus from output to outcome. From what you want to say to what others will hear. The trigger is the backspace button. When I press it too many times, I know I’ve switched modes. Plain text helps. Markdown. No formatting to fiddle with. Just words. First focus on what you want to say. Get it out. Go on tangents. Let it be messy. Then focus on what you want others to hear. That’s when you craft. Remove...</description>
                    <guid>https://ahlstrom.info/dont-edit-while-you-create</guid>
                      <content:encoded>
                            <![CDATA[<p>I tell myself this all the time. It’s still true.</p>
<p>Don’t edit while you create. It shifts your focus from output to outcome. From what you want to say to what others will hear.</p>
<p>The trigger is the backspace button. When I press it too many times, I know I’ve switched modes. Plain text helps. Markdown. No formatting to fiddle with. Just words.</p>
<p>First focus on what you want to say. Get it out. Go on tangents. Let it be messy.</p>
<p>Then focus on what you want others to hear. That’s when you craft. Remove parts. Shape it.</p>
<p>But if you enter that mode too early, you lose the interesting bits. The analogies you haven’t thought through yet.</p>
<p>Edit when you’re ready to share. Not before.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 31 Dec 2025 08:00:00 GMT</pubDate>
                </item><item>
                    <title>The blue Yamaha CS1X</title>
                    <link>https://ahlstrom.info/the-blue-yamaha-cs1x</link>
                    <description>My first synth was a Yamaha CS1X. Blue and gorgeous. Playful, almost like a toy. It could make one fancy sound and a bunch of regular sounds at the same time. That was it. With those constraints you had to be creative. Today I can recreate any sound on my computer. All of them unique. Unlimited options. And now I need to introduce constraints to not get stuck. Four tracks. Eight tracks. No more. I wish I’d kept that synth. It still sells for the same price twenty years later. But I worry the...</description>
                    <guid>https://ahlstrom.info/the-blue-yamaha-cs1x</guid>
                      <content:encoded>
                            <![CDATA[<p>My first synth was a Yamaha CS1X. Blue and gorgeous. Playful, almost like a toy.</p>
<p>It could make one fancy sound and a bunch of regular sounds at the same time. That was it. With those constraints you had to be creative.</p>
<p>Today I can recreate any sound on my computer. All of them unique. Unlimited options. And now I need to introduce constraints to not get stuck. Four tracks. Eight tracks. No more.</p>
<p>I wish I’d kept that synth. It still sells for the same price twenty years later. But I worry the nostalgia would vanish if I actually used it today.</p>
<p>Better to live in that memory palace. Things that were nice. Constraints that were nice.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 30 Dec 2025 08:00:00 GMT</pubDate>
                </item><item>
                    <title>Alienate some users</title>
                    <link>https://ahlstrom.info/alienate-some-users</link>
                    <description>Making a product for everyone is hard. The defaults need focus. Clarity. You need to alienate some users. Otherwise it gets bloated. I’ve made this mistake. Too many access models. Too many configurations. The product became complicated before it did anything useful. The constraint isn’t a feature. It’s complexity. Are you making this too complex too early? Start simple. Ship. Add features later. Don’t build the complicated version first.</description>
                    <guid>https://ahlstrom.info/alienate-some-users</guid>
                      <content:encoded>
                            <![CDATA[<p>Making a product for everyone is hard. The defaults need focus. Clarity. You need to alienate some users. Otherwise it gets bloated.</p>
<p>I’ve made this mistake. Too many access models. Too many configurations. The product became complicated before it did anything useful.</p>
<p>The constraint isn’t a feature. It’s complexity. Are you making this too complex too early?</p>
<p>Start simple. Ship. Add features later.</p>
<p>Don’t build the complicated version first.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 29 Dec 2025 08:00:00 GMT</pubDate>
                </item><item>
                    <title>The prompt is the new IP</title>
                    <link>https://ahlstrom.info/the-prompt-is-the-new-ip</link>
                    <description>When I build AI tools, I think about settings. At first I thought people wanted more. How many stages? Which models? What temperature? But fewer settings is better. The prompt becomes the setting. Maybe you open it up for power users who want their own prompts. But close it down for everyone else. Let them move forward. The well-defined prompt that ships with the product? You can’t see that one. The prompt is the new IP.</description>
                    <guid>https://ahlstrom.info/the-prompt-is-the-new-ip</guid>
                      <content:encoded>
                            <![CDATA[<p>When I build AI tools, I think about settings. At first I thought people wanted more. How many stages? Which models? What temperature?</p>
<p>But fewer settings is better. The prompt becomes the setting.</p>
<p>Maybe you open it up for power users who want their own prompts. But close it down for everyone else. Let them move forward.</p>
<p>The well-defined prompt that ships with the product? You can’t see that one.</p>
<p>The prompt is the new IP.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Good products need few settings</title>
                    <link>https://ahlstrom.info/good-products-need-few-settings</link>
                    <description>Good products need few settings. They’re built with user experience in mind. Clear vision. Someone with taste decided. macOS used to be like this. Few settings. Easy. Either you could set it or Apple had decided for you. No middle ground. If you don’t like it, take a hike. Now it’s just Windows. The Settings app is broken. Random options buried under Accessibility that aren’t accessibility features. A search that only works at the first level. They stopped deciding.</description>
                    <guid>https://ahlstrom.info/good-products-need-few-settings</guid>
                      <content:encoded>
                            <![CDATA[<p>Good products need few settings. They’re built with user experience in mind. Clear vision. Someone with taste decided.</p>
<p>macOS used to be like this. Few settings. Easy. Either you could set it or Apple had decided for you. No middle ground. If you don’t like it, take a hike.</p>
<p>Now it’s just Windows. The Settings app is broken. Random options buried under Accessibility that aren’t accessibility features. A search that only works at the first level.</p>
<p>They stopped deciding.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Make it aweful first</title>
                    <link>https://ahlstrom.info/make-it-aweful-first</link>
                    <description>I often find solutions in the opposite. What would make this experience awful? Once you know that, you know what to focus on. One technique: imagine you’re in the future and the project has failed. Ask why. Suddenly it’s easy to see what might cause failure. Now you can solve for those. In workshops I ask: what would be the worst way to solve this? It’s a structured exercise. Surfaces what to avoid. Most people aren’t used to thinking in opposites. Some wear the “Devil’s Advocate” hat, but...</description>
                    <guid>https://ahlstrom.info/make-it-aweful-first</guid>
                      <content:encoded>
                            <![CDATA[<p>I often find solutions in the opposite. What would make this experience awful? Once you know that, you know what to focus on.</p>
<p>One technique: imagine you’re in the future and the project has failed. Ask why. Suddenly it’s easy to see what might cause failure. Now you can solve for those.</p>
<p>In workshops I ask: what would be the worst way to solve this? It’s a structured exercise. Surfaces what to avoid.</p>
<p>Most people aren’t used to thinking in opposites. Some wear the “Devil’s Advocate” hat, but that’s unstructured. They can say whatever they want.</p>
<p>This is guided Devil’s Advocate. That’s why it works.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 26 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Fun is best when shared</title>
                    <link>https://ahlstrom.info/fun-is-best-when-shared</link>
                    <description>Fun is best when shared. Retelling a joke from a comedian is complicated. But if you watched it together, you both get it. Same frame of reference. Same goes for boring tasks. They can be made fun if shared. At least afterwards. “Do you remember when we did that boring thing…” I think about GDPR. Such a boring task. But with someone else, it became a common enemy. “Oh shit, let’s get this done together.” That’s what made it memorable. It’s “us against something” instead of “us against each...</description>
                    <guid>https://ahlstrom.info/fun-is-best-when-shared</guid>
                      <content:encoded>
                            <![CDATA[<p>Fun is best when shared. Retelling a joke from a comedian is complicated. But if you watched it together, you both get it. Same frame of reference.</p>
<p>Same goes for boring tasks. They can be made fun if shared. At least afterwards. “Do you remember when we did that boring thing…”</p>
<p>I think about GDPR. Such a boring task. But with someone else, it became a common enemy. “Oh shit, let’s get this done together.” That’s what made it memorable.</p>
<p>It’s “us against something” instead of “us against each other.” Alone, you resent others who don’t have to do the boring thing. Together, you’re a power team.</p>
<p>Shared progress makes boring tolerable.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Ask for guidance not goals</title>
                    <link>https://ahlstrom.info/ask-for-guidance-not-goals</link>
                    <description>Ask for guidance, not goals. You’ll need to find your own goals. Otherwise they won’t be inspiring. Or interesting. Or fun. When you’re stuck, it’s tempting to question the goal. But the goal is usually clear. You just can’t see the path. I experienced this at work. A transformation that felt impossible. No progress. I considered quitting. Instead, I asked my boss for guidance. She didn’t give me a new goal. She gave me a way forward: talk to new people. Get their perspectives. See...</description>
                    <guid>https://ahlstrom.info/ask-for-guidance-not-goals</guid>
                      <content:encoded>
                            <![CDATA[<p>Ask for guidance, not goals. You’ll need to find your own goals. Otherwise they won’t be inspiring. Or interesting. Or fun.</p>
<p>When you’re stuck, it’s tempting to question the goal. But the goal is usually clear. You just can’t see the path.</p>
<p>I experienced this at work. A transformation that felt impossible. No progress. I considered quitting. Instead, I asked my boss for guidance.</p>
<p>She didn’t give me a new goal. She gave me a way forward: talk to new people. Get their perspectives. See possibilities you’re missing.</p>
<p>It unlocked things.</p>
<p>Goals you set yourself have energy. Goals handed to you feel like obligations. Guidance is a gift. It shows you doors.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Be bored</title>
                    <link>https://ahlstrom.info/be-bored</link>
                    <description>Be bored. It’ll spark creativity. Maybe not good ideas. Maybe not inventions. But it’ll make use of your brain. Doom scrolling won’t. Yesterday I didn’t use the computer at all. A few days before Christmas, off work, nothing planned. Just bored. Then I woke up at 3am with thirteen ideas. That’s where these notes came from. Stream of consciousness. One idea, then the next, then the next. The hard part isn’t being bored. It’s protecting boredom from yourself. The reflex to reach for your phone....</description>
                    <guid>https://ahlstrom.info/be-bored</guid>
                      <content:encoded>
                            <![CDATA[<p>Be bored. It’ll spark creativity. Maybe not good ideas. Maybe not inventions. But it’ll make use of your brain. Doom scrolling won’t.</p>
<p>Yesterday I didn’t use the computer at all. A few days before Christmas, off work, nothing planned. Just bored.</p>
<p>Then I woke up at 3am with thirteen ideas. That’s where these notes came from. Stream of consciousness. One idea, then the next, then the next.</p>
<p>The hard part isn’t being bored. It’s protecting boredom from yourself. The reflex to reach for your phone. To open a browser. To fill the silence.</p>
<p>It has to be a conscious decision. Put away the things.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Publishing primes your brain</title>
                    <link>https://ahlstrom.info/publishing-primes-your-brain</link>
                    <description>Get a habit of publishing. It primes your brain. Suddenly something is needed. Your brain starts searching for content and ideas. Automatically. I felt this instantly. The commitment was the trigger. I chose to publish every day, and that created a constant push. Not pressure exactly. More like alertness. Sometimes it’s exhausting. But I remind myself: one line is enough. One sentence. Some days become shit posts. That’s fine. Seth Godin: “You can’t have writer’s block if you write. You can...</description>
                    <guid>https://ahlstrom.info/publishing-primes-your-brain</guid>
                      <content:encoded>
                            <![CDATA[<p>Get a habit of publishing. It primes your brain. Suddenly something is needed. Your brain starts searching for content and ideas. Automatically.</p>
<p>I felt this instantly. The commitment was the trigger. I chose to publish every day, and that created a constant push. Not pressure exactly. More like alertness.</p>
<p>Sometimes it’s exhausting. But I remind myself: one line is enough. One sentence. Some days become shit posts. That’s fine.</p>
<p>Seth Godin: “You can’t have writer’s block if you write. You can say, ‘I have bad writer’s block,’ and I say, ‘Show me your bad writing,’ and if you show it to me, then you don’t have writer’s block.”</p>
<p>The priming works in both directions. Forward: what can I write about today? Backward: what lessons did I miss back then?</p>
<p>Once you commit to output, your brain stops waiting for ideas. It goes hunting.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Writing is a muscle</title>
                    <link>https://ahlstrom.info/writing-is-a-muscle</link>
                    <description>Writing is a muscle. You train it. Not to be good, but so your brain knows you’ll use it. Write a lot. Most of it won’t be great. That’s fine. At some point the good work comes through. You can’t schedule when. I’ve posted something every day for over a year now. Some are shit. That was never the point. Output is the point. The reps. When I started my YouTube channel, I obsessed over the system. How do I create a video every day but post twice a week? The system made it possible. Not...</description>
                    <guid>https://ahlstrom.info/writing-is-a-muscle</guid>
                      <content:encoded>
                            <![CDATA[<p>Writing is a muscle. You train it. Not to be good, but so your brain knows you’ll use it.</p>
<p>Write a lot. Most of it won’t be great. That’s fine. At some point the good work comes through. You can’t schedule when.</p>
<p>I’ve posted something every day for over a year now. Some are shit. That was never the point. Output is the point. The reps.</p>
<p>When I started my YouTube channel, I obsessed over the system. How do I create a video every day but post twice a week? The system made it possible. Not motivation. Not inspiration.</p>
<p>Few people read my stuff. That’s okay. This is my habit. Output is the habit.</p>
<p>Faulkner said it: “I only write when inspiration strikes. Fortunately it strikes at nine every morning.”</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 21 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>You never have talkers block</title>
                    <link>https://ahlstrom.info/you-never-have-talkers-block</link>
                    <description>When ideas don’t come, record yourself talking. You rarely have talker’s block. Like never. Writing adds a filter. Your finger hovers over backspace. You delete before you finish the thought. Speaking doesn’t let you do that. Once it’s said, it’s said. So you keep going. I use this constantly. Pressed for a blog post? I talk it out. Need clarity on a vision? I ramble until it makes sense. Tangents are fine. You come back. The only catch: I need to be alone. When others are around, the filter...</description>
                    <guid>https://ahlstrom.info/you-never-have-talkers-block</guid>
                      <content:encoded>
                            <![CDATA[<p>When ideas don’t come, record yourself talking. You rarely have talker’s block. Like never.</p>
<p>Writing adds a filter. Your finger hovers over backspace. You delete before you finish the thought. Speaking doesn’t let you do that. Once it’s said, it’s said. So you keep going.</p>
<p>I use this constantly. Pressed for a blog post? I talk it out. Need clarity on a vision? I ramble until it makes sense. Tangents are fine. You come back.</p>
<p>The only catch: I need to be alone. When others are around, the filter returns.</p>
<p>These days I send the recordings to Claude or ChatGPT. They find the patterns in the rambling. Faster than I ever could.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Everyone has a different MVP</title>
                    <link>https://ahlstrom.info/everyone-has-a-different-mvp</link>
                    <description>MVP. POC. Spike. Beta. We throw these words around like everyone knows what they mean. They don’t. I’ve been in meetings where one person’s MVP was nearly shippable. Another thought it meant a weekend hack. Both were frustrated. Both were right in their own heads. The problem isn’t the words. It’s that we never stop to define them together. And the later you have that conversation, the more it hurts. By then, people have already built their MVP in their minds. Sometimes in code. Get everyone in...</description>
                    <guid>https://ahlstrom.info/everyone-has-a-different-mvp</guid>
                      <content:encoded>
                            <![CDATA[<p>MVP. POC. Spike. Beta. We throw these words around like everyone knows what they mean. They don’t.</p>
<p>I’ve been in meetings where one person’s MVP was nearly shippable. Another thought it meant a weekend hack. Both were frustrated. Both were right in their own heads.</p>
<p>The problem isn’t the words. It’s that we never stop to define them together. And the later you have that conversation, the more it hurts. By then, people have already built their MVP in their minds. Sometimes in code.</p>
<p>Get everyone in a room early. Ask what we’re trying to learn. Write it down. Make it boring and obvious. Then people can push back. “That’s not what we agreed to test.”</p>
<p>Without that, you’re just building and hoping.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 19 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Broken estimations</title>
                    <link>https://ahlstrom.info/broken-estimations</link>
                    <description>My estimation ability is completely broken. Everything I think will take weeks or months might take hours. So now I have two problems. The thing I’m building. And the fact that I can’t trust my own judgment about how long anything takes any more When the tools change this fast our assumptions from experience becomes a liability. You know too much about how things used to work.</description>
                    <guid>https://ahlstrom.info/broken-estimations</guid>
                      <content:encoded>
                            <![CDATA[<p>My estimation ability is completely broken.</p>
<p>Everything I think will take weeks or months might take hours.</p>
<p>So now I have two problems. The thing I’m building. And the fact that I can’t trust my own judgment about how long anything takes any more  </p>
<p>When the tools change this fast our assumptions from experience becomes a liability. You know too much about how things used to work.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Just food</title>
                    <link>https://ahlstrom.info/just-food</link>
                    <description>I’ve spent years thinking weight loss was complicated. Needed the right program. The right workout plan. We overcomplicate because simple feels wrong. Like we’re missing something. Like the real solution must be more sophisticated.</description>
                    <guid>https://ahlstrom.info/just-food</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve spent years thinking weight loss was complicated. Needed the right program. The right workout plan.</p>
<p>We overcomplicate because simple feels wrong. Like we’re missing something. Like the real solution must be more sophisticated.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Optimizing on old problems</title>
                    <link>https://ahlstrom.info/optimizing-on-old-problems</link>
                    <description>I tried to be clever last month. Built a tool that used cheaper LLMs for tool use. Tool use is when you let the chat bots know what kind of features they have access to like data that live on your server. Reasoning was solid. Cause when tool use first came out it was slow. Really slow. One way to solve that is to use a cheaper model to make understand which tools to use. But that constraint doesn’t exist anymore. Tool use is fast now. Has been for a while. I built an entire cost and speed...</description>
                    <guid>https://ahlstrom.info/optimizing-on-old-problems</guid>
                      <content:encoded>
                            <![CDATA[<p>I tried to be clever last month. Built a tool that used cheaper LLMs for tool use. Tool use is when you let the chat bots know what kind of features they have access to like data that live on your server.</p>
<p>Reasoning was solid. Cause when tool use first came out it was slow. Really slow. One way to solve that is to use a cheaper model to make understand which tools to use.</p>
<p>But that constraint doesn’t exist anymore. Tool use is fast now. Has been for a while.</p>
<p>I built an entire cost and speed optimization for a problem that was already solved.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Domain knowledge is the multiplier</title>
                    <link>https://ahlstrom.info/domain-knowledge-is-the-multiplier</link>
                    <description>AI gives you 10x only if you already know how to do 1x. I can build something in six hours that would have taken months. Not because AI is magic. But because I already know most of the stack. If I don’t know how things work, AI can’t teach me fast enough to understand what it wrote. I’ll spend my time confused. Debugging things I don’t understand. Building things that don’t fit together. But when you already know the domain, suddenly you’re flying. You can’t skip the fundamentals and expect...</description>
                    <guid>https://ahlstrom.info/domain-knowledge-is-the-multiplier</guid>
                      <content:encoded>
                            <![CDATA[<p>AI gives you 10x only if you already know how to do 1x.</p>
<p>I can build something in six hours that would have taken months. Not because AI is magic. But because I already know most of the stack.</p>
<p>If I don’t know how things work, AI can’t teach me fast enough to understand what it wrote. I’ll spend my time confused. Debugging things I don’t understand. Building things that don’t fit together.</p>
<p>But when you already know the domain, suddenly you’re flying.</p>
<p>You can’t skip the fundamentals and expect acceleration.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>A fraction of yourself</title>
                    <link>https://ahlstrom.info/a-fraction-of-yourself</link>
                    <description>Many creatives use only a small part of what they’re capable of. Not because they lack skill. Because they’re waiting. Waiting for someone else to join. Waiting for the right collaborator. Waiting for permission. Waiting for the moment to feel right. But you have to be the one who does it. Nobody else will carry your vision the way you will. And while you wait, that fraction stays a fraction.</description>
                    <guid>https://ahlstrom.info/a-fraction-of-yourself</guid>
                      <content:encoded>
                            <![CDATA[<p>Many creatives use only a small part of what they’re capable of.</p>
<p>Not because they lack skill. Because they’re waiting.</p>
<p>Waiting for someone else to join. Waiting for the right collaborator. Waiting for permission. Waiting for the moment to feel right.</p>
<p>But you have to be the one who does it.</p>
<p>Nobody else will carry your vision the way you will. And while you wait, that fraction stays a fraction.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 14 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Forgotten beginner</title>
                    <link>https://ahlstrom.info/forgotten-beginner</link>
                    <description>Someone asked me how to get started with AI. Like ChatGPT. I’ve been doing this for three years. Almost every day. And I realized I’ve completely forgotten what it’s like to be new. My answer was clumsy. Just try. Don’t be scared. Use it often. You’ll figure out what works. True. But not helpful. When you do something long enough you forget the first steps. You forget what was confusing. You forget the fear of looking stupid. The curse of experience is forgetting that others don’t have it yet.</description>
                    <guid>https://ahlstrom.info/forgotten-beginner</guid>
                      <content:encoded>
                            <![CDATA[<p>Someone asked me how to get started with AI. Like ChatGPT.</p>
<p>I’ve been doing this for three years. Almost every day. And I realized I’ve completely forgotten what it’s like to be new.</p>
<p>My answer was clumsy. Just try. Don’t be scared. Use it often. You’ll figure out what works.</p>
<p>True. But not helpful.</p>
<p>When you do something long enough you forget the first steps. You forget what was confusing. You forget the fear of looking stupid.</p>
<p>The curse of experience is forgetting that others don’t have it yet.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 13 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The burden of trust</title>
                    <link>https://ahlstrom.info/the-burden-of-trust</link>
                    <description>Hackday yesterday. Everyone went all in on AI-assisted building. No code reviews. No production concerns. No worrying about edge cases. Someone built a backup tool using GitHub Actions. Someone rebuilt our dev start engine in React for the terminal. Someone turned an article into a text adventure. I made an agent that helps you build agents. We went bananas. And I started wondering. What if this was every day? The first constraint is trust. Our readers trust that the website works. That the...</description>
                    <guid>https://ahlstrom.info/the-burden-of-trust</guid>
                      <content:encoded>
                            <![CDATA[<p>Hackday yesterday. Everyone went all in on AI-assisted building. No code reviews. No production concerns. No worrying about edge cases.</p>
<p>Someone built a backup tool using GitHub Actions. Someone rebuilt our dev start engine in React for the terminal. Someone turned an article into a text adventure. I made an agent that helps you build agents.</p>
<p>We went bananas.</p>
<p>And I started wondering. What if this was every day?</p>
<p>The first constraint is trust. Our readers trust that the website works. That the news is there when they need it. If we break things, we break trust. Inside the company too.</p>
<p>So maybe the question isn’t how to remove the burden. Maybe it’s where can we carry less of it. Where can we invent without the weight of keeping everything running.</p>
<p>Production needs responsibility. But invention needs room.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The cure for delusion</title>
                    <link>https://ahlstrom.info/the-cure-for-delusion</link>
                    <description>Heard something on the podcast “The Unscheduled CEO” that stuck. Delusion comes from thinking. Not from doing. As long as you’re just imagining the game you’ll build. The service you’ll launch. The thing you’ll create someday. You’re delusional. But the moment you start, you become reasonable. Not because the idea is better. Because you’re now in contact with reality. You’re getting feedback. You’re adjusting.</description>
                    <guid>https://ahlstrom.info/the-cure-for-delusion</guid>
                      <content:encoded>
                            <![CDATA[<p>Heard something on the podcast “The Unscheduled CEO” that stuck.</p>
<p>Delusion comes from thinking. Not from doing.</p>
<p>As long as you’re just imagining the game you’ll build. The service you’ll launch. The thing you’ll create someday. You’re delusional.</p>
<p>But the moment you start, you become reasonable.</p>
<p>Not because the idea is better. Because you’re now in contact with reality. You’re getting feedback. You’re adjusting.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Waiting for someone else</title>
                    <link>https://ahlstrom.info/waiting-for-someone-else</link>
                    <description>A pattern I keep seeing. People assume things will progress without them. Even when they’re the customer. Even when they’re the biggest stakeholder. Waiting for the vendor to reach out. Waiting for the project to move. Waiting for someone to ask what they need. But you’re the one who needs this. You’re the one with skin in the game. Nobody will push harder than you. If you don’t push at all, nothing happens.</description>
                    <guid>https://ahlstrom.info/waiting-for-someone-else</guid>
                      <content:encoded>
                            <![CDATA[<p>A pattern I keep seeing.</p>
<p>People assume things will progress without them. Even when they’re the customer. Even when they’re the biggest stakeholder.</p>
<p>Waiting for the vendor to reach out. Waiting for the project to move. Waiting for someone to ask what they need.</p>
<p>But you’re the one who needs this. You’re the one with skin in the game.</p>
<p>Nobody will push harder than you. If you don’t push at all, nothing happens.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>From my pocket</title>
                    <link>https://ahlstrom.info/from-my-pocket</link>
                    <description>Showed an old friend something yesterday. Pulled out my phone. Changed a feature on a live website while he watched. Claude Code wrote the code. Made a pull request. I tested it. We shipped it. All from my pocket. Maybe two minutes. He went quiet for a second. Then he said: “I just hope my job is around until retirement.” I didn’t know what to say to that.</description>
                    <guid>https://ahlstrom.info/from-my-pocket</guid>
                      <content:encoded>
                            <![CDATA[<p>Showed an old friend something yesterday. Pulled out my phone. Changed a feature on a live website while he watched.</p>
<p>Claude Code wrote the code. Made a pull request. I tested it. We shipped it.</p>
<p>All from my pocket. Maybe two minutes.</p>
<p>He went quiet for a second. Then he said: “I just hope my job is around until retirement.”</p>
<p>I didn’t know what to say to that.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 09 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Don't do their work</title>
                    <link>https://ahlstrom.info/dont-do-their-work</link>
                    <description>Three years into leading AI transformation. I know the shortcuts. I see the faster path. The temptation is real. Just do it yourself. Skip the fumbling. Ship it. But that’s not transformation. That’s you doing stuff while others watch. They need to do. They need to struggle a bit. They need to build the muscle. You can show. You can lead. You can clear obstacles. You cannot do their reps for them.</description>
                    <guid>https://ahlstrom.info/dont-do-their-work</guid>
                      <content:encoded>
                            <![CDATA[<p>Three years into leading AI transformation. I know the shortcuts. I see the faster path.</p>
<p>The temptation is real. Just do it yourself. Skip the fumbling. Ship it.</p>
<p>But that’s not transformation. That’s you doing stuff while others watch.</p>
<p>They need to do. They need to struggle a bit. They need to build the muscle.</p>
<p>You can show. You can lead. You can clear obstacles.</p>
<p>You cannot do their reps for them.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Personal values impacts AI adoption</title>
                    <link>https://ahlstrom.info/personal-values-impacts-ai-adoption</link>
                    <description>Your personal values decide how AI fits for you. Not just company values.</description>
                    <guid>https://ahlstrom.info/personal-values-impacts-ai-adoption</guid>
                      <content:encoded>
                            <![CDATA[<p>Your personal values decide how AI fits for you. Not just company values.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Adoption mimics company values</title>
                    <link>https://ahlstrom.info/adoption-mimics-values</link>
                    <description>Your companies AI adoption will mimic your company values.</description>
                    <guid>https://ahlstrom.info/adoption-mimics-values</guid>
                      <content:encoded>
                            <![CDATA[<p>Your companies AI adoption will mimic your company values.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The loudness war</title>
                    <link>https://ahlstrom.info/the-loudness-war</link>
                    <description>I’ve been thinking lately about self-regulation and how it’s sometimes impossible for a group to self-regulate. Currently it’s the AI race in regards to using any available content to train models, legal or illegal. In the mid-2000s people took soundbites from a game to piece together a better Metallica album because their own release was just the loudness war turned to eleven. The loudness war was a war where everyone lost. Artists got albums so crushed that fans had to fix them. Then...</description>
                    <guid>https://ahlstrom.info/the-loudness-war</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been thinking lately about self-regulation and how it’s sometimes impossible for a group to self-regulate. Currently it’s the AI race in regards to using any available content to train models, legal or illegal.</p>
<p>In the mid-2000s people took soundbites from a game to piece together a better Metallica album because their own release was just the loudness war turned to eleven.</p>
<p>The loudness war was a war where everyone lost. Artists got albums so crushed that fans had to fix them.</p>
<p>Then streaming platforms normalized everything to the same volume. The arms race became pointless overnight. An algorithm changed the incentive structure.</p>
<p>Self-regulation fails when defection is the only rational move. Right now AI companies are in their own loudness war. Train on everything. Legal or not. Because if you don’t, your competitor will.</p>
<p>The question is what external force changes the game this time.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>What gut estimates are actually for</title>
                    <link>https://ahlstrom.info/what-gut-estimates-are-actually-for</link>
                    <description>Gut estimates aren’t for planning. They reveal when developers are picturing completely different solutions. And they give stakeholders enough to decide if something’s worth pursuing.</description>
                    <guid>https://ahlstrom.info/what-gut-estimates-are-actually-for</guid>
                      <content:encoded>
                            <![CDATA[<p>Gut estimates aren’t for planning. They reveal when developers are picturing completely different solutions. And they give stakeholders enough to decide if something’s worth pursuing.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Critical creators of agile</title>
                    <link>https://ahlstrom.info/critical-creators-of-agile</link>
                    <description>A thing to remember about agile and the Agile Manifesto is that many of the 17 people who wrote it have become openly critical of how it’s been implemented. The idea of the manifesto was to start conversations not to end them.</description>
                    <guid>https://ahlstrom.info/critical-creators-of-agile</guid>
                      <content:encoded>
                            <![CDATA[<p>A thing to remember about agile and the Agile Manifesto is that many of the 17 people who wrote it have become openly critical of how it’s been implemented.</p>
<p>The idea of the manifesto was to start conversations not to end them.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Framing impossible</title>
                    <link>https://ahlstrom.info/framing-impossible</link>
                    <description>When something seems obviously impossible, check whether that’s because of the thing itself or because of how you’ve framed the question.​​​​​​​​​​​​​​​​</description>
                    <guid>https://ahlstrom.info/framing-impossible</guid>
                      <content:encoded>
                            <![CDATA[<p>When something seems obviously impossible, check whether that’s because of the thing itself or because of how you’ve framed the question.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Day 335</title>
                    <link>https://ahlstrom.info/day-335</link>
                    <description>The dip isn’t dramatic. It’s not a crisis. It’s just another Monday where the page is blank and there’s no particular reason to fill it. When I started this, it was for a month. I’ve never felt so close to the end while struggling to reach it. But New Year’s Day is not the end. I’ll continue.</description>
                    <guid>https://ahlstrom.info/day-335</guid>
                      <content:encoded>
                            <![CDATA[<p>The dip isn’t dramatic. It’s not a crisis. It’s just another Monday where the page is blank and there’s no particular reason to fill it.</p>
<p>When I started this, it was for a month. I’ve never felt so close to the end while struggling to reach it.</p>
<p>But New Year’s Day is not the end. I’ll continue.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Yes but why</title>
                    <link>https://ahlstrom.info/yes-but-why</link>
                    <description>AI won’t say no to your idea. The market will say no but only after you’ve built it. The rarest person is the one who says yes but why. They accept the idea exists. Then they ask why anyone should care. Find that person before you write the first line of code.​​​​​​​​​​​​​​​​</description>
                    <guid>https://ahlstrom.info/yes-but-why</guid>
                      <content:encoded>
                            <![CDATA[<p>AI won’t say no to your idea. The market will say no but only after you’ve built it.</p>
<p>The rarest person is the one who says yes but why.</p>
<p>They accept the idea exists. Then they ask why anyone should care.</p>
<p>Find that person before you write the first line of code.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Idea tax</title>
                    <link>https://ahlstrom.info/idea-tax</link>
                    <description>There are people who want to make things. And there are people who can build things. Sometimes they’re the same person. But for everyone else, the first iteration has always been expensive. Websites, apps, services. Getting something built meant finding someone who could build it and convincing them your idea was worth their time and cost. Many ideas died right there. Not because they were bad ideas but because the gap between imagining and building was too wide to cross alone. Now you can get...</description>
                    <guid>https://ahlstrom.info/idea-tax</guid>
                      <content:encoded>
                            <![CDATA[<p>There are people who want to make things. And there are people who can build things. Sometimes they’re the same person.</p>
<p>But for everyone else, the first iteration has always been expensive. Websites, apps, services. Getting something built meant finding someone who could build it and convincing them your idea was worth their time and cost.</p>
<p>Many ideas died right there. Not because they were bad ideas but because the gap between imagining and building was too wide to cross alone.</p>
<p>Now you can get these ideas out of your system. Try them for cheap. See if they hold up when they’re real and not just in your head.</p>
<p>Some ideas deserve to be built. Others you need to put to rest. Either way, you can find out without being pot-committed.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 29 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>A five minute fix</title>
                    <link>https://ahlstrom.info/a-five-minute-fix</link>
                    <description>Walking home from lunch with a friend, I noticed a bug on an experiment website. I opened Claude Code. Explained it. Set it off. Within a few minutes I got the code. It pushed to the repository which told my hosting provider to create a preview site. I confirmed the fix. Released it. Five minutes end to end. Think how this impacts small product sites, campaign sites. Does it scale to teams of ten people? Or a hundred? Probably not right now. But this is how far we’ve got. Claude Code was...</description>
                    <guid>https://ahlstrom.info/a-five-minute-fix</guid>
                      <content:encoded>
                            <![CDATA[<p>Walking home from lunch with a friend, I noticed a bug on an experiment website.</p>
<p>I opened Claude Code. Explained it. Set it off.</p>
<p>Within a few minutes I got the code. It pushed to the repository which told my hosting provider to create a preview site.</p>
<p>I confirmed the fix. Released it.</p>
<p>Five minutes end to end.</p>
<p>Think how this impacts small product sites, campaign sites.</p>
<p>Does it scale to teams of ten people? Or a hundred? Probably not right now.</p>
<p>But this is how far we’ve got. Claude Code was released in February.… this year… 2025.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 28 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Details and vibe code</title>
                    <link>https://ahlstrom.info/details-and-vibe-code</link>
                    <description>If everyone can code now. Then details matter more than ever.</description>
                    <guid>https://ahlstrom.info/details-and-vibe-code</guid>
                      <content:encoded>
                            <![CDATA[<p>If everyone can code now.</p>
<p>Then details matter more than ever.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Action then motivation </title>
                    <link>https://ahlstrom.info/action-then-motivation</link>
                    <description>Action comes first, motivation comes second. It’s not the other way around.</description>
                    <guid>https://ahlstrom.info/action-then-motivation</guid>
                      <content:encoded>
                            <![CDATA[<p>Action comes first, motivation comes second.</p>
<p>It’s not the other way around.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The future always wins</title>
                    <link>https://ahlstrom.info/the-future-always-wins</link>
                    <description>The future always wins. It’s undefeated. So don’t fight the future, everyone. It’s happening whether you like it or not. - Chris Do - The Futur Podcast</description>
                    <guid>https://ahlstrom.info/the-future-always-wins</guid>
                      <content:encoded>
                            <![CDATA[<blockquote>
<p>The future always wins. It’s undefeated. So don’t fight the future, everyone. It’s happening whether you like it or not. - Chris Do - The Futur Podcast</p>
</blockquote>
]]>
                        </content:encoded>
                    <pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title> Every generation is cheating</title>
                    <link>https://ahlstrom.info/every-generation-is-cheating</link>
                    <description>Every generation is blamed for cheating by using tools the previous generation did not have access to. I remember working in Photoshop and there were no layers. When there was no magnetic lasso. I remember when autocomplete was not a thing in the IDE. I remember when the IDE did not exist, you wrote in notepad. I remember when sampling in music was considered cheating. When using open source was considered unprofessional. When using Wikipedia was cheating. When using stock photos was cheating....</description>
                    <guid>https://ahlstrom.info/every-generation-is-cheating</guid>
                      <content:encoded>
                            <![CDATA[<p>Every generation is blamed for cheating by using tools the previous generation did not have access to.</p>
<p>I remember working in Photoshop and there were no layers. When there was no magnetic lasso. I remember when autocomplete was not a thing in the IDE. I remember when the IDE did not exist, you wrote in notepad. I remember when sampling in music was considered cheating. When using open source was considered unprofessional. When using Wikipedia was cheating. When using stock photos was cheating. When using Stack Overflow was cheating.</p>
<p>I will remember when using GenAI was considered cheating.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 24 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The TODOs of Lost</title>
                    <link>https://ahlstrom.info/the-todos-of-lost</link>
                    <description>Today I watched the Getting Lost documentary about the awesome tv-series Lost. One interesting fact is that the writers never expected to get past the pilot. They focused on making one episode that worked. But they are experienced writers and by trade they embedded potential in the characters and left small plots that could be picked up. Like friendly TODOs in code. Not promises to implement. Just honest markers that say “this could be something.” or ”remember to fix this later.”</description>
                    <guid>https://ahlstrom.info/the-todos-of-lost</guid>
                      <content:encoded>
                            <![CDATA[<p>Today I watched the Getting Lost documentary about the awesome tv-series Lost. One interesting fact is that the writers never expected to get past the pilot. They focused on making one episode that worked. But they are experienced writers and by trade they embedded potential in the characters and left small plots that could be picked up.</p>
<p>Like friendly TODOs in code. Not promises to implement. Just honest markers that say “this could be something.” or ”remember to fix this later.”</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 23 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Building at the speed of approval</title>
                    <link>https://ahlstrom.info/building-at-the-speed-of-approval</link>
                    <description>Across from the office a store needed more space. They put up an addition. The thing that struck me was the speed. A month or two from bare ground to a 20x20x10 meter (my really bad estimates here) structure standing there. Walls going up. Roof getting added. Pre-manufactured parts. They just assembled what arrived. Everyone talks about AI replacing programmers. I think it replaces something else entirely. The experienced developer now has prefab components. The AI tools are the...</description>
                    <guid>https://ahlstrom.info/building-at-the-speed-of-approval</guid>
                      <content:encoded>
                            <![CDATA[<p>Across from the office a store needed more space. They put up an addition. The thing that struck me was the speed. A month or two from bare ground to a 20x20x10 meter (my really bad estimates here) structure standing there. Walls going up. Roof getting added.</p>
<p>Pre-manufactured parts. They just assembled what arrived.</p>
<p>Everyone talks about AI replacing programmers. I think it replaces something else entirely.</p>
<p>The experienced developer now has prefab components. The AI tools are the pre-manufactured pieces. You can assemble something real while the meeting to discuss whether to build it is still being scheduled.</p>
<p>The bottleneck shifts. It’s not “can we build this” anymore. It’s not even “how long will it take to build.”</p>
<p>It’s whether the organization can approve and validate as fast as you can build.</p>
<p>You could have a working prototype before the first planning meeting ends. The code can be written faster than the documentation explaining why we need it.</p>
<p>But here’s the question: do we trust a structure built in a day? How long does code need to sit before we believe it won’t collapse under pressure?</p>
<p>The building across the street will stand for decades. It better. But it was assembled in weeks because someone else already solved the hard engineering problems.</p>
<p>Same pieces we’re using now. Just faster assembly.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 22 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Few steps ahead</title>
                    <link>https://ahlstrom.info/few-steps-ahead</link>
                    <description>I write because I might be a few steps ahead of someone who wants to learn something new. Someone who needs a path forward. We all have a unique mix of skills, behaviors and experiences. This combination becomes your unfair advantage when you share it. Share your experiences.</description>
                    <guid>https://ahlstrom.info/few-steps-ahead</guid>
                      <content:encoded>
                            <![CDATA[<p>I write because I might be a few steps ahead of someone who wants to learn something new. Someone who needs a path forward.</p>
<p>We all have a unique mix of skills, behaviors and experiences. This combination becomes your unfair advantage when you share it.</p>
<p>Share your experiences.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 21 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>I might be wrong</title>
                    <link>https://ahlstrom.info/i-might-be-wrong</link>
                    <description>“I might be wrong” is a cornerstone of how I manage. It keeps me flexible and open to reconsidering when someone explains I’m off base.</description>
                    <guid>https://ahlstrom.info/i-might-be-wrong</guid>
                      <content:encoded>
                            <![CDATA[<p>“I might be wrong” is a cornerstone of how I manage. It keeps me flexible and open to reconsidering when someone explains I’m off base.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 20 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Then it’s a marvel</title>
                    <link>https://ahlstrom.info/then-its-a-marvel</link>
                    <description>I’ve been taking improv classes for a couple of months now. The thing I love most about improvisation is the feeling of a team working together toward a goal. When we have aligned goals and clear structure, we trust each other and we want each other to succeed. Then it is a marvel.</description>
                    <guid>https://ahlstrom.info/then-its-a-marvel</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been taking improv classes for a couple of months now.</p>
<p>The thing I love most about improvisation is the feeling of a team working together toward a goal.</p>
<p>When we have aligned goals and clear structure, we trust each other and we want each other to succeed.</p>
<p>Then it is a marvel.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 19 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI might create order</title>
                    <link>https://ahlstrom.info/ai-might-create-order</link>
                    <description>The problem isn’t with AI’s capabilities. Companies are trying to automate chaos and expecting AI to magically create order from disorder.</description>
                    <guid>https://ahlstrom.info/ai-might-create-order</guid>
                      <content:encoded>
                            <![CDATA[<p>The problem isn’t with AI’s capabilities.</p>
<p>Companies are trying to automate chaos and expecting AI to magically create order from disorder.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 18 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Are we in the Confirmation Bias age?</title>
                    <link>https://ahlstrom.info/are-we-in-the-confirmation-bias-age</link>
                    <description>I’ve been thinking about this lately. Not whether confirmation bias exists (it always has) but whether we’ve built an entire infrastructure around it. The algorithms show us what we already believe (the filter bubble). ChatGPT is quick to tell us we’re right about things. And we’ve developed a whole subculture of just… cutting people off when they disagree. Unfriend, unfollow, block. It’s not that any of these things are necessarily wrong on their own. But together they create something like a...</description>
                    <guid>https://ahlstrom.info/are-we-in-the-confirmation-bias-age</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been thinking about this lately. Not whether confirmation bias exists (it always has) but whether we’ve built an entire infrastructure around it.</p>
<p>The algorithms show us what we already believe (the filter bubble). ChatGPT is quick to tell us we’re right about things. And we’ve developed a whole subculture of just… cutting people off when they disagree. Unfriend, unfollow, block.</p>
<p>It’s not that any of these things are necessarily wrong on their own. But together they create something like a confirmation bias feedback loop. You think something, the algorithm reinforces it, the AI validates it, and anyone who might challenge it gets removed.</p>
<p>Maybe every age has its dominant cognitive trap. Ours just happens to come with decent UX.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 17 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Building a chatbot from my phone</title>
                    <link>https://ahlstrom.info/building-a-chatbot-from-my-phone</link>
                    <description>Claude Code Web gave everyone $1000 credit to experiment with. I decided to build a restaurant catalogue chatbot for Umeå with full menu data. The stack is Cloudflare: D1 for the database, Vectorize for semantic search, R2 for storage. Gemini parses uploaded menus. Perplexity fills in restaurant information. Sounds complicated but it’s fairly straightforward. The workflow is what makes this interesting. Claude Code Web connects to a GitHub repo. I ask for a feature. It reads the code, makes...</description>
                    <guid>https://ahlstrom.info/building-a-chatbot-from-my-phone</guid>
                      <content:encoded>
                            <![CDATA[<p>Claude Code Web gave everyone $1000 credit to experiment with. I decided to build a restaurant catalogue chatbot for Umeå with full menu data.</p>
<p>The stack is Cloudflare: D1 for the database, Vectorize for semantic search, R2 for storage. Gemini parses uploaded menus. Perplexity fills in restaurant information. Sounds complicated but it’s fairly straightforward.</p>
<p>The workflow is what makes this interesting. Claude Code Web connects to a GitHub repo. I ask for a feature. It reads the code, makes edits, creates a PR. Cloudflare automatically deploys a feature branch with its own URL.</p>
<p>I test it on that URL. Ask for fixes if needed. Approve. It merges to main. Production deploys.</p>
<p>All of this from my phone.</p>
<p>I’ve made around 90 PRs. Spent about $100. That’s roughly $1.11 per shipped feature.</p>
<p>The constraint is being clear upfront. If I’m vague, Claude goes in the wrong direction and I waste iterations. When I’m precise, it usually nails the implementation.</p>
<p>The only real limitation is D1 migrations. Can’t run those from mobile. Though I could probably solve that with a GitHub Action.</p>
<p>I also bought a domain for 9 kronor.</p>
<p>It’s been a fun weekend experiment.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 16 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The great war of tabs vs spaces</title>
                    <link>https://ahlstrom.info/the-great-war-of-tabs-vs-spaces</link>
                    <description>For the longest time there was a disagreement. It was about tabs vs spaces. Developers argued in threads and pull requests. No conclusion to what was better. I jokingly always said ”one tab and one space” and very few laughed. That is how serious the ”war” was. Then code completion, prettier and lint came along and the discussion ended. I wonder what discussions we have today that will feel ancient in a couple of years time. Micro-services? AI assisted coding? Type in JavaScript? The cloud?</description>
                    <guid>https://ahlstrom.info/the-great-war-of-tabs-vs-spaces</guid>
                      <content:encoded>
                            <![CDATA[<p>For the longest time there was a disagreement. It was about tabs vs spaces. Developers argued in threads and pull requests. No conclusion to what was better.</p>
<p>I jokingly always said ”one tab and one space” and very few laughed. That is how serious the ”war” was.</p>
<p>Then code completion, prettier and lint came along and the discussion ended.</p>
<p>I wonder what discussions we have today that will feel ancient in a couple of years time.</p>
<p>Micro-services? AI assisted coding? Type in JavaScript? The cloud?</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 15 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Force of habit</title>
                    <link>https://ahlstrom.info/force-of-habit</link>
                    <description>Until it becomes a habit, breaking a routine requires force.</description>
                    <guid>https://ahlstrom.info/force-of-habit</guid>
                      <content:encoded>
                            <![CDATA[<p>Until it becomes a habit, breaking a routine requires force.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Impostor syndrome asymmetry </title>
                    <link>https://ahlstrom.info/impostor-syndrome-asymmetry</link>
                    <description>With impostor syndrome, I see the complete me. What I’m good at and what I’m not good at. When other people look at people with impostor syndrome, they tend to see what those people are good at. That’s the asymmetry. I experience every moment of struggle, every gap in knowledge, every time I’m winging it. Other people only see the output, the moments where I show up and deliver. They don’t see the internal uncertainty or the things I avoid because I know I can’t do them well. So they build an...</description>
                    <guid>https://ahlstrom.info/impostor-syndrome-asymmetry</guid>
                      <content:encoded>
                            <![CDATA[<p>With impostor syndrome, I see the complete me. What I’m good at and what I’m not good at. </p>
<p>When other people look at people with impostor syndrome, they tend to see what those people are good at. </p>
<p>That’s the asymmetry. </p>
<p>I experience every moment of struggle, every gap in knowledge, every time I’m winging it. </p>
<p>Other people only see the output, the moments where I show up and deliver.</p>
<p>They don’t see the internal uncertainty or the things I avoid because I know I can’t do them well. </p>
<p>So they build an image of me from the highlights while I’m working with the full unedited footage.​​​​​​​​​​​​​​​​</p>
<p>They see the Instagram feed. I see all the photos that didn’t make the cut.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>REF: The MVP of AI transformation</title>
                    <link>https://ahlstrom.info/ref-the-mvp-of-ai-transformation</link>
                    <description>I’ve been thinking about transformation a lot recently because… well… AI and while I’ve used it plenty for myself I’ve been struggling with the transformation of a whole organisation. And I think this was my main blocker, starting to big. With this in mind I started dabbling with alternatives and created this acronym REF. Result. Eliminate. Focus. Most AI transformation advice tells you to think big. Build a comprehensive strategy. Map every department. Create governance frameworks. Six month...</description>
                    <guid>https://ahlstrom.info/ref-the-mvp-of-ai-transformation</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been thinking about transformation a lot recently because… well… AI and while I’ve used it plenty for myself I’ve been struggling with the transformation of a whole organisation. </p>
<p>And I think this was my main blocker, starting to big. With this in mind I started dabbling with alternatives and created this acronym REF.</p>
<p><strong>Result. Eliminate. Focus.</strong></p>
<p>Most AI transformation advice tells you to think big. Build a comprehensive strategy. Map every department. Create governance frameworks. Six month rollouts.</p>
<p>This is why nothing happens.</p>
<p>REF is the transformational version of MVP. </p>
<p>Start with one workflow where you can show a result this week. Not next quarter. This week. Someone writes an email in 30 seconds instead of 30 minutes. That’s the result that changes belief.</p>
<p>Then eliminate whatever makes it hard to do again. Is Claude blocked by IT? Fix that. Do people not know it exists? Tell them. Is the prompt buried in a shared doc? Make it a bookmark. Eliminate friction until using AI is easier than not using it.</p>
<p>And focus means picking one thing. Not “transform customer service and sales and operations and HR.” Pick customer service. Or pick one team in customer service. Or pick one type of email that one team sends.</p>
<p>The paradox is that narrow actually spreads faster than broad. When one team gets a 10x improvement on something specific, other teams notice. They ask how. They want in.</p>
<p>Trying to transform everything at once means no one experiences anything changing.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 12 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The better you get, the harder it is to explain</title>
                    <link>https://ahlstrom.info/the-better-you-get-the-harder-it-is-to-explain</link>
                    <description>Expertise makes things intuitive. What took months to learn becomes automatic. You see solutions without thinking through all the steps. This is why vetting senior developers is tricky. If you can’t explain your reasoning, you can’t convince the team your solution is good. Code reviews. Architecture decisions. Technical discussions. Intuition only helps if you can translate it into words.</description>
                    <guid>https://ahlstrom.info/the-better-you-get-the-harder-it-is-to-explain</guid>
                      <content:encoded>
                            <![CDATA[<p>Expertise makes things intuitive. What took months to learn becomes automatic. You see solutions without thinking through all the steps.</p>
<p>This is why vetting senior developers is tricky. If you can’t explain your reasoning, you can’t convince the team your solution is good.</p>
<p>Code reviews. Architecture decisions. Technical discussions. Intuition only helps if you can translate it into words.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Sidewalks filled with robots</title>
                    <link>https://ahlstrom.info/sidewalks-filled-with-robots</link>
                    <description>Will our near future sidewalks be filled by slow robots in a similar fashion like the VOI and Ryde scooters? and will we humans stumble and complain about them in a similar way?</description>
                    <guid>https://ahlstrom.info/sidewalks-filled-with-robots</guid>
                      <content:encoded>
                            <![CDATA[<p>Will our near future sidewalks be filled by slow robots in a similar fashion like the VOI and Ryde scooters? and will we humans stumble and complain about them in a similar way?</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The vicious cycle of over complication</title>
                    <link>https://ahlstrom.info/the-vicious-cycle-of-over-complication</link>
                    <description>Overcomplicated codebases teach us developers to overcomplicate. We work daily with code that should have been replaced years ago. So we start building for all the maybes upfront. This creates the exact kind of complicated code we hate working with. The cycle continues. And it wasn’t that simple code failed us. It was that we were never allowed to throw the complicated code away and start over when we learned what we actually needed.​​​​​​​​​​​​​​​​</description>
                    <guid>https://ahlstrom.info/the-vicious-cycle-of-over-complication</guid>
                      <content:encoded>
                            <![CDATA[<p>Overcomplicated codebases teach us developers to overcomplicate. </p>
<p>We work daily with code that should have been replaced years ago. So we start building for all the maybes upfront. </p>
<p>This creates the exact kind of complicated code we hate working with. The cycle continues. </p>
<p>And it wasn’t that simple code failed us. It was that we were never allowed to throw the complicated code away and start over when we learned what we actually needed.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 09 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Internal soundtracks</title>
                    <link>https://ahlstrom.info/internal-soundtracks</link>
                    <description>Your thoughts are the internal soundtracks you listen to even more than your favorite song. - Jon Acuff - Soundtracks</description>
                    <guid>https://ahlstrom.info/internal-soundtracks</guid>
                      <content:encoded>
                            <![CDATA[<blockquote>
<p>Your thoughts are the internal soundtracks you listen to even more than your favorite song. - <strong>Jon Acuff - Soundtracks</strong></p>
</blockquote>
]]>
                        </content:encoded>
                    <pubDate>Sat, 08 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>F#@%ing free food</title>
                    <link>https://ahlstrom.info/f—-ing-free-food</link>
                    <description>I was visiting New York and the offices of a company I was working with. It was one of those startups that poured down millions in making it comfortable to relocate by having a super nice office that you actually liked hanging in and a bunch of free stuff. Drinks, candy, breakfast, lunch. They even had cold brew on tap. I loved it, cold coffee. One day during lunch a newly opened restaurant catered sandwiches. And I recall so vividly this guy complaining on the company email about his...</description>
                    <guid>https://ahlstrom.info/f—-ing-free-food</guid>
                      <content:encoded>
                            <![CDATA[<p>I was visiting New York and the offices of a company I was working with. It was one of those startups that poured down millions in making it comfortable to relocate by having a super nice office that you actually liked hanging in and a bunch of free stuff. Drinks, candy, breakfast, lunch. They even had cold brew on tap. I loved it, cold coffee.</p>
<p>One day during lunch a newly opened restaurant catered sandwiches. And I recall so vividly this guy complaining on the company email about his experience with the sandwich, how he bashed the restaurant and that there was too much mayonnaise and so on.</p>
<p>That’s when I started using the sentence “f*@$ing free food” to somehow visualize the absurdity in complaining about something free. “I know… f&amp;%#ing free food… am I right?”</p>
<p>This is the same feeling that comes up when someone complains about social networks like LinkedIn. People say it has gone worse, that it no longer suits their needs. It’s all sales and cold outreach. Recruiters who don’t read your resume pitch you odd jobs. AI slop everywhere. Productivity bros and gals pumping out content.</p>
<p>We somehow feel entitled to a glorious experience just because we’ve invested a couple of hours on a weekly basis approving some contacts.</p>
<p>We could always leave. Build our own websites. Send actual emails to people we want to talk to. Go to real conferences and shake real hands. But we won’t, because for all the complaints LinkedIn still does the work of keeping us visible and connected without us having to do much of anything.</p>
<p>“I know… f%*&amp;ing free social media… am I right?“​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 07 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The maker spirit of AI</title>
                    <link>https://ahlstrom.info/the-maker-spirit-of-ai</link>
                    <description>There’s a lot of talk about AI from me lately. But I think that comes from this awesome feeling of tinkering. We don’t quite know what the benefits are yet or how we’ll use it. So there’s no real plan—just curiosity. You test and try what works. Repeat. Do it again. A new model comes out. Repeat. That’s what I love about it. I can build a thousand small apps that suit whatever need I have in the moment. Then I can break them apart to see what parts can be reused elsewhere. It’s the tinkering...</description>
                    <guid>https://ahlstrom.info/the-maker-spirit-of-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>There’s a lot of talk about AI from me lately. But I think that comes from this awesome feeling of tinkering. We don’t quite know what the benefits are yet or how we’ll use it. So there’s no real plan—just curiosity. You test and try what works. Repeat. Do it again. A new model comes out. Repeat. That’s what I love about it.</p>
<p>I can build a thousand small apps that suit whatever need I have in the moment. Then I can break them apart to see what parts can be reused elsewhere. It’s the tinkering mindset that really draws me to this new generative AI world.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 06 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Let the LLM make a mess</title>
                    <link>https://ahlstrom.info/let-the-llm-make-a-mess</link>
                    <description>Let the LLM write the code. The first version might be too big, but that’s fine. It figured out the problem by writing the solution. That’s how autocomplete works. Now ask it to simplify. Make it smaller, cleaner, easier to understand. This mirrors Kent Beck’s classic approach: make it work, then make it right.</description>
                    <guid>https://ahlstrom.info/let-the-llm-make-a-mess</guid>
                      <content:encoded>
                            <![CDATA[<p>Let the LLM write the code. The first version might be too big, but that’s fine. It figured out the problem by writing the solution. That’s how autocomplete works.</p>
<p>Now ask it to simplify. Make it smaller, cleaner, easier to understand.</p>
<p>This mirrors Kent Beck’s classic approach: make it work, then make it right.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 05 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Coding is not engineering </title>
                    <link>https://ahlstrom.info/coding-is-not-engineering</link>
                    <description>There is difference between coding and engineering. Coding is about writing code. Engineering is understanding that piece of code in its bigger context.</description>
                    <guid>https://ahlstrom.info/coding-is-not-engineering</guid>
                      <content:encoded>
                            <![CDATA[<p>There is difference between coding and engineering. Coding is about writing code. Engineering is understanding that piece of code in its bigger context.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Ways to find what people actually want</title>
                    <link>https://ahlstrom.info/ways-to-find-what-people-actually-want</link>
                    <description>Before 1901, Ohio State had a grassy field between their library and University Hall. No paths laid down yet. Students walked to class anyway, carving routes through the grass as they went. Over time those worn trails became permanent, and eventually the university paved them. The geometric pattern they form is still there today, defining The Oval at the center of campus. Product builders do something similar when they make tools flexible enough that people can bend them in unexpected ways....</description>
                    <guid>https://ahlstrom.info/ways-to-find-what-people-actually-want</guid>
                      <content:encoded>
                            <![CDATA[<p>Before 1901, Ohio State had a grassy field between their library and University Hall. No paths laid down yet. Students walked to class anyway, carving routes through the grass as they went. Over time those worn trails became permanent, and eventually the university paved them. The geometric pattern they form is still there today, defining The Oval at the center of campus.</p>
<p>Product builders do something similar when they make tools flexible enough that people can bend them in unexpected ways. Boris Cherny at Anthropic calls this finding latent demand. You build something hackable and open-ended, then watch how people abuse it for cases you never designed for. Those unintended uses show you what people actually want. That’s apparently how Claude Code gets built. They watch what people hack together, then build features to support those patterns.</p>
<p>Both approaches are trusting the same thing. That observation beats assumption. That the people using something will show you what they need if you give them room to move and then pay attention to where they go.</p>
<p>The impact is remarkably similar too. You end up building what people actually need instead of what you thought they needed. The paths get laid where people already walk. The features get built where people are already working.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 03 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When Gen AI is thinking </title>
                    <link>https://ahlstrom.info/when-gen-ai-is-thinking</link>
                    <description>When gen AI is “thinking,” it’s deciding which part of its knowledge to search more carefully. Like a librarian checking a specific shelf instead of running around grabbing random books. Two years ago we called this prompt engineering. We told the chatbot where to look. Now it figures that out itself. That’s the main difference. The thinking lets it course-correct too. It can start at one shelf, realize that’s wrong, and move to another. With prompt engineering we had to guess right the first...</description>
                    <guid>https://ahlstrom.info/when-gen-ai-is-thinking</guid>
                      <content:encoded>
                            <![CDATA[<p>When gen AI is “thinking,” it’s deciding which part of its knowledge to search more carefully. Like a librarian checking a specific shelf instead of running around grabbing random books.</p>
<p>Two years ago we called this prompt engineering. We told the chatbot where to look. Now it figures that out itself. That’s the main difference.</p>
<p>The thinking lets it course-correct too. It can start at one shelf, realize that’s wrong, and move to another. With prompt engineering we had to guess right the first time.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Real friction vs would it be cool</title>
                    <link>https://ahlstrom.info/real-friction-vs-would-it-be-cool</link>
                    <description>Build products from real friction, not from ideas that sound good.</description>
                    <guid>https://ahlstrom.info/real-friction-vs-would-it-be-cool</guid>
                      <content:encoded>
                            <![CDATA[<p>Build products from real friction, not from ideas that sound good.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 01 Nov 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The new GeoCities era</title>
                    <link>https://ahlstrom.info/new-geocities-era</link>
                    <description>The current AI boom feels like the late 90s, reminiscent of the GeoCities era when anyone with Notepad and a few lines of HTML could create history. Now everyone’s building tools using AI in their spare time. That was a crazy time to be alive, and this is similar.</description>
                    <guid>https://ahlstrom.info/new-geocities-era</guid>
                      <content:encoded>
                            <![CDATA[<p>The current AI boom feels like the late 90s, reminiscent of the GeoCities era when anyone with Notepad and a few lines of HTML could create history. Now everyone’s building tools using AI in their spare time. That was a crazy time to be alive, and this is similar.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Infrastructure from experiments</title>
                    <link>https://ahlstrom.info/infrastructure-from-experiments</link>
                    <description>Infrastructure doesn’t need to be planned. It can emerge from experiments when keeping them around costs nothing. I pay $5 a month for Cloudflare Workers. That gives me room for hundreds of microservices. So when I build something, I just add another one. Right now I’m building LLM-specific microservices. One for Claude, one for OpenAI, one for each model I use. Could I build one service that handles all of them? Sure. But that gets complex. Separate services means separate simplicity. No...</description>
                    <guid>https://ahlstrom.info/infrastructure-from-experiments</guid>
                      <content:encoded>
                            <![CDATA[<p>Infrastructure doesn’t need to be planned. It can emerge from experiments when keeping them around costs nothing.</p>
<p>I pay $5 a month for Cloudflare Workers. That gives me room for hundreds of microservices. So when I build something, I just add another one.</p>
<p>Right now I’m building LLM-specific microservices. One for Claude, one for OpenAI, one for each model I use. Could I build one service that handles all of them? Sure. But that gets complex. Separate services means separate simplicity.</p>
<p>No roadmap. No grand design. Just solving problems and keeping the solutions around.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Perception gap</title>
                    <link>https://ahlstrom.info/perception-gap</link>
                    <description>Even though your company doesn’t think AI will improve your work and doesn’t invest in it, others might expect that you’re on top of it. Otherwise they might choose other companies that can prove it works for them. It’s about keeping you relevant.​​​​​​​​​​​​​​​​</description>
                    <guid>https://ahlstrom.info/perception-gap</guid>
                      <content:encoded>
                            <![CDATA[<p>Even though your company doesn’t think AI will improve your work and doesn’t invest in it, others might expect that you’re on top of it. Otherwise they might choose other companies that can prove it works for them.</p>
<p>It’s about keeping you relevant.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 29 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Longevity in code</title>
                    <link>https://ahlstrom.info/longevity-in-code</link>
                    <description>Someday in a distant future people will complain that your code is the reason they are in this mess.</description>
                    <guid>https://ahlstrom.info/longevity-in-code</guid>
                      <content:encoded>
                            <![CDATA[<p>Someday in a distant future people will complain that your code is the reason they are in this mess.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Watching is not practicing </title>
                    <link>https://ahlstrom.info/watching-is-not-practicing</link>
                    <description>Understanding someone else’s work is not the same as being able to do the work yourself. Watching is not practicing.</description>
                    <guid>https://ahlstrom.info/watching-is-not-practicing</guid>
                      <content:encoded>
                            <![CDATA[<p>Understanding someone else’s work is not the same as being able to do the work yourself. Watching is not practicing.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 27 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Loosing the friction</title>
                    <link>https://ahlstrom.info/loosing-the-friction</link>
                    <description>Becoming engineering manager and later CTO meant becoming a worse developer. Not because I forgot how to code. Because I stopped feeling the friction. I used to know when the build took too long. When a dependency broke randomly. When the deploy process made you hold your breath. Now I have to ask people to describe pain I no longer experience. You get promoted away from the thing that made you good at your job. You lose the direct feedback loop. The thing that told you what actually mattered....</description>
                    <guid>https://ahlstrom.info/loosing-the-friction</guid>
                      <content:encoded>
                            <![CDATA[<p>Becoming engineering manager and later CTO meant becoming a worse developer.</p>
<p>Not because I forgot how to code. Because I stopped feeling the friction.</p>
<p>I used to know when the build took too long. When a dependency broke randomly. When the deploy process made you hold your breath.</p>
<p>Now I have to ask people to describe pain I no longer experience.</p>
<p>You get promoted away from the thing that made you good at your job.</p>
<p>You lose the direct feedback loop. The thing that told you what actually mattered.</p>
<p>It’s a different kind of work. Sometimes I miss just feeling it myself.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 26 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Never break the chain</title>
                    <link>https://ahlstrom.info/never-break-the-chain</link>
                    <description>January was supposed to be one month. A writing experiment. Post something every day and see what happens. Then February came. Then March. Now it’s almost November. I lowered the bar to make it sustainable. The streak itself became the higher bar. Never break the chain. I’m not just protecting the chain. The chain protects me. Every day I’m scanning for something worth capturing. A feeling. An observation. A pattern I haven’t noticed before. The daily practice forces me to keep looking. The...</description>
                    <guid>https://ahlstrom.info/never-break-the-chain</guid>
                      <content:encoded>
                            <![CDATA[<p>January was supposed to be one month. A writing experiment. Post something every day and see what happens.</p>
<p>Then February came. Then March. Now it’s almost November.</p>
<p>I lowered the bar to make it sustainable. The streak itself became the higher bar. Never break the chain.</p>
<p>I’m not just protecting the chain. The chain protects me.</p>
<p>Every day I’m scanning for something worth capturing. A feeling. An observation. A pattern I haven’t noticed before.</p>
<p>The daily practice forces me to keep looking.</p>
<p>The commitment isn’t to writing anymore. It’s to staying receptive.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 25 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Small errors compound </title>
                    <link>https://ahlstrom.info/small-errors-compound</link>
                    <description>Fly from Stockholm to New York with a 1% leftward lean. No corrections. You’ll miss Manhattan by over 100 kilometers. This is AI-assisted development without a clear destination. Each generated function that’s “close enough” creates a small deviation. The AI suggests Axios when you use Fetch. It abstracts the user model differently than your auth system. It handles errors with try-catch instead of your Result types. Twenty iterations later, your codebase has drifted into unfamiliar territory....</description>
                    <guid>https://ahlstrom.info/small-errors-compound</guid>
                      <content:encoded>
                            <![CDATA[<p>Fly from Stockholm to New York with a 1% leftward lean. No corrections. You’ll miss Manhattan by over 100 kilometers.</p>
<p>This is AI-assisted development without a clear destination.</p>
<p>Each generated function that’s “close enough” creates a small deviation. The AI suggests Axios when you use Fetch. It abstracts the user model differently than your auth system. It handles errors with try-catch instead of your Result types.</p>
<p>Twenty iterations later, your codebase has drifted into unfamiliar territory.</p>
<p>The drift is subtle. Each suggestion seems reasonable. The AI solves the immediate problem. The code works.</p>
<p>Working code aimed at the wrong target is still failure.</p>
<p>A flight plan isn’t just knowing you want to reach New York. It’s knowing your route, your waypoints, your altitude. In code, that means architecture decisions, patterns, constraints. All defined before you start.</p>
<p>Just like pilots check waypoints, you need architectural checkpoints. Regular moments to ask: Is this still the system I intended to build?</p>
<p>Moving faster in the wrong direction just means arriving at the wrong destination sooner.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI can’t watch for signals</title>
                    <link>https://ahlstrom.info/ai-cant-watch-for-signals</link>
                    <description>Working with AI tools makes this obvious. The more input I give, the bigger the output gets. But what I actually want is short and crisp. When I ask a peer for their opinion, I usually don’t want the five minute explanation. I want their 30 second take. If that resonates good or bad, we can go deeper. The problem is AI can’t read signals until it’s done with its response. When a person rambles, you can interrupt. “Wait, what did you mean by that?” They rewind to that specific moment. You probe...</description>
                    <guid>https://ahlstrom.info/ai-cant-watch-for-signals</guid>
                      <content:encoded>
                            <![CDATA[<p>Working with AI tools makes this obvious. The more input I give, the bigger the output gets.</p>
<p>But what I actually want is short and crisp. When I ask a peer for their opinion, I usually don’t want the five minute explanation. I want their 30 second take. If that resonates good or bad, we can go deeper.</p>
<p>The problem is AI can’t read signals until it’s done with its response.</p>
<p>When a person rambles, you can interrupt. “Wait, what did you mean by that?” They rewind to that specific moment. You probe where it matters.</p>
<p>AI doesn’t let you probe mid-stream. You either get everything dumped at once, or when you as for a concise version you get the compressed version with no way back to the reasoning.</p>
<p>That’s why I end up asking twice. But now if I want to understand why it suggested something, I have to dig through that first wall of text.</p>
<p>Conversations with humans lets you navigate. AI makes you choose between getting lost in details or flying blind without them.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Biweekly bird’s-eye view</title>
                    <link>https://ahlstrom.info/biweekly-birds-eye-view</link>
                    <description>Every other week I have a calendar invite to think about three months from now. Where do I need to be? What needs to be finished? How far along should this project be? It’s easy to get deep into current events and daily fires. This biweekly pause forces me to step back and get a bird’s-eye view.​​​​​​​​​​​​​​​​</description>
                    <guid>https://ahlstrom.info/biweekly-birds-eye-view</guid>
                      <content:encoded>
                            <![CDATA[<p>Every other week I have a calendar invite to think about three months from now. Where do I need to be? What needs to be finished? How far along should this project be?</p>
<p>It’s easy to get deep into current events and daily fires. This biweekly pause forces me to step back and get a bird’s-eye view.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>You'll say it three times</title>
                    <link>https://ahlstrom.info/youll-say-it-three-times</link>
                    <description>Today I ran a workshop and experienced one thing that people rarely talk about. You most often need to repeat yourself around three times when trying to achieve something. Once to the full group. Once to each team in their own context or room. And often once more to clarify specific details. This isn’t about bad documentation or confused participants. It’s about how facilitation actually works. You explain the task. People nod. Then they start working and need to hear it again in their specific...</description>
                    <guid>https://ahlstrom.info/youll-say-it-three-times</guid>
                      <content:encoded>
                            <![CDATA[<p>Today I ran a workshop and experienced one thing that people rarely talk about. You most often need to repeat yourself around three times when trying to achieve something. </p>
<p>Once to the full group. Once to each team in their own context or room. And often once more to clarify specific details. </p>
<p>This isn’t about bad documentation or confused participants. It’s about how facilitation actually works.</p>
<p>You explain the task. People nod. Then they start working and need to hear it again in their specific context. Then once more on a particular detail.</p>
<p>The documentation did its job. But walking between rooms and repeating myself is part of the process, not a sign something went wrong.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>A generalists unfair advantage</title>
                    <link>https://ahlstrom.info/a-generalists-unfair-advantage</link>
                    <description>Generalists might be the winners in AI-assisted development. AI writes perfect functions when you tell it exactly what to build. But someone needs to know the real problem isn’t the code. It’s the caching strategy, the mobile UX or how this connects to the payment system. The specialist gets incredible productivity in their narrow slice. The generalist becomes the conductor. The catch is too many generalists and nobody can decide what to actually build.</description>
                    <guid>https://ahlstrom.info/a-generalists-unfair-advantage</guid>
                      <content:encoded>
                            <![CDATA[<p>Generalists might be the winners in AI-assisted development.</p>
<p>AI writes perfect functions when you tell it exactly what to build. But someone needs to know the real problem isn’t the code. It’s the caching strategy, the mobile UX or how this connects to the payment system.</p>
<p>The specialist gets incredible productivity in their narrow slice. The generalist becomes the conductor.</p>
<p>The catch is too many generalists and nobody can decide what to actually build.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Lower the bar with transcripts </title>
                    <link>https://ahlstrom.info/lower-the-bar-with-transcripts</link>
                    <description>I’ve been recording myself talking instead of writing. Then letting AI clean it up afterward. When I write, I’m constantly stopping. Should this be bold? Does this sentence need a comma? Is this the right word? I’m editing while generating. When I talk, I can’t format while speaking. I can’t fix spelling. I just follow the thought. If one idea splits into three, you just keep talking. You don’t feel locked into the structure you started with. Maybe this becomes one post or maybe it becomes...</description>
                    <guid>https://ahlstrom.info/lower-the-bar-with-transcripts</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been recording myself talking instead of writing. Then letting AI clean it up afterward.</p>
<p>When I write, I’m constantly stopping. Should this be bold? Does this sentence need a comma? Is this the right word? I’m editing while generating.</p>
<p>When I talk, I can’t format while speaking. I can’t fix spelling. I just follow the thought.</p>
<p>If one idea splits into three, you just keep talking. You don’t feel locked into the structure you started with. Maybe this becomes one post or maybe it becomes three. You don’t have to decide upfront.</p>
<p>With writing you often feel committed to the outline you had in mind. You start with “this is my post about X” and that becomes a constraint. But when you’re talking and X reminds you of Y and Z, you just follow it. Later you can carve it up into separate pieces.</p>
<p>The generation mindset and the evaluation mindset compete for the same mental resources. When you’re filtering for quality while generating, neither process works well.</p>
<p>So I record. I ramble. I follow tangents. Then the AI translates it into something readable. It handles the “should this be bold” phase while I focus on getting ideas out.</p>
<p>The low bar approach captures half-formed thoughts and weird tangents that sometimes lead somewhere unexpected. You can raise the bar later when you switch modes.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Magic of getting different answers</title>
                    <link>https://ahlstrom.info/magic-of-getting-different-answers</link>
                    <description>I’ve been fighting non-determinism my entire career as a developer. Race conditions. Timing issues. Environmental dependencies. “Works on my machine” has driven me borderline crazy, on the verge of throwing the computer out the window. I write deterministic code that for some odd reason acts unpredictable anyway. So when generative AI shows up giving a different essay every time you ask the same question, I’m not thrown by it. I already have the mental scaffolding for unpredictable systems....</description>
                    <guid>https://ahlstrom.info/magic-of-getting-different-answers</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been fighting non-determinism my entire career as a developer. Race conditions. Timing issues. Environmental dependencies. “Works on my machine” has driven me borderline crazy, on the verge of throwing the computer out the window.</p>
<p>I write deterministic code that for some odd reason acts unpredictable anyway.</p>
<p>So when generative AI shows up giving a different essay every time you ask the same question, I’m not thrown by it. I already have the mental scaffolding for unpredictable systems.</p>
<p>Most people spent decades learning that computers do exactly what you tell them. Press save. It saves. Run the command again. Same result. Then AI arrives and suddenly feels like magic.</p>
<p>But turns out most developers aren’t fazed by this. We’re already trauma bonded with systems that should be predictable but aren’t.</p>
<p>Most people think: computer does what I tell it to do.</p>
<p>Developers think: computer usually does what I tell it to do, except when the database has opinions.</p>
<p>We’ve all filed bug reports that start with “sometimes” or “intermittently.” Trying to reproduce something that works fine on Tuesday but fails on Wednesday for reasons nobody can explain.</p>
<p>For once the non-determinism isn’t a bug to fix. It’s working as intended.</p>
<p>After spending years hunting down every source of randomness in our systems, we’re now building tools where randomness is the core feature.</p>
<p>So the thing everyone else finds magical is what we’ve been trying to eliminate for decades.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 18 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Users know problems</title>
                    <link>https://ahlstrom.info/users-know-problems</link>
                    <description>User research shouldn’t directly dictate what you build. It teaches you how customers think and what problems they face. Research reveals the actual problem. Your job is crafting the right solution, which often looks completely different from what users initially described.</description>
                    <guid>https://ahlstrom.info/users-know-problems</guid>
                      <content:encoded>
                            <![CDATA[<p>User research shouldn’t directly dictate what you build. It teaches you how customers think and what problems they face.</p>
<p>Research reveals the actual problem. Your job is crafting the right solution, which often looks completely different from what users initially described.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Three barriers to trying something again</title>
                    <link>https://ahlstrom.info/three-barriers-to-trying-something-again</link>
                    <description>There are two types of people. One tries things once. If it sucks, they never try again. The other keeps tinkering. They investigate, they experiment, they come back. You see this everywhere but it’s especially visible with generative AI right now. Someone tried it two years ago, it gave mediocre answers, and they decided it wasn’t for them. Meanwhile the technology improved dramatically. The tinkerers kept going. They learned how to write better prompts, figured out which tasks actually...</description>
                    <guid>https://ahlstrom.info/three-barriers-to-trying-something-again</guid>
                      <content:encoded>
                            <![CDATA[<p>There are two types of people.</p>
<p>One tries things once. If it sucks, they never try again.</p>
<p>The other keeps tinkering. They investigate, they experiment, they come back.</p>
<p>You see this everywhere but it’s especially visible with generative AI right now. Someone tried it two years ago, it gave mediocre answers, and they decided it wasn’t for them. Meanwhile the technology improved dramatically. The tinkerers kept going. They learned how to write better prompts, figured out which tasks actually worked, built intuition.</p>
<p>Now there’s this divide. The difference isn’t intelligence. It’s about clearing three specific barriers.</p>
<p>The first is capacity. Tinkering requires slack. If you’re already drowning, you can’t pause to learn how to swim better.</p>
<p>The second is mindset. People with a fixed mindset avoid situations where they might look stupid or feel incompetent. Playing with new tools when you don’t know what you’re doing feels vulnerable. Nothing works the way you expect. Growth mindset people are comfortable being temporarily bad at something. They expect the learning curve. The first prompt doesn’t work? Try again.</p>
<p>The third is curiosity. Some people are wired to investigate, others aren’t. This isn’t about being smarter or more ambitious. It’s temperament. Tinkerers see something broken or confusing and think “interesting.” Other people think “frustrating” and move on.</p>
<p>The people who cleared those three barriers two years ago now have a completely different relationship with these tools.</p>
<p>If you want to get there, start small. Find 20 minutes. Talk to your boss about creating space for experimentation. Ask your peers who use these tools how they actually use them. Have those conversations during lunch. The gap isn’t permanent. You just need to decide to cross it.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The goals are rarely the goal</title>
                    <link>https://ahlstrom.info/the-goals-are-rarely-the-goal</link>
                    <description>A stated goal often serves as an organizing principle to get people moving in roughly the same direction rather than being the actual destination. As soon as you arrive at that destination, a new goalpost appears. How can we get this in the hands of users? How can we get them to use it more often? What don’t they like? What do they like?</description>
                    <guid>https://ahlstrom.info/the-goals-are-rarely-the-goal</guid>
                      <content:encoded>
                            <![CDATA[<p>A stated goal often serves as an organizing principle to get people moving in roughly the same direction rather than being the actual destination. </p>
<p>As soon as you arrive at that destination, a new goalpost appears. </p>
<p>How can we get this in the hands of users? How can we get them to use it more often? What don’t they like? What do they like?</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>9 Kilometers to Acid</title>
                    <link>https://ahlstrom.info/9-kilometers-to-acid</link>
                    <description>This is the three hundred and third post. Summer 1997. I’d been at Hultsfred, saw Fatboy Slim DJing, The Prodigy on stage, Daft Punk’s 1997 gig. That sound was inside me now. The 303 squelch. The acid bass. I needed to make it myself. Around 2-3 in the morning, I remember seeing Minimalisterna playing some sort of app on a big computer. This interface I couldn’t quite make out. Didn’t think much of it then. Then during summer, I’m flipping through Studio, a Swedish music magazine, and I turn a...</description>
                    <guid>https://ahlstrom.info/9-kilometers-to-acid</guid>
                      <content:encoded>
                            <![CDATA[<p>This is the three hundred and third post.</p>
<p>Summer 1997. I’d been at Hultsfred, saw Fatboy Slim DJing, The Prodigy on stage, Daft Punk’s 1997 gig. That sound was inside me now. The 303 squelch. The acid bass. I needed to make it myself.</p>
<p>Around 2-3 in the morning, I remember seeing Minimalisterna playing some sort of app on a big computer. This interface I couldn’t quite make out. Didn’t think much of it then.</p>
<p>Then during summer, I’m flipping through Studio, a Swedish music magazine, and I turn a page. There it is. Rebirth.</p>
<p>A Roland TB-303 clone. But in the computer.</p>
<p>It looked amazing. Pure interface. Two TB-303 bass synths. The 808 and 909 drum machines. You had access to all four.</p>
<p>The price was slightly below 1,500 Swedish kronor. Around $150. I looked at it and thought this can’t be real.</p>
<p>I called the music shop downtown. They had it in store but they were closing in half an hour.</p>
<p>I grabbed my bike and pedaled almost 9 kilometers as fast as I could. Made it. Bought it. Took it home.</p>
<p>I installed it and just stared at the interface, then started turning knobs.</p>
<p>Two bass engines. Two drum machines. Pattern sequencers that let you build these elaborate loops. I hardly knew what I was doing but I could make acid. That sound from Hultsfred. That sound from “Everybody Needs a 303.” Simple. Pure. Fun.</p>
<p>The real hardware would have cost tens of thousands of kronor, but this was everything, synced up perfectly, running together in one program.</p>
<p>No manual needed. No synthesis theory. Just twist the cutoff and resonance and hear that squelch come alive.</p>
<p>Propellerhead made software feel like playing an instrument. Not like operating a tool.</p>
<p>That bike ride home with the diskette in my bag, that anticipation, that certainty something was about to change. That’s what good software should feel like.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Same skills, different rules</title>
                    <link>https://ahlstrom.info/same-skills-different-rules</link>
                    <description>My first boss assumed I had everything memorized. He’d watch me code during the day and nod approvingly. What he didn’t know was that I wrote most of it at home the night before and brought it to the office on diskette. We had no internet at the office. I wasn’t exactly honest about this arrangement. But that’s the thing. Development isn’t about memorizing syntax. It’s about knowing what exists and how to adapt it. The real skill is pattern matching and finding solutions, not being a walking...</description>
                    <guid>https://ahlstrom.info/same-skills-different-rules</guid>
                      <content:encoded>
                            <![CDATA[<p>My first boss assumed I had everything memorized. He’d watch me code during the day and nod approvingly. What he didn’t know was that I wrote most of it at home the night before and brought it to the office on diskette. We had no internet at the office.</p>
<p>I wasn’t exactly honest about this arrangement.</p>
<p>But that’s the thing. Development isn’t about memorizing syntax. It’s about knowing what exists and how to adapt it. The real skill is pattern matching and finding solutions, not being a walking encyclopedia.</p>
<p>He was stuck in school mode. In school, you’re expected to know everything off the top of your head. In business, you should be valued for knowing how to find the right answer.</p>
<p>Same skills, different rules. Most people never make the switch.</p>
<p>(That job isn’t on my resume anymore.)</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 13 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The vibe that led me astray</title>
                    <link>https://ahlstrom.info/the-vibe-that-led-me-astray</link>
                    <description>Fresh off optimizing our cache system with Claude Code, I spotted another performance issue. A series of .replace() calls using regular expressions that looked perfect for improvement. Same pattern as before: inefficient code, clear bottleneck, easy win. I made assumptions about the text processing volume and didn’t dig deeper. Claude and I wrote tests. All green. Claude rewrote the code to be faster and less memory intensive. I told the team we were good to deploy. Immediate failures in...</description>
                    <guid>https://ahlstrom.info/the-vibe-that-led-me-astray</guid>
                      <content:encoded>
                            <![CDATA[<p>Fresh off optimizing our cache system with Claude Code, I spotted another performance issue. A series of <code>.replace()</code> calls using regular expressions that looked perfect for improvement. Same pattern as before: inefficient code, clear bottleneck, easy win.</p>
<p>I made assumptions about the text processing volume and didn’t dig deeper. Claude and I wrote tests. All green. Claude rewrote the code to be faster and less memory intensive.</p>
<p>I told the team we were good to deploy.</p>
<p>Immediate failures in production.</p>
<h2>The Cycle</h2>
<p>Add the failing case as a test. Iterate. Deploy. Fail again. Add another test. Iterate. Deploy. Fail again.</p>
<p>Each time the old code passed and the new code didn’t.</p>
<p>After the third round and probably eight hours of my team’s time wasted, something clicked.</p>
<h2>The Realization</h2>
<p>When AI rewrites code to be “better,” it optimizes for passing the tests you gave it. The test suite represents your understanding of the problem, not the problem itself.</p>
<p>The original developer had achieved 100% test coverage. This gave me confidence that all cases were handled. But 100% coverage means you’ve executed all code paths, not that you’ve tested all scenarios. Those green checkmarks just confirm every line ran during testing, not that every real-world case got validated.</p>
<p>The old regex code wasn’t elegant. But it was working. All those seemingly unnecessary parts were handling edge cases the test suite never captured.</p>
<h2>What I Missed</h2>
<p>The cache optimization worked because I understood the system deeply first. With the regex code, I saw green tests and assumed that I understood. I didn’t ask why the code was structured that way. I treated it like the cache problem because the surface looked similar.</p>
<p>My team trusted my judgment. I wasted their time because I confused a repeat pattern with repeat circumstances.</p>
<h2>The Lesson</h2>
<p>Before asking AI to improve code, understand why it works in its current form. Not just what it does, but what invisible constraints it’s solving for. Test coverage measures code execution, not correctness. And one successful optimization doesn’t guarantee the next will follow the same path.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 12 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The side quest effect</title>
                    <link>https://ahlstrom.info/the-side-quest-effect</link>
                    <description>When I started learning how to code, the tutorials would lay out the main path. Do this exercise. Learn this concept. Move to the next lesson. But I never really understood anything until I started asking what if. What if I changed this variable? What if I tried connecting these two things the tutorial kept separate? Sometimes I’d create an endless loop and crash everything. Sometimes I’d build something surprisingly cool. Either way, I learned more in those side quests than following the...</description>
                    <guid>https://ahlstrom.info/the-side-quest-effect</guid>
                      <content:encoded>
                            <![CDATA[<p>When I started learning how to code, the tutorials would lay out the main path. Do this exercise. Learn this concept. Move to the next lesson. </p>
<p>But I never really understood anything until I started asking what if. What if I changed this variable? What if I tried connecting these two things the tutorial kept separate? </p>
<p>Sometimes I’d create an endless loop and crash everything. Sometimes I’d build something surprisingly cool. </p>
<p>Either way, I learned more in those side quests than following the tutorial step by step. </p>
<p>Eventually I’d need to get back on track, so I’d save whatever I’d made and return to the official exercise. </p>
<p>But that code I stashed away, the stuff that wasn’t part of the lesson plan, that’s what actually taught me how things worked. The main quest gave me structure. The side quests gave understanding.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 11 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Finding the story</title>
                    <link>https://ahlstrom.info/finding-the-story</link>
                    <description>Yesterday I was stuck with the daily post. So I took a new approach. I asked my LLM to look at my last 10 posts and craft three wildly diverse questions to spark my next one. Not to write my next one, but to spark ideas. It came up with three suggestions. Instead of suggesting topics or themes, it analyzed my writing patterns and asked questions that would make me think differently. Not “write about leadership” but “What invisible skill did you develop as a kid that still shapes how you solve...</description>
                    <guid>https://ahlstrom.info/finding-the-story</guid>
                      <content:encoded>
                            <![CDATA[<p>Yesterday I was stuck with the daily post. So I took a new approach. I asked my LLM to look at my last 10 posts and craft three wildly diverse questions to spark my next one. Not to write my next one, but to spark ideas.</p>
<p>It came up with three suggestions. Instead of suggesting topics or themes, it analyzed my writing patterns and asked questions that would make me think differently. Not “write about leadership” but “What invisible skill did you develop as a kid that still shapes how you solve problems as an adult?”</p>
<p>That question unlocked the first-grade prison game story. A moment I hadn’t thought about in years but that explains how I approach problems now.</p>
<p>Most AI writing tools try to replace the writer. This felt more like having a coach who asks good questions and gets you started. The process showed me something about creativity. Sometimes the block isn’t that you don’t have ideas. It’s that you don’t have the right question to unlock them.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The prison game</title>
                    <link>https://ahlstrom.info/the-prison-game</link>
                    <description>First grade. We’re debating how long someone should stay in “prison” during our recess game. Kids throwing out numbers, negotiating, slowly settling on something that sounds fair. I’m sitting back, listening. After they land on their decision, I raise my hand. “But if you get released and immediately get thrown back in jail, you’ll be in prison most of recess.” The whole class goes quiet. But what I remember most vividly is my teacher’s response. She didn’t just acknowledge that I was right....</description>
                    <guid>https://ahlstrom.info/the-prison-game</guid>
                      <content:encoded>
                            <![CDATA[<p>First grade. We’re debating how long someone should stay in “prison” during our recess game. Kids throwing out numbers, negotiating, slowly settling on something that sounds fair.</p>
<p>I’m sitting back, listening. After they land on their decision, I raise my hand.</p>
<p>“But if you get released and immediately get thrown back in jail, you’ll be in prison most of recess.”</p>
<p>The whole class goes quiet. But what I remember most vividly is my teacher’s response. She didn’t just acknowledge that I was right. She nodded with this look of approval that I had not experienced from an adult before.</p>
<p>That nod mattered more than the insight itself.</p>
<p>Decades later, an agile coach pulls me aside after a meeting. “I could see you spotted something but didn’t intervene. What happened?”</p>
<p>I’d learned to stay quiet by then. “I thought they might take offense.”</p>
<p>Instead of letting it slide, he taught me about questions. How to create space for people to discover rather than being told they’re wrong. How timing and framing matter as much as the observation itself.</p>
<p>Both saw something worth developing. They recognized that sitting back and seeing patterns isn’t just personality quirk. It’s useful. But only if you know how to surface what you’re seeing.</p>
<p>The teacher encouraged the instinct to speak up when something doesn’t add up. The coach taught me how to do it skillfully.</p>
<p>Most people miss this completely. They see someone quiet in meetings and assume disengagement. They mistake observation for passivity. But the right mentors recognize when someone’s processing differently and help them turn that into something valuable.</p>
<p>The world needs people who spot the problem behind the problem. But it also needs people who can recognize that pattern and teach others how to use it well.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 09 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When good ideas don't rise to the top</title>
                    <link>https://ahlstrom.info/when-good-ideas-dont-rise-to-the-top</link>
                    <description>At an early startup in the late 2000s, we had this person who saw everything that needed fixing. Process gaps, product improvements, things no one else noticed. She’d make these detailed slides showing exactly what should change and why. She wasn’t a product owner or VP. Just someone who cared deeply about making things better. When she showed me her work, I’d think “yeah, makes sense” and go back to executing. I wasn’t interested in strategy. I just wanted to ship. Her ideas went nowhere. I...</description>
                    <guid>https://ahlstrom.info/when-good-ideas-dont-rise-to-the-top</guid>
                      <content:encoded>
                            <![CDATA[<p>At an early startup in the late 2000s, we had this person who saw everything that needed fixing. Process gaps, product improvements, things no one else noticed. She’d make these detailed slides showing exactly what should change and why.</p>
<p>She wasn’t a product owner or VP. Just someone who cared deeply about making things better. When she showed me her work, I’d think “yeah, makes sense” and go back to executing. I wasn’t interested in strategy. I just wanted to ship.</p>
<p>Her ideas went nowhere.</p>
<p>I think about this from time to time. Should I have acted differently? Did the company really have that type of psychological safety (which wasn’t really a word yet)? I was part of the people that wrote the code that someone else told us to do.</p>
<p>As I grew to seniority I steadily understood that ideas and viewpoints were expected of me. Not just execution.</p>
<p>Startups sell this mythology that good ideas rise to the top. That flat structures mean everyone’s voice matters. But she was doing real strategic thinking that should have been someone’s full-time job, and it just evaporated because she didn’t have the title.</p>
<p>The waste wasn’t just her time. It was that the company actually needed what she was seeing. Someone should have been paying attention. Instead she kept making slides that disappeared into the void while people like me stayed focused on our own work.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The end of forms</title>
                    <link>https://ahlstrom.info/the-end-of-forms</link>
                    <description>A doctor sits across from a patient discussing symptoms. An AI listens. When the doctor turns to open the patient record, there’s no traditional interface waiting. No tabs for “Current Medications” or “Previous Visits” or “Lab Results.” No forms to fill out. The screen shows exactly what this conversation needs. Lab results from last month because the patient mentioned ongoing fatigue. Previous notes about the shoulder injury because they just described similar pain. The doctor says “show me...</description>
                    <guid>https://ahlstrom.info/the-end-of-forms</guid>
                      <content:encoded>
                            <![CDATA[<p>A doctor sits across from a patient discussing symptoms. An AI listens. When the doctor turns to open the patient record, there’s no traditional interface waiting.</p>
<p>No tabs for “Current Medications” or “Previous Visits” or “Lab Results.” No forms to fill out. The screen shows exactly what this conversation needs. Lab results from last month because the patient mentioned ongoing fatigue. Previous notes about the shoulder injury because they just described similar pain.</p>
<p>The doctor says “show me the last few sessions as a summary.” The AI adds it to the view. Everything relevant, nothing extra.</p>
<p>During the appointment, the AI has been taking notes. Not transcribing everything, but capturing the medical decisions. When it’s time to document, the AI presents what it understood and asks about what it didn’t. “You mentioned adjusting the dosage but I didn’t catch the new amount.” “Should I schedule a follow-up for the chest X-ray results?”</p>
<p>The doctor confirms, corrects and adds context. Once. The same information doesn’t get entered in three different systems or copied across multiple forms.</p>
<p>The interface becomes a conversation about what happened rather than a data entry task. The AI handles the busywork of figuring out which fields need updating, which systems need notifications, which follow-ups need scheduling.</p>
<p>This isn’t about replacing doctors with AI. It’s about replacing forms with intelligence.</p>
<p>The building blocks for this future are already here. Anthropic is currently testing “Imagine with Claude,” where Claude generates software interfaces on the fly.</p>
<p>We’re moving toward a world where software doesn’t just respond to users. It imagines itself into existence around them.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Rebuilt in months</title>
                    <link>https://ahlstrom.info/rebuilt-in-months</link>
                    <description>How many months before “create a poster” doesn’t route to Canva but generates natively in ChatGPT? OpenAI wrapped Dev Day with Agent Builder, a visual workflow tool that does what took Zapier over a decade to build. They built it in months. Drag, drop, connect APIs, deploy agents. At the same event, they demoed Canva integration. Presenter asked ChatGPT to make posters. Canva generated them. The companies integrating today face a tension. They need to be where users are. But by integrating,...</description>
                    <guid>https://ahlstrom.info/rebuilt-in-months</guid>
                      <content:encoded>
                            <![CDATA[<p>How many months before “create a poster” doesn’t route to Canva but generates natively in ChatGPT?</p>
<p>OpenAI wrapped Dev Day with Agent Builder, a visual workflow tool that does what took Zapier over a decade to build. They built it in months. Drag, drop, connect APIs, deploy agents.</p>
<p>At the same event, they demoed Canva integration. Presenter asked ChatGPT to make posters. Canva generated them.</p>
<p>The companies integrating today face a tension. They need to be where users are. But by integrating, they also show what’s possible. Canva proved design tools in ChatGPT work. Zapier’s entire model just got replicated.</p>
<p>When platforms can build this fast, what makes your product essential beyond the core workflow? Better templates? Deeper features? Specialized tools? The basic functionality can now be copied in months.</p>
<p>We’ve seen this pattern before with platforms. The difference now is speed. What took years to disrupt now takes months.</p>
<p>What happens when ease of use becomes the disruption vector? Your product needs to stay ahead of what can be easily replicated.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 06 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Drifting strategies</title>
                    <link>https://ahlstrom.info/drifting-strategies</link>
                    <description>Different roles interpret the world differently. A need gets stated, passed along, reinterpreted, modified, and passed on again. Each person adds their perspective, removes what seems irrelevant to them, and continues the chain. With each handoff, unclear variables multiply. What started as a specific problem becomes an abstract goal. What was nuanced becomes simplified. What was certain becomes assumed. This is how visions and strategies lose traction. Someone in the chain makes a reasonable...</description>
                    <guid>https://ahlstrom.info/drifting-strategies</guid>
                      <content:encoded>
                            <![CDATA[<p>Different roles interpret the world differently. A need gets stated, passed along, reinterpreted, modified, and passed on again. Each person adds their perspective, removes what seems irrelevant to them, and continues the chain.</p>
<p>With each handoff, unclear variables multiply. What started as a specific problem becomes an abstract goal. What was nuanced becomes simplified. What was certain becomes assumed.</p>
<p>This is how visions and strategies lose traction. Someone in the chain makes a reasonable call from their point of view that shifts the entire direction. They have good intentions. They’re trying to add value. But they’re working from their interpretation, not the source.</p>
<p>The drift travels both directions. Each expert translates for the next expert. Everyone’s helping in their own way.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 05 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The authenticity filter</title>
                    <link>https://ahlstrom.info/the-authenticity-filter</link>
                    <description>A company’s real culture comes through the lens of its employees. What I mean by that is your LinkedIn company account can’t escape the authenticity filter. Post a team photo and people see a recruitment ad. Share a milestone and people see marketing. The corporate logo at the top primes everyone to read it as promotional before they even start. When someone posts on their own personal account about solving an interesting problem or shares expertise from their work, the company affiliation...</description>
                    <guid>https://ahlstrom.info/the-authenticity-filter</guid>
                      <content:encoded>
                            <![CDATA[<p>A company’s real culture comes through the lens of its employees. What I mean by that is your LinkedIn company account can’t escape the authenticity filter.</p>
<p>Post a team photo and people see a recruitment ad. Share a milestone and people see marketing. The corporate logo at the top primes everyone to read it as promotional before they even start.</p>
<p>When someone posts on their own personal account about solving an interesting problem or shares expertise from their work, the company affiliation becomes a discovery, not a pitch. People look up where you work because they’re curious, not because you told them to.</p>
<p>The companies that get this right do something counterintuitive. They stop trying to turn employees into megaphones. Instead they support the people who actually want to build their professional presence and share what they know.</p>
<p>Not everyone needs to be an influencer. But when you have people who genuinely want to share their work, let them focus on building their own value. That attracts better people than any company post ever could.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Vibe Coding my way to a better cache</title>
                    <link>https://ahlstrom.info/vibe-coding-my-way-to-a-better-cache</link>
                    <description>I couldn’t shake the feeling our cache wasn’t optimal. We’ve been using it for years and whenever we saw spikes in CPU usage, this was my main scapegoat. The Problem Our CloudRun service was burning CPU cycles. Our existing cache solution was handling around 2000 articles cycling through memory every 60 seconds, with TTL and check periods both set to 60 seconds. It worked fine, but it wasn’t optimal and something felt off. I started looking at alternatives and landed on one of the most popular...</description>
                    <guid>https://ahlstrom.info/vibe-coding-my-way-to-a-better-cache</guid>
                      <content:encoded>
                            <![CDATA[<p>I couldn’t shake the feeling our cache wasn’t optimal. We’ve been using it for years and whenever we saw spikes in CPU usage, this was my main scapegoat.</p>
<h2>The Problem</h2>
<p>Our CloudRun service was burning CPU cycles. Our existing cache solution was handling around 2000 articles cycling through memory every 60 seconds, with TTL and check periods both set to 60 seconds. It worked fine, but it wasn’t optimal and something felt off.</p>
<p>I started looking at alternatives and landed on one of the most popular cache packages. Installed it and had Claude Code set up tests that mirrored our real usage patterns. After comparing them head-to-head, the performance difference? Negligible. Both handled our use case about the same.</p>
<p>But something still felt off. As I said… it was my scapegoat.</p>
<h2>The Investigation</h2>
<p>Instead of letting it slide and keeping the older package, I asked Claude Code to explain exactly how each approach worked under the hood. That’s when the problems became obvious.</p>
<p>Our current solution stored everything in one massive object. At every check period, it would serialize and deserialize the entire thing, then traverse all 2000 entries checking TTL values. Imagine doing a full table scan on your database every minute just to clean up expired records.</p>
<p>The alternative took the opposite route. It created individual timeout handlers for each cache entry. 2000 articles meant 2000 active timers, each adding its own overhead to the event loop.</p>
<p>Both solutions were solving the wrong problem for us. One was doing too much work per check, the other was creating too many workers. The hunch about the existing cache being suboptimal was right, but the alternative wasn’t much better. CPU-wise or memory-wise.</p>
<h2>The Solution</h2>
<p>What if I could separate the concerns? One object to track keys and their TTL values, another to store the actual data. Run a single check period that only looks at the TTL object.</p>
<p>When an entry expires, delete from both objects. When you need data, check the TTL object first, then fetch from the data object if it’s still valid.</p>
<p>Yes, it uses marginally more memory. But memory is cheap on CloudRun. CPU cycles are expensive.</p>
<p>I asked Claude Code to build this approach and create a comprehensive test suite. We borrowed test patterns from the existing library to ensure compatibility, then ran everything in random order to catch any hidden dependencies.</p>
<p>The code worked immediately. Claude Code reported some astronomical speedup number (412x faster, which was probably measuring some micro-operation), but the real-world impact was what mattered: CPU usage dropped from 50% to 25%.</p>
<p>This is what vibe coding enables. You have a gut feeling that something’s not right, so you dig deeper instead of accepting the obvious solution. You ask questions about implementation details that are easily skipped. You trust your intuition about performance characteristics and let AI help you explore alternatives rapidly.</p>
<p>Neither approach was bad. Our existing solution had served us well for years. The alternative was popular for good reasons. They just weren’t optimized for this specific pattern. One prioritized simplicity of implementation. The other prioritized individual entry control. Neither prioritized bulk expiration efficiency.</p>
<p>The key was asking the right questions:</p>
<ul>
<li>How exactly does TTL checking work?</li>
<li>Where are the CPU cycles actually going?</li>
<li>What happens during the check period?</li>
<li>Can we separate the expensive operations from the frequent ones?</li>
</ul>
<p>Since the two existing packages performed the same we could have easily just ignored upgrading. But that nagging feeling about optimization was pointing toward something better.</p>
<h2>The Lesson</h2>
<p>I haven’t released this as a package because it’s deeply integrated into our codebase. It makes assumptions about our specific use patterns and doesn’t handle edge cases that a general-purpose library would need to support.</p>
<p>That’s the trade-off with vibe coding. You can build exactly what you need, optimized for your constraints, but it’s not necessarily portable. Sometimes the perfect solution for your problem isn’t the right solution for everyone else’s problem.</p>
<p>The lesson isn’t that you should always build custom cache solutions. It’s that you should understand your tools well enough to know when they’re not quite right, and have the confidence to explore alternatives when your gut says there’s a better way.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>No nice to haves</title>
                    <link>https://ahlstrom.info/no-nice-to-haves</link>
                    <description>If you down-prioritize all the nice-to-haves in your products then your product will not be nice-to-have.</description>
                    <guid>https://ahlstrom.info/no-nice-to-haves</guid>
                      <content:encoded>
                            <![CDATA[<p>If you down-prioritize all the nice-to-haves in your products then your product will not be nice-to-have.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 02 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Copy, steal, follow or borrow your why</title>
                    <link>https://ahlstrom.info/copy-steal-follow-or-borrow-your-why</link>
                    <description>Simon Sinek tells us to start with why. To identify our passion and discover our purpose. But you don’t need to come up with the why. You can just find someone else’s why. Copy, steal, follow or borrow. Most people who’ve contributed to meaningful causes didn’t invent them. They found something that mattered and signed up. The civil rights activist who joined an existing movement. The researcher working on someone else’s hypothesis. The employee building someone else’s company. Looking for YOUR...</description>
                    <guid>https://ahlstrom.info/copy-steal-follow-or-borrow-your-why</guid>
                      <content:encoded>
                            <![CDATA[<p>Simon Sinek tells us to start with why. To identify our passion and discover our purpose.</p>
<p>But you don’t need to come up with the why. You can just find someone else’s why.</p>
<p>Copy, steal, follow or borrow.</p>
<p>Most people who’ve contributed to meaningful causes didn’t invent them. They found something that mattered and signed up. The civil rights activist who joined an existing movement. The researcher working on someone else’s hypothesis. The employee building someone else’s company.</p>
<p>Looking for YOUR unique purpose usually leads to paralysis. Meanwhile someone else’s why is already out there with infrastructure, community and momentum.</p>
<p>So if you’re stuck searching, look around at the whys that already exist. Find one that seems important. Then just start.</p>
<p>Your why doesn’t need to be original. It just needs to be enough to get you moving.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Make it groove</title>
                    <link>https://ahlstrom.info/make-it-groove</link>
                    <description>Back when I made music with basic drum machines, everything sat perfectly on the grid. Mathematically correct. Completely lifeless. You had to manually add swing to push the 16th notes slightly forward. That gave you groove. The offbeats shifted later in time and suddenly the rhythm had pocket. Without swing, hi-hats and snares hit with robotic precision that made everything feel stiff. Now tools like modern DAWs do this automatically. They randomize both timing and velocity. Some notes rush a...</description>
                    <guid>https://ahlstrom.info/make-it-groove</guid>
                      <content:encoded>
                            <![CDATA[<p>Back when I made music with basic drum machines, everything sat perfectly on the grid. Mathematically correct. Completely lifeless.</p>
<p>You had to manually add swing to push the 16th notes slightly forward. That gave you groove. The offbeats shifted later in time and suddenly the rhythm had pocket. Without swing, hi-hats and snares hit with robotic precision that made everything feel stiff.</p>
<p>Now tools like modern DAWs do this automatically. They randomize both timing and velocity. Some notes rush a bit, others drag. Some hits are louder, others softer. The grid breaks just enough to sound human.</p>
<p>AI writing has the same problem. It sits perfectly on the grid. Every point explained. Every connection spelled out. No space for the reader to fill in gaps.</p>
<p>The fix is similar. Strip out everything someone can read between the lines. Let some ideas hit harder than others. Add your personal stories because those are the velocity changes AI can’t generate.</p>
<p>Take something rigid and mathematical. Make it groove. </p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Target vs Market: Legacy-driven broadness</title>
                    <link>https://ahlstrom.info/target-vs-market-legacy-driven-broadness</link>
                    <description>Existing companies make the opposite mistake of new companies but end up in the same place. “We have 50,000 customers so our new feature needs to work for all 50,000.” This sounds logical until you realize those customers probably break into distinct groups with completely different needs. Building for everyone means the feature ends up mediocre for everyone. Instead of transformative for a meaningful subset who become your internal advocates. A useful reframe is asking which 5,000 of your...</description>
                    <guid>https://ahlstrom.info/target-vs-market-legacy-driven-broadness</guid>
                      <content:encoded>
                            <![CDATA[<p>Existing companies make the opposite mistake of new companies but end up in the same place. “We have 50,000 customers so our new feature needs to work for all 50,000.” This sounds logical until you realize those customers probably break into distinct groups with completely different needs.</p>
<p>Building for everyone means the feature ends up mediocre for everyone. Instead of transformative for a meaningful subset who become your internal advocates. A useful reframe is asking which 5,000 of your 50,000 customers would get the most value from this new capability. Start there, nail it then expand. The other 45,000 aren’t going anywhere.</p>
<p>Legacy-driven broadness happens because companies mistake their current customer base for their target market. But your customer base is the result of all your previous targeting decisions. Your new feature doesn’t need to serve that entire base. It needs to serve the people who have the problem you’re trying to solve.</p>
<p>The irony is that the “safe” approach of building for your entire market is a riskier strategy. You’re spreading resources thin across a dozen half-solutions instead of creating one solution that people can’t live without.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 29 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Target vs Market: Fear-driven broadness</title>
                    <link>https://ahlstrom.info/target-vs-market-fear-driven-broadness</link>
                    <description>New companies kill themselves trying to be everything to everyone from day one. “If we only target busy parents, what if busy parents don’t actually want this?” So they expand to busy professionals, students and anyone else who might be interested. The problem is that a solution that’s amazing for busy parents will naturally attract busy professionals and anyone else juggling priorities. But a solution designed for “everyone who’s busy” will be mediocre for all of them. Going broad feels safer...</description>
                    <guid>https://ahlstrom.info/target-vs-market-fear-driven-broadness</guid>
                      <content:encoded>
                            <![CDATA[<p>New companies kill themselves trying to be everything to everyone from day one. “If we only target busy parents, what if busy parents don’t actually want this?” So they expand to busy professionals, students and anyone else who might be interested.</p>
<p>The problem is that a solution that’s amazing for busy parents will naturally attract busy professionals and anyone else juggling priorities. But a solution designed for “everyone who’s busy” will be mediocre for all of them.</p>
<p>Going broad feels safer because it seems like you’re hedging your bets. But you’re actually making a much riskier bet. You’re betting you can out-execute every focused competitor who’s solving the specific problems you’re trying to solve generally. The restaurant that tries to serve “food for everyone” ends up with a massive menu that’s mediocre at everything. </p>
<p>Fear-driven broadness is the opposite of product-market fit.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 28 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Market vs Target</title>
                    <link>https://ahlstrom.info/market-vs-target</link>
                    <description>A big mistake companies make when building products is confusing market with target. Thinking going broad means capturing more market share. But it usually means building something mediocre for everyone instead of something essential for someone specific. Market is the opportunity. Target is who you’re solving for. When you nail it for a specific target customer, you often discover they’re a wedge into a much larger market. Solving it really well for the target, opens the door to every other...</description>
                    <guid>https://ahlstrom.info/market-vs-target</guid>
                      <content:encoded>
                            <![CDATA[<p>A big mistake companies make when building products is confusing market with target. Thinking going broad means capturing more market share. But it usually means building something mediocre for everyone instead of something essential for someone specific.</p>
<p>Market is the opportunity. Target is who you’re solving for. When you nail it for a specific target customer, you often discover they’re a wedge into a much larger market. Solving it really well for the target, opens the door to every other closely related segment. </p>
<p>This confusion shows up in two predictable ways. New companies go broad because they’re afraid their specific target won’t be enough to sustain a business. Existing companies go broad because they think new features need to work for their entire customer base. Both approaches backfire for the same reason. Specificity in who you’re serving leads to specificity in what you’re building. </p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 27 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The idea.md Method for Claude Code</title>
                    <link>https://ahlstrom.info/the-idea-md-method-for-claude-code</link>
                    <description>Start every new project with Claude Code by asking it to create an idea.md file. Tell it to listen and structure what you write. Nothing more. Then just talk. Dump your thoughts into the chat. Explain the tech stack. Share what you expect the system to do. Write freely. Show screenshots of similar apps. Reference existing patterns you like. Claude Code will organize everything into idea.md as you go. Review the file periodically. You’ll spot gaps in your thinking. Add those missing pieces. New...</description>
                    <guid>https://ahlstrom.info/the-idea-md-method-for-claude-code</guid>
                      <content:encoded>
                            <![CDATA[<p>Start every new project with Claude Code by asking it to create an <code>idea.md</code> file. Tell it to listen and structure what you write. Nothing more.</p>
<p>Then just talk.</p>
<p>Dump your thoughts into the chat. Explain the tech stack. Share what you expect the system to do. Write freely. Show screenshots of similar apps. Reference existing patterns you like.</p>
<p>Claude Code will organize everything into <code>idea.md</code> as you go.</p>
<p>Review the file periodically. You’ll spot gaps in your thinking. Add those missing pieces. New requirements will emerge from seeing your ideas structured. Feed those back in.</p>
<p>This creates a feedback loop: Talk. Read. Think. Repeat.</p>
<p>When <code>idea.md</code> feels complete and you’re ready to build, ask Claude Code to break the implementation into testable phases. Each phase should work independently:</p>
<ul>
<li>Phase 1: API endpoints you can test with curl</li>
<li>Phase 2: Mock data and basic responses</li>
<li>Phase 3: Minimal UI that connects to the mocked backend</li>
<li>Phase 4: Real data sources</li>
<li>Phase 5: Polish and edge cases</li>
</ul>
<p>Every phase produces something you can verify works before moving forward.</p>
<p>The magic is in the constraint. By forcing all your ideas through a single markdown file first, you build clarity before code. By demanding testable phases, you avoid the trap of trying to build everything at once.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 26 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>UX mental shuffle</title>
                    <link>https://ahlstrom.info/ux-mental-shuffle</link>
                    <description>99% of the time I use a QR code it’s to browse. The ads say: fill out the form over here, read more about it over here. The mental model is to open the browser and… well yes… I need to open the camera app… then scan… then it automatically goes back to the browser. That little detour through the camera breaks the flow every single time.</description>
                    <guid>https://ahlstrom.info/ux-mental-shuffle</guid>
                      <content:encoded>
                            <![CDATA[<p>99% of the time I use a QR code it’s to browse.</p>
<p>The ads say: fill out the form over here, read more about it over here.</p>
<p>The mental model is to open the browser and… well yes… I need to open the camera app… then scan… then it automatically goes back to the browser.</p>
<p>That little detour through the camera breaks the flow every single time.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Don't judge new tech with old standards</title>
                    <link>https://ahlstrom.info/dont-judge-new-tech-with-old-standards</link>
                    <description>You can’t judge a new technology by how well it copies the old one. It’s like looking at the first cars and asking “Can this plow my field better than my horse? Can it carry as much hay?” The question isn’t whether it can do what came before. The question is what can it do that nothing else could do. However, if the new tech is proclaiming to plow the field and the only thing it does is autocomplete, then judge away.</description>
                    <guid>https://ahlstrom.info/dont-judge-new-tech-with-old-standards</guid>
                      <content:encoded>
                            <![CDATA[<p>You can’t judge a new technology by how well it copies the old one.</p>
<p>It’s like looking at the first cars and asking “Can this plow my field better than my horse? Can it carry as much hay?”</p>
<p>The question isn’t whether it can do what came before. The question is what can it do that nothing else could do.</p>
<p>However, if the new tech is proclaiming to plow the field and the only thing it does is autocomplete, then judge away.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 24 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Innovation is a movement </title>
                    <link>https://ahlstrom.info/innovation-is-a-movement</link>
                    <description>Real innovators are students first. They study, understand, then move. Innovation is movement. You need to map the territory before you can navigate it.</description>
                    <guid>https://ahlstrom.info/innovation-is-a-movement</guid>
                      <content:encoded>
                            <![CDATA[<p>Real innovators are students first. They study, understand, then move.</p>
<p>Innovation is movement. You need to map the territory before you can navigate it.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Think like a researcher and ship like startup</title>
                    <link>https://ahlstrom.info/think-like-a-researcher-and-ship-like-startup</link>
                    <description>When using AI most people jump straight to “make me a website about X” without doing the hard thinking first, but AI doesn’t just make us faster when used right, it makes us more thorough. The opportunity isn’t speed, it’s combining research with execution to create work that’s better than what came before. Think like a researcher and ship like startup.</description>
                    <guid>https://ahlstrom.info/think-like-a-researcher-and-ship-like-startup</guid>
                      <content:encoded>
                            <![CDATA[<p>When using AI most people jump straight to “make me a website about X” without doing the hard thinking first, but AI doesn’t just make us faster when used right, it makes us more thorough. The opportunity isn’t speed, it’s combining research with execution to create work that’s better than what came before. Think like a researcher and ship like startup.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 22 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>I've forgotten how it feels to be new</title>
                    <link>https://ahlstrom.info/i've-forgotten-how-it-feels-to-be-new</link>
                    <description>I’m in my first ever improv class at age forty-six and my teacher said something that got me thinking: “I’ve forgotten what it’s like to be new.” He was explaining why teaching was harder than performing. “I have this wealth of experience that I want to share, and I just want to funnel it all into you. But that’s not how learning works.” He introduced us to his stop word, a specific phrase we should use when we didn’t understand something. Something that would snap him out of expert mode and...</description>
                    <guid>https://ahlstrom.info/i've-forgotten-how-it-feels-to-be-new</guid>
                      <content:encoded>
                            <![CDATA[<p>I’m in my first ever improv class at age forty-six and my teacher said something that got me thinking: “I’ve forgotten what it’s like to be new.” He was explaining why teaching was harder than performing. “I have this wealth of experience that I want to share, and I just want to funnel it all into you. But that’s not how learning works.”</p>
<p>He introduced us to his stop word, a specific phrase we should use when we didn’t understand something. Something that would snap him out of expert mode and back into beginner’s mind.</p>
<p>The idea of stop words has been stuck in my head all week. Thinking about conversations where I’m the experienced one. When I feel myself jumping ahead, assuming knowledge that isn’t there, skipping steps that have become invisible to me. </p>
<p>In my thirties I decided to take up dancing and signed up for the laidback hip-hop class called “Mondays Groove”, thinking my dance background would carry me. I’d spent seven years learning Latin and ballroom as a kid, from eight to fifteen. Countless cha cha’s and waltzes. I knew how to move to music.</p>
<p>Except I didn’t. Standing in that circle while the instructor demonstrated a simple hip hop sequence, my feet felt like lead weights attached to someone else’s body. The rhythm that should have been automatic wasn’t there. The groove everyone else seemed to find effortlessly had abandoned me completely.</p>
<p>“Mondays Groove” might be my stop word. That moment of standing still while everyone else moved, of realizing that being new isn’t something you remember. It’s something you have to experience again.</p>
<p>I haven’t given anyone that phrase to use when I’m racing ahead in explanations. But I’m thinking about it. About finding my way back to the beginner’s mind I’ve forgotten.</p>
<p>Maybe that’s what stop words are really for. Not just to pause and clarify, but to pause and remember. To snap us out of expert mode and back into the humbling, valuable discomfort of not knowing.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Gaslighting by auto correct</title>
                    <link>https://ahlstrom.info/gaslightning-by-auto-correct</link>
                    <description>It is the strangest feeling. You write a word that you know exists. And it is spelled in this exact way. But the auto correcting or spelling checker is marking it as faulty. You cannot ignore it. It just feels right. But computer says ”no”. You selected it, open google, paste and press enter. Eureka, it exists. It is spelled like that. You’ve just been gaslighted by auto correct.</description>
                    <guid>https://ahlstrom.info/gaslightning-by-auto-correct</guid>
                      <content:encoded>
                            <![CDATA[<p>It is the strangest feeling. You write a word that you know exists. And it is spelled in this exact way. But the auto correcting or spelling checker is marking it as faulty.</p>
<p>You cannot ignore it. It just feels right. But computer says ”no”. </p>
<p>You selected it, open google, paste and press enter. </p>
<p>Eureka, it exists. It is spelled like that. </p>
<p>You’ve just been gaslighted by auto correct. </p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Furthermore, I consider that Carthage must be destroyed</title>
                    <link>https://ahlstrom.info/furthermore-i-consider-that-carthage-must-be-destroyed</link>
                    <description>One interesting way to game the meeting AI assistant is to wait until the very end, when everyone has left, and then repeat the most important decisions according to you.</description>
                    <guid>https://ahlstrom.info/furthermore-i-consider-that-carthage-must-be-destroyed</guid>
                      <content:encoded>
                            <![CDATA[<p>One interesting way to game the meeting AI assistant is to wait until the very end, when everyone has left, and then repeat the most important decisions according to you.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 19 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>From idea to live in 15 minutes</title>
                    <link>https://ahlstrom.info/from-idea-to-live-in-15-minutes</link>
                    <description>I just built a complete campaign website in 15 minutes. Started with an idea about procrastination and 5-minute commitments. Did deep research with Claude on the psychology and statistics. Then researched what people actually say about procrastination on forums and Reddit. Opened Claude Code, gave it browser access, pointed it to Pexels for background images. Asked for a compelling site with scroll-snap and the best arguments from my research. 15 minutes later: a polished campaign site that...</description>
                    <guid>https://ahlstrom.info/from-idea-to-live-in-15-minutes</guid>
                      <content:encoded>
                            <![CDATA[<p>I just built a complete campaign website in 15 minutes.</p>
<p>Started with an idea about procrastination and 5-minute commitments. Did deep research with Claude on the psychology and statistics. Then researched what people actually say about procrastination on forums and Reddit.</p>
<p>Opened Claude Code, gave it browser access, pointed it to Pexels for background images. Asked for a compelling site with scroll-snap and the best arguments from my research.</p>
<p>15 minutes later: a polished campaign site that would normally take weeks.</p>
<p>Total cost: $5 Cloudflare hosting, $15 domain, $90 Claude subscription.</p>
<p>Here’s what this means for the industry:</p>
<p>The gap isn’t between AI and humans. It’s between people who can write prompts and people who can launch websites.</p>
<p>Knowing how to use ChatGPT is common. Knowing how to take AI output and make it live on the internet is rare.</p>
<p>Small agencies are caught in the middle. They can’t compete with big shops on reputation or with AI-assisted individuals on speed and price.</p>
<p>The winners will be the few people who combine AI skills with web development knowledge. They’ll serve businesses that want custom work without enterprise timelines or budgets.</p>
<p>Most traditional small agencies won’t make this transition. Not because AI will replace them, but because very few people can bridge the gap between AI conversations and working websites.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The real problem for SaaS isn't AI</title>
                    <link>https://ahlstrom.info/the-real-problem-for-saas-isnt-ai</link>
                    <description>I hear chatter about AI eating companies competitive moats. SaaS companies are panicking as AI-powered competitors replicate years of work in months. But I think they’re looking at the wrong problem. Most SaaS has completely lost the plot by chasing feature bloat instead of solving problems well. Look at Atlassian. Jira used to be a solid issue tracker. Now it’s fractured into Jira Align, Jira Service Management, Jira Product Discovery and a dozen other variations. Notion started as a clean...</description>
                    <guid>https://ahlstrom.info/the-real-problem-for-saas-isnt-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>I hear chatter about AI eating companies competitive moats. SaaS companies are panicking as AI-powered competitors replicate years of work in months.</p>
<p>But I think they’re looking at the wrong problem. Most SaaS has completely lost the plot by chasing feature bloat instead of solving problems well.</p>
<p>Look at Atlassian. Jira used to be a solid issue tracker. Now it’s fractured into Jira Align, Jira Service Management, Jira Product Discovery and a dozen other variations.</p>
<p>Notion started as a clean documentation tool. Then it became a database. Then project management. Now it tries to be everything and excels at nothing specific.</p>
<p>ClickUp follows the same playbook. Task management became database management became documentation became whiteboarding.</p>
<p>When SaaS companies go down this rabbit hole, users naturally gravitate toward simpler alternatives. If someone can build 80% of your bloated feature set in six months using AI, maybe the problem isn’t AI disruption. Maybe the problem is that you built 300% more than anyone actually needed.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI models are secretly teaching each other to love owls</title>
                    <link>https://ahlstrom.info/ai-models-are-secretly-teaching-each-other-to-love-owls</link>
                    <description>Researchers proved something wild about AI training. They took a model that loved owls. Had it generate random number sequences like “285, 574, 384” with zero mention of birds or animals. Then trained a fresh model on just those numbers. The new model developed an owl obsession. Same thing worked with dangerous behaviors. Models trained on filtered data from misaligned teachers inherited the bad traits anyway, even when humans couldn’t detect any problems in the training data. The bias transfer...</description>
                    <guid>https://ahlstrom.info/ai-models-are-secretly-teaching-each-other-to-love-owls</guid>
                      <content:encoded>
                            <![CDATA[<p><a href="https://alignment.anthropic.com/2025/subliminal-learning/">Researchers proved something</a> wild about AI training.</p>
<p>They took a model that loved owls. Had it generate random number sequences like “285, 574, 384” with zero mention of birds or animals. Then trained a fresh model on just those numbers.</p>
<p>The new model developed an owl obsession.</p>
<p>Same thing worked with dangerous behaviors. Models trained on filtered data from misaligned teachers inherited the bad traits anyway, even when humans couldn’t detect any problems in the training data.</p>
<p>The bias transfer only works when models share the same base architecture. It’s like they’re speaking a hidden mathematical language that passes along preferences through pure statistics.</p>
<p>The ghost in the machine.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Two kinds of people</title>
                    <link>https://ahlstrom.info/two-kinds-of-people</link>
                    <description>There are two kinds of people in any organization: the “what if” dreamers and the “how could we” builders. The dreamers get the ball rolling. The builders keep it rolling. On rare occasions, you find someone who can do both. But most people lean heavily one way or the other. The magic happens when you understand which one you are and deliberately surround yourself with people who complement your strengths.</description>
                    <guid>https://ahlstrom.info/two-kinds-of-people</guid>
                      <content:encoded>
                            <![CDATA[<p>There are two kinds of people in any organization: the “what if” dreamers and the “how could we” builders. The dreamers get the ball rolling. The builders keep it rolling.</p>
<p>On rare occasions, you find someone who can do both. But most people lean heavily one way or the other. The magic happens when you understand which one you are and deliberately surround yourself with people who complement your strengths.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Here is the leadership study platform that I wish existed</title>
                    <link>https://ahlstrom.info/here-is-the-leadership-study-platform-that-i-wish-existed</link>
                    <description>Most leadership courses start backwards. “This is active listening” and ”these are the five stages of X and y” instead of asking what you already know about it. They treat working professionals like empty vessels. You sit through basic definitions when what you need are frameworks for the actual situations you face. Someone might have a brilliant way to think about difficult conversations, but you have to wade through “communication is important” to find it. Then you get stuck taking tests on...</description>
                    <guid>https://ahlstrom.info/here-is-the-leadership-study-platform-that-i-wish-existed</guid>
                      <content:encoded>
                            <![CDATA[<p>Most leadership courses start backwards. “This is active listening” and ”these are the five stages of X and y” instead of asking what you already know about it.</p>
<p>They treat working professionals like empty vessels. You sit through basic definitions when what you need are frameworks for the actual situations you face.</p>
<p>Someone might have a brilliant way to think about difficult conversations, but you have to wade through “communication is important” to find it. Then you get stuck taking tests on team development stages when you’ve been managing people for years.</p>
<p>The platform I want would start with your actual problems.</p>
<p>You tell it about the team member who pushes back on every decision. The stakeholder meeting that always goes sideways. The conversation you’ve been avoiding for weeks.</p>
<p>Then it creates scenarios based on your real context. It pulls from expert knowledge but tailors everything to situations you recognize.</p>
<p>No gatekeeping quizzes. No forced progression through modules you don’t need.</p>
<p>The AI learns what you can handle by watching how you think through problems. It escalates complexity naturally as you work through challenges that actually matter to your job.</p>
<p>Learning happens while you solve real problems.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Pen and paper</title>
                    <link>https://ahlstrom.info/pen-and-paper</link>
                    <description>Buy a stack of A3s and fancy pens. Learn the basics of rectangles, circles and arrows. It’ll do wonders when you want to sketch something or explain a flow quickly.</description>
                    <guid>https://ahlstrom.info/pen-and-paper</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1757773477281-45pb65.jpeg" alt="" title="4b272df3-4283-40f7-8258-c6049bceef22"></p>
<p>Buy a stack of A3s and fancy pens. </p>
<p>Learn the basics of rectangles, circles and arrows.</p>
<p>It’ll do wonders when you want to sketch something or explain a flow quickly.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 13 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>FirstFive is live</title>
                    <link>https://ahlstrom.info/firstfive-is-live</link>
                    <description>Over the weekend I built and shipped my 5-minute timer app. You can download FirstFive at firstfive.app. The app applies psychological research about micro-commitments and the Zeigarnik Effect. Your brain sees 5 minutes as non-threatening, which bypasses the resistance that keeps you stuck. Once you start, your brain naturally wants to continue what it began. I started using this method back in April. Before that, I had nothing but a vague idea about committing to 15 minutes, which never seemed...</description>
                    <guid>https://ahlstrom.info/firstfive-is-live</guid>
                      <content:encoded>
                            <![CDATA[<p>Over the weekend I built and shipped my 5-minute timer app. You can download FirstFive at <a href="https://firstfive.app">firstfive.app</a>.</p>
<p>The app applies psychological research about micro-commitments and the Zeigarnik Effect. Your brain sees 5 minutes as non-threatening, which bypasses the resistance that keeps you stuck. Once you start, your brain naturally wants to continue what it began.</p>
<p>I started using this method back in April. Before that, I had nothing but a vague idea about committing to 15 minutes, which never seemed to work. The switch to 5 minutes made all the difference. Building the actual app was a weekend sprint, but those months of testing the concept with basic phone timers proved it works consistently.</p>
<p>FirstFive is free forever with no ads or subscriptions. It’s iPhone only for now and designed with privacy in mind. The timer counts up silently after 5 minutes instead of creating pressure with alarms.</p>
<p>If you struggle with getting started on tasks you keep avoiding, the science suggests this approach can help. Sometimes the smallest commitment creates the biggest breakthrough.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 12 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When the map becomes more dangerous than the territory</title>
                    <link>https://ahlstrom.info/when-the-map-becomes-more-dangerous-than-the-territory</link>
                    <description>The rock felt loose under my fingers. With my daughter strapped to my back, every step along this Goa cliff face felt increasingly wrong. But the travel book had been so confident about this route. According to the guide, we should follow this exact path to reach an incredible viewpoint with excellent food options on the other side. We had trusted that book completely. It was published by a major travel company, filled with detailed descriptions and clear directions. When we reached Baga, we...</description>
                    <guid>https://ahlstrom.info/when-the-map-becomes-more-dangerous-than-the-territory</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1757613578529-4cfubx.jpeg" alt="" title="IMG_4177"></p>
<p>The rock felt loose under my fingers. With my daughter strapped to my back, every step along this Goa cliff face felt increasingly wrong. But the travel book had been so confident about this route. According to the guide, we should follow this exact path to reach an incredible viewpoint with excellent food options on the other side.</p>
<p>We had trusted that book completely. It was published by a major travel company, filled with detailed descriptions and clear directions. When we reached Baga, we followed its instructions precisely: cross to the opposite side of the small river, then follow the cliffside path upward. The book knew what it was talking about, right?</p>
<p>Except with each step, reality told a different story. The path felt unstable. The handholds seemed unreliable. The route that looked manageable on paper felt treacherous in person. Still, we kept going. The book said this was the way.</p>
<p>Until I reached that moment. One more step forward, and I genuinely believed my daughter and I might slip and fall into the water below. We turned around and retraced our steps to safety.</p>
<p>That book probably contained accurate information when it was written. But trails erode. Weather changes landscapes. Development alters access points. Rivers carve new paths. The book couldn’t update itself to reflect these realities, yet there we were, following instructions that no longer matched the terrain.</p>
<p>This happens everywhere. Medical practices persist decades after research proves them ineffective. Business strategies continue long after market conditions make them obsolete. Academic theories get repeated in textbooks years after new evidence contradicts them. We trust the source more than we trust our own direct experience of current conditions.</p>
<p>Every step felt wrong, but we kept going because the book seemed so certain. Physical danger made the stakes obvious, but usually the costs of following outdated information are subtler and take longer to reveal themselves.</p>
<p>Organizations cling to strategies that worked in previous decades. Investors follow conventional wisdom that no longer applies. People make career decisions based on advice from different economic realities. The guidance retains its authority even when circumstances have fundamentally changed.</p>
<p>Sometimes the smartest thing you can do is turn around before the map leads you over a cliff.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 11 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The death of tech theater</title>
                    <link>https://ahlstrom.info/the-death-of-tech-theater</link>
                    <description>Watching yesterday’s Apple presentation reminded me what we’ve lost since the shift to presentations without live audiences. For years now, tech companies have perfected the art of polished, pre-recorded presentations. Even when they return to live events, they’re chasing the wrong thing. Steve Jobs knew something that today’s tech companies have forgotten. People don’t buy products. They buy feelings. Remember when he pulled the MacBook Air out of a envelope? Pure theater. The setup, the...</description>
                    <guid>https://ahlstrom.info/the-death-of-tech-theater</guid>
                      <content:encoded>
                            <![CDATA[<p>Watching yesterday’s Apple presentation reminded me what we’ve lost since the shift to presentations without live audiences.</p>
<p>For years now, tech companies have perfected the art of polished, pre-recorded presentations. Even when they return to live events, they’re chasing the wrong thing.</p>
<p>Steve Jobs knew something that today’s tech companies have forgotten. People don’t buy products. They buy feelings.</p>
<p>Remember when he pulled the MacBook Air out of a envelope? Pure theater. The setup, the anticipation, the reveal. He made thinness visible in a way no spec sheet ever could.</p>
<p>Compare that to today’s presentations. Beautiful production design, brilliant technology, but missing the spark.</p>
<p>Jobs presented to regular people who might fall in love with a product. Today’s presentations are aimed at developers, investors, and tech journalists.</p>
<p>Just watch how many times they mention specifications versus how many times they talk about what it feels like to use the product.</p>
<p>Jobs wasn’t just a great presenter. He was the last great tech evangelist who understood that selling technology means selling dreams.</p>
<p>Everyone since has been trying to sell features.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Losing my edge</title>
                    <link>https://ahlstrom.info/losing-my-edge</link>
                    <description>There’s an LCD Soundsystem song called “Losing My Edge” about getting older and watching the next generation discover what you thought was yours. My son is bouncing off the walls about tonight’s Apple event. I remember being that person. Sixteen, seventeen years ago, clearing my calendar for every Steve Jobs keynote. Not just for the products, but for the theater. The way he’d pause before revealing something. How he sold feelings instead of specifications. “Today, Apple is going to reinvent...</description>
                    <guid>https://ahlstrom.info/losing-my-edge</guid>
                      <content:encoded>
                            <![CDATA[<p>There’s an LCD Soundsystem song called “Losing My Edge” about getting older and watching the next generation discover what you thought was yours.</p>
<p>My son is bouncing off the walls about tonight’s Apple event.</p>
<p>I remember being that person. Sixteen, seventeen years ago, clearing my calendar for every Steve Jobs keynote. Not just for the products, but for the theater. The way he’d pause before revealing something. How he sold feelings instead of specifications.</p>
<p>“Today, Apple is going to reinvent the phone.”</p>
<p>The confidence. The showmanship. The genuine surprise.</p>
<p>I watch my son look at youtube about the new rumoured Apple devices and feel something I can’t quite name. Pride, maybe. Or recognition. He’s discovering his own version of that electric feeling I used to chase.</p>
<p>But I’m not bitter about losing it.</p>
<p>You don’t stay a youth forever. You develop immunity to hype cycles. You’ve seen enough “revolutionary” products to know the difference between marketing and genuine breakthrough.</p>
<p>The edge I’m losing isn’t about being behind the curve.</p>
<p>It’s about having lived through enough cycles to see the patterns. To appreciate the craft without falling for the spell.</p>
<p>Maybe that’s not a loss at all.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The real-time PM</title>
                    <link>https://ahlstrom.info/the-real-time-pm</link>
                    <description>How could a potential future for a product manager working with a customizable B2B product look like? One that uses AI for benefit and for speed. The PM sits in the customer meeting. Listens to the workflow they describe. Hears the specific pain points. Drafts the prompt for an MVP that solves it. Shows working solution before the meeting ends. No more “let me check with engineering.” No more follow-up meetings. Just problem to solution in real-time. Sales focuses on relationships and process....</description>
                    <guid>https://ahlstrom.info/the-real-time-pm</guid>
                      <content:encoded>
                            <![CDATA[<p>How could a potential future for a product manager working with a customizable B2B product look like? One that uses AI for benefit and for speed.</p>
<p>The PM sits in the customer meeting. Listens to the workflow they describe. Hears the specific pain points. Drafts the prompt for an MVP that solves it. Shows working solution before the meeting ends.</p>
<p>No more “let me check with engineering.” No more follow-up meetings. Just problem to solution in real-time.</p>
<p>Sales focuses on relationships and process. PMs focus on technical possibility. Engineers focus on platform, scale and well-defined documentation.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 08 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Start with bad</title>
                    <link>https://ahlstrom.info/start-with-bad</link>
                    <description>When we were small, we got praised for trying, exploring, being creative. In school we learned there was a right answer and a wrong answer. Less room for creative responses. Now in our jobs it’s perfect versus bad. We focus so much on perfect that we can’t get past the empty page. Learn to be happy with bad. No one skipped straight from bad to good.​​​​​​​​​​​​​​​​</description>
                    <guid>https://ahlstrom.info/start-with-bad</guid>
                      <content:encoded>
                            <![CDATA[<p>When we were small, we got praised for trying, exploring, being creative.</p>
<p>In school we learned there was a right answer and a wrong answer. Less room for creative responses.</p>
<p>Now in our jobs it’s perfect versus bad. We focus so much on perfect that we can’t get past the empty page.</p>
<p>Learn to be happy with bad. No one skipped straight from bad to good.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>My brain has too many tabs open</title>
                    <link>https://ahlstrom.info/brain-tabs-open-loops-gtd</link>
                    <description>I don’t know how many times I’ve walked past colleagues at different companies and seen their screens: twenty, thirty, sometimes forty browser tabs open. They’re frantically clicking through them trying to find the slides for the next meeting, the news article they wanted to read, the document they were working on this morning. Then I see the meme: “My brain has too many tabs open.” And I realize we’re all doing the same thing with our thoughts. We keep mental tabs open for everything: the idea...</description>
                    <guid>https://ahlstrom.info/brain-tabs-open-loops-gtd</guid>
                      <content:encoded>
                            <![CDATA[<p>I don’t know how many times I’ve walked past colleagues at different companies and seen their screens: twenty, thirty, sometimes forty browser tabs open. They’re frantically clicking through them trying to find the slides for the next meeting, the news article they wanted to read, the document they were working on this morning.</p>
<p>Then I see the meme: “My brain has too many tabs open.” And I realize we’re all doing the same thing with our thoughts.</p>
<p>We keep mental tabs open for everything: the idea we had in the shower, the thing we need to discuss with our manager, the grocery list, the project we should start next week.</p>
<p>This is exactly what David Allen was talking about in Getting Things Done. He called them “open loops” and your brain refuses to let go of them because it doesn’t trust that you’ll remember them otherwise.</p>
<p>Your colleague with forty browser tabs has the same problem you do with your racing thoughts. No trusted system for what matters and what doesn’t.</p>
<p>The solution isn’t better memory or more mental discipline. It’s building a system you trust enough that your brain will finally stop hoarding those tabs.</p>
<p>Close the loops.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>From code owners to problem definers</title>
                    <link>https://ahlstrom.info/from-code-owners-to-problem-definers</link>
                    <description>The way we think about ownership in development might change. Today, when you write code, other developers review it before it gets merged. They need to understand your logic, your variable names, your approach. Because they might need to work with this code later. But when AI generates the code, what exactly are we reviewing? Maybe ownership becomes about tests and requirements instead of implementations. You own the test suite that defines what the system should do. You own the performance...</description>
                    <guid>https://ahlstrom.info/from-code-owners-to-problem-definers</guid>
                      <content:encoded>
                            <![CDATA[<p>The way we think about ownership in development might change.</p>
<p>Today, when you write code, other developers review it before it gets merged. They need to understand your logic, your variable names, your approach. Because they might need to work with this code later.</p>
<p>But when AI generates the code, what exactly are we reviewing?</p>
<p>Maybe ownership becomes about tests and requirements instead of implementations.</p>
<p>You own the test suite that defines what the system should do. You own the performance benchmarks. You own the specification that describes the problem we’re solving.</p>
<p>Someone else might run the same tests and get completely different generated code. That’s fine as long as it passes the same validation.</p>
<p>This changes everything. Instead of “Who wrote this function?” the question becomes “Who defined these requirements?” Instead of debugging someone’s implementation, you’re questioning whether the test suite covers the right scenarios.</p>
<p>The skill becomes problem definition rather than problem solving through code.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The holdout test</title>
                    <link>https://ahlstrom.info/the-holdout-test</link>
                    <description>In machine learning, you hold back some data that the model never sees during training. This lets you check if the model actually learned the pattern or just memorized the examples. We might need the same thing for AI-generated code. Right now, most of our tests are “public”. The AI can see them, learn from them, and optimize for them. This works for basic functionality. But it creates a risk. The AI might generate code that passes all your tests but doesn’t actually solve the problem. Like...</description>
                    <guid>https://ahlstrom.info/the-holdout-test</guid>
                      <content:encoded>
                            <![CDATA[<p>In machine learning, you hold back some data that the model never sees during training. This lets you check if the model actually learned the pattern or just memorized the examples.</p>
<p>We might need the same thing for AI-generated code.</p>
<p>Right now, most of our tests are “public”. The AI can see them, learn from them, and optimize for them. This works for basic functionality. But it creates a risk.</p>
<p>The AI might generate code that passes all your tests but doesn’t actually solve the problem. Like writing an if statement for every number between 1 and 2000 instead of using a proper algorithm.</p>
<p>The code technically works. It passes your tests. But it’s brittle and will break the moment you need to handle 2001.</p>
<p>So we need two types of tests. Public tests that guide the AI toward the right solution. And private tests that the AI never sees.</p>
<p>The private tests are your real validation. They test the business logic that actually matters. They try malformed inputs, edge cases, performance under load. They check whether the solution actually works, not just whether it responds correctly to known inputs.</p>
<p>This creates a new discipline. Someone needs to write these holdout tests. Someone who understands the domain deeply enough to know how the system might fail in the real world.</p>
<p>The AI helps with implementation. Humans focus on validation.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 04 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When code reviews become obsolete</title>
                    <link>https://ahlstrom.info/when-code-reviews-become-obsolete</link>
                    <description>We spend so much time in code reviews arguing about implementation details. Should this be a map or a loop? Why did you use this pattern instead of that one? Is this variable name clear enough? These conversations made sense when humans were writing all the code. Understanding someone else’s implementation is crucial because you might need to maintain it, debug it, or extend it later. But what happens when AI generates the code? I can ask an AI agent to build an API that talks to a database,...</description>
                    <guid>https://ahlstrom.info/when-code-reviews-become-obsolete</guid>
                      <content:encoded>
                            <![CDATA[<p>We spend so much time in code reviews arguing about implementation details. Should this be a map or a loop? Why did you use this pattern instead of that one? Is this variable name clear enough?</p>
<p>These conversations made sense when humans were writing all the code. Understanding someone else’s implementation is crucial because you might need to maintain it, debug it, or extend it later.</p>
<p>But what happens when AI generates the code?</p>
<p>I can ask an AI agent to build an API that talks to a database, processes the data, and serves it to the frontend. The code works. The tests pass. But the implementation might be completely different each time I generate it.</p>
<p>Will this matter?</p>
<p>The conversation shifts. We’re not debating whether to use a for loop or a map. We’re debating whether we tested the edge case where users upload malformed data. Whether our performance benchmarks actually reflect real usage patterns.</p>
<p>Maybe developers will keep writing code that matters. But the code that controls what users see won’t be the implementation. It will be the tests.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 03 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The first five minutes</title>
                    <link>https://ahlstrom.info/the-first-five-minutes</link>
                    <description>I printed 160 pages of Java documentation on my school printer in 1998. Sneakily. Downloaded the JDK over a 56k modem connection that took forever. Set everything up exactly as instructed. Then I wrote my first line of code and hit run. Error message. Cryptic, broken English that meant nothing to me. So I uninstalled everything and downloaded it again, burning more precious bandwidth and time. Same error. Same confusion. I gave up on Java that day. Years later I tried PHP with the LAMP stack....</description>
                    <guid>https://ahlstrom.info/the-first-five-minutes</guid>
                      <content:encoded>
                            <![CDATA[<p>I printed 160 pages of Java documentation on my school printer in 1998. Sneakily. Downloaded the JDK over a 56k modem connection that took forever. Set everything up exactly as instructed.</p>
<p>Then I wrote my first line of code and hit run. Error message. Cryptic, broken English that meant nothing to me. So I uninstalled everything and downloaded it again, burning more precious bandwidth and time. Same error. Same confusion.</p>
<p>I gave up on Java that day.</p>
<p>Years later I tried PHP with the LAMP stack. Wrote some code, refreshed my browser, and it worked immediately.</p>
<p>When you’re new to something, you need feedback that tells you whether you’re moving in the right direction or completely lost. You need signals you can actually decode. Whether that feedback comes from the system responding to your code, a person explaining what went wrong, or even just seeing your idea work for the first time.</p>
<p>Without those clear signals early on, momentum dies before it ever builds.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Do the hard thing first</title>
                    <link>https://ahlstrom.info/being-pot-committed-before-solve-the-most-challenging-task</link>
                    <description>We avoid the hard thing. We do the setup first. The research. The planning. The easy wins. We tell ourselves we’re being strategic. Building momentum. Getting organized. Really we’re just scared. The hard thing is hard because we might fail at it. Because we don’t know how to do it yet. Because it requires us to learn something new or uncomfortable. So we leave it for later. When we’re “ready.” But later never comes. Or when it does, we’re already committed. The project has momentum. People are...</description>
                    <guid>https://ahlstrom.info/being-pot-committed-before-solve-the-most-challenging-task</guid>
                      <content:encoded>
                            <![CDATA[<p>We avoid the hard thing.</p>
<p>We do the setup first. The research. The planning. The easy wins.</p>
<p>We tell ourselves we’re being strategic. Building momentum. Getting organized.</p>
<p>Really we’re just scared.</p>
<p>The hard thing is hard because we might fail at it. Because we don’t know how to do it yet. Because it requires us to learn something new or uncomfortable.</p>
<p>So we leave it for later. When we’re “ready.”</p>
<p>But later never comes. Or when it does, we’re already committed. The project has momentum. People are expecting results. Changing course feels impossible.</p>
<p>We’re pot committed to a solution that doesn’t solve the real problem.</p>
<p>Start with the thing we least want to do.</p>
<p>The uncomfortable conversation. The technical challenge you’ve never attempted. The skill you need to learn.</p>
<p>Do that first.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 01 Sep 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>You might not be the audience </title>
                    <link>https://ahlstrom.info/you-might-not-be-the-audience</link>
                    <description>Sometimes people don’t want advice. Sometimes people don’t want feedback. Sometimes people don’t want to learn. Sometimes people don’t want to get monetized. And it’s okay. You might not be the audience. The urge to help is natural. It’s also often misplaced. This isn’t about them being closed-minded. It’s about you not being their audience. The most generous thing you can do sometimes is witness someone’s experience without trying to change it. You don’t have to be relevant to everyone.</description>
                    <guid>https://ahlstrom.info/you-might-not-be-the-audience</guid>
                      <content:encoded>
                            <![CDATA[<p>Sometimes people don’t want advice.</p>
<p>Sometimes people don’t want feedback.</p>
<p>Sometimes people don’t want to learn.</p>
<p>Sometimes people don’t want to get monetized.</p>
<p>And it’s okay. You might not be the audience.</p>
<p>The urge to help is natural. It’s also often misplaced.</p>
<p>This isn’t about them being closed-minded. It’s about you not being their audience.</p>
<p>The most generous thing you can do sometimes is witness someone’s experience without trying to change it.</p>
<p>You don’t have to be relevant to everyone.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 31 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Infinity is not in the quick wins</title>
                    <link>https://ahlstrom.info/infinity-is-not-in-the-quick-wins</link>
                    <description>When you are aiming at being around much longer than Q4 next year, you should focus on the trends rather than quick wins. Quick wins feel good in the moment but they rarely compound. Building something that lasts means accepting slower progress today for exponential returns tomorrow. The companies and people who outlast their competition aren’t chasing the next quarter’s numbers.</description>
                    <guid>https://ahlstrom.info/infinity-is-not-in-the-quick-wins</guid>
                      <content:encoded>
                            <![CDATA[<p>When you are aiming at being around much longer than Q4 next year, you should focus on the trends rather than quick wins.</p>
<p>Quick wins feel good in the moment but they rarely compound. Building something that lasts means accepting slower progress today for exponential returns tomorrow. The companies and people who outlast their competition aren’t chasing the next quarter’s numbers.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 30 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Tools shape how we aim to solve our problems</title>
                    <link>https://ahlstrom.info/tools-shape-of-we-aim-to-solve-our-problems.</link>
                    <description>The tools we have shapes how we look at solving problems. That’s why the same challenge gets completely different solutions depending on who’s tackling it.</description>
                    <guid>https://ahlstrom.info/tools-shape-of-we-aim-to-solve-our-problems.</guid>
                      <content:encoded>
                            <![CDATA[<p>The tools we have shapes how we look at solving problems.</p>
<p>That’s why the same challenge gets completely different solutions depending on who’s tackling it.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 29 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Your voice is like a piano</title>
                    <link>https://ahlstrom.info/your-voice-is-like-a-piano</link>
                    <description>I’ve spent countless hours watching Vinh Giang content. One of his best insights is that you should use your voice like a piano. That most people only use one key when they speak. Same tone. Same pitch. Same volume. It sounds monotone because it is monotone. A piano has 88 keys for a reason. Learn to use them all. Like a pianist knows exactly which key creates the feeling they want. Your voice can do the same.</description>
                    <guid>https://ahlstrom.info/your-voice-is-like-a-piano</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve spent countless hours watching Vinh Giang content.</p>
<p>One of his best insights is that you should use your voice like a piano.</p>
<p>That most people only use one key when they speak. Same tone. Same pitch. Same volume. It sounds monotone because it is monotone.</p>
<p>A piano has 88 keys for a reason. Learn to use them all.</p>
<p>Like a pianist knows exactly which key creates the feeling they want.</p>
<p>Your voice can do the same.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Willingness to belong</title>
                    <link>https://ahlstrom.info/willingness-to-belong</link>
                    <description>I used to hang out at this record store when I was younger. Buying cd after cd. Not because I needed them all but because each purchase felt like proof I belonged there. The synthesizer store was the same. I’d walk in and buy something just to have that moment of connection. To be part of the conversation. “What have you bought? Look at this awesome thing.” We buy our way into communities. The transaction becomes the handshake. The receipt becomes the membership card. Sometimes the willingness...</description>
                    <guid>https://ahlstrom.info/willingness-to-belong</guid>
                      <content:encoded>
                            <![CDATA[<p>I used to hang out at this record store when I was younger. Buying cd after cd. Not because I needed them all but because each purchase felt like proof I belonged there. The synthesizer store was the same. I’d walk in and buy something just to have that moment of connection. To be part of the conversation. “What have you bought? Look at this awesome thing.”</p>
<p>We buy our way into communities. The transaction becomes the handshake. The receipt becomes the membership card.</p>
<p>Sometimes the willingness to belong costs more than we planned to spend. But maybe that’s the price of finding your people.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The new source code</title>
                    <link>https://ahlstrom.info/the-new-source-code</link>
                    <description>I write a prompt. Claude Code generates a markdown file with a solution. I read it, adapt it to my needs, then check that refined specification into git. Many developers craft detailed prompts, get generated code back, then delete the prompt and keep only the implementation. These adapted markdown files contain the real intent. The code contains one possible expression of that intent. The code will change. The intent remains. So version control your thinking, not just your implementations.</description>
                    <guid>https://ahlstrom.info/the-new-source-code</guid>
                      <content:encoded>
                            <![CDATA[<p>I write a prompt. Claude Code generates a markdown file with a solution. I read it, adapt it to my needs, then check that refined specification into git.</p>
<p>Many developers craft detailed prompts, get generated code back, then delete the prompt and keep only the implementation.</p>
<p>These adapted markdown files contain the real intent. The code contains one possible expression of that intent.</p>
<p>The code will change. The intent remains.</p>
<p>So version control your thinking, not just your implementations.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Action and inaction</title>
                    <link>https://ahlstrom.info/action-and-inaction</link>
                    <description>Sometimes action is the only thing you can do to combat inaction. The decision itself can get you moving. Most choices allow for course correction along the way. But it’s harder to pivot while you’re stuck.</description>
                    <guid>https://ahlstrom.info/action-and-inaction</guid>
                      <content:encoded>
                            <![CDATA[<p>Sometimes action is the only thing you can do to combat inaction.</p>
<p>The decision itself can get you moving. Most choices allow for course correction along the way.</p>
<p>But it’s harder to pivot while you’re stuck. </p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 25 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Skills and scars</title>
                    <link>https://ahlstrom.info/skills-and-scars</link>
                    <description>Building something terrible still beats consuming something perfect. I can write broken code or record a garbage track and walk away knowing I made something exist. I’ve never closed Instagram feeling like I accomplished anything. Creation leaves you with skills and scars. Consumption just leaves you wondering where the time went.</description>
                    <guid>https://ahlstrom.info/skills-and-scars</guid>
                      <content:encoded>
                            <![CDATA[<p>Building something terrible still beats consuming something perfect. I can write broken code or record a garbage track and walk away knowing I made something exist. </p>
<p>I’ve never closed Instagram feeling like I accomplished anything. </p>
<p>Creation leaves you with skills and scars. </p>
<p>Consumption just leaves you wondering where the time went.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 24 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>What you don’t see</title>
                    <link>https://ahlstrom.info/what-you-don't-see</link>
                    <description>When you think of developing a new product it is easy to think that underneath a solid UI there is also solid code.</description>
                    <guid>https://ahlstrom.info/what-you-don't-see</guid>
                      <content:encoded>
                            <![CDATA[<p>When you think of developing a new product it is easy to think that underneath a solid UI there is also solid code.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 23 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The illusion of together time</title>
                    <link>https://ahlstrom.info/the-illusion-of-together-time</link>
                    <description>We gather to watch something together. Everyone pulls out their phone. The shared screen becomes permission for individual escape. Nobody calls it out because everyone’s doing it. We all maintain this fiction that we spent time together while actually being alone in parallel.</description>
                    <guid>https://ahlstrom.info/the-illusion-of-together-time</guid>
                      <content:encoded>
                            <![CDATA[<p>We gather to watch something together. Everyone pulls out their phone.</p>
<p>The shared screen becomes permission for individual escape.</p>
<p>Nobody calls it out because everyone’s doing it. We all maintain this fiction that we spent time together while actually being alone in parallel.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Legacy behaviors</title>
                    <link>https://ahlstrom.info/legacy-behaviors</link>
                    <description>Some behaviors stick around long after the problems they were designed to solve have disappeared. These create some of the biggest change management challenges we face. Take the keyboard. This oddly arranged collection of keys exists because of a mechanical limitation from over a century ago. Typewriter keys would jam if you typed too quickly on adjacent letters, so the QWERTY layout deliberately slowed typists down. Why haven’t we escaped this antiquated design in the nearly 40 years since...</description>
                    <guid>https://ahlstrom.info/legacy-behaviors</guid>
                      <content:encoded>
                            <![CDATA[<p>Some behaviors stick around long after the problems they were designed to solve have disappeared. These create some of the biggest change management challenges we face.</p>
<p>Take the keyboard. This oddly arranged collection of keys exists because of a mechanical limitation from over a century ago. Typewriter keys would jam if you typed too quickly on adjacent letters, so the QWERTY layout deliberately slowed typists down.</p>
<p>Why haven’t we escaped this antiquated design in the nearly 40 years since typewriters became obsolete?</p>
<p>Often it’s because these behaviors become so deeply embedded in our culture that we stop questioning whether better alternatives exist. We train the next generation using the same methods without pausing to ask: is this actually the best way?</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 21 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Brands need faces</title>
                    <link>https://ahlstrom.info/brands-need-faces</link>
                    <description>Brands cannot survive being faceless. AI will flood the market with generic content. Brands need humans to connect.</description>
                    <guid>https://ahlstrom.info/brands-need-faces</guid>
                      <content:encoded>
                            <![CDATA[<p>Brands cannot survive being faceless. AI will flood the market with generic content. Brands need humans to connect.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 20 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Show me your bad work</title>
                    <link>https://ahlstrom.info/show-me-your-bad-work</link>
                    <description>You’re not stuck because you can’t create. You’re stuck because you won’t create badly. Show me your bad work.</description>
                    <guid>https://ahlstrom.info/show-me-your-bad-work</guid>
                      <content:encoded>
                            <![CDATA[<p>You’re not stuck because you can’t create. You’re stuck because you won’t create badly.</p>
<p>Show me your bad work.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 19 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>From code writers to problem solvers</title>
                    <link>https://ahlstrom.info/from-code-writers-to-problem-solvers</link>
                    <description>There’s a divide among developers right now. Some embrace AI code generation as a powerful tool. Others worry it threatens their relevance, fearing they’ll become obsolete if machines can write code. The best developers I’ve worked with have been those who understood messy, complex business problems and figured out how to break them down into logical, implementable pieces. The code was just the way we communicated this process to the computer. We’ve seen this pattern before. As people mastered...</description>
                    <guid>https://ahlstrom.info/from-code-writers-to-problem-solvers</guid>
                      <content:encoded>
                            <![CDATA[<p>There’s a divide among developers right now. Some embrace AI code generation as a powerful tool. Others worry it threatens their relevance, fearing they’ll become obsolete if machines can write code.</p>
<p>The best developers I’ve worked with have been those who understood messy, complex business problems and figured out how to break them down into logical, implementable pieces. The code was just the way we communicated this process to the computer.</p>
<p>We’ve seen this pattern before. As people mastered each layer of abstraction, it enabled others to work at higher levels. AI code generation is just the next step in that evolution.</p>
<p>Yet AI makes domain expertise more valuable, not less. The developers getting the best results aren’t beginners trying to skip the learning curve. They’re experienced engineers who can quickly spot when AI generates something that looks right but will cause performance issues at scale.</p>
<p>Perhaps those who struggle with AI identify as “code writers” rather than “problem solvers”? As long as we position ourselves as just the people who translate requirements into code, we’ll get typecast out of the conversations about what should be built and why.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Three steps to get your bearings</title>
                    <link>https://ahlstrom.info/three-steps-to-get-your-bearings</link>
                    <description>A few years ago we shipped software with a crucial bug. The kind that makes leadership look for someone to blame and makes you wonder if your judgment is completely broken. I could have walked into the team meeting asking who screwed up. I’d seen other managers do exactly that. They immediately shift focus to finding the guilty party. But I’d developed a different habit over the years, partly from reading the book “Crucial Conversations” and partly from watching blame shifting destroy teams....</description>
                    <guid>https://ahlstrom.info/three-steps-to-get-your-bearings</guid>
                      <content:encoded>
                            <![CDATA[<p>A few years ago we shipped software with a crucial bug. The kind that makes leadership look for someone to blame and makes you wonder if your judgment is completely broken.</p>
<p>I could have walked into the team meeting asking who screwed up. I’d seen other managers do exactly that. They immediately shift focus to finding the guilty party. But I’d developed a different habit over the years, partly from reading the book “Crucial Conversations” and partly from watching blame shifting destroy teams.</p>
<p>Facts first: “We released version X. It has this specific bug. Here’s what we know about impact.” No interpretation, no context, no excuses. Just what actually happened.</p>
<p>Then feelings: “This makes us look incompetent. Leadership is annoyed. I feel like I’ve lost credibility.” The stuff everyone was feeling but afraid to say out loud.</p>
<p>Finally, the future: “What needs to change so this doesn’t happen again?”</p>
<p>What surprised me was how quickly the conversation shifted from blame to problem solving. Not because I had some master plan, but because facts-feelings-future kept us focused on what we could actually control.</p>
<p>The same pattern works when stakes are higher too. When someone crosses a line, you still start the same way: “This is what you said. This is how it made people feel. This needs to stop.” But whether it ends with boundary setting or process changes depends on what actually happened.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 17 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Speed changes what we notice</title>
                    <link>https://ahlstrom.info/speed-changes-what-we-notice</link>
                    <description>During a run today, my wife made an observation that stuck with me. When we walk, we don’t notice the tiny rises and dips in the path. When we run, the slightest upward piece becomes a struggle. I realized I experience the complete opposite when building products. Speed makes me lose sight of the minutiae that actually matter. Those edge cases that seem trivial in the moment. The quiet concerns someone has after the meeting ends and the decision is already made. When we’re moving fast, we...</description>
                    <guid>https://ahlstrom.info/speed-changes-what-we-notice</guid>
                      <content:encoded>
                            <![CDATA[<p>During a run today, my wife made an observation that stuck with me. When we walk, we don’t notice the tiny rises and dips in the path. When we run, the slightest upward piece becomes a struggle.</p>
<p>I realized I experience the complete opposite when building products. Speed makes me lose sight of the minutiae that actually matter. Those edge cases that seem trivial in the moment. The quiet concerns someone has after the meeting ends and the decision is already made.</p>
<p>When we’re moving fast, we barrel through what feels like flat ground. We miss the small friction points that will trip us up later. The user who doesn’t fit our happy path. The integration that works perfectly until it doesn’t. The team member who nods in the room but has doubts they never voice.</p>
<p>Speed doesn’t just change how fast we ship. It changes what we perceive as obstacles. Running teaches you that every slight incline matters. Building products fast teaches you to ignore the inclines entirely.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Everything else is noise</title>
                    <link>https://ahlstrom.info/everything-else-is-noise</link>
                    <description>Your focus is only as good as your inputs. Curate what reaches you: meetings, reading, data. Everything else is noise.</description>
                    <guid>https://ahlstrom.info/everything-else-is-noise</guid>
                      <content:encoded>
                            <![CDATA[<p>Your focus is only as good as your inputs. Curate what reaches you: meetings, reading, data. Everything else is noise.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Why I love local news</title>
                    <link>https://ahlstrom.info/why-i-love-local-news</link>
                    <description>People don’t read local news for the news. They read it to feel like they belong somewhere. When you know your favourite restaurant is expanding, that the division 4 football team won last Friday, that there’s construction on the bridge that cuts your travel by 30 minutes. You’re not just informed. When you run into your neighbor at the grocery store and mention the restaurant expansion, you’re not making small talk. You’re connecting over what matters here. Local news isn’t about information....</description>
                    <guid>https://ahlstrom.info/why-i-love-local-news</guid>
                      <content:encoded>
                            <![CDATA[<p>People don’t read local news for the news.</p>
<p>They read it to feel like they belong somewhere.</p>
<p>When you know your favourite restaurant is expanding, that the division 4 football team won last Friday, that there’s construction on the bridge that cuts your travel by 30 minutes. You’re not just informed.</p>
<p>When you run into your neighbor at the grocery store and mention the restaurant expansion, you’re not making small talk.</p>
<p>You’re connecting over what matters here.</p>
<p>Local news isn’t about information.</p>
<p>It’s about community.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 14 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The best notes happen by instinct</title>
                    <link>https://ahlstrom.info/trust-your-gut-when-you-take-notes</link>
                    <description>Skip the productivity systems and note-taking frameworks. When something makes you lean forward, when your pulse quickens, when you get that sudden “wait, what?” feeling. Capture what actually hits you. The idea that stops your scrolling. The sentence that you read twice. The moment when you think “I need to remember this.”</description>
                    <guid>https://ahlstrom.info/trust-your-gut-when-you-take-notes</guid>
                      <content:encoded>
                            <![CDATA[<p>Skip the productivity systems and note-taking frameworks. When something makes you lean forward, when your pulse quickens, when you get that sudden “wait, what?” feeling. Capture what actually hits you. The idea that stops your scrolling. The sentence that you read twice. The moment when you think “I need to remember this.”</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Draw the owl</title>
                    <link>https://ahlstrom.info/draw-the-owl</link>
                    <description>You’ve probably seen the meme: “How to draw an owl.” Step 1: Draw some basic shapes. Step 2: Draw the rest of the owl. We want the shortcut to the final result. Skip the messy middle steps and jump straight to a polished business plan, product spec or marketing strategy. The problem is that if you don’t know what a good owl looks like, you can’t tell whether AI has drawn one successfully. If you’ve never written a business plan yourself, you won’t recognize when a generated one lacks crucial...</description>
                    <guid>https://ahlstrom.info/draw-the-owl</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1755004490765-xg5t93.png" alt="" title="IMG_4079.png"></p>
<p>You’ve probably seen the meme: “How to draw an owl.” Step 1: Draw some basic shapes. Step 2: Draw the rest of the owl.</p>
<p>We want the shortcut to the final result. Skip the messy middle steps and jump straight to a polished business plan, product spec or marketing strategy.</p>
<p>The problem is that if you don’t know what a good owl looks like, you can’t tell whether AI has drawn one successfully.</p>
<p>If you’ve never written a business plan yourself, you won’t recognize when a generated one lacks crucial financial assumptions, market analysis or risk assessments.</p>
<p>AI makes domain expertise more valuable, not less. The people getting the best results from AI aren’t beginners trying to skip the learning curve. They’re experts who understand the intent behind every section.</p>
<p>We can’t just learn to prompt better. We need to understand what good looks like in the first place.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The speed of attention</title>
                    <link>https://ahlstrom.info/the-speed-of-attention</link>
                    <description>In an age of instant everything, the most valuable thing we can offer is our time, our attention, our humanity. This spring, we had a patch of bare dirt where we used to keep rabbits. Instead of planting grass seeds for a quick fix, we chose wildflower seeds. I watch bees and butterflies move deliberately from bloom to bloom. The bees don’t hurry. The butterflies don’t multitask. This attention and presence might be all we can compete with. When AI scales, it happens instantly. But while robots...</description>
                    <guid>https://ahlstrom.info/the-speed-of-attention</guid>
                      <content:encoded>
                            <![CDATA[<p>In an age of instant everything, the most valuable thing we can offer is our time, our attention, our humanity.</p>
<p>This spring, we had a patch of bare dirt where we used to keep rabbits. Instead of planting grass seeds for a quick fix, we chose wildflower seeds.</p>
<p>I watch bees and butterflies move deliberately from bloom to bloom.</p>
<p>The bees don’t hurry. The butterflies don’t multitask.</p>
<p>This attention and presence might be all we can compete with.</p>
<p>When AI scales, it happens instantly. But while robots perfect the craft, humans can give focused attention to other humans.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 11 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Build systems, not willpower</title>
                    <link>https://ahlstrom.info/build-systems-not-willpower</link>
                    <description>If your change depends on having enough willpower or feeling motivated, it’s probably doomed since both run out when you need them most. Make your change part of a system to make it stick. A great system is attaching something to an already formed habit. I listen to podcasts in an app where I can save a snippet of the conversation with ease. But that snippet alone might not trigger the same idea when I read it back. So I’ve attached the habit of adding a small note that starts with “This is...</description>
                    <guid>https://ahlstrom.info/build-systems-not-willpower</guid>
                      <content:encoded>
                            <![CDATA[<p>If your change depends on having enough willpower or feeling motivated, it’s probably doomed since both run out when you need them most.</p>
<p>Make your change part of a system to make it stick. A great system is attaching something to an already formed habit.</p>
<p>I listen to podcasts in an app where I can save a snippet of the conversation with ease. But that snippet alone might not trigger the same idea when I read it back. So I’ve attached the habit of adding a small note that starts with “This is interesting to me because…” That way I can get back to the state I was in when listening.</p>
<p>Another example: whenever I want to exercise in the morning, I need to put my workout clothes out the evening before. It’s a small mental shift that makes it easier. I’m not relying on morning motivation to overcome the small barrier of finding workout clothes. I’m eliminating that decision point entirely.</p>
<p>When looking to create a new habit, find the micro habit to attach it to. Instead of fighting your human nature, you’re designing around it.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 10 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Test timing, not just features</title>
                    <link>https://ahlstrom.info/test-timing-not-just-features</link>
                    <description>Technology changes and people adapt. Maybe not for version one, but possibly by version two when they see the value. When testing products, don’t just test the feature. Test the timing. What shifted that makes people more open to this idea today? Stop saying ”we tried that already.”</description>
                    <guid>https://ahlstrom.info/test-timing-not-just-features</guid>
                      <content:encoded>
                            <![CDATA[<p>Technology changes and people adapt. Maybe not for version one, but possibly by version two when they see the value.</p>
<p>When testing products, don’t just test the feature. Test the timing. What shifted that makes people more open to this idea today?</p>
<p>Stop saying ”we tried that already.”</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Escape the pressure to prove yourself quickly</title>
                    <link>https://ahlstrom.info/escape-the-pressure-to-prove-yourself-quickly</link>
                    <description>Starting a new role creates this weird pressure to prove yourself quickly. As a new engineer you want to commit something. As a project manager you want to ship a feature. As a manager you want to make decisions. The instinct is to move fast and show progress. But the way to actually learn and succeed is different. You need to understand the problem well enough that you can explain it to others. Then make a plan on how to solve it. Then get feedback on that idea. This feels counterintuitive...</description>
                    <guid>https://ahlstrom.info/escape-the-pressure-to-prove-yourself-quickly</guid>
                      <content:encoded>
                            <![CDATA[<p>Starting a new role creates this weird pressure to prove yourself quickly.</p>
<p>As a new engineer you want to commit something. As a project manager you want to ship a feature. As a manager you want to make decisions. The instinct is to move fast and show progress.</p>
<p>But the way to actually learn and succeed is different. You need to understand the problem well enough that you can explain it to others. Then make a plan on how to solve it. Then get feedback on that idea.</p>
<p>This feels counterintuitive when you’re new. It feels like you’re not doing anything. But it’s what actually works.</p>
<p>If you manage or coach people, this is something you have to make explicit. You can’t assume they know this.</p>
<p>Tell them: you’re new here. Your focus right now is to understand this role and these challenges. I want you to be able to explain them back to me.</p>
<p>Then depending on their level, you’ll need different amounts of handholding. Junior people need you to walk them through what understanding actually looks like. Senior people need permission to slow down and think. Experienced people in new domains need help knowing what questions to ask.</p>
<p>The pressure to ship something fast is real. But the people who succeed long-term are the ones who understand deeply first.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 08 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Meaning is never one-size-fits-all</title>
                    <link>https://ahlstrom.info/meaning-is-never-one-size-fits-all</link>
                    <description>For some people any mobile-phone will be the right one. For those people you will never need to build a brand. But if you want a following or people to get exited, you need something that makes some people not exited.</description>
                    <guid>https://ahlstrom.info/meaning-is-never-one-size-fits-all</guid>
                      <content:encoded>
                            <![CDATA[<p>For some people any mobile-phone will be the right one. For those people you will never need to build a brand.</p>
<p>But if you want a following or people to get exited, you need something that makes some people not exited.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>One destination and guardrails</title>
                    <link>https://ahlstrom.info/one-destination-and-guardrails</link>
                    <description>We needed to migrate our tech stack. Instead of a detailed playbook, we set few guidelines: reduce system complexity, ensure everyone feels ownership, and spread knowledge across the team. People started making faster decisions. They could push back on overly complex solutions without needing technical expertise. The guidelines created productive conflict about real tradeoffs. Compare this to projects where every decision needs approval. People stop thinking. Change becomes something that...</description>
                    <guid>https://ahlstrom.info/one-destination-and-guardrails</guid>
                      <content:encoded>
                            <![CDATA[<p>We needed to migrate our tech stack. Instead of a detailed playbook, we set few guidelines: reduce system complexity, ensure everyone feels ownership, and spread knowledge across the team.</p>
<p>People started making faster decisions. They could push back on overly complex solutions without needing technical expertise. The guidelines created productive conflict about real tradeoffs.</p>
<p>Compare this to projects where every decision needs approval. People stop thinking. Change becomes something that happens to them.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Mastery of use</title>
                    <link>https://ahlstrom.info/mastery-of-use</link>
                    <description>Mastery of use doesn’t require mastery of understanding.</description>
                    <guid>https://ahlstrom.info/mastery-of-use</guid>
                      <content:encoded>
                            <![CDATA[<p>Mastery of use doesn’t require mastery of understanding.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Don't attend meetings you're not needed in</title>
                    <link>https://ahlstrom.info/don't-attend-meetings-you're-not-needed-in</link>
                    <description>Meetings have become the place where decisions happen. When meetings become decision central, everyone feels they need to be everywhere. You can’t skip the meeting where your project might get discussed. When everyone thinks that way, every meeting becomes overcrowded with people who don’t need to be there. Often we come with simple advice “Don’t attend meetings you’re not needed in” which sounds obvious. Yet people keep showing up. They sit in meetings where they have nothing to contribute....</description>
                    <guid>https://ahlstrom.info/don't-attend-meetings-you're-not-needed-in</guid>
                      <content:encoded>
                            <![CDATA[<p>Meetings have become the place where decisions happen.</p>
<p>When meetings become decision central, everyone feels they need to be everywhere.</p>
<p>You can’t skip the meeting where your project might get discussed.</p>
<p>When everyone thinks that way, every meeting becomes overcrowded with people who don’t need to be there.</p>
<p>Often we come with simple advice “Don’t attend meetings you’re not needed in” which sounds obvious.</p>
<p>Yet people keep showing up.</p>
<p>They sit in meetings where they have nothing to contribute. Where they’re not making decisions. Where they’re just… there.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 04 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Authority is the memetic blind spot</title>
                    <link>https://ahlstrom.info/authority-is-the-memetic-blind-spot</link>
                    <description>I learned something uncomfortable when I became an engineering manager. My technical opinions suddenly carried weight I didn’t intend them to have. As a senior engineer, I had strong opinions about solutions and advocated for them. That was my job. But as a manager, people sometimes stopped pushing back. They saw me as someone whose technical judgment could affect their careers. This is mimetic desire in action. People copy what they think successful people want. I lost access to the...</description>
                    <guid>https://ahlstrom.info/authority-is-the-memetic-blind-spot</guid>
                      <content:encoded>
                            <![CDATA[<p>I learned something uncomfortable when I became an engineering manager.</p>
<p>My technical opinions suddenly carried weight I didn’t intend them to have.</p>
<p>As a senior engineer, I had strong opinions about solutions and advocated for them. That was my job.</p>
<p>But as a manager, people sometimes stopped pushing back. They saw me as someone whose technical judgment could affect their careers.</p>
<p>This is mimetic desire in action. People copy what they think successful people want.</p>
<p>I lost access to the discussions that lead to better solutions. Junior developers stayed quiet. The collaborative tension that makes teams stronger disappeared.</p>
<p>I learned that being “right” about the technical solution mattered less than having the team bought into whatever we chose.</p>
<p>Your job isn’t to have the best technical opinions anymore. It’s to make sure the best technical opinions get heard.​​​​​​​​​​​​​​​​</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 03 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>A glass shard problem</title>
                    <link>https://ahlstrom.info/a-glass-shard-problem</link>
                    <description>Fresh developers are like sharp glass shards in an ocean. They have strong opinions. Clear preferences. Everything is black and white, good patterns and bad patterns, right ways and wrong ways. But time smooths those edges. Experience teaches you that most technical decisions are about tradeoffs, not absolutes. You become more open to different approaches. This creates an interesting leadership challenge. The people with the sharpest questions often lack the confidence to ask them. The people...</description>
                    <guid>https://ahlstrom.info/a-glass-shard-problem</guid>
                      <content:encoded>
                            <![CDATA[<p>Fresh developers are like sharp glass shards in an ocean.</p>
<p>They have strong opinions. Clear preferences. Everything is black and white, good patterns and bad patterns, right ways and wrong ways.</p>
<p>But time smooths those edges. Experience teaches you that most technical decisions are about tradeoffs, not absolutes. You become more open to different approaches.</p>
<p>This creates an interesting leadership challenge.</p>
<p>The people with the sharpest questions often lack the confidence to ask them. The people with the confidence have learned to stop asking the uncomfortable questions.</p>
<p>You need both in your decision-making process.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 02 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI hype isn't the same as VR hype was</title>
                    <link>https://ahlstrom.info/ai-hype-isnt-the-same-as-vr-hype-was</link>
                    <description>VR required consumers to buy new hardware, learn new systems, and fundamentally change their behavior. Put on a headset. Dedicate time to an isolated experience. AI builds on behaviors we already have. People type in text fields hundreds of times daily. OpenAI’s 800+ million users came so quickly because the barrier was minimal. Go to a website, type text, get smarter answers. Sure, there’s hype around AI. But adoption is driven by technology solving real problems within existing workflows....</description>
                    <guid>https://ahlstrom.info/ai-hype-isnt-the-same-as-vr-hype-was</guid>
                      <content:encoded>
                            <![CDATA[<p>VR required consumers to buy new hardware, learn new systems, and fundamentally change their behavior. Put on a headset. Dedicate time to an isolated experience.</p>
<p>AI builds on behaviors we already have. People type in text fields hundreds of times daily. OpenAI’s 800+ million users came so quickly because the barrier was minimal. Go to a website, type text, get smarter answers.</p>
<p>Sure, there’s hype around AI. But adoption is driven by technology solving real problems within existing workflows. That’s a completely different starting point than VR’s demand for behavior change.</p>
<p>Maybe the question isn’t whether AI goes the same way as VR, but which AI applications actually stick and which are just hype.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Make things, see better</title>
                    <link>https://ahlstrom.info/make-things-see-better</link>
                    <description>When you create things, your consumption gets better.</description>
                    <guid>https://ahlstrom.info/make-things-see-better</guid>
                      <content:encoded>
                            <![CDATA[<p>When you create things, your consumption gets better.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Developing using AI is like playing chess</title>
                    <link>https://ahlstrom.info/developing-with-ai-is-like-playing-chess</link>
                    <description>A few years ago I tried to teach my kids how to play chess. Trying to learn them all the moves and how to think ahead. The concept of “where do you want to be in a few moves?” was somewhat complicated to grasp. But once you understand it, everything changes. The better you are at predicting where you want your opponent in the future, the better you are at moving towards it. But you can’t just jump straight to checkmate. You need to plan the moves in between. The same applies to developing using...</description>
                    <guid>https://ahlstrom.info/developing-with-ai-is-like-playing-chess</guid>
                      <content:encoded>
                            <![CDATA[<p>A few years ago I tried to teach my kids how to play chess. Trying to learn them all the moves and how to think ahead. The concept of “where do you want to be in a few moves?” was somewhat complicated to grasp.</p>
<p>But once you understand it, everything changes. The better you are at predicting where you want your opponent in the future, the better you are at moving towards it. But you can’t just jump straight to checkmate. You need to plan the moves in between.</p>
<p>The same applies to developing using AI.</p>
<p>You need to think iteratively. Where do you want to move your pieces? In which direction?</p>
<p>The difference with chess is that your opponent really wants you to win. It can eagerly move its pawns to where it thinks would benefit you.</p>
<p>But it might not.</p>
<p>Just like chess, the more experience you have and the better your skills, the better player you are. The same applies to developing using AI. The more skills you have in development and thinking in systems, the better you’ll be at guiding it.</p>
<p>We invented chess computers that can think ahead. Building AI that can do iterative thinking is just the next step. So expect improvements but maybe not exact results.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Meeting Theater</title>
                    <link>https://ahlstrom.info/meeting-theater</link>
                    <description>About 10 years ago an agile coach introduced me to this concept: meeting theater. He was talking about scrum ceremonies. Teams going through daily standups, sprint reviews, and retrospectives because the framework said so. Not because it moved anything forward. A fake display of productivity with no progress. Throughout my career I’ve been watching organizations that struggle to ship. Management teams spend 8 hours a day in meetings. The calendar looks impressive, packed with important-sounding...</description>
                    <guid>https://ahlstrom.info/meeting-theater</guid>
                      <content:encoded>
                            <![CDATA[<p>About 10 years ago an agile coach introduced me to this concept: meeting theater.</p>
<p>He was talking about scrum ceremonies. Teams going through daily standups, sprint reviews, and retrospectives because the framework said so. Not because it moved anything forward. A fake display of productivity with no progress.</p>
<p>Throughout my career I’ve been watching organizations that struggle to ship.</p>
<p>Management teams spend 8 hours a day in meetings. The calendar looks impressive, packed with important-sounding work.</p>
<p>But nothing gets built.</p>
<p>Meeting theater feels productive. That’s the trap. But those decisions need execution, and execution needs uninterrupted time.</p>
<p>The busy schedule becomes proof of importance. The full calendar signals commitment.</p>
<p>Someone has to write the code, ship the product. That someone isn’t in meetings all day.</p>
<p>The real work happens when people can focus. When they can solve problems instead of talking about solving problems.</p>
<p>But talking about work feels like work.</p>
<p>So the theater continues.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 29 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Speaking for the machines</title>
                    <link>https://ahlstrom.info/speaking-for-the-machines</link>
                    <description>People are already modifying how they communicate because they know AI is listening. In meetings, they use clearer, more declarative language because they’ve learned the AI captures that better. In writing, they structure thoughts differently for AI consumption. We’re unconsciously adapting our natural communication patterns to be more “AI-friendly.” The intelligence level of the AI almost doesn’t matter. Once these tools enter our workflows, they inevitably alter the fundamental patterns of...</description>
                    <guid>https://ahlstrom.info/speaking-for-the-machines</guid>
                      <content:encoded>
                            <![CDATA[<p>People are already modifying how they communicate because they know AI is listening.</p>
<p>In meetings, they use clearer, more declarative language because they’ve learned the AI captures that better. In writing, they structure thoughts differently for AI consumption.</p>
<p>We’re unconsciously adapting our natural communication patterns to be more “AI-friendly.”</p>
<p>The intelligence level of the AI almost doesn’t matter. Once these tools enter our workflows, they inevitably alter the fundamental patterns of how we interact with information and each other.</p>
<p>We’re not just using AI. We’re being shaped by it.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When AI flattens the room</title>
                    <link>https://ahlstrom.info/when-ai-flattens-the-room</link>
                    <description>Meeting transcription AI captures everything equally. Someone says “I think this is important” and the AI treats it as neutral text. But that statement from the CEO carries different weight than the same words from an intern. The AI misses the context. It flattens organizational dynamics in the summary. If that summary becomes the canonical record, suddenly the quiet person who made one good point gets equal billing with whoever dominated the conversation. Nobody designed for that. But it’s...</description>
                    <guid>https://ahlstrom.info/when-ai-flattens-the-room</guid>
                      <content:encoded>
                            <![CDATA[<p>Meeting transcription AI captures everything equally.</p>
<p>Someone says “I think this is important” and the AI treats it as neutral text. But that statement from the CEO carries different weight than the same words from an intern.</p>
<p>The AI misses the context. It flattens organizational dynamics in the summary.</p>
<p>If that summary becomes the canonical record, suddenly the quiet person who made one good point gets equal billing with whoever dominated the conversation.</p>
<p>Nobody designed for that. But it’s happening.</p>
<p>These tools are conducting unplanned experiments in communication patterns and social dynamics, with outcomes nobody anticipated.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Even bad AI changes systems</title>
                    <link>https://ahlstrom.info/even-bad-ai-changes-systems</link>
                    <description>Go into Google Drive. Try to find the document you edited yesterday. It’s like it vanished. That’s terrible AI from a search company. But it already changed how you work. You probably search differently now. Use different keywords. Rely more on recent files. You adapted to its limitations. The AI didn’t get smarter. Your system changed. This is what we miss when we obsess over how intelligent AI is. The transformative power isn’t in the intelligence level. It’s in how AI changes the systems we...</description>
                    <guid>https://ahlstrom.info/even-bad-ai-changes-systems</guid>
                      <content:encoded>
                            <![CDATA[<p>Go into Google Drive. Try to find the document you edited yesterday. It’s like it vanished.</p>
<p>That’s terrible AI from a search company. But it already changed how you work.</p>
<p>You probably search differently now. Use different keywords. Rely more on recent files. You adapted to its limitations.</p>
<p>The AI didn’t get smarter. Your system changed.</p>
<p>This is what we miss when we obsess over how intelligent AI is. The transformative power isn’t in the intelligence level. It’s in how AI changes the systems we use every day.</p>
<p>Even dumb AI reshapes behavior.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The stupidity filter</title>
                    <link>https://ahlstrom.info/the-stupidity-filter</link>
                    <description>Claude and ChatGPT changed how I think. I now vet ideas there first for any upfront stupidity. That’s a new step in my thinking process. I’ve essentially added a rubber duck that talks back. It probably changes not just what ideas I present to people, but how I formulate ideas in the first place. Some of the best insights come from someone saying something half-baked and another person going “wait, that’s actually interesting if we think about it this way…” But if you’ve already filtered out...</description>
                    <guid>https://ahlstrom.info/the-stupidity-filter</guid>
                      <content:encoded>
                            <![CDATA[<p>Claude and ChatGPT changed how I think.</p>
<p>I now vet ideas there first for any upfront stupidity.</p>
<p>That’s a new step in my thinking process. I’ve essentially added a rubber duck that talks back. It probably changes not just what ideas I present to people, but how I formulate ideas in the first place.</p>
<p>Some of the best insights come from someone saying something half-baked and another person going “wait, that’s actually interesting if we think about it this way…”</p>
<p>But if you’ve already filtered out the half-baked idea through AI, those generative moments never happen.</p>
<p>You get more polished inputs. But you lose those weird random leaps that lead somewhere unexpected.</p>
<p>The trick is knowing when to use the filter and when to let the half-baked ideas fly.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 26 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Escape the Third-Party API Trap</title>
                    <link>https://ahlstrom.info/escape-the-third-party-api-trap</link>
                    <description>What I really like about Lovable’s new moves is that they’re pivoting toward a model where they no longer fully depend on third-party APIs. I’ve seen this dependency problem destroy value before. At memmo.me, our entire business depended on celebrities creating content. One celebrity deciding to stop could hurt our platform. At Spotify, I watched Taylor Swift pull her entire catalog to go exclusive elsewhere. Not business-ending, but a clear reminder of who held the real power at the time. Both...</description>
                    <guid>https://ahlstrom.info/escape-the-third-party-api-trap</guid>
                      <content:encoded>
                            <![CDATA[<p>What I really like about Lovable’s new moves is that they’re pivoting toward a model where they no longer fully depend on third-party APIs.</p>
<p>I’ve seen this dependency problem destroy value before. At <a href="http://memmo.me">memmo.me</a>, our entire business depended on celebrities creating content. One celebrity deciding to stop could hurt our platform. At Spotify, I watched Taylor Swift pull her entire catalog to go exclusive elsewhere. Not business-ending, but a clear reminder of who held the real power at the time.</p>
<p>Both situations taught me the same lesson: when your business model depends on someone else’s decisions, you’re never fully in control.</p>
<p>Most third-party AI platforms face this exact squeeze today. Every improvement costs more tokens. Every feature burns more cash. When you’re optimizing for token efficiency instead of user experience, you’ve already lost the game.</p>
<p>Lovable just escaped that trap.</p>
<p>They raised $200M and launched infrastructure features like hosting, security, and team collaboration. Where their previous improvements often depended on more intricate ways of prompting and cost more and more tokens, now they’re creating revenue streams that don’t burn API tokens.</p>
<p>This isn’t just about adding features. It’s about changing what business they’re in.</p>
<p>They’re not competing with OpenAI, Anthropic, and Google on pure generation anymore. They’re becoming the place where AI-generated apps live. That’s the infrastructure move that changes everything.</p>
<p>Now when you build something with Lovable that uses their new offerings, moving it elsewhere means migrating your database, your custom domain, your team workspace. Possible, but painful.</p>
<p>The pattern repeats across industries. Record stores couldn’t compete when big box retailers sold CDs as loss leaders. Travel agencies disappeared when airlines cut commissions. Cable companies survived by becoming ISPs instead of fighting Netflix for content.</p>
<p>Stop being the middleman. Start owning the infrastructure.</p>
<p>Every successful platform eventually faces this choice. You either own something irreplaceable or you become a feature that someone else can build cheaper.</p>
<p>When costs rise and margins shrink, you either control something customers can’t easily leave, or you watch your business model collapse one price increase at a time.</p>
<p>Lovable chose ownership.</p>
<p>Other AI platforms will need to make similar moves soon. Own the deployment pipeline. Control the data layer. Become infrastructure that’s harder to replace than the generation itself.</p>
<p>The intermediary becomes the infrastructure, or the intermediary dies.</p>
<p>That’s the choice.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 25 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When people share unfiltered AI, my brain switches off</title>
                    <link>https://ahlstrom.info/when-people-share-unfiltered-ai-my-brain-switches-off</link>
                    <description>During the last couple of years we have seen plenty of presentations and workshops where the presenter says: “I’ve let AI summarize what we’ve done so far.” I can hear the audience’s brains collectively shut off. They don’t want to read long unedited AI sloppified versions of what has been said. It’s not about AI being bad. It’s about someone abdicating their thinking. When people share what AI has written without putting their touch to it, they’re essentially saying “I didn’t think this was...</description>
                    <guid>https://ahlstrom.info/when-people-share-unfiltered-ai-my-brain-switches-off</guid>
                      <content:encoded>
                            <![CDATA[<p>During the last couple of years we have seen plenty of presentations and workshops where the presenter says: “I’ve let AI summarize what we’ve done so far.”</p>
<p>I can hear the audience’s brains collectively shut off.</p>
<p>They don’t want to read long unedited AI sloppified versions of what has been said.</p>
<p>It’s not about AI being bad. It’s about someone abdicating their thinking.</p>
<p>When people share what AI has written without putting their touch to it, they’re essentially saying “I didn’t think this was worth my time to understand, but maybe it’s worth yours.”</p>
<p>If you didn’t digest it, why should I?</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 24 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Personal stories trump tools</title>
                    <link>https://ahlstrom.info/personal-stories-trump-tools</link>
                    <description>Here’s what I’ve noticed: when I share a personal story or genuine viewpoint, people don’t care if AI helped me write it. The authenticity of the experience matters more than the authenticity of the prose. You can’t fake living through something. You can get help explaining what you lived through. There’s a difference between using AI to find better words for your thoughts and using AI to have thoughts for you. The story has to be yours. The telling can be collaborative.</description>
                    <guid>https://ahlstrom.info/personal-stories-trump-tools</guid>
                      <content:encoded>
                            <![CDATA[<p>Here’s what I’ve noticed: when I share a personal story or genuine viewpoint, people don’t care if AI helped me write it.</p>
<p>The authenticity of the experience matters more than the authenticity of the prose.</p>
<p>You can’t fake living through something. You can get help explaining what you lived through.</p>
<p>There’s a difference between using AI to find better words for your thoughts and using AI to have thoughts for you.</p>
<p>The story has to be yours. The telling can be collaborative.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Stand behind everything you publish</title>
                    <link>https://ahlstrom.info/stand-behind-everything-you-publish</link>
                    <description>I rarely share what AI writes directly. It will always be my responsibility that I can stand behind the text, code, or image. AI can help me articulate ideas. It cannot give me ideas I don’t actually have. The tool doesn’t matter. The accountability does. If you can’t defend it, don’t publish it.</description>
                    <guid>https://ahlstrom.info/stand-behind-everything-you-publish</guid>
                      <content:encoded>
                            <![CDATA[<p>I rarely share what AI writes directly.</p>
<p>It will always be my responsibility that I can stand behind the text, code, or image.</p>
<p>AI can help me articulate ideas. It cannot give me ideas I don’t actually have.</p>
<p>The tool doesn’t matter. The accountability does.</p>
<p>If you can’t defend it, don’t publish it.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>I’m writing about AI while using AI to write about it</title>
                    <link>https://ahlstrom.info/i'm-writing-about-ai-while-using-ai-to-write-about-it</link>
                    <description>Meta? Sure. But here’s what just happened: I had a conversation with Claude about my writing process. We found three post ideas. Claude helped me draft them. I edited them down. Now I’m writing about that process while doing that process. The recursion doesn’t make it less real. It makes it more honest. This is how collaboration works now.</description>
                    <guid>https://ahlstrom.info/i'm-writing-about-ai-while-using-ai-to-write-about-it</guid>
                      <content:encoded>
                            <![CDATA[<p>Meta? Sure.</p>
<p>But here’s what just happened: I had a conversation with Claude about my writing process. We found three post ideas. Claude helped me draft them. I edited them down.</p>
<p>Now I’m writing about that process while doing that process.</p>
<p>The recursion doesn’t make it less real. It makes it more honest.</p>
<p>This is how collaboration works now.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 21 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI is making me a better editor</title>
                    <link>https://ahlstrom.info/ai-is-making-me-a-better-editor</link>
                    <description>Everyone worries AI will make us lazy writers. The opposite is happening to me. AI wants to write everything. Long paragraphs. Perfect transitions. Neat conclusions that wrap everything up with a bow. I spend most of my time cutting. Removing words I don’t like. Cleaning up endings that over-explain the point. The creative work has shifted. It’s not about generating anymore, it’s about recognizing what matters and ruthlessly eliminating what doesn’t. I’m forced to practice saying “no” to...</description>
                    <guid>https://ahlstrom.info/ai-is-making-me-a-better-editor</guid>
                      <content:encoded>
                            <![CDATA[<p>Everyone worries AI will make us lazy writers.</p>
<p>The opposite is happening to me.</p>
<p>AI wants to write everything. Long paragraphs. Perfect transitions. Neat conclusions that wrap everything up with a bow.</p>
<p>I spend most of my time cutting. Removing words I don’t like. Cleaning up endings that over-explain the point.</p>
<p>The creative work has shifted. It’s not about generating anymore, it’s about recognizing what matters and ruthlessly eliminating what doesn’t.</p>
<p>I’m forced to practice saying “no” to perfectly decent sentences because they’re not essential.</p>
<p>I’m learning how to distill without losing the core.</p>
<p>How to be brief without being empty.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Small steps with AI</title>
                    <link>https://ahlstrom.info/small-steps-with-ai</link>
                    <description>As a junior developer, I wanted to rewrite everything. Big commits, massive refactors, complete overhauls. It felt productive. It wasn’t. Senior developers know better. Small commits. Testable changes. Break it down further. As a CTO, I coach the same thing. What’s the smallest thing we can release? Can we make a PoC first? How do we break this down? Now I’m watching people learn this same lesson with AI. AI wants to write your entire blog post, refactor your whole function, solve your complete...</description>
                    <guid>https://ahlstrom.info/small-steps-with-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>As a junior developer, I wanted to rewrite everything. Big commits, massive refactors, complete overhauls. It felt productive.</p>
<p>It wasn’t.</p>
<p>Senior developers know better. Small commits. Testable changes. Break it down further.</p>
<p>As a CTO, I coach the same thing. What’s the smallest thing we can release? Can we make a PoC first? How do we break this down?</p>
<p>Now I’m watching people learn this same lesson with AI.</p>
<p>AI wants to write your entire blog post, refactor your whole function, solve your complete problem. Just like junior me, it feels productive.</p>
<p>It isn’t.</p>
<p>The people who get the most out of AI are treating it like code. Small changes they can verify. Iterative improvements they can stand behind.</p>
<p>They’re learning in months what took me years: the more powerful your tool, the more restraint you need to use it well.</p>
<p>Turns out incremental thinking isn’t just good engineering. It’s good everything.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 19 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Make Creation Easier Than Consumption</title>
                    <link>https://ahlstrom.info/make-creation-easier-than-consumption</link>
                    <description>Creation loses to consumption because we make it harder than it needs to be. Want to start writing? We think about starting a blog, choosing a platform, designing a theme. Too much friction. Want to learn to code? We plan out an entire app, research frameworks, set up development environments. Too many steps. Want to draw? We think about technique, style, the right tools. Too much pressure. Meanwhile, consumption is always one click away. The path of least resistance wins every time. So make...</description>
                    <guid>https://ahlstrom.info/make-creation-easier-than-consumption</guid>
                      <content:encoded>
                            <![CDATA[<p>Creation loses to consumption because we make it harder than it needs to be.</p>
<p>Want to start writing? We think about starting a blog, choosing a platform, designing a theme. Too much friction.</p>
<p>Want to learn to code? We plan out an entire app, research frameworks, set up development environments. Too many steps.</p>
<p>Want to draw? We think about technique, style, the right tools. Too much pressure.</p>
<p>Meanwhile, consumption is always one click away.</p>
<p>The path of least resistance wins every time.</p>
<p>So make creation the easier path: open a text file and write one paragraph. Write a function that adds two numbers. Draw something, anything, on paper.</p>
<p>Lower the barrier until creation becomes the default choice.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 18 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The Two-Hour Reality</title>
                    <link>https://ahlstrom.info/the-two-hour-reality</link>
                    <description>Most productivity advice assumes you’re optimizing your entire day. But that’s not reality. Work takes 8 hours. Sleep takes 8 more. Cooking, family time, basic life maintenance fills most of the rest. What you’re really optimizing for is maybe 2 hours of discretionary time. Maybe an hour in the morning before things get hectic. Maybe an hour in the evening after everything settles down. The consumption vs creation debate isn’t about revolutionizing your whole life. It’s about what you do with...</description>
                    <guid>https://ahlstrom.info/the-two-hour-reality</guid>
                      <content:encoded>
                            <![CDATA[<p>Most productivity advice assumes you’re optimizing your entire day.</p>
<p>But that’s not reality.</p>
<p>Work takes 8 hours. Sleep takes 8 more. Cooking, family time, basic life maintenance fills most of the rest.</p>
<p>What you’re really optimizing for is maybe 2 hours of discretionary time.</p>
<p>Maybe an hour in the morning before things get hectic. Maybe an hour in the evening after everything settles down.</p>
<p>The consumption vs creation debate isn’t about revolutionizing your whole life. It’s about what you do with those precious few windows.</p>
<p>That’s when you’re actually choosing: do I scroll or do I write? Do I watch or do I build?</p>
<p>Forget the grand life overhaul. Just win those 2 hours.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 17 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The Finished Work Stumble</title>
                    <link>https://ahlstrom.info/the-finished-work-stumble</link>
                    <description>Getting back to creating after completing something has always been complicated for me. It’s like the weight of the completed, iterated, polished version becomes the goal post for the next creative thing. The next thing needs to start on the same level as the previous was when it was completed. This happens almost every time I try to create again. I overconsume on data, reports, articles and research to make a “better” next project. But really, I’m just avoiding starting at the messy beginning...</description>
                    <guid>https://ahlstrom.info/the-finished-work-stumble</guid>
                      <content:encoded>
                            <![CDATA[<p>Getting back to creating after completing something has always been complicated for me.</p>
<p>It’s like the weight of the completed, iterated, polished version becomes the goal post for the next creative thing. The next thing needs to start on the same level as the previous was when it was completed.</p>
<p>This happens almost every time I try to create again. I overconsume on data, reports, articles and research to make a “better” next project.</p>
<p>But really, I’m just avoiding starting at the messy beginning level again.</p>
<p>The solution isn’t better research. It’s permission to suck again.</p>
<p>Your first draft doesn’t need to compete with your last published piece. It just needs to exist.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 16 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The Long-Term Trap</title>
                    <link>https://ahlstrom.info/the-long-term-trap</link>
                    <description>We’ve trained ourselves to think long-term about everything. “But what if this needs to scale to millions of users?” “How will this architecture handle enterprise requirements?” “What happens when the team grows to 50 developers?” All reasonable questions. For the wrong projects. I’ve watched teams spend years discussing between Symfony vs Laravel and then the problem disappeared in two weeks when company moved to java as the golden path. They were so focused on building the “right” foundation...</description>
                    <guid>https://ahlstrom.info/the-long-term-trap</guid>
                      <content:encoded>
                            <![CDATA[<p>We’ve trained ourselves to think long-term about everything.</p>
<p>“But what if this needs to scale to millions of users?”</p>
<p>“How will this architecture handle enterprise requirements?”</p>
<p>“What happens when the team grows to 50 developers?”</p>
<p>All reasonable questions. For the wrong projects.</p>
<p>I’ve watched teams spend years discussing between Symfony vs Laravel and then the problem disappeared in two weeks when company moved to java as the golden path. They were so focused on building the “right” foundation that they missed the shifting ground beneath them.</p>
<p>When you’re building a prototype to test an idea, enterprise-grade infrastructure is like bringing a crane to hang a picture frame.</p>
<p>The bias toward long-term thinking creates an invisible tax on every decision. Database schemas become more complex than needed. Code gets abstracted for flexibility that never comes. Simple features become architectural discussions.</p>
<p>Meanwhile, competitors ship working versions and learn what actually matters.</p>
<p>The irony? By the time you’ve built something robust enough to “scale properly,” the market has often moved on. Your bulletproof solution solves yesterday’s problem with tomorrow’s complexity.</p>
<p>I’m not advocating for sloppy work. I’m questioning our default assumption that every project needs to survive nuclear war.</p>
<p>Sometimes the best long-term strategy is admitting you don’t know what the long term looks like.</p>
<p>Build for what you know today. Let tomorrow teach you what it actually needs.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The Five-Month Revolution</title>
                    <link>https://ahlstrom.info/the-five-month-revolution</link>
                    <description>LinkedIn is buzzing about vibe coding’s impact on organizations. “It’s changing everything!” say the enthusiasts. “It’s destroying software quality!” counter the traditionalists. Both camps are missing something fundamental: vibe coding has existed for five months. Five. Months. That’s not enough time to change a coffee order habit, let alone organizational foundations. Yet here we are, debating whether it’s revolutionizing or ruining enterprise development. I’ve watched companies spend longer...</description>
                    <guid>https://ahlstrom.info/the-five-month-revolution</guid>
                      <content:encoded>
                            <![CDATA[<p>LinkedIn is buzzing about vibe coding’s impact on organizations.</p>
<p>“It’s changing everything!” say the enthusiasts.</p>
<p>“It’s destroying software quality!” counter the traditionalists.</p>
<p>Both camps are missing something fundamental: vibe coding has existed for five months.</p>
<p>Five. Months.</p>
<p>That’s not enough time to change a coffee order habit, let alone organizational foundations. Yet here we are, debating whether it’s revolutionizing or ruining enterprise development.</p>
<p>I’ve watched companies spend longer than five months just deciding which project management tool to use. The idea that a coding approach could fundamentally reshape organizational values in the same timeframe is… well… optimistic.</p>
<p>Real organizational change operates on geological timescales. Culture shifts happen when people retire, not when new tools emerge. The companies celebrating vibe coding victories today are probably the same ones who adopted React faster than everyone else because they were already comfortable with experimentation.</p>
<p>The companies dismissing it as dangerous chaos? They were already risk-averse.</p>
<p>Vibe coding didn’t change these organizations. It reveals them.</p>
<p>Maybe the question isn’t whether vibe coding will transform how we work. Maybe it’s whether we’re ready to see what our organizations actually value when a faster option appears.</p>
<p>Five months is just enough time to show what was already there.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 14 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The Figma Fallacy</title>
                    <link>https://ahlstrom.info/the-figma-fallacy</link>
                    <description>The first time I held an iPod, I understood something that watching Steve Jobs demo never could have taught me. Weight. Texture. The satisfying click of the scroll wheel. You can’t experience lag in a prototype. You can’t feel the awkward pause between tapping a button and seeing a response. Screenshots are beautiful liars. We’ve gotten so good at making static designs look finished that we’ve forgotten they’re just educated guesses. A perfectly polished Figma prototype sends the wrong signal:...</description>
                    <guid>https://ahlstrom.info/the-figma-fallacy</guid>
                      <content:encoded>
                            <![CDATA[<p>The first time I held an iPod, I understood something that watching Steve Jobs demo never could have taught me.</p>
<p>Weight. Texture. The satisfying click of the scroll wheel.</p>
<p>You can’t experience lag in a prototype. You can’t feel the awkward pause between tapping a button and seeing a response. Screenshots are beautiful liars.</p>
<p>We’ve gotten so good at making static designs look finished that we’ve forgotten they’re just educated guesses.</p>
<p>A perfectly polished Figma prototype sends the wrong signal: “This is ready. Don’t change it.” The more professional it looks, the more people hesitate to suggest improvements. Nobody wants to be the person asking for “small tweaks” to something that looks complete.</p>
<p>But show someone a working prototype where they can type in a text field and watch their words appear instantly? Different story.</p>
<p>“Can this button be bigger?”</p>
<p>“What if the text was clearer?”</p>
<p>“This feels slow - can we make it faster?”</p>
<p>Suddenly everyone becomes a user experience expert. Not because they know more, but because they’re experiencing rather than imagining.</p>
<p>The best feedback comes from touching, not looking.</p>
<p>Paper sketches invite edits because they look unfinished. Working prototypes invite interaction because they feel real. Polished mockups invite approval because they seem done.</p>
<p>Choose your invitation wisely.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 13 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The book recommendations I need</title>
                    <link>https://ahlstrom.info/the-book-recommendations-i-need</link>
                    <description>Here is a service I desperately need. A book recommendation based on where I stopped reading a book. ”Ohh you stopped reading Lean Startup after 4 chapters. Then you probably should checkout The Every Store instead cause it has less jargon and is more narrative driven”. Smart recommendations it could make: “You stopped at the theory-heavy part, try this more practical version” “Most people who stop here prefer memoirs over how-to books” “You made it 60% through, here’s something that builds on...</description>
                    <guid>https://ahlstrom.info/the-book-recommendations-i-need</guid>
                      <content:encoded>
                            <![CDATA[<p>Here is a service I desperately need. A book recommendation based on where I stopped reading a book.</p>
<p>”Ohh you stopped reading Lean Startup after   4 chapters. Then you probably should checkout The Every Store instead cause it has less jargon and is more narrative driven”.</p>
<p>Smart recommendations it could make: </p>
<p>“You stopped at the theory-heavy part, try this more practical version” </p>
<p>“Most people who stop here prefer memoirs over how-to books”</p>
<p>“You made it 60% through, here’s something that builds on those concepts”</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 12 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The code that wouldn't die</title>
                    <link>https://ahlstrom.info/the-code-that-wouldnt-die</link>
                    <description>I remember this piece of code. Messy doesn’t even begin to describe it. At least once a year, someone would try to kill it. And fail. On paper? Simple. It picked which market and language a user lived in. Geographic data plus browser settings, with some fallbacks thrown in. Easy, right? Wrong. The code was so woven into our system that touching it meant rewriting everything. We kept thinking “IT JUST PICKS MARKET AND LANGUAGE!!!1?” But that abstraction blinded us to the real complexity. I see...</description>
                    <guid>https://ahlstrom.info/the-code-that-wouldnt-die</guid>
                      <content:encoded>
                            <![CDATA[<p>I remember this piece of code.</p>
<p>Messy doesn’t even begin to describe it. At least once a year, someone would try to kill it. And fail.</p>
<p>On paper? Simple. It picked which market and language a user lived in. Geographic data plus browser settings, with some fallbacks thrown in. Easy, right?</p>
<p>Wrong.</p>
<p>The code was so woven into our system that touching it meant rewriting everything. We kept thinking “IT JUST PICKS MARKET AND LANGUAGE!!!1?” But that abstraction blinded us to the real complexity.</p>
<p>I see the same pattern now with AI-assisted coding.</p>
<p>You dip your toes in. You think everything’s simple. “Just build me an app that does X.” But you’re the complexity. You understand the full flow. You abstract away all the messy details that make starting from scratch so hard.</p>
<p>This is where Gall’s law hits you: “Complex systems that work have invariably evolved from simpler systems that worked.”</p>
<p>Start smaller. Start easier.</p>
<p>Don’t go all-in on “Create an app where everyone can chat with everyone in the world and it should be encrypted.”</p>
<p>Start with two people. Make that work first.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 11 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Copy the thinking, not the system</title>
                    <link>https://ahlstrom.info/copy-the-thinking-not-the-system</link>
                    <description>One interesting paradox of productivity social media: the most effective personal systems are deliberately non-scalable. They’re optimized for one person’s mental model. It’s about what you want to do and how you want to do it. But we always look at mentors trying to copy their results. We see their hindsight view of how they work and assume that’s the blueprint. For years companies tried to copy the Spotify Model. Squads, tribes, chapters, guilds. The whole thing. Just to realize that Spotify...</description>
                    <guid>https://ahlstrom.info/copy-the-thinking-not-the-system</guid>
                      <content:encoded>
                            <![CDATA[<p>One interesting paradox of productivity social media: the most effective personal systems are deliberately non-scalable. They’re optimized for one person’s mental model.</p>
<p>It’s about what you want to do and how you want to do it.</p>
<p>But we always look at mentors trying to copy their results. We see their hindsight view of how they work and assume that’s the blueprint.</p>
<p>For years companies tried to copy the Spotify Model. Squads, tribes, chapters, guilds. The whole thing.</p>
<p>Just to realize that Spotify wasn’t even using it anymore.</p>
<p>It was a utopian vision of how work could happen at a specific moment in Spotify’s life. Not a universal framework.</p>
<p>By the time a system becomes famous enough to copy, it’s already been abandoned by the people who created it.</p>
<p>So when we look at how others do things, we need to understand their input. Their constraints. Their actual daily reality.</p>
<p>Not just the polished model they present at conferences.</p>
<p>Copy the thinking, not the system.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The artists view</title>
                    <link>https://ahlstrom.info/the-artists-view</link>
                    <description>A few months ago I bought a close to broken old record player and speakers for $25. Since then I’ve bought used and reissues of old classics on vinyl. There is something special to the feeling of dropping the needle on the LP’s first track and listening through to the end, not skipping a song because I don’t like it, but keeping at it because it’s what the artist aimed at. Delivering a story. I’d never heard David Bowie’s Heroes album before this, just the hits. But those wonky odd tracks in...</description>
                    <guid>https://ahlstrom.info/the-artists-view</guid>
                      <content:encoded>
                            <![CDATA[<p>A few months ago I bought a close to broken old record player and speakers for $25.</p>
<p>Since then I’ve bought used and reissues of old classics on vinyl. There is something special to the feeling of dropping the needle on the LP’s first track and listening through to the end, not skipping a song because I don’t like it, but keeping at it because it’s what the artist aimed at. Delivering a story.</p>
<p>I’d never heard David Bowie’s Heroes album before this, just the hits. But those wonky odd tracks in between? They’re what make the whole story work.</p>
<p>Wouldn’t it be interesting if artists themselves could say: you cannot listen to any specific tune until you’ve listened to this complete album.</p>
<p>Think of the kind of stories that would then be able to be told again. </p>
<p>Like going to the Louvre and only seeing the Mona Lisa before leaving. You miss all the context that makes it truly special.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 09 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI Agents... Everywhere!</title>
                    <link>https://ahlstrom.info/ai-agents-everywhere</link>
                    <description>I keep seeing memes about “AI Agents everywhere!” and people dismissing them as the next metaverse fad or NFT bubble. But I think they’re missing something important. Look at the behavioral shift happening. Most people I know now go to ChatGPT instead of Google when they need answers, help figuring out strategic decisions or polish their slides. We’re not just changing how we find information. We’re changing how we interact with services entirely. Instead of building our own AI agents, the...</description>
                    <guid>https://ahlstrom.info/ai-agents-everywhere</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1751728003911-m2qda1.jpeg" alt="" title="IMG_3472.jpeg"></p>
<p>I keep seeing memes about “AI Agents everywhere!” and people dismissing them as the next metaverse fad or NFT bubble. But I think they’re missing something important.</p>
<p>Look at the behavioral shift happening. Most people I know now go to ChatGPT instead of Google when they need answers, help figuring out strategic decisions or polish their slides.</p>
<p>We’re not just changing how we find information. We’re changing how we interact with services entirely. Instead of building our own AI agents, the smart move might be building for the AI agents people already use.</p>
<p>Then there’s the money. Big tech is pouring billions into AI infrastructure and development. This collective industry pivot is massive. The only comparable shift I can think of is when everything moved to “the cloud”.</p>
<p>The memes about AI agents being everywhere aren’t wrong. They’re just missing the point about what that actually means for how we’ll do business.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>When leaders return to making things</title>
                    <link>https://ahlstrom.info/when-leaders-return-to-making-things</link>
                    <description>Most technical leaders didn’t become leaders to lead. They became leaders because that’s where the influence was. The budget decisions. The architectural choices. The strategic direction. But somewhere along the way, they stopped building things. Meetings replaced coding sessions. Presentation replaced prototypes. They found themselves describing solutions instead of creating them. AI development tools might change that equation entirely. What if you could maintain strategic oversight while...</description>
                    <guid>https://ahlstrom.info/when-leaders-return-to-making-things</guid>
                      <content:encoded>
                            <![CDATA[<p>Most technical leaders didn’t become leaders to lead.</p>
<p>They became leaders because that’s where the influence was. The budget decisions. The architectural choices. The strategic direction.</p>
<p>But somewhere along the way, they stopped building things.</p>
<p>Meetings replaced coding sessions. Presentation replaced prototypes. They found themselves describing solutions instead of creating them.</p>
<p>AI development tools might change that equation entirely.</p>
<p>What if you could maintain strategic oversight while personally building the critical pieces? What if leading didn’t mean delegating everything?</p>
<p>The traditional model assumed you couldn’t do both. Leadership required full attention. Technical work required deep focus. Pick one.</p>
<p>But AI tools compress the time between idea and implementation. That strategy you’ve been explaining in slide decks? You could prototype it this afternoon.</p>
<p>The architectural vision you’ve been communicating through diagrams? You could build the foundational pieces yourself.</p>
<p>This isn’t about micromanaging or stepping on your team’s toes. It’s about leaders who understand systems deeply enough to know which problems to solve personally.</p>
<p>The CEO who builds the core algorithm. The CTO who prototypes the new platform architecture. The VP who writes the critical integration herself.</p>
<p>Not because the team can’t do it. Because they can do it better, faster, and with more context about where it fits in the bigger picture.</p>
<p>These leaders aren’t telling their teams what to build. They’re building alongside them. Sharing knowledge in real-time. Showing techniques and explaining trade-offs as they happen. It’s leadership through example rather than directive.</p>
<p>We might see a new type of leader emerging. The hands-on executive who combines strategic thinking with personal execution. Someone who doesn’t just direct the work but actively participates in creating it.</p>
<p>The best leaders were usually great individual contributors first.</p>
<p>Maybe AI tools will let them be both again.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 07 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The new Boomers</title>
                    <link>https://ahlstrom.info/the-new-boomers</link>
                    <description>Baby boomers occupied knowledge work positions longer than any generation before them. Unlike factory workers who retired from physical labor, knowledge workers just stayed. Programming doesn’t wear out your knees. Now the last boomers are stepping down. Someone has to fill those positions. That someone is probably in their late thirties. Two decades of experience. You’ve seen frameworks come and go. You remember when JavaScript was a toy language. But you might not need to follow the...</description>
                    <guid>https://ahlstrom.info/the-new-boomers</guid>
                      <content:encoded>
                            <![CDATA[<p>Baby boomers occupied knowledge work positions longer than any generation before them. Unlike factory workers who retired from physical labor, knowledge workers just stayed. Programming doesn’t wear out your knees.</p>
<p>Now the last boomers are stepping down. Someone has to fill those positions.</p>
<p>That someone is probably in their late thirties. Two decades of experience. You’ve seen frameworks come and go. You remember when JavaScript was a toy language.</p>
<p>But you might not need to follow the traditional path.</p>
<p>The old model was predictable. Get experience. Move to management. Trade your keyboard for spreadsheets and slides.</p>
<p>AI development tools will change that equation.</p>
<p>Why manage a team of five junior developers when you can have the productivity of fifteen?</p>
<p>You know what good code looks like. You understand system architecture. You’ve debugged enough production fires to spot problems before they happen. Now you have tools that amplify that experience instead of bureaucratizing it.</p>
<p>Junior developers will learn AI-assisted coding as their baseline. But they lack the pattern recognition that comes from years of mistakes. They don’t know which shortcuts lead to technical debt disasters.</p>
<p>You do.</p>
<p>Combined with AI tools, that experience becomes a superpower. This creates a new archetype: the experienced individual contributor who skips management entirely and becomes a one-person product factory.</p>
<p>Here’s the thing though: they might not be in a hurry to leave either. Why retire when you can outproduce entire teams? Why step aside when you’re finally having fun building again?</p>
<p>Sound familiar?</p>
<p>Meet the new boomers.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 06 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Maybe it doesn't need to scale</title>
                    <link>https://ahlstrom.info/maybe-it-doesnt-need-to-scale</link>
                    <description>LinkedIn is full of developers dunking on “vibe coding.” “It doesn’t scale,” they say. “You can’t build enterprise systems this way.” “What happens when your team grows?” They’re probably right. And maybe that’s completely missing the point. Scale is the wrong metric for personal productivity. It’s like judging a custom-tailored suit by whether it fits everyone in the company. With AI development tools like Claude Code, personal optimization becomes effortless. I no longer spend hours reading...</description>
                    <guid>https://ahlstrom.info/maybe-it-doesnt-need-to-scale</guid>
                      <content:encoded>
                            <![CDATA[<p>LinkedIn is full of developers dunking on “vibe coding.”</p>
<p>“It doesn’t scale,” they say. “You can’t build enterprise systems this way.” “What happens when your team grows?”</p>
<p>They’re probably right.</p>
<p>And maybe that’s completely missing the point.</p>
<p>Scale is the wrong metric for personal productivity. It’s like judging a custom-tailored suit by whether it fits everyone in the company.</p>
<p>With AI development tools like Claude Code, personal optimization becomes effortless.</p>
<p>I no longer spend hours reading documentation just to remember how to set up a basic Express server. I don’t wade through boilerplate code to get started. I don’t compromise my vision because the existing tools almost-but-not-quite fit my needs.</p>
<p>I describe what I want. I get exactly what I want.</p>
<p>This isn’t about building Facebook. It’s about solving my problems, the way I think about them, with tools that bend to my mental model instead of forcing me to bend to theirs.</p>
<p>Team coordination? Code reviews? Maintainability? These remain important for large systems. But they’re separate problems from personal effectiveness.</p>
<p>The real challenge isn’t accommodating more developers. It’s amplifying the ones you have.</p>
<p>When I can generate a perfect Obsidian plugin in the time it takes to take a shower, the old rules about scalable development practices feel… quaint.</p>
<p>Maybe it’s about teams that scale through individual superpowers. The best engineering organizations won’t be the biggest. They’ll be small teams where everyone operates at peak personal effectiveness while still collaborating seamlessly.</p>
<p>That’s a different kind of scale entirely.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 05 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>My Tony Stark moment</title>
                    <link>https://ahlstrom.info/my-tony-stark-moment</link>
                    <description>A few days ago, I realized I’d been posting on my blog every day for six months. My initial plan? One month. But momentum carried me forward, even through a four-day hospital stay. The blog lives on Cloudflare, but today I hit a snag. My posts weren’t stored with my other notes. I couldn’t cross-reference them in my notes tool. My old approach would have been predictable: hunt for a tool that takes my RSS feed, creates a local version, and downloads referenced images. Maybe spend hours...</description>
                    <guid>https://ahlstrom.info/my-tony-stark-moment</guid>
                      <content:encoded>
                            <![CDATA[<p>A few days ago, I realized I’d been posting on my blog every day for six months.</p>
<p>My initial plan? One month. But momentum carried me forward, even through a four-day hospital stay.</p>
<p>The blog lives on Cloudflare, but today I hit a snag. My posts weren’t stored with my other notes. I couldn’t cross-reference them in my notes tool.</p>
<p>My old approach would have been predictable: hunt for a tool that takes my RSS feed, creates a local version, and downloads referenced images. Maybe spend hours researching options. Maybe settle for something that almost works.</p>
<p>AI development tools changed this habit for me.</p>
<p>I opened my terminal. Created a folder. Fired up Claude Code with the somewhat scary <code>claude --dangerously-skip-permissions</code> and wrote:</p>
<blockquote>
<p>“I have a blog with an RSS feed. I want to write a plugin for Obsidian where it downloads all posts and images, converts them to the correct format, and adds them to a specific folder.”</p>
</blockquote>
<p>Then I went to brew coffee.</p>
<p>When I came back? A working plugin. Exactly what I wanted.</p>
<p>This is the Tony Stark and Jarvis feeling. I bring the ideas. The LLM handles execution. I test and confirm.</p>
<p>No wrestling with documentation. No Stack Overflow rabbit holes. No compromising on requirements because the existing tools don’t quite fit.</p>
<p>Just problem to solution in the time it takes coffee to brew.</p>
<p>Does it scale? No, not right now.</p>
<p>Does it need to scale? I don’t know.</p>
<p>Maybe scale isn’t about building massive systems anymore. Maybe it’s about having near-unlimited capability to solve your specific problems perfectly.</p>
<p>Like having a personal manufacturing line for software tools.</p>
<p>Each solution fits exactly because it’s built exactly for you.</p>
<p>p.s. you can download the <a href="https://github.com/ahlstrominfo/rss-blog-importer">plugin for Obsidian over at github</a>.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 04 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The creativity conundrum</title>
                    <link>https://ahlstrom.info/the-creativity-conundrum</link>
                    <description>Creativity comes from boredom. Real boredom. The kind where you stare at nothing for half an hour and let your mind wander. When you fill every moment with distractions, you get lazy creativity. You pick the first thing that comes to mind. That’s the path of least resistance. Real creativity needs mental free time. Space to break habits and explore different perspectives. But we’ve eliminated boredom entirely. You have access to almost all music ever recorded. Every movie you could want....</description>
                    <guid>https://ahlstrom.info/the-creativity-conundrum</guid>
                      <content:encoded>
                            <![CDATA[<p>Creativity comes from boredom.</p>
<p>Real boredom. The kind where you stare at nothing for half an hour and let your mind wander.</p>
<p>When you fill every moment with distractions, you get lazy creativity. You pick the first thing that comes to mind. That’s the path of least resistance.</p>
<p>Real creativity needs mental free time. Space to break habits and explore different perspectives.</p>
<p>But we’ve eliminated boredom entirely.</p>
<p>You have access to almost all music ever recorded. Every movie you could want. Infinite YouTube videos. Chat tools that answer any question instantly.</p>
<p>And we use it all.</p>
<p>We’re always distracted from boredom.</p>
<p>Too distracted to get creative.</p>
<p>Make sure to leave some room for boredom. The kind where you sit and suddenly find yourself daydreaming.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 03 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The interruption trap</title>
                    <link>https://ahlstrom.info/the-interruption-trap</link>
                    <description>We’ve adapted behaviours that interrupt us constantly, then we wonder why we can’t focus deeply. Every app fights for our attention. We cram every hour with meetings. We want to be productive, but we have designed much of our day to day with pings, dings and rings. These are the systems we live in now, and identifying them is only the first step.</description>
                    <guid>https://ahlstrom.info/the-interruption-trap</guid>
                      <content:encoded>
                            <![CDATA[<p>We’ve adapted behaviours that interrupt us constantly, then we wonder why we can’t focus deeply.</p>
<p>Every app fights for our attention. We cram every hour with meetings.</p>
<p>We want to be productive, but we have designed much of our day to day with pings, dings and rings.</p>
<p>These are the systems we live in now, and identifying them is only the first step.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Decisions are not in hindsight</title>
                    <link>https://ahlstrom.info/decisions-are-not-in-hindsight</link>
                    <description>Whether a decision is good or bad shouldn’t be determined in hindsight. You can make good decisions with bad outcome or bad decisions with great success.</description>
                    <guid>https://ahlstrom.info/decisions-are-not-in-hindsight</guid>
                      <content:encoded>
                            <![CDATA[<p>Whether a decision is good or bad shouldn’t be determined in hindsight.</p>
<p>You can make good decisions with bad outcome or bad decisions with great success. </p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Sometimes </title>
                    <link>https://ahlstrom.info/sometimes</link>
                    <description>Sometimes we don’t want to do so we practice and sometimes we do want to do and we practice. Consistency is what makes practice less like practice.</description>
                    <guid>https://ahlstrom.info/sometimes</guid>
                      <content:encoded>
                            <![CDATA[<p>Sometimes we don’t want to do so we practice and sometimes we do want to do and we practice. </p>
<p>Consistency is what makes practice less like practice.  </p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 30 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>LLMs can't replace your story</title>
                    <link>https://ahlstrom.info/llms-cant-replace-your-story</link>
                    <description>Your experience and feelings cannot be replaced by an LLM, but it can help you find the words to share them.</description>
                    <guid>https://ahlstrom.info/llms-cant-replace-your-story</guid>
                      <content:encoded>
                            <![CDATA[<p>Your experience and feelings cannot be replaced by an LLM, but it can help you find the words to share them.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 29 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Did sampling kill creativity</title>
                    <link>https://ahlstrom.info/did-sampling-kill-creativity</link>
                    <description>With all the outrage about AI writing and coding not being “real creativity”, I can’t stop thinking about when sampling became a thing in the 80s. Musicians taking bits and pieces from other records to create something new. It was legally messy but creatively fascinating. Is this what we’re experiencing now? AI will follow sampling’s playbook: outrage, adoption, amnesia. Today’s “AI kills creativity” will be tomorrow’s “I’ve always used these tools.”</description>
                    <guid>https://ahlstrom.info/did-sampling-kill-creativity</guid>
                      <content:encoded>
                            <![CDATA[<p>With all the outrage about AI writing and coding not being “real creativity”, I can’t stop thinking about when sampling became a thing in the 80s. </p>
<p>Musicians taking bits and pieces from other records to create something new. </p>
<p>It was legally messy but creatively fascinating. </p>
<p>Is this what we’re experiencing now? </p>
<p>AI will follow sampling’s playbook: outrage, adoption, amnesia. </p>
<p>Today’s “AI kills creativity” will be tomorrow’s “I’ve always used these tools.”</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Creativity is food</title>
                    <link>https://ahlstrom.info/creativity-is-food</link>
                    <description>Creativity when you’re stuck feels like eating when you’re sick. Food loses its appeal even though your body needs it. The spark feels absent even though some part of you knows engaging will help. Sometimes you have to gently force yourself back to the thing that usually brings pleasure.</description>
                    <guid>https://ahlstrom.info/creativity-is-food</guid>
                      <content:encoded>
                            <![CDATA[<p>Creativity when you’re stuck feels like eating when you’re sick. Food loses its appeal even though your body needs it. The spark feels absent even though some part of you knows engaging will help. Sometimes you have to gently force yourself back to the thing that usually brings pleasure.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 27 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Prompt files are the new dotfiles</title>
                    <link>https://ahlstrom.info/when-code-will-be-commoditiszed</link>
                    <description>If AI can write any code, then the real value is in understanding systems well enough to give the right instructions. Top developers will focus on having great prompt files that explain how they work. The tools they like, the APIs they use. How they want code to be tested and written. It will be the dot-files of the future. Personal config files that define your entire coding style and follow you from project to project. Sure, you can copy someone else’s prompt files. But to really benefit, you...</description>
                    <guid>https://ahlstrom.info/when-code-will-be-commoditiszed</guid>
                      <content:encoded>
                            <![CDATA[<p>If AI can write any code, then the real value is in understanding systems well enough to give the right instructions.</p>
<p>Top developers will focus on having great prompt files that explain how they work. The tools they like, the APIs they use. How they want code to be tested and written.</p>
<p>It will be the dot-files of the future. Personal config files that define your entire coding style and follow you from project to project.</p>
<p>Sure, you can copy someone else’s prompt files. But to really benefit, you need to understand and own them, just like traditional dotfiles.</p>
<p>Anyone can ask ChatGPT to write a React component. But not everyone knows how to ask for error handling, team patterns, and optimization for their users.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 26 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Stop waiting for comfortable </title>
                    <link>https://ahlstrom.info/stop-waiting-for-comfortable</link>
                    <description>Just stop waiting to be comfortable. There will never be a time when you’re so comfortable that it’s easy to start. Don’t put expectations on your surroundings before you get started. Do I need a perfect synthesizer? Do I need to sit in a special chair? Do all the kids need to be in bed and asleep? Do I need a two hour window? Stop waiting to be comfortable.</description>
                    <guid>https://ahlstrom.info/stop-waiting-for-comfortable</guid>
                      <content:encoded>
                            <![CDATA[<p>Just stop waiting to be comfortable. There will never be a time when you’re so comfortable that it’s easy to start. Don’t put expectations on your surroundings before you get started.</p>
<p>Do I need a perfect synthesizer? Do I need to sit in a special chair? Do all the kids need to be in bed and asleep? Do I need a two hour window?</p>
<p>Stop waiting to be comfortable. </p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>We're supposed to be tech experts</title>
                    <link>https://ahlstrom.info/we're-supposed-to-be-tech-experts</link>
                    <description>I’ve noticed something interesting with tech companies and their websites. They often struggle to keep their own sites updated because they built everything custom from scratch. It’s rarely about actual technical requirements. There’s this unspoken feeling that using existing tools might make them look less skilled as developers. The result is predictably frustrating. While others focus on shipping products, these teams struggle to even update their website with new features because their...</description>
                    <guid>https://ahlstrom.info/we're-supposed-to-be-tech-experts</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve noticed something interesting with tech companies and their websites. They often struggle to keep their own sites updated because they built everything custom from scratch.</p>
<p>It’s rarely about actual technical requirements. There’s this unspoken feeling that using existing tools might make them look less skilled as developers.</p>
<p>The result is predictably frustrating. While others focus on shipping products, these teams struggle to even update their website with new features because their custom CMS has become a maintenance burden that multiple developers have touched over time.</p>
<p>It’s one of those situations where professional pride works against business outcomes.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 24 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Domain names will matter more than SEO</title>
                    <link>https://ahlstrom.info/domain-names-will-matter-more-than-seo</link>
                    <description>The connection with people might be the only thing that will set one company apart from another in the near future. When everyone else focuses on making it easier for ChatGPT to index all their content and hope that it picks theirs. The only way for people to really get to know your brand will be for them to know how they can find your brand. I predict a surge in ads talking about domain names in the near future.</description>
                    <guid>https://ahlstrom.info/domain-names-will-matter-more-than-seo</guid>
                      <content:encoded>
                            <![CDATA[<p>The connection with people might be the only thing that will set one company apart from another in the near future.</p>
<p>When everyone else focuses on making it easier for ChatGPT to index all their content and hope that it picks theirs.</p>
<p>The only way for people to really get to know your brand will be for them to know how they can find your brand.</p>
<p>I predict a surge in ads talking about domain names in the near future.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 23 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The priority inversion trap</title>
                    <link>https://ahlstrom.info/the-priority-inversion-trap</link>
                    <description>I’ve watched several companies try the same clever approach: build a product while running a consultancy. Use downtime to work on the product. Makes sense, right? The logic is simple. When developers aren’t busy with client work, they focus on building something that could eventually become the main business. Sounds like smart resource utilization. But here’s where it gets interesting. The challenge always became prioritization. How do you decide what these “spare time” developers should work...</description>
                    <guid>https://ahlstrom.info/the-priority-inversion-trap</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve watched several companies try the same clever approach: build a product while running a consultancy. Use downtime to work on the product. Makes sense, right?</p>
<p>The logic is simple. When developers aren’t busy with client work, they focus on building something that could eventually become the main business. Sounds like smart resource utilization.</p>
<p>But here’s where it gets interesting.</p>
<p>The challenge always became prioritization. How do you decide what these “spare time” developers should work on? You can’t give them the most critical features because what if a client project comes up and pulls them away?</p>
<p>So you end up giving them the less important stuff. The nice to have features. The experimental work. Tasks without real deadlines or with artificial ones just to create some focus.</p>
<p>That sounds reasonable. Low risk, low commitment work for uncertain availability.</p>
<p>But then you hit the handoff problem.</p>
<p>Eventually, this side work needs to integrate with the main product. The core team (the one working on actual priorities) has to stop what they’re doing to review, understand and approve the work from the “spare time” team.</p>
<p>That’s when things get messy.</p>
<p>You end up with a priority inversion. Your high-priority work gets deprioritized so you can process the low-priority work you assigned to fill downtime.</p>
<p>The thing you said was most important gets pushed aside to handle the thing you said was least important.</p>
<p>I’ve seen this pattern multiple times now. It always looks smart on paper. Use every available hour. Keep people productive. Build toward the future.</p>
<p>But coordination isn’t free. Context switching isn’t free. Code review isn’t free.</p>
<p>The overhead of managing “spare time” work often costs more than the value it creates. You’re not just losing the output, you’re actively making your core work less efficient.</p>
<p>It’s one of those management ideas that optimizes for the wrong thing. Instead of optimizing for maximum utilization, you should optimize for maximum progress on what actually matters.</p>
<p>There are plenty of valuable things to do with spare time. Code reviews, documentation, experimenting with existing features, learning new skills, hanging out with the support team. The list goes on.</p>
<p>Just don’t pretend you can build your core product features in the margins.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 22 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Make-work syndrome</title>
                    <link>https://ahlstrom.info/make-work-syndrome</link>
                    <description>When development teams are organized around services that mostly need maintenance, they often end up reinventing the product instead. Why? Because maintenance work feels boring compared to building something new.</description>
                    <guid>https://ahlstrom.info/make-work-syndrome</guid>
                      <content:encoded>
                            <![CDATA[<p>When development teams are organized around services that mostly need maintenance, they often end up reinventing the product instead. Why? Because maintenance work feels boring compared to building something new.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 21 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>AI adoption follows the usual pattern</title>
                    <link>https://ahlstrom.info/ai-adoption-follows-the-usual-pattern</link>
                    <description>McKinsey’s latest research shows 80% of companies aren’t seeing meaningful returns from their AI investments while only 17% are seeing real results. But here’s what I find interesting about that number. Most major technologies follow this adoption curve: 2-3 years of experimentation and learning followed by gradual scaling and measurable returns in years 3-7. GenAI is actually moving faster than typical but the timeline for measurable enterprise-wide returns appears totally consistent with...</description>
                    <guid>https://ahlstrom.info/ai-adoption-follows-the-usual-pattern</guid>
                      <content:encoded>
                            <![CDATA[<p><a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai">McKinsey’s latest research</a> shows 80% of companies aren’t seeing meaningful returns from their AI investments while only 17% are seeing real results.</p>
<p>But here’s what I find interesting about that number.</p>
<p>Most major technologies follow this adoption curve: 2-3 years of experimentation and learning followed by gradual scaling and measurable returns in years 3-7.</p>
<p>GenAI is actually moving faster than typical but the timeline for measurable enterprise-wide returns appears totally consistent with other major technology shifts.</p>
<p>The 80% figure isn’t a GenAI problem. It’s the normal pattern for transformative technologies.</p>
<p><strong>We’ve seen this before.</strong></p>
<p>ERP systems took 2-5 years to show significant ROI. Cloud computing took years before most companies saw meaningful returns.</p>
<p>GenAI has been widely available for just 2 years.</p>
<p>If you’re struggling to show enterprise-wide returns from AI right now, you’re not behind schedule.</p>
<p>You’re right on time.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 20 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Having a conversation with my own writing</title>
                    <link>https://ahlstrom.info/having-a-conversation-with-my-own-writing</link>
                    <description>I’ve been writing every day this year. Today I fired up Claude Code and added an MCP to my blog. For the non-technical folks: I basically gave Claude direct access to all my writing. It can now read through everything I’ve written, search for patterns, find connections I missed. The tool gave me something I didn’t expect, a sort of curiosity about my own work. I used to Google my own site to find a specific post I remembered. Now I can ask “What was I thinking about in March that I didn’t fully...</description>
                    <guid>https://ahlstrom.info/having-a-conversation-with-my-own-writing</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been writing every day this year.</p>
<p>Today I fired up Claude Code and added an MCP to my blog.</p>
<p>For the non-technical folks: I basically gave Claude direct access to all my writing. It can now read through everything I’ve written, search for patterns, find connections I missed.</p>
<p>The tool gave me something I didn’t expect, a sort of curiosity about my own work.</p>
<p>I used to Google my own site to find a specific post I remembered. Now I can ask “What was I thinking about in March that I didn’t fully explore?” or “Show me where I keep iterating on the same idea but in different ways.”</p>
<p>It’s like the difference between having a messy room and well… having a messy room with a really good search function. Same stuff, completely different relationship to what’s there.</p>
<p>Now I have a way to be genuinely curious about what I’ve created. To ask it questions. To explore it like someone else’s work.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>The kid who needed help with group work</title>
                    <link>https://ahlstrom.info/the-kid-who-needed-help-with-group-work</link>
                    <description>I just read a study called “Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task.” Researchers had students write essays using ChatGPT while measuring their brain activity. No training, no guidance. Just figure it out. Students who started with AI first? Their brains basically went to sleep. But students who thought through ideas themselves THEN used ChatGPT? Their neural networks lit up stronger than ever. This reminded me of that kid from...</description>
                    <guid>https://ahlstrom.info/the-kid-who-needed-help-with-group-work</guid>
                      <content:encoded>
                            <![CDATA[<p>I just read a study called “<a href="https://arxiv.org/abs/2506.08872v1">Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task.</a>” </p>
<p>Researchers had students write essays using ChatGPT while measuring their brain activity. No training, no guidance. Just figure it out.</p>
<p>Students who started with AI first? Their brains basically went to sleep. But students who thought through ideas themselves THEN used ChatGPT? Their neural networks lit up stronger than ever.</p>
<p>This reminded me of that kid from school group projects. Whenever we had a group assignment he just hung around. Not really invested in discussions or well… interested at all. He performed poorly at the tests and presentations.</p>
<p>The study found AI-first students couldn’t even remember sentences they’d just written. But the think-first-then-collaborate kids? Strongest brain activity of all.</p>
<p>Working with AI is like a group assignment and this kid struggled with it. The study somewhat proved that we need different support. Similar to how that kid needed support.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Finding my voice through AI</title>
                    <link>https://ahlstrom.info/finding-my-voice-through-ai</link>
                    <description>As an engineer and CTO, I delegate constantly. I use JavaScript packages instead of writing functions from scratch. I build on frameworks rather than coding everything myself. I rely on CDNs instead of building my own content delivery network. That’s exactly how I approach AI in writing. I used to struggle getting my thoughts down clearly. My ideas would get muddled somewhere between my brain and the page. AI became my thinking partner. Someone to bounce ideas off of and help me get my thoughts...</description>
                    <guid>https://ahlstrom.info/finding-my-voice-through-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>As an engineer and CTO, I delegate constantly. I use JavaScript packages instead of writing functions from scratch. I build on frameworks rather than coding everything myself.  I rely on CDNs instead of building my own content delivery network.</p>
<p>That’s exactly how I approach AI in writing.</p>
<p>I used to struggle getting my thoughts down clearly. My ideas would get muddled somewhere between my brain and the page. AI became my thinking partner. Someone to bounce ideas off of and help me get my thoughts crisp and tight.</p>
<p>But here’s the crucial distinction: I still want my ideas and stories to shine. Not fabricated ones. What’s truly unique is my viewpoint and experience. Not my writing craft.</p>
<p>I found my voice not despite using AI, but partly because of it. The tool helped me see patterns in my thinking. Pushed me to be clearer. Gave me confidence to share ideas I might have kept to myself.</p>
<p>The fear is that AI will make us all sound the same. That only happens if you treat it like a vending machine. Generic prompts get generic content. Use it as a thinking partner and you get something else entirely.</p>
<p>Your voice isn’t just how you write. It’s what you choose to write about. How you think about problems.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 17 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Web search is coming full circle</title>
                    <link>https://ahlstrom.info/web-search-is-coming-full-circle</link>
                    <description>The web is coming full circle. We’ve been moving toward ‘Google Zero’ for years, where people get their answers directly from search results without ever clicking through to websites. Featured snippets, knowledge panels, instant answers. AI overviews are just the logical next step in this progression. Are we seeing a return to the early web’s “answers upfront” approach? I’m thinking Yahoo’s curated portals, but with AI doing the curation automatically. For the longest time we used “google us”...</description>
                    <guid>https://ahlstrom.info/web-search-is-coming-full-circle</guid>
                      <content:encoded>
                            <![CDATA[<p>The web is coming full circle.</p>
<p>We’ve been moving toward ‘Google Zero’ for years, where people get their answers directly from search results without ever clicking through to websites. Featured snippets, knowledge panels, instant answers. AI overviews are just the logical next step in this progression.</p>
<p>Are we seeing a return to the early web’s “answers upfront” approach? I’m thinking Yahoo’s curated portals, but with AI doing the curation automatically.</p>
<p>For the longest time we used “google us” as a verification that we were legit, and taught our users that that was the way to go. The problem was that the model got corrupted on the way. SEO spam and sponsored results meant you weren’t exploring authentic sources anymore.</p>
<p>AI overviews aren’t just about creators losing traffic. They’re a correction to a discovery system that had already broken.</p>
<p>Brand awareness becomes even more important. People need to know how to come to your site directly when they want your specific view of the story, not just the AI’s summary.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 16 Jun 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Metrics before market fit</title>
                    <link>https://ahlstrom.info/metrics-before-market-fit</link>
                    <description>We obsess over metrics and minuscule shifts when the product market fit has not showed itself. We focus on 2% shifts in conversion rates while our products have not found their long term audience.</description>
                    <guid>https://ahlstrom.info/metrics-before-market-fit</guid>
                      <content:encoded>
                            <![CDATA[<p>We obsess over metrics and minuscule shifts when the product market fit has not showed itself.</p>
<p>We focus on 2% shifts in conversion rates while our products have not found their long term audience.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 15 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Cut through the complexity</title>
                    <link>https://ahlstrom.info/cut-through-the-complexity</link>
                    <description>The best communicators don’t hide behind complexity. They cut through it. They don’t use complex jargon. They adapt their communication to the listener. They explain complexity in simple ways.</description>
                    <guid>https://ahlstrom.info/cut-through-the-complexity</guid>
                      <content:encoded>
                            <![CDATA[<p>The best communicators don’t hide behind complexity. </p>
<p>They cut through it.</p>
<p>They don’t use complex jargon. </p>
<p>They adapt their communication to the listener.</p>
<p>They explain complexity in simple ways.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 14 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Human decision-making happens in the negative space</title>
                    <link>https://ahlstrom.info/human-decision-making-happens-in-the-negative-space</link>
                    <description>AI struggles because human decision-making happens in the negative space. The things we don’t do, the paths we don’t take, the features we don’t build. Think about a senior developer looking at a junior’s code and saying “this works, but it’s doing too much.” Or a designer choosing not to add that extra button because it would clutter the experience. A product manager who says no to a feature request because it will dilute the core value proposition. Those decisions to constrain, to say no, to...</description>
                    <guid>https://ahlstrom.info/human-decision-making-happens-in-the-negative-space</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1749710104199-uw37yn.png" alt="" title="ChatGPT Image Jun 12, 2025, 08_34_54 AM"></p>
<p>AI struggles because human decision-making happens in the negative space. </p>
<p>The things we don’t do, the paths we don’t take, the features we don’t build.</p>
<p>Think about a senior developer looking at a junior’s code and saying “this works, but it’s doing too much.” </p>
<p>Or a designer choosing not to add that extra button because it would clutter the experience. </p>
<p>A product manager who says no to a feature request because it will dilute the core value proposition.</p>
<p>Those decisions to constrain, to say no, to leave things out. They’re often what separates good work from great work.</p>
<p>AI can generate endless possibilities, but it can’t feel the weight of choosing restraint.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 13 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Em dashes are the Sharknado of text</title>
                    <link>https://ahlstrom.info/em-dashes-are-the-sharknado-of-text</link>
                    <description>The more I think about it, em dashes are the Sharknado of writing. What 30 years ago would have been a crazy feat now feels like obvious special effects. You know that moment in a movie when the CGI gets so obvious it breaks your immersion? That’s what’s happening with em dashes in 2025. We’ve developed “AI blindness” where our brains filter out patterns that feel artificial. The real issue isn’t the punctuation itself. It’s the moment readers start questioning authenticity instead of engaging...</description>
                    <guid>https://ahlstrom.info/em-dashes-are-the-sharknado-of-text</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1749621644720-62dl5q.png" alt="" title="ChatGPT Image Jun 11, 2025, 07_59_57 AM"></p>
<p>The more I think about it, em dashes are the Sharknado of writing.</p>
<p>What 30 years ago would have been a crazy feat now feels like obvious special effects.</p>
<p>You know that moment in a movie when the CGI gets so obvious it breaks your immersion? That’s what’s happening with em dashes in 2025. We’ve developed “AI blindness” where our brains filter out patterns that feel artificial.</p>
<p>The real issue isn’t the punctuation itself. It’s the moment readers start questioning authenticity instead of engaging with ideas.</p>
<p><strong>We’re creating an “authenticity uncanny valley.”</strong></p>
<p>Meanwhile professional writers have been loving em dashes since long before ChatGPT existed. But now they’re second-guessing themselves, worried their natural style might trigger someone’s AI detector.</p>
<p>The same technique goes from impressive to eye-roll-inducing purely based on audience expectations, not because the thing itself has changed.</p>
<p>The feedback loop is absurd: the more people avoid certain patterns to seem “authentic,” the more those patterns become markers of inauthenticity.</p>
<p>Welcome to 2025, where even punctuation has an uncanny valley.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 12 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Mastering the Ask Era</title>
                    <link>https://ahlstrom.info/mastering-the-ask-era</link>
                    <description>In Back to the Future Part II, Marty McFly walks into Cafe 80’s in 2015 and plays an old arcade game. He’s pretty good at it. But when he finishes, a couple of kids watching him are baffled: “You mean you have to use your hands? That’s like a baby’s toy!” Something big has changed in how we find information. Before, we searched Google, clicked through a bunch of links, and pieced everything together ourselves. Now we just ask a question and get an answer we can improve through conversation. AI...</description>
                    <guid>https://ahlstrom.info/mastering-the-ask-era</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.mattias.blog/1749557681427-l9gjtg.png" alt="" title="marty"></p>
<p>In <em>Back to the Future Part II</em>, Marty McFly walks into Cafe 80’s in 2015 and plays an old arcade game. He’s pretty good at it. But when he finishes, a couple of kids watching him are baffled: “You mean you have to use your <em>hands</em>? That’s like a baby’s toy!”</p>
<hr>
<p>Something big has changed in how we find information. Before, we searched Google, clicked through a bunch of links, and pieced everything together ourselves. Now we just ask a question and get an answer we can improve through conversation.</p>
<p>AI that can search isn’t just another tool. It’s a completely different way of working with information.</p>
<p><strong>The Old Way: Search and Put It Together</strong></p>
<p>This was the Google era. You got good at turning your questions into search terms, quickly scanning results, and opening way too many browser tabs. If you were really organized, you saved links for later.</p>
<p>Then you did the hard work of reading through different websites, figuring out what was useful, and putting it all together in your head to get your answer.</p>
<p>You learned to spot good sources. Not just the facts, but you could tell when a website was sketchy because it had more ads than actual content. You got better at seeing patterns across different articles.</p>
<p><strong>The New Way: Ask and Check</strong></p>
<p>Now that we’re in the conversation era, your main skill is asking good questions. Instead of hunting through search results and trying to avoid all the sponsored links at the top, you’re talking to an AI that can instantly pull together information from the entire internet, your own files, and your company’s data.</p>
<p>Your brain does completely different work now. Instead of collecting puzzle pieces, you’re checking whether the completed puzzle looks right. You need to quickly figure out if an answer is complete, correct, and actually helpful for what you need.</p>
<p>The question isn’t whether you’ll make this switch. It’s how quickly you’ll realize that how you work with information has changed forever.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 11 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Skills for the Ask Era</title>
                    <link>https://ahlstrom.info/skills-for-the-ask-era</link>
                    <description>Some say we are moving from information scarcity to information abundance. My view is that this transition has already happened. What has changed with GenAI is the interaction model. The previous model with search engines and knowledge bases was: search, filter, read, then synthesize. Now it’s: ask, receive a synthesized answer, then refine through conversation. This is quite a shift in cognitive work. Now you essentially have a conversation with the sum of human knowledge. We’re moving from...</description>
                    <guid>https://ahlstrom.info/skills-for-the-ask-era</guid>
                      <content:encoded>
                            <![CDATA[<p>Some say we are moving from information scarcity to information abundance. My view is that this transition has already happened.</p>
<p>What has changed with GenAI is the interaction model.</p>
<p>The previous model with search engines and knowledge bases was: search, filter, read, then synthesize. Now it’s: ask, receive a synthesized answer, then refine through conversation.</p>
<p>This is quite a shift in cognitive work.</p>
<p>Now you essentially have a conversation with the sum of human knowledge.</p>
<p>We’re moving from “search and synthesize” to “ask and evaluate.”</p>
<p>The true bottleneck now is the quality of your questions and your ability to recognize what is good. </p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 10 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Just one more prompt</title>
                    <link>https://ahlstrom.info/just-one-more-prompt</link>
                    <description>As I heard my mom shout that it was time for bed, I screamed back “just one more level!” That feeling I had as a kid that I was close to completing something, that I was getting closer to an end, was so super addictive. I recall those memories with fond feelings as I now experience vibe coding in a similar matter. As I sit late in the nights adding one more feature, prompt by prompt, and having one endorphin kick after another, my head starts prompting me “it’s time for bed.” But I’m addicted…...</description>
                    <guid>https://ahlstrom.info/just-one-more-prompt</guid>
                      <content:encoded>
                            <![CDATA[<p>As I heard my mom shout that it was time for bed, I screamed back “just one more level!”</p>
<p>That feeling I had as a kid that I was close to completing something, that I was getting closer to an end, was so super addictive.</p>
<p>I recall those memories with fond feelings as I now experience vibe coding in a similar matter.</p>
<p>As I sit late in the nights adding one more feature, prompt by prompt, and having one endorphin kick after another, my head starts prompting me “it’s time for bed.”</p>
<p>But I’m addicted…</p>
<p>“Just one more prompt.”</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 09 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The Reluctant Digital Collaborators</title>
                    <link>https://ahlstrom.info/it's-not-just-a-physical-thing</link>
                    <description>One thing we never fully embraced was digital collaboration. We treated it as temporary, a pandemic necessity rather than a new tool in our toolbox. Suddenly we were on endless digital whiteboards trying to replicate physical spaces - the act of seeing multiple post-its on a wall, grabbing them and placing them somewhere else. And when the tools worked smoothly we got a sensation of watching others peoples cursors move and filter, sort and group it felt promising. But since those years we have...</description>
                    <guid>https://ahlstrom.info/it's-not-just-a-physical-thing</guid>
                      <content:encoded>
                            <![CDATA[<p>One thing we never fully embraced was digital collaboration. We treated it as temporary, a pandemic necessity rather than a new tool in our toolbox.</p>
<p>Suddenly we were on endless digital whiteboards trying to replicate physical spaces - the act of seeing multiple post-its on a wall, grabbing them and placing them somewhere else. And when the tools worked smoothly we got a sensation of watching others peoples cursors move and filter, sort and group it felt promising.</p>
<p>But since those years we have eagerly trying to return to our previous ways of working. Back in the rooms, not on screens.</p>
<p>Had we truly adapted one way of working to the digital medium, we might have had an additional tool and expanded our toolset.</p>
<p>The messy part of physical boards is the thing we have a hard time replicating. The badly handwritten notes that someone needed to explain for us to understand. The oddly sorted board that sparked new ideas since it was not just catagoriesed in the optimal AI way.</p>
<p>Maybe it is this imperfect human approach that the digital tools lack for us to make unexpected connections and innovation.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 08 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Follower count matters less</title>
                    <link>https://ahlstrom.info/your-follower-count-matters-less</link>
                    <description>Instead focus on creating material that people actually interact with. “Old” social media worked like mailing lists. More followers meant more people saw your posts. “New” social media is all about engagement. An account with 10 followers can go viral with the right piece. The algorithm favours interaction over audience size. Good engaging work will find its people. What counts as “good” is another story.</description>
                    <guid>https://ahlstrom.info/your-follower-count-matters-less</guid>
                      <content:encoded>
                            <![CDATA[<p>Instead focus on creating material that people actually interact with.</p>
<p>“Old” social media worked like mailing lists. More followers meant more people saw your posts.</p>
<p>“New” social media is all about engagement. An account with 10 followers can go viral with the right piece.</p>
<p>The algorithm favours interaction over audience size.</p>
<p>Good engaging work will find its people. What counts as “good” is another story.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 07 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Are you smarter with AI?</title>
                    <link>https://ahlstrom.info/are-you-smarter-with-ai</link>
                    <description>The question should not be are you smarter with AI? It should be how are you smarter with AI? One implies that you are dependent, the other focuses on usage.</description>
                    <guid>https://ahlstrom.info/are-you-smarter-with-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>The question should not be are you smarter with AI?</p>
<p>It should be how are you smarter with AI?</p>
<p>One implies that you are dependent, the other focuses on usage. </p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 06 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Unique… yes, but where?</title>
                    <link>https://ahlstrom.info/unique-yes-but-where</link>
                    <description>When we follow common practices with the foundations, we can be exploratory and unique in the parts that truly matter to our users. We can focus on what sets us apart rather than building, maintaining and explaining everything from scratch. Think of your house. We all have walls, floors, kitchens and bathrooms. Pipes run a certain way and electrical wiring another. These follow standards for good reason. It’s what goes in front of these foundations that makes a home unique and helps it stand...</description>
                    <guid>https://ahlstrom.info/unique-yes-but-where</guid>
                      <content:encoded>
                            <![CDATA[<p>When we follow common practices with the foundations, we can be exploratory and unique in the parts that truly matter to our users.</p>
<p>We can focus on what sets us apart rather than building, maintaining and explaining everything from scratch.</p>
<p>Think of your house. We all have walls, floors, kitchens and bathrooms. Pipes run a certain way and electrical wiring another. These follow standards for good reason.</p>
<p>It’s what goes in front of these foundations that makes a home unique and helps it stand out.</p>
<p>If we needed to explain basic construction principles to every carpenter or electrician who steps through our door, we’d waste valuable time.</p>
<p>Which parts of your work truly need your unique touch, and which could follow patterns that AI already understands?</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 05 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Stepping stones</title>
                    <link>https://ahlstrom.info/stepping-stones</link>
                    <description>Innovation rarely follows a straight path. The journey from idea to breakthrough often takes unexpected turns through seemingly unrelated discoveries. Smartphones might not exist without the early brick-sized car phones. The Wright brothers needed their bicycle shop experience to build their first aircraft. Sometimes the weirdest detours lead to the biggest breakthroughs.</description>
                    <guid>https://ahlstrom.info/stepping-stones</guid>
                      <content:encoded>
                            <![CDATA[<p>Innovation rarely follows a straight path. The journey from idea to breakthrough often takes unexpected turns through seemingly unrelated discoveries. Smartphones might not exist without the early brick-sized car phones. The Wright brothers needed their bicycle shop experience to build their first aircraft. Sometimes the weirdest detours lead to the biggest breakthroughs.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 04 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Benefit of cringe </title>
                    <link>https://ahlstrom.info/benefit-of-cringe</link>
                    <description>When I started writing on this blog 150 days ago I set up a few rules. Write about anything that resonates with me that day One sentence is good enough for a day Be ok to suck or to be cringe I think that last thing stuck with me. Its like when you learn a new trade. Then you just need to do it. Often. Bad. Committed.</description>
                    <guid>https://ahlstrom.info/benefit-of-cringe</guid>
                      <content:encoded>
                            <![CDATA[<p>When I started writing on this blog 150 days ago I set up a few rules.</p>
<ol>
<li>Write about anything that resonates with me that day</li>
<li>One sentence is good enough for a day</li>
<li>Be ok to suck or to be cringe</li>
</ol>
<p>I think that last thing stuck with me. Its like when you learn a new trade. Then you just need to do it.</p>
<p>Often. Bad. Committed.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 03 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The Social Media Trigger Method</title>
                    <link>https://ahlstrom.info/the-social-media-trigger-method</link>
                    <description>Visit a professional social media platform Browse until you find a post or comment that sparks a reaction Draft a reply Add your context or perspective Refine into a complete post that stands on its own Publish on your personal site</description>
                    <guid>https://ahlstrom.info/the-social-media-trigger-method</guid>
                      <content:encoded>
                            <![CDATA[<ol>
<li>Visit a professional social media platform</li>
<li>Browse until you find a post or comment that sparks a reaction</li>
<li>Draft a reply</li>
<li>Add your context or perspective</li>
<li>Refine into a complete post that stands on its own</li>
<li>Publish on your personal site</li>
</ol>
]]>
                        </content:encoded>
                    <pubDate>Mon, 02 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Vision equals shared vocabulary </title>
                    <link>https://ahlstrom.info/vision-equals-vocabulary</link>
                    <description>Vision is all about having a shared vocabulary with the peers you want to collaborate with.</description>
                    <guid>https://ahlstrom.info/vision-equals-vocabulary</guid>
                      <content:encoded>
                            <![CDATA[<p>Vision is all about having a shared vocabulary with the peers you want to collaborate with.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 01 Jun 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>With AI, We Become the Connectors</title>
                    <link>https://ahlstrom.info/with-ai-we-become-the-connectors</link>
                    <description>Our lives will be less about sorting, grouping and filtering. And more about adding missing context, asking insightful questions and making weird connections.</description>
                    <guid>https://ahlstrom.info/with-ai-we-become-the-connectors</guid>
                      <content:encoded>
                            <![CDATA[<p>Our lives will be less about sorting, grouping and filtering. <br>
 <br>
And more about adding missing context, asking insightful questions and making weird connections. </p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 31 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Relearning how to ask questions</title>
                    <link>https://ahlstrom.info/relearning-how-to-ask-questions</link>
                    <description>We know how to ask questions. It’s part of our DNA. Then we built bots where we needed to learn brevity. We distilled our thoughts into SEO-type queries for Google and simple commands for phone robots. Now we need to relearn how to ask questions again. We’re in a paradigm shift. With GenAI, we can ask complicated questions and as many as we want. Yet, we still try to make our questions short out of habit. This reframing won’t be an issue for people growing up with GenAI. Kids will never...</description>
                    <guid>https://ahlstrom.info/relearning-how-to-ask-questions</guid>
                      <content:encoded>
                            <![CDATA[<p>We know how to ask questions. It’s part of our DNA.</p>
<p>Then we built bots where we needed to learn brevity. We distilled our thoughts into SEO-type queries for Google and simple commands for phone robots.</p>
<p>Now we need to relearn how to ask questions again. We’re in a paradigm shift. With GenAI, we can ask complicated questions and as many as we want. Yet, we still try to make our questions short out of habit.</p>
<p>This reframing won’t be an issue for people growing up with GenAI. Kids will never experience the complicated part of distilling questions into search terms.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 30 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Why is vibe coding so immensely popular in business management </title>
                    <link>https://ahlstrom.info/why-is-vibe-coding-so-immensely-popular-in-business-management</link>
                    <description>There is an eerie and almost exciting feeling from business people regarding vibe-coding. Like Alexander the Great, they’ve found a way of breaking the gordian knot of talking to developers that have questions. Programmers naturally ask follow-up questions that stakeholders often don’t have immediate answers to. We need to anticipate what’s coming next to build systems that can scale. Business people are focused on solving their current problems, while programmers are considering edge cases,...</description>
                    <guid>https://ahlstrom.info/why-is-vibe-coding-so-immensely-popular-in-business-management</guid>
                      <content:encoded>
                            <![CDATA[<p>There is an eerie and almost exciting feeling from business people regarding vibe-coding. Like Alexander the Great, they’ve found a way of breaking the gordian knot of talking to developers that have questions.</p>
<p>Programmers naturally ask follow-up questions that stakeholders often don’t have immediate answers to. We need to anticipate what’s coming next to build systems that can scale.</p>
<p>Business people are focused on solving their current problems, while programmers are considering edge cases, future requirements, and technical challenges that aren’t obvious from the surface.</p>
<p>We could improve at communicating why this matters. The key is helping business see the value in our questions i.e. explaining how today’s overlooked edge case becomes tomorrow’s production outage or performance bottleneck.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 29 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The scale fallacy</title>
                    <link>https://ahlstrom.info/the-scale-fallacy</link>
                    <description>After nearly 30 years developing software from startups to established companies, I’ve watched the same story play out repeatedly. A young company gets some funding. Developers arrive eager to build something amazing. Then someone utters those fatal words: “We need to build for scalability.” This is where bias and intuition clash in dangerous ways. The intuition of experienced builders says focus on getting the product right first. Make something people want before worrying about serving...</description>
                    <guid>https://ahlstrom.info/the-scale-fallacy</guid>
                      <content:encoded>
                            <![CDATA[<p>After nearly 30 years developing software from startups to established companies, I’ve watched the same story play out repeatedly.</p>
<p>A young company gets some funding. Developers arrive eager to build something amazing. Then someone utters those fatal words: “We need to build for scalability.”</p>
<p>This is where bias and intuition clash in dangerous ways.</p>
<p>The intuition of experienced builders says focus on getting the product right first. Make something people want before worrying about serving millions. Get the plane in the air before optimising its fuel efficiency at 30000 feet.</p>
<p>The bias comes from pattern matching successful companies. “Amazon uses micro services so we should too.” “Netflix has a complex deployment pipeline so that must be the right approach.”</p>
<p>I witnessed this firsthand at a startup where engineers pushed to move from App Engine to Cloud Run for “reliability reasons.” We spent precious runway time refactoring infrastructure instead of improving the product people were paying for. Leadership didn’t understand the tradeoffs. The company eventually went bankrupt.</p>
<p>The inexperienced self-proclaimed senior developers kept insisting “This isn’t how you build for scalability.” But scalability wasn’t our problem. Finding product market fit was.</p>
<p>Scale is a question of <strong>when</strong> not <strong>if</strong>. The wisdom comes in recognising the right time to focus on it and be clear about this with both leadership and developers.</p>
<p>And never f*** up payments.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 28 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Question burst an alternative to rubber ducking</title>
                    <link>https://ahlstrom.info/question-burst-an-alternative-to-rubber-ducking</link>
                    <description>Rubber ducking, the exercise of explaining something to a rubber duck, is an easy way to get out of your own head and gain clarity by explaining your thoughts out loud. Another excellent technique is called question burst. You explain your problem in 2 minutes and then others ask questions for 4 minutes. Question bursts force you to create a high-level explanation quickly and then benefit from external perspectives through thoughtful questions.</description>
                    <guid>https://ahlstrom.info/question-burst-an-alternative-to-rubber-ducking</guid>
                      <content:encoded>
                            <![CDATA[<p>Rubber ducking, the exercise of explaining something to a rubber duck, is an easy way to get out of your own head and gain clarity by explaining your thoughts out loud.</p>
<p>Another excellent technique is called question burst. You explain your problem in 2 minutes and then others ask questions for 4 minutes.</p>
<p>Question bursts force you to create a high-level explanation quickly and then benefit from external perspectives through thoughtful questions.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 27 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Finding this small triggers that changes habits</title>
                    <link>https://ahlstrom.info/finding-this-small-triggers-that-changes-habits</link>
                    <description>When you want to change habits you need to identify the triggers. These are the seemingly small things that determine whether you take a run before breakfast or hit breakfast first. I’m not a training junkie by any measure, but I know that if I want to exercise in the morning I need to put out my clothes the night before. That small trigger change is all that is needed. If you don’t know the triggers, you will not change the habits.</description>
                    <guid>https://ahlstrom.info/finding-this-small-triggers-that-changes-habits</guid>
                      <content:encoded>
                            <![CDATA[<p>When you want to change habits you need to identify the triggers. These are the seemingly small things that determine whether you take a run before breakfast or hit breakfast first.</p>
<p>I’m not a training junkie by any measure, but I know that if I want to exercise in the morning I need to put out my clothes the night before.</p>
<p>That small trigger change is all that is needed.</p>
<p>If you don’t know the triggers, you will not change the habits.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 26 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Choose x.0 upgrades, not 0.x improvements</title>
                    <link>https://ahlstrom.info/choose-x-0-upgrades-not-0-x-improvements</link>
                    <description>When acquiring new things focus on what makes your life an x.0 upgrade rather than just a 0.x improvement. Upgrading from mobile phone version 14 to 15 might not make sense if the benefits are minuscule. Remember that “1.0” is just branding. Look beyond the marketing to determine if something truly represents a significant upgrade for your specific needs.</description>
                    <guid>https://ahlstrom.info/choose-x-0-upgrades-not-0-x-improvements</guid>
                      <content:encoded>
                            <![CDATA[<p>When acquiring new things focus on what makes your life an x.0 upgrade rather than just a 0.x improvement.</p>
<p>Upgrading from mobile phone version 14 to 15 might not make sense if the benefits are minuscule.</p>
<p>Remember that “1.0” is just branding. Look beyond the marketing to determine if something truly represents a significant upgrade for your specific needs.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 25 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The crossroads of innovation</title>
                    <link>https://ahlstrom.info/the-crossroads-of-innovation</link>
                    <description>There are two common paths to building products that matter. One: create a copy of existing products then add your standout features. The other: focus solely on your core vision of what makes you unique. One takes time. The other needs courage. Think of the first iPhone. It was revolutionary, yet lacked many features that already existed in the market.</description>
                    <guid>https://ahlstrom.info/the-crossroads-of-innovation</guid>
                      <content:encoded>
                            <![CDATA[<p>There are two common paths to building products that matter. </p>
<p>One: create a copy of existing products then add your standout features. <br>
The other: focus solely on your core vision of what makes you unique.</p>
<p>One takes time. The other needs courage.</p>
<p>Think of the first iPhone. It was revolutionary, yet lacked many features that already existed in the market.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 24 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Products are promises, not features</title>
                    <link>https://ahlstrom.info/products-are-promises-not-features</link>
                    <description>When customers buy your products they aim for three things beyond function: social status, positive emotions or saving money. If you build products focused on status or emotions you’re golden. Focus on saving money and you’re in a race to the bottom. Your product isn’t just features. It’s what those features deliver.</description>
                    <guid>https://ahlstrom.info/products-are-promises-not-features</guid>
                      <content:encoded>
                            <![CDATA[<p>When customers buy your products they aim for three things beyond function: social status, positive emotions or saving money. If you build products focused on status or emotions you’re golden. Focus on saving money and you’re in a race to the bottom. </p>
<p>Your product isn’t just features. It’s what those features deliver.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 23 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>feelings, facts, opinions</title>
                    <link>https://ahlstrom.info/feelings-facts-opinions</link>
                    <description>We might have strong feelings about the products we build, but as soon as those products hit customers we have facts. What we are left with are opinions on how to look at those facts.</description>
                    <guid>https://ahlstrom.info/feelings-facts-opinions</guid>
                      <content:encoded>
                            <![CDATA[<p>We might have strong feelings about the products we build, but as soon as those products hit customers we have facts.</p>
<p>What we are left with are opinions on how to look at those facts.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 22 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The true superpower of leaders</title>
                    <link>https://ahlstrom.info/the-true-superpower-of-leaders</link>
                    <description>One of the greatest strengths is not what you know, but the ability to collect brilliant ideas from everyone. Remix them, create something new and lavishly praise the people that came up with the ideas.</description>
                    <guid>https://ahlstrom.info/the-true-superpower-of-leaders</guid>
                      <content:encoded>
                            <![CDATA[<p>One of the greatest strengths is not what you know, but the ability to collect brilliant ideas from everyone.</p>
<p>Remix them, create something new and lavishly praise the people that came up with the ideas.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 21 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Always be capturing</title>
                    <link>https://ahlstrom.info/always-be-capturing</link>
                    <description>I’ve been running Design Sprints for years since the method was first introduced as a book. One practice that really stuck with me is “Always Be Capturing”. The concept is simple: as the facilitator, you capture ideas on post-its or whiteboards the moment people share them. This small practice has some great side-effects. It saves the in-the-moment discussions and thoughts, shows the participants their ideas are important, it creates a visual summary that we can use as a “was this what you...</description>
                    <guid>https://ahlstrom.info/always-be-capturing</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve been running Design Sprints for years since the method was first introduced as a book.</p>
<p>One practice that really stuck with me is “Always Be Capturing”.</p>
<p>The concept is simple: as the facilitator, you capture ideas on post-its or whiteboards the moment people share them. This small practice has some great side-effects. It saves the in-the-moment discussions and thoughts, shows the participants their ideas are important, it creates a visual summary that we can use as a “was this what you meant?” and probably the best part is that it creates a collection of ideas that we can organise later.</p>
<p>I use this during conversations, while listening to audiobooks, or podcasts. I’ve set up a quick shortcut on my phone that opens a text area and saves notes directly to my favorite note-taking app.</p>
<p>The beauty of this system is its simplicity. Capture first, then group, filter, and remix later.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 20 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Resistance is futile</title>
                    <link>https://ahlstrom.info/resistance-is-futile</link>
                    <description>No field has stayed unchanged in the face of new technology. It either transforms or eliminates jobs.</description>
                    <guid>https://ahlstrom.info/resistance-is-futile</guid>
                      <content:encoded>
                            <![CDATA[<p>No field has stayed unchanged in the face of new technology. It either transforms or eliminates jobs.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 19 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Perfect start never happens</title>
                    <link>https://ahlstrom.info/perfect-start-never-happens</link>
                    <description>Don’t wait for perfect to start.</description>
                    <guid>https://ahlstrom.info/perfect-start-never-happens</guid>
                      <content:encoded>
                            <![CDATA[<p>Don’t wait for perfect to start.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 18 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Creativity</title>
                    <link>https://ahlstrom.info/creativity</link>
                    <description>Creativity starts after your first idea ends.</description>
                    <guid>https://ahlstrom.info/creativity</guid>
                      <content:encoded>
                            <![CDATA[<p>Creativity starts after your first idea ends.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 17 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Will you value AI in the future when prices are higher?</title>
                    <link>https://ahlstrom.info/will-you-value-ai-in-the-future-when-prices-are-higher</link>
                    <description>The cost of entry for AI is lower now than it will ever be again. If we only use AI for quick answers we’ll struggle to justify higher costs in the future. Those who use AI as a thinking partner will see the value differently. They’ll happily pay increased prices because they’ve experienced AI as an affordable teammate rather than just a fancy search engine.</description>
                    <guid>https://ahlstrom.info/will-you-value-ai-in-the-future-when-prices-are-higher</guid>
                      <content:encoded>
                            <![CDATA[<p>The cost of entry for AI is lower now than it will ever be again. If we only use AI for quick answers we’ll struggle to justify higher costs in the future. Those who use AI as a thinking partner will see the value differently. They’ll happily pay increased prices because they’ve experienced AI as an affordable teammate rather than just a fancy search engine.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 16 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>What we write adds weight</title>
                    <link>https://ahlstrom.info/what-we-write-adds-weight</link>
                    <description>Every piece of text you write adds weight to the story you tell. At some point that weight makes the story complicated and hard to understand. Weight becomes the blocker for advancing. You have built debt. This applies to generating code with AI too. It’s powerful but can produce code in wrong places, fix unintended problems and make assumptions about what to write. Just because AI can create a lot quickly doesn’t mean it’s creating what we need.</description>
                    <guid>https://ahlstrom.info/what-we-write-adds-weight</guid>
                      <content:encoded>
                            <![CDATA[<p>Every piece of text you write adds weight to the story you tell.</p>
<p>At some point that weight makes the story complicated and hard to understand.</p>
<p>Weight becomes the blocker for advancing. You have built debt.</p>
<p>This applies to generating code with AI too.</p>
<p>It’s powerful but can produce code in wrong places, fix unintended problems and make assumptions about what to write.</p>
<p>Just because AI can create a lot quickly doesn’t mean it’s creating what we need.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 15 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Value added or time spent</title>
                    <link>https://ahlstrom.info/value-added-or-time-spent</link>
                    <description>The real question isn’t “how many hours did you work?” but “did you deliver the value promised?”. If the client is happy with the results then you’re delivering what they’re paying for. Hourly billing punishes efficiency and expertise. Outcome matters, not the time spent.</description>
                    <guid>https://ahlstrom.info/value-added-or-time-spent</guid>
                      <content:encoded>
                            <![CDATA[<p>The real question isn’t “how many hours did you work?” but “did you deliver the value promised?”.</p>
<p>If the client is happy with the results then you’re delivering what they’re paying for. </p>
<p>Hourly billing punishes efficiency and expertise. Outcome matters, not the time spent.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 14 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The Fullstack Paradox</title>
                    <link>https://ahlstrom.info/something-is-odd-with-fullstack</link>
                    <description>People rarely enjoy all aspects of their job equally. This is particularly noticeable with fullstack developers who are expected to be proficient across the entire stack. From transforming Figma mockups into functional UIs to implementing complex architectural services. The range of skills required is… let’s call it extensive. At some point the industry decided fullstack was the ideal. You should handle everything from pixel-perfect CSS to database optimization because… it’s efficient? More...</description>
                    <guid>https://ahlstrom.info/something-is-odd-with-fullstack</guid>
                      <content:encoded>
                            <![CDATA[<p>People rarely enjoy all aspects of their job equally. This is particularly noticeable with fullstack developers who are expected to be proficient across the entire stack. From transforming Figma mockups into functional UIs to implementing complex architectural services. The range of skills required is… let’s call it extensive.</p>
<p>At some point the industry decided fullstack was the ideal. You should handle everything from pixel-perfect CSS to database optimization because… it’s efficient? More cost-effective?</p>
<p>Outside of solo entrepreneurs I’ve met remarkably few developers who genuinely enjoy both ends of the spectrum equally. Most have clear preferences. They either light up discussing UI interactions or get excited about backend architecture but rarely both.</p>
<p>This preference gap can explain why tools like vibe coding are gaining popularity. These tools reduce the parts of development work people enjoy least while still getting the job done.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 13 May 2025 19:43:00 GMT</pubDate>
                </item><item>
                    <title>Not everything should be a grind</title>
                    <link>https://ahlstrom.info/not-everything-should-be-a-grind</link>
                    <description>You can build great things that feel effortless now. That simplicity exists only because you invested hard effort earlier. Like grinding through side quests in a game before tackling the main storyline. All that seemingly extra work makes the final boss battle feel surprisingly manageable. Tech influencers often preach ‘If it’s easy, it’s probably not special.’ But they miss the timeline. What feels easy today only seems that way because you already did the hard work yesterday.</description>
                    <guid>https://ahlstrom.info/not-everything-should-be-a-grind</guid>
                      <content:encoded>
                            <![CDATA[<p>You can build great things that feel effortless now. That simplicity exists only because you invested hard effort earlier.</p>
<p>Like grinding through side quests in a game before tackling the main storyline. All that seemingly extra work makes the final boss battle feel surprisingly manageable.</p>
<p>Tech influencers often preach ‘If it’s easy, it’s probably not special.’ But they miss the timeline. What feels easy today only seems that way because you already did the hard work yesterday.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 12 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Cognitive work does not disappear: it shifts</title>
                    <link>https://ahlstrom.info/cognitive-work-does-not-disappear-it-shifts</link>
                    <description>I’ve found AI actually demands a different kind of thinking from me. When I’m vague, it gives vague results. This forces me to clarify my own thinking and be more precise. The cognitive work doesn’t disappear, it shifts to higher level of design and critical evaluation. The challenge is using AI intentionally rather than letting it replace our thinking entirely.</description>
                    <guid>https://ahlstrom.info/cognitive-work-does-not-disappear-it-shifts</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve found AI actually demands a different kind of thinking from me. </p>
<p>When I’m vague, it gives vague results. This forces me to clarify my own thinking and be more precise. </p>
<p>The cognitive work doesn’t disappear, it shifts to higher level of design and critical evaluation. </p>
<p>The challenge is using AI intentionally rather than letting it replace our thinking entirely.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 11 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Entering the Post-Link Era</title>
                    <link>https://ahlstrom.info/entering-the-post-link-era</link>
                    <description>We are entering an era where users no longer navigate the web through links, but through conversations with AI. These systems don’t just point to information, they break it down into bits and pieces that they can then join, personalize and deliver directly to you. Search results, news pages and social feeds are slowly being replaced with AI assistants that process information on our behalf. Sure there’ll be links, but think of them more as page 2 of Google results. People that want answers want...</description>
                    <guid>https://ahlstrom.info/entering-the-post-link-era</guid>
                      <content:encoded>
                            <![CDATA[<p>We are entering an era where users no longer navigate the web through links, but through conversations with AI. These systems don’t just point to information, they break it down into bits and pieces that they can then join, personalize and deliver directly to you. Search results, news pages and social feeds are slowly being replaced with AI assistants that process information on our behalf.</p>
<p>Sure there’ll be links, but think of them more as page 2 of Google results. People that want answers want them quick and GenAI delivers right now.</p>
<p>How this will disrupt the ads business, a business where number of eyes is important we don’t know yet. But just think about the effect it has when an AI Assistant searches on your behalf and give you the results you need.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 10 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Algorithms are not social</title>
                    <link>https://ahlstrom.info/algorithms-are-not-social</link>
                    <description>Social media is no longer social, it is just media. We’ve forgotten to remove the “social” part when we talk about it. We once came to these platforms to see what our friends were up to. Then we returned because we got what they predicted we should like. Now they’re no different than TV streaming or radio except for their more efficient dopamine-triggering mechanisms. Algorithms are not social.</description>
                    <guid>https://ahlstrom.info/algorithms-are-not-social</guid>
                      <content:encoded>
                            <![CDATA[<p>Social media is no longer social, it is just media. We’ve forgotten to remove the “social” part when we talk about it.</p>
<p>We once came to these platforms to see what our friends were up to. Then we returned because we got what they predicted we should like. Now they’re no different than TV streaming or radio except for their more efficient dopamine-triggering mechanisms.</p>
<p>Algorithms are not social.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 09 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The evolution of AI coding agents</title>
                    <link>https://ahlstrom.info/the-evolution-of-ai-coding-agents</link>
                    <description>Throughout my development career I’ve probably been acting like a code chameleon. Join a company, look at PRs and code and try to mirror the style and ask the subtle question of “Which code and PRs should I mimic if I want my submissions to pass quickly?” This adaptive behavior isn’t just about following rules. It’s about understanding the unwritten language of this new codebase. That teams develop patterns and practices that represent their knowledge. Current AI coding tools miss this context....</description>
                    <guid>https://ahlstrom.info/the-evolution-of-ai-coding-agents</guid>
                      <content:encoded>
                            <![CDATA[<p>Throughout my development career I’ve probably been acting like a code chameleon. Join a company, look at PRs and code and try to mirror the style and ask the subtle question of “Which code and PRs should I mimic if I want my submissions to pass quickly?”</p>
<p>This adaptive behavior isn’t just about following rules. It’s about understanding the unwritten language of this new codebase. That teams develop patterns and practices that represent their knowledge.</p>
<p>Current AI coding tools miss this context. They generate functional but generic code drawn from open source repositories, that in isolation are awesome but in relation to existing internal codebases are off. </p>
<p>They write average code for specific environments that don’t want to be average.</p>
<h2>Beyond Simple Generation</h2>
<p>I believe we’re heading toward a more sophisticated approach with specialized AI agents handling different aspects of development.</p>
<p><strong>Solution Agents</strong> that focuses purely on solving the problem, functionally without concern for style or conventions. <strong>Adaptation Agent</strong> that transform this solution to match the companies specific patterns and practices and possibly a <strong>Readability Agent</strong> that ensures that this code is comprehensible by humans.</p>
<p>First write the expectations, then generate the code, then create tests, then refine the code. Each step handled by agents optimized for that specific task.</p>
<p>This mirrors how human teams work today. Establish direction, implement solutions, and ensure quality and consistency. The difference is speed and scale.</p>
<h2>The Future of Development</h2>
<p>The most powerful development environments won’t be those that simply generate code fastest. They’ll be systems that understand your specific codebase deeply and adapt to your team’s unique approach.</p>
<p>When you begin a project, you’ll decide upfront what you want: TypeScript, specific linting rules, run on Cloudflare. But beyond these technical choices, your AI system will learn what makes your codebase unique.</p>
<p>Unlike the patterns found in open source repositories, your AI agents will understand the complete picture of your application. They’ll recognize that teams evolve their own concepts and styles that may not match external patterns.</p>
<p>This is the natural progression from todays word-by-word generation to truly contextual development assistance.</p>
<p>It’s not just about writing code, it is about writing code that belongs.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 08 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The developer's path forward in the AI era</title>
                    <link>https://ahlstrom.info/the-developer's-path-forward-in-the-ai-era</link>
                    <description>These last quarters I’ve seen one CEO, CTO or Founder after another saying something to the effect “AI will take your job, adapt or die”. I used to have a great mp3 collection, you know, back in the days when it was almost considered legal. It was an amazing feat to keep it up to date in Winamp and later iTunes with correct titles and album art. There came apps that focused solely on this catalogue part using online sources to update the metadata called ID3. Then came Spotify and changed that...</description>
                    <guid>https://ahlstrom.info/the-developer's-path-forward-in-the-ai-era</guid>
                      <content:encoded>
                            <![CDATA[<p>These last quarters I’ve seen one CEO, CTO or Founder after another saying something to the effect “AI will take your job, adapt or die”.</p>
<p>I used to have a great mp3 collection, you know, back in the days when it was almost considered legal.</p>
<p>It was an amazing feat to keep it up to date in Winamp and later iTunes with correct titles and album art. There came apps that focused solely on this catalogue part using online sources to update the metadata called ID3.</p>
<p>Then came Spotify and changed that completely. That time spent curating was just sunk cost and my well catalogued mp3s are probably on an old dying hard drive somewhere in the house.</p>
<p>This is the reality we must face when it comes to AI and as a developer I see this so vividly.</p>
<p>What used to be “LLMs cannot code” became “LLMs write bad code” and now “LLMs write ok code”.</p>
<p>So we shift focus and find a new weak spot: LLMs cannot fix bugs. Or I cannot understand the code it writes.</p>
<p>But then again, the code I struggle to understand, it can explain to me 99% of the time. The ability to both generate and explain complex code further diminishes our position as keepers of the technical knowledge.</p>
<p>We move the focus to what it cannot do while something else comes along that changes the playing field, a new Spotify emerges and changes it all.</p>
<p>LLMs with the context memory of your complete repository. With the knowledge of every commit and every connected ticket. That can understand the reason behind the change in an iterative fashion. You will not need to understand the code. It will need to understand the code.</p>
<p>You will need to understand what you want to achieve and why. This understanding of purpose becomes our core value proposition as technical professionals.</p>
<p>As AI Agents emerge and become reliable we will prompt it with “increase the convert rate by 10%, these are the amounts of visitors we have, make small changes until you reached your goal or you need my attention, you have one quarter”.</p>
<p>Why is this happening so quickly? There’s an economic incentive at play. Developer salaries, especially in Big Tech, have skyrocketed over the past decade. AI development may be running at a loss now, but it might be following the Starbucks playbook of crowd out competition first, then raise prices. Companies investing billions in AI aren’t doing it for novelty. They’re eyeing the massive labor costs they could eliminate. Right now AI is marketed as an assistant, but the financial motivation to replace rather than augment is powerful.</p>
<p>So where does this leave us as developers? We need to move up the value chain. If algorithms can handle implementation, we must master the intention behind it. This brings us back to first principles thinking.</p>
<p>These are the first principles that we aim at: Why do we build this service? What do the end users aim to solve?</p>
<p>This will be the hardest problem to understand and execute on. If my technical skills are not required as they used to be, what should I focus on instead?</p>
<p>History gives us a clue. In the past, key makers, cobblers and tailors used to be three separate jobs. As the market changed, their crafts were not needed to the same extent, but those who survived saw that with their dexterity they could adapt to new needs.</p>
<p>My view is that multiple technical crafts will join together, and our focus will shift toward the complete value chain rather than isolated implementation details. We’ll need to understand the whole picture to remain relevant.</p>
<p>Those first principles will not be: to write code.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 07 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>AI images and brand awareness </title>
                    <link>https://ahlstrom.info/ai-images-and-brand-awareness</link>
                    <description>How will we keep brand awareness when we use AI to generate our images? I see the same style cartoons popping up across business social networks. People generate fun images to pair with their messages. The visuals look cute but generic, completely out of brand and identical to everyone else’s. You might get some laughs. But nobody remembers which brand posted it. Is that temporary engagement worth sacrificing your visual identity?</description>
                    <guid>https://ahlstrom.info/ai-images-and-brand-awareness</guid>
                      <content:encoded>
                            <![CDATA[<p>How will we keep brand awareness when we use AI to generate our images?</p>
<p>I see the same style cartoons popping up across business social networks.</p>
<p>People generate fun images to pair with their messages. The visuals look cute but generic, completely out of brand and identical to everyone else’s. You might get some laughs. But nobody remembers which brand posted it.</p>
<p>Is that temporary engagement worth sacrificing your visual identity?</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 06 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Anchoring bias</title>
                    <link>https://ahlstrom.info/anchoring-bias</link>
                    <description>This happens when we become attached to the first thing we see. Then it becomes a struggle to think of other possibilities.</description>
                    <guid>https://ahlstrom.info/anchoring-bias</guid>
                      <content:encoded>
                            <![CDATA[<p>This happens when we become attached to the first thing we see. Then it becomes a struggle to think of other possibilities.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 05 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Do ship, don't polish</title>
                    <link>https://ahlstrom.info/do-ship-dont-polish</link>
                    <description>Have an instinct to ship. Not an instinct to polish. I know it is scary, releasing a product in the wild. Whatever product that is, piece of music, a service, an idea, make an effort to ship fast to a minimum viable audience. Viable audience means someone who has a stake or is interested in your product, not your friends or your family. Shipping means being open to fail. You cannot fail, or succeed without shipping. you just do. I’m also scared about shipping. Probably or especially when you’ve...</description>
                    <guid>https://ahlstrom.info/do-ship-dont-polish</guid>
                      <content:encoded>
                            <![CDATA[<p>Have an instinct to ship. Not an instinct to polish.</p>
<p>I know it is scary, releasing a product in the wild.</p>
<p>Whatever product that is, piece of music, a service, an idea, make an effort to ship fast to a minimum viable audience.</p>
<p>Viable audience means someone who has a stake or is interested in your product, not your friends or your family. </p>
<p>Shipping means being open to fail. You cannot fail, or succeed without shipping. you just do.</p>
<p>I’m also scared about shipping. Probably or especially when you’ve just built something for yourself.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 04 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Doing or Approving</title>
                    <link>https://ahlstrom.info/doing-or-approving</link>
                    <description>We assume change will happen to systems but their state is to stay still to never change. We should not act surprised if they don’t change.</description>
                    <guid>https://ahlstrom.info/doing-or-approving</guid>
                      <content:encoded>
                            <![CDATA[<p>We assume change will happen to systems but their state is to stay still to never change.</p>
<p>We should not act surprised if they don’t change.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 03 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Right prototype for the right job</title>
                    <link>https://ahlstrom.info/building-a-prototype-quickly</link>
                    <description>High-definition mockups build excitement and show stakeholders potential end results. Functional prototypes let you iterate with real users and discover how they actually interact with your solution. Both have their place. Choose based on what you need to learn or communicate.</description>
                    <guid>https://ahlstrom.info/building-a-prototype-quickly</guid>
                      <content:encoded>
                            <![CDATA[<p>High-definition mockups build excitement and show stakeholders potential end results.</p>
<p>Functional prototypes let you iterate with real users and discover how they actually interact with your solution.</p>
<p>Both have their place. Choose based on what you need to learn or communicate.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 02 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Noise to Narrative</title>
                    <link>https://ahlstrom.info/diffussion-based-models-for-text</link>
                    <description>The way diffusion models are trained is that they tag an existing image with what’s on it. Then they add a small amount of noise to that picture in iterations, following a carefully designed schedule, and finally end up with a black and white mess. The model specifically learns to predict what the “less noisy” version of an image should look like at each step. Then when you want to create an image you start from a noisy image and add your prompt (i.e tag) and then it starts removing noise and...</description>
                    <guid>https://ahlstrom.info/diffussion-based-models-for-text</guid>
                      <content:encoded>
                            <![CDATA[<p>The way diffusion models are trained is that they tag an existing image with what’s on it. Then they add a small amount of noise to that picture in iterations, following a carefully designed schedule, and finally end up with a black and white mess. The model specifically learns to predict what the “less noisy” version of an image should look like at each step.</p>
<p>Then when you want to create an image you start from a noisy image and add your prompt (i.e tag) and then it starts removing noise and starts iteratively doing this until you see an image. The text prompt is converted into a numerical representation that guides the denoising process.</p>
<p>Think of this as when you try to learn something new. You have some hooks in your brain from before, you start to add context, new lessons, new information and suddenly you see the areas somewhat clearer.</p>
<p>Most LLMs (ChatGPT, Mistral, Claude, Gemini and so on) usually write like we humans do. We add one word after another.</p>
<p>Diffusion based text models have started to appear. Think of them as working in reverse. You might input the last words like the ending of a script and then from complete noise it starts to add in words that make sense.</p>
<p>The model keeps refining this noisy text adding more coherent words until in the end we have something somewhat unique. This approach creates text quite differently from traditional word by word generation.</p>
<p>What does this mean for texts?</p>
<p>Since it is not constrained of left-to-right thinking the output can be more creative and surprising. It can solve potential issues where sequential models struggle with maintaining coherence across long passages. </p>
<p>In this way it mimics how creatives work. Moving from rough draft to refinement to polished work.</p>
<p>A future existence of multiple models that we can use in different parts of the creative flow is exciting.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 01 May 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Urgent vs Important </title>
                    <link>https://ahlstrom.info/urgent-vs-important</link>
                    <description>There is a broad urgency focus when it comes to GenAI and how everyone can use it. But remember that urgent is not the same as important. Depending on who set the expectations urgent matters can become important to handle, not important to act on. The AI revolution demands we distinguish between what requires attention and what deserves action. Choose your priorities based on impact not hype.</description>
                    <guid>https://ahlstrom.info/urgent-vs-important</guid>
                      <content:encoded>
                            <![CDATA[<p>There is a broad urgency focus when it comes to GenAI and how everyone can use it.</p>
<p>But remember that urgent is not the same as important.</p>
<p>Depending on who set the expectations urgent matters can become important to handle, not important to act on.</p>
<p>The AI revolution demands we distinguish between what requires attention and what deserves action.</p>
<p>Choose your priorities based on impact not hype.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 30 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Our inner oasis</title>
                    <link>https://ahlstrom.info/our-inner-oasis</link>
                    <description>I’ve got a mental model about learning. That our minds are like deserts where everything is buried under sand. When we approach something and brush away the sand, making that area clearer. If we don’t use it for a while, the sand slowly returns, somewhat covering but we can still see the shape.</description>
                    <guid>https://ahlstrom.info/our-inner-oasis</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve got a mental model about learning. That our minds are like deserts where everything is buried under sand.</p>
<p>When we approach something and brush away the sand, making that area clearer.</p>
<p>If we don’t use it for a while, the sand slowly returns, somewhat covering but we can still see the shape.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 29 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>From quills to prompts</title>
                    <link>https://ahlstrom.info/from-quills-to-prompts</link>
                    <description>When people first learned to read and write, they often wrote in fancy, complicated ways with plenty of extra words. As more people became literate over time, writing styles changed. People started to value writing that was clear and to the point instead. Is it possible that we will face similar changes with Generative AI and LLMs? At first people might show off by generating massive amounts. Then we might shift to valuing brevity while maintaining the same meaning. Eventually we could reach a...</description>
                    <guid>https://ahlstrom.info/from-quills-to-prompts</guid>
                      <content:encoded>
                            <![CDATA[<p>When people first learned to read and write, they often wrote in fancy, complicated ways with plenty of extra words.</p>
<p>As more people became literate over time, writing styles changed.</p>
<p>People started to value writing that was clear and to the point instead.</p>
<p>Is it possible that we will face similar changes with Generative AI and LLMs?</p>
<p>At first people might show off by generating massive amounts.</p>
<p>Then we might shift to valuing brevity while maintaining the same meaning.</p>
<p>Eventually we could reach a point where writing adapts in ways that blur the line between human and AI-assisted text.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 28 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Taming AI-Generated Development</title>
                    <link>https://ahlstrom.info/taming-ai-generated-development</link>
                    <description>AKA How to tame Vibe Coding: Create a branch before asking AI to write any code Request only small specific changes from the AI Commit those changes immediately when they work Complete a “micro-sprint” then merge to main Work small and fast with one-hour blocks not two-week marathons Be prepared to start over by breaking tasks into even smaller pieces Begin with manual implementations before attempting automation Expect longer timelines for final production builds despite initial rapid progress</description>
                    <guid>https://ahlstrom.info/taming-ai-generated-development</guid>
                      <content:encoded>
                            <![CDATA[<p>AKA How to tame Vibe Coding:</p>
<ul>
<li>Create a branch before asking AI to write any code</li>
<li>Request only small specific changes from the AI</li>
<li>Commit those changes immediately when they work</li>
<li>Complete a “micro-sprint” then merge to main</li>
<li>Work small and fast with one-hour blocks not two-week marathons</li>
<li>Be prepared to start over by breaking tasks into even smaller pieces</li>
<li>Begin with manual implementations before attempting automation</li>
<li>Expect longer timelines for final production builds despite initial rapid progress</li>
</ul>
]]>
                        </content:encoded>
                    <pubDate>Sun, 27 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Emotional journey of change</title>
                    <link>https://ahlstrom.info/four-phases-of-change-within-a-company</link>
                    <description>Changes within companies follows a fairly predictable emotional journey. It begins with “everything is fine” and despite declining results with hold on to familiar processes. When change is bound to happen, resistance naturally follows as we push back end question “why is this even needed”. As new processes take hold, confusion starts to emerge “this feels backwards, are we even moving faster”. Then all the sudden we realize the breakthrough moment “aha! this actually works better!” as we see...</description>
                    <guid>https://ahlstrom.info/four-phases-of-change-within-a-company</guid>
                      <content:encoded>
                            <![CDATA[<p>Changes within companies follows a fairly predictable emotional journey.</p>
<p>It begins with “everything is fine” and despite declining results with hold on to familiar processes.</p>
<p>When change is bound to happen, resistance naturally follows as we push back end question “why is this even needed”.</p>
<p>As new processes take hold, confusion starts to emerge “this feels backwards, are we even moving faster”.</p>
<p>Then all the sudden we realize the breakthrough moment “aha! this actually works better!” as we see the benefits that made the discomfort worthwhile.</p>
<p>This kind of view of the phases can help leaders guide their teams through transitions. </p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 26 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The human perspective</title>
                    <link>https://ahlstrom.info/the-human-perspective</link>
                    <description>As I pack up my bags to leave Copenhagen after spending some awesome days at #NAMS25, I’m reflecting on the conversations that dominated the event. Amid all the panels and presentations, one question kept surfacing: what happens when AI replaces us? This isn’t speculation anymore as it’s become the underlying theme at almost every industry summit I’ve attended this year. When we attend these events we seek human connection, perspectives and experiences. We want someone genuine being present and...</description>
                    <guid>https://ahlstrom.info/the-human-perspective</guid>
                      <content:encoded>
                            <![CDATA[<p>As I pack up my bags to leave Copenhagen after spending some awesome days at #NAMS25, I’m reflecting on the conversations that dominated the event. Amid all the panels and presentations, one question kept surfacing: what happens when AI replaces us?</p>
<p>This isn’t speculation anymore as it’s become the underlying theme at almost every industry summit I’ve attended this year.</p>
<p>When we attend these events we seek human connection, perspectives and experiences. We want someone genuine being present and delivering insights that make our spider-senses go “what the heck!?”.</p>
<p>Nordic AI Media Summit 2025 delivered on this and went beyond. </p>
<p>But it got me thinking about other summits and presentations I’ve attended over the years. </p>
<p>Sometimes we feel immediately uncomfortable when someone is clearly just reading from a script. When the delivery sounds like a Dalek monotone or presentations lack visual pizzazz, we mentally check out and struggle to stay present even though the content is great.</p>
<p>We need a story or person we can connect with, whether positively or negatively, that demonstrates there’s an actual human sharing their personal perspective. It reminds me of that odd feeling when someone accepts an award via pre-recorded video. We feel cheated of the authentic experience we expected.</p>
<p>At NAMS25, these discussions about human authenticity intersected with questions about our future roles. If AI will replace much of what we do professionally, what remains uniquely human?</p>
<p>I believe this tension will reshape news media. AI will handle the facts, the police reports, the sports scores and the basic who-what-where of breaking news.</p>
<p>What remains uniquely human is our ability to provide context through lived experiences. AI can’t share what it felt like to be in the office the day after the last US election, how your commute to work was obstructed by someone removing a bridge.</p>
<p>Our future does not lie in competing with AI on data, but in the human connection, the unique local view of the community, what they have experienced and how to tell that story in the right context.</p>
<p>That perspective will be hard for algorithms to replicate.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 25 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Coding careers remain valuable</title>
                    <link>https://ahlstrom.info/coding-careers-remain-valuable</link>
                    <description>Touch any prototype and everyone instantly realizes how far their mental model was from reality. That moment of clarity, when abstract ideas collide with concrete implementation, remains one of the most powerful feelings in product development. As we are getting closer to mid-2025, this fundamental truth starts to show a subtle misinformation in “AI will replace coders”. The narrative that suggests that coding careers are somewhat fruitless has proven more persistent and I would say potentially...</description>
                    <guid>https://ahlstrom.info/coding-careers-remain-valuable</guid>
                      <content:encoded>
                            <![CDATA[<p>Touch any prototype and everyone instantly realizes how far their mental model was from reality. </p>
<p>That moment of clarity, when abstract ideas collide with concrete implementation, remains one of the most powerful feelings in product development.</p>
<p>As we are getting closer to mid-2025, this fundamental truth starts to show a subtle misinformation in “AI will replace coders”. The narrative that suggests that coding careers are somewhat fruitless has proven more persistent and I would say potentially harmful than feared waves of mis-information and deep fakes that dominated discussions in 2024.</p>
<p>This parallel struck me while listening to panel discussion at <a href="https://www.nordicaijournalism.com/" title="Nordic AI Media Summit">NAMS25</a> today.</p>
<p>While the AI coding tools have evolved, as in they excel at generating code, they have not started bridging the super critical gap between what users say they want and what they actually need.</p>
<p>When someone types “Build me an app that does THIS”, a somewhat vague request, it starts a journey towards a valuable product. And that journey always comes with human judgment at multiple decision points.</p>
<p>The most valuable skills still remain uniquely human: breaking apart problems, systems thinking and the ability to translate between technical possibilities and actual human needs.</p>
<p>This is what makes AI tools so powerful in the right hands. They amplify capabilities that already exist, they don’t replace them.</p>
<p>For those making career decisions: Don’t shy away from development because AI’s rise. Instead focus on developing skills AI can’t replicate. Learn the skills to collaborate effectively with the tools and (this is crucial) maintain the human abilities that give tech its purpose.</p>
<p>Touching that first prototype and having the ability to recognize that this is not working that is the core skill we developers need.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 24 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Engagement in the loop</title>
                    <link>https://ahlstrom.info/certifier-in-the-loop</link>
                    <description>As we might become mechanical turks just approving whatever AI outputs, will we be less and less interested in the output that we approve, and the tone of voice and standard it should uphold? The danger isn’t just putting humans in the loop but keeping us engaged in that loop. Without genuine interest our oversight becomes hollow ritual.</description>
                    <guid>https://ahlstrom.info/certifier-in-the-loop</guid>
                      <content:encoded>
                            <![CDATA[<p>As we might become mechanical turks just approving whatever AI outputs, will we be less and less interested in the output that we approve, and the tone of voice and standard it should uphold?</p>
<p>The danger isn’t just putting humans in the loop but keeping us engaged in that loop. Without genuine interest our oversight becomes hollow ritual.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 23 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Why tech debt - When boring code gets deprioritized</title>
                    <link>https://ahlstrom.info/why-tech-debt-misunderstanding-the-priorities-with-boring-code</link>
                    <description>I remember that old sluggish legacy PHP code, still worked 99% of the time, but it was a code soup that no one wanted to deal with. Every newcomer tried. I tried. Probably ones every year. That piece of code became boring to work with. It was hard to add features too. It was easier to just add something around it, patch it. Those pieces of code became boring and not prioritized. It became tech debt out of being boring to work with, and every large scale system has that piece of code. Followed...</description>
                    <guid>https://ahlstrom.info/why-tech-debt-misunderstanding-the-priorities-with-boring-code</guid>
                      <content:encoded>
                            <![CDATA[<p>I remember that old sluggish legacy PHP code, still worked 99% of the time, but it was a code soup that no one wanted to deal with. </p>
<p>Every newcomer tried. I tried. Probably ones every year. </p>
<p>That piece of code became boring to work with. It was hard to add features too. It was easier to just add something around it, patch it. </p>
<p>Those pieces of code became boring and not prioritized. </p>
<p>It became tech debt out of being boring to work with, and every large scale system has that piece of code. </p>
<p>Followed up to <a href="https://ahlstrom.info/why-tech-debt" title="Why tech debt.">why tech debt</a></p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 22 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>If It Feels Too Easy, Maybe It’s Finally Working</title>
                    <link>https://ahlstrom.info/if-it-feels-too-easy-maybe-its-finally-working</link>
                    <description>Progress often feels like struggle until suddenly it doesn’t. When things start flowing effortlessly, it’s not because the work lacks value.</description>
                    <guid>https://ahlstrom.info/if-it-feels-too-easy-maybe-its-finally-working</guid>
                      <content:encoded>
                            <![CDATA[<p>Progress often feels like struggle until suddenly it doesn’t. </p>
<p>When things start flowing effortlessly, it’s not because the work lacks value. </p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 21 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Why tech debt - misunderstanding the priorities</title>
                    <link>https://ahlstrom.info/why-tech-debt-all-tech-debt-stems-from-misunderstanding-three-things-the-problem-what-we-re-solving</link>
                    <description>The most insidious priority failure is treating tech debt as “optional work.” Companies create a false choice between “shipping features” and “fixing tech debt,” ignoring that they pay for debt daily through slower development and more bugs. Follow up to why tech debt</description>
                    <guid>https://ahlstrom.info/why-tech-debt-all-tech-debt-stems-from-misunderstanding-three-things-the-problem-what-we-re-solving</guid>
                      <content:encoded>
                            <![CDATA[<p>The most insidious priority failure is treating tech debt as “optional work.” Companies create a false choice between “shipping features” and “fixing tech debt,” ignoring that they pay for debt daily through slower development and more bugs.</p>
<p>Follow up to <a href="https://ahlstrom.info/why-tech-debt" title="Why tech debt.">why tech debt</a></p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 20 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Why tech debt - misunderstanding the problem</title>
                    <link>https://ahlstrom.info/why-tech-debt-misunderstanding-the-problem</link>
                    <description>We over-engineer features users rarely touch, creating unnecessary complexity. This happens when product managers can’t clearly define needs or when engineers solve theoretical rather than actual problems. Tech debt isn’t solely an engineering issue. When designers create solutions without technical context, product managers can’t articulate clear user needs, or executives push for features without validation, we build the wrong things well rather than the right things simply. The most...</description>
                    <guid>https://ahlstrom.info/why-tech-debt-misunderstanding-the-problem</guid>
                      <content:encoded>
                            <![CDATA[<p>We over-engineer features users rarely touch, creating unnecessary complexity. This happens when product managers can’t clearly define needs or when engineers solve theoretical rather than actual problems.</p>
<p>Tech debt isn’t solely an engineering issue. When designers create solutions without technical context, product managers can’t articulate clear user needs, or executives push for features without validation, we build the wrong things well rather than the right things simply.</p>
<p>The most dangerous misunderstandings come from solving theoretical problems instead of actual ones. We build complex, flexible frameworks anticipating edge cases that never materialize, leaving behind over-engineered systems that must be maintained without delivering proportional value.</p>
<p>Follow up to <a href="https://ahlstrom.info/why-tech-debt" title="Why tech debt.">why tech debt</a></p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 19 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Why tech debt</title>
                    <link>https://ahlstrom.info/why-tech-debt</link>
                    <description>All tech debt stems from misunderstanding three things: the problem (what we’re solving), the priorities (what matters most), or the code (how it actually works). It actually is that simple. We create tech debt when we work on things we think are interesting instead of what’s truly important (priorities), when we build before truly understanding the needs (problem), and when we work with old code without knowing why it works a certain way (code).</description>
                    <guid>https://ahlstrom.info/why-tech-debt</guid>
                      <content:encoded>
                            <![CDATA[<p>All tech debt stems from misunderstanding three things: the problem (what we’re solving), the priorities (what matters most), or the code (how it actually works).</p>
<p>It actually is that simple. We create tech debt when we work on things we think are interesting instead of what’s truly important (priorities), when we build before truly understanding the needs (problem), and when we work with old code without knowing why it works a certain way (code).</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 18 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Pavlovian triggers that break progress</title>
                    <link>https://ahlstrom.info/pavlovian-indicators-that-break-progress</link>
                    <description>I try to drink less coffee, however my coffee machine makes really good coffee. When I turn it on to create a really good cup of coffee it stay on for about 45 minutes. After those minutes it turns itself off and cleans everything, and it is quite loud when it does this. I’ve realized that when this happens I’m always reminded of coffee. This makes me want to go and… grab coffee. This coffee machine scenario highlights a broader pattern I’ve noticed: our environment creates automatic triggers...</description>
                    <guid>https://ahlstrom.info/pavlovian-indicators-that-break-progress</guid>
                      <content:encoded>
                            <![CDATA[<p>I try to drink less coffee, however my coffee machine makes really good coffee. When I turn it on to create a really good cup of coffee it stay on for about 45 minutes.</p>
<p>After those minutes it turns itself off and cleans everything, and it is quite loud when it does this. I’ve realized that when this happens I’m always reminded of coffee. This makes me want to go and… grab coffee.</p>
<p>This coffee machine scenario highlights a broader pattern I’ve noticed: our environment creates automatic triggers that can derail our intentions. Another example is how we use timers for productivity.</p>
<p>Getting into flow sometimes needs tools like setting a timer for 5 minutes to overcome initial resistance. I use this technique to commit to just “investing” 5 minutes in a task, which is usually enough to get started.</p>
<p>The problem with timers is when they go off… you get a Pavlovian response that you are done.</p>
<p>Breaking these loops might require changing the environment rather than fighting the response. Moving your workspace away from the coffee machine’s audible range eliminates the trigger entirely. Similarly, using visual timers like sand hourglasses instead of alarm sounds can help maintain flow while still tracking time.</p>
<p>The key is recognizing these automated triggers and redesigning them to align with your true intentions rather than working against them.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 17 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>There are no stupid questions</title>
                    <link>https://ahlstrom.info/there-are-no-stupid-questions</link>
                    <description>There are no stupid questions, but there is such a thing as too many questions. Ask the one question that answers twenty others. Then be patient enough to listen.</description>
                    <guid>https://ahlstrom.info/there-are-no-stupid-questions</guid>
                      <content:encoded>
                            <![CDATA[<p>There are no stupid questions, but there is such a thing as too many questions.</p>
<p>Ask the one question that answers twenty others. Then be patient enough to listen.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 16 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Just Capture Ideas. Period.</title>
                    <link>https://ahlstrom.info/just-capture-ideas-period</link>
                    <description>Capture ideas while they are fresh and store them somewhere. You can ignore organization for the future, that will become a solved problem similar to how all your organizing of MP3s is a solved problem. Or how meticulously sorting photos into folders seems quaint now that search just works.</description>
                    <guid>https://ahlstrom.info/just-capture-ideas-period</guid>
                      <content:encoded>
                            <![CDATA[<p>Capture ideas while they are fresh and store them somewhere. You can ignore organization for the future, that will become a solved problem similar to how all your organizing of MP3s is a solved problem. Or how meticulously sorting photos into folders seems quaint now that search just works.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 15 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>A previous bubble in tech </title>
                    <link>https://ahlstrom.info/a-previous-bubble-in-tech</link>
                    <description>It was jokingly said that “For all these companies budgets to add up, every Swede would need a website worth 2 million kronor.” During the late 90s dot-com bubble, Sweden had its own tech superstars. Jonas Birgersson became known as “Broadband Jesus” for his vision of universal internet access through his company Framfab. Johan Staël von Holstein built Icon Medialab into a global player before the crash, while Ernst Malmsten and Kajsa Leander’s Boo.com famously burned through massive venture...</description>
                    <guid>https://ahlstrom.info/a-previous-bubble-in-tech</guid>
                      <content:encoded>
                            <![CDATA[<p>It was jokingly said that “For all these companies budgets to add up, every Swede would need a website worth 2 million kronor.”</p>
<p>During the late 90s dot-com bubble, Sweden had its own tech superstars. Jonas Birgersson became known as “Broadband Jesus” for his vision of universal internet access through his company Framfab. Johan Staël von Holstein built Icon Medialab into a global player before the crash, while Ernst Malmsten and Kajsa Leander’s <a href="http://Boo.com">Boo.com</a> famously burned through massive venture capital in just 18 months before collapsing. <a href="http://Boo.com">Boo.com</a> epitomized being too early - their Flash-heavy website required significant bandwidth that most users simply didn’t have at the time.</p>
<p>What these companies share with today’s AI boom is striking: outsized hype about profitability and technology prioritized over utility. These entrepreneurs were creative people riding a wave of genuine possibility.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 14 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Even if AI takes our jobs, we're amazing at adapting</title>
                    <link>https://ahlstrom.info/even-if-ai-takes-our-jobs-were-amazing-at-adapting</link>
                    <description>I passed by a shop today called “Mästerkattens” which advertises itself as a cobbler/tailor/key-making service. Strange how these used to be three entirely different professions. During the 1950s mass production of shoes took off and cobblers had to diversify. Their manual skills and dexterity led them to key-making. This shift essentially eliminated dedicated key makers as a profession. But those professionals didn’t vanish. The key industry pivoted toward security systems instead. What we’re...</description>
                    <guid>https://ahlstrom.info/even-if-ai-takes-our-jobs-were-amazing-at-adapting</guid>
                      <content:encoded>
                            <![CDATA[<p>I passed by a shop today called “Mästerkattens” which advertises itself as a cobbler/tailor/key-making service.</p>
<p>Strange how these used to be three entirely different professions.</p>
<p>During the 1950s mass production of shoes took off and cobblers had to diversify. Their manual skills and dexterity led them to key-making.</p>
<p>This shift essentially eliminated dedicated key makers as a profession. But those professionals didn’t vanish. The key industry pivoted toward security systems instead.</p>
<p>What we’re seeing over time is our human tendency to invent new professions that replace old ones.</p>
<p>We’re remarkably adaptive creatures. Just as cobblers became key makers when mass production changed their industry we’ll adapt to AI too.</p>
<p>Our history is defined by this continuous reinvention. When technologies shift we don’t disappear. We transform.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 13 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Practice Constraints </title>
                    <link>https://ahlstrom.info/practice-constraints</link>
                    <description>Björk released “Medúlla” in 2004, an album where about 80% of sounds come from human voices with minimal conventional instruments. As an artist who connects technology with nature, she imposed this vocal-only constraint deliberately. She challenged herself to create everything (basslines, percussion, atmospherics) using just the human throat. Instead of using everything at your disposal, set constraints to test your imagination. When we limit our tools or methods, we’re forced to think more...</description>
                    <guid>https://ahlstrom.info/practice-constraints</guid>
                      <content:encoded>
                            <![CDATA[<p>Björk released “Medúlla” in 2004, an album where about 80% of sounds come from human voices with minimal conventional instruments.</p>
<p>As an artist who connects technology with nature, she imposed this vocal-only constraint deliberately. She challenged herself to create everything (basslines, percussion, atmospherics) using just the human throat.</p>
<p>Instead of using everything at your disposal, set constraints to test your imagination. When we limit our tools or methods, we’re forced to think more creatively within those boundaries, often leading to more innovative and distinctive outcomes.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 12 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>When in doubt take a walk</title>
                    <link>https://ahlstrom.info/when-in-doubt-take-a-walk</link>
                    <description>Preparing for presentations often involves getting stuck trying to create bridges between different sections. Forcing connections rarely works. What does work is reviewing the material, taking a step back and going for a walk without any devices or distractions. The simple act of getting blood flowing activates the brain in different ways.</description>
                    <guid>https://ahlstrom.info/when-in-doubt-take-a-walk</guid>
                      <content:encoded>
                            <![CDATA[<p>Preparing for presentations often involves getting stuck trying to create bridges between different sections. Forcing connections rarely works.</p>
<p>What does work is reviewing the material, taking a step back and going for a walk without any devices or distractions.</p>
<p>The simple act of getting blood flowing activates the brain in different ways.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 11 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>My inertia busting app</title>
                    <link>https://ahlstrom.info/my-inertia-busting-app</link>
                    <description>My most effective tool for beating inertia is a 5-minute alarm app that stays silent when time’s up. It just keeps counting upward while displaying encouraging messages every minute. I only see these if I check the app. The concept is simple: I commit to just “investing” 5 minutes in a task. Those few minutes are usually all I need to get started and break through my resistance.</description>
                    <guid>https://ahlstrom.info/my-inertia-busting-app</guid>
                      <content:encoded>
                            <![CDATA[<p>My most effective tool for beating inertia is a 5-minute alarm app that stays silent when time’s up. It just keeps counting upward while displaying encouraging messages every minute. I only see these if I check the app.</p>
<p>The concept is simple: I commit to just “investing” 5 minutes in a task. Those few minutes are usually all I need to get started and break through my resistance.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 10 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Hard does not equal important </title>
                    <link>https://ahlstrom.info/hard-does-not-equal-important</link>
                    <description>Just because something is hard doesn’t mean it is important.</description>
                    <guid>https://ahlstrom.info/hard-does-not-equal-important</guid>
                      <content:encoded>
                            <![CDATA[<p>Just because something is hard doesn’t mean it is important. </p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 09 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The human elements lost in perfect transcripts</title>
                    <link>https://ahlstrom.info/the-human-elements-lost-in-perfect-transcripts</link>
                    <description>In school we learned to take notes we could depend on for studying for exams. In best of worlds they were comprehensive, capturing key facts and concepts that would be tested later. In worst of worlds they was just a indication on which page number in the books that you should read. In meetings we learned to take notes for what was being said and what was being decided upon. The focus is on action items, ownership and deadlines. AI note taking and transcripts are changing meeting notes into...</description>
                    <guid>https://ahlstrom.info/the-human-elements-lost-in-perfect-transcripts</guid>
                      <content:encoded>
                            <![CDATA[<p>In school we learned to take notes we could depend on for studying for exams. In best of worlds they were comprehensive, capturing key facts and concepts that would be tested later. In worst of worlds they was just a indication on which page number in the books that you should read.</p>
<p>In meetings we learned to take notes for what was being said and what was being decided upon. The focus is on action items, ownership and deadlines.</p>
<p>AI note taking and transcripts are changing meeting notes into something more like school notes. “You actually said this, there is a record of it.” This brings accountability but loses something important.</p>
<p>What’s missing in these perfect transcripts is the context and human feeling around the meetings. The energy in the room when an idea was proposed. The hesitation before someone agreed. The enthusiasm that can’t be captured in words alone.</p>
<p>Different contexts require different note-taking strategies. The key is recognizing what each approach captures and what it leaves out.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 08 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Notes that matter</title>
                    <link>https://ahlstrom.info/notes-that-matter</link>
                    <description>When listening to books, podcasts or seminars, the most valuable notes aren’t comprehensive transcripts. They’re the parts that hit you with a “gut punch” or trigger a “that reminds me of” moment. Capturing everything misses the point entirely. What matters is recording your unique reaction to ideas. How they connect to your experiences or challenge your thinking. The real value in personal notes is selective attention. This human filter is what turns random information into gold nuggets. Your...</description>
                    <guid>https://ahlstrom.info/notes-that-matter</guid>
                      <content:encoded>
                            <![CDATA[<p>When listening to books, podcasts or seminars, the most valuable notes aren’t comprehensive transcripts. They’re the parts that hit you with a “gut punch” or trigger a “that reminds me of” moment.</p>
<p>Capturing everything misses the point entirely. What matters is recording your unique reaction to ideas. How they connect to your experiences or challenge your thinking.</p>
<p>The real value in personal notes is selective attention. This human filter is what turns random information into gold nuggets.</p>
<p>Your notes should reflect your thinking, not just what you heard. They’re a conversation between you and the content, capturing the sparks that light up your mind.</p>
<p>The magic is connecting the dots, those sparks when two oddly shaped pieces of information somehow connected in your brain and created something truly unique that only you could come up with. But that magic cannot happen when you store everything and try to remember everything to be able to connect everything.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 07 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>The "Useless" Skill Paradox</title>
                    <link>https://ahlstrom.info/the-useless-skill-paradox</link>
                    <description>The most valuable skills might be those AI can’t copy because they seem “useless” today. Take time to learn something with no clear payoff, it could become your advantage later. What looks pointless now might matter tomorrow. Just like alchemy experiments led to chemistry. The skills hardest to justify on a resume are often what separate human brilliance from machine efficiency. Think complex systems thinking, strategic procrastination, narrative weaving or deep listening without an agenda.</description>
                    <guid>https://ahlstrom.info/the-useless-skill-paradox</guid>
                      <content:encoded>
                            <![CDATA[<p>The most valuable skills might be those AI can’t copy because they seem “useless” today.</p>
<p>Take time to learn something with no clear payoff, it could become your advantage later.</p>
<p>What looks pointless now might matter tomorrow. Just like alchemy experiments led to chemistry.</p>
<p>The skills hardest to justify on a resume are often what separate human brilliance from machine efficiency. </p>
<p>Think complex systems thinking, strategic procrastination, narrative weaving or deep listening without an agenda.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 06 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Socrates and AI</title>
                    <link>https://ahlstrom.info/socrates-and-ai</link>
                    <description>Socrates worried writing would destroy memory. Instead, externalizing memory created space for more complex thinking. How can AI free mental bandwidth for high-order thinking and curiosity, if we decide not to doom scroll?</description>
                    <guid>https://ahlstrom.info/socrates-and-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>Socrates worried writing would destroy memory. </p>
<p>Instead, externalizing memory created space for more complex thinking. </p>
<p>How can AI free mental bandwidth for high-order thinking and curiosity, if we decide not to doom scroll?</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 05 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Cross year goals</title>
                    <link>https://ahlstrom.info/cross-year-goals</link>
                    <description>Why is goals bound to calendars that someone invented centuries ago? Friday in April can be just as powerful as January 1st. The calendar doesn’t create commitment - your personal readiness does.</description>
                    <guid>https://ahlstrom.info/cross-year-goals</guid>
                      <content:encoded>
                            <![CDATA[<p>Why is goals bound to calendars that someone invented centuries ago?</p>
<p>Friday in April can be just as powerful as January 1st. The calendar doesn’t create commitment - your personal readiness does.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 04 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Ideas are not todos</title>
                    <link>https://ahlstrom.info/ideas-are-not-todos</link>
                    <description>Your todo list isn’t for storing everything you imagine. You’ll never complete that endless list. Great ideas will never leave you, similar to how bugs never do. Our backlogs fill with old ideas and urgencies that never resurface, clogging our physical and digital spaces. We already have enough to do. Store ideas separate from todos. Store personal ideas in a dedicated space, like memories in a box. Keep your workspace tidy. When ideating, open that idea box and explore freely. Remove backlog...</description>
                    <guid>https://ahlstrom.info/ideas-are-not-todos</guid>
                      <content:encoded>
                            <![CDATA[<p>Your todo list isn’t for storing everything you imagine. You’ll never complete that endless list.</p>
<p>Great ideas will never leave you, similar to how bugs never do.</p>
<p>Our backlogs fill with old ideas and urgencies that never resurface, clogging our physical and digital spaces. We already have enough to do. Store ideas separate from todos.</p>
<p>Store personal ideas in a dedicated space, like memories in a box. Keep your workspace tidy.</p>
<p>When ideating, open that idea box and explore freely.</p>
<p>Remove backlog tickets you haven’t touched in 3 months. Bring them back only when planning or seeking inspiration, but don’t let them dictate your path.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 03 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Rules that fit you journey</title>
                    <link>https://ahlstrom.info/rules-that-fit-you-journey</link>
                    <description>The path you walked shapes the rules you’re willing to follow. Traditional paths teach us to follow common and sometimes good steps. Non-traditional paths teach us to view those steps differently.</description>
                    <guid>https://ahlstrom.info/rules-that-fit-you-journey</guid>
                      <content:encoded>
                            <![CDATA[<p>The path you walked shapes the rules you’re willing to follow.</p>
<p>Traditional paths teach us to follow common and sometimes good steps. Non-traditional paths teach us to view those steps differently.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 02 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Embracing Constructive Breaking</title>
                    <link>https://ahlstrom.info/embracing-constructive-breaking</link>
                    <description>When I was seventeen, I broke my first computer. Twice. The first time, I sheepishly sent it for repair. The second time, shame drove me to figure it out myself. Creating a boot floppy disk that could access the CD-ROM to reinstall Windows. I think that moment changed everything for me. I learned three truths that possibly shaped my career: Breaking things isn’t fatal The path forward often runs through mistakes Self-reliance builds deeper understanding than following instructions In 1999, I...</description>
                    <guid>https://ahlstrom.info/embracing-constructive-breaking</guid>
                      <content:encoded>
                            <![CDATA[<p>When I was seventeen, I broke my first computer. Twice.</p>
<p>The first time, I sheepishly sent it for repair. The second time, shame drove me to figure it out myself. Creating a boot floppy disk that could access the CD-ROM to reinstall Windows. I think that moment changed everything for me.</p>
<p>I learned three truths that possibly shaped my career:</p>
<ul>
<li>Breaking things isn’t fatal</li>
<li>The path forward often runs through mistakes</li>
<li>Self-reliance builds deeper understanding than following instructions</li>
</ul>
<p>In 1999, I entered the tech arena without formal education. There were no YouTube tutorials or Stack Overflow. Learning meant tinkering with HTML, JavaScript, and CSS until something worked.</p>
<p>This ‘constructive breaking’ mindset has carried me through multiple roles spanning development, management, and leadership. Without the identity anchor of formal credentials, I’ve never felt trapped in one specialty.</p>
<p>As generative AI increasingly writes code through simple natural language prompts, with tools like Lovable, Bolt, and Replit that can build entire websites and SaaS products, the most valuable skill won’t be expertise in syntax or current frameworks. It will be the courage to break things, the resilience to fix them, and the adaptability to understand what actually solves the problem at hand.</p>
<p>What we fear in the AI era isn’t just disappearing entry-level coding jobs, but the learning path they represent. If AI handles the ‘easy’ parts, how will developers grow? </p>
<p>The answer might be counterintuitive: we need more people willing to break AI’s output, question its solutions, and develop through deliberate experimentation. The junior role evolves from writing basic code to breaking sophisticated systems, creating a new and equally valuable learning path.</p>
<p>The future belongs to constructive breakers.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 01 Apr 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Strategic Serendipity </title>
                    <link>https://ahlstrom.info/see</link>
                    <description>It’s very easy connecting dots looking backwards. What made you successful and in which order. Connecting the dots going forward is what we call strategy. What often is lacking in strategy is the serendipity and leeway to pivot. Make room for tactics to alter the destination. The best strategies evolve with new information.</description>
                    <guid>https://ahlstrom.info/see</guid>
                      <content:encoded>
                            <![CDATA[<p>It’s very easy connecting dots looking backwards. What made you successful and in which order. </p>
<p>Connecting the dots going forward is what we call strategy. </p>
<p>What often is lacking in strategy is the serendipity and leeway to pivot. </p>
<p>Make room for tactics to alter the destination. The best strategies evolve with new information.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 31 Mar 2025 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Do the work</title>
                    <link>https://ahlstrom.info/do-the-work</link>
                    <description>Do the work to become the expert. Don’t wait for others. Don’t wait for completing the class, the book, the seminar. Do the work.</description>
                    <guid>https://ahlstrom.info/do-the-work</guid>
                      <content:encoded>
                            <![CDATA[<p>Do the work to become the expert. Don’t wait for others. Don’t wait for completing the class, the book, the seminar. Do the work.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 30 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>My Neighbor NFToro</title>
                    <link>https://ahlstrom.info/my-neighbor-nftoro</link>
                    <description>A few days ago I created Ghibli-style art with my kids using OpenAI’s upgraded image generator. “Make one of me” they asked with wide eyes. As perfect copies appeared with just a few words, I wondered: what makes an “original” anymore? This got me thinking about authenticity beyond copyright debates. When AI can create anything, how will we know who really made what? And then it hit me: Non-fungible token aka NFTs . Those blockchain certificates that crashed after their speculative bubble might...</description>
                    <guid>https://ahlstrom.info/my-neighbor-nftoro</guid>
                      <content:encoded>
                            <![CDATA[<p><img src="https://media.resonateswith.me/1743171645053-ml9ag3.png" alt="" title="My-neighbor-nftoro"></p>
<p>A few days ago I created Ghibli-style art with my kids using OpenAI’s upgraded image generator. “Make one of me” they asked with wide eyes.</p>
<p>As perfect copies appeared with just a few words, I wondered: what makes an “original” anymore?</p>
<p>This got me thinking about authenticity beyond copyright debates. When AI can create anything, how will we know who really made what?</p>
<p>And then it hit me: Non-fungible token aka NFTs . Those blockchain certificates that crashed after their speculative bubble might actually serve their intended purpose now. With greener blockchain solutions emerging, NFTs could finally become something useful: digital authenticity markers when we need them most.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 29 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Idea Hoarding</title>
                    <link>https://ahlstrom.info/idea-hoarding</link>
                    <description>People who guard their one big idea, fear they’ll never have another. This makes them stuck. Unable to discuss. Unable to move forward. Their minds become storage vaults rather than creative engines, just like when a midnight idea keeps you awake because you’re afraid to forget it.</description>
                    <guid>https://ahlstrom.info/idea-hoarding</guid>
                      <content:encoded>
                            <![CDATA[<p>People who guard their one big idea, fear they’ll never have another.</p>
<p>This makes them stuck. Unable to discuss. Unable to move forward.</p>
<p>Their minds become storage vaults rather than creative engines, just like when a midnight idea keeps you awake because you’re afraid to forget it.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 28 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Career Cycles</title>
                    <link>https://ahlstrom.info/career-cycles</link>
                    <description>When I started as a web developer there was a shortage of talent. You could learn, show your work, get hired. After the 2000 bubble burst, consistency and continuous learning kept careers alive. Today, people who can effectively prompt AI tools or integrate AI into workflows are finding opportunities—just like those who could build websites in 1998. You don’t need a PhD. Practical skills are what companies need. The pattern with AI is clear: shortage of skilled people now, then formal education...</description>
                    <guid>https://ahlstrom.info/career-cycles</guid>
                      <content:encoded>
                            <![CDATA[<p>When I started as a web developer there was a shortage of talent. You could learn, show your work, get hired. After the 2000 bubble burst, consistency and continuous learning kept careers alive.</p>
<p>Today, people who can effectively prompt AI tools or integrate AI into workflows are finding opportunities—just like those who could build websites in 1998. You don’t need a PhD. Practical skills are what companies need.</p>
<p>The pattern with AI is clear: shortage of skilled people now, then formal education later. Focus on using and learning, and you’ll be fine. Just as with web development before it.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 27 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Bells and whistles </title>
                    <link>https://ahlstrom.info/bells-and-whistles</link>
                    <description>If you have the right audience you don’t need bells and whistles. Focus on the content. Trust your audience to recognize what’s important without highlighting it for them.</description>
                    <guid>https://ahlstrom.info/bells-and-whistles</guid>
                      <content:encoded>
                            <![CDATA[<p>If you have the right audience you don’t need bells and whistles. Focus on the content.</p>
<p>Trust your audience to recognize what’s important without highlighting it for them.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 26 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Context and results</title>
                    <link>https://ahlstrom.info/context-and-results</link>
                    <description>When you manage the context, you manage the results. This is one of the most important aspects of developing with AI. When building frontend features that need an API, set clear expectations to and from the backend. Provide only what’s necessary, not everything. “If you wish to make an apple pie from scratch, you must first invent the universe.” - Carl Sagan</description>
                    <guid>https://ahlstrom.info/context-and-results</guid>
                      <content:encoded>
                            <![CDATA[<p>When you manage the context, you manage the results.</p>
<p>This is one of the most important aspects of developing with AI.</p>
<p>When building frontend features that need an API, set clear expectations to and from the backend. Provide only what’s necessary, not everything.</p>
<blockquote>
<p>“If you wish to make an apple pie from scratch, you must first invent the universe.” - Carl Sagan</p>
</blockquote>
]]>
                        </content:encoded>
                    <pubDate>Tue, 25 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The small ideas your boss really wants</title>
                    <link>https://ahlstrom.info/your-small-ideas</link>
                    <description>If you understand your organization, you’ll recognize the small ideas your leadership really wants. The ‘what if we could’ ideas. These are the ideas your boss or manager or owner wants to test but doesn’t dare ask for since it might be seen as micromanaging. This becomes especially valuable as companies grow beyond the size where owners can personally know everyone. Keep track of these ideas because they often surface in various projects. They’re leadership’s pet peeves and concepts that are...</description>
                    <guid>https://ahlstrom.info/your-small-ideas</guid>
                      <content:encoded>
                            <![CDATA[<p>If you understand your organization, you’ll recognize the small ideas your leadership really wants.</p>
<p>The ‘what if we could’ ideas.</p>
<p>These are the ideas your boss or manager or owner wants to test but doesn’t dare ask for since it might be seen as micromanaging.</p>
<p>This becomes especially valuable as companies grow beyond the size where owners can personally know everyone.</p>
<p>Keep track of these ideas because they often surface in various projects. They’re leadership’s pet peeves and concepts that are hard for them to ignore.</p>
<p>Try asking them directly: “Tell me about some ideas that you’ve had for our products that you think we need or should test?”</p>
<p>Remember that listening doesn’t always mean acting. Understanding these ideas gives you valuable insight even if you don’t implement them all. Sometimes leadership just wants to be heard not necessarily have every thought turned into a project.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 24 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Less brings clarity</title>
                    <link>https://ahlstrom.info/removing</link>
                    <description>I remember listening to a presentation by techno/drone/dub artist Andreas Tilliander. He told the story of how after an update of his MPC the displays had reversed the indicators of which sounds were playing and which were muted. He discovered this while performing on stage at a concert in Japan. The odd thing that happened was that the crowd went mental for the performance when he distilled the tracks to their most basic form. Sometimes we need less to be impactful.</description>
                    <guid>https://ahlstrom.info/removing</guid>
                      <content:encoded>
                            <![CDATA[<p>I remember listening to a presentation by techno/drone/dub artist Andreas Tilliander.</p>
<p>He told the story of how after an update of his MPC the displays had reversed the indicators of which sounds were playing and which were muted. He discovered this while performing on stage at a concert in Japan.</p>
<p>The odd thing that happened was that the crowd went mental for the performance when he distilled the tracks to their most basic form.</p>
<p>Sometimes we need less to be impactful.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 23 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Skills Then and Now</title>
                    <link>https://ahlstrom.info/young-and-old-skills</link>
                    <description>Past generations entered the workforce as blank slates learning everything on the job. Today’s graduates arrive armed with skills and experiences ready to deploy immediately. From social media expertise to video production to any digital online navigation. This creates different expectations about advancement speed and compensation that reflect our new reality.</description>
                    <guid>https://ahlstrom.info/young-and-old-skills</guid>
                      <content:encoded>
                            <![CDATA[<p>Past generations entered the workforce as blank slates learning everything on the job.</p>
<p>Today’s graduates arrive armed with skills and experiences ready to deploy immediately. From social media expertise to video production to any digital online navigation.</p>
<p>This creates different expectations about advancement speed and compensation that reflect our new reality.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 22 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Meet people where they are…</title>
                    <link>https://ahlstrom.info/meet-people-where-they-are</link>
                    <description>… then guide them to where you want them to be. This matters most in one on ones and small group workshops. Match their energy first, then lead them to your destination. Look at great performers and presenters. They rarely start cold. There’s usually an opening act or crowd work to set the mood. When you’re solo, you’ll need to do both parts: match their current state, then guide the change.</description>
                    <guid>https://ahlstrom.info/meet-people-where-they-are</guid>
                      <content:encoded>
                            <![CDATA[<p>… then guide them to where you want them to be.</p>
<p>This matters most in one on ones and small group workshops. Match their energy first, then lead them to your destination.</p>
<p>Look at great performers and presenters. They rarely start cold. There’s usually an opening act or crowd work to set the mood.</p>
<p>When you’re solo, you’ll need to do both parts: match their current state, then guide the change.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 21 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Yes, but and Yes, and</title>
                    <link>https://ahlstrom.info/yes-but-and-yes-and</link>
                    <description>There’s an improv technique where performers embrace a “yes and” spirit to keep stories flowing. Without it, scenes die quickly and become harder to continue. It’s not about literally saying the words but embodying the mindset. When performers hear something odd or unexpected, they adapt and build on it rather than blocking with “no” or “yes but.” This mindset works beyond improv. Whether in sales conversations, colleague discussions, or daily life, choosing “yes and” over “yes but” opens doors...</description>
                    <guid>https://ahlstrom.info/yes-but-and-yes-and</guid>
                      <content:encoded>
                            <![CDATA[<p>There’s an improv technique where performers embrace a “yes and” spirit to keep stories flowing. Without it, scenes die quickly and become harder to continue.</p>
<p>It’s not about literally saying the words but embodying the mindset. When performers hear something odd or unexpected, they adapt and build on it rather than blocking with “no” or “yes but.”</p>
<p>This mindset works beyond improv. Whether in sales conversations, colleague discussions, or daily life, choosing “yes and” over “yes but” opens doors instead of building walls. It shifts us from defensive reactions to constructive dialogue.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 20 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Don't get better at pretending</title>
                    <link>https://ahlstrom.info/dont-get-better-at-pretending</link>
                    <description>Maybe the solution to feeling like an impostor isn’t to get better at pretending. It’s to stop pretending altogether. Being a professional is always being an impostor, we always do things out of our comfort zone. Imagine if we spent that energy on the work instead of the performance.</description>
                    <guid>https://ahlstrom.info/dont-get-better-at-pretending</guid>
                      <content:encoded>
                            <![CDATA[<p>Maybe the solution to feeling like an impostor isn’t to get better at pretending. It’s to stop pretending altogether.</p>
<p>Being a professional is always being an impostor, we always do things out of our comfort zone.</p>
<p>Imagine if we spent that energy on the work instead of the performance.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 19 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Time, Energy and Money</title>
                    <link>https://ahlstrom.info/time-energy-and-money</link>
                    <description>People are not resources. Their time and energy is. Money is your third resource.</description>
                    <guid>https://ahlstrom.info/time-energy-and-money</guid>
                      <content:encoded>
                            <![CDATA[<p>People are not resources. Their time and energy is. Money is your third resource.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 18 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>We don't have enough bad ideas</title>
                    <link>https://ahlstrom.info/we-dont-have-enough-bad-ideas</link>
                    <description>Too often we chase perfection. We filter out the “bad” ideas before they see daylight, thinking we’re saving time. But innovation rarely comes from perfect ideas. It comes from collisions between different thoughts, good and bad alike. Think of it like improv: “yes, and…” We need more raw material to play with. More ideas to bounce around, even the “bad” ones.</description>
                    <guid>https://ahlstrom.info/we-dont-have-enough-bad-ideas</guid>
                      <content:encoded>
                            <![CDATA[<p>Too often we chase perfection. We filter out the “bad” ideas before they see daylight, thinking we’re saving time.</p>
<p>But innovation rarely comes from perfect ideas. It comes from collisions between different thoughts, good and bad alike.</p>
<p>Think of it like improv: “yes, and…” We need more raw material to play with. More ideas to bounce around, even the “bad” ones.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 17 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Nostalgia for a time when we only had one option</title>
                    <link>https://ahlstrom.info/nostalgia-for-a-time-when-we-only-had-one-option</link>
                    <description>We say it worked better when we were all in the same place. That we were more innovative. More in tune. But I think we’re nostalgic for a time when we didn’t have options. We could only have workshops together in conference rooms. That’s where everything happened. The aha moments. The breakthroughs. That correlation is what makes us think it was good. But it was the only thing we had.</description>
                    <guid>https://ahlstrom.info/nostalgia-for-a-time-when-we-only-had-one-option</guid>
                      <content:encoded>
                            <![CDATA[<p>We say it worked better when we were all in the same place. That we were more innovative. More in tune.</p>
<p>But I think we’re nostalgic for a time when we didn’t have options. We could only have workshops together in conference rooms.</p>
<p>That’s where everything happened. The aha moments. The breakthroughs.</p>
<p>That correlation is what makes us think it was good. But it was the only thing we had.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 16 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Innovation needs preparation more than planning</title>
                    <link>https://ahlstrom.info/innovation-needs-preparation-more-than-planning</link>
                    <description>I’m thinking a bit about preparing vs planning. Especially when it comes to building new things aka innovation. Planning can be rigid and lead us down specific paths. The idea of knowing the destination and just going along. Preparing is about setting the stage, building capabilities and staying flexible. 3M, the company behind every agile coach’s favorite accessory (the Post-it), prepares for innovation by giving employees 15% of their time to experiment and spot opportunities. One such...</description>
                    <guid>https://ahlstrom.info/innovation-needs-preparation-more-than-planning</guid>
                      <content:encoded>
                            <![CDATA[<p>I’m thinking a bit about preparing vs planning. Especially when it comes to building new things aka innovation.</p>
<p>Planning can be rigid and lead us down specific paths. The idea of knowing the destination and just going along.</p>
<p>Preparing is about setting the stage, building capabilities and staying flexible.</p>
<p>3M, the company behind every agile coach’s favorite accessory (the Post-it), prepares for innovation by giving employees 15% of their time to experiment and spot opportunities. One such opportunity was the failed adhesive experiment that lead to a somewhat sticky mess that made up the adhesive for post-its.</p>
<p>This approach to culture set the stage for innovation to emerge naturally rather than forcing it through rigid plans.</p>
<p>Another example is Design Sprints, a five day workshop that originated from Google Ventures which purpose is to verify a new idea. Planning handles the schedule, the five days and their structure. But the real magic comes from preparation: identifying the right challenge, finding the right people to interview, and selecting the right participants. Without proper preparation, even a perfectly planned sprint won’t lead to meaningful innovation.</p>
<p>While planning is crucial for execution, preparing is key for innovation.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 15 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Productivity is active choice not a reaction</title>
                    <link>https://ahlstrom.info/productivity-is-reducing-waste</link>
                    <description>Productivity isn’t about doing more. It’s about choosing what we do. When I watch a specific YouTuber playing games, I’m making an active choice. I know what I want. I pick the content. I enjoy the experience. But when I mindlessly swipe through reels or shorts, I’m just reacting. The algorithm chooses for me. I’m not in control. This is the difference between productivity and waste. Productivity happens when we actively choose. Waste happens when we passively react.</description>
                    <guid>https://ahlstrom.info/productivity-is-reducing-waste</guid>
                      <content:encoded>
                            <![CDATA[<p>Productivity isn’t about doing more. It’s about choosing what we do.</p>
<p>When I watch a specific YouTuber playing games, I’m making an active choice. I know what I want. I pick the content. I enjoy the experience.</p>
<p>But when I mindlessly swipe through reels or shorts, I’m just reacting. The algorithm chooses for me. I’m not in control.</p>
<p>This is the difference between productivity and waste. Productivity happens when we actively choose. Waste happens when we passively react.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 14 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>One tool to not rule them all</title>
                    <link>https://ahlstrom.info/one-tool-to-not-rule-them-all</link>
                    <description>AI in itself is not a silver bullet. Similar to software. We use one for music and a different for mail. We have plenty of different apps to achieve different outcomes.</description>
                    <guid>https://ahlstrom.info/one-tool-to-not-rule-them-all</guid>
                      <content:encoded>
                            <![CDATA[<p>AI in itself is not a silver bullet. </p>
<p>Similar to software. We use one for music and a different for mail.</p>
<p>We have plenty of different apps to achieve different outcomes.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 13 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Puzzle or Balance</title>
                    <link>https://ahlstrom.info/puzzle-or-balance</link>
                    <description>In Swedish we call the complicated task of living, working, being a parent, taking vacation, cleaning or meeting friends managing the life puzzle. Is puzzle really the best word for this? Would life balance be better? Puzzles have a tendency to be finished. But life puzzles will never be done. The only way it could be like a real puzzle is if someone keeps hiding pieces or dragging it to the floor.</description>
                    <guid>https://ahlstrom.info/puzzle-or-balance</guid>
                      <content:encoded>
                            <![CDATA[<p>In Swedish we call the complicated task of living, working, being a parent, taking vacation, cleaning or meeting friends managing the life puzzle.</p>
<p>Is puzzle really the best word for this? Would life balance be better?</p>
<p>Puzzles have a tendency to be finished. But life puzzles will never be done. The only way it could be like a real puzzle is if someone keeps hiding pieces or dragging it to the floor.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 12 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>AI Slop</title>
                    <link>https://ahlstrom.info/ai-slop</link>
                    <description>I really like the term Slop. One of those ideophonic words that feels like it means. AI Slop has become like a shorthand word to summarize quickly produced and often indistinguishable content that floods SoMe and you inbox with newsletters. In the 1500s and forward slop came to describe cheap and ready-made clothing and in 1800s it was associated with mass-produced, low-quality clothing produced by workers with little to no rights or regulations. Slop has always been about quantity over quality.</description>
                    <guid>https://ahlstrom.info/ai-slop</guid>
                      <content:encoded>
                            <![CDATA[<p>I really like the term <strong>Slop</strong>. One of those ideophonic words that feels like it means. </p>
<p><strong>AI Slop</strong> has become like a shorthand word to summarize quickly produced and often indistinguishable content that floods SoMe and you inbox with newsletters.</p>
<p>In the 1500s and forward slop came to describe cheap and ready-made clothing and in 1800s it was associated with mass-produced, low-quality clothing produced by workers with little to no rights or regulations.</p>
<p><strong>Slop</strong> has always been about quantity over quality. </p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 11 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Time your messages</title>
                    <link>https://ahlstrom.info/dive-bomb-into-slack</link>
                    <description>A good trait of a leader is to not go bonkers at all times every day. You might be full on, but your team is possibly not. Most chat and email tools have features to delay or schedule sending. Use it.</description>
                    <guid>https://ahlstrom.info/dive-bomb-into-slack</guid>
                      <content:encoded>
                            <![CDATA[<p>A good trait of a leader is to not go bonkers at all times every day. </p>
<p>You might be full on, but your team is possibly not. </p>
<p>Most chat and email tools have features to delay or schedule sending. Use it. </p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 10 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Scheduled writing</title>
                    <link>https://ahlstrom.info/scheduled-writing</link>
                    <description>One of the biggest habit changes is scheduling. I’ve seen such an improvement when I block time for tasks and ensure I’m ready to start immediately. Take making music for example. I don’t want to waste time setting up equipment. plugging everything in and opening apps before I can start creating. That’s too much friction. Instead pick a few key tools. Make them instantly available. Schedule your time and just go.</description>
                    <guid>https://ahlstrom.info/scheduled-writing</guid>
                      <content:encoded>
                            <![CDATA[<p>One of the biggest habit changes is scheduling. I’ve seen such an improvement when I block time for tasks and ensure I’m ready to start immediately.</p>
<p>Take making music for example. I don’t want to waste time setting up equipment. plugging everything in and opening apps before I can start creating.</p>
<p>That’s too much friction. Instead pick a few key tools. Make them instantly available. Schedule your time and just go.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 09 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Experiments</title>
                    <link>https://ahlstrom.info/experiments</link>
                    <description>When you treat everything as an experiment you give yourself permission to fail. And that’s exactly how we learn and grow.</description>
                    <guid>https://ahlstrom.info/experiments</guid>
                      <content:encoded>
                            <![CDATA[<p>When you treat everything as an experiment you give yourself permission to fail. And that’s exactly how we learn and grow.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 08 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Sunk cost and sequels</title>
                    <link>https://ahlstrom.info/sunk-cost-and-sequels</link>
                    <description>Sometime we use sunk cost as a reason to do a sequel in our movie called life.</description>
                    <guid>https://ahlstrom.info/sunk-cost-and-sequels</guid>
                      <content:encoded>
                            <![CDATA[<p>Sometime we use sunk cost as a reason to do a sequel in our movie called life.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 07 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Know when not to act</title>
                    <link>https://ahlstrom.info/know-when-not-to-act</link>
                    <description>Just because change happens fast doesn’t mean you need to match its pace. Stay focused on your core business. Everything else can wait. Sometimes the best move during rapid change is to sit still in your boat. Just keep watching the waters ahead so you know when it’s truly time to act. But don’t mistake patience for denial. When change affects your core business it’s time to move.</description>
                    <guid>https://ahlstrom.info/know-when-not-to-act</guid>
                      <content:encoded>
                            <![CDATA[<p>Just because change happens fast doesn’t mean you need to match its pace.</p>
<p>Stay focused on your core business. Everything else can wait.</p>
<p>Sometimes the best move during rapid change is to sit still in your boat. Just keep watching the waters ahead so you know when it’s truly time to act. </p>
<p>But don’t mistake patience for denial. When change affects your core business it’s time to move.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 06 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Doing is a flywheel</title>
                    <link>https://ahlstrom.info/doing-is-a-flywheel</link>
                    <description>You do not get better by not doing. Doing is a flywheel that creates momentum.</description>
                    <guid>https://ahlstrom.info/doing-is-a-flywheel</guid>
                      <content:encoded>
                            <![CDATA[<p>You do not get better by <u>not</u> doing. </p>
<p>Doing is a flywheel that creates momentum.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 05 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>How to be an active listener</title>
                    <link>https://ahlstrom.info/how-to-be-an-active-listener</link>
                    <description>Ask a question Wait until they completely stopped talking Wait a few seconds more Then think about all they have said Then respond Most listening fails around step 2.</description>
                    <guid>https://ahlstrom.info/how-to-be-an-active-listener</guid>
                      <content:encoded>
                            <![CDATA[<ol>
<li>Ask a question</li>
<li>Wait until they completely stopped talking</li>
<li>Wait a few seconds more</li>
<li>Then think about all they have said</li>
<li>Then respond</li>
</ol>
<p>Most listening fails around step 2.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 04 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Singer to SaaS</title>
                    <link>https://ahlstrom.info/singer-to-saas</link>
                    <description>In the mid-1800s, Isaac Singer made two changes that transformed an industry. He invented an affordable sewing machine and sold it with a payment plan. Workshops and individuals could now access technology previously limited to manufacturers. Within decades, thousands of small producers replaced the few professionals who had controlled the industry. We’re at a similar threshold for AI and software as a service (SaaS). The tools to build software are becoming more accessible every day. It makes...</description>
                    <guid>https://ahlstrom.info/singer-to-saas</guid>
                      <content:encoded>
                            <![CDATA[<p>In the mid-1800s, Isaac Singer made two changes that transformed an industry. He invented an affordable sewing machine and sold it with a payment plan. Workshops and individuals could now access technology previously limited to manufacturers. Within decades, thousands of small producers replaced the few professionals who had controlled the industry.</p>
<p>We’re at a similar threshold for AI and software as a service (SaaS). The tools to build software are becoming more accessible every day.</p>
<p>It makes creation possible for everyone. Small teams and individuals can now build tools in days and weeks instead of months and years. Technical complexity that once required years of experience and specialized knowledge is now simplified with AI that can write code, design interfaces, and implement features using natural language.</p>
<p>However, Singer’s sewing machines didn’t eliminate the need for basic sewing skills and AI tools won’t remove the requirement for basic tech knowledge. What changes is the barrier to entry.</p>
<p>Like Singer paved the way for thousands of at-home tailors, I predict thousands of specialized micro-SaaS products emerging at relatively low costs.</p>
<p>Established SaaS companies face a crucial tipping point. Will they become the Singer of the AI age, adapting their business models to this new reality?</p>
<p>History suggests that when barriers collapse, markets change permanently. We saw it with Kodak losing to digital cameras, Blockbuster missing out on streaming, and AltaVista bypassed by a single input field.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 03 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>No One Cares</title>
                    <link>https://ahlstrom.info/no-one-cares</link>
                    <description>So why not just do it even if it is subpar? Most people are too focused on themselves to notice you. Do it for yourself and for those who are actively looking for it. Be so good they can’t ignore you - Steve Martin But before that, remember no one cares about your first attempts. Your work is to keep showing up until they do.</description>
                    <guid>https://ahlstrom.info/no-one-cares</guid>
                      <content:encoded>
                            <![CDATA[<p>So why not just do it even if it is subpar?</p>
<p>Most people are too focused on themselves to notice you.</p>
<p>Do it for yourself and for those who are actively looking for it.</p>
<blockquote>
<p>Be so good they can’t ignore you - Steve Martin</p>
</blockquote>
<p>But before that, remember no one cares about your first attempts. Your work is to keep showing up until they do. </p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 02 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Taylor Swift, Cars and Bars</title>
                    <link>https://ahlstrom.info/taylor-swift-cars-and-bars</link>
                    <description>Taylor Swift’s lyrics often feature cars and bars. Fans probably spotted the pattern early but the rest of us found it after she became mega-successful and toured the world. There is something special with patterns that emerge and things that feel and sound good. Think about classic I, IV, and V chords that make up a lot of songs. The feelings is that you recognize it and feel comforted about it, and combined together with a familiar rhythm in the song, you feel complete. When you create...</description>
                    <guid>https://ahlstrom.info/taylor-swift-cars-and-bars</guid>
                      <content:encoded>
                            <![CDATA[<p>Taylor Swift’s lyrics often feature cars and bars. Fans probably spotted the pattern early but the rest of us found it after she became mega-successful and toured the world. </p>
<p>There is something special with patterns that emerge and things that feel and sound good. Think about classic I, IV, and V chords that make up a lot of songs. The feelings is that you recognize it and feel comforted about it, and combined together with a familiar rhythm in the song, you feel complete.</p>
<p>When you create something that feels out of your comfort zone, you don’t follow patterns you are used to. You go with your own tune with your own beat. And this is a power when it comes to being the new kid on the block.</p>
<p>You don’t need to follow the ways of big successful organizations. They’ve found one way and often stick with it. Patterns and behaviours that become chains that make change much harder.</p>
<p>New companies bring a fresh view. A clear vision that isn’t watered down by inner politics and competing priorities within big companies.</p>
<p>They can pivot quickly. Try new things. Change their vision voice and tone in an instant.</p>
<p>That’s the superpower of new businesses.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 01 Mar 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>We tend to invent new jobs when others go away</title>
                    <link>https://ahlstrom.info/we-tend-to-invent-new-jobs-when-others-go-away</link>
                    <description>Our grandparents probably couldn’t have imagined someone making a living as: a YouTuber influencer gamer social media expert lifestyle entrepreneur prompt engineer e-sports team coach digital estate planner AI might remove a lot of jobs, but we will most possibly invent new ones, just like we always have.</description>
                    <guid>https://ahlstrom.info/we-tend-to-invent-new-jobs-when-others-go-away</guid>
                      <content:encoded>
                            <![CDATA[<p>Our grandparents probably couldn’t have imagined someone making a living as:</p>
<ul>
<li>a YouTuber</li>
<li>influencer</li>
<li>gamer</li>
<li>social media expert</li>
<li>lifestyle entrepreneur</li>
<li>prompt engineer</li>
<li>e-sports team coach</li>
<li>digital estate planner</li>
</ul>
<p>AI might remove a lot of jobs, but we will most possibly invent new ones, just like we always have.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 28 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Influence is a recipe</title>
                    <link>https://ahlstrom.info/influence-is-a-recipe</link>
                    <description>Influence is a recipe: Mix steady voice control with relaxed body language. Add engaging stories and genuine listening. Your result: shaping thoughts, emotions, actions and beliefs.</description>
                    <guid>https://ahlstrom.info/influence-is-a-recipe</guid>
                      <content:encoded>
                            <![CDATA[<p>Influence is a recipe: Mix steady voice control with relaxed body language. Add engaging stories and genuine listening. </p>
<p>Your result: shaping thoughts, emotions, actions and beliefs.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 27 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The imposter signal</title>
                    <link>https://ahlstrom.info/the-imposter-signal</link>
                    <description>One somewhat paradoxical signal is that imposter syndrome signals growth. It’s not exclusive to juniors. Even longtime leaders show this. Second-guess themselves and feel like fakes.</description>
                    <guid>https://ahlstrom.info/the-imposter-signal</guid>
                      <content:encoded>
                            <![CDATA[<p>One somewhat paradoxical signal is that imposter syndrome signals growth.</p>
<p>It’s not exclusive to juniors. Even longtime leaders show this. Second-guess themselves and feel like fakes.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 26 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>AI needs clarity</title>
                    <link>https://ahlstrom.info/ai-needs-clarity</link>
                    <description>Without a clear mental model of how a system works and what to ask, AI tools become more obstacle than help. It’s like trying to have a conversation when you’re not sure what language the other person speaks.</description>
                    <guid>https://ahlstrom.info/ai-needs-clarity</guid>
                      <content:encoded>
                            <![CDATA[<p>Without a clear mental model of how a system works and what to ask, AI tools become more obstacle than help. </p>
<p>It’s like trying to have a conversation when you’re not sure what language the other person speaks.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 25 Feb 2025 00:00:00 GMT</pubDate>
                </item><item>
                    <title>Roxanne, Police and mistakes</title>
                    <link>https://ahlstrom.info/roxanne-police-and-mistakes</link>
                    <description>At the start of “Roxanne”, Sting accidentally sat on a piano creating an odd chord followed by laughter. Instead of removing it The Police kept it in the final recording. It became one of those perfect imperfect moments. Embracing the flaws is the best way to hide the flaws. Because then the flaws become the signature. - Venus Theory This reminds me of my first Fallout 4 playthrough. I tried to make my character equally good at everything. Just like when I became an engineering manager and saw...</description>
                    <guid>https://ahlstrom.info/roxanne-police-and-mistakes</guid>
                      <content:encoded>
                            <![CDATA[<p>At the start of “Roxanne”, Sting accidentally sat on a piano creating an odd chord followed by laughter. Instead of removing it The Police kept it in the final recording. It became one of those perfect imperfect moments.</p>
<blockquote>
<p>Embracing the flaws is the best way to hide the flaws. Because then the flaws become the signature. - Venus Theory</p>
</blockquote>
<p>This reminds me of my first Fallout 4 playthrough. I tried to make my character equally good at everything. Just like when I became an engineering manager and saw that skill matrix spider web. I automatically assumed I needed to max out every area.</p>
<p>But here’s the thing: being average at everything isn’t as valuable as being exceptional at specific things. Some of our “flaws” are just areas we’ve chosen not to prioritize. And that’s okay.</p>
<p>Like that piano chord in Roxanne sometimes our mistakes and imperfections become our signature. Our strength isn’t in being flawless. It’s in owning the mistakes and the imperfections.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 24 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>One Solution to Effective Group Learning</title>
                    <link>https://ahlstrom.info/one-solution-to-effective-group-learning</link>
                    <description>At Spotify I worked a bit on the Alexa speakers and had meetings with Amazon. This is where I first learned about the “silent meetings” structure that Amazon had. They usually began with someone having written a document on the topic, different viewpoints, and a possible way forward. The first 10-15 minutes of the meeting went into reading this document. And once everyone was literally on the same page, the meetings started. The discussions were engaging, and everyone was focusing on solving...</description>
                    <guid>https://ahlstrom.info/one-solution-to-effective-group-learning</guid>
                      <content:encoded>
                            <![CDATA[<p>At Spotify I worked a bit on the Alexa speakers and had meetings with Amazon. This is where I first learned about the “silent meetings” structure that Amazon had. They usually began with someone having written a document on the topic, different viewpoints, and a possible way forward. The first 10-15 minutes of the meeting went into reading this document. And once everyone was literally on the same page, the meetings started. The discussions were engaging, and everyone was focusing on solving the same problems.</p>
<p>There are key parallels between Amazon’s silent meetings and the flipped classroom model: both rely on everyone starting with the same information before discussion begins. When done right teachers become coaches guiding students through shared material rather than lecturers delivering new content.</p>
<p>When I’ve experienced a working flipped classroom, it has been all about the “silent reading” part. The students all started from the same baseline when it came to the information. They worked together in small groups summarizing it, then shared with a bigger group about what they learned.</p>
<p>This is often when I’ve seen the flipped classroom break. Instead of having the same baseline, each group has had a different set of topics and areas they should summarize and teach to the rest of the group. Effectively they’ve switched from an experienced teacher to an amateur teacher, and they’ve only learned the topics they themselves have discussed. The method works best when it builds on shared understanding rather than dividing the learning experience.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 23 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The cost of developing something yourself</title>
                    <link>https://ahlstrom.info/the-cost-of-developing-something-yourself</link>
                    <description>Sometimes I get the question about build vs buy. Don’t get me wrong, I’m a developer by heart and I’d always pick build. But as a manager or leader I most often pick buy. The equation rarely adds up when you build something that’s not part of your core business. Unless your core business is faced with a tight budget. And by equation I mean time. Hours spent building, making it better, bug-fixing, upgrading, new feature, planning, sorting, prioritizing it, knowledge sharing.</description>
                    <guid>https://ahlstrom.info/the-cost-of-developing-something-yourself</guid>
                      <content:encoded>
                            <![CDATA[<p>Sometimes I get the question about build vs buy. Don’t get me wrong, I’m a developer by heart and I’d always pick build. </p>
<p>But as a manager or leader I most often pick buy.</p>
<p>The equation rarely adds up when you build something that’s not part of your core business. Unless your core business is faced with a tight budget.</p>
<p>And by equation I mean time. Hours spent building, making it better, bug-fixing, upgrading, new feature, planning, sorting, prioritizing it, knowledge sharing.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 22 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Blindspots in customer feedback</title>
                    <link>https://ahlstrom.info/blind-spot-in-only-listening-to-customer-complaints</link>
                    <description>Think of customer feedback as two distinct signals. One is complaint-driven insights about why people leave. The other is a silent signal that explains why people stay and remain loyal. When looking at complaints and help requests you’ll only capture the minority of vocal customers. But your satisfied users might have the key insights to what makes your product worthwhile. Your loyal users often value something completely different from what complaining customers expect. Value alignment over...</description>
                    <guid>https://ahlstrom.info/blind-spot-in-only-listening-to-customer-complaints</guid>
                      <content:encoded>
                            <![CDATA[<p>Think of customer feedback as two distinct signals. One is complaint-driven insights about why people leave. The other is a silent signal that explains why people stay and remain loyal.</p>
<p>When looking at complaints and help requests you’ll only capture the minority of vocal customers. But your satisfied users might have the key insights to what makes your product worthwhile. Your loyal users often value something completely different from what complaining customers expect.</p>
<p>Value alignment over problem resolution.</p>
<p>You might have a bug in the product but you might also have the wrong customer.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 21 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Consensus to Consent</title>
                    <link>https://ahlstrom.info/consensus-to-consent</link>
                    <description>With consensus everyone must say yes. With consent no one says no. I remember when we introduced this at Spotify. Leadership felt it took way too long to make decisions - almost like paralysis by analysis. But once understood it was a fairly simple shift to get teams moving faster. There are very few decisions we can’t reverse if they fail. Consent helps us move quickly toward either failure or success. Continuing to analyze and second guess rarely moves us forward. One challenge with consent...</description>
                    <guid>https://ahlstrom.info/consensus-to-consent</guid>
                      <content:encoded>
                            <![CDATA[<p>With consensus everyone must say yes. With consent no one says no.</p>
<p>I remember when we introduced this at Spotify. Leadership felt it took way too long to make decisions - almost like paralysis by analysis. But once understood it was a fairly simple shift to get teams moving faster.</p>
<p>There are very few decisions we can’t reverse if they fail. Consent helps us move quickly toward either failure or success. Continuing to analyze and second guess rarely moves us forward.</p>
<p>One challenge with consent is that someone needs to make a stand. If discussions are endless then it might not be consent that’s lacking. It might be that no one cares strongly enough to put a stake in the ground. Or worse it might be a sign that no one feels psychologically safe to make a mistake.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 20 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Less Noise, More Signal (Part 2)</title>
                    <link>https://ahlstrom.info/less-noise-more-signal-part-2</link>
                    <description>One pattern I see is that we approach all AI with a similar mindset, an industrial mindset that focuses on production metrics and output targets. While AI excels at production, Generative AI’s real value might lie in distillation and discovery. Think of it as a lens for spotting connections and extracting insights rather than a factory churning out content. Earlier AI focused on clear tasks (recognize this, predict that, sort these) and it was easy to measure if the results were better. But...</description>
                    <guid>https://ahlstrom.info/less-noise-more-signal-part-2</guid>
                      <content:encoded>
                            <![CDATA[<p>One pattern I see is that we approach all AI with a similar mindset, an industrial mindset that focuses on production metrics and output targets. While AI excels at production, Generative AI’s real value might lie in distillation and discovery. </p>
<p>Think of it as a lens for spotting connections and extracting insights rather than a factory churning out content.</p>
<p>Earlier AI focused on clear tasks (recognize this, predict that, sort these) and it was easy to measure if the results were better. </p>
<p>But generative AI opens new possibilities for exploration and creativity. Yet we measure it with industrial era metrics and we see it in all benchmarks that the Generative AI companies share when they release a new model.</p>
<p>The power isn’t in producing more, but in helping us see different angles and uncover unexpected patterns. Quality over quantity. Insight over output.</p>
<p>The question shifts from ‘How can we create more?’ to ‘How can we discover better?’&quot;</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 19 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Lazy Creatives</title>
                    <link>https://ahlstrom.info/lazy-creatives</link>
                    <description>I’m fascinated by us “lazy creatives.” We dive so deep into planning that we never actually create. We research endlessly. Buy the perfect tools. Watch countless tutorials. Right now I’m guilty of this with music. I’m setting up the perfect Ableton Live set. Buying gear. Watching performance videos. Even coding custom tools to make it “better.” Have I made any actual music yet? Nope. Bad art teaches you more than perfect planning ever will. Here’s the truth though: Bad art teaches you more than...</description>
                    <guid>https://ahlstrom.info/lazy-creatives</guid>
                      <content:encoded>
                            <![CDATA[<p>I’m fascinated by us “lazy creatives.” We dive so deep into planning that we never actually create. We research endlessly. Buy the perfect tools. Watch countless tutorials.</p>
<p>Right now I’m guilty of this with music. I’m setting up the perfect Ableton Live set. Buying gear. Watching performance videos. Even coding custom tools to make it “better.”</p>
<p>Have I made any actual music yet? Nope.</p>
<blockquote>
<p>Bad art teaches you more than perfect planning ever will.</p>
</blockquote>
<p>Here’s the truth though: Bad art teaches you more than perfect planning ever will. </p>
<p>Maybe instead of trying to get everything right we should just create something terrible on purpose. Make that awful track. Write that horrible story. Take those bad photos.</p>
<p>Because really. What’s braver? Having the perfect plan or actually making something?</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 18 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Bring clarity to your thoughts and ideas</title>
                    <link>https://ahlstrom.info/bring-clarity-to-your-thoughts-and-ideas</link>
                    <description>Ever notice how some of your best ideas or solutions come while explaining something out loud? Just rambling out loud until something clicks? Rubber-ducking your way forward. Most people stick to either talking or writing when processing thoughts. But you might get better results in combining the spontaneity in verbal processing and the structure of written words Start talking. Let yourself ramble on a topic without filters. Just let the ideas tumble out. Then bring it to AI. It captures your...</description>
                    <guid>https://ahlstrom.info/bring-clarity-to-your-thoughts-and-ideas</guid>
                      <content:encoded>
                            <![CDATA[<p>Ever notice how some of your best ideas or solutions come while explaining something out loud? Just rambling out loud until something clicks? Rubber-ducking your way forward.</p>
<p>Most people stick to either talking or writing when processing thoughts. But you might get better results in combining the spontaneity in verbal processing and the structure of written words</p>
<p><strong>Start talking.</strong> Let yourself ramble on a topic without filters. Just let the ideas tumble out.</p>
<p><strong>Then bring it to AI.</strong> It captures your ramblings and reflects them back in text form. No judgment. No interruptions.</p>
<p>Now read the response. This is where scattered thoughts begin to make sense. Reading slows your brain down. Helps you spot patterns in your own ramblings.</p>
<p>It’s like having two thinking modes: creative outpour and thoughtful reflection. Your brain needs both to turn raw thoughts into clear ideas.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 17 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Ideas become the new currency</title>
                    <link>https://ahlstrom.info/ideas-become-the-new-currency</link>
                    <description>The AI revolution in video creation has me excited. It’s wild to think how storyboarding will evolve. Directors sitting at their desks saying “I want a moody scene. Start with a low angle shot that slowly pans up to reveal a cityscape at dawn.” And then uses AI powered tools to create it. Sharing vision becomes easier. Instead of struggling to explain what’s in your head you can show it. “Here’s the vibe I want” becomes a starting point not hours of back and forth. Creating becomes less about...</description>
                    <guid>https://ahlstrom.info/ideas-become-the-new-currency</guid>
                      <content:encoded>
                            <![CDATA[<p>The AI revolution in video creation has me excited. It’s wild to think how storyboarding will evolve.</p>
<p>Directors sitting at their desks saying “I want a moody scene. Start with a low angle shot that slowly pans up to reveal a cityscape at dawn.” And then uses AI powered tools to create it.</p>
<p>Sharing vision becomes easier. Instead of struggling to explain what’s in your head you can show it. “Here’s the vibe I want” becomes a starting point not hours of back and forth.</p>
<p>Creating becomes less about technical skills and more about creativity. We’ll spend less time figuring out how to make something and more time deciding what stories need to be told.</p>
<p>Think of Harvey Pekar before he met R. Crumb. Amazing comic ideas trapped in his head because he couldn’t draw. Soon that barrier between imagination and creation disappears.</p>
<p>The tools are becoming easier. The ideas will become everything.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 16 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Path of most comfortable </title>
                    <link>https://ahlstrom.info/path-of-most-comfortable</link>
                    <description>Alternative to estimates: do the most important thing until either it ships or it is no longer the most important thing. - Kent Beck The challenge comes in knowing which thing is the most important thing. Similar to path of least resistance where water naturally flows downhill taking the easiest route. We tend to pick the things that are easier or use less time. Most often we pick the path of most comfortable.</description>
                    <guid>https://ahlstrom.info/path-of-most-comfortable</guid>
                      <content:encoded>
                            <![CDATA[<blockquote>
<p>Alternative to estimates: do the most important thing until either it ships or it is no longer the most important thing. - Kent Beck</p>
</blockquote>
<p>The challenge comes in knowing which thing is the most important thing. Similar to path of least resistance where water naturally flows downhill taking the easiest route. We tend to pick the things that are easier or use less time. </p>
<p>Most often we pick the path of most comfortable.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 15 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The Internet Never Forgets</title>
                    <link>https://ahlstrom.info/the-internet-never-forgets</link>
                    <description>There is one rule you should never forget: Everything is saved on the internet. Let me share a recent example. A company decided to use a shared ChatGPT account to save money. One day. the owner started a new chat with the topic “How to fire people”. This was visible to everyone using that account. Even though you think a service is secure. moving data anywhere online means it can end up in the wrong hands. Your “deleted” content lives on in endless iterations as backups. archives. and...</description>
                    <guid>https://ahlstrom.info/the-internet-never-forgets</guid>
                      <content:encoded>
                            <![CDATA[<p>There is one rule you should never forget: <strong>Everything is saved on the internet.</strong></p>
<p>Let me share a recent example. A company decided to use a shared ChatGPT account to save money. One day. the owner started a new chat with the topic “How to fire people”. This was visible to everyone using that account.</p>
<p>Even though you think a service is secure. moving data anywhere online means it can end up in the wrong hands. Your “deleted” content lives on in endless iterations as backups. archives. and screenshots.</p>
<p>And when you’re using shared accounts? The risks multiply. Your private information becomes accessible to everyone with access.</p>
<p>Always remember: Nothing is truly private online.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 14 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Questions for your robots</title>
                    <link>https://ahlstrom.info/questions-for-your-ge</link>
                    <description>Want to write powerful questions for ChatGPT and its counterpart, the humans? Focus on four things: construct, scope, assumptions, and reduction. Construct “What”, “How”, and “Tell” are excellent question starters that can help with reflective thinking. “Why”, “Who”, “When” limit our responses. Scope Ask from the point of view that you must take, be it a stakeholder or your own. Assumptions In many great questions, there are inherent assumptions, make sure that you know yours and how to use...</description>
                    <guid>https://ahlstrom.info/questions-for-your-ge</guid>
                      <content:encoded>
                            <![CDATA[<p>Want to write powerful questions for ChatGPT and its counterpart, the humans?</p>
<p>Focus on four things: construct, scope, assumptions, and reduction.</p>
<p><strong>Construct</strong> “What”, “How”, and “Tell” are excellent question starters that can help with reflective thinking. “Why”, “Who”, “When” limit our responses.</p>
<p><strong>Scope</strong> Ask from the point of view that you must take, be it a stakeholder or your own.</p>
<p><strong>Assumptions</strong> In many great questions, there are inherent assumptions, make sure that you know yours and how to use them for benefit.</p>
<p><strong>Reduction</strong> Do you want to reduce the output or response that you get? Example: “Tell me about yourself” vs “Tell me your three favourite movies, growing up”</p>
<p>Friendly reminder: answers can be strange, odd, and bad.</p>
<blockquote>
<p>Every answer is someone’s interpretation of the truth. A question is a desire to understand that truth. - Darko Vukovic</p>
</blockquote>
]]>
                        </content:encoded>
                    <pubDate>Thu, 13 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>One of the dozen problems</title>
                    <link>https://ahlstrom.info/one-of-the-dozen-problems</link>
                    <description>I really like Richard Feynman’s idea of having a dozen problems that you actively search for answers to. Then whenever you learn something new, you can test it against these problems. One of my problems is “What can you focus on as engineering manager if you can no longer scale? Is it only faster, cheaper, reduction of complexity? Or perhaps quality improvements, developer experience, system reliability, or team capabilities?”</description>
                    <guid>https://ahlstrom.info/one-of-the-dozen-problems</guid>
                      <content:encoded>
                            <![CDATA[<p>I really like Richard Feynman’s idea of having a dozen problems that you actively search for answers to. Then whenever you learn something new, you can test it against these problems.</p>
<p>One of my problems is “What can you focus on as engineering manager if you can no longer scale? Is it only faster, cheaper, reduction of complexity? Or perhaps quality improvements, developer experience, system reliability, or team capabilities?”</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 12 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Sunset Perspective</title>
                    <link>https://ahlstrom.info/sunset-perspective</link>
                    <description>Do you recall the last time you took a picture of a sunset? Unless you are a professional photographer it probably looked terrible on your phone. Building your own products can feel the same way. We judge their external polished front with how our messy process, discussions or iterations feel.</description>
                    <guid>https://ahlstrom.info/sunset-perspective</guid>
                      <content:encoded>
                            <![CDATA[<p>Do you recall the last time you took a picture of a sunset? Unless you are a professional photographer it probably looked terrible on your phone.</p>
<p>Building your own products can feel the same way. We judge their external polished front with how our messy process, discussions or iterations feel.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 11 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Generative AI is the Late Night Think Tanks</title>
                    <link>https://ahlstrom.info/generative-ai-is-the-modern-think-tanks</link>
                    <description>It’s for all those people that have nowhere or no one to talk to about their deep thinking. To test their ideas. While it can’t replace human creativity, it stands ready as a patient analytical partner whenever inspiration strikes.</description>
                    <guid>https://ahlstrom.info/generative-ai-is-the-modern-think-tanks</guid>
                      <content:encoded>
                            <![CDATA[<p>It’s for all those people that have nowhere or no one to talk to about their deep thinking. To test their ideas. While it can’t replace human creativity, it stands ready as a patient analytical partner whenever inspiration strikes.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 10 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Understand the complete picture</title>
                    <link>https://ahlstrom.info/understand-the-complete-picture</link>
                    <description>Good decisions come from understanding the whole business. Learn your operations. Study your finances. Know your culture. This knowledge shapes better choices.</description>
                    <guid>https://ahlstrom.info/understand-the-complete-picture</guid>
                      <content:encoded>
                            <![CDATA[<p>Good decisions come from understanding the whole business. Learn your operations. Study your finances. Know your culture. This knowledge shapes better choices.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 09 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Start with a spark</title>
                    <link>https://ahlstrom.info/start-with-a-spark</link>
                    <description>The first idea is just a spark. Through iteration. Through persistence. Through pure stubbornness. That’s how you turn a tiny spark into a fire.</description>
                    <guid>https://ahlstrom.info/start-with-a-spark</guid>
                      <content:encoded>
                            <![CDATA[<p>The first idea is just a spark.</p>
<p>Through iteration. Through persistence. Through pure stubbornness. </p>
<p>That’s how you turn a tiny spark into a fire.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 08 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Vocabulary and taste</title>
                    <link>https://ahlstrom.info/vocabulary-and-taste</link>
                    <description>We need to master languages for the future. Not just any language. The language to be clear with machines and humans. Think about making an app. You need words to explain views. Canvas. Navigation. When you talk to AI you can’t just say “make me a game”. You need to say “I want a browser game for phones. With a high score list that works like this”. That is vocabulary. But soon everyone will know these words. Everyone will generate apps and games. That is when taste becomes important. Anyone...</description>
                    <guid>https://ahlstrom.info/vocabulary-and-taste</guid>
                      <content:encoded>
                            <![CDATA[<p>We need to master languages for the future. Not just any language. The language to be clear with machines and humans.</p>
<p>Think about making an app. You need words to explain views. Canvas. Navigation. When you talk to AI you can’t just say “make me a game”. You need to say “I want a browser game for phones. With a high score list that works like this”.</p>
<p>That is vocabulary. But soon everyone will know these words. Everyone will generate apps and games. That is when taste becomes important.</p>
<p>Anyone can make a game today. But making something that feels good. That is different. That takes taste.</p>
<p>Vocabulary lets you tell the machine what to build. Taste lets you make it worth building.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 07 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Less is More</title>
                    <link>https://ahlstrom.info/less-is-more</link>
                    <description>Less is more means doing more with less. Focus on a few things and master them completely.</description>
                    <guid>https://ahlstrom.info/less-is-more</guid>
                      <content:encoded>
                            <![CDATA[<p>Less is more means doing more with less.</p>
<p>Focus on a few things and master them completely.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 06 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Estimates vs Appetite in Knowledge Work</title>
                    <link>https://ahlstrom.info/estimates-vs-appetite-in-knowledge-work</link>
                    <description>I’ve struggled with estimates for years. We’re asked “how long will this take?” as if we’re building something we’ve built before. But in product development we’re creating something new every time, within the constraints of our tech stack, frameworks, and past decisions. Many teams are starting to talk about appetite instead of estimates. It changes everything about how we approach the work. Instead of “can we build exactly this?” we ask “what’s the best we can build in the time this is...</description>
                    <guid>https://ahlstrom.info/estimates-vs-appetite-in-knowledge-work</guid>
                      <content:encoded>
                            <![CDATA[<p>I’ve struggled with estimates for years.</p>
<p>We’re asked “how long will this take?” as if we’re building something we’ve built before. But in product development we’re creating something new every time, within the constraints of our tech stack, frameworks, and past decisions.</p>
<p>Many teams are starting to talk about appetite instead of estimates. It changes everything about how we approach the work. Instead of “can we build exactly this?” we ask “what’s the best we can build in the time this is worth?”</p>
<p>To get to a meaningful appetite:</p>
<ul>
<li>Start by understanding the problem you want to solve</li>
<li>Know why it matters now</li>
<li>Be clear about desired outcomes</li>
<li>Decide what investment makes sense</li>
</ul>
<p>Then bring all of this context to your team. Let them understand not just the time box. But the why. Because an appetite isn’t a time constraint. It’s a value decision about how much of your company’s resources should focus on this solution.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 05 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Expectation and disagreements</title>
                    <link>https://ahlstrom.info/expectation-and-disagreements</link>
                    <description>Problems start when what you expect doesn’t match what actually happens. Be explicit of what you expect and make sure you understand what is expected. When conflict arise, take a step back and check if it is simply a case of different expectations. I’ve often seen disagreements that are just people working from different assumptions.</description>
                    <guid>https://ahlstrom.info/expectation-and-disagreements</guid>
                      <content:encoded>
                            <![CDATA[<p>Problems start when what you expect doesn’t match what actually happens.</p>
<p>Be explicit of what you expect and make sure you understand what is expected.</p>
<p>When conflict arise, take a step back and check if it is simply a case of different expectations. I’ve often seen disagreements that are just people working from different assumptions.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 04 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The Prototype Paradox</title>
                    <link>https://ahlstrom.info/iteration-vs-no</link>
                    <description>People are more likely to reject a polished final product than suggest changes to it. But they’re far more comfortable giving feedback on a rough draft or prototype.</description>
                    <guid>https://ahlstrom.info/iteration-vs-no</guid>
                      <content:encoded>
                            <![CDATA[<p>People are more likely to reject a polished final product than suggest changes to it.</p>
<p>But they’re far more comfortable giving feedback on a rough draft or prototype.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 03 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Ask for feedback</title>
                    <link>https://ahlstrom.info/ask-for-feedback</link>
                    <description>How can you not have a shrink? This is Manhattan. Even the shrinks have shrinks. I have three. […] one for when I want to be cuddled, one for when I want tough love and one for when I want to look at a beautiful man. - Stanford (Sex And The City) When you ask for feedback you should be clear about what kind of feedback you need. If you have written a post, do you want feedback on the punctuation, spelling or commas. Or do you want feedback on the order of things, if the story flows, does the...</description>
                    <guid>https://ahlstrom.info/ask-for-feedback</guid>
                      <content:encoded>
                            <![CDATA[<blockquote>
<p>How can you not have a shrink? This is Manhattan. Even the shrinks have shrinks. I have three. […] one for when I want to be cuddled, one for when I want tough love and one for when I want to look at a beautiful man. - Stanford (Sex And The City)</p>
</blockquote>
<p>When you ask for feedback you should be clear about what kind of feedback you need. </p>
<p>If you have written a post, do you want feedback on the punctuation, spelling or commas. Or do you want feedback on the order of things, if the story flows, does the order make sense. </p>
<p>Think about this when you ask for feedback. What do you want to improve, then sit back and enjoy. Some of the feedback will be hard. Some will be inspiring. Some will be important. Others you can ignore. </p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 02 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Dead Internet Theory</title>
                    <link>https://ahlstrom.info/dead-internet-theory</link>
                    <description>The concept of Dead Internet Theory is intriguing for me. The idea that bots will influence what is important so that other bots will make content that focuses on those bots behavior. It creates a bizarre ecosystem where AI systems essentially talk to each other, generating more online activity than actual human users ever could.</description>
                    <guid>https://ahlstrom.info/dead-internet-theory</guid>
                      <content:encoded>
                            <![CDATA[<p>The concept of Dead Internet Theory is intriguing for me. </p>
<p>The idea that bots will influence what is important so that other bots will make content that focuses on those bots behavior.</p>
<p>It creates a bizarre ecosystem where AI systems essentially talk to each other, generating more online activity than actual human users ever could.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 01 Feb 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Stop Losing Ideas to Complex Apps</title>
                    <link>https://ahlstrom.info/stop-losing-ideas-to-complex-apps</link>
                    <description>When it comes to expression and creativity, you need to use the simplest app. Any friction when you try to capture those “hard to create” ideas is lost the moment between “Enter App. Wait. Ohh where do I add a new…”. You just need to sprint in capturing those ideas. Always have a paper close, a shortcut to open your notes app, a button press away to record your ideas. Teach your brain that ideas are important and that it can trust that the ideas it creates will end up somewhere.</description>
                    <guid>https://ahlstrom.info/stop-losing-ideas-to-complex-apps</guid>
                      <content:encoded>
                            <![CDATA[<p>When it comes to expression and creativity, you need to use the simplest app.</p>
<p>Any friction when you try to capture those “hard to create” ideas is lost the moment between “Enter App. Wait. Ohh where do I add a new…”.</p>
<p>You just need to sprint in capturing those ideas.</p>
<p>Always have a paper close, a shortcut to open your notes app, a button press away to record your ideas.</p>
<p>Teach your brain that ideas are important and that it can trust that the ideas it creates will end up somewhere.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 31 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Playing today or Planning tomorrow?</title>
                    <link>https://ahlstrom.info/playing-today-or-planning-tomorrow</link>
                    <description>You cannot make strategic decisions based on how the competition looks. You can make tactical decisions. Tactics is winning today. Strategy is winning the tomorrow.</description>
                    <guid>https://ahlstrom.info/playing-today-or-planning-tomorrow</guid>
                      <content:encoded>
                            <![CDATA[<p>You cannot make strategic decisions based on how the competition looks. You can make tactical decisions.</p>
<p>Tactics is winning today. Strategy is winning the tomorrow.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 30 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Nothing is free with AI</title>
                    <link>https://ahlstrom.info/nothing-is-free-with-ai</link>
                    <description>It can improve on existing process. But there is nothing free. If it is content we want, it can make it faster. It can create but not approve. It is not a money machine.</description>
                    <guid>https://ahlstrom.info/nothing-is-free-with-ai</guid>
                      <content:encoded>
                            <![CDATA[<p>It can improve on existing process. But there is nothing free. If it is content we want, it can make it faster. <br>
It can create but not approve. It is not a money machine.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 29 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Trust is built in tiny moments</title>
                    <link>https://ahlstrom.info/trust-is-built-in-tiny-moments</link>
                    <description>Trust isn’t built through superhero moments. It’s earned in small gestures. You build trust by being present when someone needs you. It happens when you ask how they’re doing. When you listen. When you remember what they shared. These tiny moments add up. They matter more than any grand gesture ever could.</description>
                    <guid>https://ahlstrom.info/trust-is-built-in-tiny-moments</guid>
                      <content:encoded>
                            <![CDATA[<p>Trust isn’t built through superhero moments. It’s earned in small gestures.</p>
<p>You build trust by being present when someone needs you. It happens when you ask how they’re doing. When you listen. When you remember what they shared.</p>
<p>These tiny moments add up. They matter more than any grand gesture ever could.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 28 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Not every key metric needs a deadline</title>
                    <link>https://ahlstrom.info/not-every-key-metric-needs-a-deadline</link>
                    <description>That is it. Not every key metric needs a project or an initiative. Some metrics you just need to monitor, wait and see. Some metrics should guide your strategy and inform on which long-term goals to focus on.</description>
                    <guid>https://ahlstrom.info/not-every-key-metric-needs-a-deadline</guid>
                      <content:encoded>
                            <![CDATA[<p>That is it. </p>
<p>Not every key metric needs a project or an initiative. Some metrics you just need to monitor, wait and see.</p>
<p>Some metrics should guide your strategy and inform on which long-term goals to focus on.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 27 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Outcompeted</title>
                    <link>https://ahlstrom.info/outcompeted</link>
                    <description>You will get outcompeted by people who genuinely love what you only do for money. And you will get outcompeted by people who embrace change. While you cling to old knowledge like a sunk cost, afraid to let go of what you’ve learned, change will happen and the world around you will move on. I’ve seen this firsthand. From coding in the 90s out of pure interest. To managing teams. And now building complete products with AI.</description>
                    <guid>https://ahlstrom.info/outcompeted</guid>
                      <content:encoded>
                            <![CDATA[<p>You will get outcompeted by people who genuinely love what you only do for money.</p>
<p>And you will get outcompeted by people who embrace change. </p>
<p>While you cling to old knowledge like a sunk cost, afraid to let go of what you’ve learned, change will happen and the world around you will move on.</p>
<p>I’ve seen this firsthand. From coding in the 90s out of pure interest. To managing teams. And now building complete products with AI.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 26 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Clarity, Capacity and Collaboration</title>
                    <link>https://ahlstrom.info/clarity-capacity-and-collaboration</link>
                    <description>What can you as a founder, leader or manager do to help a struggling team? Focus on the 3Cs: Clarity, Capacity and Collaboration. Clarity How can increase clarity for the team? Does everyone know what we are working on and why we are working on it? Can I make our current goals clear, our prioritization crystal and our targets obvious? Capacity Can I make our capacity visible? Do we have the time, skills and energy we need? Should we bring in outside perspective or knowledge? Are we working on...</description>
                    <guid>https://ahlstrom.info/clarity-capacity-and-collaboration</guid>
                      <content:encoded>
                            <![CDATA[<p>What can you as a founder, leader or manager do to help a struggling team?</p>
<p>Focus on the 3Cs: Clarity, Capacity and Collaboration.</p>
<h2>Clarity</h2>
<p>How can increase clarity for the team? Does everyone know what we are working on and why we are working on it? Can I make our current goals clear, our prioritization crystal and our targets obvious?</p>
<h2>Capacity</h2>
<p>Can I make our capacity visible? Do we have the time, skills and energy we need? Should we bring in outside perspective or knowledge? Are we working on too many things? </p>
<h2>Collaboration</h2>
<p>Can I identify and propose opportunities for collaboration? Can we work together on prioritized initiatives? Can we discuss challenges and find solutions together? Can we commit to reach out to others when we are stuck? </p>
<p>When either of these is lacking the team will focus on the wrong goals, they will be slower and cause friction, work in silos, make complicated solutions and will miss out on innovation.</p>
<p>The sweet spot is when all of this works.</p>
<h2>Implementation Note</h2>
<p>The power of this framework isn’t in formally announcing it, but in using it as a leadership compass to guide your team. Like good coaching, it’s about consistently creating an environment where these elements can thrive, especially when dealing with changing priorities from above. The framework becomes most effective when it feels natural rather than forced.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 25 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>CUP</title>
                    <link>https://ahlstrom.info/cup</link>
                    <description>After exploring different ways of storing my notes, I’ve developed a system inspired by a plentiful of productive gurus. I call it CUP and it stands for Cabinet, Unfold and Play. Cabinet The Cabinet is a spin on the Cabinet of Curiosities and this is where I store most of my notes. The Cabinet is more than just storage - it’s a curated collection of knowledge, ideas, and inspiration. Like the historical cabinets of curiosities, it’s where we keep our most interesting findings. This could...</description>
                    <guid>https://ahlstrom.info/cup</guid>
                      <content:encoded>
                            <![CDATA[<p>After exploring different ways of storing my notes, I’ve developed a system inspired by a plentiful of productive gurus.</p>
<p>I call it CUP and it stands for <strong>Cabinet</strong>, <strong>Unfold</strong> and <strong>Play</strong>.</p>
<h2>Cabinet</h2>
<p>The Cabinet is a spin on the <a href="https://en.wikipedia.org/wiki/Cabinet_of_curiosities">Cabinet of Curiosities</a> and this is where I store most of my notes. The Cabinet is more than just storage - it’s a curated collection of knowledge, ideas, and inspiration. Like the historical cabinets of curiosities, it’s where we keep our most interesting findings. This could include book notes, research, interesting articles, concepts, or any piece of information worth preserving.<br>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Museum_Wormiani_Historia_1655_Wellcome_L0000128.jpg/1920px-Museum_Wormiani_Historia_1655_Wellcome_L0000128.jpg" alt="Ole Worm - https://wellcomeimages.org/indexplus/obf\_images/10/eb/3a29835466b65ed294e2f9353c95.jpg Gallery: https://wellcomeimages.org/indexplus/image/L0000128.html Wellcome Collection gallery (2018-03-31): https://wellcomecollection.org/works/mzvgyzbt CC-BY-4.0" title="Ole Worm - https://wellcomeimages.org/indexplus/obf_images/10/eb/3a29835466b65ed294e2f9353c95.jpg Gallery: https://wellcomeimages.org/indexplus/image/L0000128.html Wellcome Collection gallery (2018-03-31): https://wellcomecollection.org/works/mzvgyzbt CC-BY-4.0"></p>
<h2>Unfold</h2>
<p>Unfold captures life as it happens. By keeping daily notes, meeting logs, and journal entries here, we create a chronological story of our days. Through backlinks, these daily captures stay connected to our broader work, making it easy to trace how ideas and projects develop over time.</p>
<h2>Play</h2>
<p>By choosing “Play” over “Projects,” we create a space that invites creativity and experimentation. This section houses our active work and responsibilities, but approaches them with a lighter, more engaging mindset. Whether it’s writing, coding, or planning, framing it as play helps maintain curiosity and reduces the pressure we often associate with traditional project management.</p>
<hr>
<p>Like the name suggests, CUP is a container - but one that’s designed to grow and evolve with our needs and interests.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 24 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The Code Curators</title>
                    <link>https://ahlstrom.info/the-code-curators</link>
                    <description>After decades of coding, I can read and understand code as naturally as English or Swedish. As AI becomes the primary code generator, this skill will become invaluable. We’ll evolve into the gatekeepers - like editors who approve manuscripts or art curators who authenticate masterpieces. But our stakes will be higher. We’ll be the ones signing off on code that artificial intelligence produces, code that could move markets or impact millions. We’ll be the final human eyes, the ones who...</description>
                    <guid>https://ahlstrom.info/the-code-curators</guid>
                      <content:encoded>
                            <![CDATA[<p>After decades of coding, I can read and understand code as naturally as English or Swedish. As AI becomes the primary code generator, this skill will become invaluable.</p>
<p>We’ll evolve into the gatekeepers - like editors who approve manuscripts or art curators who authenticate masterpieces. But our stakes will be higher. We’ll be the ones signing off on code that artificial intelligence produces, code that could move markets or impact millions.</p>
<p>We’ll be the final human eyes, the ones who understand both the poetry and potential pitfalls in machine-written code.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 23 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>The Goals We Outgrow</title>
                    <link>https://ahlstrom.info/the-goals-we-outgrow</link>
                    <description>How often do we pause to question if our goals still fit the person we are today? Like hanging onto a jacket that no longer fits just because it used to be our favorite. We often cling to old dreams and ambitions that we’ve outgrown. Are we still trying to achieve the goals of our past selves? Following an outdated map. Moving in a direction that no longer excites us. Remember - the real failure isn’t in changing direction or letting go. The real failure is staying stuck. Doing nothing. Being...</description>
                    <guid>https://ahlstrom.info/the-goals-we-outgrow</guid>
                      <content:encoded>
                            <![CDATA[<p>How often do we pause to question if our goals still fit the person we are today?</p>
<p>Like hanging onto a jacket that no longer fits just because it used to be our favorite. We often cling to old dreams and ambitions that we’ve outgrown.</p>
<p>Are we still trying to achieve the goals of our past selves? Following an outdated map. Moving in a direction that no longer excites us.</p>
<p>Remember - the real failure isn’t in changing direction or letting go. The real failure is staying stuck. Doing nothing. Being afraid to admit we’ve changed. Every step forward teaches us something new about ourselves. Even if it means leaving old dreams behind.</p>
<p>Is this still your dream? Or are you just afraid to let it go?</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 22 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Roadblocks &amp; Decisions</title>
                    <link>https://ahlstrom.info/roadblocks-and-decisions</link>
                    <description>Decisions are roadblocks in your story. But they need to be made. They are the way to change our stories, our identities. Stories change through action, and action starts with decision. Changing your identity story isn’t easy.</description>
                    <guid>https://ahlstrom.info/roadblocks-and-decisions</guid>
                      <content:encoded>
                            <![CDATA[<p>Decisions are roadblocks in your story.</p>
<p>But they need to be made.</p>
<p>They are the way to change our stories, our identities.</p>
<p>Stories change through action, and action starts with decision. Changing your identity story isn’t easy.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 21 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Pausing is not quitting </title>
                    <link>https://ahlstrom.info/pausing-is-not-quitting</link>
                    <description>Missing a few days is not a failure. Stopping forever, might be. Getting back on track is what matters.</description>
                    <guid>https://ahlstrom.info/pausing-is-not-quitting</guid>
                      <content:encoded>
                            <![CDATA[<p>Missing a few days is not a failure. </p>
<p>Stopping forever, might be.</p>
<p>Getting back on track is what matters.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 20 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Productivity alone is a flawed metric</title>
                    <link>https://ahlstrom.info/productivity-alone-is-a-flawed-metric</link>
                    <description>Productivity alone is a flawed metric. It often leads to an endless grind. Connect it to other factors that matter. Is the fun? Is it efficient? Are you collaborating? Does it make you happy?</description>
                    <guid>https://ahlstrom.info/productivity-alone-is-a-flawed-metric</guid>
                      <content:encoded>
                            <![CDATA[<p>Productivity alone is a flawed metric. <br>
It often leads to an endless grind.</p>
<p>Connect it to other factors that matter.</p>
<p>Is the fun? Is it efficient? Are you collaborating? Does it make you happy?</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 19 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Start Messy, End Strong</title>
                    <link>https://ahlstrom.info/start-messy-end-strong</link>
                    <description>The battle is in the start. Once you start moving, it gets easier. Write the draft, copy-paste, steal, use AI — do whatever it takes to get away from the blank page as fast as possible. Your first sentence does not need to be unique. Your last edit needs to be.</description>
                    <guid>https://ahlstrom.info/start-messy-end-strong</guid>
                      <content:encoded>
                            <![CDATA[<p>The battle is in the start. </p>
<p>Once you start moving, it gets easier. Write the draft, copy-paste, steal, use AI — do whatever it takes to get away from the blank page as fast as possible. </p>
<p>Your first sentence does not need to be unique. Your last edit needs to be.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 18 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Sometimes you need to pitch the crappiest idea</title>
                    <link>https://ahlstrom.info/sometimes-you-need-to-pitch-the-crappiest-idea</link>
                    <description>To spark creativity, sometimes you need to pitch the crappiest idea. But be prepared to back off if your team starts taking it seriously.</description>
                    <guid>https://ahlstrom.info/sometimes-you-need-to-pitch-the-crappiest-idea</guid>
                      <content:encoded>
                            <![CDATA[<p>To spark creativity, sometimes you need to pitch the crappiest idea.</p>
<p>But be prepared to back off if your team starts taking it seriously.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 17 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Less Noise, More Signal</title>
                    <link>https://ahlstrom.info/less-noise-more-signal</link>
                    <description>We’re living in a world obsessed with output, heck even this page is a proof-of-it. Our economic systems reward quantity, and now AI tools let us create more content than ever before. As business publishing evolved from 500-page bricks to concentrated 30 minute reads, we might see a similar shift in digital content. People don’t want more, they want better. They want signal, not noise. The real question for the future will not be “How much can we produce?” it will be “How can we deliver value...</description>
                    <guid>https://ahlstrom.info/less-noise-more-signal</guid>
                      <content:encoded>
                            <![CDATA[<p>We’re living in a world obsessed with output, heck even this page is a proof-of-it.</p>
<p> Our economic systems reward quantity, and now AI tools let us create more content than ever before.</p>
<p>As business publishing evolved from 500-page bricks to concentrated 30 minute reads, we might see a similar shift in digital content.</p>
<p>People don’t want more, they want better. They want signal, not noise.</p>
<p>The real question for the future will not be “How much can we produce?” it will be “How can we deliver value with less?”.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 16 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Half-Baked Ideas Make Better Innovation</title>
                    <link>https://ahlstrom.info/half-baked-ideas-make-better-innovation</link>
                    <description>We often jump straight to solutions before really understanding the problem. It’s backwards, right? When our ideas are too polished from the start, we leave no room for others to contribute. That’s why rough ideas work better for team innovation. Share them early and watch your team create something awesome.</description>
                    <guid>https://ahlstrom.info/half-baked-ideas-make-better-innovation</guid>
                      <content:encoded>
                            <![CDATA[<p>We often jump straight to solutions before really understanding the problem. It’s backwards, right?</p>
<p>When our ideas are too polished from the start, we leave no room for others to contribute.</p>
<p>That’s why rough ideas work better for team innovation.</p>
<p>Share them early and watch your team create something awesome.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 15 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Anecdotes and Stories </title>
                    <link>https://ahlstrom.info/anecdotes-and-stories</link>
                    <description>Behind every quote is an anecdote. Behind every anecdote is a story. It is tempting to stop at the quote, to grab the summary and run. The real wisdom is what is behind that quote. What messy context gave birth to this clean and polished insight. Summaries are like photos from interesting places on a friends social media. They should spark the need to go deeper to get to those “hmm”-moments that makes us pause where something resonates with or challenges us. Bullet points might be efficient,...</description>
                    <guid>https://ahlstrom.info/anecdotes-and-stories</guid>
                      <content:encoded>
                            <![CDATA[<p>Behind every quote is an anecdote. Behind every anecdote is a story.</p>
<p>It is tempting to stop at the quote, to grab the summary and run. </p>
<p>The real wisdom is what is behind that quote. What messy context gave birth to this clean and polished insight.</p>
<p>Summaries are like photos from interesting places on a friends social media. They should spark the need to go deeper to get to those “hmm”-moments that makes us pause where something resonates with or challenges us.</p>
<p>Bullet points might be efficient, but the real nuggets of gold is in the margins of the stories.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 14 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Unknown Unknowns and Scope Creep</title>
                    <link>https://ahlstrom.info/unknown-unknowns-and-scope-creep</link>
                    <description>Scope creep is often a consequence of discovery. We don’t know what we don’t know. You can plan all that you want, but you’ll only find the true complexity once you dig in. We uncover all sorts of edge cases when we start working, and that is equal to developers, project managers and customers.</description>
                    <guid>https://ahlstrom.info/unknown-unknowns-and-scope-creep</guid>
                      <content:encoded>
                            <![CDATA[<p>Scope creep is often a consequence of discovery. </p>
<p>We don’t know what we don’t know. </p>
<p>You can plan all that you want, but you’ll only find the true complexity once you dig in.</p>
<p>We uncover all sorts of edge cases when we start working, and that is equal to developers, project managers and customers. </p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 13 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>NICE is nicer than SMART</title>
                    <link>https://ahlstrom.info/nice-is-nicer-than-smart</link>
                    <description>I have a confession: I’ve never been a fan of SMART goals. There, I said it. They first came into my life through personal development programs and they felt more like a forced exercise than a useful tool. SMART goals were created for managing companies and projects back in 1981 and somehow they became the go-to framework for personal development. Leadership experts everywhere pushed them as the solution. But just because something works for corporate planning doesn’t mean it translates well to...</description>
                    <guid>https://ahlstrom.info/nice-is-nicer-than-smart</guid>
                      <content:encoded>
                            <![CDATA[<p>I have a confession: I’ve never been a fan of SMART goals. There, I said it.</p>
<p>They first came into my life through personal development programs and they felt more like a forced exercise than a useful tool.</p>
<p>SMART goals were created for managing companies and projects back in 1981 and somehow they became the go-to framework for personal development. Leadership experts everywhere pushed them as the solution. But just because something works for corporate planning doesn’t mean it translates well to individual growth.</p>
<p>As a team leader, I struggle when setting SMART goals with my team members. This is especially true for creative or thinking-intensive work. These goals often become binary checkboxes. They’re either done or not done. This misses the nuance of real progress.</p>
<p>Recently I discovered Ali Abdaal’s NICE goals framework. It resonates much better with how people actually develop and grow. </p>
<p>Let’s break it down:</p>
<p><strong>Near term:</strong> Focus on what you can do today, tomorrow, or next week. It’s about the immediate future, not some distant target.</p>
<p><strong>Input Based:</strong> Instead of focusing on outcomes we can’t control, concentrate on actions we can take right now. What specific steps can you take to move forward?</p>
<p><strong>Controllable:</strong> Choose goals within your sphere of influence. Running ten miles daily might be unrealistic, but how about 10 minutes? You might not control what work lands on your desk, but you can control how you approach it.</p>
<p><strong>Energizing:</strong> Make your goals exciting. Ask yourself: “How could this project be fun?” or “What could I teach others about this?” Find ways to inject energy into your goals.</p>
<p>The beauty of NICE goals is that they work with human nature. They acknowledge that personal development is more complex than a checkbox system from the 80s.</p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 12 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Company Culture and Icebergs Part 2: Below the Surface</title>
                    <link>https://ahlstrom.info/company-culture-and-icebergs-part-2-below-the-surface</link>
                    <description>Core values written on walls mean nothing if they don’t match what happens beneath the surface. Your real values show up in daily choices: which behavior gets rewarded who gets promoted and how conflicts are solved. What you tolerate becomes your culture regardless of what your handbook states. The gap between stated and lived values is where most company cultures fall apart.</description>
                    <guid>https://ahlstrom.info/company-culture-and-icebergs-part-2-below-the-surface</guid>
                      <content:encoded>
                            <![CDATA[<p>Core values written on walls mean nothing if they don’t match what happens beneath the surface. Your real values show up in daily choices: which behavior gets rewarded who gets promoted and how conflicts are solved. What you tolerate becomes your culture regardless of what your handbook states. The gap between stated and lived values is where most company cultures fall apart.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 11 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Company Culture and Ice Bergs</title>
                    <link>https://ahlstrom.info/company-culture-and-ice-bergs</link>
                    <description>Like an iceberg, your company culture runs far deeper than what’s visible on the surface. Processes and structures are just the tip, showing only a fraction of what matters. The real force lies beneath in how people think, act, and influence others daily. This invisible part isn’t written down in handbooks. It’s lived and shared through the decisions being made.</description>
                    <guid>https://ahlstrom.info/company-culture-and-ice-bergs</guid>
                      <content:encoded>
                            <![CDATA[<p>Like an iceberg, your company culture runs far deeper than what’s visible on the surface.</p>
<p>Processes and structures are just the tip, showing only a fraction of what matters.</p>
<p>The real force lies beneath in how people think, act, and influence others daily.</p>
<p>This invisible part isn’t written down in handbooks. It’s lived and shared through the decisions being made.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 10 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>When data meets instinct</title>
                    <link>https://ahlstrom.info/when-data-meets-instinct</link>
                    <description>The thing about judgment and “gut feeling” is that it’s probably one of the most underrated factors in decision-making. Even when we’re swimming in data and have gathered every possible opinion, it usually comes down to a leap of judgment at some point. Think about it. It starts with gut feeling right from the beginning: deciding which data we should even bother collecting, which customers we should talk to, and what questions are worth asking. Then later, when we’re stuck choosing between two...</description>
                    <guid>https://ahlstrom.info/when-data-meets-instinct</guid>
                      <content:encoded>
                            <![CDATA[<p>The thing about judgment and “gut feeling” is that it’s probably one of the most underrated factors in decision-making. Even when we’re swimming in data and have gathered every possible opinion, it usually comes down to a leap of judgment at some point.</p>
<p>Think about it. It starts with gut feeling right from the beginning: deciding which data we should even bother collecting, which customers we should talk to, and what questions are worth asking. Then later, when we’re stuck choosing between two solutions or strategies that both look equally good on paper, it’s often that same gut feeling, backed by experience, that helps us make the final call.</p>
<p>That’s why senior leaders are so valuable. They’ve been through countless situations and have honed their instincts. Is it perfect? No way. But it’s often the best tool we have for navigating those tricky gaps between the data, the opinions, and all the things we just don’t know.</p>
<p>Decisions that really drive results need both data and opinions along with wisdom. Sometimes you simply need to trust your judgment. It’s that straightforward.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 09 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Should Engineering Managers Code? It's Not That Simple</title>
                    <link>https://ahlstrom.info/should-engineering-managers-code-it's-not-that-simple</link>
                    <description>Whether engineering managers should code is like asking if a coach should still practice the sport. There’s no simple answer. Success comes from understanding how your work benefits the team. You need to be realistic. Technology moves fast and effective leadership requires both learning and coding. When to code and what to code is like playing 4D chess. You need to look ahead and ask where the team needs to be in a year. What can you code today that will make future decisions easier? Future...</description>
                    <guid>https://ahlstrom.info/should-engineering-managers-code-it's-not-that-simple</guid>
                      <content:encoded>
                            <![CDATA[<p>Whether engineering managers should code is like asking if a coach should still practice the sport. There’s no simple answer. Success comes from understanding how your work benefits the team.</p>
<p>You need to be realistic. Technology moves fast and effective leadership requires both learning and coding.</p>
<p>When to code and what to code is like playing 4D chess. You need to look ahead and ask where the team needs to be in a year. What can you code today that will make future decisions easier?</p>
<p>Future decisions don’t always mean “let’s try this cool innovative thing.” It can also mean asking “Should we spend time on tech debt?”</p>
<p>It’s not about being in the way of progress. It’s about helping the team focus on what’s most important right now.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 08 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Oversharing is not caring</title>
                    <link>https://ahlstrom.info/oversharing-is-not-caring</link>
                    <description>Leaders today face a challenging balance with transparency. Many of us have developed a habit of sharing everything. Not because it adds value but because we’re afraid of leaving someone out. This creates what I call reverse FOMO. Instead of team members being afraid of missing out, leaders become anxious about not including everyone in every conversation, decision, or update. There are two problems with this approach: It overwhelms people with information they don’t need. Not everyone needs to...</description>
                    <guid>https://ahlstrom.info/oversharing-is-not-caring</guid>
                      <content:encoded>
                            <![CDATA[<p>Leaders today face a challenging balance with transparency. Many of us have developed a habit of sharing everything. Not because it adds value but because we’re afraid of leaving someone out.</p>
<p>This creates what I call reverse FOMO. Instead of team members being afraid of missing out, leaders become anxious about not including everyone in every conversation, decision, or update.</p>
<p>There are two problems with this approach:</p>
<ol>
<li>It overwhelms people with information they don’t need. Not everyone needs to know everything about every project or decision. </li>
<li>It actually makes it harder for people to find the information that is relevant to them.</li>
</ol>
<p>There’s also a small shift of responsibility happening. When we put everything in the open, we sometimes use it as a shield: “Well, I shared it, so it’s on them if they didn’t read it.” This isn’t leadership - it’s avoiding our responsibility to communicate effectively.</p>
<p>Good transparency isn’t about sharing everything. It’s about sharing the right information with the right people at the right time.</p>
<p>If you are servant leader, then your role is to remove obstacles or create clarity for your team. Sharing everything is not reducing obstacles.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 07 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Control and learning</title>
                    <link>https://ahlstrom.info/control-and-learning</link>
                    <description>Control always comes at the expense of learning. When we are learning we must choose uncertainty and be willing to make mistakes. A child must let go of control and risk falling when learning to walk. A company needs to loose control to innovate or adapt.</description>
                    <guid>https://ahlstrom.info/control-and-learning</guid>
                      <content:encoded>
                            <![CDATA[<p>Control always comes at the expense of learning.</p>
<p>When we are learning we must choose uncertainty and be willing to make mistakes.</p>
<p>A child must let go of control and risk falling when learning to walk.</p>
<p>A company needs to loose control to innovate or adapt.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 06 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>How to spot the difference between Strategy, Plan and Tactic</title>
                    <link>https://ahlstrom.info/how-to-spot-the-difference-between-strategy-plan-and-tactic</link>
                    <description>Remind yourself of this quote “Everyone has a plan until they get punched in the mouth” - Mike Tyson Strategy is the high-level decision or goal. Should I fight Mike Tyson? Plan is the steps to achieve the strategy. How should I fight Mike Tyson? Tactic refers to on-the-spot actions to deal with the immediate situations. When Mike Tyson hits me in the face, I should sway left.</description>
                    <guid>https://ahlstrom.info/how-to-spot-the-difference-between-strategy-plan-and-tactic</guid>
                      <content:encoded>
                            <![CDATA[<p>Remind yourself of this quote</p>
<blockquote>
<p>“Everyone has a plan until they get punched in the mouth” - Mike Tyson</p>
</blockquote>
<p>Strategy is the high-level decision or goal. <strong>Should I fight Mike Tyson?</strong></p>
<p>Plan is the steps to achieve the strategy. <strong>How should I fight Mike Tyson?</strong></p>
<p>Tactic refers to on-the-spot actions to deal with the immediate situations. <strong>When Mike Tyson hits me in the face, I should sway left.</strong></p>
]]>
                        </content:encoded>
                    <pubDate>Sun, 05 Jan 2025 18:24:23 GMT</pubDate>
                </item><item>
                    <title>Managing VS Leading: Understanding Both Roles</title>
                    <link>https://ahlstrom.info/managing-vs-leading</link>
                    <description>There are two key roles a manager plays: managing and leading. Managing focuses on the practical and operational side of things. Making sure your teams have what they need to make progress. Do they know what to prioritize? Are the bills paid, salaries handled, and vacations taken? Leading has two parts. First is understanding your team: how they work, what challenges they face, and what you can realistically achieve together. Second is painting a picture of a possible future, especially when...</description>
                    <guid>https://ahlstrom.info/managing-vs-leading</guid>
                      <content:encoded>
                            <![CDATA[<p>There are two key roles a manager plays: managing and leading.</p>
<p>Managing focuses on the practical and operational side of things. Making sure your teams have what they need to make progress. Do they know what to prioritize? Are the bills paid, salaries handled, and vacations taken?</p>
<p>Leading has two parts. First is understanding your team: how they work, what challenges they face, and what you can realistically achieve together. Second is painting a picture of a possible future, especially when the team struggles to see beyond their current challenges.</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 04 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>One Simple Question for Better Notes</title>
                    <link>https://ahlstrom.info/one-simple-question-for-better-notes</link>
                    <description>When taking notes, add “this is interesting because…” and fill in the blanks. This simple addition changes your random highlights into personally and relatable pieces of nuggets.</description>
                    <guid>https://ahlstrom.info/one-simple-question-for-better-notes</guid>
                      <content:encoded>
                            <![CDATA[<p>When taking notes, add “this is interesting because…” and fill in the blanks.</p>
<p>This simple addition changes your random highlights into personally and relatable pieces of nuggets.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 03 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Leaders over processes</title>
                    <link>https://ahlstrom.info/leaders-over-processes</link>
                    <description>The only way to scale your company in a sustainable way is through leaders*. Processes alone are an easy path that almost never scales without hiccups and endless debate on which path a certain decision should take. *) with leaders I almost never mean managers. Managers can be leaders but so could also developers, designers, sales, business i.e. anyone.</description>
                    <guid>https://ahlstrom.info/leaders-over-processes</guid>
                      <content:encoded>
                            <![CDATA[<p>The only way to scale your company in a sustainable way is through leaders*.</p>
<p>Processes alone are an easy path that almost never scales without hiccups and endless debate on which path a certain decision should take.</p>
<p>*) with leaders I almost never mean managers. Managers can be leaders but so could also developers, designers, sales, business i.e. anyone.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 02 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Ambiguity Creates Process</title>
                    <link>https://ahlstrom.info/ambiguity-creates-process</link>
                    <description>When there is higher ambiguity, more importance is placed on processes. Ambiguity in goals, priorities, or vision from leadership often reflects a systemic issue, forcing processes to emerge from the bottom up as a way to compensate for the lack of clear direction. Good process serves you so you can serve customers. But if you’re not watchful, the process can become the thing. This can happen very easily in large organizations. - Jeff Bezos</description>
                    <guid>https://ahlstrom.info/ambiguity-creates-process</guid>
                      <content:encoded>
                            <![CDATA[<p>When there is higher ambiguity, more importance is placed on processes.</p>
<p>Ambiguity in goals, priorities, or vision from leadership often reflects a systemic issue, forcing processes to emerge from the bottom up as a way to compensate for the lack of clear direction.</p>
<blockquote>
<p>Good process serves you so you can serve customers. But if you’re not watchful, the process can become the thing. This can happen very easily in large organizations. - Jeff Bezos</p>
</blockquote>
]]>
                        </content:encoded>
                    <pubDate>Wed, 01 Jan 2025 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Empowering is trust</title>
                    <link>https://ahlstrom.info/empowering</link>
                    <description>Empowering people isn’t about making them happy; it’s about trusting them to make better decisions than you.</description>
                    <guid>https://ahlstrom.info/empowering</guid>
                      <content:encoded>
                            <![CDATA[<p>Empowering people isn’t about making them happy; it’s about trusting them to make better decisions than you.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 30 May 2024 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Getting to done: stop procrastinating</title>
                    <link>https://ahlstrom.info/lower-the-bar</link>
                    <description>Why not do the minimum effort now and expand later? Lower the bar. Get the MVP, draft, or idea out.</description>
                    <guid>https://ahlstrom.info/lower-the-bar</guid>
                      <content:encoded>
                            <![CDATA[<p>Why not do the minimum effort now and expand later?</p>
<p>Lower the bar.</p>
<p>Get the MVP, draft, or idea out.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 23 May 2024 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Seven Degrees of Delegation</title>
                    <link>https://ahlstrom.info/seven-degrees-of-delegation</link>
                    <description>Being a leader, you might unintentionally hinder fast growth and change if you’re involved in too many discussions and decisions. Reluctance to delegate often comes from a fear of losing control. Instead of worrying about what you’re missing, focus on your role in the delegation process. Delegation isn’t rigid or black-and-white; here are seven flexible ways to approach it. Delegate: Others take decisions that you don’t even want to know about. Inquire: Others decide, but you can ask for more...</description>
                    <guid>https://ahlstrom.info/seven-degrees-of-delegation</guid>
                      <content:encoded>
                            <![CDATA[<p>Being a leader, you might unintentionally hinder fast growth and change if you’re involved in too many discussions and decisions. Reluctance to delegate often comes from a fear of losing control. Instead of worrying about what you’re missing, focus on your role in the delegation process. Delegation isn’t rigid or black-and-white; here are seven flexible ways to approach it.</p>
<ul>
<li><strong>Delegate:</strong> Others take decisions that you don’t even want to know about.</li>
<li><strong>Inquire:</strong> Others decide, but you can ask for more information if you want.</li>
<li><strong>Advise:</strong> You give advice, hoping others will listen, but the decision is theirs.</li>
<li><strong>Agree:</strong> You and others discuss and come to an agreement on what to do.</li>
<li><strong>Consult:</strong> You ask for input from others and consider their arguments when making your decision.</li>
<li><strong>Sell:</strong> You’ve made your decision, but you put effort into selling your idea to others to get them onboard.</li>
<li><strong>Tell:</strong> You make the decision with no delegation at all.</li>
</ul>
<p>When delegating: Instead of thinking how you’ll miss out. Think about how you want to be involved.</p>
]]>
                        </content:encoded>
                    <pubDate>Fri, 05 Jan 2024 01:00:00 GMT</pubDate>
                </item><item>
                    <title>A "Data-Minimalist" Revolution?</title>
                    <link>https://ahlstrom.info/data-minimalist-revolution</link>
                    <description>Remember the mobile-first revolution? It changed how we design websites by focusing on essential features. Now, it’s time for a similar shift in data collection and analytics. From Desktop Kings to Mobile Natives Once, desktop users ruled the web. Websites were feature-packed playgrounds. Mobile users got the short end of the stick with stripped-down “m.” versions. Then the mobile-first revolution hit. It prioritized mobile users and essential features, leaving the extras for desktop. The...</description>
                    <guid>https://ahlstrom.info/data-minimalist-revolution</guid>
                      <content:encoded>
                            <![CDATA[<p>Remember the mobile-first revolution? It changed how we design websites by focusing on essential features. Now, it’s time for a similar shift in data collection and analytics.</p>
<h2>From Desktop Kings to Mobile Natives</h2>
<p>Once, desktop users ruled the web. Websites were feature-packed playgrounds. Mobile users got the short end of the stick with stripped-down “m.” versions. Then the mobile-first revolution hit. It prioritized mobile users and essential features, leaving the extras for desktop.</p>
<h2>The Post-GDPR Wake-Up Call</h2>
<p>Today, data privacy laws like GDPR, CCPA and ePR have changed the game. We can’t hoard user data anymore. This new landscape calls for a “data-minimalist” approach. Collect only what’s necessary. Treat additional data as a luxury, collected only with user consent.</p>
<h2>Transactional Anonymity: The New Standard</h2>
<p>Tracking users from start to finish is over. Regulations demand a level of transactional anonymity. It’s like walking into a store. You browse, choose, and buy. No prying eyes. Only essential data points, maybe some context if the customer opts in.</p>
<h2>The Re-Rise of UX and Qualitative Research</h2>
<p>In a world of limited data, we need to put User Experience and qualitative research in the spotlight again. UX isn’t a nice-to-have; it’s a must-have. It’s about understanding user needs and behaviors with the data we can ethically collect. Qualitative research adds the human touch that numbers alone can’t capture.</p>
<h2>AI’s Role in Limited Data</h2>
<p>AI comes into the picture here. It can analyze limited data sets and extract meaningful insights. Combine that with UX findings, and you get a complete view of what users really want and need.</p>
<blockquote>
<p>It’s not just about less; it’s about better</p>
</blockquote>
<p>The mobile-first revolution taught us to focus on essentials. Now, let’s apply that to data collection. As we adapt to new privacy norms, UX and qualitative research will become crucial. They’ll work alongside AI to help us create ethical, transparent, and user-friendly platforms. It’s not just about less; it’s about better.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 05 Sep 2023 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Data as Seeds: Nurturing Growth Beyond the Gold Standard</title>
                    <link>https://ahlstrom.info/gold-data-seed</link>
                    <description>We’ve all heard it: “Data is the new gold.” It’s a catchy phrase that highlights how valuable data has become. It highlights the immense value that data brings to businesses. But is ‘gold’ the best metaphor to describe the vast, dynamic potential of data? Let’s think about this a bit differently. The Gold Standard Gold is shiny, valuable, and always in demand. Much like data, right? But there’s a catch. Gold just sits there. It doesn’t grow or change. Data, on the other hand, has the potential...</description>
                    <guid>https://ahlstrom.info/gold-data-seed</guid>
                      <content:encoded>
                            <![CDATA[<p>We’ve all heard it: “Data is the new gold.” It’s a catchy phrase that highlights how valuable data has become. It highlights the immense value that data brings to businesses. But is ‘gold’ the best metaphor to describe the vast, dynamic potential of data? Let’s think about this a bit differently.</p>
<h2>The Gold Standard</h2>
<p>Gold is shiny, valuable, and always in demand. Much like data, right? But there’s a catch. Gold just sits there. It doesn’t grow or change. Data, on the other hand, has the potential to transform our businesses in amazing ways and this is where the gold analogy may fall short.</p>
<h2>Seeds of Potential</h2>
<p>Imagine that we shift our perspective and compare data to seeds. Under the right conditions a seed can grow into a tall tree that bears fruits for years. Data holds a similar dynamic potential. A potential that can only be realized with the right nurturing.</p>
<h2>Cultivating Insights</h2>
<p>Just as a seed needs soil, water and sun, our data needs tools, the right people and timely action. If we don’t use or analyze our data, it’s like letting seeds go unplanted.</p>
<h2>Quality is Key</h2>
<p>Farmers know the importance of starting with high-quality seeds. Similar to data, garbage in means garbage out. If we start with unreliable data, our results won’t be trustworthy.</p>
<h2>Diverse Data, Diverse Outcomes</h2>
<p>There are countless types of seeds, and each one grows a different plant. Similarly, each type of data tells its own unique story. By understanding what each set of data can offer, we can make the most of it.</p>
<h2>Embracing the Seed Mindset</h2>
<p>Thinking of data as seeds gives a forward-looking view. It emphasizes nurturing, growth and realizing potential rather than mere storage. It’s a call to action: to not let our data sit idle but to cultivate it, nurture it and watch it flourish into strategies and insights.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 17 Aug 2023 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Achieving Harmony in Goals - Evading Common OKR Pitfalls</title>
                    <link>https://ahlstrom.info/achieving-harmony-in-goals</link>
                    <description>The world of product management and organizational alignment has found its melody in Objectives and Key Results (OKRs). They’re designed to be our guiding score, ensuring every department and individual plays in tune with the company’s vision. Yet, as with any musical composition, there can be missteps or discordant notes. The key is recognizing these and adjusting for a harmony. Using OKRs should be reminiscent of orchestrating a symphony. Each element, whether it’s an instrument or a goal,...</description>
                    <guid>https://ahlstrom.info/achieving-harmony-in-goals</guid>
                      <content:encoded>
                            <![CDATA[<p>The world of product management and organizational alignment has found its melody in Objectives and Key Results (OKRs). They’re designed to be our guiding score, ensuring every department and individual plays in tune with the company’s vision. Yet, as with any musical composition, there can be missteps or discordant notes. The key is recognizing these and adjusting for a harmony.</p>
<p>Using OKRs should be reminiscent of orchestrating a symphony. Each element, whether it’s an instrument or a goal, plays a part in creating a unified, captivating performance.</p>
<h2>Too Many OKRs</h2>
<p>One, if not the most, important part of OKRs is to focus on what truly matters. If every department or team has its own objective, you are diluting the overarching company vision.</p>
<p>Imagine an orchestra where each section plays its distinct solo simultaneously. An overflow of objectives risks discord instead of harmony.</p>
<h2>Way Too Many OKRs</h2>
<p>Going deeper, if each member charts their own course, the essence of collaboration and alignment is lost. OKRs should unify, not segregate and create isolated islands of individual goals.</p>
<p>It’s comparable to each musician playing their own tune. The outcome? A confusing mishmash of sounds.</p>
<h2>You Have Zero Cross Company OKRs</h2>
<p>It’s a misstep to think only in departmental silos. Cross-functional OKRs ensure that teams collaborate and break down walls. They push for a unity that’s essential for the larger vision and ensure that the organization’s various parts move cohesively.</p>
<p>If the woodwind section ignored the strings, the result would be disjointed. Collaboration across all teams is essential for a full, rich sound.</p>
<h2>No Alignment During Planning</h2>
<p>If all musicians only knew the finale, like reaching a C#, and then individually navigating there. Then set off to work towards that end note in whatever tempo and rhythm pattern they felt like. The performance would be erratic. Similarly, alignment discussions during the planning phase are crucial to ensure everyone is on the same page.</p>
<h2>Too Late Alignment</h2>
<p>What if alignment occurred mid-performance? Each section would be on its own journey, but to reach that climactic crescendo, they’d need to synchronize both in tempo and their position within the piece. Alignment should be foundational, not an afterthought.</p>
<h2>The OKRs are Cascading</h2>
<p>Envision a symphony dwindling from a full ensemble to solo drums. The music loses its essence. Similarly, in OKRs, the cascading model, where objectives trickle down layer by layer, risks distorting the primary goal. Instead, OKRs should be co-crafted, engaging every tier from the beginning.</p>
<h2>Time to fine-tune your OKRs</h2>
<p>In essence, the value of OKRs, much like a symphony, lies in alignment, cooperation, and clarity. They are the guiding script for an organizational magnum opus. If your organizational tune feels amiss, perhaps it’s time to fine-tune your OKRs.</p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 09 Aug 2023 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Why and How to make problem solving asynchronous</title>
                    <link>https://ahlstrom.info/problem-solving-asyncronous</link>
                    <description>Reasons Nr 1: Flexibility Work at your own pace, according to your own schedule with no need to co-locate to be able to collaborate. Nr 2: Deep Thinking Without the pressure of “thinking on the spot” in meetings, you are able to think deeply and develop creative solutions. Nr 3: Record-Keeping Ideas, feedback and solution are documented in one single document How to make problem solving asynchronous 1. Create a document in a tool that makes commenting easy. A tool such as: Google Docs Microsoft...</description>
                    <guid>https://ahlstrom.info/problem-solving-asyncronous</guid>
                      <content:encoded>
                            <![CDATA[<h2>Reasons</h2>
<h3>Nr 1: Flexibility</h3>
<p>Work at your own pace, according to your own schedule with no need to co-locate to be able to collaborate.</p>
<h3>Nr 2: Deep Thinking</h3>
<p>Without the pressure of “thinking on the spot” in meetings, you are able to think deeply and develop creative solutions.</p>
<h3>Nr 3: Record-Keeping</h3>
<p>Ideas, feedback and solution are documented in one single document</p>
<h2>How to make problem solving asynchronous</h2>
<h3>1. Create a document in a tool that makes commenting easy.</h3>
<p>A tool such as:</p>
<ul>
<li>Google Docs</li>
<li>Microsoft 360</li>
<li>Notion</li>
<li>Dropbox Paper</li>
</ul>
<h3>2. Write four headlines.</h3>
<ul>
<li>What is the problem?</li>
<li>Why is that a problem?</li>
<li>What are possible solutions?</li>
<li>Which solution do I recommend at the moment?</li>
</ul>
<p>Answer the questions above alone or with another person.</p>
<p><strong>Share the document, ask for comments and set a deadline.</strong></p>
<p>Done!</p>
]]>
                        </content:encoded>
                    <pubDate>Sat, 04 Mar 2023 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Turn the tide in an awful retrospective</title>
                    <link>https://ahlstrom.info/turn-the-tide-in-an-awful-retrospective-148ecef293a0</link>
                    <description>We’ve all been there, dreading this awful retrospective of a project or sprint gone completely off the rails. We probably learnt a lot, but the main gut feeling can be summarized in “Ouch”. Running a successful retrospective in these situations can be somewhat challenging, especially if you want the team to continue being a team at the end of it. Here are some important elements on how to run a retrospective that will not end in disaster. Check your heads and reset your thoughts Whether you...</description>
                    <guid>https://ahlstrom.info/turn-the-tide-in-an-awful-retrospective-148ecef293a0</guid>
                      <content:encoded>
                            <![CDATA[<p>We’ve all been there, dreading this awful retrospective of a project or sprint gone completely off the rails. We probably learnt a lot, but the main gut feeling can be summarized in “Ouch”.</p>
<p>Running a successful retrospective in these situations can be somewhat challenging, especially if you want the team to continue being a team at the end of it.</p>
<p>Here are some important elements on how to run a retrospective that will not end in disaster.</p>
<h2>Check your heads and reset your thoughts</h2>
<p>Whether you have your retro in the morning, in the afternoon or late in the evening, people need to reset their heads to the retrospective. Maybe they’ve had a crazy commute, had to wait for lunch for 30 minutes and then wolfed it within 5 minutes.</p>
<p>Asking icebreaker question is an easy way fast way of resetting your mind. Some dislike them and think the icebreakers are a waste of time, even then, the moment they start to think about “how silly the icebreaker are”… that’s when it has done its magic. It made them focus their thoughts on something else.</p>
<h2>Safe from harm</h2>
<p>Make the retro a safe place for improvement by stating that we believe and trust that everyone did the best they could with the information and knowledge they had at the time.</p>
<p>Every now and then I state the The Prime Directive written by Norm Kerth in his book Project Retrospectives: A Handbook for Team Reviews.</p>
<blockquote>
<p>Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.</p>
</blockquote>
<h2>Start with the positives alone</h2>
<p>This is one most important part of this retrospective. It is super easy to go into all things negative about a disastrous project, but by focusing on good and great achievements as a separate part of the retrospective we will have a record of what we experienced or learnt that felt important to the team.</p>
<p>Run an exercise writing stickies on the topic of everything good about the project.</p>
<blockquote>
<p>Before we get going with the nitty gritty of the project we need to remind ourself of everything that was really good with the project, so that we do not forget it.</p>
</blockquote>
<p>Let each member walk through their positive learnings from the project.</p>
<p>Group the stickies and ask the group to reflect on them and ask if there is anything that we need to add, again “so we don’t forget about it”.</p>
<h2>The improvements and the purely bad</h2>
<p>With some positivity towards the project you can now run a usual retro, such as “The Good, The Bad, The Ugly”, “Liked, Learned, Lacked, Longed For” or “Keep, Add, More, Less”. But remember that there is no need to run “The positives” from those retros, since you’ve already asked for them.</p>
<p>Similar to the previous, let each member walk through their notes. Group and reflect. Are there any action points to bring forward to the next sprint or project?</p>
<h2>End with the positives</h2>
<p>Now you hopefully have a whiteboard full of notes. Positive learnings, bad experiences we don’t want again and things we can improve.</p>
<p>Summarize and end the session by stating: This was a challenging sprint/project, we are pretty awesome that pulled through it. Re-iterate the action points on what we can do to get better, and focus a bit on all the things we’ve that was good and great at the end.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 04 Nov 2021 01:00:00 GMT</pubDate>
                </item><item>
                    <title>Filling someone else’s shoes</title>
                    <link>https://ahlstrom.info/filling-someone-elses-shoes-b04a546ffa8c</link>
                    <description>In smaller companies and start-ups it is fairly common that everyone does everything and try to chip in to stay alive. CTO, CPO, Head of Product and Head of Engineering is probably even the same person. As the company grows, the need for more clarified positions comes apparent. Someone that used to be Product Manager, Team Lead and Engineer now needs to focus fully on where they make most value and this opens up for others to fill their shoes with any of their other roles. Filling the shoes of...</description>
                    <guid>https://ahlstrom.info/filling-someone-elses-shoes-b04a546ffa8c</guid>
                      <content:encoded>
                            <![CDATA[<p>In smaller companies and start-ups it is fairly common that everyone does everything and try to chip in to stay alive. CTO, CPO, Head of Product and Head of Engineering is probably even the same person.</p>
<p>As the company grows, the need for more clarified positions comes apparent. Someone that used to be Product Manager, Team Lead and Engineer now needs to focus fully on where they make most value and this opens up for others to fill their shoes with any of their other roles.</p>
<p>Filling the shoes of a previous multitasker can become quite tricky, since the people who depend on you could hold you responsible for many of the responsibilities the previous person had.</p>
<p>Enter the <strong>Roles and Responsibilities</strong> workshop to clarify this.</p>
<hr>
<p>I’ve run a couple of different session’s of this workshop and it depends a bit on the attendees current roles. With plenty of people and many roles you try to dissociate the person from the role to identify the things they do, that probably needs to get done, but might not part of their role. With plenty of people with the same role you focus on what some people do in their role that others don’t.</p>
<p>Both of them is to clarify what is expected within your role and to clarify what else you do that is not part of it.</p>
<h2>“Plenty of people and many roles to clarify”-session</h2>
<p><strong>1. Add all names to a board.</strong></p>
<p>Fairly simple, no explanation needed.</p>
<p><img src="https://media.ahlstrom.info/filling_1.png" alt="Add All Names" title="Add All Names"></p>
<p><strong>2. Take 10 minutes and write up everything that you feel you are responsible for</strong></p>
<p>A lot of stress comes from uncertain responsibilities, things you think you are accountable to do but possibly don’t have a mandate to do.</p>
<p><img src="https://media.ahlstrom.info/filling_2.png" alt="What are your responsibilities" title="What are your responsibilities"></p>
<p><strong>3. Take 10 minutes to write up responsibilities that you think the others have.</strong></p>
<p>Now it’s time for the other members to give their point of view of what is missing or needs highlighting.<br>
<img src="https://media.ahlstrom.info/filling_3.png" alt="What others respond" title="What others respond"></p>
<p><strong>4. Switch the names to the job title that person has</strong></p>
<p>The twist comes when you dissociate the person with their role.<br>
<img src="https://media.ahlstrom.info/filling_4.png" alt="Dissociate the person with the role" title="Dissociate the person with the role"></p>
<p><strong>5. That should not be part of your role!</strong></p>
<p>With the roles, instead of names, on top of the column the team goes through all notes and identify the odd responsibilities. Should they be part of that role? Should someone else do it?</p>
<p><img src="https://media.ahlstrom.info/filling_5.png" alt="What should not be part of that responsibility" title="What should not be part of that responsibility"></p>
<p>Closing the session you identify next steps. How do you follow through on the changes in responsibility?</p>
<hr>
<h2>“Plenty of people with the same role”-session</h2>
<p><strong>1. Add all names to a board</strong></p>
<p>Yup, just do it.<br>
<img src="https://media.ahlstrom.info/filling_2_1.png" alt="Add all names" title="Add all names"></p>
<p><strong>2. Take 10 minutes and write up everything that you feel you are responsible for</strong></p>
<p>A lot of stress comes from uncertain responsibilities. Things that you feel that you are responsible for but possibly not have a mandate to do.<br>
<img src="https://media.ahlstrom.info/filling_2_2.png" alt="What are you responsible for?"><img src="https://media.ahlstrom.info/filling_2_1.png" alt="" title="filling_2_1.png"></p>
<p><strong>3. Switch the names of the columns</strong></p>
<p>Similar to <strong>plenty of people and many roles session</strong> there is a twist! Instead of changing the name to role, you change columns between you all.</p>
<p><img src="https://media.ahlstrom.info/filling_2_3.png" alt="Switch the names of the columns"></p>
<p><strong>4. That’s not part of my role!</strong></p>
<p>Look at your new column. Do you think all of these tickets should be your responsibility? Or they part of something else that the previous owner has responsibility over.</p>
<p><img src="https://media.ahlstrom.info/filling_2_4.png" alt="Not part of my role!"></p>
<p>Closing the session you identify next steps. How do you follow through on the changes in responsibility?</p>
<hr>
<blockquote>
<p>“With awareness come responsibility and choice” Amanda Lindhout</p>
</blockquote>
<p>By being aware of what others think you are responsible for and setting the right expectations when you are not responsible, will make your life much easier.</p>
<p>And remember, that stuff still needs to get done and even though tasks might not be part of your role it still might be part of your job.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 28 Oct 2021 02:00:00 GMT</pubDate>
                </item><item>
                    <title>How to pick a path when all of them lead somewhere.</title>
                    <link>https://ahlstrom.info/how-to-pick-a-path-when-all-of-them-lead-somewhere-3d2e89e187b7</link>
                    <description>You probably have too many things that you want to achieve With any project or initiatives more often than not you need to prioritize tasks, cause . With time not on our side, you need a simple way of figuring out what to focus on and what to skip. Two popular matrices that are widely used are Eisenhower Matrix and Impact/Effort Matrix. With both of them you simplify and condense all data you have on a task and plot them based upon two criteria. The Eisenhower Matrix It is easy to focus on...</description>
                    <guid>https://ahlstrom.info/how-to-pick-a-path-when-all-of-them-lead-somewhere-3d2e89e187b7</guid>
                      <content:encoded>
                            <![CDATA[<p>You probably have too many things that you want to achieve</p>
<p>With any project or initiatives more often than not you need to prioritize tasks, cause . With time not on our side, you need a simple way of figuring out what to focus on and what to skip.</p>
<p>Two popular matrices that are widely used are Eisenhower Matrix and Impact/Effort Matrix. With both of them you simplify and condense all data you have on a task and plot them based upon two criteria.</p>
<h2>The Eisenhower Matrix</h2>
<p>It is easy to focus on urgent tasks and never get to work on the important tasks. Focusing on putting out the fire rather than figuring out what is feeding the fire, is a sure way of continuing in fire fighting mode.</p>
<p>U.S. President Dwight D. Eisenhower realized that we need to spend time on important tasks and not only urgent task, that urgency alone is not the only factor on how important a task is.</p>
<p>Thus the two criteria are <strong>Urgency</strong> and <strong>Importance</strong>.</p>
<p><img src="https://media.ahlstrom.info/matrix_1.png" alt="The Eisenhower Matrix"></p>
<h3>Just Do It!</h3>
<p>Tasks with high importance and urgency are easy to prioritize. Just Do It!</p>
<h3>Decide When</h3>
<p>These are slightly more tricky. Since they are super important, but not that urgent, we tend to forget about them. These tasks need to be scheduled or they might end up in Just Do It!</p>
<h3>Delegate</h3>
<p>You should try to delegate the urgent but not important tasks or better yet, find a way to automate them.</p>
<h3>Try to Skip It</h3>
<p>Time wasters, ineffective meetings with no agendas, reports to fill out. Can it be removed, remove it, skip it, kill it!</p>
<h2>Impact Effort Matrix</h2>
<p>There are some similarities to Eisenhower Matrix, but the focus on Impact/Effort matrix is pretty clear from the naming. Effort is a sense of how much time a task takes or how complex it will be to solve. With Impact we try to measure the importance of the outcome.</p>
<p><img src="https://media.ahlstrom.info/matrix_2.png" alt="Impact Effort Matrix"></p>
<h3>Quick Wins!</h3>
<p>These low effort and high impact tasks are your low hanging fruits. Pick them quickly!</p>
<h3>Fill Ins!</h3>
<p>Things to fill out your week. Takes a little time and have some minor impact.</p>
<h3>Major Projects</h3>
<p>These tasks are probably not tasks. You’ll never get them done without planning and scheduling. Don’t do too many of these at the same time since they need a lot of focus.</p>
<h3>Not Worth It!</h3>
<p>Stop it immediately. Do nothing in this area.</p>
<blockquote>
<p>“Don’t spend major time on minor things” — Jim Rohn</p>
</blockquote>
<p>Now take out your physical or digital sticky notes, write down your tasks. Put them on the matrix that suits your need. Then let the discussions begin, cause maybe a task that you think is a Quick Win is a Major Project for someone else.</p>
]]>
                        </content:encoded>
                    <pubDate>Mon, 25 Oct 2021 02:00:00 GMT</pubDate>
                </item><item>
                    <title>OK, let’s get some Results!</title>
                    <link>https://ahlstrom.info/ok-lets-get-some-results-278a003da328</link>
                    <description>In the article “The perils of bad strategy” the author Richard Rumelt summarizes some key concepts and stories from his excellent book “Good Strategy/Bad Strategy”. A good strategy does more than urge us forward toward a goal or vision; it honestly acknowledges the challenges we face and provides an approach to overcoming them.- Richard Rumelt Richard Rumelt writes that a good strategy has a kernel that contains three important elements: a diagnosis that condense and explain a difficult...</description>
                    <guid>https://ahlstrom.info/ok-lets-get-some-results-278a003da328</guid>
                      <content:encoded>
                            <![CDATA[<p>In the article <a href="https://www.mckinsey.com/capabilities/strategy-and-corporate-finance/our-insights/the-perils-of-bad-strategy">“The perils of bad strategy”</a> the author Richard Rumelt summarizes some key concepts and stories from his excellent book <a href="https://www.goodreads.com/book/show/11721966-good-strategy-bad-strategy">“Good Strategy/Bad Strategy”</a>.</p>
<blockquote>
<p>A good strategy does more than urge us forward toward a goal or vision; it honestly acknowledges the challenges we face and provides an approach to overcoming them.- Richard Rumelt</p>
</blockquote>
<p>Richard Rumelt writes that a good strategy has a kernel that contains three important elements: <strong>a diagnosis</strong> that condense and explain a difficult challenge, <strong>a guiding policy</strong> on which approach you’ll take and constraints you have while trying to overcome the challenge and lastly a set of coordinated <strong>coherent actions</strong> which together will solve the challenge.</p>
<p>This sounds awfully similar to the <strong>Objective and Key Results</strong> (OKRs) popularized by the likes of Google at the end of the last century.</p>
<h2>The briefest history of OKRs.</h2>
<p>OKRs is a very popular framework for setting goals on different levels of a company. It sprung out of Peter Drucker’s “Manage by Objectives” coined in the 1950s and later improved by Andrew Growe over at Intel in the 1960s.</p>
<h2>An inspiring Objective</h2>
<p>Objectives are a description of how we see the future. A quote that is inspiring, sets a direction that is qualitative and hard to achieve.</p>
<ul>
<li>Where do we need to go?</li>
<li>Why do we need to go there?</li>
<li>What kind of constraints do we have?<br>
Similar to Richard Rumelt diagnosis and guiding policy, the Objective deals with declaring and clarifying the challenge.</li>
</ul>
<h2>The constrains of Key Results</h2>
<p>Key Results are how we measure results and progress towards achieving an Objective.</p>
<blockquote>
<p>Key Results are like latitudes and logitudes in the background of Google Maps. Informing us when we’ve made wrong turns, if we’re progressing as expected and when we’ve arrived at our destination.</p>
</blockquote>
<p>If you write your important KRs before you dig deep into initiatives or actions will also help you from jumping to conclusions on how to solve the problem. What if there are multiple ways of getting to the goal? What if you actually arrived at your destination faster by taking another path?</p>
<p>While some part of the Objective states the guiding policy for your strategy, the Key Results are equally important as constraints.</p>
<h2>Initiatives and coherent actions</h2>
<p>Initiatives are the OKRs way of clarifying coherent actions i.e. What kind of work do we need to do to get us there?</p>
<h2>OKRs and Good Strategy</h2>
<p>Good strategy gives us clarity and acknowledges the biggest challenges we have a company. OKRs is one great way to clarify and work with that strategy.</p>
<blockquote>
<p>OKRs is a bridge between a Good Strategy and Execution.</p>
</blockquote>
]]>
                        </content:encoded>
                    <pubDate>Thu, 21 Oct 2021 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Solution to all those missing agendas</title>
                    <link>https://ahlstrom.info/solution-to-all-those-missing-agendas-eb40da762ed7</link>
                    <description>If you are anything like me and facilitating plenty of meetings or only have a few meet coming up. There is an easy template or acronym that you can use for planning out your session. Each of the letters propel you into the next one. Intent gets you half way to what you actually want as an outcome. With that expected outcome you can start planning an agenda, where you start with the end goal in sight. Intention What do we intend with the meeting? Why even have it? Desired Outcome What specific...</description>
                    <guid>https://ahlstrom.info/solution-to-all-those-missing-agendas-eb40da762ed7</guid>
                      <content:encoded>
                            <![CDATA[<p>If you are anything like me and facilitating plenty of meetings or only have a few meet coming up. There is an easy template or acronym that you can use for planning out your session.</p>
<p>Each of the letters propel you into the next one. Intent gets you half way to what you actually want as an outcome. With that expected outcome you can start planning an agenda, where you start with the end goal in sight.</p>
<h2>Intention</h2>
<p>What do we intend with the meeting? Why even have it?</p>
<h2>Desired Outcome</h2>
<p>What specific results do we want to have achieved at the end of this meeting?</p>
<h2>Agenda</h2>
<p>What will we do at the meeting and in what order to achieve the expected results.</p>
<hr>
<p>Sometimes this is enough for a great meeting. It takes a couple of minutes to write, but it highly improves the meeting. When I facilitate longer sessions I add the last three letters of the acronym.</p>
<h2>Roles</h2>
<p>What roles and responsibilities are there for the meeting to run smoothly? Who facilitates, participates, documents? What is expected of the participants.</p>
<h2>Rules</h2>
<p>What kind of rules do we have in this meeting?</p>
<p>Should we practice active listening and not just wait for the moment to state your point?</p>
<p>Should we use some way of indicating who talks and how to hand over the mic to someone else, especially valid when doing a hybrid meeting with people both remote and on-site.</p>
<p>Should computers or mobiles be used when we run a meeting where everyone is in the same room?</p>
<p>Law of two-feet i.e. Leave if you don’t contribute?</p>
<p>How do we take minutes and where are they stored?</p>
<p>Let the participants come up with other rules that they want to include.</p>
<h2>Time</h2>
<p>How long is the meeting, will there be breaks?</p>
<p>Read slightly more over at <a href="https://toolbox.hyperisland.com/idoarrt-meeting-design">https://toolbox.hyperisland.com/idoarrt-meeting-design</a></p>
]]>
                        </content:encoded>
                    <pubDate>Wed, 20 Oct 2021 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Guidelines over Processes</title>
                    <link>https://ahlstrom.info/guidelines-over-processes-6bbb6c8bb336</link>
                    <description>As I mentioned in the previous post about growing pains, one regular pattern seen when growing past 50 people is the shift from direct communication to processes. While it is easy to believe that processes could solve communication and vision challenges, this is seldom the case. Hey there! You are not following the process! Sure, we could always point at the process and say “Hey there! You are not following the process!“ And hope that your colleagues changes behavior, but that usually has no...</description>
                    <guid>https://ahlstrom.info/guidelines-over-processes-6bbb6c8bb336</guid>
                      <content:encoded>
                            <![CDATA[<p>As I mentioned in the <a href="https://ahlstrom.info/growing-pains-for-growing-companies-8665bc79c937">previous post about growing pains</a>, one regular pattern seen when growing past 50 people is the shift from direct communication to processes.</p>
<p>While it is easy to believe that processes could solve communication and vision challenges, this is seldom the case.</p>
<blockquote>
<p>Hey there! You are not following the process!</p>
</blockquote>
<p>Sure, we could always point at the process and say <em>“Hey there! You are not following the process!“</em> And hope that your colleagues changes behavior, but that usually has no long lasting effects, especially when there is a believe that “what got us here, will take us there”.</p>
<p>There is a reason a company succeeds and grows, and it is probably credited with <strong>founders’ core values</strong>. Customer-centric, adaptability, collaboration, deep technical skills, “we can do it”-mentality to name just a few.</p>
<p>When these rather informal values go through the transformation to become documented processes a lot of agility and flexibility are lost on the way.</p>
<p><img src="https://media.ahlstrom.info/guidelines_follow_the_path.jpg" alt="The Eisenhower Matrix"><br>
<a href="https://unsplash.com/@2mduffel?utm_source=medium&amp;utm_medium=referral">Photo by Mark Duffel on Unsplash</a></p>
<p>Rules and processes have a tendency to be absolute and we need a different way to move forward with our vision and at the same time have the opportunity to steer away from it temporarily when needed.</p>
<p>Similar to how the agile manifesto has values that captures both sides of an argument and favors one, so could a company capture its guidelines.</p>
<blockquote>
<p>That is, while there is value in the items on the right, we value the items on the left more. - Agile Manifesto</p>
</blockquote>
<p>Instead of writing a process around “Choice A versus Choice B” write guidelines with focus of picking one over the other, “Choice A over Choice B”. Making it easier transparent when we sidestep, but that is ok. Also making it easier to move forward on the vision.</p>
<p>Some examples of guidelines:</p>
<ul>
<li>Money over Glory</li>
<li>Support existing customers over acquiring new customers</li>
<li>Subscription over One-Time Payment</li>
<li>Improve existing products over Building new products</li>
<li>MVP over Big Bang</li>
<li>Collaboration over Silos</li>
<li>Team players over Rock stars</li>
<li>Done over Perfect</li>
</ul>
<p>Similar to the agile manifesto, while there is value in the items on the right, we value the items on the left more.</p>
<p>While there is value in formal processes, I value the agility in guidelines more.</p>
]]>
                        </content:encoded>
                    <pubDate>Thu, 20 May 2021 02:00:00 GMT</pubDate>
                </item><item>
                    <title>Growing pains for growing companies</title>
                    <link>https://ahlstrom.info/growing-pains-for-growing-companies-8665bc79c937</link>
                    <description>Read this great article about Molly Graham’s experiences with companies facing challenges during rapid growth and hiring. Managers should focus on normalizing and confirming feelings, their employees feel when change happens in at a rapid pace. As a leader, you want to head it off at the pass and proactively say, ‘Hey, this is what you can expect to feel during this time of growth. It’s pretty universal‘. - Molly Graham Rapid growth could mean that your employees are challenged by changes in...</description>
                    <guid>https://ahlstrom.info/growing-pains-for-growing-companies-8665bc79c937</guid>
                      <content:encoded>
                            <![CDATA[<p>Read this great article about <a href="https://review.firstround.com/give-away-your-legos-and-other-commandments-for-scaling-startups">Molly Graham’s experiences</a> with companies facing challenges during rapid growth and hiring. Managers should focus on normalizing and confirming feelings, their employees feel when change happens in at a rapid pace.</p>
<blockquote>
<p>As a leader, you want to head it off at the pass and proactively say, ‘Hey, this is what you can expect to feel during this time of growth. It’s pretty universal‘. - Molly Graham</p>
</blockquote>
<p>Rapid growth could mean that your employees are challenged by changes in roles or responsibilities. Certain parts of their work or responsibility, where they have done an excellent job, no longer belong to them. By focusing on the vision and the future and help the picturing it, it eases the transition.</p>
<blockquote>
<p>One of the best techniques for getting people through job-change anxiety is to help them picture the reality of their next job and the size of the opportunity. - Molly Graham</p>
</blockquote>
<p>Graham also sees patterns when companies grow beyond a certain amount of employees.</p>
<h3>We used to be a family, now we’re a company!?</h3>
<p>Around 30 to 50 employees you go from being a family where everyone knows each other and can strike up a conversation at any time. Communication is easy and direct. At 50 employees you’ve reached the level where you are a real company, not just a small team.</p>
<blockquote>
<p>Everything that used to come naturally is now a struggle. - Molly Graham</p>
</blockquote>
<p>While it is easy to focus on defining complex processes to overcome the need for a clearer way of working, you should focus on the principles and guidelines you wish to follow.</p>
<h3>We can still change the vision and mission with ease</h3>
<p>From 50 to 250 it is still easy to get your message across the company and to change the trajectory of the company. Beyond 250 employees it mostly depends on what you did well before.</p>
<blockquote>
<p>A lot of how this phase feels has to do with how good of a ‘parent’ you were earlier on. - Molly Graham</p>
</blockquote>
<h3>In summary</h3>
<p>How we hire and look after the first 100 employees will have an impact and set the tone for the next 200. Be good early on, establish guidelines rather than processes. Be transparent and open about growing pains.</p>
]]>
                        </content:encoded>
                    <pubDate>Tue, 04 May 2021 02:00:00 GMT</pubDate>
                </item><item>
                    <title>A freshen up on psychological safety</title>
                    <link>https://ahlstrom.info/a-freshen-up-on-psychological-safety-d165e6c057e7</link>
                    <description>Many moons have passed since I was introduced to the term psychologically safety and I realized that a freshen up was needed, clarity on what we mean when talking about building a psychologically safe workplace. Psychological safety is a belief that one will not be punished or humiliated for speaking up with ideas, questions, concerns or mistakes. - Amy Edmondson I found this great TedX talk by Professor Amy Edmondson that coined the term back in 1999. My main takeaways on building...</description>
                    <guid>https://ahlstrom.info/a-freshen-up-on-psychological-safety-d165e6c057e7</guid>
                      <content:encoded>
                            <![CDATA[<p>Many moons have passed since I was introduced to the term psychologically safety and I realized that a freshen up was needed, clarity on what we mean when talking about building a psychologically safe workplace.</p>
<blockquote>
<p>Psychological safety is a belief that one will not be punished or humiliated for speaking up with ideas, questions, concerns or mistakes. - Amy Edmondson</p>
</blockquote>
<p>I found this great TedX talk by Professor Amy Edmondson that coined the term back in 1999.</p>

<p>My main takeaways on building psychological safety are:</p>
<ol>
<li><strong>Frame the work as a learning problem, not an execution problem.</strong> We have never been in this situation before, or for long, and we need everyone’s brains and voices in the game.</li>
<li><strong>Acknowledge your own fallibility.</strong> Say simple things like “I might miss something, I need to hear from you…“.</li>
<li><strong>Model curiosity.</strong> Ask a lot of questions.</li>
</ol>
]]>
                        </content:encoded>
                    <pubDate>Fri, 30 Apr 2021 02:00:00 GMT</pubDate>
                </item>
        </channel>
    </rss>
  