City Museum, St. Louis

When my family was planning a trip to St. Louis, I was lucky to run into an old college buddy of mine who had lived there for a few years. He and his family said “You’ve got to go to City Museum!”

When planning the trip, I had seen City Museum mentioned, but didn’t really think much about it. As it turns out, everyone in the family thought that City Museum is one of the coolest places we’ve ever been.

City Museum

The best way I know how to describe it is – imagine if the Little Rascals went to Walt Disney World, came home and said “we can build our own using some spare parts from the junk yard”, and did.

For more information, go to If you’re anywhere near St. Louis, you need to check it out.

St. Louis Cardinals/Busch Stadium seating information

I got to go to St. Louis, so a trip to Busch Stadium was a must. Actually two – we went to a night game and then went back the next day for a stadium tour.

The stadium is right downtown. In this picture, you can see the Gateway Arch just beyond the outfield.

Busch Stadium outfield


On the first base side, there are 4 levels – which wraps around home plate to the beginning of the third base side. The rest of the third base side only has 3. This picture is taken from the 4th (top level) fairly close to the where the 4th level stops. If you click the picture to see the larger version, you can see the 4 levels in right field and the 3 levels in left field.

In the picture below, you can see the green seats behind home plate (Cardinals Club). If you look to the left of the press box/suite level, you can also see how level 1 extends higher beyond the dugouts. The seats above the press box/suite level are level 2.

Busch Stadium Level 1

The picture below gives you a good feel for levels 1 – 3. (You can just barely see the bottom of level 4 above the foul pole.)

Busch Stadium Levels 1-3

Here is a good view of the outfield bleachers:

Busch Stadium outfield

You can also see the image of the Gateway Arch cut into the outfield. One of the things they told us on the stadium tour was that the lawnmowers have GPS units and a computer program to cut that image into the outfield grass.

The stadium tour (and the stadium experience) was good, but not great. St. Louis is a hard-core baseball town. I’m from Alabama and I think I may have seen more people wearing Cardinals shirts (not just at the game, in general) than I normally see wearing Auburn and Alabama shirts combined at home. The Cardinals have more World Series championships than any other team except the Yankees (although the Yankees are way ahead).

It seemed to me like the Cardinal fans were so hard-core, that there was no need for any other entertainment. (I saw multiple elderly women keeping scoresheets.) I’m a huge baseball fan. so I respect that – but they were playing the Marlins, Giancarlo Stanton was hurt, and I don’t think I knew one guy in the Marlins line-up that night. So, a little extra might have added to the experience.

There was a lot of construction going on next to the stadium and I think that was going to be an entertainment district, so that should help. Don’t get me wrong – St. Louis was a fun town, and if you’re a baseball fan – you need to go to Busch Stadium. It was fun, but just very generic.


A better way to get my email address

For some time, businesses have been trying to figure out ways to get customers’ email addresses to try and build a better relationship with them. A common technique I have seen is “Please fill out the survey using the code on the receipt and you’ll be entered into a drawing to win something fabulous.” Then when you go to the website, you have to register with your email address. I guess some people do that, but I don’t think I ever have.


I was using the self-checkout (which I love) at Home Depot a couple of weeks ago and the terminal asked me “Would you like a copy of your receipt emailed to you?” I hate keeping up with paper so I pushed the Yes button. Obviously – I had to enter my email address.

I was back at the Home Depot today and when I swiped my credit card – it then asked me “Do you want a copy of your receipt sent to” Obviously they have stored my credit card # to match it to the email address entered. Security concerns aside (that’s another can of worms), that was pretty convenient.

I was more agreeable to giving them my email address when there was a tangible benefit to me – not just because they wanted it.

Don’t force me to interact with you

Call it a pet peeve of mine. We’re out to dinner, we’ve just gotten our food, and we’re starting to eat. A manager comes by and says something like: “How is everyone doing? Do you need anything? How does everything taste?”

They mean well, but they are interrupting. Not only that, but they are asking questions that require an answer. Where I come from, it would be rude not to answer.

A better way to accomplish the same thing would be to say – “Thank you for coming out tonight. If there’s anything you need, please let me know.” Bonus points for moving on instead of waiting for a response (unless I indicate I’m about to ask for something).

When I was in college, I waited tables and trained many new waiters. I was surprised to learn that the most common mistake new waiters made was to check in with tables too often. The trick is to be available without interrupting. Don’t try to make yourself the center of attention.

This applies in all kinds of businesses, not just restaurants. If you work in retail, saying “I’ll be right over here if you need anything” is much better than “Can I help you?” A pop-up on a web page is definitely a bad idea. Like the waiter who stands to the side to be available without interrupting, design your website so that the offer is always there, but not in the way.

Rule #1 for working the drive-thru

Don’t hand me a drink without handing me a straw.

