A Weblog of Programming, Philosophy and Random Thoughts.

Giving a Talk at Xconf

TLDR: I presented the talk about my experiences doing infrastructure automation on a project usnig chef. Presenting it was fun and very encouraging :)

before :all { What is Xconf ? }

Xconf is the ThoughtWorks India internal conference, in which we (thoughtworkers) present our experiences from different projects or life or anything that we feel is worth presenting.

Not TLDR version

One fine day, we get a mail for call for speakers from the xconf volunteers. I am thinking, probably I should submit a proposal, but not able to think. After a couple of days Anay Nayak comes up with a title for the talk “Cowboy Coder’s Guide to Infrastructure Nightmares”. I asked him if I could join and he agreed.

So then there was voting from all the India TWers (ThoughtWorkers) and our talk was selected. It was still about 3 weeks to D-Day and so we were relaxed. But soon in no time it was 3 days. Then we thought it was time to put on our cowboy (thinking) hats and came up with this presentation made in a totally hacked up version of reveal-md which is a wrapper over over reveal.js in which you can make presentations in markdown.

The D-Day

Our talk is scheduled at 12:15 pm and the slides were there but not in a order that made sense. We were not even sure that who’ll explain what slide it is. So we went ahead and re ordered slides while the talks were going on. We were done by 10:30 am.

I was happy we are done and the slides looked decent. But as the time was approaching, I started getting more and more nervous, friends started coming to me and asking “Ho gayi tayyari ?” (Hindi for: All set ?). My reply to everyone was “Fat rahi bhai !” (Hindi for: I’m scared). They were all very supportive so I could atleast remain sane till the time came.

And as the folks before us were done talking and Mohit gave us a superb intro and handed over the mic to me. I was shit scared, I said hello in the mic, but couldn’t here the sound coming from the speakers, so I tapped the mic and it worked. Probably its the way I was holding the mic. But then I got the idea of it while speaking. I introduced myself and Anay again (In my head: Mohit did that already ! Stupid Mankar !).

I was very tensed because wherever I look everybody is just looking at me very attentively and the talk is in the open space of the TW Pune office, which is a huge hall with high ceiling. It just gives a very grand feeling and thus made me feel like my talk should also be that grand (I think this is the stupidest reason that I ever gave !).

First Slide: #Sarcasm. Anay gave a disclaimer to people that there is a lot of sarcasm involved here, so be careful what you take away from the talk.

First topic was Traceablity, I was blank but somehow started blabbering something and quickly moved to the next slide read what it said and recalled everything that I was supposed to say (Thank God for that !). Midway through the topic and my leg starts shivering, I can also feel my throat going dry and my voice is on the verge to break. Praveena shouts from the crowd to ask me to be a little louder. So I reassemble my voice and start talking a little louder. While talking about importance of giving a version number while installing a package, I remembered the sarcasm bit, so I said, “You always have option of doing this, but you should not do this because its not cowboy and thus not cool”. I could see people smiling and laughing, that gave me a lot of confidence (In my head: Superb dude, you are killing it ).

Then with slightly better confidence I moved to the next topic “Use Ruby. DSL is for the uncool !”. By this time my leg had stopped shivering, great right ! As I showed people how you can do trivial things using ruby’s if condition. The crowd seemed clueless as what is so cowboyish in that. To add I had a slide saying Cowboys #FTW. Then I quickly showed them when this would break, but a cowboy reruns the chef-client and it works. And then came our homemade Cowboy Mantra - “Keep Calm and Retrigger”. That was a moment when everybody just burst into laughter, I was worried whether people will like it or not. Such a relief ! Moving forward I explained what is compile time and convergence time and how to do the same thing in chef DSL.

Then came an unplanned moment, the handover to Anay for the next slide, But I managed something and Anay just took away from there. He talked flawlessly about the Isolation testing, Role specific cookbooks and The NoDocumentation Movement. Again it was time for me to take over.

The next slide was about extracting LWRPs instead of copy pasting the code everywhere. We took an example of adding yum repos. When it came to switching a repo, I could manage to confuse people and saying “Easy right !”. And they smiled again, everytime they smiled, I was a little more confident than I already was :).

The next slide was about Refactoring a cookbook and its gotchas. The title was “Refactoring. That was cool in the 90s”. It covered how you could miss notifying a service while extracting confs into smaller confs. And you won’t know about it until somebody tries to change the conf in one of those config files, pulls out his hair, finds the problem, git blames and beats you up ! I also covered how adding more and more variables in a template file could make it very confusing for somebody else reading it.

The next topic was about how community cookbooks are favourites of cowboys and how patching them makes it almost impossible to update it and keep it in sync with the upstream cookbook.

Next Anay covered Ignorance towards chef-client run times, promoting cookbooks, testing cookbooks and some tools that are available to help you do it.

Finally we ended our presentation with a kickass pic of Sheriff Lonestar. There were a couple of questions which Anay handled and we were done ! I could feel why an applause is required after a talk. Next time whenever I’m in audience I promise myself to applaud with all my heart, because it helps !

after :all

I owe a big thanks to the Anay, Xconf team (which I was part of !) and all the people who attended the talk.

Thanks a lot guys :)