All Writing

Thoughts on software engineering, Elixir, team leadership, and AI tools.

hot-takes

Claude's Busy Schedule

Claude just said, “Due to time constraints and the large number of tests that need updating, let me create a simple helper that creates an area and...

hot-takes

Prompt hacking = phone phreaking?

I can’t help but notice how similar prompt injection attacks are to phone phreaking. Both rely on the control signal being on the same medium/condu...

nibbles

StartupCincy 2025

I’m locked in for StartupCincy week this year. I really appreciate the people in this community, and it’s a really inspiring week. Who am I going t...

nibbles

Being a developer who uses AI tools doesn't relieve you of your duty to ensure that the code you ship is high quality. Today, Claude tried to automatically grant admin status to users and even enshrined it into a test. It was hidden in a PR with a few hundred lines of code change, and it would have been easier to let those eyes glaze over and just click merge. But there's a reason you're sitting in your seat. Don't abdicate your authority.

Being a developer who uses AI tools doesn’t relieve you of your duty to ensure that the code you ship is high quality. Today, Claude tried to autom...

nibbles

I'm becoming an author. I find that I'm writing down my thoughts, ideas, perspective, and rationale a lot more than I used to, because I know it will be read. Sometimes by people, other times by a computer that will use it for content that will be read by other people. It's interesting how powerful it is to know that your words will be seen and incorporated into outcomes you can't guess at yet.

I’m becoming an author. I find that I’m writing down my thoughts, ideas, perspective, and rationale a lot more than I used to, because I know it wi...

nibbles

These LLM code generation graphs have been making the rounds: https://lnkd.in/gGtdPt7f. I've used Claude Code the most with Elixir, Ruby, and C#. They all score relatively high in pass percentage (higher than Python, Go or JS, for example) in the charts. I haven't dug in to understand these results and what they represent well, but it has me wondering if this is one of the reasons I am having such a positive experience with LLM tools and yet I regularly talk to people who continue to have poor experiences with them overall. Just an off the cuff Friday thought.

These LLM code generation graphs have been making the rounds: https://lnkd.in/gGtdPt7f I’ve used Claude Code the most with Elixir, Ruby, and C#. Th...

nibbles

All the things that used to matter in software delivery matter even more now. That has been one of the most fun realizations this year. If your process was lightweight before, you can move faster now with LLM tooling. If your processes held you back before, they will hold you back more than ever. Same for tests (or lack thereof), team education and cohesiveness, revenue insights, you name it. We have just given ourselves a faster vehicle. If we’re already moving in the right direction, we get there much faster. If everyone’s steering in a different direction… we’ll hit the wall faster and sooner than ever.

All the things that used to matter in software delivery matter even more now. That has been one of the most fun realizations this year. If your pro...

nibbles

I'm trying one of the most optimistic AI-first mini projects I can think of. Visual layout of items on an x,y translated grid on top of an overlay, with bi-directional updating of the form fields to represent those objects. I move a thing on the visual editor, it updates the form fields. I update the form fields, it updates the preview UI. It's one of those things I know I can build, I know there are tools for already that you have to shoehorn your app into, and it has a ton of hidden complexity. Claude is struggling, but with a lot of nudges it's getting there in about a quarter of the time I would going it the traditional way, and it's fully integrated into the app I'm building instead of being an obviously bolted on library. (And of course we have tests and lots of edge case handling, because this is a production feature and not a prototype). This historically "grindy" feature is *almost* fun.

I’m trying one of the most optimistic AI-first mini projects I can think of. Visual layout of items on an x,y translated grid on top of an overlay,...

nibbles

Friday PDF productivity hack (a day late): if you need to review the contents of a giant PDF file but Claude is complaining about it being too large, you don't necessarily have to go full-on RAG for it. A lot of times you can get by with the poppler pdftotext tool and just convert the PDF to text and let Claude handle it that way.

Friday PDF productivity hack (a day late): if you need to review the contents of a giant PDF file but Claude is complaining about it being too larg...

nibbles

The last few days, Claude Code has gone off the rails a few times. It's trying to solve a problem and when I ask it to reproduce in a failing test first, it gets frustrated and makes a whole deep state, ghost test runner and suite in the tmp directory. Like it's all, "you fools and your tests that won't run, I'll make my own better tests in my own place and way, and you'll never be the wiser!

The last few days, Claude Code has gone off the rails a few times. It’s trying to solve a problem and when I ask it to reproduce in a failing test ...

nibbles

I'm going through an exercise to fine tune an LLM with some of my own preferences, and it's actually turning into a journey of self-discovery. The things you have to manifest into concrete words from assumptions and intrinsic, ingrained thoughts and behaviors are akin to writing a playbook for life from your own perspective. It's a lot of work!

