Author Archives: scottb

Weekend Brain Dump

It is no secret that I am a fan of checklists. Tools like Trello are awesome. I also use NirvanaHq for my GTD type lists (Thanks David Allen). One of the few books that I am reading right now,
The Checklist Manifesto is about how important checklists can be.

However, sometimes I know I have things on those lists, but they are still swimming around in my head. I have the mind like water that David refers to, but it is not the calm still water. Instead, it feels like the rapids.

When I reach that point, I find it helpful to grab a pile of notepads and just start dumping things out of my head. I don’t like using just one notepad and flipping pages, since things seem to get hidden that way. Instead, I dedicate a notebook for each “area” that I am “dumping”. I can easily lay them out and see everything.

Here is a picture from this morning. I am trying to get into the habit of keeping an index card with the 2 or 3 things that I hope to get done in a day. For this day, it was so overwhelming, I just picked one. BTW, the breakfast was great and the boys (these boys) had a good time.160703_WeekendBrainDump

Html PlaceHolder Attribute done right

While a pet peeve is described as a “minor annoyance”, this issue has always been a little more than that for me. I don’t know how many times I see a textbox on a form somewhere and when I click in the textbox, the label disappears. I get distracted for a moment, and when I look back at the screen, I can’t remember what I was expected to be entering. It happens a lot with Logins. Once I start to log in, I wonder, did they want a username or an email?

So, when I was signing up with Grammarly (I know, from my posts, you wouldn’t guess I would need their service πŸ™‚ ), I was pleased to find out they are doing inputs “right”.

When I clicked into the input, the caption animated down to a smaller version so I could still see which input field I was in.

It is odd to create a blog post for such a minor thing, but I was just so happy to see somebody doing it right that I had to post it somewhere.


Idea wall


I have been a fan of cards on a wall for years. I buy the 1/2″ 4’x8′ sheets of insulation. In the past, they were about $8, but the latest at Home Depot is more like 14.

In my current setup, I added a few curtain rails along the top of my whiteboard. Then, I cut the insulation boards down to a smaller size and use them for “cork boards”.

Here is a recent example of one of my boards.

Luke – What is this board for?

He came in this morning and asked why I had all the cards on the board. I figured it would be easier to show him than to explain it. I grabbed a clean board and we started “brainstorming” the treehouse he wants to build. He likes things a little more visual, so I printed some pics and attached them to the cards.

When I first put the clean board up and told him it was for the treehouse, he was pretty skeptical. I believe he was thinking were going to actually start building the treehouse right now. However, once we got a few cards on the board, I think he got the idea. He is a fan now (although, I am sure he rather just have the treehouse)

Here is an example of the top of the board where you can see the curtain rods. And, I know you are wondering… Yes, I did wrap the edge in a little Duct tape just to give it that professional look. πŸ™‚

Movie Clips & Quotes


I have wanted (needed) this for years, so I figured I would finally create a post. In many situations, a movie quote or a scene from a Seinfeld episode will go through my head. I figured I may as well link some of them somewhere, so here it is. These are not in any order and I have made no effort to prevent spoilers.

Heartbreak Ridge (1986)

What’s your assessment of this alert? (gunny)…It’s a cluster…

I am not a fan of the F-Bombs, but his movie brings back so many memories and much of it is exactly as I remember, including the F-Bombs.


Pale Rider (1985)

There’s nothing like a nice piece of hickory

We Were Soldiers

Take care of your men … and don’t call me grandpa



Larry Bird vs. Michael Jordan – Nothing but net

Somebody was going on and on the other day about how one thing affected another thing, and yet another thing. All I could think of was this old commercial where they are standing on the Sears tower and they say, “off the expressway … over the river … off the billboard … through the window … off the wall … nothing but net


Night Shift (1982)

This movie has so many lines, I should probably create a separate page for it. It is some early Michael Keaton at his best. It wasn’t easy to see Henry Winkler in this role, since he was the Fonz in my mind. However, he delivers some pretty good lines too.

Prostitution scene

By 1982 standards, I would guess this should have a viewer warning but if you have watched TV in the past 10 years, I am pretty sure you have seen much worse.


Mr Mom (1985)

220 / 221 … Whatever it takes


Volunteers (1985)

What was time again?

I always think of this one when I get twisted around on my words…


Bambi (1942)

If you can’t say something nice…


A Few Good Men (1992)

