Today’s Distraction

I could write 15 pages of how I feel about what happened in Orlando over the weekend.  I’d get about 50% of my friends agreeing with me, and the other 50% defriending me.  Well, perhaps not.  The thing I like about all of the friends I have is that when we disagree, we don’t hate each other, we listen to each other’s opinions, and agree to disagree, and then talk about what we’re going to do this weekend.

So, for this post I want to get away from all of that.  I want to talk about me.  From a long time ago.

Back when I was in high school chess was a hobby of mine (it still is).  Some of you know that, and how I’ve posted recently about the death of Viktor Korchnoi, the person I deem as the greatest player ever never to win the world chess title.  I’ve stayed interested in chess my whole life, although my skills aren’t nearly as good now as they were in my youth.  When I was in high school, spring of 1978, I entered the Madison, WI city championship tournament.  I believe it was a 6-game Swiss system, meaning you play six random opponents out of the whole pool.  I ended up taking 5th place.  Not bad for a 16 year old.

That summer, I was nominated by someone in my high school faculty to help represent Madison in a student trip to Europe.  There were four of us from Madison, and our entire group of thirty included kids from Tennessee and Michigan.  We all became great friends during that summer.


Me atop the Jungfrau, July 1978

I have two great memories from that trip.  The first was staying for a week with an Austrian family.  They knew no English, I knew no German.  But, their kids played the baritone and the accordion, which were the two instruments I played back in the day.  I was so honored on the last day of my stay – we went to a festival where they invited me to play accordion for a couple of songs in the polka band my homestay brothers were in.  It was great.

After the homestay, the next stop was Lucerne, Switzerland.  I loved Lucerne.  Beautiful city, and we happened to have arrived during their 800 (!!) year anniversary.  There were fireworks that no others rivaled over Lake Lucerne.  But that wasn’t the second memory I cherished.

In the town they had a giant chess board.  You know the kind, where the pieces come up to somewhere between your knees and waist.  I waited patiently for a game to finish, and I was able to offer a challenge (in German, with a lot of help from bilingual folk) to the winner.


My chess game – I had just played …f6, attacking the bishop at g5.


I had the black pieces.  After two hours of play I had a winning position.  Three more moves and I would have beaten my opponent.  The picture here is from early on in the game.  I was concentrating so hard I had lost all awareness of my surroundings.  At the point of certain victory I looked up from the board and saw over 100 people watching us.  I had not known they were there.  Nerves kicked in.  He made a move.  I thought for a bit, and made a move, and to my horror I saw that I had blundered a pawn.  Five moves later I was lost.  I resigned.  I still remember the game vividly, but I can’t remember all of the moves.  A little while after the game some local came up to me and said in English “You almost beat the Lucerne city champion.  No one does that”.


That made me mad and happy at the same time.  To be complimented for a great game, and kicking myself because my nerves got the best of me.  To think a 16 year old kid came that close to beating the local champion.

I will always remember that trip, and specifically those two incidents.  They really made the whole trip for me.

Posted in General Stuff | Leave a comment

All of Things

This is going to be a blog post like no other I’ve ever done. Some will like it, some may not.

I’ve done a lot of thinking on this post over the past few weeks, so hold on to your seats.  No, this isn’t a political rant, far from it, so just stay with me here.  Again, this won’t reach everyone.

I am a Christian (the story of how I came to that is for another time).  I believe in the Word of God.  I believe Jesus was born of the virgin Mary, as the Son of God, lived a sinless life, and bore the brunt of all the world’s sins by dying on the cross and rose three days later to sit at the right hand of God in Heaven, so that all of our sins would be forgiven.

Why am I this way and why do I believe this?  Three reasons:

  • Faith
  • Evidence
  • Science (yes, science)


“For all have sinned, and fall short of the glory of God”.  Romans 3:23.  I am certainly no exception.  I don’t deserve salvation, but Ephesian 2:8-9 says “8. For by grace you have been saved, through faith, and not of yourselves, it is a gift of God. 9. Not of works, lest any man boast”.  I actually have that tattooed on my back in a Celtic cross design, along with a verse from Psalm 25.  No matter how much good I try to do, no matter how many old ladies I help cross the street, that doesn’t help me.  It is my faith that my sins (and they are many) are forgiven, through my faith in Jesus Christ.


