AI Lies, Lies, and Statistics: The Five Ways AI Gets Things Wrong Hallucination is one of five ways AI output misleads. Commission, omission, perspective, bias, and frame of reference each require a different defense.
AI The 2x2 AI Impact Matrix: What to Do Based on Where You Are Two questions decide what to do about AI for any role: how much time does AI actually compress, and is demand or execution the constraint? The four combinations produce four different prescriptions, and applying the wrong one is expensive.
AI Two Ways AI Changes Your Job: Demand-Limited vs. Collapsable Tasks Jobs are bundles of tasks, and AI hits the bundle unevenly. Demand-limited tasks call for role evolution and collapsable tasks call for role redefinition. Confusing the two is a reliable path to the wrong investment.
culture Corporate Currency: The Hidden Social Economy of Organizations Every organization runs an unwritten social economy where attention is priced and trust is the reserve asset. Corporate Currency is the operator's manual: three ways to earn, two ways to spend, and one mistake that costs more than all the rest.
Economic Forecasting Seventy Years of Technology Hype: What Failed Predictions Tell Us About the AI Economic Boom Tech hype cycles repeat: past predictions of a "paperless office" or "end of work" fell flat, and today's AI forecasts likely face similar challenges. Learn what history can teach us about tempering expectations for the AI economic boom.
AI Economics The Meter Picks the Winners Model selection, problem selection, and the economics underneath them are going to pick the winners and losers of the agentic era. The meter is just the scorekeeper.
agentic-AI The 8-Stage AI Trust Evolution: A Map for the Journey AI adoption is a journey through eight discrete stages of trust, from practitioner to strategist. Each transition demands different infrastructure, and the hardest one, Stage 2 to Stage 3, requires building the factory before running the agents.
AI Why Now: The Capability-Cost Inflection Point Hype is a poor discriminator: every real technological revolution arrived with a bubble attached. What separates AI from Web3 and the metaverse is the capability and cost evidence, and that evidence is already on the books.
AI-adoption The AI Adoption Maturity Ladder: Which Rung Are You On? Most organizations sit on rung two of the AI adoption ladder and believe they are on rung three. The gap matters because the interventions that work at each rung differ, and the most reliable diagnostic is what happens when AI fails.
AI Labor Compression: The Right Economic Frame for AI Replacement is the wrong frame for AI and the workforce. Labor compression, the reduction of hours required per role, turns a binary fear into the strategic question that matters: what happens to the freed capacity?
AI Not That GPT: AI as a Generally Productive Technology Economists were using the acronym GPT decades before OpenAI. Reading AI as a general purpose technology, in the lineage of electricity and the internet, changes the questions leaders should ask and the time they have to ask them.
Engineering Craft Why Projects Fail Project failure rates are dismal – less than 50% succeed! Let's explore the root causes beyond just "software people need to change" and work towards a better standard.
Engineering Craft VSIX Installer: Fixing the PkgDefProjectOutputGroup Error Struggling with a "PkgdefProjectOutputGroup" error in your VSIX installer? A sneaky URL-encoding issue in your `.csproj` file might be the culprit – check those semicolons!
Engineering Craft Tools of the Trade From keyboards to motion trackers, I've geeked out over a lot of tech lately! Join me as I share the gadgets that sparked serious excitement and boosted my productivity.
Engineering Craft SSRS Ad-Hoc Reporting: Dynamic RDLC with LINQ to XML Dynamically generate SSRS reports with this approach! Learn how to use LINQ to XML and RDLC to create flexible, application-integrated reports beyond standard SSRS scenarios.
Engineering Craft Starting Out in Ruby Diving into Ruby for my apprenticeship! Exploring mind-bending features like class-scoped methods and overridden constructors has been quite the learning experience.
Engineering Craft RhinoMocks and Constrained Expectations RhinoMocks lets you define precise expectations using constraints like `Matches()`. Learn how to use predicates and method calls for powerful, targeted mocking.
Engineering Craft Productivity Tips: Write It Once Stop rewriting the same code! Learn to leverage templates & snippets for faster, cleaner coding and reduce friction between your ideas and the final product.
People & Culture Rewriting a Talk the Day Before: AWESOME A last-minute tech update meant a complete rewrite of my upcoming talk – and it turned out awesome! Learn how embracing change can lead to a truly great presentation.
Engineering Craft Object Repository: Extending the Standard Repository Pattern Stop repeating LINQ queries! Learn how to create object-specific repositories, extending the standard repository pattern for cleaner, more maintainable code.
Engineering Craft I Disagree with the Pit of Doom I disagree with Ayende's "Pit of Doom" argument for repository abstraction. Repositories provide both an in-memory collection interface *and* a testable abstraction over data, crucial when dealing with diverse data sources.
Engineering Craft LINQ, Lambdas, and the Learning Curve LINQ's true power lies in lambdas, not verbose syntax. Learn to embrace them for concise code and unlock LINQ's full potential!
Engineering Craft Dynamic Sort with LINQ Need dynamic sorting in LINQ? This extension lets you sort by column names passed as strings, avoiding messy switch statements.
Engineering Craft Highway.Data Getting Started Video New to Highway? Our getting-started video covers the basics of Highway.Data, from patterns to queries! Watch now and let us know what you think: [https://www.youtube.com/watch?v=S1irYAW9azA](https://www.youtube.com/watch?v=S1irYAW9azA)
Engineering Craft Designing for Testing Treat your tests like production code—a craftsman takes pride in their tools, and strong tests are essential for a robust application. Empowering everyone to read, write, and run tests ensures quality and consistency throughout the development lifecycle.