Office 2016: You’re connected to too many services

You’re connected to too many services. Please remove some connections before adding additional services.

Recently I started seeing the above annoying error message every time I opened up Outlook 2016 on my MacBook, but only after being prompted for my passwords for every single email account I had. This is tedious with two connected accounts. I have five.

A quick search led me to a thread on Microsoft Answers, with a solution by Beigs, who posted this image with their answer:

  1. Open Word or Excel 2016 on the Mac;
  2. Click on your name on the top left (a.k.a. the Welcome Screen);
  3. Log off any duplicate accounts, or accounts that have an Alert next to them;
  4. Close all Office 2016 applications, and re-open Outlook.

This worked for me, and from a technical point of view, it makes sense. Thanks, Beigs.

Air gaps and secure networks

I am a person with many interests. In one conversation, I’ll introduce myself as a new filmmaker. In another, I’m a seasoned theatre actor. Sometimes I give talks on Microsoft’s data platform products, SQL Server and Azure SQL Database. There’s another strong field of interest I have, which I don’t speak much about, and that’s information security (often shortened to infosec).

By no means am I a security expert. I use 1Password for managing my passwords and secure data between members of my company, and I use Cloak VPN when I connect to public Wi-Fi networks. My MacBook Pro’s hard drive is encrypted using FileVault. We have a guest Wi-Fi network at home to prevent non-residents gaining access to our smart lights and my NAS. I have passwords on my two computers’ screensavers.

I know I don’t do enough to keep everything as secure as possible, but I try.

Recently I’ve been watching the Pluralsight course Ethical Hacking (CEH Prep) (login required).

The very first thing in the course is setting up a secure lab environment, so that any tools used in the course are contained in that secure environment. This is the right way to do it, and I am using Hyper-V on my venerable Asus laptop to host these socially unacceptable virtual machines, away from my home network and away from the Internet.

This is called an “air gap”. Theoretically speaking, the virtual machines (guests) have no network access, and therefore there is air between them and a machine that is online. Practically speaking, this is untrue, because my laptop, which is hosting the guests, is online, but Hyper-V has segmented them on their own private network.

So this raises a question: How do I install applications on these guests if I’m not giving them access to any network? I don’t want to connect the guests to the Internet to download anything, firstly because of automatic updates (the lab environment must be predictable), and secondly because the guests may be compromised already, and it would be improper for me to expose compromised machines to the Internet (and my home network).

The answer, as with any air gap, is to do it the way we used to twenty years ago: burn files to CD-ROM or a USB drive, and then access that device from the guest.

Using Hyper-V (and other modern virtualization technology), it is trivial to connect a CD-ROM, USB drive, or disk image to a virtual machine. My challenge, in this “clean-room” laboratory that I’ve set up, is that I have no software on my host operating system. All I want to do is download the files to the host and then make them available to the guest virtual machines.

In the Pluralsight course, the way the presenter did this was to make a network share available from the host to the virtual machines. I decided against this, because it does not keep the lab environment completely separate.

The only other machine I can use is my MacBook Pro, which means having to copy files over the network to my host, which I want to avoid.

I decided to create a virtual hard drive (VHD), which is natively supported on all modern versions of Windows, as well as Hyper-V.

On the host, I created a VHD using the DISKPART command, which is built into Windows.

From the commandline, type diskpart to open it. At the DISKPART> prompt, type:

DISKPART> create vdisk file="D:\Temp\airgap.vhd" maximum=1024

This creates a 1GB virtual hard drive on my host, which I will use to store files that I want to install on the guest. However, before I can use this container file, I have to partition and format it.

Attach the new virtual disk we have just created:

DISKPART> attach vdisk

Create a primary partition on the virtual disk:

DISKPART> create partition primary

Select the partition:

DISKPART> select partition 1

Assign it a drive letter (I used Z: but you can use any available drive letter):

DISKPART> assign letter=z

At this point, Windows will pop up a dialogue box informing us that an unformatted drive has been detected. We can use this box to format the drive, using the default values.

Once the drive is formatted, we can transfer downloaded files to this new VHD.