There is so much evidence to convince me that Jesus was a real person.  That a lot of the Old Testament actually happened.  I am not one of those who believe that the world is only 6,000 years old, and that man walked with dinosaurs, and fossils were created by God.  The way I interpret Genesis is that Adam and Eve weren’t necessarily the first humans, but the first humans documented.  Did they actually exist?  Without Adam and Eve, there would be no original sin, so my faith tells me yes.  Was Noah real?  I don’t know.  My faith tells me yes, but I can’t prove it.  That’s where the faith comes in.  But the Apostle Paul was a real person.  Luke was a real person.  Peter, Thomas, Stephan, James, John.  They all existed.  There is written documentation.  Now, Luke never met Jesus, but he and Paul traveled extensively together, and Paul did meet the Risen Jesus when he was looking to persecute the believers on his way to Damascus before his conversion.  Luke took a lot of notes from a lot of sources and wrote to King Theophilus on his findings, in his gospel and in the book of Acts.  I encourage everyone to read “The Case for Christ” by Lee Strobel.  Mr. Strobel was an atheist who started investigating why so many people believed in God.  He ended up being converted (and is now an ordained minister) because of all the evidence he uncovered through countless interviews with both clergy and lay people.


The Big Bang.  13.8 billion years ago the entire universe, the billions of galaxies, the trillions of stars and planets, all started from a dot infinitely small and infinitely dense.  Then “Blam”.  For reals?  Well, yes.  I believe it happened.  But what caused the Big Bang?  What was before the Big Bang?  Not even the most brilliant physicists know.  But, after the Big Bang, anything could have happened.  But a bunch of things happened picoseconds afterword that had they not, none of the universe would have happened.  Certain forces, particles, gluons, muons, quarks, all came together to start creating the elementary particles. Then atoms, and gravity, and then cosmic dust that started forming into stars and galaxies and super novae created heavier elements and things evolved (yes, I used the evolution card) that created everything else we know of today.  Some scientists have said the chance that things turned out the way they did is 1 in 10 to the 123rd power. Why did things happen as they did?  Again, faith tells me God set it all in motion. Something had to have triggered the Big Bang.  Why not God?

I don’t expect everyone to follow along with this.  But this is what I believe.  And I can reconcile my belief in God and Jesus with what physicists believe how the universe started and how we’re all here.  It’s called Faith.  Keep the Faith.




Posted in General Stuff | Leave a comment

Career Change

I started my SQL Server career almost 15 years ago. At the time the company I was working for was downloading AS/400 data into Access databases, and I was hired to manage that process. Needless to say, this wasn’t the most optimal way to report on the data, since soon after my arrival these Access databases were nearing their size limits. This was back in the early 2000s, and I imagine this approach was pretty common at the time. Eventually I ended up moving all the data to a SQL Server (2000 version) and I created DTS packages to migrate the data.

A year or so later I went from an accidental DBA to a full time DBA overnight. I have another blog from years ago that explains that scenario. But, in any event, up until this year I’ve been a DBA. Installing, configuring SQL Servers. Multiple drives, multiple file groups. Spreading TempDB over several disks. Creating backup and recovery strategies. Database architecture. Indexing strategies. Query tuning. Mirroring. Replication. Clusters. I’ve done it all. I have not implemented Always On/Availability Groups except in a tutorial setting, but I’m confident I could pull that off too if I had to. Over the course of that time I’ve done quite a bit of SSIS (SQL Server Integration Services) work, mainly to just move data from a legacy system to SQL Server so it could be analyzed and reported on.

This past January I was offered (and I accepted) a position with a new company called Talavant (again, documented in an earlier blog of mine). I am a consultant, as I was with my previous employer, but an entirely different type of consultant. I have been thrust into the world of Business Intelligence.

I knew very little about SQL Server Reporting Services. I knew absolutely nothing about SQL Server Analysis Services. I hadn’t really worked with TFS (Team Foundation Server) or SQL Projects before. I was walking into a foreign country where I didn’t speak the language.

It’s been quite the learning process. Every day I feel more comfortable with what I am doing. I am now deploying cubes, SSIS projects, and databases. Every day I am learning something new – whether it’s MDX code in SSAS, C# code in a complex SSIS project, or a PowerShell script to deploy databases to a test environment.

