Going crazy (in a good way)

Every once in a while, I’ll start thinking random thoughts. For whatever reason this morning, on the last day of 2021, my brain randomly started thinking about one of my favorite movies, Field Of Dreams. At the beginning of the movie, Ray Kinsella (played by Kevin Costner) said this: “And until I heard the Voice, I’d never done a crazy thing in my whole life.”

Even Billy Joel once sang, “…said he couldn’t go on the American way… now he gives them a stand-up routine in LA…”

And again, my (dangerously) wandering mind started thinking: how many crazy things have I done in my life?

A little perspective is in order here. When I say “crazy,” I don’t mean psychotic, dangerous, or harmful. I’m not talking about a dangerously unhinged person who decided to injure large numbers of people because “the little voices in the head told him or her to do so.” Rather, how often have you done something that’s out of character for you, something you ordinarily wouldn’t do, taken some kind of calculated risk, decided to do something random because “it sounded like fun,” decided to jump in your car to travel somewhere, stepped out of your comfort zone, and so on?

I’ve had my share, some of them significant, some of them trivial. I’ve driven two or more hours to concerts or sporting events on nights where I had some kind of commitment early the next morning. (I’m finding that as I get older, I can’t do those things like I used to.) I’ve submitted presentations to various major conferences, with varying levels of success. I’ve written music that I’ve submitted to publishers and contests. I once randomly stopped by a gym to ask for advice about getting into shape. And I once drove five hours on a whim to meet up with my then-girlfriend.

How have they turned out? Well, let’s start with my music. I had a publisher tell me (and I’m paraphrasing here), “I can’t use your stuff right now, but definitely keep at it, because you definitely have talent!” (The main reason why I haven’t kept up with it is because — well, life happened.) I even got honorable mention recognition for a song contest to which I submitted. For my presentations, I’ve spoken three times at PASS Summit (or its equivalent), and I’ve spoken at many SQL Saturday and Data Saturday events. There are a couple of non-PASS conferences where I’ve submitted (I was recently picked to speak at one, and I was rejected for another). That gym where I stopped? It was a CrossFit gym. That was in 2015, and I’m still going! As for those late night concerts and sporting events? Well, I had to drink extra coffee the next morning, but I enjoyed myself at the events, and I had very few regrets about attending them!

And my five-hour trip to see my then-(now ex-)girlfriend? Okay, so they don’t always work out. Win some, lose some. That said, I have no regrets about that trip.

Many of those calculated risks have bore fruit. Friends and colleagues have told me that I’m a good speaker; Grant Fritchey, a rockstar in the PASS SQL community and a person whom I greatly respect, once told me that “you’re a good speaker, and you deserve the PASS Summit slot” when I was selected to speak this year. That statement from him meant a lot to me. And while I haven’t become a rockstar (I mean that literally — an actual music rockstar), I’ve found that I’ve gained a measure of respect for what I do from other musicians. I’ve gained a lot of confidence in what I do, and I think it’s done a lot to help me advance my career, as well as my extracurricular activities.

There are a number of other friends who’ve had similar experiences. Off the top of my head, one friend decided to audition for an acting part; he is now active with his local community theater. Another friend actually got married on the Today show. (Yes, seriously — the groom is a friend of mine from high school!) While those are two that immediately come to mind, I’m sure there are others. How many of you randomly decided to go skydiving, sing karaoke, speak in front of an audience, write a poem or a song, sent a resume to a job listing for which you thought you had “no chance,” asked out the girl or guy you liked, or tried out for a part? And how did they turn out?

The thing is, if you want to get ahead in life, you need to step out of your comfort zone. This isn’t to say there’s anything wrong with just maintaining the status quo. If you only aspire to sitting on the couch watching TV, so be it. But if you want to get ahead, make something of yourself, and maybe even make yourself better (and possibly, happier), sometimes, you just have to do something a little crazy.

Hope you all have a happy and healthy New Year. And I hope you all do something a little crazy in 2022.

Support your local artists

A little while ago, a friend of mine from high school sent me a message (along with a link) saying that his band was scheduled to perform a gig pretty much in my own backyard. I added his gig date to my calendar, and I will make the effort to attend.