The next step is using the VHD on the guest. To do that, once the files have been copied, we can detach the disk from the host using DISKPART again.

DISKPART> detach vdisk

This closes all open handles to the VHD, so that we can access it elsewhere.

In Hyper-V, or whichever virtualization host you’re using, the first thing to note is that VHDs cannot be added to virtual machines while they are running, so I have to make sure the guest is shut down.

We then add the VHD as a second hard drive to the guest’s configuration and start up the virtual machine. The VHD is already formatted, and it will receive a drive letter automatically when the operating system has started, so it will be accessible immediately. We can just run the applications or installation from that new drive as if we had downloaded the files directly to the guest.

To make changes to the VHD, we have to shut down the guest and then use DISKPART to attach to the VHD again. It is good practice to take all necessary precautions when attaching the VHD to your host again, because although the guest is turned off, there’s no guarantee that the VHD hasn’t been infected with something.

If you need to add new files, it would be better to create a new VHD instead. Treat the VHD with the same level of trust as a USB drive you find in a parking lot.

If you’d like to read additional technical posts, check out my blog on Born SQL.

On the Internet of Things

I hate the term “Internet of Things”. I say “Internet of Things” and “IoT” because everyone else does, but I don’t like it.

Not everything needs to be online. There’s a Twitter account called @InternetOfShit which posts regularly on this topic.

The first and most important reason why this is a bad idea is security. The Internet is planet-wide, where everyone with a connection is a potential threat. You really don’t want personal and private devices viewable, and possibly controlled, by just anybody.

The second problem is ownership, which also touches on privacy to an extent. Buying devices that rely on third-party providers (including the “trustworthy” ones like Google) means your private stuff is viewable by employees of those companies.

It also means that you could end up with useless equipment that cost a lot of money if the company shuts down or gets sold, and now a marketing firm who buys the assets has access to pictures of the inside of your house, which they will sell indiscriminately to defray expenses. If that doesn’t terrify you, please stop reading, turn off your computer or mobile device, and never visit my site again.

I won’t even get into how white-label Internet-connected cameras (manufactured inter alia by Sony, famous for being hacked many times) need to be rounded up and set alight, because their passwords are 888888, cannot be changed, and can be easily accessed remotely. The prevailing advice from security experts, in fact, is to toss these devices out.

A lot of crime is opportunistic. A database containing credit card numbers, personal information, nude photos, gamer tags, digital currency, whatever it may be, is attractive to certain people who have the technical skills to exfiltrate that information and sell it on to someone else. Rarely will you find that the people stealing this data are the ones using it. Firstly, that’s liable to get you caught, and secondly, the exfiltrator (or “hacker”, an unfortunate use of a perfectly cromulent word) just needs the money, or to prove his or her skills. The big paydays come from large data dumps. Sony, LinkedIn, Tumblr, Adobe, Yahoo, Yahoo (yes, twice), the list is endless.

So what’s the solution? With the number of devices growing exponentially every year, there’s no getting away from the convenience of having lights that turn on when you get home or a video camera to see if anyone is stealing your FedEx packages.

Ironically, the perception of extra safety and security provided by the devices is thwarted by their inherent lack of security. Manufacturers are racing to get into the market, forgoing testing. “Let the customer be the beta tester” is Google and Facebook’s mantra. Many companies are to blame; I’m not just singling these two out. Legal fees are clearly cheaper than research and development.

Which brings me to the point of this piece: building your own “Thing”. Do you want a camera watching your home while you’re away? Build one. Companies like Raspberry, Adafruit, and Arduino (to name just a few) have brought extremely cost-effective computing to the mass market, and relatively easy-to-use programming guides if you’ve never written a line of code in your life. Some of them even run Microsoft Windows!

Of course, building your own camera means that you can’t rely on Google or Sony to record and store your video, so you need what we call a DVR, or Digital Video Recorder. It didn’t help that cable and Internet-based television companies produced devices they also called DVRs, so there is some confusion when you search online. Fortunately the television kind is now called a PVR.

A DVR in this case is a hardware device with a number of connectors for security cameras to plug into. In the last ten years, this industry has seen impressive advances, where cameras are now wireless, connecting via the network, and DVRs can just be software.

