I wanted to go to Hotsos Symposium for quite some time, having heard so many great topics from there for years. And every time I was a bit lazy to think about what I can talk about. Apparently I thought that everything I know is well covered elsewhere, so why would I be accepted. Plus all these complexities of budget, getting a visa, travel arrangements, jet lag, and personal matters in between. Last year, when call for papers was still open, I realized that there’s a good chance I can make it to Hotsos in 2016: I had a budget, visa is a doable thing, and most importantly I knew I had a topic to talk about which most likely will not be in competition with other speakers.
I’ve been working on a large Middleware project which lasts for more than 8 months. And with each and every week of it I was getting confirmations to my theory that many clients, independent of their size, are making silly mistakes in simple things and as a result they have huge issues just because of these small errors in basic stuff. Fixing simple things would give them a huge benefit in terms of applications performance and stability. So I thought this is it: I should talk about simple things done right, and what to expect when you mess them up. I was pretty confident I’ll have no issues explaining what I know in whatever time is available. I quickly submitted a very short abstract and waited till December 1st when I’ve found that I’m accepted. I was happy and worried at the same time: no way to go back and now I have to deliver what I promised, which means the work has to start immediately. I decided that in December I’ll deal with the budget & travel, and start US visa application; not to mention I’ll start adding topics for the presentation. From January I was thinking to spend 1h every day dedicated to presentation, plus whatever time is available over the weekend as well, especially when I’m oncall and have time to think.
After some flight search I’ve realized the most convenient way for me to get to Dallas would be via Frankfurt earlier on Saturday, which would give me some time to fight the jet lag. I also hoped to attend the Training day with Richard Foote, but unfortunately I had to be back in Moscow next Friday evening which forced me to get tickets back home on Thursday mid day and skip more than 50% of the training day. The visa application process for US seemed a bit tricky in the beginning, but in reality it was quite simple: just fill out an online form, pay the application fee and get to the consulate for a so-called interview. The form took me about 3 hours, and it required lots of information like all the countries you’ve visited in the last 5 years. Combined with terrible UI it was tricky. The most complicated part was to take my photo scanned & uploaded with good quality and small size at the same time. I managed to succeed after something like a dozen of attempts. The interview itself is more of a “bring me your passport” and explain what do you need to do in the US. It was easy although took about 2h waiting in the queues. I just showed printed emails with invitation to Hotsos and the conference schedule which had my name on it – and that’s it. Thinking about the process, it is streamlined and is easier than getting a visa to EU countries (those usually require tons of real papers and check them thoroughly), and an order of magnitude easier than getting a Canadian visa (which is also online for the most part but requires you to upload enormous amount of scanned documents and wait for visa processing for something like 2 months or even more). I got my passport ready and delivered in 2 days giving me a visa for 3 years – awesome speed! And one more step closer to Hotsos as well.
Presentation preparation went good and as planned. I realized that the topic I’ve chosen is too complex for a single presentation, and tried to get rid of some things. I hate “bullet point hell” slides so even though I started with bullet points, I was slowly making changes to remove them as much as possible. Sometimes I’ve added very simple visuals just to make sure it is easier to understand a point as I know how hard it is to digest text information without a picture. Sometimes I had to do some diagrams, and animations were required as well. Those were taking a lot of time initially but later it went better and better. So in the end I was OK with animations. Initially I didn’t plan for a Demo in the talk since I thought that it would take too much time both in preparation and presentation. In the end I decided that I need to show at least something, so that the audience could remember it. One of the things I picked up from a quick review of this book was: good presentation should be about 1 thing. Unfortunately it was too late to change the whole slide deck. But in the end it went this unexpected way…
My journey to Dallas started at 4AM on Saturday with a quick drive to the airport to take a relatively short 3h flight to Frankfurt. I remember last time I’ve been there it was very chaotic with huge lines for security check, so I was worried about 1h connection and really long way between the gates. It appears that at this time early in the morning the airport is empty, and the navigation inside has definitely been improved. My flight even though being delayed for 40 minutes, arrived almost on time. The connection was smooth. For the next leg I tried Lufthansa’s Premium Economy first time and was very pleased how good it is: lots of space everywhere, and a bit more service as well. I spent few hours watching end of the 2nd season of Fargo, worked on the presentation for a few hours and shortly after that my flight was over. It was perfect 10h on the plane, couldn’t be better! Great start.
Dallas welcomed with warm weather and no queues at the immigration: I’ve spent less than 5 minutes there. I heard a lot of stories of other people spending hours in line. So I was lucky again. After dark and cold Moscow it was unbelievable to see +22°C outside, so I decided to take a longer route to the hotel by train instead of a taxi. It is a good deal for its price ($5 per daily ticket), has lots of space above the head but for some reason very little space between the rows. Apart from that it is clear that public transport is used by “poor” people with no car 🙂 and in general is under used. On a week day it may be different though, I don’t know. It was a good experience.
The Omni hotel as everything in Texas is big: lobby, rooms, everything. Check in was a bit odd: apparently they hold additional $50 per night for security deposit which was unexpected. Anyway when I was up in the room I was tired, it felt like being drunk. I knew I need to stay up as long as I can, otherwise I’ll not be in a good shape for the conference. Somehow I managed to stay up till 11PM which is ~27 hours of uptime. It didn’t help much and I was up in a few hours at 4AM in the morning. I’ve spent some time working on the slides, had a breakfast and then went straight to 6th Floor Museum. I wish it had less people at this time. Since it is one of a must visit places in Dallas I guess it makes it so crowded, which is really unexpected as the city is empty on the streets. Anyway, the exposition was quite good if you can say that about a crime scene. Lots of US history is carefully gathered and presented in there, and it takes a few hours to get through. Even more with the people around. I thought about going to Dallas Museum of Art as well but I was so tired that decided to go back to the hotel. Sunday finished quickly.
Monday was the real start to Hotsos. As usual I was up early & spent time working on the slides. After a good breakfast and quick chat with people around the sessions have started, and the first was a keynote from Kellyn Pot’vin Gorman and Jeff Smith. In short they encourage people to use more Twitter, Blog regularly, keep your LinkedIn profile up-to-date and use the same style (picture, tag line, etc) in all your profiles to make your online presence consistent – all these things will give you more options next time you want to change your job.
Then I went to Carlos Sierra‘s session. I’ve used his edb360 a few times and just wanted to see if there’s anything that I didn’t know about it. Apparently nothing much. This is a really nice tool and it does what is advertised: extracts tons of relevant performance information from a database & visualises it in 1 click – for free.
After a short break I decided to go back to Hall A to hear the news about EM 13c. I don’t know EM good enough to say anything about the content except that EM is completely changed (again), and there were some technical issues with the projector. Also my impression was that EM development is quite hectic, disorganized and unreliable. The product is free which is great, and it’s very unstable which isn’t so good.
After a lunch I didn’t know which session to choose as both were interesting enough to attend. I decided to see Jim Czuprynski. It was the first time I heard him speak. His speed and clear diction at the same time are unbelievable, I’ve never heard anything like this. I don’t remember specifics though, and need to see the slides again – if I ever happen to use RAT, which is quite unlikely. One thing that crossed my mind during the session was this tweet – not sure if this is still the case for RAT or not.
After Jim everything will appear slow and Vlado Barun was not an exception. He showed different approaches to SQL optimizations. I didn’t get many things during the session due to lots of small font code. The room was apparently quite long and my eyes definitely require glasses :-\ Checking the slides now I understand a bit more what was in the room. The audience liked this talk as it had lots of interaction with attendees. For some reason the obvious route of rewriting SQL to get the required data in a single pass was not considered (“can’t change the application” I guess was one of the restrictions that contradicts the slide with recommendation to fix the application) – and I would try it first for sure, as properly written SQL is much easier to optimize or it is not required at all.
Later on I went to Friedrich Pfeiffer speaking about SQL Patches. It was a nice detailed review of the feature with examples and some code wrapper around DBMS_SQLDIAG. One thing which I forgot to ask Friedrich was why is he using OPEN/FETCH/CLOSE cursor calls in PL/SQL – the code looks so ancient this way, and requires more typing.
Kerry Osborne closed the 1st day with his Controlling Execution Plans Workshop which was a short live version of the many things he wrote in his blog. If you haven’t read it before, you should definitely spend time reading his posts and trying out his scripts.
That was it for sessions of Day 1. It finished quickly I must say, since there were no boring sessions and I had a few interesting conversations during the day as well. Right after the Day 1 organizers invited Symposium speakers to appreciation event in President Suite; to have a drink, to relax and to talk. It was really nice.
The day finished with a Pythian gang dinner (me, Gleb Otochkin, Simon Pane, Jared Still) in The Keg. It was a pleasure to meet and talk face to face with Pythian folks; and steak was sooo good (and big of course).
— Timur Akhmadeev (@tmmdv) March 8, 2016
Next day started with Tanel Poder showing new 12c features of the SQL Monitor including still work in progress he’s been doing with Gluent. Good stuff. Unfortunately I’m not doing much with SQL Monitor lately so I have no idea when/if I’m going to see the improvements in real life cases.
After that Finn Jorgensen showed an approach to fixing execution plans with SQL Plan baselines based on some SQL execution statistics. Instead of bothering why execution plans are changing they try to identify SQL to “fix” their execution plan. It works in their case & application (22.214.171.124) which is good. Obviously there are cases when this approach will have limited value: generated SQL, statements that do not use lots of resources but change their plans in a bad way, etc.
In the next session Andy Weiss with Kirby Sand presented their specific case of SQL for which Oracle builds an inefficient execution plan by default (link to the online test case). Again I couldn’t see much on the screen as the font was too small. Apparently they have a join which uses BETWEEN condition with data in two table columns, which makes Oracle to guess selectivity estimates & make a mistake of few orders of magnitude. It causes Oracle to choose inefficient execution plan by default. Looking at the slides and code I see they make a common mistake with hinting: USE_NL(A B) means USE_NL(A) USE_NL(B) which technically is impossible for Oracle to obey in full (actually the documentation still contains wrong examples for hints so many years, spreading this nonsense). It was interesting to listen to them. I noticed that the presentations where people are discussing there own in-house issues were usually more interesting.
Next on the agenda was Mauro Pagano showing how to understand Cost Based Query Transformations based on the 10053 trace. Although I don’t spend a lot of time lately with CBO traces, I enjoyed this session a lot, and recommend it for people who want to understand the structure of 10053 trace.
It was the time for me to speak. Surprisingly I wasn’t nervous. When I started to prepare my laptop I heard the music playing in the background – and it was main theme of the Requiem for a Dream! That is when I started to worry 🙂 I only heard good classic rock or current pop music playing in between the sessions, and it was great. How come so dramatic tune got it into the playlist exactly when I started I don’t know. That was probably the time when my luck has ended as well. I tried to stay positive and started to speak. As I introduced myself I realized that my body doesn’t want me to stand up & suggested to have a nap. I felt that with every word my heart rate was going down and at some point my brain said “good night”. I tried to continue and move a little bit to stay up. It helped only a little, and I didn’t have a microphone with me. Also I started to get many questions right from the start – and I suggested that the questions can be asked at any time. I repeated all the questions before answering them (funny enough most speakers didn’t do that), and that was probably the best thing I’ve done. It slowed down things considerably and I was thinking what I can do to speed up. I couldn’t come up with a good plan and decided that I will need to stop early but make it look complete. So in the end I have only been able to cover memory management, and that was ~60% of the things I wanted to talk about. After it was over I felt horrible. I thought it was a big disaster, and the positive thing was only that the number of people in the room was small. It took me about 10 minutes to write down all the things that I did wrong, and after that I realized it’s over, I need to learn from it and move on. I decided I need to work more on this presentation and try to repeat it at some European conference, maybe BGOUG or some other venue (by the time I’ve finished writing this post, I’ve been accepted to BGOUG Spring conference). We’ll see. Surprisingly this & following days I haven’t heard anything really bad about my presentation apart from my personal opinion, and I got 3-4 people saying it was good and they liked it, and learned something from me – which was a huge relief. I understand that people usually don’t say bad things in the face and keep it private (judging by myself), so I don’t have the full picture how good/bad it was.
In the end of the day Richard Foote took the stage for Q&A on indexing. That was the best session of the conference, lots of good stuff in a fun Australian way 🙂
After some break there was a Dinner and celebration – just pure fun. I had lots of interesting discussions over a few glasses of wine. The fact that I’m from Russia has led to questions about the country, politics, and life and everything. It was good 🙂 I even met a DBA who has a NetCracker DB in their shop (I’ve worked at NetCracker for ~8 years) – this was a funny coincidence. 3-4 hours finished really fast and I went to sleep close to midnight.
The next day was the last day of the conference. I didn’t have anything to deliver so I was very relaxed and enjoyed it as much as I could. It was shorter than two days before and finished around 3PM. Tanel’s session on the Linux tools was the best of the day, and other sessions were interesting to attend as well.
On Thursday Richard Foote delivered his one day training on indexes. All attendees got a big printed book with all the slides. I could only attend first two sessions of the day. The content of all he is explaining follows the same style he uses in the blog, and for the most part it is a compiled version of his blog posts, which is awesome – anyone could get the same ideas online for free. Few hours with Richard on stage went so fast, and it was so unfortunate that I had to miss the rest of the day to catch the plane.
The airport was again pretty empty and I had no issues passing the security queue. On the way back I had usual Economy, which was not as convenient but still manageable. Also I had an interesting man sitting next to me. Usually I don’t talk much with people on an air plane, but this time somehow we started to talk and had a long chat for a few hours. This man was around 75, he lives close to Dallas. He was a pilot of C-130 long time ago in Europe and Vietnam, and then worked in The Pentagon. He retired around 52, and now he travels about twice a year to get the number of countries he’s visited to 100 (~80 right now). We talked about travel and some countries and life and everything. I wish I could travel transatlantic at 75 as well 🙂
The connection back to Moscow was simple, and the flight was on time as well. Hotsos 2016 has finished for me. Thanks a lot to the conference organizers who made it possible & invited me. I had so much fun there!
A few random thoughts based on my experience:
* don’t be shy and submit an abstract if you have anything to share and can attend the conference
* the more specific your experience is the better
* don’t think that you won’t be accepted – most likely you will be
* allocate twice as more time than you think is enough for preparation
* do not make too many slides; 40-50 tops
* make more visual slides
* try connecting your laptop to the projector & use microphone in advance
* have a short run before delivering presentation – 2-3km would awake you, make your brain work & speak fast
* organizers are always looking for new names, new people, new things
* DB 12c is going be the theme of next year but it’s not necessary to push it as the main topic of a presentation
* performance stability issues are still hot topic for many people; 12c will definitely add more headache & more opportunity to talk about that
* do not make your presentation too hardcore; most attendees are normal people doing pretty normal things at their job; they may rebuild indexes regularly
* do not stay in the Omni hotel as it’s over priced; I’m used to AirBnb and would choose something close next time there
* arriving to Houston and then going to Dallas on a rented car with a few other people could be easier, cheaper and more convenient
* don’t waste time before the conference & try to talk to as many people as possible
* don’t think that you’ll learn a lot of technical stuff if you are used to reading famous Oracle blogs and Twitter: most likely you heard everything many times
What I can recommend to the organizers:
* do not share presentations with attendees before the end of symposium; it really makes no sense to me to show the slides before the session
* try making conference 2+1 days, as it seems like 3+1 days is a bit too much
* conference hall should probably be smaller so that more people could see what is on the screen
* maybe try different more casual venue
* collect feedback for all sessions, and make it available to speakers at least
Would I go to Hotsos 2017? Most likely no: it costs too much to get there: ~$2200 as a speaker, and I can visit 2-3 conferences in Europe for the same budget. Would I go there in 2-3 years? Possible, and I’d try to combine it with a tourist trip over US. Before returning to Dallas again I’m going to attend some European conferences: in Croatia, Slovenia, Norway, Finland, Germany and of course UK to name a few that are on my wish list for the next few years.