I have to admit that I really haven’t done enough to go out and attend local concerts and gigs, unless it’s one in which I’m actually performing, and that’s a shame on my part. As a part-time musician myself, I can say firsthand that local musicians (and all artists — not just musicians) take their craft seriously, and they put a lot of time, effort, and soul into what they do. As such, these artists deserve to be recognized for their efforts, whether it’s by purchasing their art, sampling their wares, or attending their concerts and gigs.

Often, whenever my wife and I have an evening free, I’ll often ask her, “you want to do anything tonight?” Most of the time, that involves doing something for dinner. As a sports fan, I’ll sometimes look to see if one of the local teams is playing, and if I’m up for it, I’ll look into getting tickets. But as a musician, I don’t often look for any live music performances that interest me.

Whenever I’m performing, I’ll announce that I have a performance coming up — nearly always on Facebook, but sometimes also on Twitter and here on my ‘blog. I would hope that (at least) my friends would come out to support me and what I do. And whenever my friends tell me they’re performing somewhere, it’s only fair that I reciprocate. Part of it is “professional” courtesy, but mostly, my attendance sends a message that “I support what you do!”

As I get older, I’ve noticed that I’m somewhat less inclined to go out. I used to hit some jazz clubs when I was younger (I love listening to live jazz, among other things), but events like that have lessened as I’ve gotten older. Mostly, after a week of working or free days doing things around the house, by the time a Friday or Saturday evening rolls around, I’m “too tired to go out and do anything.” And that’s a cop-out on my end.

Some people won’t go to a concert unless it’s a big name. Hey, even I’ll admit that whenever my favorite band comes to town, I have to attend. That’s okay. But there’s also likely a number of local artists who also deserve your attention, and a lot of them happen to be pretty good! Not only that, but chances are the price of admission is likely to be a lot less than a ticket to see your favorite nationally-known artist.

Think of it this way — if you like to travel, you’ll likely buy souvenirs that are unique to that area. Sometimes, the wares are pieces of art that are indigenous to wherever you’re visiting. In doing so, you’re supporting lesser-known local artists. So why not do the same in your own hometown?

So whenever I ask my wife (or any friends) if they’re interested in doing something, I’ll make sure I check the local arts calendar to see who’s performing or exhibiting. It makes for good, inexpensive local entertainment, not to mention that you’ll be supporting your local artists, you’ll get a taste of your own local culture, and you’ll likely have a great time in doing so!

(P.S. I put my friend’s gig date in my calendar, and I’ll try to bring some friends along with me!)

What the NCAA tournament teaches us about decision bias

It’s that time of year again — when die-hard sports fans (and even some non-sports fans) start filling out their bracket picks as they make their predictions for the NCAA tournament, a.k.a. “March Madness.”

I am an alumnus of a major NCAA Division I basketball school — Syracuse University. Syracuse alumni are well-known for their school spirit and love of their alma mater. As such, SU alums regularly wear their school spirit on their sleeve — often, literally. As an alum, I can relate; much of my wardrobe is orange. Anyone who knows me knows that I bleed Syracuse Orange.

Of course, I am the first to admit that my devotion to my alma mater often influences my decisions when I make my NCAA tournament picks. If I filled out my bracket completely with my heart, I would have Syracuse winning it all every single year (and who cares about the remainder of my picks). As such, each year when I fill out my bracket, my bias toward my beloved Orange often influences my picks. Each year, a part of me starts rationalizing how the Orange will defeat (fill in name of opponent here). I’ll often have thoughts such as, “so-and-so has a hot shooting streak going,” or “our opponent usually struggles against the 2-3 zone,” and so on. More often than not, my heart overrides my head when I pick my Orange to upset their higher-ranked opponent. Of course, I usually end up disappointed as my Orange are sent back home to Syracuse.

