It has been three years since I first heard of SQL Cruise from Grant Fritchey (b | t). At the time, I was working for a large tax preparation company. They would not allow me to attend any conference during tax season, understandably. Also, I was unaware of the Alaska SQL Cruise which occurs in August so I wrote SQL Cruise off as something that would not happen as long as I worked there. As it turns out, that was true.
I now work for the largest Quick Service Restaurant franchise in the world and their operational cycle is much different than the tax company’s. I was lucky enough that they agreed to fund my trip this year on the Western Caribbean edition of SQL Cruise.
I was in the U.S. Navy for six years. So, I have been on a ship for longer than most cruise goers’ lifetime sea experiences. Also, this is not my first pleasure cruise. In 2009, I had a wonderful time on a cruise for my honeymoon. Being familiar with large ships and the sea, and being familiar with SQL Saturdays, User Groups, and PASS Summit, I feel like this cruise is going to be an easy and pleasant change. Keep reading to find out if I am right. I wrote each section of this post at the end of each day of the cruise so that my assumptions and expectations won’t be tarnished by hind-sight.
Day 0 – Flight to Miami
I flew into Miami the day before the cruise embarks. I am proud of myself for selecting my flight very well. I do a bunch of speaking and travelling but most of it is within driving distance. I am still an amateur with planning flights. I chose Delta, which I am liking more and more, and paid the extra cash for the Comfort+ seat. I also selected the seat right behind the first first-class row. The leg room in this row was unbelievable.
The only problem with the row is that the TV flipped up from under the seat. This did not bother me at all but it did mean that I had to lower it almost 20 minutes before we landed which took 20 minutes of TED talks away from me.
The flight was also a non-stop flight out of JFK rather than the one-stop flight options from closer airports. I feel like the extra drive time was well worth it. I grabbed a shuttle from the airport and got to my hotel around 7:30 pm. I grabbed a bite at the hotel restaurant and settled in, anticipating tomorrow.
Day 1 – Embarking / Welcome
My morning was pretty uneventful. I ate breakfast in the hotel and waited around in my room reading until 10:00 am. It was still kind of early to leave for the port but I figured I could be bored at the hotel or head to the ship. So, off I went. I took an Uber and there was no traffic. I love Uber because it makes payment extremely simple and stress free since not all cabs take credit card, even though most do, and I find getting change / giving a tip very awkward most of the time.
Once I got to the port, finding the terminal was easy. Security was amusing. It was less strict than TSA but took much longer. I am not sure how they pulled that off. The process for checking in was slow as well but I had plenty of time and got the chance to watch the line pile up behind me. This made me very thankful that I came early. I would rather wait while sitting in a comfortable chair with a beverage in my hand on the ship than stand in line forever.
Once on the ship, I was extremely lost. This is likely due to my own lack of preparation. I did not know when to meet the SQL Cruisers or where. Not long after I got an email from Tim Ford (b | t) reminding us where to go and when. I became more relaxed and just hung out until more cruisers embarked. I had a great lunch with Kevin Kline (b | t) and Mala Mahadevan (b | t) where we ran into our friend neighborhood Microsoftie, Kiley Pollio, by pure chance. Imagine that! She booked this cruise as a vacation without knowing that it was the SQL Cruise.
After some ship-board training and muster we gathered at one of the bars which SQL Cruise sectioned off just for us. A bit of networking and off to the scavenger hunt.
My team was the best! All but one of our photos were disqualified because we did not read the instructions but it was a blast anyways and a great opportunity to make a deeper connection than I would have gotten just chatting.
Katie, Erikson, and I
All-in-all it was a good first day but there is one problem. I am in my room writing this post at 9:30 pm. Communication is a real pain-in-the-ass on the boat. Unlike PASS Summit, most people who are here, are not here for the SQL Cruise. Also, there are no name badges required so picking people out of a crowd is extremely difficult. Combine that with no access to our usual means of communication, such as Twitter, and you find Derik wandering around the ship for two hours just to not find anyone to network with. That is why I am in my room right now. I am determined to solve this problem tomorrow when I see my fellow cruisers bright and early for our first day of training.
Day 2 – At sea / At training
I woke up early this morning, a little too early because the omelet bar was not open yet. This worked out, though, because I remembered that there was a formal dinner this evening and my clothes were more wrinkles than cloth. The cruise staff was very accommodating at agreeing to get my cloths pressed in time for the dinner this evening, even though it was a tighter SLA than they publicly advertise. We will see around 4:30 pm if they meet the goal or I will end up going to dinner in jeans and a T-shirt.
Classes started at 8:00 am with Buck Woody (b | t) speaking on data science. This was my first, “Buck experience.” I was blown away. As you could expect, the content was great and I learned a ton. What really impressed me, however, was his presentation skills. They were incredible! I feel lucky that Buck is also giving a course on communication tomorrow. This is a real perk of the SQL Cruise over something like PASS Summit. SQL Cruise is smaller, so there is only one set of classes. Initially this seems limiting because you end up attending a course which might not be perfectly aligned with your desires. This has turned out to be a real positive, though. I always feel guilty for attending professional development tracks at conferences. At SQL Cruise, there is no other class going on when Buck is teaching his communication course so I can attend guilt free. Also, it is at the end of the day when there would not have been another technical course scheduled anyways.
Following Buck was Grant Fritchey covering how row counts are determined by the optimizer. Similar to Buck, Grant is a very engaging speaker and I always learn a lot from him. That might sound like a weak endorsement after my longer paragraph on Buck. Please do not take it that way. Grant is awesome, I have just seen him speak several times. In fact, he is coming to the FairfieldPASS user group this Thursday, 2/9/17, to speak about his top T-SQL tips!
After Grant’s session, we broke for lunch and Jason Hall (b | t) and I had the privilege of making Kevin Kline late for his own 500-level session on trace flags and the optimizer. You read that right, a 500-level session. I definitely did not catch everything. I took notes but I will need to review his code a number of times before I have it all down. He even taught me new information that I am going to add into my Query Tuning without Production Data session. Proof that you can always learn more, even in the areas that you specialize in.
That wrapped up the training for the day. It may not sound like much but these were easily two hour long sessions and Kevin ran over his time by almost 40 minutes. After dispersing we headed off to office hours. Well, everyone else did. I had to check on my clothes for the evening.
You guessed it! At 4:40 pm my clothes still were not in my room and we had the formal dinner scheduled for 5:30 pm. I spoke to guest services and with their assurances that my clothes would be in my room by 5, I caught the last 10 minutes of the office hours before coming back to change and go to the dinner.
Food was delicious and I had an opportunity to connect deeper with the cruises sitting adjacent to me. We also celebrated Buck’s mother’s birthday. She refused to disclose her age but, as she sipped her beverage, she hinted to us that it was somewhere above 21.
After dinner, the group photo was cancelled. It sounded like a new rule from the cruise line prohibited us from all gathering on their fancy stairs. We dispersed and gathered again for the 10:00 pm show, Burn the Floor. It was an incredible event. Great music and extremely skilled dancing ended with a standing ovation.
It is 12:30 am now and I have plans to eat breakfast at 7:00 am with the group before we start classes back up at 8:00 am. With that, goodnight, and see you in about… 2 lines of text or so.
Day 3 – Training / Honduras / Training
Today was another great day on the SQL Cruise, as I expect they all will be. We started the morning with a group breakfast. To be frank, the food was meh but the company was wonderful. After that we went to class. Today is a port visit day but SQL Cruise crams every minute they can with training. Personally, I am very happy with that. I could sleep in until 10:00 am before leaving the boat or spend two hours with Ben Miller (b | t) talking about SQL Server encryption. I will pick the encryption talk any day of the week.
Encryption is an area of SQL Server that I have used a bunch and know a lot about. This made the session more fun because I did not have to try to understand what he was explaining as much as I was looking for new nuggets of useful information. Ben delivered plenty McNuggets and I ate them up. Actually, he did cover one area of encryption that I have not played with much which is the new Always Encrypted feature in SQL Server 2016. I really like the feature and his demos challenged some of my assumptions about the burden to the developer when implementing it. I look forward to presenting the feature to our security team because they are already looking into app tier encryption for certain things and Always Encrypted might be the easy button for them.
After that I abandoned my zip-line excursion. I made a mistake when planning this trip. I combined conference preparation with my understanding of cruise preparation. The problem with that is that those two events have very different goals. As much fun as zip-lining would be, I came here to learn and to make deep connections with my #sqlfamily. I was not going to accomplish either of those swinging through trees, let along doing it alone.
Four of us ended up grabbing a cab and crashing the Mayan Princess Resort. We paid a fee to use their beach, eat, and drink. The weather has been raining all week, which was less than desirable, but we still had a good time.
The cab driver kept us well entertained with facts about the island and brought us to the highest point for a photo opportunity.
We came back to the ship 30 minutes early so we could make it to Buck Woody’s class on communication and presentation skills. This class was opened up to all of the non-technical cruisers as well and was amazing. Buck truly is a great story teller and that is what we are doing, even when explaining how to modify buffer counts on your backups. Needless to say, I have a lot of notes from this session and have already began brainstorming how to improve the session I am going to give in Boston next week.
It is still early but I am going to wrap this up for tonight. I am going to head back out and not come back to my room until it is time to collapse on the pillow.
Day 4 – Belize / Time Traveling
We were scheduled to pull into Belize today. That did not occur. Funny enough, it was our first day with good weather all week. They said that there was an obstruction in the entrance of the bay and the ship could not enter.
From listening to ship gossip, meaning that I did not validate any of this information, I learned that the island that we were due to pull into was bought by Norwegian Cruise Line (NCL) in November of 2016. They did this because of complications with the country from a legal or tax point of view. Now, the locals are upset because a bunch of people lost their jobs and all of the money spent on the island remains with NCL. The local economy no longer benefits from this tourist traffic. The speculation on the ship was that either the obstruction was protesters in boats or that protesters sank something in the entrance to hurt NCL.
This cause the SQL Cruise organizers to scramble. Apparently, they had not missed a port visit in eleven years and were not ready with a plan B. Despite a lack of plan, they dodged / dipped / dived / ducked / dodged pretty well.
We ended up with two vendor sessions and a group lunch. Over all it was pretty good. I would have preferred some real training instead of vendor sessions but I understand their reasons. They did not want to move any sessions to today and risk the chance that someone would miss it and then be disappointed that it was not occurring at the regularly scheduled date/time. I considered offering to do one of my sessions but I hesitated and no one else was offering more sessions except for the sponsors. On the bright side, I use SentryOne tools and learned a couple of new ways to use them more effectively.
As the day continued, we landed back into the regularly scheduled session which was Ben Miller’s on temporal tables. This turned out to be an amazing session. He had two hours and spent more than an hour of that time just answering questions. These are always the most valuable sessions because the audience gets targeted information which is directly applicable to them. Good advice for any presenter is to accept the fact that, “what you want to say means nothing compared to what the audience wants to learn.” Ben is obviously extremely knowledgeable and pivoted his session with ease to cover the areas that we were most interested in. Another great aspect of this session was that I left with action items for one of the development teams at my company. Before the cruise, I had them looking into change data capture and now I need to amend that recommendation because temporal tables seem like a much better fit for them.
I then went to dinner with a few of the cruisers at a very nice Brazilian steak house. This is one of those places where you get a green/red token and while you have the green side up the meat just keeps coming. Enough said on that, I am carnivorous through and through.
Day 5 – Costa Maya / Tech panels
Today we got a late start. All of the alcohol, late nights, and dehydration has been catching up with everyone. We gathered around 9:30 am for breakfast and then set out to find something to do in Costa Maya, Mexico. It did not take long to find a nice beach, pay for unlimited drinks, and grab some snorkeling gear. Kevin Kline and I spent a couple of hours exploring the extremely shallow beach and having fun with the fish and star fish. Turns out, fish love to eat star fish and flipping a rock over is a death sentence for the star fish. I was not expecting to see a scene from hunger games play out less than a foot from my face. Despite the tragic end to a couple of star fish, there as an unforeseen benefit. The school of fish followed us around, apparently hoping for us to turn over more rocks. This made the snorkeling awesome and eventful.
After heading back to the beach for some drinks and discussion, I found all of the areas on my body where I did not properly apply sunscreen. As I type this section of my post, I am burning up. I just hope that it turns into a tan quickly.
Back on the ship, there was a panel scheduled with all of the speakers which was followed by office hours. This basically equated to a few hours straight of questions and answers related to our specific problems. Let us take a look at the bench, in no particular order.
- Buck Woody
- Kiley Pollio
- Grant Fritchey
- Kevin Kline
- Jason Hall
- Tim Ford
- Ben Miller
- Jason Brimhall
If you do not know any of those names, they are first string all the way.
This was really valuable. During the panel time, I was able to explain some large problems that I am facing and got a lot of great insight. As we casually transitioned over to office hours, the panel broke up and began having more one-on-one discussions with everyone. This was great because everyone had already expressed their problem areas so the experts which were best suited to elaborate on those areas would attend to the correct group of people. In my case, Jason Brimhall extended our conversation quite a bit and Jason Hall weighed in later this evening at the Illusionarium.
A quick nap and then I was off to the Illusionarium. This was a dinner and magic show with four different magicians. Overall, it was OK. There were a few of tricks that I was truly impressed with but also a number of tricks easier to work out.
Once again, it is time for bed. I am on the fence right now about tomorrow. I have paid for an excursion to see the Mayan ruins and there for a few cruisers going to that. I heard some lukewarm remarks about it from experienced cruisers, though. On the other hand, there is a different group who plan to go out in Cozumel and rent a Jeep to explore the island themselves without a tour. So far, these unstructured trips have worked out well. I will have to decide before I wake, ship pulls in at 8:00 am.
Day 6 – Cozumel, Mexico
I chose to head out on the Jeep instead of go to my excursion. This was a really good idea. We explored the entire island and chose a great beach to hang out on. I was too sunburnt and too tired for swimming, though. The scenery was enjoyable and Ivan Rodriguez (t) has been to Cozumel a number of times. So, he was able to guide us to a good place to have lunch. Before settling in, though, we stopped by one of the smaller Mayan ruins in the area and took a tequila tour. Basically we sampled different types of tequila and learned about its history. I have to say, Mexican tequila is far superior to larger commercial brands, even Patron.
Day 7 – At sea / At training
This morning started off with office hours before diving into classes. I really enjoyed this. The classes start pretty early and I like that but it was nice to have a smooth ramp up into technical learning. We talked shop and let the recently ingested caffeine seep into our blood stream. By the time, Grant stood up to talk about Azure SQL Data Warehouse, we were fully engaged and ready.
I must admit that I was a bit disappointed by the topic of the session. There was a typo on the schedule which led me to believe that the session was on Azure SQL Database. I would have preferred to hear about Azure SQL Database but learning about Azure SQL Data Warehouse was still valuable and, of course, Grant did a great job covering the topic. It was nice to hear about Red Gate’s actual experiences with using Azure SQL Data Warehouse. Sometimes I pick sessions I will attend at larger conferences based on their jobs. For example, a lead DBA will have a different perspective on a feature than an architect, and a vendor or evangelist will also differ in their point of view. It was nice to learn information which could only come from someone who screwed it up the first few attempts at getting it to work.
Next up was Jason Hall with SQL Server on Linux. This session interested me because I have not played with SQL Server on Linux yet and I know that one day I will be managing SQL Server on Linux for at least some of the servers in my environments. Microsoft is making this move because over 45% of the server market uses Linux and a portion of that market struggles with the limitations of some of the open source database management systems. SQL Server will never become the dominant DBMS on Linux but it is a win-win for Microsoft.
Continuing the day, Buck Woody gave another session, this one on Microsoft R for the Architect. This was amazing. I did not expect to care much about R. I saw it as a feature that I would need to be aware of and make sure I could enable it for others to use but not something that I cared to pursue. Then Buck pointed out that this session was not about using R. It was about the environment, configuration, security, package management, and resource management of using SQL Server R Services and Microsoft R Server. It was perfect! It hit all of the areas that I very much do need to be concerned about and he really opened my eyes to the software layers which were required for Microsoft to integrate with this open source software. We also touched on licensing a little bit which ended up turning into some homework for me to work on when I get home.
I feel bad about the last session of the day. It was an Availability Groups talk with Ben Miller. I left after about 10 minutes. It was not because of Ben, though. I saw from the agenda that he was going to cover a lot of areas that I am already very knowledgeable in and a week’s worth of walking, swimming, sun exposure, and drinking was catching up to me. So, I left and took a nap before the closing mixer.
At the mixer, we all got into our SQL Cruise T-shirt and took a group photo. It was also a great opportunity to say goodbyes to everyone as many people would disperse for the night and not see each other again for a while.
The last hurrah was at a Japanese Hibachi restaurant late this evening. Ten of us stuffed our faces with a large quantity of rice, filet mijon, and shrimp. We all were groaning with stretched stomachs by the end of the night.
Day 8 – Disembarking
My flight is not until after noon today but I did not want to figure out the baggage tagging system that the cruise had. So, I opted to leave early in the morning with the group of people who carry their own luggage. This worked out really well. I was up at 5am after not being able to sleep for most of the night. I was not feeling very well and skipped breakfast. By the time, I was down by the gangway I was an hour early for the first group to leave. Thankfully Buck and his family were right in front of me so I had someone to chat with until the flood gates opened.
I was expecting customs to take a little bit of time, especially since I had bought alcohol from Mexico and did declare it on my customs form. Turns out, I was very wrong. Once allowed to leave the ship, I nearly just walked off unobstructed. I barely had to stop walking at the various check points. The customs office took my form and did not even read it. She glanced at my passport and waved me on.
I have three and a half hours until my flight boards and I am comfortably monopolizing a set of power outlets at Miami International Airport. It is time to wrap up this post, though. Skipping breakfast has caught up to me and I need to see what fare is available in this terminal.
I hope you enjoyed hearing about my experiences this week and, more importantly, I hope that this post convinces you to attend the next SQL Cruise and to come with accurate expectations.