We Follow Orders or People Die

This is one of the best movies. It is chock-full of quotes.


Because they stand on a wall


You Can’t Handle the Truth!

This clip is full of great lines.
Jessep: You want answers?
Kaffee (Tom Cruise): I think I’m entitled to them.
Jessep: You want answers?
Kaffee: I want the truth!
Jessep: You can’t handle the truth! Son, we live in a world that has walls. And those walls have to be guarded by men with guns. Who’s gonna do it? You? You, Lt. Weinberg? I have a greater responsibility than you can possibly fathom. You weep for Santiago and you curse the Marines. You have that luxury. You have the luxury of not knowing what I know: that Santiago’s death, while tragic, probably saved lives. And my existence, while grotesque and incomprehensible to you, saves lives…You don’t want the truth. Because deep down, in places you don’t talk about at parties, you want me on that wall. You need me on that wall.
We use words like honor, code, loyalty…we use these words as the backbone to a life spent defending something. You use ’em as a punchline. I have neither the time nor the inclination to explain myself to a man who rises and sleeps under the blanket of the very freedom I provide, then questions the manner in which I provide it! I’d rather you just said thank you and went on your way. Otherwise, I suggest you pick up a weapon and stand a post. Either way, I don’t give a damn what you think you’re entitled to!


a good excuse

Kaffee: Excuse me, sorry I’m late.
Capt. Whitaker: That’s alright, Danny, I know you don’t have a good excuse, so I won’t force you to come up with a bad one.
Kaffee: Thank you, sir.

Office Space (1999)

What would you say…you do here?

Another classic. I have people skills!!!


The Hunt for Red October (1990)

Speak your mind Jack

In a recent Yammer discussion, a supervisor type person asked for feedback on an idea. While the easy (and possibly wise) thing to do would have been to keep my opinion to myself, I went a different route. I prefer open and honest communication. It doesn’t have to be brutal truth, but things just seem to function so much better when we can freely share ideas. Afterwards, I sort of felt like Jack in this scene.


The Treasure of the Sierra Madre (1948)

We Dont Need No Stinkin Badges!

I have heard this quote from my first days in IT. Anytime the discussion centers around something we don’t have, this comes to mind.


Crimson Tide ( 1995)

Preserve Democracy, not practice it

This reminds me of the saying, “Salute and Execute”. There are times where this is the only right answer. I guess I had never really thought about this until I heard this line. The brave men and women that defend our country follow orders. Life in the military is far from democratic, but that is exactly what they fight to defend.

Bravo Hunter…You new to shut up and enjoy the view

I am often reminded of this scene when I in a room and somebody else walks in. Most people feel some form of “small talk” is required. It isn’t by me. If I had something I wanted to say, I would say it. But, I don’t feel the need to talk about the weather just because we happen to be in the same room, elevator, or whatever.


Jerry Maguire (1996)

Brutal truth

Avery: What was our deal when we first got together? Brutal truth. Remember?
Jerry: I think you added the “brutal.”

It’s a Wonderful Life (1946)

I want to live again!

It is strange that this is how I felt after I got my internet working again at home. I was getting 4-5 Mbit and living with it. Once I found and replaced the bad switch, I was back to 60-70 Mbits! It reminds me of the time I was able to get nearly all the 640K of RAM in my computer and I was so excited I want to share the good news with my wife. She just shrugged. πŸ™‚
Anyways, after being on a crawling network for a few days, it is awesome to be back to “normal”.


Days of Thunder (1990)

Now y’all heard of a “Japanese Inspection” …

Have you ever asked somebody for somthing that was “time critical?”. When I do, this clip comes to mind…


Microservices – my recent journey


I have been watching videos and reading for the past couple months about Microservices. It is very timely, since I have been doing maintenance work on a monolith project, parts of which are more than 10 years old.

I wanted to create this page to have a place to reference some of the material I have found along the way.

Mastering Chaos – A Netflix Guide to Microservices

It is always good to gain more insight into how things work at Netflix. In this video, Josh Evans covers this history of the early Netflix to today, and some of where it is headed.

Little Boy Dominoes Topple Out of the Tent

Ok, this one is not so much about Microservices as it is just 24 seconds of funny. I saw this video as part of a talk where the lady was making the point that we don’t realize the impact of design decisions unless we measure (or in this case watch) our product (API) being used. The mom laughing as she films it and the final boy make me laugh every time.


