No Stupid Questions

People always say “there’s no such thing as a stupid question”, but most of the time – the people they say that too don’t believe them and decide “I’m not going to ask that because I’ll sound stupid”.

I think that most of the time, when someone “doesn’t understand” – it really means “I’ve come up with a mental model of how this works, and the new information you’re giving me doesn’t fit into that model”. The best way for a teacher to help get you on track is to understand your current mental model. The best way for the teacher to figure this out is for you to ask questions.

It’s like being lost and calling and asking someone for directions (before we had GPS and mapping apps). They can only give you directions if they know where you are coming from. If you tell them “I’m looking at a Dairy Queen right next to a Taco Bell” (and they’re familiar with the area) – they can say “Oh – you turned left instead of right. Here’s what you want to do…”

If you just keep saying “I’m lost” (or worse, not saying anything) – it’s much harder for someone to help get you back on track.

Remote Learning

As I’m writing this, we’re about a week into the “social distancing” phase of the fight against COVID-19. At this point, pretty much every school and college in the country has been shut down and either has or is trying to transition to remote instruction.

Even though this transition (like everything) is chaotic right now, once we get this going – I can’t help but think that we are going to realize that remote instruction is a valuable “arrow in our quiver”. I’m not saying that this will work for every situation, but this is the perfect opportunity to put in place the idea of transitioning in-person lectures to YouTube videos.

Instead of the same information being delivered thousands of times across the country by different teachers with different presentation abilities, let the best lecturers present the material and let local teachers answer questions and help students process and apply the information. Khan Academy is just one example of an online resource that has many great online lessons. (This isn’t an original idea. This is one of the many interesting ideas Seth Godin makes in “Stop Stealing Dreams”. Video here, manifesto here.)

Don’t misunderstand. We still need local teachers and local schools. We just don’t need them to do the same thing they’ve done for years.

You can lead a student to class but you can’t make them learn

Horse water drink
Photo by Jon Tyson on Unsplash

Borrowing from the old proverb about forcing horses to drink, I think that all too frequently – this is exactly what we’re trying to do in education.

As soon as you think about it like this, I think it’s pretty obvious that force feeding knowledge to uninterested students isn’t a path to success.

I’ll confess, as a parent – I’ve frequently gotten frustrated with some of my son’s teachers. This year, I’ve been volunteering with TEALS to teach Computer Science in a high school and I have gained some empathy with teachers. It’s hard to teach – much less inspire – students who have absolutely no interest in being there.

When kids are younger, I think they will “learn” out of obedience. Some (a minority, I’m guessing) become genuinely interested in subjects and learn because they are curious. I think the rest reach the point of “I’m bored and I don’t care” at different ages. (Personally, I hit this point in college.) Could we transition from our current “drink from this firehouse until you’re 18” model to more of a “work for awhile, then learn for awhile” model?

It’s odd that we spend of so much money, time, and effort on compulsory education until students are 18 (when most of them have no appreciation or interest in what they are being taught), but once you’re an adult and have “been out in the world” and have a better feel for what you’d like and need to learn, it’s a bit of an uphill climb to obtain education at that time.

In general, I’m not an advocate of government spending. In this case, we’re already spending a lot of money and I think it’s worth asking if we could “spend smarter”. I’m also not suggesting this would be easy. Making changes to the idea of “high school” – an institution that’s so embedded into our culture – would be a huge shift and unintended consequences are a very real risk. But – the more I think about it, I can’t help but feel “this is broken”.


A couple of years ago, I was attending freshman orientation with one of my sons, who was just starting college. In the parents’ meetings, they described the health center, the counseling center, the health club, the dining halls, etc. It occurred to me that a lot of this infrastructure had nothing to do with academics, but was all about the fact that there were a lot of 18 to 22-year-olds living here.

In our society, people that age are not kids anymore, but they’re not quite adults yet. This is a time of transition and many of the facilities and services provided by colleges are supportive in nature, as opposed to academic.

It occurred to me that there are a lot of people that age who either don’t want or can’t afford to go to college but who would still benefit from this kind of infrastructure.

It gave me an idea of an “un-college”. At this point, it’s still just an idea – but I’m trying to figure out how to bring this to life. My mental image of it looks something like this:

An un-college won’t have:

  • Accreditation
  • Degrees
  • Grades
  • Traditional Classes

