Archive

Writing

February 20, 2026

Why Consistency Beats Intensity Every Single Time

People love intensity. The all‑night grind session The 3‑hour workout The weekend coding marathon The dramatic reset The “new me starting Monday” surge Intensity feels po…

Read more →
February 18, 2026

Why You're Not Lacking Discipline — You're Lacking Energy Management

Most people think their problem is discipline. “I need more discipline.” “I should force myself.” “I just need to be tougher.” “I need to stop being lazy.” But here’s the…

Read more →
February 17, 2026

Why You’re Not Bad at Learning — You’re Bad at Starting Over

Most people think they’re bad at learning. But that’s almost never true. What they’re actually bad at is something much simpler — and much more human: Starting over. You’…

Read more →
February 16, 2026

Why The First Step Feels Impossible (But Isn't)

People dramatically overestimate the difficulty of the first step. Not the fifth step. Not the tenth step. Not the hundredth step. The first one. It feels impossible — em…

Read more →
February 15, 2026

Why Skill Is Just Time + Honesty

Everyone talks about talent. Everyone talks about intelligence. Everyone talks about people who are “naturally gifted.” But if you look at real masters in any field, they…

Read more →
February 14, 2026

Why Most People Never Start (And How to Make Sure You Do)

People think their biggest challenge is finishing things. It’s not. Their biggest challenge is starting . Starting the project. Starting the skill. Starting the habit. St…

Read more →
February 13, 2026

Why Fear of Looking Stupid Holds People Back More Than Anything

If you look closely at why people avoid new challenges, new skills, new careers, or new opportunities, it almost always comes down to one thing: People are terrified of l…

Read more →
February 12, 2026

Why Mastery Is Just Doing the Same Thing Differently

People imagine mastery as some kind of dramatic transformation. A sudden leap in ability. A stroke of genius. A moment where everything changes. But that’s not what maste…

Read more →
February 11, 2026

Why You Don’t Fail at Hard Things — You Fail at Boring Things

Most people think they fail because things are hard . Not true. They fail because things become boring . Hard gets your attention. Hard feels meaningful. Hard feels heroi…

Read more →
February 10, 2026

Why Difficulty Is Just Discomfort in Disguise

People think difficulty is a wall. “I can’t do this.” “This is too much.” “This is beyond me.” “This is harder than I expected.” But here’s the truth: What you’re calling…

Read more →
February 9, 2026

Why Nothing Is Too Hard — You Just Haven’t Learned It Yet

People say things are “too hard” all the time. “Math is too hard.” “Programming is too hard.” “Leadership is too hard.” “Public speaking is too hard.” “Learning a new ski…

Read more →
February 8, 2026

Why You’re Not Behind — You’re on Your Own Timeline

One of the most painful, persistent thoughts people struggle with is this: “I’m behind.” Behind where you should be. Behind where others are. Behind where you imagined yo…

Read more →
February 7, 2026

Why You Don’t Need to Know the Whole Path Before You Start

One of the biggest misconceptions about growth is this: People think they need to know the entire path before they take the first step. They want: the full plan the full…

Read more →
February 6, 2026

Unlimited PTO and the Myth of Time Back

Unlimited PTO and the Myth of Time Back Yesterday I was talking with a former coworker. He had to work late that night. Nothing dramatic. Just one of those evenings where…

Read more →
February 6, 2026

Why Expertise Is Just the Repetition You Didn't See

We look at experts with awe. Their skill seems smooth. Their decisions seem effortless. Their timing seems perfect. Their confidence seems natural. It’s easy to believe t…

Read more →
February 5, 2026

Why Being Bad at Something Is the Most Important Step

People are terrified of being bad at things. They avoid new skills. They avoid new challenges. They avoid anything that risks looking inexperienced or inexperienced. But…

Read more →
February 4, 2026

Why Most People Stop Right Before They Get Good

There’s a painful pattern that almost everyone falls into: People stop right before they get good. Not halfway through. Not at the beginning. Not at the hardest part. The…

Read more →
February 3, 2026

Why You Don’t Need Talent to Become Great

People love to blame a lack of talent. “I’m not naturally gifted.” “Some people just have it.” “I wasn’t born for this.” “I don’t have the talent they do.” But here’s the…

Read more →
February 2, 2026

Why Motivation Fails (And What Actually Works Instead)

Motivation is one of the most unreliable forces in human behavior. People think they need motivation to start. They wait for it. They search for it. They try to manufactu…

Read more →
February 1, 2026

When AI Fails, It’s Usually a Management Problem

AI can write code. That part isn’t controversial anymore. I’ve watched models generate clean, consistent, testable code with very little effort. Complaints about “bad AI…

Read more →
January 31, 2026

Why Most People Underestimate What 1 Year of Focus Can Do

People dramatically overestimate what they can do in a week and massively underestimate what they can do in a year. That single misunderstanding destroys more potential t…

Read more →
January 30, 2026

Why Most People Never Reach Their Potential (And How to Avoid Their Trap)

Everyone has potential. But very few people ever reach it. Not because they lack talent. Not because they lack intelligence. Not because they lack resources. Most people…

Read more →
January 29, 2026

Why You Can’t See Your Own Progress (And Why That Matters)

One of the most frustrating parts of growth is this: You can’t see your own progress while you’re making it. Not because the progress isn’t real. Not because it isn’t hap…

Read more →
January 28, 2026

Why You’re Closer Than You Think

Most people quit right before things start working. Not because they’re incapable. Not because they’re untalented. Not because the goal is unrealistic. They quit because…

Read more →
January 27, 2026

Why Personalization Is Failing — and What Actually Scales

Why Personalization Is Failing — and What Actually Scales “Personalization” has become the universal answer to weak differentiation. If a product struggles to explain its…

Read more →
January 27, 2026

The Secret Advantage of Starting Late

People obsess over starting early. “If only I began coding at 12…” “If only I took this seriously in college…” “If only I figured this out 10 years ago…” “If only I start…

Read more →
January 26, 2026

The Most Dangerous Skill You Can Lose as an Adult

There’s a skill you had as a child that made you unstoppable. It helped you learn faster. It helped you recover from setbacks. It helped you try new things without fear.…

Read more →
January 25, 2026

Why Your Future Self Is Smarter Than You Think

People dramatically underestimate one thing: How smart, capable, and resourceful their future self will be. When you imagine doing something hard—going back to school, sw…

Read more →
January 24, 2026

Why Adults Learn Faster Than Kids (But Feel Slower)

There’s a myth people love to repeat: “Kids learn faster than adults.” It feels true. Kids pick up languages easily. Kids adapt quickly. Kids seem fearless with new skill…

Read more →
January 23, 2026

The Psychology of Being a Beginner Again

Being a beginner feels harder the older you get. Not because learning gets harder. Not because your brain slows down. Not because new skills are more complex. It feels ha…

Read more →
January 22, 2026

Why Expertise Feels Like Magic (But Isn't)

When you watch someone who’s truly great at what they do, it almost feels supernatural. The musician who makes impossible pieces look effortless. The engineer who underst…

Read more →
January 21, 2026

Notice Periods, Risk, and the Leadership Myth We Don’t Want to Examine

As a manager, leader, or founder, you’re taught one responsibility early and often: Control costs. Compensation bands. Headcount limits. Budget forecasts. Burn rate. Thes…

Read more →
January 21, 2026

Why You Shouldn’t Trust Your First Reaction to Hard Things

When people encounter something difficult, they almost always have the same first reaction: “This is too hard.” “I’m not ready for this.” “I don’t understand this at all.…

Read more →
January 20, 2026

The Myth of the Overnight Expert

Every few months, someone becomes an “overnight expert.” A creator blows up. A developer seems to master a new technology instantly. A leader suddenly looks brilliant. A…

Read more →
January 19, 2026

Why Your Brain Turns Big Problems Into Panic

Most people think panic comes from pressure. Deadlines. Expectations. Failures. Complex tasks. High-stakes situations. But panic doesn’t come from the problem itself. Pan…

Read more →
January 18, 2026

The Hidden Cost of Thinking You’re “Behind”

One of the most damaging beliefs in adulthood is the idea that you’re behind . Behind in your career. Behind in your skills. Behind financially. Behind socially. Behind c…

Read more →
January 17, 2026

How Insecurity Pretends to Be Logic

Insecurity rarely announces itself. It doesn’t show up saying, “I’m afraid.” It doesn’t tell you, “I don’t want to look stupid.” It never admits, “I don’t think I belong…

Read more →
January 16, 2026

Why Hard Work Isn’t Enough — You Need Direction

People love telling you that hard work is the key to success. “Just work harder.” “Put in the hours.” “Grind.” “Hustle.” But here’s the truth: Hard work, by itself, doesn…

Read more →
January 14, 2026

Your First Attempt Will Always Be Bad — That’s the Point

Everyone wants their first attempt at something to be good. We want our first draft to read well. Our first workout to feel strong. Our first business idea to succeed. Ou…

Read more →
January 13, 2026

Why Gatekeeping in Tech Is Nonsense

Tech has an unusual problem: It’s the only industry where beginners are told they’re unqualified before they even try. Don’t have a CS degree? Not “real” engineering. Did…

Read more →
January 12, 2026

The Truth About Not Having a Computer Science Degree

There’s a strange insecurity that follows people who learn programming outside the traditional academic path. Even if you’re good. Even if you’ve shipped real systems. Ev…

Read more →
January 11, 2026

What Overcoming My Fear of Math Taught Me About Leadership

Leadership isn’t a job title. It isn’t a promotion. It isn’t authority, influence, or years of experience. Leadership is the ability to walk toward something uncomfortabl…

Read more →
January 10, 2026

What I Wish Someone Told Me in Junior High About Learning

There’s a moment in everyone’s childhood when learning stops being automatic and starts requiring actual effort. For me, that moment hit hard in junior high. Up until the…

Read more →
January 10, 2026

Once You Notice the Shift, It’s Hard to Unsee

The moment it changed Yesterday, something small stopped me cold. Someone said, “That’s finished,” and what I was looking at didn’t quite support it. There was no argumen…

Read more →
January 9, 2026

How Programming Forced Me to Relearn the Math I Avoided

For years, I carried a quiet insecurity that I had gotten away with something. I was a programmer. A good one. But I didn’t have a traditional computer science degree, an…

Read more →
January 9, 2026

Leadership Principles: Learning, Ownership, and Responsibility

Leadership Principles These principles exist to solve a specific problem that appears in most organizations over time. Learning quietly becomes ownership. Help turns into…

Read more →
January 8, 2026

The Day I Realized I Wasn’t Bad at Math — I Was Scared of It

For years, I carried around a quiet belief that I was “bad at math.” Not average . Not rusty . Bad. It wasn’t something I talked about, but it lived underneath every tech…

Read more →
January 7, 2026

Learning, Ownership, and When to Pick Up the Shovel

Learning, Ownership, and When to Pick Up the Shovel There is a recurring argument in modern organizations about roles. It often shows up as a debate about product manager…

Read more →
January 6, 2026

The Real Reason Most People Quit Before They Begin

Most people don’t quit in the middle. They quit at the beginning. Right at the moment when the idea is exciting but the first step feels impossible. Right when the spark…

Read more →
January 6, 2026

Consistency Is Underrated

Consistency Is Underrated :root { --text:#111; --muted:#444; --rule:#e6e6e6; --bg:#fff; } body { margin:0; background:var(--bg); color:var(--text); font: 18px/1.6 system-…

Read more →
January 5, 2026

The Staircase vs. the Wall: How We Misjudge Difficulty

When people look at a hard skill — math, programming, leadership, public speaking, anything — they tend to see one of two things: A wall or A staircase . Most see the wal…

Read more →
January 4, 2026

Skill Isn’t Talent — It’s Time and Repetition

We love the idea of talent. It’s clean, it’s flattering, and it explains away the success of others while protecting our ego. But talent is rarely the reason someone is g…

Read more →
January 4, 2026

When Validated Frameworks Stop Being True

When Validated Frameworks Stop Being True There’s a class of frameworks that work exceptionally well in test environments — clean data, controlled assumptions, stable pop…

Read more →
January 3, 2026

Why Difficulty Is an Illusion

We treat “hard” like it’s a property of the universe — like gravity or magnetism. As if some things are just objectively difficult and always will be. But difficulty is n…

Read more →
January 2, 2026

The Moment Math Broke Me — And What It Taught Me About Fear

I remember the exact moment math stopped feeling like numbers and started feeling like failure. Up until junior high, I was good at it. Really good, actually. I understoo…

Read more →
January 2, 2026

The Books That Shape How Systems Think

The Books That Shape How Systems Think Most “books for engineers” lists feel repetitive: Clean Code The Mythical Man-Month The Phoenix Project Some Agile thing A few lead…

Read more →
January 1, 2026

Common Knowledge Is Why Employees Leave Before You Expect It

There’s a concept in economics and game theory called common knowledge . It’s not just what I know, or what you know. It’s what I know that you know — and what you know t…

Read more →
January 1, 2026

Everyone Starts at Zero: The Lie We Tell Ourselves About Hard Things

We talk about hard things as if they belong to someone else. As if mastery is a gift that a select few were handed at birth. But the truth is far less glamorous and far m…

Read more →
December 30, 2025

Hiring, Vendors, and the Cost of Cornering People

Hiring, Vendors, and the Cost of Cornering People If negotiation is closer to magic than chess, and if that metaphor has limits, then hiring and vendor relationships are…

Read more →
December 28, 2025

Where the Magic Metaphor Breaks

Where the Magic Metaphor Breaks Yesterday I compared negotiation to magic. Today I want to talk about where that metaphor stops being useful. Not every negotiation should…

Read more →
December 27, 2025

Negotiation Is Closer to Magic Than Chess

Negotiation Is Closer to Magic Than Chess One of the things I’ve always loved about magic, especially card magic, is that it doesn’t feel like control. I’m not particular…

Read more →
December 26, 2025

Outcomes, Not Optics: Why Misalignment Breaks Teams

Outcomes, Not Optics: Why Misalignment Breaks Teams Every organization claims to value outcomes. But when pressure rises, incentives shift, and realities get uncomfortabl…

Read more →
December 22, 2025

Defensive Professionalism: The Quiet Cousin of Defensive Medicine

Defensive Professionalism: The Quiet Cousin of Defensive Medicine .packet-page { position: relative; } .hn-grid { display: grid; grid-template-columns: 1fr 2.1in; gap: 0.…

Read more →
December 21, 2025

We Measure Time Because It’s Convenient. Not Because It’s Correct.

Across almost every industry, we obsess over one thing more than anything else: time. How long will it take? What’s the deadline? Can we hit the date? Everything else bec…

Read more →
December 19, 2025

Clarity Is Expensive. Confusion Is Catastrophic.

Clarity Is Expensive. Confusion Is Catastrophic. Most serious failures don’t come from bad intent. They come from under-planning , followed by quiet withdrawal when thing…

Read more →
December 18, 2025

You Win Most Problems Before They Start

My mom was an attorney. When I was young, she used to say something that felt almost too simple to matter: You can win most cases just by being prepared. At the time, I t…

Read more →
December 15, 2025

When “Within Normal Limits” Is the Most Dangerous Result

When “Within Normal Limits” Is the Most Dangerous Result I once had a consulting conversation that completely changed how I think about data. At some point, the discussio…

Read more →
December 10, 2025

On Pattern, Practice, and the Books That Built My Mind

On Pattern, Practice, and the Books That Built My Mind Most people think the books you keep on your shelves are a reflection of your interests. Mine are something differe…

Read more →
December 10, 2025

You Don’t Need Expertise Today — You Need Documentation Today

You Don’t Need Expertise Today — You Need Documentation Today Why most people lose construction, legal, and medical battles before they ever start Most people think they…

Read more →
December 10, 2025

Urgency Without Panic: The Discipline of Moving Fast Without Falling Apart

Urgency Without Panic: The Discipline of Moving Fast Without Falling Apart There’s a strange kind of dissonance that shows up in almost every workplace I’ve ever been par…

Read more →
December 9, 2025

The Meeting That Wasn't a Discussion

Most people walk into a meeting thinking it is a discussion. But sometimes... it is actually a negotiation. Years ago, we had a production issue affecting real clients. S…

Read more →
December 8, 2025

The Deadline That Nearly Broke Me

Early in my career, I almost burned myself out over a deadline that was impossible from day one. We were in a big sales meeting about a multi-million dollar opportunity.…

Read more →
December 8, 2025

The Leadership Trap of Perfection: What Tom West Taught Me

Most people misunderstand perfection. They treat it like a virtue — a sign of craftsmanship, pride, or high standards. But the longer I’ve led teams, the more I’ve learne…

Read more →
December 8, 2025

The Calm Leader: How Perception, Preparation, and Clarity Change Everything

There’s a moment in your career when you realize the real crisis isn’t the broken system, the failed deployment, or the impossible deadline. It’s you — or more accurately…

Read more →
December 7, 2025

Failure as a Clue: What Postmortems Get Wrong

Failure as a Clue: What Postmortems Get Wrong Most postmortems feel performative. Not on purpose. Not because people don’t care. But because the structure of the meeting…

Read more →
December 5, 2025

I Didn’t Plan to Become an Expert in Concrete Forensics — But Then a Client’s $100K Project Failed in Front of Me

At Echelon Foundry, we’re used to being pulled into unusual problems. Sometimes it’s a legacy software system with a mysterious outage. Sometimes it’s a financial platfor…

Read more →
December 4, 2025

The Cost of Keeping Something: A Real-World Lesson in Incentives, Technology, and Human Behavior

When you spend enough time doing diagnostics — the technical kind or the human kind — you eventually notice something: most conflicts don’t resolve because one side “wins…

Read more →
December 3, 2025

A Rejection, a Misconception, and What It Actually Means

Early in my career, I encountered one of the more formative professional experiences I have had, though not in the way I expected. The company I was working for at the ti…

Read more →
July 15, 2025

Bad Assumptions

Over the past few days, I’ve seen a number of posts questioning how employees handle adversity, often framed as tests of character. One story criticized a new hire who mi…

Read more →
June 5, 2025

The $45 Tool That Saved My $35K Bathroom—And What It Taught Me About Building Software

I recently spent over $35,000 having a bathroom professionally built. New tile, new layout, high-end finishes—the works. I trusted the process and assumed the price tag m…

Read more →
May 28, 2025

The One Who Showed Up

We were shopping for higher-end lighting—ceiling fans, fixtures, and accent pieces that would complement the design of our home while solving some practical issues. The h…

Read more →
May 20, 2025

The Coffee Queue: How Developers Solve Real Problems

At a company I once worked for, we had a very specific rule: only one carafe of coffee in the office at a time. Not for health reasons. Not for logistics. But because som…

Read more →
May 7, 2025

Observing

Years ago, I was fortunate enough to take a class on experimental design. Paraphrasing the professor: “The great thing about animals is they don’t talk—whatever they show…

Read more →
May 7, 2025

The Coffee Queue: How Developers Solve Real Problems

At a company I once worked for, we had a very specific rule: only one carafe of coffee in the office at a time. Not for health reasons. Not for logistics. But because som…

Read more →
April 30, 2025

A Lesson in Blind Trust

Years ago, I worked for a company with several sister organizations that sold products to both consumers and businesses. One of these organizations operated much like a s…

Read more →
April 16, 2025

Not Afraid of AI

Everyone talks about how AI is going to replace jobs, put people out of work, and do the thinking for the rest of us. Like every other machine, it’s really good at interp…

Read more →
April 8, 2025

Great Ideas

One conversation that’s always stuck with me was about the role of ideas in the creative process. I was speaking with someone who owned a software company specializing in…

Read more →
March 31, 2025

Self Respect

we're going to talk about resumes, but first we're going to start off discussing plating food and why it's important. At my house, we're pretty laid back for dinner. The…

Read more →
March 31, 2025

Reduce over functions or Data, Data Everywhere

Treating functions as data lets you assemble logic the same way you combine values. Code is just a series of steps, so you can put those steps in an array and manipulate…

Read more →
March 25, 2025

Start Feeling the Vibe

In 1947, an engineer named Percy Spencer made an accidental but groundbreaking discovery—one that would lead to a revolutionary invention. What he stumbled upon became th…

Read more →
March 22, 2025

Intuitive, what is it?

We often make the same mistake repeatedly. We look at a problem or an existing product and think, "This can be better." We say, "We're going to create something new becau…

Read more →
March 22, 2025

Reduce over functions or Data, Data Everywhere

Walking through the concept of functions as data and applying it can lead to applying and manipluating different code. Assuming that code is a series of steps, then code…

Read more →
March 15, 2025

AI and our Obsession with Authenticity

Years ago, a family friend of ours was a talented picture framer, highly regarded both for his artistic sensibility and technical precision. One day, he unexpectedly disc…

Read more →
March 7, 2025

Finding the right person

When I ran the intern program at a previous company, we gave applicants a small coding test—not to weed people out but to ensure they had a basic ability to reason throug…

Read more →
February 19, 2025

Never Start

layout: post title: "Why Small Steps Beat Big Goals Every Time" date: 2025-02-19 Everyone loves big goals. “I’m going to lose 40 pounds.” “I’m going to learn to code this…

Read more →
January 15, 2025

What is AI good for?

I recently participated in a discussion that centered around the question, “What is AI good for?” The general sentiment seemed to be one of indifference—most people weren…

Read more →
January 15, 2025

Stop Measuring the Gap. Measure the Next Step.

When people start something new—learning a skill, changing careers, getting in shape, trying a new craft—they almost always make the same mistake: They measure the gap .…

Read more →
October 4, 2023

I thought (var) Gozer was a man. It's whatever it wants to be.

Tom Hacohen wrote a great post about his view of types and their place in development. At the end, he asked for different views, and so I thought I would oblige and parti…

Read more →
December 24, 2021

Looking back at C#

Happy Holidays! This is my post for the C# advent calendar ! They say the holidays should be a time where one looks back at the past year, or period of time in their life…

Read more →
December 23, 2021

I thought (var) Gozer was a man. It's whatever it wants to be.

Tom Hacohen wrote a great post about his view of types and their place in development. At the end, he asked for different views, and so I thought I would oblige and parti…

Read more →
December 23, 2021

Looking back at C#

Happy Holidays! This is my post for the C# advent calendar ! They say the holidays should be a time where one looks back at the past year, or period of time in their life…

Read more →
December 1, 2021

Dynamic Testing Is Better Than No Testing At All

https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper.ttinclude

Read more →
December 1, 2021

Language Comparison Euler Problem Two

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55…

Read more →
December 1, 2021

What is says not how it looks

Control Shift V to paste without formatting. LPT: Save Powerpoint presentations with .pps/.ppsx extension instead of .ppt/.pptx to open the presentation directly as a sli…

Read more →
December 1, 2021

It's Time For All You SQL Objects to get in Your Proper Execution Order

One of the biggest difficulties with moving database objects from one environment to another is getting the execution order correct. It's possible to script all the objec…

Read more →
December 26, 2017

Always Answer the Phone, Respond to the Email, and Go to the Interview

Several years ago I worked with someone who really felt he was happy at his job. Was he? I don't know. He never mentioned not liking where we worked, but at the same time…

Read more →
November 19, 2017

Are you Null?

Within the last couple of days Microsoft released a proposed update for the next major release of C# version 8. Over the past several years, there has been a large debate…

Read more →
November 5, 2017

Functional Languages in the Workplace

On a semi regular basis, people question why I choose to use F# to implement projects. They question why use a lesser known language when one like C# has a larger develop…

Read more →
September 29, 2017

Regular Expressions Presentation

I have uploaded my notes from my presentation on Regular Expressions. Currently, I am flushing out my presentation notes into a more readable format in the readme file, b…

Read more →
July 10, 2017

A Stroll Around C# 7 Remote Viewing

If you would like to attend my talk on C# 7, and you can't attend or don't happen to live in Indianapolis, you can watch remotely at 11:30 EDT Thursday July 20th. http://…

Read more →
July 2, 2017

Practice

When was the last time you sat down and talked to your team about problems? What was the last task or procedure you changed because it was a bad fit for the project? The…

Read more →
June 23, 2017

A Stroll Around C# 7

If you want to take a peek at the new C# 7, come stop by the TCC Lunch and Learn on July 20th! We'll try and have a remote option too if you can't make it in person too!…

Read more →
June 5, 2017

Quirks with Pattern Matching in C# 7

With C# 7, Microsoft added the concept of pattern matching by enhancing the switch statement. Compared to functional languages (both pure and impure), this seems to be so…

Read more →
March 2, 2017

Happy Birthday Visual Studio!

I'm hosting a Visual Studio launch party on March 21st. If you are in the Indianapolis area and want to come check out what's new, you should stop by and have pizza and c…

Read more →
March 1, 2017

Indy.Code()

I have been fortunate enough to be allowed to speak at Indy.Code() which really means I'm grateful to get the chance to listen to all the other speakers. If you live anyw…

Read more →
March 1, 2017

Indy.Code()

I have been fortunate enough to be allowed to speak at Indy.Code() which really means I'm grateful to get the chance to listen to all the other speakers. If you live anyw…

Read more →
September 7, 2016

C# 7 Overview

I'll be talking about C# 7 on, Friday September 9th at 9 A.M. Come and listen, or if you can't make it and are interested, view it remotely. http://www.meetup.com/TCC-Lun…

Read more →
September 6, 2016

C# 7 Additions - Pattern Matching

C# 7 has started to introduce Pattern Matching. This is a concept found in functional programming, and although it isn't fully implemented compared to F#, it is a step in…

Read more →
September 2, 2016

C# 7 Additions – Literals

A small, but nice chance in C# 7 is increased flexibility in literals. Previously, large numeric constants had no separator, and it was difficult to easily read a large n…

Read more →
September 1, 2016

C# 7 Additions – Throw Expressions

In previous versions, throwing exceptions had certain limitations where they could be used. Although not hampering, at times it caused additional work to validate and thr…

Read more →
August 31, 2016

C# 7 Additions – ref Variables

C# 7 expands the use of the ref keyword. Along with its previous use, it can now be used in return statements, and local variables can store a reference to the object as…

Read more →
August 30, 2016

C# 7 Additions – Out Variables

C# 7 removes the need for out variables to be predeclared before passing them into a function. public static string GetPhoneNumber(string name) { Dictionary<string, strin…

Read more →
August 29, 2016

C# 7 Additions – Deconstructors

C# has a new type of method, the Deconstructor. When a type implements this method type with the name of Deconstruct , multiple variables maybe directly assigned as a ret…

Read more →
August 28, 2016

C# 7 Additions – Local Functions

In C# 7 it is now possible to create a function within a function termed a Local Function. This is for instances where a second function is helpful, but it's not really n…

Read more →
August 27, 2016

C# 7 Additions - Tuples

In C# 7 Microsoft has introduced an updated Tuple type. It has a streamlined syntax compared to it's predecessor making it fall it look more like F#. Instead of declaring…

Read more →
July 6, 2016

It's OK, My eval is Sandboxed (No It's Not)

The idea of using eval has always been in interesting debate. Instead of writing logic which accounts for possibly hundreds of different scenarios, creating a string with…

Read more →
March 21, 2016

Project Oxford - Image Text Detection

Microsoft has a new set of services which use machine learning to extrapolate data from images and speech called Project Oxford . Each service has a public facing REST ap…

Read more →
March 14, 2016

Minutes and Seconds

When dealing with dates in .NET, most applications use the System.DateTime struct to store and manipulate dates. It has a natural conversion from MSSQL Server's DateTime…

Read more →
March 7, 2016

Configuring Logic

This question talks about removing a switch statement so that every time the business logic changes concerning a multiplier value, the C# code itself doesn't have to be c…

Read more →
February 29, 2016

Pushing Data

Consider the following two pieces of code: public IEnumerable<string> EnumerateWithStrings() { using (var connection = new SqlConnection ( "Data Source=localhost;Initial…

Read more →
February 22, 2016

Just write it here, I'll handle the rest

It's pretty common knowledge in a .NET console application using the following command will produce the following result. Console.WriteLine("I am a console message."); On…

Read more →
February 9, 2016

Application Performance Monitoring in .NET

I'll be talking on Application Performance Monitoring in .NET on the 16th at TCC . Come listen and get free pizza! Sign up on Meetup!

Read more →
October 19, 2015

Quick and Dirty Data Auditing

A lot of times a project, especially as it progresses, lacks proper requirements, time, or the resources, and tracking changes to data is often an afterthought. Rapid cha…

Read more →
April 25, 2015

Compile Time Stored Procedures

(code for this project can be found here ) One of the largest problems with interacting with databases is the lack of compile time assurance that the application code and…

Read more →
March 30, 2015

I thought you were the new method?

In C#, the concept of a virtual method is not new. It's a simple concept in which a child class may change the functionality of certain parent methods which have the keyw…

Read more →
January 12, 2015

It's O.K. It's Just Us Two Rows Joined: Vertical Partitioning Or When a 1x1 Table Relationship Makes Sense

From a theoretical sense, there would never be any reason to segregate data which has a one to one relationship. Multiple tables were meant to allow one datum to link to…

Read more →
January 5, 2015

Reclaiming Stored Procedure Code

One of the largest problems people have with keeping stored procedures in source control is not a disagreement that they should be but the change to the process in which…

Read more →
December 15, 2014

Did You Forget to Create a Nuget Package Again?

The biggest problem with managing Nuget packages for internal applications is creating and publishing the correct versions for others to consume. It's not hard, but it do…

Read more →
December 1, 2014

Are you finally going to do something about this?

There is often a lot of questions about the execution of finally statements in C#. It is a common assumption that finally blocks reliably execute, but even in the C# Refe…

Read more →
November 24, 2014

Wait Wait Don't Tell Me.....On Second Thought

.pre{} Consider the following: DECLARE @Counter INT --Counter SET @Counter = 100 --Keep track of numbers to insert WHILE @Counter > 0 --Loop down and add number to table…

Read more →
November 9, 2014

Mockups - Now with moving pictures

Wireframing applications are great for creating quick visuals of what a screen or series of screens may look like. The quality of the picture compared to the time require…

Read more →
October 26, 2014

I'm out of Range? You're out of Range!

In IIS there are several different options allowing you to control the behavior of an application. With all of these settings Microsoft attempts to validate the entered v…

Read more →
October 26, 2014

I'm out of Range? You're out of Range!

In IIS there are several different options allowing you to control the behavior of an application. With all of these settings Microsoft attempts to validate the entered v…

Read more →
August 3, 2014

Under The Mattress (or Compiled Code) is Not a Good Place to Hide Passwords

The question comes up from time to time about storing passwords in code, and is it secure. Ultimately, it's probably a bad idea to store passwords in code strictly from a…

Read more →
July 13, 2014

Can I at Least Get Your Name Before We do This?

As applications grow in size and age, they can become difficult to navigate and unruly to manage. Most organizations give little thought to spending extra time to maintai…

Read more →
June 15, 2014

Environments, You All Look the Same to Me

Several years ago, I was working on moving data from the reporting server to the development environment so I could test structural changes. Thinking I was in the develop…

Read more →
June 11, 2014

The Shake and Bake Dashboard

A few weeks ago, someone asked me if it is possible to create a server dashboard (real time processor usage, available memory etc.) using web technologies. Quickly thinki…

Read more →
May 27, 2014

Return From The Void

In a recent project, we were tasked with making a service layer more manageable and efficient, and with a tight deadline each minute needed to count. My teammate and I qu…

Read more →
April 16, 2014

Adding New Web Applications

Using PowerShell to create new web applications with the IIS PowerShell Snap-In is incredibly easy. Just use New-WebApplication and specify Site : Site to put it under Ph…

Read more →
April 13, 2014

Cut the Header Off and the Body will Die (Well not really)

Recently, I had to work on an audit item concerning removing the "X-Powered-By" header from the IIS websites. You can right click on the header and select remove, but thi…

Read more →
April 6, 2014

JSIooa nvrtai Sncgtpi -> Sorting In JavaScript

JavaScript has built in functionality to sort arrays, but it doesn't always work the way you think it would. Take the following array: 5,9,7,4,2,3,15,8,7,2,undefined,unde…

Read more →
April 2, 2014

Oh Snap! (Restore)

One of the most difficult aspects of the software development process is developing for and testing database updates. Unlike updating web sites, and executables which can…

Read more →
March 29, 2014

Language Comparison Euler Problem One

Question: If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multip…

Read more →
March 28, 2014

You Get an Update, and You Get an Update, and You Get an Update

What's the difference between UPDATE RecordsToProcess SET ReadyToProcess = 1 and UPDATE RecordsToProcess SET ReadyToProcess = 1 WHERE ReadyToProcess <> 1 When they've com…

Read more →
March 23, 2014

Please Spell For Me

One thing that always frustrated me about writing in technology (documents, resumes etc.) was the abnormal spelling of companies, technologies, and languages. Almost all…

Read more →
March 20, 2014

Where's The Scope

When I started programming, it was customary to declare the variables at the top of the method. Many people stated that it was clearer to declare everything at the beginn…

Read more →
March 20, 2014

Where's The Scope

When I started programming, it was customary to declare the variables at the top of the method. Many people stated that it was clearer to declare everything at the beginn…

Read more →
March 16, 2014

Find a Guid In a Haystack

A little while ago we had a problem when an unidentified Guid came up in an error email. Whoever wrote the original message, knew exactly where to look to find the associ…

Read more →
March 12, 2014

Non Failing Scripts

One of the most frustrating parts of database development is double applying scripts. If you are working directly on the production server, this problem is alleviated by…

Read more →
March 12, 2014

Non Failing Scripts

One of the most frustrating parts of database development is double applying scripts. If you are working directly on the production server, this problem is alleviated by…

Read more →
March 10, 2014

The Book Of F#

The book comes out this month, by Dave Fancher F# MVP. It's a great book! It has an easy to read narrative and a fun style, and is designed for .Net Object Oriented peopl…

Read more →
March 10, 2014

The Book Of F#

The book comes out this month, by Dave Fancher F# MVP. It's a great book! It has an easy to read narrative and a fun style, and is designed for .Net Object Oriented peopl…

Read more →
March 9, 2014

Brackets

When writing a language where { ... } or BEGIN ... END are optional, I always put them in. Some people say this takes up space when not required, but I find it useful to…

Read more →
January 15, 2014

Generating SQL

Generally, I don’t like writing code more than once if I can avoid it. Most people apply the DRY principle to application code, but I also find it a good idea to follow t…

Read more →