In other words, you can buy a relatively inexpensive network-attached computer for your home (traditionally called a NAS, or network attached storage), run DVR software on it, and connect your Raspberry Pi Zero to that. Then, using a (free!) VPN (virtual private network) connection from your phone over the Internet to the NAS, you can view the images or video from the camera, and it’s all sitting in your home, away from prying eyes.

What you’ve done, then, is made your information harder to find. Security by obscurity. The chance of being hacked is still there, but the payday is much lower for a hacker if you use a good VPN server and follow best practices when it comes to securing your network.

One example is the principle of least privilege. What that means is, your camera that you’ve built will have its own security settings, away from, say, your desktop computer. If someone did happen to break into your VPN, and then break into your camera, they wouldn’t be able to hop onto yet another device on the network without doing a bit more work, because the security settings won’t work on any other device on the network (think of it like having a separate password for each device). Breaking this security is time-consuming, and working on stealing billions of passwords from Yahoo is much more lucrative.

Another example is layering. You don’t want to keep your Things on the same network as your computers. Even if they’re physically connected to the same Ethernet network, or everything is on Wi-Fi, there are inexpensive ways to partition your devices onto separate wireless networks, using the same router (which of course you’ve purchased separately, and sits between your cable company’s router and your network).

Yes, it takes a bit of effort to set up and secure your network. Yes, it costs more money. Yes, it’s inconvenient to trade security with ease of use, but the benefits are numerous, and I would suggest that it’s the minimum price of being part of the modern connected world. The manufacturers are responsible for creating ways to safely secure their devices, but we need to make sure we’re using those tools to keep ourselves safe from 7 billion (and counting) potential hackers.

It’s why in South Africa, to avoid being burgled, we just had to make sure we made our wall higher than the neighbours’ walls. If you’re going to be the family with the pretty little fence, welcome mat, and unlocked front door, don’t be surprised when you find a stranger going through your sex toys.

Microsoft BizSpark is now a one-year programme

As of 1 December 2016, Microsoft’s BizSpark programme is now only for one year, down from the original three years.

Given how useful the free Visual Studio tools are, and what is possible with Azure, I’m not surprised, but this is going to affect a lot of people.

From the BizSpark page:

A one year program, BizSpark puts all Microsoft development and test software at your fingertips, including Azure, Windows, Visual Studio, Office and SQL Server for free. Plus, enjoy access to hundreds of free training classes, technical content, and 4 break-fix phone support incidents to help you on your journey.

Anyone who signed up before 1 December 2016 is not affected by this change. The annual renewal is still in effect, but you still qualify for the full three-year programme.

Link: On Getting Old(er) in Tech

My friend Janie Clayton linked to this article by Don Denoncourt, which has some interesting thoughts and observations.

Something with which I agree:

I’ve seen too many people lock themselves into technologies (like Lotus Notes and Domino) and find themselves unmarketable after spending 10 years in that industry. Even if you have a high-paying salary, don’t let the tech world pass you by. Be sure to be up on the latest technologies. And, if you can’t do that at your current position, maybe it’s time to move on.

The entire article is worth taking your time to read.

What to do at PASS Summit 2016

(Originally posted on my SQL Server blog.)

Next week, while blog posts are scheduled as expected, I will be attending my third PASS Summit.

Summit 2014

In my first year, I attended every single event I could.

The Monday night started with Steve Jones’ regular Networking Dinner. When I arrived, there were already over a hundred people there, all of whom I didn’t recognise. Until I saw Ed. Ed Watson and I had met in Tampa, FL, at a SQLskills Immersion Event in 2012 and stayed in touch on Twitter. I met new people that night through Ed and reconnected with the folks I’d met at the five Immersion Events I’d attended in 2012 and 2013. The Summit hadn’t even started, and I was already seeing its benefits.

On Tuesday was the First-Timers’ Orientation Meeting & Speed Networking event, where I met some folks with whom I reconnected repeatedly during the week. There may be thousands of attendees every year, but humans recognise familiar faces in a crowd, and we didn’t need to feel overwhelmed.