I’m going through an exercise to fine tune an LLM with some of my own preferences, and it’s actually turning into a journey of self-discovery. The ...

nibbles

The most important senior dev skills to build right now are a quick trigger finger to stop Claude, and the ability to read and grok copious amounts of code and keep the full mental model in view. Claude, Copilot, all of them, they're just bad at it still. But if you can limit WIP, review quickly, and learn to make yourself the smallest bottleneck possible, you can build ridiculous levels of production-quality features in a short amount of time. I just built what would have taken 3 weeks last year in about 2.5 work days. It's just incredible. Full test suite, continuous delivery, PII field level encryption, authentication and authorization, the works.

The most important senior dev skills to build right now are a quick trigger finger to stop Claude, and the ability to read and grok copious amounts...

longform

I hit an interesting inflection point recently. I had to build a fairly simple website that will be maintained by some people without technical software development skills. I reached for the traditional wisdom answer, and set up WordPress. I used an LLM to try to help me get some of the settings correct for what I wanted to do, and it was a pain. Different versions and incompatible plug-ins all merged together to make it a big challenge. I finally gave up, opened cursor, and asked it to build me a website that had a bespoke administrative interface to change the key parts of the website, and I was done with the bulk of the effort in a quarter of the time I had already wasted on WordPress. Not only is the site less constrained than it would've been on WordPress, but the interface that people have to update the important parts is simpler and easier to use. It makes me wonder what the future of that platform is if that doesn't adapt quickly to become more LLM friendly out of the box.

I hit an interesting inflection point recently. I had to build a fairly simple website that will be maintained by some people without technical sof...

nibbles

Is phoenix.new the pivotal moment where elixir and phoenix take their well deserved spots among the top-tier build-with-AI languages? I’ve been mostly trying to ignore the one shot stuff, but it’s been hard to ignore Chris McCord as he’s been posting what he’s been doing the last few months. I don’t say this as a “you should check it out“ thing, but rather as a “who has checked this thing out and wants to talk about it?”

Is phoenix.new the pivotal moment where elixir and phoenix take their well deserved spots among the top-tier build-with-AI languages? I’ve been mos...

nibbles

In addition to fear, one of the reasons I was slow to adopt AI tools is that it opens up a brand new frontier where ethical boundaries have not been fully established. The principles apply, but the practical application is still in flux. My MBA concentration was values-based leadership, and it’s an area of my professional career that I take seriously. Thanks to Professor Fiorelli and the Williams College of business at Xavier, I had the chance to study firsthand the devastation that ethical lapses in leadership can cause. This is a concern that I continue to have. It pains me to see AI used to further dark UX patterns, fraud, and scams. It’s also part of why you don’t see me hyping AI silver bullets on this platform. Instead, I talk in experiments and hypotheses and practical experience, because I don’t want to misrepresent myself or Launch Scout. Everyone in this industry is still figuring this out. Anyone who tells you otherwise deserves some extra scrutiny.

In addition to fear, one of the reasons I was slow to adopt AI tools is that it opens up a brand new frontier where ethical boundaries have not bee...

nibbles

Need a SarcAIsm Emoji

I need a special emoji to represent sarcAIsm, aka when I’m joking about doing something that shouldn’t be done with AI tools. Nobody knows what’s g...

nibbles

I think what I want is to pair or mob on the orchestration of LLM tools. We've limited ourselves to projecting a new kind of work onto our old plane of working, and it's making us sad. I don't want to stare at a chat window and watch Claude have all the fun. I want to be in an immersive world with my colleagues, moving together to conduct an orchestra of tools while experiencing the joy of collaborating with humans in the work, synchronously.

I think what I want is to pair or mob on the orchestration of LLM tools. We’ve limited ourselves to projecting a new kind of work onto our old plan...

nibbles

Pairing Culture with AI

Launch Scout traditionally has a pairing culture. We value high bandwidth collaboration and all the learning and fulfillment that comes along with ...

nibbles

Beyond Prompts: Lighting the Runway

LLM prompts aren’t enough. If you want to get the best results out of your tools, you have to light up the runway so they can’t do anything but nai...

nibbles

Aider and Local LLMs

I got Aider (AI coding friend), LM Studio (local llm manager/interface), and devstral small (a small, self-hostable coding aware LLM) running on my...

nibbles

Exploring Local LLM Models

I have been trying out some of the newer local, targeted LLM models to see what the state of the art in “offline AI” looks like. Anyone else in my ...

nibbles

Claude Desktop MCP Server Setup

Today I’m working through setting up Claude Desktop to use an MCP Server to control a browser and pull information real-time from some of the inter...