The bias works in reverse as well. Anyone who follows college basketball knows about Syracuse’s heated rivalry against the hated Georgetown Hoyas. As such, we Syracuse fans are likely to pick against Georgetown in their part of the bracket. (That said, I watched Georgetown play in this year’s Big East tournament final, and they looked like world-beaters. They’re seeded #12 vs. #5 Colorado in this year’s tournament. I wouldn’t bet against them. If you’re looking for a #12 to upset a #5, you could do worse than this one.)

I believe that there’s a professional lesson to be gleaned from this: our biases often get in the way.

We all have biases of some sort. They come from our worldview, our culture, how we were raised, what we’ve learned, and our belief systems. Everyone has a perspective on how they see the world, and everyone tends to be biased against anything that doesn’t align with that perspective. We’ve seen extreme examples of this throughout the world over the past few years (don’t worry, I will not talk about politics here). At the professional level, our worldview often affects decisions that we make. These biases often establish themselves as blind spots, so no matter how much we claim to be “unbiased,” we often don’t know that they’re there. Probably one of the biggest oxymorons is “unbiased decision.” Realistically, there is no such thing. This isn’t necessarily a deficiency; rather, this is part of what makes us human.

So what can we do to reduce (not eliminate — that is unlikely) bias? For one thing, keep an open mind — no matter what you think, realize that there might be another way. To rattle off a couple of clichés, “there’s more than one way to skin a cat*,” and “minds are like parachutes — they only work when they’re open.” Empathy often goes a long way as well. Put yourself in someone else’s shoes — what would this person think if you were in his or her position? I’ve often found that this approach makes me more successful professionally; it improves my work quality, and it brings projects to a better conclusion. Effective communication (another topic for another time) is crucial here; it adjusts your thought process and helps you to achieve that end.

(*I like cats — I have two of my own — so I tend to not like this saying.)

I would also think about what could happen with a decision. There are some decisions that are okay to make with your heart — proposing to your significant other, for example — but there’s also something to be said about listing the pros and cons of a decision. Do the benefits outweigh the issues? Can you live with the consequences if something goes wrong? And so on it goes.

Making decisions is hard to do — this is why managers often get paid the big bucks. If you’re able to minimize the amount of bias that goes into your decision-making, chances are you’ll do alright.

(And by the way… GO ORANGE!!!)

What a TV ballgame can teach us about design

This afternoon, the 2021 slate of spring training games started for Major League Baseball. And of course, being the big baseball fan that I am, I took to it like a lion to a steak.

I wasn’t thinking too much about design or layout until I heard Michael Kay of YES mention, “I think our fans will like the new clean design of our scorecard.”

At least that’s what I think he said. It threw me for a loop, because I am enough of a baseball fan that whenever I go to the ballpark, I’ll buy a scorecard and keep score during the game. So when he said “scorecard,” I thought about a pencil and paper in my hand (and, usually, a hot dog or a beer in the other). At that point, I realized that he was referring to the score display in the upper left-hand corner of my TV, as pictured below.

It then occurred to me: “wow! That’s a TON of information contained in that one graphic!” At that point, I felt compelled to write this article.

So, let’s break down just how much information is contained here. (A warning to those of you who don’t know anything about baseball: for most of this article, I am going to “speak baseball.” If you’re not a baseball fan, you’re just going to have to bear with me.)

First, I’ll start with a paragraph as to what information is contained in this graphic. Be forewarned: I am about to inundate you with information.

In the top of the third inning, Toronto leads New York, 3-0. There are runners on first and second, with nobody out. Jansen, the Blue Jays’ number 7 batter in the lineup, is facing Wojciechowski, the Yankee pitcher. Wojciecowski has thrown ten pitches, and has a full (three ball, two strike) count to Jansen.

That’s a lot of information to glean from a single graphic, isn’t it? Let’s break it down.

  • We’ll start with the score. Toronto 3, New York 0. (I’m sure that will please many Yankee haters out there.) The score dominates most of this graphic. I don’t want to say that’s obvious, but it does take up most of the image, and is the largest takeaway.
  • Underneath the score are two names, located under the teams for which they play: Jansen for Toronto, and Wojciechowski for New York. The 7 in front of Jansen represents his spot in the lineup (which would be a number from 1 to 9). “10 P” indicates that Wojciechowski has thrown ten pitches. (Note: since Wojciechowski is an unusually long name, the pitcher’s name and the number of pitches would not ordinarily run into each other like that.)

On the right side of the graphic, we see a couple of smaller graphics.

  • Let’s start with the box containing the shapes. We see three boxes, two of which are blue (and the third is gray), denoting baserunners on first and second base. The boxes represent the bases (going right to left, first, second, and third base). The boxes that are blue indicate that they are occupied by baserunners. If the bases were loaded, all three boxes would be blue; if no one was on base, all three would be gray.
  • Under the boxes representing the bases, there’s a “3” indicating the inning. The arrow (represented by the triangle next to the 3) denotes whether it’s the top or bottom of the inning. Therefore, the arrow pointing up and the “3” indicates that it’s the top of the third inning.
  • Now, let’s look at the “3-2” with the two gray circles underneath. The 3-2 refers to the batter’s count. For those of you who are baseball-challenged, a “count” represents the number of balls and strikes on a hitter. A batter who gets four balls is allowed to go to first base (called a “base on balls” or a “walk”). A batter who gets three strikes is out. So the “count” represents the batter’s status, and is always represented as numbers denoting balls-strikes (2-1, 1-2, 3-2, etc.). Therefore, 3-2 indicates that the batter has three balls and two strikes on him.
  • Finally, the two circles under the count represents the number of outs. Each blue circle represents an out (there are three outs in an inning). That these circles are gray indicates that there are no outs in the inning. (And no outs, with a 3-2 count, and two baserunners are a pretty good indication that the pitcher — Wojciechowski — is in trouble.)

The point is that within a relatively small space, a great deal of information can be gleaned. This concept carries over into many concepts of design, including data visualization and interface design. A person who understands how to read that information can obtain a large amount of information from a well-designed graphic.

Whomever it was that designed this score display definitely knew what (s)he was doing. Kudos to the person who designed it. I think this is a great example of how good design can effectively convey information.

#TheBestOf… Visiting the ballpark

This is part of a series of articles in which I contribute to uniting our world by showing off a part of my own. A while back, I proposed writing articles to bring people together by showing us something special about your world that you want to share.

Today’s topic: the joys of taking in a baseball game.

I’m one of those fans that you’ll see at the ballpark keeping score!

One of my favorite activities is to take in a ballgame. It relaxes me, it’s fun (although I understand why a lot of people find baseball to be boring), and (for those of us who do “get” baseball) it can be mentally stimulating. I’m one of the people that you’ll see keeping score at a ballgame. People who find baseball to be boring often don’t understand that baseball is actually a chess match — the managers are making moves based on probability, and certain strategies are employed based on certain situations (e.g. what kind of pitch to throw, whether or not to steal a base, substituting a player, and so on). I’ve had a lifelong love affair with baseball, going all the way back to my early teens, and I will take in a ballgame whenever I have a chance to do so. I’ve even been known to schedule vacations around Major League Baseball schedules. I even wrote a previous article in which I talk about the ballparks and arenas that I’ve visited.

With that, there are things that I make sure I do whenever I visit a ballpark. Every ballpark is an experience, and with the number of different stadia around the country, each experience will be different.

  • Mingle with the fans around you. Fans are often representative of the local culture, and you can often experience a lot just by talking to fans. They can often tell you about things to experience, places to eat, and maybe talk a little about the history of the home team or the area that you’re visiting. Conversations with local fans can often be quite interesting. And often, you’ll speak the common language of baseball, even if you’re rooting for opposing teams!

    I once attended a game at Fenway Park (a dangerous place for a Yankee fan like me, I know), and I struck up a conversation with a lady sitting next to me. After a while, she said to me, “you’re from New York, aren’t you?” I said, “yeah, how’d you know?” She said, “something you said. You definitely have a New York accent.” To this day, it’s the only time I’ve ever been told that I have an accent of any kind!
  • Sample the ballpark fare. I mentioned in my previous #TheBestOf article that I make it a point to sample food that’s representative of an area that I’m visiting. The same holds for ballpark food. Most, if not all, ballparks have their standard hot dogs, of course, but a lot of ballparks will often have fare that’s representative of their locale. I’ve sampled, among other things, streak sandwiches and bacon on a stick (a friend who accompanied me to a game once said to me, “that’s not bacon, that’s a pork chop!”) at Yankee Stadium, Fenway Franks and hot cocoa at Fenway Park, coffee and garlic fries (not together, mind you!) at Safeco Field (now T-Mobile Park), and French fries at SkyDome (now Rogers Centre). Granted, a ballpark isn’t a four-Michelin-star restaurant, but a lot of concessions have come a long way since the days of a hot dog and a beer (although you can still get those).
Monument Park is one of my favorite places in Yankee Stadium to visit!
  • Explore any unique features of a ballpark. Not all ballparks are created equal. I love to explore ballparks, especially one that I’m visiting for the first time. Fenway has the Green Monster. Yankee Stadium has Monument Park and the Yankee Museum. Tropicana Field has the manta ray tank (I was going to mention the Ted Williams Museum, but was sad to see that it had been closed). Many ballparks have features that are usually worth checking out, and if they’re fan-accessible (Monument Park is one of my favorites), I suggest you go check it out!
  • Buy a souvenir. Any tourist will often get souvenirs unique to his or her trip. Ballparks are no different. I have a small collection of items from ballparks I’ve visited. I have caps, shirts, jerseys, and other swag for the Toronto Blue Jays, Seattle Mariners, Tampa Bay Rays, Baltimore Orioles, Montreal Expos, and Colorado Rockies (and maybe a few others that I’ve missed). (Okay, as a Yankee fan, the only memorabilia I won’t buy is anything for the Boston Red Sox or New York Mets! 🙂 ) They all represent ballpark experiences I’ve had, and even though I’m a Yankee fan, I will wear these items proudly!*

    (*Well, okay, maybe except on days when the Yankees play them!)
  • Keep score. I regularly keep score at ballgames. A scorecard does a number of things. It makes you pay attention to whatever is happening on the field of play (and, if you’re new to baseball, it can help you better understand the game). It can be a conversation piece; often if other fans around me see that I’m keeping score, they’ll often ask me things like, “what did such-and-such batter do his last time at bat?” (I remember someone once said to me, “if you’re keeping score, you immediately become the god of that section where you’re sitting!”) And at the end of the game, your scorecard becomes another souvenir of the ballgame!
  • Admire the history and the architecture. It’s often said that sports are a reflection of society. As such, a great deal of history comes along with a ballclub. (If you want a good synopsis of the relationship between baseball and history, check out Ken Burns’ Baseball.) Understanding the history of a ballclub, as well as the architecture of the ballpark, often reflects the history of the municipality that it represents.
  • Enjoy the environment. There’s a reason why baseball is called “America’s Pastime.” For me, there’s something very satisfying and relaxing (or exhilarating, if an exciting play happens) about spending a beautiful summer day at the ballpark along with good friends (or even by myself), a scorecard, a hot dog, and a beer.
  • Visit the surrounding area. Areas surrounding ballparks can often be attractions in and of themselves, and they often provide great destinations after the game is over. Baltimore’s Inner Harbor is within easy walking distance from Camden Yards. Denver’s LoDo neighborhood is a stone’s throw from Coors Field. Fenway Park is right around the corner from Kenmore Square and Boston University. And Safeco Field/T-Mobile Park is only a short distance from Seattle’s Pioneer Square and the waterfront.

If you are as big of a baseball fan as I am (or even if you’re not), and if you like to travel, make sure you take in a ballgame. It will enhance your travel experience so much more!

#TheBestOf… Bringing the world together by telling us about your special world

A wandering mind can be a dangerous thing. 🙂

If you’re a ‘blogger who’s looking for something to write about, read on. Perhaps this will give you an idea.

This afternoon, I was doing a mundane, household chore (specifically, I was washing dishes and doing some cleaning in the kitchen), and whenever I do mundane chores like that, of course, my mind tends to wander. So today, I decided to write about what my mind was wandering about.

I don’t know what sparked this idea — maybe it was because I had Andrew Zimmern’s Delicious Destinations on the TV in the background. First, a little background. As a first (or maybe it’s second — I never know how these things work) generation Korean-American, I tend to appreciate cultural diversity. I love experiencing cultures and traditions that are not my own. I enjoy traveling, and I wish I could do more of it (only the lack of time or money — usually both — and these days, the COVID-19 pandemic — keeps me from doing so). I have friends and family around the world — maybe not as many as other people who’ve traveled more than I have, but nevertheless, I have friends I’ve made either by friends I already knew who have relocated to other countries, people whom I’ve met through my association with SQL Saturday or other PASS-related endeavors, or through work or school.

I also thought about things to bring the world together. I don’t need to tell you how divisive the world is these days. A while back, I wrote an article about bringing the world together. I started thinking of a way to do that.

So with all that said, here’s the idea that my wandering mind cooked up.

Let’s say that you have a friend from a foreign country or culture — one that is not your own — over to your home area for a visit. You want to show him or her the best of what your culture or your home turf has to offer. What do you show or tell him or her?

Personally, I would like to show my friend everything that my home state of New York has to offer — New York City, Niagara Falls, the Finger Lakes, apple picking, the Adirondack wilderness, Buffalo chicken wings, the Baseball Hall of Fame, music, county fairs, festivals, historic sites, etc. There’s a lot here to show off.

So, I’ll write an article now and then (usually whenever the mood strikes me) in which I talk about something — whether it’s a place, an art, a sport, a food, whatever — that is significant to me, and I’d like to show off to a visiting guest. I’ll precede these articles using the hashtag #TheBestOf followed by whatever I’ll write about (e.g. “#TheBestOf… Baseball” or whatever).

Here are some ground rules for this project. The topic — whatever it is — is something special or unique to me that I think a visitor would appreciate. It can not be divisive, disrespectful, or disparaging — partisan politics, for example, is verboten — unless it’s within the context of something historically or culturally significant (e.g. Benedict Arnold’s role in the American Revolution, etc.).

And if you’re a ‘blogger and would like to take part, knock yourself out. The best way to think about this little project is to pretend you’re a travel writer describing your home turf or culture. I would enjoy reading about what makes your world special, and what you’d show off if I came over to visit. If you’d like, feel free to refer to this article for reference or context.

Let’s see how this goes. If you’d like to take part, great. If not, no worries. For all I know, this might be the only article in which you’ll see this hashtag.

Have fun!

The #SQLSaturday All-Star Game #PASSSummit

After my surprise selection for PASS Summit, I went poking around the speakers list. I’m pleased to see that a number of good #SQLFamily friends that I’ve made throughout my years as a SQL Saturday speaker were selected. I’m also awed that my name and photo are listed along with a number of SQL rock stars in the industry.

It prompted me to tweet this.

As people who know me are aware, I am a huge baseball fan. I’ve often heard people refer to PASS Summit as being “the Super Bowl of SQL Saturdays.” Looking at the speakers list (and being the baseball fan that I am), I equate it more as being the “SQL Saturday All-Star Game.”

People such as Bob Ward, Steve Jones, and Grant Fritchey (yes, you, Steve and Grant!) represent the big hitters. They are Willie Mays, Ken Griffey Jr., and Mickey Mantle, people who are perennial SQL stars and are pretty much shoo-ins for being selected to Summit year after year. (And I’m sure that if my friends Steve and Grant are reading this, they might give me an “aw shucks!” for equating them with Junior and The Mick!) On the other hand, people like me are more like Willie Randolph or Kent Hrbek — players who had solid careers and made an occasional All-Star game now and then, but weren’t necessarily household names outside of their home teams’ markets.

When I gave my first SQL Saturday presentation, never did I think that it would end up getting me to PASS Summit!

I’ve seen interviews with ballplayers who talked about how humbled they were about being selected to play in the All-Star Game. Having been selected to speak at PASS Summit for the second time, I understand how they feel. I am awed and humbled with being associated alongside some of the great players in the business.

#SQL101: Create tables from CSV flat files

With my previous article about getting into REST applications, I figured it would be a good idea for me to set up a data source so I could practice. Besides, I had reinstalled SQL Server 2019 on my machine, and I needed to import some data so that I could brush up on my SQL skills as well.

Being the baseball nut that I am, of course, I had to import baseball statistics, so I decided to reimport the most recent data from Sean Lahman’s baseball database. The last time I did this exercise, I downloaded a database format. I don’t remember what format I used (the links all say “Access” — which I don’t remember downloading), but the files I used had an .sql extension. This time, I used the comma-delimited version, which downloaded a zip file containing files with a .csv extension.

I wanted to import the files directly into my database and have them create the tables upon doing so, so I opened up my SSMS, created a new Baseball database, and looked into how to do this. After poking around a bit (and a little bit of Googling), I found that flat files could be imported by right-clicking the database of your choice (in the below example, “Baseball”), clicking Tasks, and selecting Import Flat File.

Selecting this opened an Import Flat File wizard. First, it prompted me to select the input file. (Note: if you are importing multiple files, as I did for this little exercise, the wizard is smart enough to remember your last folder when you click Browse.)

When it looks at the flat file, it gives you a preview of the data that you’re importing. Since, for this exercise, I’m importing comma-delimited flat files, it was able to put my data into nice, neat columns.

Clicking “Next” brought me to a screen where I could modify the columns. I like this option a lot, as it gives me an opportunity to set up my data schema the way I want. If you’re a SQL or database newbie, I strongly suggest that you learn about primary keys and data types and take the time to set them up at this point.

In this particular example, I set my yearID to char(4), stint to int (I will likely change this to tinyint), teamID to char(3), lgID to char(2), and pretty much everything after lgID to int. I also set my first five columns as a composite primary key and everything else to be nullable.

I must have set these columns up successfully, because when I ran it, it did so without complaining.

I wish I could say that I imported all of my flat files without a hitch, but I did run into a few that didn’t run successfully the first time. Here are some of the issues that I came across.

  • I had opened a file in Excel to check data types, forgotten to close it, and the import complained that it couldn’t work because the file was still open.
  • I miscalculated a few field sizes, and came across messages saying that my column sizes were too short (for example, setting nvarchar(10) for a column that included data with 15 characters).
  • There were a few cases where I simply had the wrong data type.
  • My Pitching table included a column for ERA, which I was surprised to see. Reason: ERA (Earned Run Average, for those of you who are baseball-challenged) is a calculated statistic, like batting average. However, batting average was not included in the Batting table. So, I set the column data type to float. However, when I tried to import it, it failed. When I looked at the data, I found entries under ERA that said “inf” (for “infinity”)*. In this case, I did some data cleansing. I got rid of these entries and saved the flat file. It then imported with no problem

(*Some of you might be wondering, how do you get an ERA of infinity? Answer: you give up runs without getting anyone out! Mathematically, you would get a divide-by-zero error for calculating ERA, but in baseball parlance, it means you give up runs and can’t get anyone out!)

So hopefully at this point, you now have an idea as to how to import flat files into a SQL Server database (and maybe even got a small taste of data types and primary keys). And hopefully, this little utility saves you a lot of grief when trying to import flat files.

The #Coronavirus chronicles, part 13: Running for my life #COVID19

I’ll admit that the COVID-19 crisis has had me fall into some bad habits. This morning, I decided to address one of them.

Since gyms have been shut down due to the crisis, I have fallen off the wagon when it comes to my CrossFit workouts. I’ve been doing a lot of sitting on my duff. Since I work in IT, it’s the nature of the beast and a job hazard. I woke up this morning to a sunny morning (for once — we’ve had a lot of rain, sunny days have been few and far between, and it’s directly affected my mood, not to mention my motivation), and decided to do something.

Image may contain: text
It may not be much — I just went around the block a few times — but you gotta start somewhere.

I went to the Couch to 5K website and did a little reading. I’ve toyed with the idea before, but never pulled the trigger on it. For whatever reason, this morning was different. I downloaded the C25K app to my phone, put on my shirt, shorts, and CrossFit shoes, and followed the instructions for Day 1 as I went around the block several times. Day 1 is essentially a 20 minute AMRAP (or maybe EMOM might be more accurate — I’m not sure) that alternates between 90 seconds of walking and 60 seconds of jogging (not including a 5 minute warm-up and cool-down walk at the beginning and end). It sounds pretty easy, but I was still winded by the time I was finished.

Will I keep this up for eight weeks? We’ll see. Right now, the jury’s out. For all I know, I might wake up tomorrow morning and decide that I want to stay in bed. But hey, we all need to start somewhere. Maybe at the very least, when the COVID-19 crisis is over and I’m allowed to go back to my gym, I won’t cringe when the coaches tell me that the WOD is a 5K run.

The #Coronavirus chronicles, part 7: Creating my own college football conference #COVID19

One of my admitted addictions is my Xbox 360 and EA Sports NCAA Football 2013. With all of us shut in during the COVID-19 crisis, I’ve had a lot more time on my hands lately, and I’ve been playing football on the Xbox a lot more than I care to admit.

One of the things that NCAA Football 13 allows me to do is align my own conferences. So I decided to have some fun with it.

With conference realignment, we have teams that, geographically, don’t make much sense. West Virginia in the Big Twelve (a conference whose easternmost school was once Missouri)? Seriously? Also, college sports conferences often have their own identity relative to their geography. With no Eastern conference, that identity no longer exists.

When I was a student at Syracuse, there was no eastern football conference (at that time, the Big East was basketball-only). Instead, there were a bunch of eastern independent football programs under the umbrella of the ECAC (not an organized conference) that pretty much played each other every year, so for all intents and purposes, they informally made up their own conference, even though there wasn’t one at the time.

The late Joe Paterno once said that we need to have an all-sport Eastern conference (this was before Penn State joined the Big Ten). I’ve often thought, if we had an Eastern conference, this is how it might have looked. Well, since NCAA Football 13 allows me to align my own conferences, I could make that happen. I decided, why not!

NCAA Football 13 represents the 2012 season, which is the last season of the Big East conference and the year before Syracuse and Pittsburgh joined the ACC. It means that, in this gameplay universe, there would always be a Big East conference, and the American conference doesn’t exist. Additionally, the four-team FBS championship hadn’t yet been implemented, so I’m stuck with the BCS (boo!). It is what it is.

So in setting up my all-Eastern dream superconference, I decided to kick out any non-traditional Eastern football teams (so long, USF) and bring back the old, traditional Eastern independents (hello, Boston College, Penn State, Pitt, Rutgers, Syracuse, Temple, and West Virginia), as well as pilfering other traditional conference teams and independents (looking at you, Maryland and Notre Dame — in this fantasy world, Maryland leaves the ACC, where they were at the time; in 2012, they hadn’t yet joined the Big Ten — and Notre Dame relinquishes its independence. Hey, before you Golden Domers yell at me, this is my setup, and I can do what I want!). I also kept other Big East teams that weren’t “traditional” — Cincinnati, UConn, and Louisville.

Of course, since I took teams from other conferences, I moved some teams around in order to balance them out. It’s interesting how your own fantasy conference realignment affects the other conferences as well! So, among other things, UCF and USF became ACC schools, Missouri went to the Big Ten, and Texas A&M went back to the Big Twelve. (I might have made some other moves as well, but I don’t remember what they were off the top of my head.)

Including twelve teams allowed me to split my conference into two divisions, along with an end-of-season championship game, so I created Eastern and Western divisions. When all was said and done, my new Big East conference looked like this.

Big East (Eastern Division)

  • Boston College
  • Cincinnati
  • UConn
  • Maryland
  • Rutgers
  • Temple

Big East (Western Division)

  • Louisville
  • Notre Dame
  • Penn State
  • Pittsburgh
  • Syracuse
  • West Virginia

(Note: yes, I know Cincinnati is further west than West Virginia. I wanted to keep as many of the traditional Eastern powers together as much as possible. Hey, my scenario, my rules!)

When all was said and done, here’s what my new “Eastern Football Superconference” looked like!

I also set up cross-division rivals, similar to what the ACC currently has — Syracuse (Atlantic Division) plays Pittsburgh (Coastal Division) every year, and so on. So in this setup, Notre Dame plays Boston College every year and Louisville plays Cincinnati. (I don’t remember what other pairings I had; I think I paired Penn State with Maryland, Pitt with Temple, West Virginia with Rutgers, and Syracuse with UConn.)

(Speaking of which, EA Sports keeps insisting that SU vs. UConn is a major rivalry. As far as I know, that rivalry only existed in basketball, and it wasn’t all that heated, like SU vs. Georgetown. Personally, I have nothing against UConn, except when we play them!)

I set up a championship game played at Lincoln Financial Field in Philadelphia. I actually wanted to set it up at Met Life Stadium in East Rutherford, NJ, but unfortunately, NCAA Sports 13 doesn’t offer that as an option, so I tried to pick the most centrally located stadium in a big metro area (so Penn State was out) that was offered by the game.

(Okay, maybe Pittsburgh is more centrally located. The game does allow me to change it at the end of each season. We’ll see.)

It makes for an interesting setup. I keep the geography of the former Eastern independents, and it has its own Eastern identity. If I could imagine what a geographically-sensible college football realignment might have turned out, this is how it might be organized. Oh, what might have been.

By the way, I just finished playing a season in which I took my 14-0 Syracuse team to the national championship.

Hey, I can dream, can’t I?