Later on Tuesday night was Denny Cherry’s long-running SQL Karaoke evening, where I met Argenis Fernandez for the first time in the flesh, and sang a duet with Ed Watson (Sonny & Cher’s I Got You Babe).

There were many vendor-sponsored networking events as well, where we received free food and beverages. I attended several of those.

I also attended both keynotes (hint: the first keynote on the Wednesday is marketing, so you can sleep in – but take note, Brent Ozar thinks it might be worthwhile attending this in 2016. The second one, on the Thursday, is worth attending), and I can say that Rimma Nehme is amazing.

I attended a lot of sessions. Many of them were incredible. I had my brain melted by Bob Ward’s talk, “Inside SQL Server I/O”. If you get a chance to view this online, do so.

I hung out a lot with another friend, Larry Toothman, whom I’d met in Tampa at the same SQLskills Immersion Event where I’d met Ed. Sadly, Larry died in 2015, but the SQL Server community was incredible with showing support to his husband, and keeping Larry’s memory alive by sharing stories and handing out ribbons.

Here’s a picture of Larry and me, with Paul and Kimberly.

The main takeaway I had was that I had to return in 2015. The networking aspect alone made it worthwhile. The learning was the cherry on top.

Summit 2015

In 2015, I took a calmer approach. While I still attended a lot of technical sessions, I went to two pre-cons (pre-conference events, which are run separately and cost extra). One was PASS-sponsored, and I got to learn a lot from Aaron Bertrand in his “50 Things All SQL Server Developers Need to Know” full day session.

My other pre-con was unpaid, and unsanctioned by PASS. I attended the Brent Ozar Unlimited “FreeCon” event, with 49 of my closest friends, to learn the things you need to know to market yourself better. That’s the reason I now write at least one blog post a week and have made a bigger effort to sell my skills as a consultant.

I sang another duet with Ed, at the new SQL Karaoke venue (Summer Nights from Grease) and had an impromptu group of ladies helping me sing Sandy’s part.

While I did attend both keynotes again, I decided I would skip the next year’s Day 1 Keynote, because it’s pure marketing. In the second keynote, Rimma Nehme was back again, incredible as ever, with David DeWitt to assist her.

I also did not attend every session I’d planned, because the rumours were true: I was gaining more knowledge by networking with people. I met some new people, including Ewald Cress, a guy I went to school with in a rural town in the middle of nowhere.

Bob Ward melted my brain again, but this time his talk was easier for me to understand. I sat next to Gail Shaw, a fellow South African I know from the old country, and we agreed later that the 2014 talk was a lot meltier.

I met Steve Stedman in the flesh, after taking part in a Database Corruption Challenge he had run earlier in the year. As it turned out, Steve and I did some business together in 2016 as a direct result of this networking. It works, folks.

On Friday evening, David Klee invited a group of us to try again at karting. In 2014, due to bad planning with taxis, we missed out, but ended up crashing a birthday party of my favourite Australian, Rob Farley. Rob and I got to know each other during Steve Stedman’s corruption challenge too.

2015 was more successful at karting too, because I won the final race with David coming in a very close second place.

Summit 2016?

More networking. More karaoke. Because I’ll only be arriving on Tuesday this year, I will miss some of the unsanctioned festivities, but rest assured I’ll catch up with everyone again. I also plan to have my brain melted by Bob Ward. Alas, his talk is the same time as Gail Shaw’s, so I won’t be able to heckle her.

Advice for newcomers

If this is your first year, definitely do the orientation first, and check out the sessions that interest you.

On the other hand, don’t forget to introduce yourself to new people and talk to them about SQL Server. If you are on Twitter, and follow any of us in the SQL family on Twitter, come and say hi. (Heck, even Grant Fritchey, Executive Vice President of PASS, agrees.)

I’ll be wearing my trademark black EAT SLEEP RAVE REPEAT CREATE READ UPDATE DELETE sweater (don’t worry: I have three of them, and they get washed). Since I have terrible concentration, eyesight, hearing, etc., I’m usually sitting right at the front of each session I attend, so you can’t miss me.

