Windows 8, For Real This Time

Before I get started, I feel the need for a little disclaimer. Thusly: This is just what I think, as someone who is not really a pro in user experience or being right about what other people will think about an OS anything. I’m just a network guy sysadmin DBA wanna-be BI guy, that genuinely uses Windows by choice, and that’s about the extent of my expertise on the matter.

Back in April, I wrote about my first few days with Windows 8. It was the Consumer Preview release, which in previous development cycles, would have been known as a/the Beta release. As I said in that post, for the most part, it went OK, but I hadn’t spent an insane amount of time with the machine.

Configured Windows 8 Start Screen

How I have the Start Screen configured on my desktop. Part Start Menu and part information portal. You don’t want to know what it looks like off-screen to the right.

Since then, both Tammy and I have put the Gold bits on our main machines (although I still technically use my laptop more). I took the time to think about what I wanted out of the Start Screen on a desktop, and spent some time configuring it to make it useful. I actually like it for getting some quick information hits off of it—news headlines the weather, mail notifications… basically, all of the same things I like about Live Tiles on my phone. They’re not the main reason I use that screen, though, and it’s not even remotely where I spend most of my time. I’ll get to that in a second, though.

Honestly, for the most part, this experience has reinforced most of what I felt while using CP. I’ve also had some time to reflect on what it’s like on a Desktop vs what it might be like on a tablet someday (Friday!), and read a chunk of what others have to say about it. I’ve come to a few distinct conclusions, a couple of which focus on the types of people who will theoretically use the OS and how they will get along with it.

Information Workers/“Power Users”/Such People

For this crowd, there is at least one main point about Windows 8 I see being overlooked by a lot of people writing and talking about it: the role of the Start Screen on a non-table device.

I see a lot of comments about how it’s a split-personality OS and people will be confused by the “modern” UI (or whatever we’re calling it now), and how applications behave differently there than they do on the desktop, etc, etc. I think that’s disingenuous, depending on what kind of user you are. If you’re someone like an information worker, who uses a PC to for both content creation and consumption, I would expect you to spend the vast majority of your time on the actual Desktop part of the OS. The Start Screen should be nothing more to you than exactly what it is—the Start Menu just in full-screen form. All of the applications you use today are intended to run there. If you install them on a Windows 8 box, that’s where they will run; not on the Start Screen.

I don’t think I can stress this point enough—I flat-out think that someone seriously using a PC to do what most of us would consider “work”, shouldn’t be using the Start Screen for anything that they wouldn’t use the Start Menu for in Windows 7 (Or Vista. Or XP. Or Windows 95). I truly think if approaching it with this attitude, there is much less room for confusion, because the user experience is much closer to 7 than it is anything else. For someone worrying about productivity losses from switching, I would tell them that they are few, and it depends on whether or not they rely on some specific features that are no longer there (such as the app-specific Recent list on the Start Menu that I mentioned in my other post).

Don’t get me wrong, though—There’s still a bit of a learning curve to get over. Is the Start Button gone? Yes. Can you still crash your cursor to the lower-left corner and click to get the Start Screen to come up, just like you can to open the Start Menu on 7? Yes. Is your mouse speed set so low that you have to move your mouse an extra two inches on the desk to move to the corner from where the middle of the Start Button used to be? Well that’s another problem if so. But that’s just one thing. There are some things that are a little harder to get to. The way the whole Charms Bar is set up seems a little weird. For example, I would rather just open the Control Panel and get straight to what I want instead of digging around in the Settings part of the Charms bar.

Keyboard shortcuts can help with that a lot, though. Flag-I opens the Charms Bar right at a place where you can then hit ENTER to open Control Panel. OK, that’s pretty easy. Flag-X opens a little menu that gives you quick access to a lot of things, including the Control Panel. It’s also the fastest way to get to the System Properties dialog this side of Flag-Pause. Flag-R still works, and I still think if you’re actually clicking on the Start Menu, and then the “Run…” option, you’re doing it wrong. Keyboard shortcuts aren’t the answer to everything, though, nor should they be.

And that brings us to how it’s not all rainbows and unicorns…

Everyone Else/Proverbial Joe-Sixpack/My Mom

