Time flies by

Well, it’s been quite some time since I last blogged. There have been a lot of things happening at my end and amidst this I totally dropped the ball on updating my posts. As it is said, it’s better late than never. Let me summarize what happened over the past couple of months. Good bye Transifex, hello Goibibo I quit #Transifex last January (2013) and joined Goibibo. Goibibo is one of the products of Ibibo Web Pvt. Ltd., an e-commerce giant in India. No doubt Goibibo is doing an awesome job in the market, one of the main reasons for me joining Goibibo was that it is a #Python shop and #Django is what that drives it. Needless to mention that we Python lovers always favour Python and love to stick to it :D. So far, it’s been an #awesome #roller-coaster ride at Goibibo, especially, in terms of the scaling it handles. Things are totally different when your product serves so many users and especially when you are dealing with monetary transactions. The things I learned at #Transifex helped me to push some best practices like TDD, coding standards (Flake8), etc. in Goibibo’s work culture. I also replaced #gitweb + #reviewboard with #Gitlab as our VCS. Gitlab has helped a lot to streamline the process of pushing code. People now work on #branches for each feature/fix. The #branch gets tested by #QC and the #developers first. If everything is OK, the branch gets merged to master and pushed for a release. Currently, I am planning to implement #DXR codesearch and #IRC for communication. ...

October 27, 2013 · 3 min · Ratnadeep Debnath

#Django #TransactionTestCase with REUSE_DB=1 of #django-nose

Lately, I found out that Django’s TransactionTestCase leaves test data in database after the test case is executed. It’s not until the next execution of _pre_setup method of a TransactionTestCase instance that the database is flushed. This is troublesome when tests are run with Django Nose’s test runner with REUSE_DB =1. An easy fix to this is to customize the TransactionTestCase so that it deletes the test data on exit. I wrote a simple wrapper around Django’s TransactionTestCase and extend it to write other transaction test cases. ...

September 8, 2012 · 1 min · Ratnadeep Debnath

My talk got selected for #Pycon India 2012

My proposed talk titled Develop for an international audience got selected for Pycon India, 2012. It’s time to start working on the slides. I am thinking to use rst to write my slides. Also, I have booked by flight tickets for Pycon Thanks everyone who voted for my talk.

September 2, 2012 · 1 min · Ratnadeep Debnath

Validate Python string translation in Transifex

Transifex already supported validating translations of old styled Python strings, e.g., [sourcecode language=”python”] “A sample string with a %(keyword)s argument.” % {‘keyword’: ‘key word’} [/sourcecode] The validation is done by checking if all the positional and keyword arguments are present in the translation string and the translation string does not contain any extra argument which is not in the source string. You can have a look at the validator code here. ...

September 2, 2012 · 3 min · Ratnadeep Debnath

A year at Transifex

It’s more than a year now that I have been working at Transifex. It’s a great experience to be a part of the Transifex team. Well, it’s been a roller coaster ride for me at Transifex. I had to go through steep learning curves, work with new stuffs, deliver great features, meet strict deadlines. It was fun, because of being part of an awesome team. I am very much thankful to Apostolis, Konstantinos, John and Diego for guiding me and helping me. ...

September 2, 2012 · 2 min · Ratnadeep Debnath

App specific logging in Transifex

Yesterday, I was working on adding app specific loggers in Transifex. By app specific logger I mean a logger which shows the app name which generated the log. As of now, the logs in Transifex look something like this: [sourcecode language=”python”] 2012-06-29 13:01:43,300 tx DEBUG Saved: Project Avant Window Navigator 2012-06-29 13:01:43,312 tx DEBUG Saved: Project Switchdesk 2012-06-29 13:01:43,324 tx DEBUG Saved: Project Usermode 2012-06-29 13:01:43,342 tx DEBUG Saved: Project desktop-effects 2012-06-29 13:01:43,349 tx DEBUG Saved: Project im-chooser 2012-06-29 13:01:43,355 tx DEBUG Saved: Project Test Project 2012-06-29 13:01:43,364 tx DEBUG Saved: Project Test Private Project 2012-06-29 13:01:45,704 tx DEBUG Saved: Project Test Project 2012-06-29 13:01:45,717 tx DEBUG Saved: Project Test Private Project 2012-06-29 13:01:45,731 tx DEBUG Resource Resource1: New ResourcePriority created. [/sourcecode] ...

June 30, 2012 · 4 min · Ratnadeep Debnath

FUDCON KL Day 3

The 3rd day of FUDCON KL started a bit sluggishly for me. May be because of brainstorming and hacking till late night. We (Kushal, Soumya and me) decided to work on a new app to display system logs in a user friendly manner. We named the application Tower log tower, in short, tlogt, after Twin towers of Kuala Lumpur During the first few hours of the day, we went to visit some tourist spots in Kuala Lumpur: Aquaria and Petronas towers. After we returned, we settled down for the on going talks. Amidst of various talks on the 3rd day of FUDCON, I was sometimes in listening mode, but for most time I was in coding mode. We decided to try something different in TlogT. The UI would be rendered by a Django daemon with all the WOW factor of HTML, CSS and JS. I was to code the Django server code, while Kushal and Soumya were working on writing the parsers for extracting the logs for various processes. In a few hours, we had a decent Django based functional desktop app ready. Although, quite some work remains to be done on the UI part. ...

June 2, 2012 · 2 min · Ratnadeep Debnath

FUDCON KL 2012 Day 2

Day 2 of FUDCON KL started with a talk on Fedora book by Joshua Wulf (for me Sitapati Prabhu). This idea is very intuitive for any one (especially newbies) to start contributing to Fedora documentation. Although, contributors need to know some basics of docbook, I guess that’s not tough. There were many interesting talks for the day on topics like Ask Fedora, Transifex, Fedora Tour, etc. Soumay‘s talk on Fedora in Education was really inspiring. He shared how he initially started as a contributor and many things about DGPLUG‘s Bijra project. Following this talk, there was another talk by Soumya on Ask Fedora. This one explained to the attendees what is Ask Fedora, why was it needed and how it can be used. Soumya also explained to the attendees that Ask Fedora runs on Askbot (an Open Source QA forum) and encouraged people to contribute to Askbot. ...

May 27, 2012 · 3 min · Ratnadeep Debnath

FUDCon KL 2012 Day 1

I arrived at Hotel Sri Petaling at around 3 AM on May 18, 2012. After very less sleep, I woke up at 6:30 AM. After having our breakfast at the hotel, we left for UCTI (the venue for FUDCON KL) in a bus arranged by the FUDCON KL organizers. After reaching the venue, we got ourselves registered at the registration booth for FUDCON and we received our coupons for lunch and tea. It didn’t take long for the other attendees to arrive at the venue. ...

May 23, 2012 · 3 min · Ratnadeep Debnath

Create a dummy Fedora repository (for Dorrie)

I have been fiddling with Dorrie lately. Dorrie is a web interface to create Fedora spins, remixes and installation media. But working with Dorrie requires one to have a Fedora repository at disposal if one has to build Live ISOs. I rule the possibility of downloading packages from the internet for testing. You need to have a local repository for testing it in a nice and efficient way. I tried to create a dummy Fedora repository with 0-byte .rpm files and tried to mock livecd-creator, but I failed. I forgot that livecd-creator installs the packages during the process of creating a Live ISO. Nevertheless, this attempt was not without any result. I fixed and updated Dorrie’s code to handle offline repositories. ...

March 14, 2012 · 2 min · Ratnadeep Debnath