innovation emblem

Refactoring Mailer.ts for Flexibility

Learned my lesson. Oh, Claude3… “I want to refactor mailer.ts to accept two optional arguments, apikey and transport. If it receives the apikey it will create the sendgrid transport, otherwise it will use the transport passed in. I then want my test to create a mock object that can act as the transport and test all the expectations against that so that I don’t have to mock nodemailer.

Technology refactoringtesting
agility emblem

Using LLMs for Project Backlogs

I try to use LLM chat assistants responsibly. Using the speed of the LLM to reduce repetitive work, organize content and help generate insights, while ensuring people review and are ultimately accountable for the content. Here’s an example of how I build a software project backlog. Here’s a more readible version of this flow: https://lnkd.in/e_d76NkG

Product Management LLMproject management
innovation emblem

Navigating Code Coverage Challenges

Chaotic day. In the quiet moments, I worked on tests. As I close coverage gaps I find bugs in the newly converted code. Valuable as that is, it doesn’t verify behavior matches the original code. So, great prep with AI assisted rewrites is beefing up test coverage in the old code.

Technology testingsoftware development
learning emblem

Boosting Test Coverage with AI Assistance

A day where I could barely string 30 min. I raised test coverage from 75% to 96%. 50 additional tests cases. Fixtures. Refactoring. Bug fixing. And remember, this is my second week with node.js and jest in six years. So, the AI assistance is significantly increasing my speed.

Technology Node.jsJest
leadership emblem

The True Purpose of Business and Tech

Leading a successful business is about profit? Building good software is about tech? No. They are both about the welfare of people. Those hows are a means to an end.

Leadership leadershiptechnology
innovation emblem

Introducing Conductor: A Multi-Agent Tool

My employer, Stride, is announcing a multi-agent software authoring tool, “Conductor”. It takes the problem a step up from code-generation to requirements and outcomes and builds from there. There’s a dedicated team working on it. I sit in on some of their stand ups and hear the kinds of challenges they are addressing. Interesting to me in a multi-agent approach is that each agent is provided a distinct set of instructions and context for interacting with each other. This creates a separation of roles and enables them to “discuss” design and requirements decisions. The resulting transcript provides transparency into the resulting completions provided by the collective system and is a way to maintain human control and accountability for the solutions we ask these semi-autonomous agents to build for us. If your interested in learning more, I can connect you with our team.

Technology multi-agentsoftware development
emerging emblem

Vulnerabilities in ChatGPT Plugins

New tech. New threats. Vulnerabilities in chatgpt’s plugin implementation can leak outh access and hackers intercepting and inferring response text in streaming chat completions

Technology ChatGPTCybersecurity
innovation emblem

The Role of Engineers in System Design

Engineers select and use tools to build systems. Apply experience and craft to ensure systems are efficient, effective, and safe. Take accountability for the intended and unintended impact those systems create for humans and the planet. AI changes many things but hold onto that.

Technology engineeringaccountability
agility emblem

AI-Assisted Code Conversion Success

Today in my research project I had a half day for code conversion with AI assistance. I was able to convert all six of the data models and their 66 unit tests (coverage of 90% of branches 75% of statements). It’s all very hands on but I’m spending my time focused on troubleshooting and learning. The volume of output is pleasing me.

Technology AICode Conversion
innovation emblem

Choosing the Right Model for Code Conversion

In terms of which models to use for code conversion, Claude 3 is becoming a favorite. I still use copilot in context for individual debugging and questions. But for the simple act of converting code, Claude is the most amenable to following instructions. And for this task, I’m not noticing any serious hit using Sonnet (medium) vs Opus (large). GPT-4 is more opinionated about how it chooses to convert the code, and in this particular use case, that is not what I want.

Technology code conversionAI models
learning emblem

Facing the Fear of Limited Prompts

That sad, anxious feeling when you know you only have three more prompts left and so much more to ask…

Culture anxietycuriosity
innovation emblem

Migrating Code with AI Assistance

Today in my experiment to rewrite a production codebase with ai help focused on migrating one class and its tests. Success! Went into a spiral avoiding an external service request in test. Carrying over mocking did not work and ai assistants got stuck repeating three approaches - none of which worked. The generalized human intelligence (me) changed the methods to create dependency injection and the bots fell in line. Green tests with 1:1 function coverage.

Technology AISoftware Development