This is going to be a disaster. All that stuff I talked about above, about crashing cursors, keyboard shortcuts, and knowing the difference between the Modern UI and Desktop parts of the OS? None of that matters. This crowd will be dumbfounded when they sit down in front of a Windows 8 machine. Before, I said that it wasn’t going to be that bad, because the desktop was still there and still accessible. I think I was wrong by saying that. I think that dumping the OS straight into the Start Screen when you boot up will make people who don’t know any better (of which there will be many, and it is not and will not be their fault) think that’s what the new OS is. It will be all fun and games until they pick an option that kicks them down to the desktop and then they don’t know how to get back, because there is no real visual representation on how to do so. At least not until you put your cursor in the right place (magic corners). And don’t even get me started about app-switching with a mouse between Desktop and Modern apps.

Before, I compared 8 to Windows 95 and OS X in terms of “disruption.” I have realized that it’s not going to be the same—it’s going to be worse. What’s different this time is that more people already have computers and already know how to use them, or at the very least, expect to be able to figure it out quickly without a lot of effort. 8 will take more effort than that if you are completely uninitiated. 95 at least had the big button at the bottom that said START. They had a catchy Rolling Stones song to go along with the ad campaign; one that fit right with that new button on the screen and basically told you what to do to get going. Now? We’ve got a little animation the very first time you start up the OS that tells you to put your cursor on one side of the screen or the other.

Of course, all of this was done in the name of…well, I don’t know why. I still think it’s going to be a better tablet than Desktop/Laptop OS over the long term. I might be simplifying too much, but I don’t think that feeling would be as strong if the Start Screen isn’t the first thing you saw. Surely it’d be possible to detect what kind of hardware you’re on and make it behave accordingly? Or let the user pick? …and if it’s not a tablet, go to the Desktop first. Hell, go ahead and put the Start button back, since that seems to be such a big deal. Minor things, but a potentially big impact to user experience/frustration.


I preordered one, because I’m a fanboi. OK, that’s only part of it. I genuinely want a Windows Tablet because I want to see how well 8 works as a Tablet OS. And I want to get rid of upgrade [edited for clarity of thought -KLT] our Touchpads and iPad. I want to see how that keyboard really works out, because this could be a device that really puts a dent on my laptop use.

There’s a problem here, though, too! Windows RT! It’s not really Windows 8! Sure, it looks like it, it sort of acts like it, but you’re not going to be putting the old TweetDeck on it! OK, this is for another post altogether. I’ll talk about Surface after ours gets here and we’ve spent some time with it. Might not be until after Summit, though, because I might shove it in peoples’ faces to get some feedback.

Attempt at Final, Coherent Thoughts

As someone with the desire to figure things out and work around shortcomings, I think the OS is fine. In fact, I think it has taught me how to use Windows 7 a little better—namely, by pinning apps that I use every day to the Taskbar, so they’re always there. The number one reason to this on 8 is for ease of access to the “Run as different user” options (hold Shift while right-clicking). On both OSes, it’s a way to get an app-specific Recent Files list (like there was on the 7 Start Menu).

It still goes back to what our parents are going to think of when they try to use this thing, though. That’s what has me worried. It’s obvious that large swaths of the PC industry are moving away from desktops and laptops in favor of phones and tables (mostly the consumer space). I think Microsoft finally work up to that, but the problem is they’ve gone too far. It’s still a waiting game to see how it’s going to turn out.

We’ll start to find out for sure on Friday.

SQL Saturday 145 (BNA): I Haz a Sad

(Yes, I speak in airport IDENTs, leave me alone!)

This is not the post about our local SQL Saturday that I wanted you to read, nor is it the one that I wanted to write. I’m barely even getting to write and post this within the week that I intended to. Alas, sometimes we have to do things we don’t want to do. Yay, being a grown-up!

The Plan

Pretty much: See what Tammy wrote. We were going to have some #sqlfamily out on Thursday for dinner, do the usual Friday pre-SQL Saturday things (Speaker Dinner, etc), then on Saturday, Tammy and I were going to co-present a session targeted at accidental or otherwise new-to-SQL Server folks. This was going to be the third time she’s presented at a SQL Saturday, and was going to be my first time speaking.

Although as of last weekend, I was horribly nervous about this already and still feverishly working to get all of the details of my part of the session together, I was really looking forward to this. It was going to be a nice way for me to present for the first time, as I could rely on Tammy’s experience doing this at SQL Saturdays and the internal training she has been doing at her company. Hopefully after this, I’d have some confidence and would be able to start doing something on my own. You know; theoretically…