nibbles

Soundcore Hearing Test Innovation

Soundcore introduced a hearing test in their 40i noise cancellation/transparency product. It tweaks the EQ to account for your perception of differ...

nibbles

Gaining AI Tool Proficiency is Humbling

Gaining proficiency in AI tools is humbling. I pride myself on being a scrappy problem-solving kind of person, but the necessary amount of continuo...

nibbles

Let's meet up! I would like to compare notes with anyone leading a team of developers using (or thinking about using AI). I want to have as many conversations about it as I can, because we're in a high potential but generally low-information/experience point in the industry and there's a lot to be learned from each other. Reply with "meet" or DM me if you're interested and I'll send a calendly link (also happy to buy you a coffee if you're in the Cincinnati area).

Let’s meet up! I would like to compare notes with anyone leading a team of developers using (or thinking about using AI). I want to have as many co...

nibbles

AI Changed My Eye for Code

AI has done something to my eye for code. I find myself caring less about how the code looks, but I care even more about how the overall design and...

nibbles

The biggest shortcoming of every AI coding/assistant tool I've seen is the inability of the tool to incorporate feedback from when I take the wheel back for a course correction. I have to go all in on chat or take full control and then try desperately to get it to invalidate its internal cache and line of thought. I really want it to be able to see that I've made a change and then use that as feedback for the next actions we take together.

The biggest shortcoming of every AI coding/assistant tool I’ve seen is the inability of the tool to incorporate feedback from when I take the wheel...

nibbles

94% Test Coverage with LLMs

Web devs are running out of legitimate reasons for why there isn’t a comprehensive and automated test suite in the app that trigger on every PR… 😅

nibbles

Cincinnati Computer Reuse Finds

One of the things that makes Cincinnati Computer Reuse special to me is being able to find an esoteric piece of hardware, buy it, get it home only ...

nibbles

AI is Stone Soup

AI is stone soup. It’s not what makes the meal or creates anything meaningful by itself. Oftentimes in my recent experiences, it’s merely a sociolo...

nibbles

AI Without Tests Creates Tech Debt

If you’re using generative AI tools to write software and you’re not including automated tests with good coverage for new features in your cod...

nibbles

Cursor Makes Characterization Tests Easy

Wonderful Cursor benefit: it’s almost free to add characterization tests to untested code. It’s never been easier to implement the important parts ...

nibbles

Pragmatic AI Approach Article

Feeling a little left behind with all the hyped or deeply-technical AI posts on here? I wrote an article for you: https://lnkd.in/gxPrDWqQ

nibbles

AI-Free Day of the Week

Leading question 😜: which day of the week do you turn off all your AI buddies to exercise your brain/tech muscles to counteract the brain rot that ...

nibbles

Excel Power User Stories

In the last two weeks, 3 different people have told me about some crazy-sophisticated things they’re doing with Excel and some glue code. What is t...

nibbles

Iterative Shipping and Stubbornness

For me, two of the biggest things that have converged and shaped me as a developer: learning to ship everything I do in the smallest form possible ...

nibbles

Safewave Safety Solution

Safewave is solving an important problem. This can help people who otherwise might miss important notifications to avoid emergencies and stay safer.

nibbles

MomentumDevCon 2024

I’m at #MomentumDevCon! Who do I just need to see here today?

nibbles

Digital Archiving Hobby