Spotify Engineering Culture part 1


Spotify Engineering Culture part 2


Challenges in Implementing MicroServices

This video is from Fred George. I have it set to begin where he starts talking about rivers, streams, and ponds. From there, he blends into the car rental application which is a great example of an incremental application.

Here is an expanded and more recent version of that same talk.


Microservices β€’ Martin Fowler


A Day in the Life of a Netflix Engineer


Microservices @ Spotify

Kevin Goldsmith going into more detail about how Spotify uses Microservices.


Microsoft Azure Service Bus Brokered Messaging Deep Dive

Alan Smith – the same guy that does the PluralSight course on the same subject. With the speed of Azure, this may be a little dated, but I think the majority of it still applies.

Agile is Dead β€’ Pragmatic Dave Thomas


Agile Product Ownership in a Nutshell

This is the same guy that did the Spotify culture videos.


“The Eight Fallacies of Distributed Computing”

by Stephen Asbury. I liked this video where he is trying to shed some light on the issues of distributed computing. He is not saying, “Don’t do it”. Instead, I think he is just helping to remind us of the things to be aware of and code for.


Wunderlist – Chat Fowler

From Homogeneous Monolith to Radically Heterogeneous Microservices Architecture


Applying the Saga Pattern

Caitie McCaffrey


Patterns and Practices for Real-World Event-Driven Microservices

This lady is from Jet (that wants to compete with Amazon) and they are a big Azure and F# shop


Juval Lowy on Microservices

This is a very smart guy talking about Microservices and how to think of them. The volumne is a little low, but it is definately worth watching.

Integrate Database Migrations with Octopus Deploy


Prior to Octopus, we had a proprietary way of deploying database changes. Moving to Octopus Deploy forced us to find an alternative approach. I had used Fluent Migrations on an earlier project and I was excited about using it again.


  • Database source is treated as first class citizen and remains in the project.
  • Full text search can easily be done to find each time a field or sproc was changed.
  • Stored Procedures can be easily compared between migrations.
  • Version History maintained in database (see screen capture below) showing exactly when each migration was applied (and Version, ITMS, PBI, or other info).
  • Multi-user Two people can be working on their own db changes at the same time, each in their own migration. (The normal rules that both of them should not be changing the exact same objects still apply).
  • Ability to apply multiple “iterations” during a sprint (instead of waiting until the end)
  • All Database changes are tracked together.
  • This approach eliminates the need to push a db change using email or some other method. In our current environment, we are forced to do that. For a simple change, it just doesn’t make sense to create a new branch of managed code, jump through the Fortify hoops and everything else that is involved in rolling a simple change, force all users out of the system, etc… With this approach, adding a simple migration should take less than 30 minutes and it is done.
  • Gives visibility to all changes, which can greatly assist troubleshooting down the road.
  • Fortify Tango not required. The current Implementation folder is not part of the Fortify process and this shouldn’t need to be either. There is no User component to this. This is not an application that is being installed for the user.
  • Database changes are not tightly coupled to managed code changes. Some people would list this as a Con, but having them “separate” has some benefits.
  • Best Practices (and possibly worst) are more easily followed for future devs on how to script an extended property or foreign key. The prior scripts are part of the project and can be searched and copied.
  • Developer is not forced to use migrations. The can still wait until right before the deploy, let a tool do the compares, generate the scripts, and then just copy them into the folder.
  • Deploy and rollback can easily be ran multiple times during development, EXACTLY as they will be ran during deployment.
  • Visual Studio 2015 new project – added by default
  • Screens

    Migration history in DB


    PowerShell script


    Technology / Tools

Markdown site (Wiki) to share project information


I needed an easy way to share information with other members of our team. Some people were using OneNote, which is a great product, but sharing things can be a little clunky. Our organization was working towards an enterprise solution for this problem, but I needed something right now for what I was working on.
I chose Markdown since I figured it would be easy to convert it to whatever solution the company decided. This ended up being a very useful tool and provided a quick easy way to collaborate with other teammates.


Home Page


Home Page – Markdown

Example markdown


Added ability to easily create lists.

Tools used


Help pages

To make it easy for others to edit pages, I created a simple help page with examples.


Read Database Settings

Since this is custom code, it was easy to add the ability to execute Sql statements when the user clicked a link. In this example, I display the AppSettings by environment on the page.

Go/NoGo Dashboard for System Health