That WAS the Plan

As I have mentioned before, Tammy’s Grandma had been in the hospital for a couple of months now, recovering from heart surgery. Although there had been some stretches of good days (some really good), she passed last weekend. It wasn’t necessarily unexpected, but it was somewhat sudden. Dealing and coping with that wouldn’t have affected the plan very much, except Tammy’s brother & new wife were still on their honeymoon, and wouldn’t be back until middle of this week. With services delayed until late in the week, we realized that having that on Friday just wasn’t going to fit with speaking on Saturday very well.

Unfortunately, we had to cancel our speaking slot in Nashville. And, just about everything else, for that matter. I still feel really bad about having to do this to the local chapter leaders. I feel bad that it was our local chapter that this happened to! I also hated that we had to cancel what was going to be my first time speaking; now I’m probably going to be cursed ;-) . I know that this is one of those things that comes up nothing can really be done about it, but it doesn’t mean I have to be happy about it. Last weekend I commented that I was about every emotion but “happy” about the entire thing.

But it’s OK. Things are better for Grandma now. We’re hoping to be able to make it back into town to see our Nerd Family at/after the after party tonight. I feel like a bit of a heel for showing up to the party after not speaking at the event, but we won’t eat any of your food :-D .


So, today, Saturday, SQL Saturday 145 is in-progress, and when this posts, we’re likely in the car somewhere along US 31 or I-65 (hopefully actually moving and not stopped by a cop ;-) ). Not sure how many people will see this before tonight, but we hope to see some of you then.

We’re sorry, we’ll see y’all soon, and hope you don’t hate us now.

Recap: SQL Saturday 160 (AZO) and Some Other Driving

This trip to Kalamazoo was, at first, supposed to be the front end of an epic road trip involving SQL Saturday 160 and SQL Saturday 149 in MSP. Those plans wound up scrapped when Tammy’s brother announced his wedding date on the same day as 149. Instead of spending the week between visiting friends & family in NW Indiana and doing stuff in Chicago, we only did some of those things; for the most part spending time in/around Indianapolis. It wasn’t all bad, as we were able to spend more time with some people than we otherwise would have; those people just weren’t #SQLFamily ;-) .

SQL Saturday 160 was the second SQL Saturday that Tammy submitted a session to. The first was Kansas City back at the beginning of August (159). The one that started it all was kind of a non-standard submission: Long story short, Andy Galbraith (blog | @DBA_ANDY) said on Twitter that they had five (or so) speaker slots still available and anyone interested should submit a session. I more-or-less threw Tammy under the bus publically on this, she did submit her “SSRS for Nubs” (not really its name) session, and it was accepted. Yay, speaker!


Packed car

I could say that we had a bunch of extra stuff for Tammy’s mom, which is true, but we still pack like a family of four going on a month-long trip to Europe

We steamed away from the house on Thursday morning. Left so early because we were going to stop for a bit in Indianapolis to visit Tammy’s Grandma, who is still in the hospital recovering from open-heart bypass surgery. We wouldn’t have otherwise been able to get to Kalamazoo in time for the Speaker’s dinner if we had waited to leave & do all of that on Friday.

After eight hours-and-change in the car, including my first-ever speeding ticket while driving through Louisville (because I wasn’t paying attention to what I was doing), we made it to Kalamazoo and checked into the water-logged hotel. Turns out something happened to a sprinkler head on the third floor, and drenched half the hotel (and by “something”, I mean, “some guest allegedly broke it”). This means that half of the people staying in the hotel that weekend were going to have to be moved somewhere else. Probably the only thing that got us a room for the weekend was the fact that we got there on Thursday instead of Friday. Everyone who had a reservation had a room in one of two other hotels (one of which wasn’t part of their chain), so that was good.

The Good Stuff

Friday was a nice, relaxing day, where we didn’t actually do much. We kind of needed that.

Had the Speaker’s Dinner Friday night at Tim Ford’s (blog | @SQLAgentMan) place. I love Tim, and after this weekend, pretty much his whole family, too. He had a head-start on that, being a fellow Pentax shooter and all. We had been to a SQL Saturday Speaker Dinner once before, ahead of Nashville’s first SQL Saturday two years ago (they had invited volunteers to it), but this is the first one where we were actually there as a speaker (well, Tammy’s the speaker; I’m just Demo Tech Support). I’m still not quite used to being one of the “cool kids” yet, so I spent some time simply weirded out by being where I was with who I was Friday night.