I’ve got three sons ranging from 10 to 14 and I spend a lot of my time chauffeuring them around which means I’m frequently at a drive-thru window. Inevitably, it seems I’m asked to pull forward and they’ll bring our food out to us because the chicken nuggets are cooking.


As they are telling me this, they hand me all of our drinks – which I have to receive and pass back.  While I’m turned away passing drinks back – the person at the window disappears.

While I’m waiting, it sure would be nice to be able to take a sip from the drinks. I know I can take the lid off, but it would be so easy to hand me the straws at the same time you’re giving me the drinks.

Using iText to generate PDF from Html using HtmlWorker

Someone asked this on Google+ and I had a program that did it so I decided to turn it into a quick blog post.  I stripped away the application specific logic, but this is the gist of the iText code. (Technically this is iTextSharp, but I’m guessing it will work in iText as well.)  The trick is to use the HtmlWorker. (If I remember right, there’s a newer XMLWorkerHelper object that’s newer/better.)

This returns the PDF in a memory stream (useful for sending to the Response object to send to a browser):

using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;

public static Stream RenderPDF()


    Document document = new Document(PageSize.LETTER, 36F, 36F, 36F, 36F);
    MemoryStream memoryStream = new MemoryStream();
    PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);

    HTMLWorker htmlWorker = new HTMLWorker(document);
    var sectionTitleFont = new Font(Font.FontFamily.TIMES_ROMAN, 24, Font.BOLD, BaseColor.BLACK);
    var sectionTitleParagraph = new Paragraph(“Title text”, sectionTitleFont);



    StringBuilder sb = new StringBuilder();
    string strBody = ”

This is the paragraph body


    htmlWorker.Parse(new StringReader(sb.ToString()));

    writer.CloseStream = false;
    memoryStream.Position = 0;
    return memoryStream;


Nashville Sounds / Herschel Greer Stadium

I went to Nashville this weekend to see the Sacramento River Cats play the Sounds. I always like getting to see new stadiums.  I think this may have been the first Triple-A game I’ve been to and was a little underwhelmed at the stadium.

Having been to many Birmingham Barons (Double-A) games at the Hoover Met (and now the new Regions Field), I was expecting a step up from that, but it was really a step down. I know the Barons were at the Met for 25 years so it’s not exactly new, but it’s a much nicer stadium than Nashville’s.

Nashville Sounds Greer Stadium

Nashville Sounds Greer Stadium

These pictures were taken from Section J, right behind the first base dugout, which is where the visitors sit.

Nashville Sounds Greer Stadium

There are a few seats and a picnic area behind right field, but you can’t go behind center and left field. (The tan metal building apparently houses the locker rooms. After the games, I saw players from both teams walking that way dragging equipment bags.)

The whole thing reminded me of the stadium in Bull Durham.

Nashville Sounds Greer Stadium

Having said all of that, there was nothing wrong with the stadium. Friendly, helpful staff and we had a great time – but it really made me appreciate the facilities we’ve got in Birmingham.

My first trip to the Barons’ new stadium – Regions Field

I made my first visit to the Birmingham Barons‘ new stadium (Regions Field) today.  I had heard and read a lot of  good things and am happy to say that I was not disappointed.

There’s a pretty good review here so I won’t repeat all of the details, but will just list some thoughts I had.

  • I really like the fact that you can walk all the way around the field. (In the old stadium in Hoover, you couldn’t get behind the outfield.) We sat in a grassy area in center field for several innings and I really enjoyed that vantage point.
  • There are a lot of picnic tables.
  • I wasn’t sure what to expect with regard to parking, but it was no problem. We paid $5 to park in a lot at 14th Street and 1st Avenue North (just north of the ballpark after going through the tunnel under the train tracks). There were many shuttles (golf carts with 3 rows of seats like you see in airports) to take us from there to the stadium entrance.  It would have been an easy walk, but one member of our group doesn’t get around very well, so this was very nice. These shuttles run continuously during the game. The shuttles are free, but there is a sign that says “we work for tips”.
  • It’s cool that you can look down into the bullpens from the outfield and watch the pitchers warming up.
  • There was a good selection of food. In addition to the expected hot dogs, french fries, popcorn, etc., I saw signs for burritos, tacos, and Philly cheesesteaks.  I went with the Dreamland BBQ nachos (which were great, if you’re into that sort of thing like I am).

A couple of weeks ago, I ate at the new Todd English P.U.B. in the entertainment district before seeing Jerry Seinfeld at BJCC and it was also a very good experience.  Between that and the new ballpark – I’m cautiously optimistic about downtown Birmingham.

Winner – Worst Unsubscribe Functionality

Cleaning out my Inbox today, I came across a newsletter from a company I’ve never heard of, offering products or services I will never need. Sometimes I just delete, sometimes (when I’m feeling particularly energetic) I take the time to unsubscribe.

Sometimes the unsubscribe functionality is painless, sometimes not, but this was a first.