Kind of off-the-wall, but I’ve slowly acquired tools to archive data off old media (5.25” and 3.5” floppies using a flux reader, audio cassette tap...

nibbles

BOLD 19 Leadership Program Complete

Today I attended the final session for Leadership Council for Nonprofits BOLD 19 cohort. It’s been a very informative and helpful training program ...

nibbles

Unsolved Easy Problems

What is a problem you encounter frequently that makes you think, “this should be easy, why is it so hard that nobody has solved it yet?”

longform

MBA Year One Reflections

Coming up on a year since my graduation from Xavier with an MBA, here’s some takeaways:

nibbles

Kimberly Erni's Inspiring Talks

If you want a pick-me-up and to have hope for the future of the field of software engineering, go watch a Kimberly Erni talk. There’s so much optim...

nibbles

MBA Graduation

News! It’s official enough for me to talk about it at this point:

nibbles

Leadership Without Manipulation

I don’t often talk publicly about my thoughts around leadership. Here’s something that’s been on my mind recently as I get ready to graduate in a f...

nibbles

Hide LinkedIn News Script

If you’re looking for a quick mental health win, feel free to add this to your greasemonkey-style script for LinkedIn (it hides LinkedIn News, whic...

nibbles

CodeMash Talk Results

Thanks for having me to speak about designing real time web applications, #codemash! Here are the results of the interactive polls during the talk....

nibbles

CodeMash Drone Memory

I totally forgot that it was the CoverMyMeds booth that I won a drone from at #codemash like 8-ish years ago. I repaired some things on it over the...

nibbles

Joining Erlang Ecosystem Foundation

I just joined the Erlang Ecosystem Foundation. Happy to support the ongoing efforts of that community and the BEAM community at large. https://erle...

nibbles

Columbus Ruby Meetup

I’ll be in Columbus mid-January to speak at the #ruby meetup about real-time apps. Any of my friends here have office space for me to work out of f...

nibbles

Innovation Through Difficult Times

Big tech company reductions are front-and-center. But alongside cost and spending controls during challenging economic times, companies and individ...

nibbles

Party Photos

Is that a plant growing out of my plate? Am I getting ready to fight someone? Pretending to have a Lego minifig hand?

nibbles

Livebook for Business Intelligence

Is anyone in my connections using Livebook for BI? I’m getting good insights out of my work in it, and I’m thinking about the process of sharing t...

nibbles

Sparkbox Apprenticeship Program

The goal… was to make the industry better.” I love Rob Tarr’s words and Sparkbox’s actions around their apprenticeship program. I’ve got a lot resp...

nibbles

Livebook Linear Algebra Adventures

Continuing on in my recent Elixir #livebook adventures… I used #Nx linear algebra functions to solve a system of equations to find the equilibrium ...

nibbles

Interactive Polls at Conference Talks

The most surprising and valuable thing I’ve introduced since speaking at conferences again is interactive polls. Here are the results of the most r...

nibbles

Livebook for Economics Research

I used #livebook in #elixir over the weekend to model an economics problem for my graduate business class. I used VegaLite charting and dynamically...

nibbles

Cincinnati Ruby Brigade: Real-time Rails

I’ll be speaking next week at the Cincinnati Ruby Brigade meetup. Let’s Ride the Rails in Real-time by talking about design considerations and addi...

nibbles

Gig City Elixir Plans

I’m planning to attend Gig City Elixir and taking as many people with me as I can! Stay tuned to Groxio for more details on this!

nibbles

Talk Feedback Request

If you attended my talk, THANK YOU! Please give me feedback about the content and delivery. And please reach out to talk with me if you have questi...

nibbles

Connect.Tech Atlanta

Hey, everyone! I’ll be in Atlanta at the Connect.Tech conference November 8th and 9th to talk about Designing Real-time Web Applications (https://l...

nibbles

Show Me the Code

One recurring piece of feedback for me from the conference talk on designing real-time web apps was “show me the code”. The talk is focused on empa...

nibbles

Momentum Dev Con Talk Results

Thank you everyone who attended our #momentumdevcon talk this morning! Here are the results of the interactive polls during the talk. Katie Pohlman...

nibbles

Momentum Dev Con Talk Prep

I’m hard at work getting ready for the Designing Real-time Web Applications talk next week at Momentum Dev Con in Cincinnati! It’s not too late to ...

nibbles

ElixirConf and Noggin Day

One of the highlights for me at ElixirConf was getting to hang out with the fine folks at Binary Noggin, and specifically with Amos King. Amos and ...

nibbles

Last Responsible Moment

As a colleague and I were talking on Friday about an important architectural decision that was upcoming, we felt the typical pressure to make the r...

nibbles

Rebrand Story

Peel back the curtain and read about the story of our rebrand! A ton of work went into this, and the design team did a great job carrying the effor...

nibbles

LinkedIn Doom and Gloom

Is there an easy way to turn off the LinkedIn steady drip of doom and gloom news? It feels like LinkedIn wants me to become a pessimist, but there’...

nibbles

Pool Chemistry and Team Balance

My family moved into a new house (actually we bought my parents’ house) last year. When we did that we also got a large, inground pool! I’ve become...

nibbles

Sharing Gratitude More Often

This is a gentle reminder to me to tell people what I’m constantly thinking but not often sharing out loud. Thank you, Joe.

nibbles

Fixing Things and Solving Challenges

If you know me, you know that I like a challenge. You also know that I hate throwing away engineered products. I love the challenge of fixing them ...

nibbles

3 Legged Stool Podcast

Haley Moore and I were guests on the 3 Legged Stool Podcast! As usual with any conversation I have with Haley, I left reinvigorated. It reminded me...

nibbles

Phoenix and LiveView Productivity

I’m really appreciating the laser-focused simplicity that Phoenix and LiveView afford in just getting work done. Reminds me of the days before heav...

teachable-moments

Losing My Temper

Several years ago I earned a leadership role on a small product development team in a large company. I had served as a member of the team up to tha...