nathanlively.bsky.social
@nathanlively.bsky.social
Feature Envy: I was reaching into my result objects to manually pluck strings and assemble a message.

The fix: Push that logic into the object itself. Don't 𝘢𝘴𝘬 the object for its data to build a message, 𝘵𝘦𝘭𝘭 the object to build the message for you.
January 20, 2026 at 3:30 PM
When to use var in Java?

Keep types explicit unless the generics get out of hand. If you have to hit F1 just to know what a variable returns, the code is harder to read than it needs to be. This is one reason that dynamically typed languages like javascript are hard to read.
January 19, 2026 at 2:01 PM
"We've cared more about designing tasks to study crows than modern developers."

✅ Desirable Difficulty: Actively generate (diagram/explain).
✅ Reduce Allostatic Load: Lower chronic life stress.
✅ Active > Passive: Don't mistake content consumption for progress.
The Innovation of Cumulative Cultures and Developer Problem-Solving-Dr Cat Hicks
Did you know that crows are better than toddlers at generating novel solutions? It's true! In the earliest days of childhood, around the globe scientists hav...
youtu.be
January 17, 2026 at 3:00 PM
Figuring out Embabel's subagent pattern:

```
IntentRouter
└─> EditOrchestrator
├─> NameEditAgent
├─> ColorEditAgent
└─> RouteEditAgent
```

RunSubagent shares context. Each agent is independent & testable. New edit type? Just add a new agent.
January 7, 2026 at 2:00 PM
Testing used to feel impossibly hard. That struggle was a signal—I was testing at the wrong level or fighting my architecture.

The worst part? Spending more time setting up mocks than testing behavior.

Ted M. Young's work showed me testing can actually be enjoyable: youtu.be/dT3jORSx6C4
Designing for Testable Code with a Testable Architecture (Calgary Software Crafters Meetup)
In this meetup talk, I dive into what it means to have a testable architecture. I cover the fundamental point of testable code: separating I/O concerns from domain logic. I compare and contrast architectural patterns such as hexagonal architecture (aka ports & adapters), clean architecture, onion architecture, and others. I show you precisely how to use Test Doubles (stubs, fakes, mocks, etc.) to make testing easier, without the complexities of "mocking" libraries. Once you learn the rules around I/O-Free vs. I/O-Based tests, you'll never wonder "should I be using a Test Double here". 00:00 Introduction to Ted M. Young 00:34 The TDD Game and Testable Architecture 02:01 Purpose and Importance of Tests 03:55 Attributes of Effective Tests 09:22 Challenges in Writing Tests 11:18 Separating Logic and I/O for Testability 14:48 Understanding Testable Architecture 34:01 Hexagonal Architecture and Domain-Driven Design 44:06 Practical Example: Testing a Simple Application 53:48 Automating Event Management...
youtu.be
January 3, 2026 at 3:00 PM
2025: Launched a directory (killed by coaches), pivoted to audio DSP, spent 6 months on convolution hell, nearly went broke, found crypto savings, got first customer at $50, started at SquareWare, benchmarked 9 LLMs.

Big plans fail. Small experiments teach. Still building, still having fun.
January 1, 2026 at 2:01 PM
Reposted
Need something to watch during the holiday break? Two of my favorite talks are now available to watch on my YouTube channel.

1. Testable Architecture: Ya Gotta Keep 'em Separated

2. Event-Sourcing From Scratch

Find them with slides & source code at ted.dev/talks/#past...
My Presentations | Ted M. Young
Articles, Videos, Training, and Coaching for Java Developers
ted.dev
December 26, 2025 at 8:45 PM
Next.js devs: How do you survive the page.tsx ocean in IntelliJ? 🌊

My current Cmd+Shift+O + [folder name] workflow feels like a guessing game. Is there a better way to jump directly to a route?

What’s your IntelliJ sorcery? 🪄
December 23, 2025 at 2:00 PM
Reposted
Getting started with Java on the Raspberry Pi - UPDATE 2025 leanpub.com/gettingstart... by Frank Delporte is the featured book on the Leanpub homepage! leanpub.com #RaspberryPi #EmbeddedSystems #Java #Messaging #HomeAutomation #InternetOfThings #Software #Diy

Find it on Leanpub!
December 19, 2025 at 6:15 PM
Finally tried pair programming yesterday. Was intimidating - imposter syndrome was loud - but pitched it as an experiment. One hour saved me days of wasted effort. The real-time feedback is powerful. Pre-learning the `mob` CLI helped. If you're hesitant to ask - just do it. Worth it.
December 19, 2025 at 2:02 PM
AI coding assistants: fireplace when you understand the codebase, house fire when you don't.

The irony? They're most appealing exactly when they're most dangerous.

They give you velocity, not vision. And velocity without vision is just motion toward nowhere.
December 18, 2025 at 2:00 PM
I'm excited to see more people talking about testing Vaadin applications.
Spec-driven Testing with the AI Unified Process
Simon Martinelli
www.youtube.com
December 13, 2025 at 3:00 PM
Console Whisperer update: Rebuilt it twice to get it right. Now a desktop app with offline support.

