Author: nigelb

  • In Tanzania Again

    It’s been 6 months since I finished the last training in Tanzania. In a way, it’s great to be back. It’s great to hear that people have attended your training and have applied that in practice. Before I flew in, my briefing said that they were ready to launch an open portal. Truly an exciting time to be assisting them with a final push.

    I flew on Qatar Airways this time. I’m not too fond of Qatar Airways since the last time I flew via Doha airport, I didn’t like the experience entirely. It felt very crowded and I suspect that it was indeed very crowded. I had better hope this time, I was flying into the new Hamad International Airport. I managed to get some sleep the previous night, so I wasn’t completely groggy when I arrived at the airport at 1 am.

    Chocolate Bar

    I tried something new this time, flying only with check-in luggage! Frequent fliers are probably rolling their eyes right now. I carry very little check-in luggage anyway and waiting for it didn’t make sense. The check-in process was quick and I was through immigration and security in no-time. The flight to Doha was a pleasant surprise. It was one the new Boeing 787 Dreamliner . I found them quite good, though, I’m not fond of luggage racks on these. You push the rack up to lock it. I feel like these are more susceptible to falling luggage that the ones were you pull the rack down. The entertainment system at my seat didn’t work. Or rather, the remote didn’t. That was a let down after getting a fairly new aircraft.

    In Delhi, I’d bought a copy of a new Robin Cook book called Cell. As always, it was an excellent read. I have mixed feelings about his writing. He tends to reveal too much too soon and then the reader tends to spend some time watching other people catching up with the plot. On the other hand, after that point, it’s entirely unpredictable and exciting! This one dealt with a smartphone app that would be your doctor.

    At Doha Airport, I had just enough time to run to my next gate. In my hurry, I misplaced my glasses at security. I arrived at the gate for my flight to Dar es Salaam just as it opened. With my rotten luck, the entertainment system on my second flight completely failed as well. I figured I might as well read the book, but then I finished the book too soon and there was still plenty of time left over. I found a seat next to a kid where I watched Avengers (Don’t judge me).

    There was a couple on a flight booked on a Precision Air flight to Kilimanjaro. It’s not their fault, but the airline canceled their original flight and scheduled them on a flight that took off about 20 minutes after we touched down. They tried to get the air hostess to give them the immigration forms before landing, but the airline didn’t have them on board. So, they were allowed to disembark with the business class passengers.

    They didn’t have a visa, so they had to stand in line for that. I had time to fill up the forms and finish immigration while they waited. They tried to talk to a lady from security, but I’m not sure how much good it did. I feel sorry for them while also being a bit angry. They were a bit pushy. It’s not like they were going there to save the world. They had a safari booked. I figured out the stress-free nature of travel without checked in bags as I finished immigration. It realized I didn’t have to wait, I just walked out.

    I introduced myself to the hotel folks who’d take me to my hotel and they managed to get me on a taxi that was just about to leave with another lady. She was from The Netherlands and working on horticulture. The taxi ride was about 40 minutes long thanks to terrible traffic, so we talked about our work and travel.

    View out my room

    I’m on the exact same floor as I stayed in last time. Just a room further down the corridor.

  • Weird IE8 error. Nginx to the rescue!

    As a server side developer, I don’t run into IE-specific errors very often. Last month, I ran into a very specific error, which is spectacular by itself. IE8 does not like downloads with cache control headers. The client has plenty of IE8 users and preferred we serve over HTTP for IE8 so that the site worked for sure.

    Nginx has a very handy module called ngx_http_browser_module to help! All that I needed to do was less than 10 lines of Nginx config.

    location / {     # every browser is to be considered modern     modern_browser unlisted;     # these particular browsers are ancient     ancient_browser "MSIE 6.0" "MSIE 7.0" "MSIE 8.0";     # redirect to HTTP if ancient     if ($ancient_browser) {         return 301 http://$server_name$request_uri;     }     # handle requests that are not redirected     proxy_pass http://127.0.0.1:8080;     proxy_set_header X-Forwarded-For $remote_addr;     proxy_set_header Host $host;     proxy_set_header X-Forwarded-Proto $scheme; } 
    It's Magic GIF

    Yet another day I’m surprised by Nginx 🙂

  • It’s been 2 years!

    I can’t believe it’s been 2 years since I started working for Open Knowledge. I vaguely remember my first day on Oct 2, 2012. The strongest memory of the day is that it was a public holiday in India and my first day at work. I’ve looked through the commit history to figure out what I did that day. It seems I was setting up PyBossa and I fixed a bug in it on my first day! The project looks gorgeous these days thanks to Daniel’s amazing work!

    Team Picture in January 2014

    In the last two years, I’ve written lots of code; traveled to UK, Kenya, Tanzania, and Germany; managed servers and documentation for the systems team; and finally moved into a new role where I’m Senior Systems Administrator and Developer at the same time. It’s been a fabulous 2 years and I’m proud to work with my fantastic colleagues.

    Looking forward to more fun!

  • Goodbye Bangalore

    It’s done. On September 13th, I said good bye to Bangalore after about 7.5 years of calling it my home. It’s the city where I’ve lived the longest in one stretch. I’ll miss home.

    Bangalore airport

    Hello Delhi! I hope I don’t burn from your heat.

    Image Credit: Henry Lawford on Flickr. CC-BY.

  • The long run – Delhi

    The idea was born out of a picture from Reddit that I tweeted during the week. On Sunday morning, I found myself wearing my running gear, all set for a 13K run with Souvik, Bhavya, and Sumit . I’ve been doing the C25K since early this year and still haven’t finished it for various reasons. I’ve done two 5K races in Bangalore since then and this was my first really long run.

    I stepped out of the house at 0545 and headed towards the Hauz Khaz metro station. The plan was to start from there head to Central Secretariat, towards India gate, and then towards Lodi Gardens. I did a warm walk + run to the metro station and we started the “official” run from there (Part 1 and Part 2). I finished a 10K when we reached Central Secretariat because I started my warm up earlier. I didn’t run the whole way, clearly don’t have enough stamina for that, but hell, I got there. Alive. After a few minutes of rest while we waited for Bhavya to catch up, we went on Rajpath towards India gate, turned off, went towards Lodi garden, and ended the run at India Habitat Centre.

    Along the route

    The run on Rajpath towards India Gate was hell because of the sun. I ran about as fast as I could to get out of the direct sunlight. I had to stop running a little after that because my feet hurt too much. Eventually, when I reached American Diner, I’d finished 15K, a personal best. We spent a few hours at American Diner eating breakfast and re-hydrating and headed home elated.

    This run has given me a huge motivation boost. Running isn’t easy and every step of the way, you have to talk yourself into not giving up. My goal this year was to set a habit of running, I haven’t achieved a habit yet, but I’m finding running enjoyable rather than a chore and that is a victory.