SQL Server is not just a database platform anymore. It is a complete package to house data and report on it in a variety of ways. Whether it is creating a Pivot table in Excel, using third party tools like Tableau or Pyramid Analytics, or just creating a simple Reporting Services report.

I can’t remember the last time I restored a database from a backup. I have not seen an execution plan in over half a year. My new focus is to present data to the end user in the quickest, easiest, and most efficient way possible. It’s a pretty big learning curve, but I’m climbing up that hill and have no intention of heading back down.

Posted in General Stuff | Leave a comment


Okay, enough David Bowie.

I am going through what could possibly be the most excruciating time of my life.  There are so many emotions flying around it’s hard to keep everything straight.

There are things I can’t yet reveal.

There are things I can reveal.

After almost three great, great years, I am leaving Solve.  I have been so blessed to work with such tremendous people.  Nancy, David, Mike, Larry, Jordan, Jay, and most recently Tom and Jason.  Not to mention the people at my client for the past three years – Wes, Chris, and Patrick.  It’s been a fantastic ride, and what we’re currently setting up for the client will be extremely awesome.

Why would I leave?  Well, I’ve been given an opportunity to get in on the ground floor with a brand new company called Talavant headed up  by Dave DuVarney and Rob Long.  It’s a new consulting company based in Madison, WI; a little closer to home than my current client in Arkansas.  This is in no means a slight on the client I’m finishing up with – I loved working for them, I love visiting Siloam Springs, Arkansas.  It’s a great place.  I recommend everyone visit there at least once.  I intend to go back in the future, to visit my friends.

Dave DuVarney approached me about a month or so ago asking to meet up for coffee.  We had the obligatory chat, talking about life, families, and whatnot.  It was then I asked “OK, you didn’t ask me here for coffee…”.

I had met Dave several years ago when I was the DBA with National Guardian Life.  He had co-authored a book on SQL Server Reporting Services and we were looking to migrate from Business Objects without having to put all of the agents in Active Directory.  Nothing came from that meeting, but we’ve kept in contact ever since – bumping into each other at MADPASS meetings, etc.

Dave and Rob had started a new consulting company in Madison earlier in the year and needed to expand.  They had too many clients for their personnel.  I met Rob a couple weeks later and we continued to talk.  It was after that Dave asked me if I’d like to work for them.  I said yes.

There were a number of factors in my decision.  It’s local.  Yes, it’s about 50% travel, but I’d be able to be in a local office.  Currently my nearest office is 65 miles away, and it’s full, so I really don’t have a work station there.  This isn’t a knock on Solve, in fact, it just means they are growing so fast that they need more space!  That’s a good thing!

It’s not the money.  It’s more or less a lateral move.  But, I’m one of the first people on board, and I hope to ride that to a more senior role as the company expands.  That means I need to stay focused, do the best I can, continue learning, and well, yeah – just do the best I can.

Burn out.  I know my Solve colleagues may not like this so much, but I never expected to be on one project for three years.  I’ve been told by my co-workers that I’ve done things with SQL Server that make their heads spin (can’t wait for the knowledge transfer sessions🙂 ).  I take that as the highest compliment.  But  I expected that as a consultant I’d hop from project to project every few months or so.  Again, this is not a knock on Solve, because they have been so good to me during my time here.  I do not have one single bad thing to say about them.

So, early next year, I’ll leave one great company for what I hope will be another.  The decision was not without a lot of thought and prayer.  I told David when I was interviewed three years ago I was looking for a company I could retire from.  I sincerely thought Solve was that company – and it probably could be.  But, there’s still a little flame left in me, and with that light I want to see where this next path leads me (holy cow, I sound like Bilbo).

David.  Larry.  Nancy.  Michael. And everyone else there.  I love all of you.  I will not stay out of touch.  And I will see all of you again – sometime.



Posted in General Stuff | 5 Comments

The “Art” of Home Brewing

Let me preface this by saying that what I do in no way constitutes “art”, nor do I claim to be talented at the craft.  Having said that though, I have made a few really good batches of beer.

I’ll leave all the SQL Server technical stuff to others for now, because I am borrowing from a Tom LaRock theme on blogging about whatever I want.  And today it is about beer.

I got into home brewing a little more than a year ago.  I dabbled in it years ago, but it was from kits, and my resulting beer tasted like, well, like it came from a kit.  Boil some malt syrup, add some hops, add some yeast, and a month later you have beer.  Not good beer, but beer.