Saturday itself went really well from my perspective. We didn’t get to the venue as early as I would have liked (my fault), but it was a great venue and there was even some breakfast available! I went to a session in every time slot, as there was interesting stuff for me, and it’s not like I had to sit around and be nervous about speaking later.

My favorite session (criteria: general “interestingness” of the topic/session and how many detailed bits of info I learn and can take away) is probably a toss-up between David Giard’s (blog | @DavidGiard) Data Visualization and Allen White’s (blog | @SQLRunr) “Manage SQL Server 2012 on Server Core w/ PowerShell”.

David’s was nice, because it’s full of little ways to improve data visualization that might not seem so obvious until they’re pointed out…at least not for me. I maybe got more “don’t”s than “do”s out of it, but that’s still OK. Some of the “don’t”s are really good. I especially like David’s use of Charles Joseph Minard’s chart of Napoleon’s army during the French invasion of Russia in 1812. Full res of the chart is on Wikimedia here, and is inlined in the Wikipedia page on the invasion itself. The chart is sweet, because it shows so many different pieces of info all at the same time in a fairly easy-to-understand and interpret package. Lots can be learned about data visualization from that one single chart.

I got a lot out of Allen’s session, although possibly not what he exactly has in mind. I’ve recently begun building a new test environment at the house, self-contained on a Dell PowerEdge 2950 that I picked up a few weeks ago. My intent with this is to do everything all ultra-modern. The metal has Server 2012 Core installed on it, running Hyper-V. Everything will be virtualized in that environment. I’m doing this for a couple of main reasons, but I realize that talking about it too much here is fairly off-topic, so I’m going to skip it for now. Anyway, I was a fan of just watching Allen work within Server Core, because although I’ve got our server set up from that standpoint, there was a lot of Googling semi-randomly, running either legacy commands or PS snippets that I barely understood. I have everything written down that I ran, but now I understand a little more of it. Additionally, I know what I need to set up SQL 2012 on Core, which is a task that is coming up after everything going on in the next month or so calms down (that’s another blog post, too).

Tammy participated in the Women in Technology lunch panel discussion, which I think is the first one of those I’ve gone to (not sure how/why). This particular one didn’t have a specific topic to discuss, which led to a lot of varied conversations. There were a couple of audience members who got specific answers to questions that they had, which was really cool to see.

Tammy’s presentation was in the last slot of the day, which led to a slightly tough crowd. It went well though, with one minor hiccup. I like her presentation in general, and so far she’s been getting good feedback on it. Although this is only the second SQL Saturday it’s been done at, she’s given basically the same training to a couple hundred people internally at her company, so the content is fairly refined. It’s done in SSRS 2008 R2 at the moment, and we’ve talked about upgrading the demo to 2012. For right now, it’s going to stay where it’s at, because we don’t get the feeling that 2012 has reached enough of a critical mass, especially considering the intended audience of this session. In fact, one of the attendees in the session asked a question related to running reports against 2005 instances, because they’re currently stuck there and can’t upgrade.


The after-event was held at the Kalamazoo Beer Exchange. I know very little about this place, other than they have a lot of beers on tap, whose prices are all driven by demand within 15-minute chunks. I hoped this would be good for us, because of our propensity to drink Porters & Stouts. Due to the number of taps they had (and that we’re in Michigan), I also hoped for a good selection of said beers! I wasn’t really disappointed on either point.

Tammy and I both had Dark Horse (Marshall, MI) Thirsty Trout Porters to start out with. I was a big fan based on its name alone, just because it’s a big giant mouthful. I thought it was good. Didn’t write any notes or anything, but I classify it as “definitely a porter”, which all but guarantees I’ll like it. One of the things the KBE has is one cask beer available. When we were there, it was Arcadia Brewing’s (Battle Creek, MI) Baltic Porter. This stuff out of the cask was ri-dic-ulous. Have no idea what it tastes like out of a bottle, and I don’t know if I’d ever even want to after having it like this. It was really that good.

Unfortunately, we didn’t get to see how their food is, because there was a slight fiasco with getting seating. Apparently the place doesn’t take reservations (which I can understand), and have limited space for even medium-sized (not to mention large) groups (which I can also understand). Long story short on that is we didn’t get to eat there, as some of us basically decided to bail and head back to Tim’s house. Good times were had by all, on all accounts. #SQLCAH