I should point out – I’m unsubscribing from a newsletter written in English. I don’t speak French, but I can follow the gist of this.  I tried just clicking the button, but the little red asterisks beside the first three text boxes imply to me that they will only take me off of their mailing list if I give them some more information about myself.  (At least the telephone number doesn’t seem to be required.)

Bravo! Against stiff competition of some lousy, awkward unsubscribe functions – this is the worst I’ve ever seen.

What is Circlebox?

Circlebox is a web startup that I founded a couple of years ago. Hard to say exactly when, because I’ve been thinking about it for several years and have been actually writing code and using it myself for about a year and a half. I’m still honing my elevator pitch – this is the longer version. I’ll start with some examples of the problems it’s designed to solve.

Scenario #1: Headcount and $10

One of the earliest examples I can give is of coordinating a Cub Scout campout.  The pack leaders needed to know who was going.  At the pack meeting, we got a lot of “let me check our schedule with my wife and I’ll email you”.  Because there are multiple leaders, not everyone emails the same person, so the leaders keep emailing revisions of an Excel spreadsheet back and forth.

We also needed to collect $10/person to cover hot dogs, hamburger patties, buns, mustard, etc.  At the meeting, nobody has their checkbook with them.  At the campout, a few people remember to bring checks, but most people (of the people that pay) bring 20 dollar bills straight from the ATM so making change is a problem.

We looked at some existing websites, but couldn’t find anything that was just right.

What about Evite?

Sites like Evite would handle the head count, but not collecting the money.  In addition, Evite is really targeted at one user coordinating an event.  If you have multiple coordinators – you could share your password, but only one email address will get the notifications.

If you are a group leader for multiple groups, it might be OK to share your password with John, since John helps you run the Scout pack, but what if you are also the baseball coach and want to coordinate events for that. John isn’t affiliated with the baseball team and really shouldn’t see the contact info for the people in that group.

What about PayPal?

Sites that would collect money mostly used PayPal.  Not only is PayPal kind of expensive to use – I couldn’t even get our Pack set up with PayPal.I’ve had a personal PayPal account for years. When you are setting up a PayPal account for an organization, you have to say what kind of Business Type you are.  “Non-profit” was the closest match.  Apparently to PayPal, that means “charity” because now they wanted our 501c3 paperwork to prove that we were OK to accept donations. But I didn’t want to accept donations, I wanted to collect $8 for hot dog buns.

In my day job, I worked with accounting software and was familiar with ACH processing (how the gym automatically drafts your monthly membership fee from your checking account).  Since we wanted to collect money from people that we already knew in the real world (and would take a check from) – this seemed OK (and the transaction fees are significantly cheaper).

PayPal’s sweet spot is paying for a guitar amp that you bought from a guy in Seattle on eBay.  Since you don’ t know the guy in Seattle, you might need some recourse from PayPal if doesn’t actually ship the amp. Since we’re only exchanging money between people that already know each other in the real world, we don’t need that level of protection and the less expensive ACH funds transfer works perfectly for us.


  • Designed for multiple user accounts to administer the same Circles (groups) and for one user account to be able to administer multiple Circles without sharing passwords and emailing spreadsheets back and forth.
  • Will handle electronic invitations and responses to events, including allowing Circle members to pay online via ACH.

Scenario #2:

In other group that I help run, I remember the treasurer saying “I’ve got a good list of who hasn’t paid, but I don’t really have a good way of emailing them individually. BCC won’t work because different people owe different amounts. I really need to be able to email individual statements.”


  • Will let you email subsets of Circle members like “only those who haven’t paid” or “only those who haven’t replied to the invitation”.

Scenario #3:

Several years ago, I served on the governing board for our local youth baseball league.  I had been on the board for a couple of years and I knew that this was when we normally started meeting, but I hadn’t heard anything. When I finally talked to the president, she said “we’ve had 2 meetings and wondered where you were.”

Turns out, someone had entered my email address incorrectly on the first email and all communication from that point on had been “Reply to All” from the original email. I never got any of them.

There’s also a flip side to this issue. My kids are involved in Boy Scouts and the local council asked for volunteers to come to a meeting to discuss how they could better use technology. I thought “there’s something I can help with” so I went. When I got there, there were about 50 other guys there and the conversations I heard there were of the “my hard drive is bigger than yours” type. I quickly decided that they could make it without me. Unfortunately, I had put my email on a sign-in sheet which the leader then forwarded to everyone who attended.

Because these were technical types, just about everyone of them made their own personal distribution group from the list and the conversations began. There were many back and forth emails to the group and I had no way of getting my email address off of everyone’s list.


  • Will let you subscribe, unsubscribe and change the email address where you receive notifications.
  • Is “self-serve” so the group leader doesn’t have to make these updates for the group members

More to come, but this should give you the general idea of Circlebox.