Speaking of Twitter, come find me on @bornsql or @rabryst and let me know if you’ll be at Summit 2016. Come to Denny’s karaoke evening.

The golden rule applies to Summit, as it does in life. If you’re respectful to fellow attendees, the favour is returned, and you’ll become lifelong friends with lots of folks, who will be happy to help you out in a bind.

The real value of 70 percent

I wrote previously about an expensive experience with In-App Purchases (IAP) running rampant, to the tune of almost four hundred dollars. This follow-up contains some good news.

As part of the conflict resolution protocol, Apple’s customer service representative, known only as Az, was very quick to offer assistance. My mother-in-law didn’t respond to his original emails, so I took the time to write back on Monday afternoon and received a reply later that evening.

For certain reasons, Az was only able to refund what amounted to $270, or 70% of the original amount. Taking into account my mother-in-law’s original intent of spending $34.99 for coins for this game, the refunded amount is closer to an 80% refund, no questions asked.

Thank you Apple Canada, and thank you Az, for taking this complaint seriously. I don’t think much will come of the problem with IAP in the long run, considering the highest revenue generators in the App Store (six of the top 50 grossing apps on the Canadian store, as of this writing, are slot machine style games), but at least Apple is responding to complaints in a fair manner.

I would still like to see these two changes in the Family Sharing feature:

  • approval of all purchases, no matter the age of the family member;
  • notification of in-app purchases exceeding a certain limit (e.g. $50)

If you have any IAP horror stories, feel free to leave a comment or find me on Twitter at @rabryst.

In-App Shenanigans, an iOS Story

This is not a judgment on Apple (or other platforms). This is not a judgment on this particular app, either, even though I think it’s scummy. Let’s get this out of the way right off the top.

Earlier this week I received an email from Apple, as usual, notifying me of an in-app purchase (IAP) made by a member of the family.

Our family consists of me as the primary credit card holder, my husband, and my mother-in-law. This is important because we’re all over the age of 18.

My husband and I live in Canada, and my mother-in-law lives in South Africa. The Canadian iTunes and App Store offerings are much better than South Africa, for myriad reasons, which is why we added her. She gains access to our purchases and Apple Music. It’s a win-win.

Here’s the email I received.

A word about how I read emails: FAST. I use a system of pattern recognition developed over many years, and when an email looks fine, I file and ignore it. This is why I spot spam and malware very quickly, when shapes of words look “wrong”.

So this was a legitimate email, but what struck me was the amount. I usually ignore purchases under $20–$30, but that number looked big.

What was also interesting in this case was the app. I’d seen this before, so I looked in my email archive. Sure enough, there have been several in-app purchases from the same device since the app was downloaded (free of charge, of course) on 31 March 2016.

Problem 1: Inaccessible IAP for Family Members

I clicked on “Report a Problem”, and that’s where I noticed a significant flaw in the Family Sharing feature. If you did not make the in-app purchase yourself, you cannot see the details. The page returns no results.

After a frenzied iMessage conversation with my mother-in-law in another timezone, she was able to send me her password, and once I logged into iTunes with her account details, I could review her in-app purchases.

Problem 2: Email Notifications

This is where I discovered another issue, one I’ve maintained is problematic with email itself. Not every in-app purchase generated a receipt email. Email is broken. It does not guarantee delivery. Apple can’t fix this. I don’t know how to solve it.

According to the account details, a few more in-app purchases were made from the same device. This is not all of them.

Since 31 March 2016, the in-app purchases from the device totalled a few pennies under $390 (three hundred and ninety dollars).

Problem 3: Scummy Developers

I decided to install the app to find out how this happened. My mother-in-law is smart. She’s been using iOS since almost the start. She understands IAP, and she asks before doing an in-app purchase on games she likes. Until April 2016, she had spent under $200 on the App Store in six years.

It did not take me long to figure it out.

The game, like any other free-to-play game, will prompt you to buy extra plays. Because it’s a slot machine game, this is sold as extra spins on the slot machine.

I spun the wheels about twenty or thirty times. There were the usual flashes of light and colours and shiny things game developers know to put into a game to keep you playing.