This is one of the best SQL Saturdays we’ve been to but we honestly haven’t been to all that many, so I feel like I’m not saying much.

Back to the Driving

Mostly at the last minute on Sunday, we decided to go to Chicago for the afternoon. I love Chicago. I also love driving to/in Chicago.

It was refreshing to blast up the Dan Ryan at 80 behind a BMW 6 and not have to work too hard to do it, even though traffic wasn’t exactly light. See, Tennessee drivers don’t exactly “get” the whole “keep right except to pass” thing (or, in the form of Kerry’s Driving Rule Number Two, as applied to Multi-Lane Interstates: Only be as far left as your speed and traffic dictate). In fact, when traffic is light-to-light/moderate, the lane where it’s easiest to go fast is usually the far right (#1) lane. Once to a certain point, no clear winner emerges—either you have to just take the speed you can get, or expend a lot of effort—and greatly increase your risk—to weave around in traffic. Bonus points for the guy going 10 under the limit in Lane 1 during rush hour. So, driving on a five lane wide slab of concrete where things work like they’re supposed to is pretty high on my list of favorite things to do.

Did I mention I got a speeding ticket in Louisville on our way up on Thursday? The first one I’ve ever gotten? Because I was spending more time looking at airplanes than paying attention to how fast I was going and the Edge goes fast kinda easy? Yeah. That. Everything makes sense now, doesn’t it? ;-)

Steaks at Michael Jordan's

This happened…

Anyway, walked around some there, got our Sunday night steak at Michael Jordan’s restaurant (convenient more than anything), took some pictures, and took the Skyway back to Indiana.

Then more driving, we stopped at my parents’ place, spent some time in Lafayette to see some friends and some other family (and get a DenPop), then time in Kokomo and Indianapolis, Tammy’s brother’s wedding, etc, etc, back to the Osburn Hideaway just in time for Sunday steaks again.

All in all, a really good trip. I’m pretty happy for the time off, even if we were really busy most of the time. It’s always so nice to sleep in our own bed after a trip like this. I don’t know how some of our #SQLFamily do as much traveling as they do. You guys are crazy. And awesome. But possibly mostly crazy.


SQL Saturday 160

Chicago/Indiana/Assorted Flatness; Also, giant turbines

T-SQL Tuesday #30: A DBA’s Ethics

T-SQL Tuesday 30
#30: Deep T-SQL Tuesday or Deepest T-SQL Tuesday?

Chris Shaw (blog | @SQLShaw) brings us T-SQL Tuesday this month. His topic of choice is “A DBA’s Ethics”, which is a pretty deep subject! I feel like this post goes off the rails a little bit compared to the direction of the invitation post, but I had something happen last week that really made me think about this topic in a specific way.

Chris says, “Don’t consumers and business owners have to trust someone at some time with their data?” This is a line that I have clung to in the past; at some point, it has to come down to trust. Since I feel this to be true, it makes me somewhat crabby when regulations & whatnot seem to step in the way of that trust, possibly making it hard for someone like a DBA to do their job due to data or system access restrictions. I do believe that there are times and places for regulations like this, and after what I learned last week, I’m probably more on the side of these types of security regulations than I was before.

NPR to the Rescue

See, I wasn’t even sure if I was going to write a post this month or not. I wasn’t sure what I wanted to talk about or if I was even going to be able to get enough coherent thoughts together. But then, one day last week, I was minding my own business (more or less), driving home from work, listening to WPLN, as I am wont to do, when this story came on. To very roughly summarize for those not interested in spending 18:34 listening (I do recommend listening to or reading the story):

  • Father is upset as his son is convicted of bank fraud.
  • Asks younger son to promise to never get into that kind of trouble.
  • Younger son promises.
  • Younger son starts own business.
  • Realizes one day company is under water.
  • One thing leads to another and 22 years after The Promise, said younger son is convicted of same crime as older brother.

I was interested in where this story would go… I mean, why do otherwise “good” people do “bad” things? At the beginning, I thought that somehow research was going to say that doing bad things “runs in the family” (the older/younger brother angle). As the story progressed into the part where Toby Groves begins asking employees to help, and they agreed, I started to think about how there’s no way I would do such a thing…and how could these people?

