Posts

Pitting AI Against AI by Putting AI in AI

Image
5 years ago, I wanted to help the engineers on my team stretch their coding skills by presenting them with an entirely new set of challenges than the typical tedium that can come with building business applications day in and day out. Having built so many games over my own career, one unique element I've always enjoyed is building out the game's AI. After building the core engine, collision detection, and all that - building the AI was always a fun, and very different, challenge. I'd have to think it through: if I was a player, playing this character - what would my own in-game approach be? To be fair, what elements could my AI player see and interact with, and what would they not see, how could I scale my strategy to different difficulty levels. Expressing your strategy in code requires a different line of thinking. It may not directly translate to writing better business or consumer applications, but it stretches your computational thinking and problem solving. Plus it...

W.I.L.A

Image
Can I be so bold as to create my own business acronym? What an apropos way to start this, because the acronym I want to create applies to that very question. Let me re-start by, somewhat apologetically, confessing that I'm one of those distracting types who gets an idea, feels really passionate about it, thinks it will change the world and will offer it up for consideration. Over the years, I've learned to balance out the negative qualities that come with it: I try to focus on nuance, rather than chase novelty; I started keeping more ideas to myself and doing more to vet my own solutions before offering them. While I'm a work-in-progress, I will admit I do love sitting in a meeting where there all problems and no solutions. The gears that start spinning at full speed in my brain can cause such a strong buzzing that people will look at their phones, thinking they're getting a call. One danger I learned long ago about getting so passionate about a new idea is that it can ...

Task Failed Successfully

Image
It's always interesting to pit Gemini vs GPT using the same prompt and source data. There's never a clear winner - and it really points to how important the precision and quality of the prompt is.  Google's Gemini definitly wins on this one. It's really strong, but not great (zooming in, you can see the edges and there was overall quality loss) - however the speed of the update was impressve (<20 seconds!).

Micboard

Image
Will input change with AI? Speech detection with AI is remarkable and, in particular, the whisper-mode lets people speak comfortably in public. Folks are using it for everything from writing emails, creating presentations, and even writing code. But does that mean the death of my beloved keyboard? I like being as hands-free as the next driver (well, maybe not all drivers...) but right now it seems voice is meant to fill the gap when I can't use a keyboard, it's not the default.  There's the obvious social issue of talking outloud to a device. Whisper-mode and earbuds solves the privacy issue, but even then I've only found voice-input to be useful when I'm being conversational (researching, brainstorming, learning) or directional (send a short msg, asking for music to be played, requesting directions). It's a different story when I'm writing, editing, iterating, refining. It's hard to edit on the fly with spoken instructions. While reading is linear, writ...

Beast

Image
  At some point in the early 90s I tried rebuilding a game I loved: Beast. It was written procedurally in Basic over couple of months of on and off coding. Clunky, filled with bugs but I felt proud. About 25 years later, with 12 years of professional experience, I tried again. In about an hour, I had a working version. No bugs this time. Of course, Beast is not a complicated game but by going object-oriented with multi-threading it was even easier. And then, another 8 years later, I built Beast again . In record time: 25 minutes using with 7 non-technical prompts. No logic or technical guidance - just plain-english rules. We're well past the point of arguing AI's abilities. Instead, I wondered: In those 25 minutes, what parts of my own experience did I leverage? Strategic Iterations: Even if the LLMs handles complex specs, doing things all at once will still overwhelm the human. There are too many things to track at once. The ability to break things down into discrete, logical...

Heartstorming with AI