And then this is where it all broke down.

If I tap in the open areas, nothing happens (thank goodness). If I tap on one of the three options, I’ll be prompted to spend money. No thanks. So I hit the X on the top right to cancel out of this madness.

And this is what greeted me, even after reinstalling the game.

Anyone want to tell me how to continue? Anyone? Bueller?

Using my 33 years of computer experience, I’ve decided that to continue with the slot machine game, without buying coins, I’d need to tap on the face of Venus. How Freudian. I deduce that there are puzzles I’d have to complete to unlock the other machines.

Since I’m twice shy, I decided to quit the game and delete it once and for all, without risking anything else.

No wonder I’ve got almost $400 worth of IAP on my credit card. This confused me, and I’ve been working with software for over three decades. And I got maybe 30 spins on the wheel.

Problem 4: Reporting IAP Doesn’t Work

Now that I was able to log in as the purchaser on iTunes, I could click the link (in the same receipt email, mind you) and was able to report an issue with the latest purchase.

I understand economics and cooling off periods and contracts. If we couldn’t get some money back from the older purchases, at least $69.99 could be returned. It was in the last week, after all.

I selected the option “Didn’t mean to purchase this item” from the dropdown. After filling in a comment, I submitted and got back the following reply:

This purchase is not eligible for a refund.

Alrighty then.

Taking a look through the other options, I declined choosing “I didn’t authorize this purchase” because, frankly, I did. A court would look at the reasonable man argument, and a reasonable man would say “the purchase happened” because the user (my mother-in-law) entered her password or touched a fingerprint reader, and the receipt was processed by Apple.

Problem 5: Daylight Robbery

I have been writing software since 1983, and I did it for a living for a number of years. I understand that software developers need to eat. However, a mainstream game on a console system, PC or Mac platform, even with DLC (downloadable content) that is charged for in addition to the game, won’t cost me $390. The Sims 4, part of the most popular franchise ever, costs $60 with DLC. If someone is spending over $100 on a game, I want to know about it.

This is not a problem specific to this game, I’m simply using it as an example.

Problem 6: Inconsistent Password Prompts

I get asked to enter my Apple Account password so many times these days on my devices. Imagine this happening when you’re trying to dismiss a “BUY” button in a slot machine game. You click cancel, your finger slips and you accidentally tap the expensive option on the right. Flustered because that stupid password box came up again, you sigh and enter your password anyway.

Problems that Apple Should Address

I identified two main problems through this experience that I would like Apple to address.

Firstly, please let me turn on approvals for any purchases, for any family member, regardless of age.

Secondly, please let me review purchases for all family members from my own account. If it’s good enough for someone to use my credit card, I’d like to be able to report an issue.

Conclusion

There was one time my mother-in-law did want to buy coins, for $39.99. She even texted my husband at the time and said she’d pay him back. So for every other purchase on that game, I submitted a request under “Problem is not listed here” and said none of these purchases was expected except for the one for $39.99.

If Apple responds favourably, I’ll be surprised. This is a major revenue stream for them. No wonder developers are excited about IAP and upcoming Subscriptions.

In the meantime, please be wary of IAP. It’s not a bad thing if used appropriately.

Professionalism doesn’t mean a collared shirt and tie

(Originally published on my SQL Server blog.)

Working from home, consulting with companies all over the world, has changed how I interact with customers. The last time I was physically on site was seven months ago.

We deal almost exclusively with each other via conference call and video using Skype, LogMeIn or GoToMeeting, juggling webcams, headphones, microphones, email, text messages, phone calls, instant messaging, and so on and so forth …

Scott Hanselman wrote on Twitter recently about spending more than 20 minutes of a one-hour meeting getting microphones working for all meeting attendees, and this is in 2016!

 

Being professional means treating your customers and colleagues with the respect you think you deserve in return.

Put another way, if you treat other people with contempt, you can’t expect to be taken seriously.

Missing meetings, not having your equipment set up correctly, not wearing camera-friendly clothing (or any clothing at all!), having an inappropriate backdrop, or having an inappropriate desktop background if you’re sharing your screen, all amount to contempt.