When the story got to its punch line, it made me think about how this topic related to DBAs:

We like to help each other, especially people we identify with. And when we are helping people, we really don’t see what we are doing as unethical.

A couple questions developed in my head when I heard it, and as I thought about it more, the questions only got more complex:

  • Are we, as DBAs (or DBA-type folks) at all immune to this type of thinking?
  • Would a DBA be more willing to help another DBA specifically? If so, how thin can we split that hair?
  • What about supplying data for audits? Does that change the thought process?
  • Does having an ethics statement really do any good?

I don’t have answers to these questions—not sure anybody does—but they make for interesting things to think about.

If Only I Had a Psychology Degree

I know the first question I have listed there seems pretty pretentious, but I wound up there due to specific reasons. Of course DBAs like to help other people; that’s not what I’m saying. What I am saying is weighing “helping people” while still operating within “the rules” is kind of what we do. I’ve spent a fair amount of time working directly with developers both on projects and to get projects deployed to Production systems. Although it is nice to be able to tell coworkers “that’s all OK”, that isn’t what we get paid to do; instead, more often than not, we’re paid to say No. Not because we don’t like people or enjoy it, it’s because we are trusted (there that is again) to apply “the rules” objectively to everything we are involved in or are supposed to approve for deployment. These “rules” can be administrative procedures, architectural/design policies, or even something simple like scheduling. Because of the nature of what it is we do, we are used to taking a step back, away from the people involved, to ensure that we do the right thing.

Does making decisions like that on a day-to-day basis make a person able to apply that same objectivity to every situation they ever encounter? Who knows? What about if the situation was changed a bit? DBAs (and sysadmins, for that matter), tend to rag on developers a little bit; usually in a good-natured way. But, I believe that, for the most part, DBAs and Developers are fundamentally two different kinds of people—we tend to think and act differently (and that’s OK). So, what happens if a fellow DBA comes to us with a problem or the results of a mistake and are looking for a way to fix it quietly or sweep it under the rug? Since we identify with the fellow DBA more so than, say, a developer, are we more likely to go along with the cowboy fix, as is pointed to by the study in the NPR story? I mean, if one doesn’t truly stop and think about what is going and what is being asked of them, it’s easy to simply think, “oh, Jim-Bob’s a DBA over on the Production team, surely he wouldn’t want to do anything outside of policy…”

What about the audit situation? This can go both ways: on one hand, one wants to help the auditor do their job by getting them the data they’re asking for. On the other hand, you may be wanting to help your team (or yourself!) out by possibly not supplying everything involved in a request. It’s easy to sit here and office chair quarterback the scenario, but that’s the point—it’s easy when you’re not in the situation  yourself, in the same mindset (or lack thereof), staring the same consequences in the face. Thoughts and actions only count when…well…when they actually count.

This is where doubts about ethics statements begin to creep into my head. It’s easy to read through SANS’s Code of Ethics that Chris pointed out on this fine Tuesday and laugh, being like, “yeah, like I’d ever knowingly hurt someone’s reputation or look up the boss’s salary in the HR DB.” The problem is that opportunity or request might not come up on a Tuesday morning while we’re sitting around reading blog posts over our second cup of coffee—it might come up while you’re having an exceptionally bad day, and all you want to do is make at least one person happy. Before you know it, you might have gone off and done something illegal, or at the very least, ethically questionable.

Does having a company, community, or personal code of ethics keep this from happening? The way I interpret the reported study’s results, I would have to say no. Of course, that’s not true for everyone or every situation—it depends! It depends on a lot of things. So many things, in fact, that it’s completely within the realm of possibility that having such a code and reading it regularly to remind ourselves of the covered items could just cause the right synapse to fire in the right situation to keep us from doing something stupid. Does that make it worth the effort? Probably.

I have to say, though, historically, I’ve gotten crabby about things like this that get formalized. I always ask “Really?!”, because I feel like I’m pretty hard-wired in this department and get a little offended by having a code of ethics thrust upon me. I have to say that I’m a a little afraid after hearing the NPR story that there’s a chance I would let things get out of control before I realized what’s going on. At the same time, though, I realize that having that fear and being alert to it is probably about the best way to safeguard against doing unethical things in the first place.


There’s still a problem here. The problem is that we’re not perfect. Insidious things creep in at the corners without us noticing. Even though we’re trained and practiced in recognizing when something abnormal is going on and to see through the glossy surface down to the gritty details, things can still go horribly wrong due to being stuck in those details and missing the big picture.