I’ve upped the game since then.  I wanted to brew good beer.  I wanted to be able to share my creations with friends.  So, with a  couple hundred dollars in the initial investment (it could go a lot higher in the future, believe me), I bought the equipment.  I started out doing partial mash batches, i.e., a little bit of grain and some malt extract powder.  I made some good batches with that, but it was still not where I wanted it to be.  So, about six months ago, I started brewing all grain.  Let me take you through the process.

To brew two cases of beer, you need about 10 pounds or so of grain malt.  There are several different types, depending on what kind of beer you want to brew.  I have my grain milled, meaning the kernels are sent through a grinder so that the husks are crushed and the insides are exposed.  This allows for the enzymes to be extracted later on in the process.  You also need about two to four ounces of hops; again, depending on what type of beer you are brewing, there are many different varieties.  And, your yeast.  There are several different yeast varieties as well, again, depending on what type of beer you want to make (you can see by now that the possibilities are endless).

The first step is the hot liquor tank.  No, it doesn’t mean warm brandy, it’s just a fancy term for a vat to hold water as it is being heated.  Once three or so gallons of water is heated to about 165 degrees (some beers actually call for a slightly lower temperature), it can be added to all of the split grain in a vessel called a mash tun.  This can be as simple as a cooler with a spigot.  I use a 10 gallon Coleman water cooler with a false bottom – a screen filter that keeps the grains from draining later on.  Sealed tight, this sits for about an hour.

The second step is boiling the wort (pronounced “wurt”).  I drain the mashed water from the mash tun into my boil kettle.  I then add another three gallons to the mash tun for what is called sparging.  I drain this slowly off into the boil kettle.  This extracts more flavor and enzymes from the mash. Once it reaches a boil, I add some hops, about two ounces.  It boils for about an hour, and at 45 minutes in I’ll add the flavoring hops, usually another half ounce or so.  After it is done boiling, I have to cool it down.  I have a copper coil wort chiller that hooks up to an ordinary garden hose.  I immerse that into the wort and in about 40 minutes the wort is cooled enough to add the yeast.  Adding the yeast when the wort is too warm will do you no good, since the yeast will die from the warm temperature and your beer is ruined.

Once the yeast is added, I move the finished product to a fermentation bucket.  There it will sit for about a week or so, and if I decide to go secondary fermentation, I’ll transfer it to a 5 gallon glass carboy.  Secondary fermentation stirs up the concoction and re-activates the yeast.  It’s quite interesting in the early stages of fermentation to watch the air lock “bloop” as the yeast goes to town.

After about 3 or 4 weeks the beer is ready to bottle.  I add a bit of corn sugar so that the yeast can create the necessary carbonation.  I transfer the beer to my bottling tank, from where I sort of pipette the beer into 12 ounce bottles.  After another two weeks, voila, I have beer ready to drink.

Through all of this I am constantly cleaning and sanitizing.  Believe me, because it has happened to me, it is very easy to ruin a batch of beer because something wasn’t sanitized properly.

Home brewing is a fun hobby for me.  It’s not a cheap hobby, and if I decide to up my capacity, I can see another considerable cash outlay for better equipment.

I name all of the beers I make after the lakes my boat has been on.  Today I brewed another batch of Pipestone Pale Ale.  I have a Mendota Red Ale in inventory (named because the sunsets on Lake Mendota are so beautifully red), and a few bottles of Winneconne Wheat left.  I need to brew another Monona Golden Ale, the Despair Belgian Dubbel goes into bottles tonight, and perhaps a Pilsner is next.  Not sure what to call that one yet.

I’ve received praise on my Pipestone Pale Ale from another home brewer who has just opened up his own micro brew pub.  Compliments from your peers makes you feel good, and is educated feedback.  But heck, if anyone said they liked my beer, I’d be happy.  To reciprocate, I told him that his Pale Ale is by far the best beer I’ve ever tasted.  Seriously, it is that good, and I’d like to think I know a little bit about beer.

If you’re every curious about home brewing, let me know.  I love doing it, and as I said, I am by no means an expert, but I have fun and some of the batches ain’t too bad.

Posted in General Stuff | 1 Comment

Learn Something New Every Day