Take the time to set up your work space correctly by keeping the webcam-visible area behind you friendly to anyone watching you on video.

Learn how to use your webcam or microphone or headphones correctly. If you have to share your computer screen, make sure you have turned off notifications. Even better, try to keep to one virtual desktop away from email, web browsers and social media.

Do you use a Mac? Did you know that there’s a way for you to set up your microphone to send clear and crisp audio through Skype or other tools? It’s called Loopback.

All that money you’re saving on gas? Buy a decent condenser microphone, over-ear headphones, and a high-definition webcam. Don’t rely on your laptop’s built-in speakers. You know what microphone feedback sounds like, and wearing headphones is a great way to avoid it.

Don’t pick your nose. Don’t get too close to the camera. Someone might have you on a giant television screen with lots of people in the room. Because you’re not physically in the room, perception is everything. Even I make some of these mistakes, which means I’m also guilty of behaving in an unprofessional manner.

This post is not only to let you know how to behave, but to remind me how I should behave. We’re in this together.

Filmmaking as a Metaphor for the DBA

This post was originally published on my SQL Server blog.

I worked on four films in 2015, three shorts and one feature-length movie, all shot in Calgary where I live. That has resulted in seven IMDb credits for me, someone who earns a living as a DBA.

If nothing else, that experience has scratched an itch I’ve had since I was old enough to wonder what it would be like to act in a movie.

But acting isn’t filmmaking. It’s a very small part of the big picture, along with directing, producing, set building, makeup, lights, cameras, craft services, animal trainers, and so on.

DBAs also do a lot of work behind the scenes to make sure everything works the way it should. The sign of a good DBA is a system that works as expected. The sign of an excellent DBA is recovering from failure, affecting anyone else as little as possible.

Like being an excellent DBA, making films is hard work. Purely from an acting perspective, there are lots of lines to learn, repeating them over and over again, and then having to wait for someone to reset the camera, move some lights or the boom mic, and then do it all over again.

Exactly the same way.

Acting is the antithesis of automation. For example, it can take nine hours to film five pages of a script. Each page in a screenplay equates roughly to one minute of screen time. When I directed our last short, we shot eighteen pages in seven hours. That’s almost unheard of.

In information technology, we are encouraged to automate any repetitive task.

In front of the camera, we can’t automate our lines. Continuity is critical, so that the cup you’re holding at 8:15am during the master shot, is in the same hand at the same line, with the same level of liquid, as the close-up shot at 11pm.

I have also done a little bit of voice acting. Have you seen the film Singin’ in the Rain, starring Gene Kelly and Debbie Reynolds? She plays a voice-over actor who must redo all the voice parts for Jean Hagen’s character, in a process called ADR (automated dialogue replacement) or Looping.

There’s nothing automated about it. You see the scene and the current audio, and get a metronome counting you in for two or three beats, then you record your dialogue, trying to match against the picture. It’s expensive and time-consuming, and never quite matches.

Sometimes you have to do it in voice acting too. Except, excluding some very minor exceptions, there’s no picture to watch yet. You are in a booth, with headphones, a microphone, and pop filter in front of you. In my case, there’s also an HD web cam in there so that the outside world can see in. In other studios, the booth may be soundproof glass and have the recording equipment and director in view. It’s a very lonely space.

Either way, if I have to do ADR for a movie like Debbie Reynolds did, she’d have a picture to lip sync with. In voice acting, if you have to do ADR, there’s no picture. You hear the original track, you get counted in, and then you do your line while the old one is playing in your headphones.

Try recording yourself, playing it back, and then saying the same line over again, exactly the same way.

Being a DBA has a lot of similarities:

  1. Repetitive tasks
  2. Attention to detail
  3. Troubleshooting with no visual guides
  4. Trying to do something complicated while someone is talking in your ear
  5. Someone is always judging you
  6. You have to go with your instincts sometimes.

Someone asked me recently whether I would choose between being a SQL Server professional, or a filmmaker. I answered that I couldn’t choose. They complement each other and keep me sane.

Thanks for reading. If you’d like to comment on Twitter, find me under @bornsql or @rabryst.