Image
I sense a lot of people are forming a love/hate relationship (or maybe, it's just become a hate relationship) with AI when it comes to creative pursuits. It intrinsically feels wrong to offload something so human to the machines. Being creative is so essential, so rewarding, that to use AI in any way evokes a primal knee-jerk reaction - as if we're trekking far too into the uncanny valley that our lizard brain keeps telling us "This is wrong. Go back." Am I fan of using AI to generate music, books, movies, or art? No. But do I enjoy using AI when I'm being creative? Absolutely, yes. Whenever I use an LLM (a good one, at least), I notice a few things happen: Even before I send my initial prompt, my creative idea is getting more refined. It's like talking to the rubber duck and critically evaluating your own thoughts - but, it's even better because the AI rubber duck actually responds. Putting emotions into words can be very hard. Capturing complex feelings...

Yearbooks at Work

Image
So, they were doing "professional photos" at the office... And maybe it was my misinterpreting "professional photos" to mean "photos of you, taken by a professional" rather than the intended "photos of you looking professional..."  Or, maybe it was that I'd forgotten about it and so I'd failed to dress professionally ( still undecided which narrative I prefer... ) Either way, with only a few minutes to spare before my allotted slot I decided to have some fun - so I grabbed a few of my desk ornaments, and off I went. It was only after seeing the awesome final results (big shout out to Ted Warner !) that it had me wondering: Why, oh why, don't we (as adults) get "school photos" done anymore? Sure, I'm looking a bit older these days, but that doesn't mean the kids should get to have all the fun. Why aren't we getting fun photos each year and sharing them with our pals? Why aren't we autographing each other...

Art Teaches You to Fish

Image
Was talking to a friend about their job hunt. My friend made an observation that (with their permission), they're letting me share: It's strange to call it a job "hunt." If you're hunting/fishing - you're usually sitting out there and waiting. And while you're waiting, you don't really have visibility into all the animals or fish passing you by. Job hunting is not like that at all. There's no waiting. You're constantly putting yourself out there, feeling each miss deeply. Imagine if you were fishing, and you could easily see beneath the surface of the water - seeing each fish as it swims past your bait. It gets you wondering: "Do they even care about my bait? Is it good enough? Is it me? What am I doing wrong?" Then imagine, they nibble on your bait - ever so slightly that you feel the tug on your fishing line... but then they dart off, and now you're wondering: "Why? What did I do wrong?" For the most part, it's a l...

The Good Enough Re-Revolution

Image
I do my best at being handy around the house - and lately, I've been exploring how AI can help. For a few projects now, I've been using a mixture of GPT & Gemini to help me think through how to build things - especially when there are some weird complex things I hadn't anticipated (and there always are...!) One thing I really like is how easy it's become to visualize changes - and better than Photoshop. We've had this pointless ledge in our house... one of those designs from 90s that is just begging to be decorated with fake plastic trees and a green plastic watering can. After doing a quick sketch, I fed the original photo and my sketch to Gemini, and asked it to render it for me. I made some tweaks along the way - at first, it was a stained wood without any trim, then it had the back of the bookcases painted the same color as the walls. But within 5 minutes I had a close enough rendering of what I wanted (though, for the life of me, I couldn't get it to re...

#DoneDecidingWithDiamonds

Image
Someone once told me how much they appreciate that I use the correct flow chart shapes. Now, at the risk of disappointing them, I am deciding to break convention. I appreciate the jarring disruption a diamond creates to highlight where a workflow may diverge, but I am done with the aesthetic tradeoffs. I don't want to make a larger diamond. I can't always shorten my text. Sometimes I need more than 3 divergent paths. Enter the hexagon. Easily matches the dimensions of the other shapes. Provides more space for text. Supports 7 paths! Sure - it may get trigger someone to question your knowledeg of conventions, as they spit out their coffee and arrogantly belittle you as they proclaim that hexagons are meant for initializations. That's why I'm sharing this post. It's time to build a movement. It's time to disrupt the status quo. If someone gives you any guff, you just point them here and let them know we're #DoneDecidingWithDiamonds . If hexagons are good enoug...

The Sound of Data

Image
PSA to all my engineering pals... The worst (best?) thing you can do for an Engineer-turned-Product-Manager is giving them read-access to the databases & logs. Queries and joins and more joins for linking, Dashboards and charts to show what I’m thinking, AI and BI put the insights on springs, These are a few of my favorite things. 🎶

The funniest coding joke...

Image
Throwback to almost 15 years ago when I made my funniest coding joke  on StackExchange.  Do people in non-English-speaking countries code in English? I'm from Canada, but live in the States now. It took me a while to get used to writing boolean variables with an "Is" prefix, instead of the "Eh" suffix that Canadians use when programming. For example: MyObj.IsVisible MyObj.VisibleEh

Prompt Hacking: Generate 10 ideas instead of 1

Image
I use GPT & Copilot a lot for brainstorming and a sounding board to refine ideas. One thing that's bothered me is when it comes to generating images (for example ideas for logos) it can suddenly slow me down as I wait for an image to render. And then I make individual refinements and iterate much slower than if I were doing it independently. Today, I tried something different which worked spectacularly well: "Given the description, and aesthetic, generate 10 different possible logos all  within the same image so I can look at them all and compare." Ignoring the fact that it only provided me with 9 (where's #7??? 😅) I was then able to make targeted refinements and iterate faster. "I like number 8 - adjust the colors so the hand is more like the colors in #6 (but keep the lightbulb yellow and turn the element into a leaf)" A reminder that AI can multitask in ways that are typically harder for people.

Middle Management is Dead (But Leadership Isn't)

Image
I came across this article about how middle management is dead. While it reads a bit as an "advertorial" it does make a compelling argument. The future is not about building skills in managing people. Growth is not about how many direct reports you have. Orgs trees are flattening and growing wider. AI (+ plenty of productivity technology, and the many years of learnings from the evolution of Waterfall to Agile to Kanban/Continuous Improvement) has made the direct management (as in the organization, coordination, and progress measurement) less and less a thing needed to be done by people.  People Management is increasingly becoming unnecessary overhead while  Management of Tools, Processes, Strategy, Products - with a clear end goal of a value focused impact is what matters. That being said - Management and Leadership are two very different things. People Leadership still matters and, arguably, it matters more. We need to think more about how we probive guidance, mentoring, t...

Formal Request for Browser Based Notification Buttons in the Tab Chrome

Image
1999: The favicon was first introduced in IE5. Early 2000s: Other browsers adopted the favicon and expanded support to PNG file types. 2006: (The) Facebook introduces a red notification counter badge to increase engagement. ~2007: GMail and other apps begin putting notification counts in the page title. 2014: The favicon became standardized in the HTML5 spec. 2025: I formally request major browser makers to create a dedicated button for notifications to appear on the tab chrome for a more consistent, elegant and accessible experience. Clicking the button directs you to a notifications page or can expand as a drop down to show all recent notifications. < link rel = "notification" value = "3" href = "/notifications" /> or < link rel = "notification" value = "3" > < notification text = "You have a new friend request" href = "/freindReqests" /> < notificatio...

Does AI Dream of Spherical Cows?

Image
I've been building an app with Claude Sonnet - purely vibe coding. The app is strictly a business utility application to help streamline some recurring team coordination activities - fairly straightforward, with some simple UI and some outputs to Excel and PowerPoints. Everything was going swimmingly - like 'AI is coming for us' swimmingly until 1 single line of code, that turned out to be a nightmare. cell.GridSpan = 2; That single line took all the productivity improvements and efficiencies I'd gained through prompt-only vibe coding and threw them out the window. Instead it became a really interesting deep dive into how poorly documented libraries and online forum comments guide AI. I wanted to generate a table with 2 columns with the first row spanning across both columns. This is a common ability users have in Word, Excel, PowerPoint. The user just selects both cells on the desired row and clicks 'Merge'. To achieve this with code, it can be harder than it n...

Novelty vs Nuance

Image
Early in my engineering career I used to chase novelty - the shiny new idea that piqued by curiosity and let me explore solving new and exciting problems. The issue with this is, of course, you end up with a lot of half-baked/semi-developed projects. Once you've "solved" the core problem you were curious about, everything else suddenly feels like a bore and a chore - and then you never build up the skills required to deliver something. It's an easy thing to slip into when you're new to coding - you've been given a powerful hammer, and everything looks like a very hammerable nail. Somewhere along the way, I stumbled upon some sage words that helped me break the cycle: "There's novelty in nuance." Rather than chase the shiny new thing, stick with the old thing and instead the novelty in the details of the old thing. This strategy helps you stick with a project and helps you see it through to completion. As an aside, one of my long-time favorite bl...

Purple Carrot Marinara

Image
And ... now, programmers turn to GitHub Copilot. You ask it to make a soffritto and instead of regular carrots, it references new things you've never heard of. Purple dragons?!? "What's a purple dragon?" you ask it, as you learn about the hip new carrot all the younger cooks use. You continue vibe-cooking and end up with a Marco Pierre White-level pasta dish , faster than you ever could on your own. Your guests love every bite. "How'd you come up with this??" they ask, in awe. "Purple Dragon carrots, obviously. Don't you know about them?"

Roadtrips and Roadmaps

Image
I love a good roadmap. They don't get you to the destination but a good roadmap breaks down the milestones along your way, where you plan to stop for food, rest, gas, and they highlight whatever impediments you'll face along your way. Maybe you won't stick to the roadmap in the end but the act of creating one is like running a thought-experiment. You mentally go through the motions of your journey so there's fewer surprises. If you've ever done a roadtrip without a roadmap and decided things in the moment, playing things by ear it's probably felt very freeing and impulsive. But... you probably relied on a lot more on your wallet or your own willingness to do some extra work if/when things have gone wrong. It's a fun experience when you're doing an actual roadtrip but when you're delivering a product? In those cases, you may want to reduce impulsiveness, how much you rely on your wallet to cover unplanned costs, and how much you ask people to do a bit...

The Post-Post-UX-UX-Post

Image
As a follow-up to my post about the post-UX-UX is a related question, this one about AI: Is AI shifting us to a post-UX world? My original post-UX-UX post was about considering the user's experience after using a product. As an example, when I use Google Maps to get directions to a business, what is my post-UX experience? Am I left frustrated because Google Maps navigated me to the business without factoring that I'd need to park somewhere?  Is the business I was looking for where I expected it to be? Does the neighborhood  feel safe? Can I easily orient myself around the neighborhood? Are there other places nearby I should be checking out that align to my interests? If Google Maps focuses on improving their user experience, great. If Google Maps focuses on improving my experience after I'm done with the app, even better. Now, with AI - and, in particular, agentic AI - the idea of needing a UX is really being brought into question. Not all buttons need pressing, and not al...

Popular

Work Experience vs Professional Experience

Let's Clear Up The Ambiguity!

FAQs for a Software Engineering Hiring Manager

7 Steps to Writing an Amazing Resume

7 Steps to Building your Portfolio MVP