I recently had to develop an SSIS package that took Excel files from a different server, import them into a SQL Server table, and process the information from them.  Normally, not a hard thing to do.  To complicate matters, the name of the Excel files was always unknown and ever changing, and there was no consistency in what the worksheet was named.  Normally I’d create a generic connection and dynamically change the connection properties in a script task, but the added complexity of having variable worksheet names made that unbearably difficult.

I solved the process by creating a ForEach loop looking for any Excel files in the landing folder.  I elicited the help from a colleague to develop a C# Script Task (I know Java and VB.NET, but C# is a little iffy for me) to convert that file, regardless of what the worksheet is named, to an XML datatable, from which I could process into a landing table in SQL Server via a stored procedure.  In order to accomplish this, given that we’re creating an Oledb connection string to Excel in the C# script, was to make sure the SSIS package was running in 32 bit runtime.


Running the package manually posed no problem.  Worked like a charm.  I built the package and deployed it and created a SQL Server Agent job to run this package once a day to process any new files that arrived in the landing folder.  The package would fail each time it ran.  Thinking it was a permissions issue on reading the file, I made sure the SQL Server Agent Service account had the necessary permissions to access and read the file.  After verifying this, I ran the package again through the SQL Server Agent and it still failed.  I then looked at the new job I created to see if I had missed anything.  Turns out I did.  For the step that actually executes the package, I missed one important part.  I opened the job, and clicked Edit on the step I needed to look at.  It turns out I missed one little important check box in the Executions Options tab of the job step.


The step that executes the package that needs to run in 32-bit runtime also needs to run in 32-bit runtime.  Once I fixed that and saved the changes, the job worked like a charm.

In conclusion, I guess the lesson from this is to make sure your settings are consistent throughout your whole process of design and deployment.  I learned something new today, and I’m glad I did.  This will be very useful in the future.

Posted in General Stuff, SQL Server, SSIS | Leave a comment

Technology (or lack thereof)

DSC_0233Recently Suzi and I were on vacation for a week at a fishing lodge in Ontario, Canada.  I had been there several times before; this was Suzi’s second visit – the first being three years ago.

In the past, this fishing lodge catered to everyone.  They had theme nights for families, hearty breakfasts for everyone, and you felt as though you were a guest in the owners’ home.  There was internet in all the cabins, ping pong and casino night in the rec center, canoes, paddle boats, and bonfires.  Heck, the owners would even visit you in your cabin in the evening, bringing with them a bottle of wine to share.

We packed up our fishing gear, warm clothes, food, and of course a supply of Spotted Cow.  We headed for about an hour north of International Falls, expecting the same as before.  We knew the camp had new owners, but we weren’t prepared for what awaited us.

We knew we wouldn’t have cell coverage up there.  What we didn’t expect, however, was the absence of any internet connection.  When we arrived at the lodge that Sunday afternoon in the pouring rain, we found that we were unable to tell anyone we had arrived safely.  I’ll touch on this again a little later.

Suzi and I were essentially cut off from all communication with the rest of the world.

Was this a good thing?  One could say yes.  We were on vacation, after all.  We were in a different country in the middle of nowhere.  I was getting burned out at work, and I hadn’t had a vacation in over two years.  Just being away felt good.  On the other hand, no one back home knew if we got there safely.  We couldn’t receive any news, good or bad.  Some country could have launched a nuclear attack on another and we’d have no clue about it.

My point in all of this is that we have become so dependent on technology and information.  Especially those of us who work with it every day.  Although we were in what I consider one of the most beautiful places on Earth, it was unnerving to not know what was going on.  No Twitter feed, no Facebook, I couldn’t check work emails (not that I would have anyway).  No SQL Server clusters, no T-Log restores, no VMs.  About the only technology we had was three phase AC current, and the internal combustion engine in our boat motor.

There was a genuine withdrawal – I assume not unlike someone who is quitting smoking (though maybe not as severe of a withdrawal), not being able to get online.  Those of us in technology rely on information, and when we can’t access it, it becomes very unsettling.

Ultimately, we were able to go to the main lodge and access their very limited wi-fi for a bit and let everyone know we were safe and having fun.  We were able to post a couple Facebook updates.  Suzi and I were also able to see that our friends and family were safe after the violent storms ripped through Madison last week.

In conclusion, in this day and age we take technology for granted.  We see it almost as a right.  And when that right is taken away from us, we become lost.  But that might not be a bad thing once in a while.

Posted in General Stuff, SQL Server | Leave a comment