The idea for this project was to create a “Health” dashboard similar to Amazon or Azure. In our environment, we don’t seem to have a problem getting emails when things fail.

Our problem was that were not getting notified about events that should have happened but did not. For example, if the process to import a file normally runs every morning, but it does not run one morning, we didn’t know about it. Since it didn’t run, it did not send an email about any problem.

Another benefit of a health dashboard is for a quick “sanity check” when a problem is reported. As a first step, we can check the dashboard to see the overall health of the system.


Home Page

The main page allows the user to quickly filter the checks by the environment (Prod, Test, Dev).

Home Page – Dark

I am not a designer (I can barely match a pair of socks). However, I do like options. Bootstrap/BootSwatch made it easy to do that. I allow the user to pick the theme they like, simply by clicking the links in the lower right of the screen.

Dashboard filtered by tag

The system supports tags to make it easy to group related checks. For example, all tasks running on a specific server may be tagged with that server name.

Edit Task & Tags

Example of screen to edit task description and tags along with any notes for the specific check.

Show Triggers

Each check can have multiple triggers. This allows some pretty flexible scheduling as shown in this example.

Edit Trigger

Clicking a trigger in the list brings up the modal edit dialog. I tried to use buttons to make it easy and visual for the user to “see” the schedule.

View Actions


Edit SQL Action

Example dialog to edit the Sql used for the check.

History Tab

The helps determine how often a check is failing. It also includes any notes that were added about a failure.

Edit Event Note

Clicking the pencil in the far right column allows the user to enter a note about a specific event. This can be helpful to explain why some event failed.

Export to Excel

This serves two purposes.

  1. Backup of existing configuration.
  2. I didn’t complete this piece, but the idea was to be able to add checks to the spreadsheet and import it back into the system.


WebAPI Generated Doc

Here is an example of the API Doc we get for free with WebAPI.

Trello Punch List

Trello screenshot showing a portion of the project punch list.

Technology / Tools

  • C#
  • WebApi
  • AngularJS
  • Bootstrap/BootSwatch
  • Windows Service

Sql Code Snippets

Creating a custom snippet

Create a Snippets folder somewhere (I like c:SqlSnippets)


Use the following template as your first snippet

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="">
  <CodeSnippet Format="1.0.0">
      <Title>Logging - Standard Template</Title>
      <Description>Insert script to read Logging</Description>
      <Author>Company Name Here</Author>
      <Code Language="SQL">
        DATEADD(hour, DATEDIFF(hour, GETUTCDATE(), GETDATE()), TimeStamp) AS RunTime
      , Message
      , UserName
      , . . .
 FROM Logging.dbo.LogTable WITH (NOLOCK)
WHERE TimeStamp > DateAdd(MINUTE, -30, GetUtcDate())
ORDER BY TimeStamp

Open Code Snippet Manager (^KB)


  • Click Add button
  • Navigate to your new Snippets folder
  • Click the Select Folder button

Expand your Snippets Folder


Cleaning up the Insert Snippet Dialog

Insert Snippet in Query window

  • Press ^KX to bring up the Insert snippet window (before our change)


This dropdown is too busy and it is hard to find our custom snippets.

  • Go back to the Code Snippets Manager (^KB)


  • Open the folder shown in the Location textbox.
  • Make a backup folder to save these scripts and move all files into the backup folder

Folder before backup


Folder after backup


Remove Missing Folders

Go back to the Code Snippets Manager and click the *Remove* button for all the missing folders. When you are done, it should look like this.

Insert new Template

Finally, the payoff. Press ^KX to Insert a tempalte. It should be clean like this:

Senior Software Developer – Resurgent Capital Services

Jun 2014 – Present

  • Created a File Validation site using Azure, SignalR, & Redis. Project included unit tests and I was able to obtain 97% code coverage.
  • Developed a Go/NoGo Dashboard to provide a “quick glance” of system health. The site includes an AngularJS website, WebAPI service layer, and a Windows Service to perform the system checks.
  • Created a simple Wiki site to display and edit Markdown to help document projects and share information.
  • Integrated Database Migrations with Octopus Deploy
  • Installed Discourse in Azure in attempt to foster group discussions. (Jury is still out on people using the tool)
  • In addition to the fun projects listed above, I have also helped maintain existing legacy applications. (Some of the apps have 12+ year old stored procedures that still run hundreds of times per day)