Blog

  • Hello Mozilla!

    Hello Planet Mozilla! I was added to the planet about 2 weeks ago and never actually got around to writing a hello post. I’m Nigel and I contribute to a few of the WebDev projects, most notably input and socorro. I’m also currently writing a patch for firefox to help SUMO, which I seem to work on when I’m sleep deprived. I’m also an active contributor to Ubuntu and Launchpad and often blog about my work there, however, my posts to the planet will exclusively be the work I do on Mozilla projects. Hopefully, I shall have lots to write soon!

  • Some new improvements to Launchpad

    I’ve been hacking on Launchpad for a while now and I’d like to announce some of the new things I’ve added. The first 2 are in production now. The last two, however, will need a few more days to get into production.

    Smart autolinkifying in bugs

    As evident from the screenshot, it greys out the bug if the bug does not exit (or is private). I wrote in detail about fixing this earlier.

    Invalid bugs are greyed out

    UTC offset along with timezone

    We now go the extra mile and display the UTC offset as well to help in some play plan out meetings, etc.

    Timezone also shows UTC offset

    Edit sprite for attachments

    Long time frustration of mine. The edit URL for attachments is in a portlet on the right side, not easy to spot. Once this fix rolls out, however, it will be much more friendlier.

    Edit sprite for attachments

    Better blueprints validation

    Earlier, I’d just get a ‘… is already registered by another blueprint’, this fix, once rolled out, helps ease out and find that blueprint.

    Blueprint validation

    To repeat again, the last two fixes are not in production as of me writing this post. Perhaps by next week or the week after, it should be.

  • 7 things about me

    For the first time, I’m doing a meme! Unfocused tagged me and here it goes.

    4 Rules

    1. Link to your original tagger (s) and list these rules in your post.
    2. Share seven facts about yourself in the post.
    3. Tag seven people at the end of your post by leaving their names and the links to their blogs.
    4. Let them know they’ve been tagged.

    7 Things

    1. I live in a half-hour timezone. If you think timezones suck, trust me, half-hour timezones suck even more. Every calculation needs just a bit more time so that you don’t get it wrong. My sleep cycle is mostly UTC though 😉
    2. I’ve only been involved with open source for less than 2 years. But I’ve contributed code to Ubuntu, Debian, Etherpad, Launchpad, Mozilla WebDev, and Firefox in this time.
    3. My cellphone can do calls, texts, and radio. That’s it. It has worked for me for the past few years, and continues to serve me well.
    4. I lost my cellphone in the middle of the road and got it back. Yes, my phone fell out of my pocket on the way to work one day. Someone found it, called the last dialed number (my parents), found where I was working, and dropped it off at the office! My friends, however, joke that even someone who found the phone on road don’t want to be caught dead with it .
    5. I read a lot and own a lot of books. In fact, when I get my own place, I most probably will have a room just for books.
    6. I walk to work. I have friends who work from home, so you folks will not think this is great, but my friends with an hour long commute will know how precious being able to walk to work is. Walking to work, and taking my bike almost results in the same time due to traffic anyway.
    7. In December, I will have completed 5 years of having started a working life. Looking back to my first job to where I am now, I cannot even think how I landed up this way 🙂

    7 People

    I’m tagging the following people – aditseng, davedash, devrat, geohacker, suryajith, Xiaozhuli, and zainabbawa.

  • Embedding a terminal with byobu

    The other day I blogged about how I was looking for embedded terminal in vim and found something hilarious. This post is about how I solved what I was trying to do.

    Typing this blog post on the kind of setup I'm writing about

    I know I can do :shell, but that’s quite not what I wanted. Here’s how I got it working the way I want with byobu:

    • Open a terminal and start byobu.
    • Type C-a S, basically, Ctrl followed by a, and then capital S.
    • Then, C-a :, so you can type commands to the screen.
    • Now you can type resize +15 to increase the size of the top split
    • C-a Tab, to switch to the other split
    • C-a c to create a new terminal there.
    • Use C-a Tab to switch between the splits.
    • ???
    • PROFIT!

    I’d love to make this into some kind of config that I can load, but I haven’t discovered that yet. If someone knows how, please do let me know in the comments!

  • Another Launchpad Bug Fixed!

    On Tuesday, I managed to land a fix for another Launchpad bug. This one probably was my first non-trivial bug fix and also older than any other bug I’ve attempted (4-digit bug!)

    Earlier, during page load, Launchpad would take each bug, search if its, valid, get the title, and show tooltips. This feature was removed to reduce page load times and timeouts. Instead, anything that matches the bug pattern gets linked whether the bug is valid or not. Obviously, less friendly, but much faster. One of the days, there was a general complaint about this in #launchpad-dev and Ian Booth mentioned that its probably trivial to fix with the link checking bits he wrote for branches. I jumped in when I saw a chance to get mentored for a bug.

    Fixing the bug involved, first adding a class to all the bug URLs, then grabbing all the URLs with that class and posting it as JSON to check-links internal API, which uses the search to verify valid/invalid bugs. Then, it returns a list of invalid bugs. Fixing this including writing python and JavaScript code; a first, for my fixes to Launchpad. I broke a gazillion tests with my fixes though. Twice, I submitted it to ec2 and failed thanks to b0rked tests. Finally, on third try, I caught all of them and its now merged to devel. It is working on QA Staging if you want to give it a try.