on AI: huge gap between AI demos and production reliability. Taking time to build something that actually works.

Channel routing nearly done. Early January demos with early adopters.
December 12, 2025 at 2:00 PM
🧪 Fought Jest + NextAuth mocking for an hour. `ECONNREFUSED` despite `jest.mock()`.

Fix: `jest.resetModules()` + dynamic `require()` in `beforeEach`. Forces fresh module loading so mocks actually work.

Coming from Spring Boot's `@MockUser`, surprised this isn't documented.

#NextJS #Jest #Testing
December 11, 2025 at 2:01 PM
Reposted
People often ask me how to test biz logic vs. other parts. I'll cover that in my online talk, "Testable Architecture: Keep 'em Separated," at the Calgary Software Crafters meetup on December 10 at 6 pm PST (7 pm MST, 8 pm CST, 9 pm EST).

Save your spot: www.meetup.com/calgary-sof...
Testable Architecture: Ya Gotta Keep 'em Separated - Ted M. Young, Wed, Dec 10, 2025, 7:00 PM | Meetup
One of the most important, yet misunderstood, aspects of Hexagonal, Clean, and Onion architectures is not their folder structure, but how they keep I/O and domain logic sep
www.meetup.com
December 8, 2025 at 5:37 PM
Is there anyone out there teaching NextJs, React, or Typescript using TDD?
December 8, 2025 at 2:00 PM
Here are my top plays for 2025
December 5, 2025 at 2:01 PM
Spent 4 hours this weekend trying to deploy a Next.js feature. Vercel forced a Node upgrade, which cascaded into Next.js upgrade → React upgrade → 110 build errors.

Coming from Java/Spring Boot: you set your Java version and dependency versions, deploy, and it works forever. Security vulnerabilitie
December 3, 2025 at 2:01 PM
🔊 NEW VIDEO: Line Array Phase, Wavelength & Why Arrays Work

Dive into the actual physics of line arrays with Michael Krieg! Learn how phase and wavelength drive array coupling and get practical rigging insights. 🤯

(From Live Sound Summit 2018—physics are timeless!)
Michael Krieg: Line Array Phase, Wavelength & Why Arrays Work | Live Sound Summit 2018
Originally presented at the Live Sound Summit 2018 Michael Krieg dives deep into the physics that make line arrays work, and honestly? This is the kind of presentation that changes how you think about what's happening when you hang a box. Michael doesn't just show you pretty pictures - he breaks down phase relationships, wavelength behavior, and why arrays actually couple the way they do. **What You'll Learn:** - How phase and wavelength determine array behavior at different frequencies - Why line arrays work (the actual physics, not marketing speak) - Coupling vs. non-coupling frequencies and what that means for coverage - Phase alignment between elements and why it matters - The relationship between array length and frequency response - Practical implications for rigging and aiming decisions **About Michael Krieg:** Michael is VP of Education and Application Support at Danley Sound Labs and a veteran of live sound education. He's...
youtu.be
December 1, 2025 at 2:00 PM
Reposted
Had a great bunch of folks attend my "Event-Sourcing from Scratch" talk. There's more I want to say about #EventSourcing, but I limited the talk to 90 min.

Recording, slides, etc. is here: ted.dev/talks/#even...)

Would love feedback: anything stand out? Confusing? Let me know!
My Presentations | Ted M. Young
Articles, Videos, Training, and Coaching for Java Developers
ted.dev
November 27, 2025 at 2:15 PM
I hate my new keyboard for one tiny reason: no Command key in the default layout.
"Just assign it somewhere!" Sure—except now I'm facing 200+ configurations to test through trial and error.
That's when I realized: the value of a product is someone else doing the brain work so you can use it.
November 27, 2025 at 2:00 PM
Expensive car audio upgrade sounds hollow? Comb filtering—acoustic interference that EQ can't fix. Time alignment helps but doesn't solve reflections. Strategic placement + acoustic treatment > expensive components.
Busted 6 myths with actual physics.
6 Comb Filtering Myths Holding Back Your Car Audio Upgrade (And How to Fix Them)
Ever wonder why your expensive car audio upgrade doesn’t sound as good as expected?
open.substack.com
November 26, 2025 at 2:00 PM
Console Whisperer: Rebuild #3 in progress. Wrestling with domain modeling for mixer I/O routes and LLM agent interactions. Going slow now so features can move fast later.
November 25, 2025 at 2:01 PM
I'm 45 now. According to a life expectancy calculator, I have 52.4 more years to live—49 of them healthy. My hope is to spend those years taking myself and the world a little less seriously.
November 24, 2025 at 2:01 PM
@nextjs.org Your getting started series is broken. The starter-example project does not run.

(node:8903) Warning: `--localstorage-file` was provided without a valid path
November 22, 2025 at 10:21 PM