I don’t know about you guys, but that NPR story freaks me out a little bit. Do I believe what I said above, about DBAs being used to making similar decisions, makes us immune to this type of “sympathy think” (pardon me while I make up words again)? No! I’m worried I go around every day a hair’s breadth away from starting something highly unfortunate just because I wasn’t paying enough attention or thinking the right way about a task.

Sure, talking about a DBA’s ethics is a little bit different than talking about mortgage fraud, but the fundamental decision is the same: Could what I am about to do hurt myself or someone else? It’s hard to think about that question at every turn throughout the course of the day, but apparently we need to, because once again, our animal brains are being a pain in the butt.

Random Word Tip (#1?)

I’m full of random bits like this, but I’m not really good at pulling details out of things I do which others might not know, so they don’t come out very often. If I were better at that, I’d have more things to write about!

I admit that I’m a crazy Word Pedant™, and will lots of times go overboard on making sure things are done the “right” way. All that said though, there are still new things to discover in it. This is one of those things. With the benefit of hindsight, this is a pretty basic piece of functionality that I probably should have already had a handle on. I do like these settings, and for the type of documentation that I’m doing now, it has a real benefit.

Table Properties

Long story short, we’re after these two checkboxes in the Table Properties dialog:

Row Options shown in the Table Properties Dialog

(The Table Properties dialog is an option on the context menu if you right-click anywhere in a Table, or also the Table Tools | Layout tab of the Ribbon.)

These two options do just what they say they do:

Allow rows to break across pages. This setting is similar to the “don’t let a single sentence of a paragraph sit on a page by itself” setting (which I can’t currently find in Word 2010, so maybe you can’t control that anymore). It comes into play if there’s multiple lines of text in a table cell (or every cell in a row). It will force the whole row to break down to the next page instead of splitting the row contents across a page break.

This is good for the ETL documentation I’m working on these days, because some of the source-to-target mappings that are being documented have some pretty long descriptions and/or script bits to handle conversions & such. In a four or five column table on a portrait Letter page, some of these rows wind up pretty tall. It’s really confusing to read if these long snippets wind up broken across pages. This situation is made worse because all of the other columns’ data is back on the last page, and half of the mapping description is hanging out by itself on page two. It does mean there’s sometimes half a page left blank because of a tall row, but that’s the lesser of evils, in my opinion.

Repeat as header row at the top of each page. (Just to note, this option is also available as a button on the Table Tools | Layout tab of the Ribbon. That part of the Ribbon will show up with the cursor in a table, and this particular option is greyed out unless the cursor is in the first row of a table. That right there is a good illustration of both the blessings and the curse of the Ribbon, but I digress.) This option can be set for one or more rows at the top of the table. When set, these rows will repeat, as they are, at the top of the table as it spans from page to page. This setting is useful for obvious reasons with big tables that span multiple pages.


Making up a table in Word to mimic an ETL source-to-destination mapping document will make a useful example to show what these options will do.

With a table that spans across a page break, the default behavior in Word will yield a table that looks like this:

Default Table formattingThere are a couple problems with this.The first one is how there’s a row split across pages, leaving the back half of the mapping script sitting by itself on the second page. Obviously if this is printed, the rest of it is on the page you just turned over, so it’s not that far away. If it’s on-screen, it’s even closer—just a quick scroll up. Even so, I think it’s simply better form, if you can, to keep whole rows together to make consumption of the data easier.

Likewise, if looking at just the second page, the column headings aren’t visible. Perhaps not as big of a deal with a small table, or a document where the same general table is repeated throughout, but if the table is large, or perhaps one that spans multiple pages (I’ve had some of those going on recently), it’s very convenient to be able to see the headers on each page. Think of how nice it is to Freeze Panes in Excel.

Enabling the two options discussed above on the same table will result in this table:

Word table formatted with discussed options

Now both problems have been solved. The penultimate row is no longer broken across pages—it now is forced down to the second page in its entirety, easing comprehension of its contents. Additionally, the column headers now repeated on the second page save one’s sanity for obvious reasons.

The repeated header rows are kind of “virtual” rows—you can’t even put your cursor in it. They update in real-time when the actual header row is changed, so they are always correct.

There you have it. Go forth and format tables!