An un-college would offer:

  • Training in job skills
    • Hard skills (mostly technology related)
    • Soft skills (how to make yourself “hire-able”
  • Residence Life
  • Social interaction with other people of similar age
  • Mentoring
  • Connection opportunities with potential employers

The cost of college continues to rise. I think it’s inevitable that more people start to re-evaluate the attitude of “you’ve got to go to college to get a good job”. I think technology skills offer an alternate path. In my experience in the technology field, if you can do the more – most people don’t care if you have a degree.

Look for more information about this here going forward. If you’re interesting in discussing ideas, I’d love to hear them.

P.S. I know that careers in the trades are another alternate path. I think that’s a part of this discussion, but I’m a technology guy so I’ll leave that to others, like Mike Rowe and https://gobuildalabama.com/

Dip your foot into Continuous Deployment (CD)

DevOps is a big deal in software development right now. Continuous Deployment (CD) is a big part of this trend. (Not to be confused with Continuous Integration, or CI.) You can find more technical definitions of Continuous Deployment, but it’s really about automating the process of getting new code onto your production servers after it has been built, tested and approved. The goal is make this as automated a process as possible, because when people have to manually copy files and change configuration settings – mistakes happen, no matter how many checklists you have.

If you are a ASP.Net developer (Framework or Core) and you’re using Azure App Services to host your application – your App Service can build your Azure DevOps pipeline for you. What’s a pipeline? Here’s a good introductory video:

Azure DevOps is the re-branded Team Foundation Services and I think it’s really good. (It’s free to setup an account for 5 users, so – if you’re already using Azure, why wouldn’t you try this?)

In the video, he demonstrates setting this up in the DevOps console. If you start from your Azure App Service console and go to the Deployment Center – it will create a starter pipeline and release for you. (Azure DevOps isn’t the only one it works with. I’ve used the integration to GitHub and more are listed.)

It just takes a couple of minutes and you should have a working pipeline. If you’ve been publishing from your development computer’s Visual Studio, you’ll want to delete the publishing profiles to remove the temptation of pushing directly. Now that you have the pipeline, always deploy using that.


One of our family cars slid on a wet curvy road and took out someone’s brick mailbox. (Everyone is fine. No one was hurt.)

Talking with the affected homeowner, she said that was about the 8th time that someone had had some kind of wreck in her yard. I know she had to be thinking “Are you kidding me? Again?”

But what she did was offer a hug and say “I’m so glad that you are not hurt.”

She’s probably facing a couple of weeks of hassle to fix something that wasn’t her fault, but I was blown away by the grace she offered us. I would love to think that I would be as graceful as she was to us if the roles are reversed, but I’m not at all confident that would be the case.

At a moment when she had every right to yell and complain, she made a bad night a little better than it could have been by being human. It was really humbling and inspiring.

Grace is a really wonderful thing, if you can manage it. I hope to be able to pay it forward.

Authentication vs. Authorization

These aren’t just “10 dollar words” that both start with the letter “A”. If you have an application, you need to understand the difference between these two things.

Let me try to explain this way. Not too far from where I live is a semi-famous (infamous?) bar called the Flora-Bama, so named because it’s on the state line between Florida and Alabama. For purposes of this, imagine that the drinking age in Florida is 18 (it’s not) and that the drinking age in Alabama is 21 (it is). (The Flora-Bama is pretty big and I think there are bars on both sides of the state line. Let’s assume that’s true.) In this scenario, if you’re 19 – you can buy a beer from the bar on the Florida side, but not from one on the Alabama side.

Imagine the doorman out front is checking IDs and putting wristbands on everyone – yellow if you’re 18-20 and green if you’re 21+. That’s authentication. He checked your ID and identified you but didn’t make any decisions about what you could and couldn’t do.

If a yellow-banded 20 year old walks up to an Alabama-side bar, the bartender there will refuse to serve the patron based on the color of the wrist band. This is authorization. The bartender doesn’t check the ID again, but just makes an authorization decision based on the previous authentication.

You can (and in many cases probably should) outsource your application’s authentication function. When you see sites let you “Login with Google” or “Login with Facebook”, that’s what’s happening. They are letting Google or Facebook handle the authentication, but the actual site still has to decide what the user is permitted to do.

The simplest ramification of “outsourcing authentication” is – one less password for your site’s users to remember. More importantly, if you aren’t storing passwords – they can’t be stolen if your data is breached. Of course, you’ll need to decide if all of your users are likely to have a Google or Facebook account (or whatever service you choose to trust to authenticate).

Comfort Zones

A few days ago, I was walking into the downtown Chick-fil-A close to where I work. Outside was a man in a wheelchair. At first, I thought he was a panhandler, but then I realized he had a sign hanging on his wheelchair with a web address. This caught my attention.

His name is Donnie. Turns out – he has cerebral palsy and sells candy to support himself. (This is his web address if you want to find out more about him. If you’re so inclined, consider supporting him.) I was very inspired by his story.

As I was thinking about his story and how he probably got started selling candy, one of the things I was struck by was “he doesn’t really get to have a comfort zone”.

It made me realize what a luxury having a comfort zone is. A luxury is something that’s nice to have, but that you don’t need. I wonder what we all (especially I) could accomplish if we realized that we don’t have to stay in our comfort zones.

WordPress plugin for Google Analytics

I’ve used WordPress for years. Everytime I’ve gone looking for a plugin to include the tracking code for Google Analytics, what I found was overkill so I wrote my own.

It adds one field to the General Settings screen to let you enter your Google Analytics Tracking ID. That’s all there is to it.

You can download it from https://wordpress.org/plugins/technicality-google-analytics/ .


I’ve noticed that frequently when communication is unclear, the problem is pronouns. More specifically, the pronoun not having a clear antecedent.

“It’s not letting me …”

I work in technology and many times, clients and end users don’t know the correct name to call something, so I hear a lot of “it” used to describe something without it being clear what “it” refers to.

I understand not knowing the correct names of things. When I take my car to the mechanic, the shoe is on the other foot. I try to make up a term (“the curvy thing”). Even if it’s not the technical name, that’s a better antecedent than just saying “it” without context of what you’re referring to. Frequently, there have been several things mentioned earlier in the discussion and “it” isn’t clear enough.