Author: nigelb

  • Pycon Pune 2017

    I haven’t attended a Pycon since 2013. Now that I started writing this post, I’ve realized it’s been nearly 4 years since and Python is the language I use the most. The last Pycon was a great place to meet people and make friends. Among others, I recall clearly that I met Sankarshan, my current manager, for the first time there. Pycon Pune is also the first time I’m speaking at a single track event. There’s something scary about so many people paying attention to you and making sure they’re not bored.

    The venue for the event was gorgeous (as evidenced by the group picture that nearly looks photoshopped!) and the event was well organized, I have to say. My only critical feedback is a space outside of the main conference area for a hallway track. The auditorium had air conditioning and everyone went in thanks to it. If we had a little bit of space with power and air conditioning that you could use if you wanted to have a conversation, that would be highly beneficial. I like attending large events, but sometimes, the introvert in me takes over and I want to spend more time either alone or with less interaction. Linuxcon EU was great about this, going so far as to have a quiet space, which I found useful.

    I had trepeditions about my talk. It wasn’t exactly about solving a problem with Python. It was about problems I’ve faced throughout my career and how I’ve seen other projects solve them. Occasionally, those problems or solutions were related to Python, sometimes they were related to my work on Gluster, and often to Mozilla. I’m glad it was well recived and I had a lot of conversations with people after the talk about the pains they face at their own organization. I’ll be the first to admit that I don’t practice what I preach. We’re still working on getter our release management to a better place.

    Some of the memorable sessions include – Hanza’s keynote about his open source life, Katie’s talk about accessibility, Dr. Terri’s talk about security, Noufal’s talk about CFFI. All videos should be online on the Pycon Pune channel, including mine.

  • Gerrit OS Upgrade

    When I started working on Gluster, Gerrit was a large piece of technical debt. We were running quite an old version on CentOS 5. Both of these items needed fixing. The Gerrit upgrade happened in June causing me a good amount of stress for a whole week as I dealt with the fall out. The OS upgrade for Gerrit happened last weekend after a marathon working day that ended at 3 am. We ran into several hacks in the old setup and we worked on getting them working in a more acceptable manner. That took quite a bit of our time and energy. At the end of it, I’m happy to say, Gerrit now runs on a machine with CentOS 7. Now of course, it’s time to upgrade Gerrit again and start the whole cycle all over again.

    There's light at the end of the tunnel, hopefully, it's not a train

    Michael and I managed to coordinate well across timezones. We had a document going where we listed out the tasks to do. As we discovered more items, they went on the todo list. This document also listed all the hacks we discovered. We fixed some of them but did not move the fix over to Ansible. We left some hacks in because fixing it will take some more time.

    Things we learned the hard way:

    • Running the git protocol with xinetd was a trial and error process to configure. It took me hours to get it right. Here’s the right config file:
    service git {         disable         = no         socket_type     = stream         wait            = no         user            = nobody         server          = /usr/libexec/git-core/git-daemon         server_args     = --export-all --reuseaddr --base-path=/path/to/git/folder --inetd --verbose --base-path-relaxed         log_on_failure  += USERID } 
    • There was some selinux magic we needed for cgit. The documentation had some notes on how to get it right, but that didn’t work for us. Here’s what what needed:
    semanage fcontext -a -t git_user_content_t "/path/to/git/folder(/.*)?" 
    • When you setup replication to Github for the first time, you need to add the Github host keys to known_hosts. The easiest way is to try to ssh into github. That will fail with a friendly error message and prompt you to add your keys. You could also get it from Github.
    • Gerrit needs AllowEncodedSlashes On and ProxyPass http://127.0.0.1:8081 nocanon. Without these two bits of configuration, Gerrit returns random 404s.

    We’ve removed two big items out of our tech debt backlog and into successes over the past year or so. Next step is a tie between a Jenkins upgrade and a Gerrit upgrade 🙂

    Image credit: Captain Tenneal Steam Train (license)

  • Standard Chartered Mumbai Marathon 2017

    I’ve been looking forward to running Standard Chartered Mumbai Marathon since May 2015. I took some time in 2015 to train and qualify. I ran 2 marathons before this one and finished both of them in 5h 47 mins. I moved to Mumbai last year, so I trained along the route for the most part as well. SCMM 2017 is the first time I had to DNF a race.

    I planned to train well, but sometimes all the planning in the world won’t help. I had a family emergency in the end of November. I had to be in Kerala until the first week of Jan with my parents. So I went into SCMM with 6 weeks of no training.

    I planned to finish in 5h 45min. It would mean running at a steady 8:11 min/km pace. Managing my pace has never been my forte and I did particularly bad for SCMM. At the 11 km mark, I was ahead of my planned pace by almost 5 mins. This difference was quite steady and consumed my energy. I was on the verge of learning to control my pace after Bengaluru Marathon. The break from training completely ruined it.

    I did get to take pictures on the Sea Link!

    At about the 29 km mark, I cramped up. Both my legs had muscles which were pulsing if I tried to run. I could barely walk. I hobbled about 2 km to take help from the physio at the medical tent. They massaged the pain out of my legs. I could walk again, but running was still too painful. It didn’t help that I was feeling a little dizzy. Not enough that I feared a black out, but I knew I was a bit of the edge.

    The sweep bus was coming along on the other side of the road at this point. I decided that if I was far away from Peddar road when it passed by me, I’d get in the bus. Otherwise, I’d walk the course and make it to the finish line. The bus approached me as I merged onto Dr. Annie Besant Marg and I decided it was best to cut my losses and get on it.

    I have no regrets in giving up. I’m glad I decided to give up when I hit my limits rather than push through and hurt myself. This has made me realize the importance of consistent training and a good base. Over this year, I aim to work up on base. I’ll be racing less and working on training well.

  • Year in Review 2016

    As the memes go, 2016 sucked. Personally, I’m not so sure. It’s been a fun and happening year. I moved yet again, this time to Mumbai. Now, I’ve lived in 2 of 4 metro cities. Two more to go!

    2016 Goals

    Running and Cycling: Not only did I not meet my fairly ambitious goals, I did even worse than last year. Travel, moving cities, family emergencies, and pure laziness played their part here.

    Learn C and JavaScript: Nope, no luck. I’ve barely had the time. I’m refining this goal as finishing “Learning C the Hard Way” book and its exercises.

    Cut down servers: I cut down most of the unwanted servers I was running. I have one more round of cutting down to do and I should just have 1 server.

    Studies: Finished one MOOC course finally. It’s called Learning how to Learn. It’s actually quite a brilliant course and I’d totally recommend it for everyone. I’ve had to unlearn my learning style quite a bit.

    Accounting: Slightly better than last year, but still terrible. Mostly thanks to my life keeping me busy in terms of travel and life events.

    Cooking: I’ve definitely become more confident at trying new things, but still not great at day-to-day cooking. I could do better.

    Android Development: Thanks to lots of changes in my time, I’ve had to cut down things I’m doing simultaneously, so this had to go. As a lesson from this year, I’m taking this off my goals for now.

    Mumbai Skyline by Carol Mitchell

    What did go well?

    • I got married!
    • I’ve stopped freelancing and I’ve started working at Red Hat on Gluster. It’s been the most amazing few months working with some great people.
    • Ran two marathons. Did not hit my timing goals on either attempts, but I’m not too disappointed considering how much my performance went down and how I’ve brought it back up. I traveled to Berlin in Oct and I’m totally jealous of everyone who lives there. The city is such a gorgeous place to run. I learned how to run when I’m traveling!
    • Spoke at a conference after a long time. After speaking at one of the HasGeek Conferences, this it the first time I spoke at any event.
    • Met old friends and made new ones. During the trip to Berlin, I met old ex-colleagues after a long time and I made new ones after our move to Mumbai and during the trip to Berlin.
    • I’ve read more non-fiction this year than in the past. I hope to continue this streak with recommendations from The Farnam Street Blog

    Image credit: Carol Mitchell Mumbai Skyline (license)

  • Writing and Clarity

    I’ve been writing at least 750 words every day for the last 10 days. It’s been a very interesting experience. What I write varies, sometimes I write first drafts for blog posts, sometimes I write plans for work, sometimes I write first drafts for long emails, and every day, I write a small note to myself on how I’m feeling. The last few weeks have been busy and turbulent due to a family emergency. My marathon training plan has been blown away as well. The writing habit has helped me take the stress off. When I’m writing down first drafts for plans, it helps me nail down parts of the plan that I hadn’t thought of. It forces me to build a narrative around what I’m trying to do.

    Fountain Pen and Ink bottle

    Since I started writing every day, I finished writing up a talk I’ve proposed for Pycon Pune. Even if my talk doesn’t get selected, I know I can write a good blog post about it and propose it for other conferences! Oh, and I’m at least publishing one blog post per week 🙂

    Image credi: iKobe! Winsor & Newton Ink (license)