Posts

Showing posts from January, 2013

How to make most out of Jira?

It has been quite a while (still < 1 year), I am using Atlassian Jira for bug/issue tracking withing my team of roughly 15. Previously, we were using a version of Redmine, doped to suit company environment. I had read, heard a lot about Jira's abilities regarding how it can be useful to ease the project management and accurately measure the project's progress. But, recently under peer pressure of my group, where I was required to file some appropriate bugs/improvements/tasks, along with doing myriad of other things, I learned  importance of using Jira. How we can make most out it? Well, Jira is no magic, but just a tool; rather, it provides a platform for task management. So, all task management is left to you. Here's how I did and worked well for me create a high-level abstract issue of big task you will be working on and put in the initial estimates if you already know or leave it to the sub-tasks divide the task into concrete sub-tasks with concrete est...

getting android emulator to work normally on 64 bit linux

Recently I started working on a nfc android app but I was stuck with very basic thing of getting emulator to work normally on my home laptop running Linux Mint. I tried numerous ways to configure eclipse, java paths, AVDs (android virtual devices), checking adb logcat etc but nothing really helped. The emulator could start but always hanged on the boot screen. (believe me, I even waited a complete day for it to boot up). Thanks to StackOverflow again! As described in the comments here  and also here , the Android team still has some more work to do until they make the emulator ( and other stuff) work with 64-bit version of java. But, I could happily run my android project with emulator ( which works quite fast now :) ) by simply configuring eclipse's default jre to be a 32-bit version of java 7. While 64 bit jdk being default for other things. 

unique id generation at high scale

Moving away from relational db allows us to work with huge data, which would otherwise be not feasible. But, it also mandates us to look into the issues that we didn't have to consider much about. One of such thing was generating unique ids. With mysql you get auto-incremented ids which work absolutely fine for most of the use cases. But, for other systems, in context of nosql/distributed systems, that job is on system designer's shoulder. Inherently one-size fits all solution is difficult to come with. There are many solutions proposed for this ubiquitous problem. Twitter has developed  snowflake  which solves it.  They guarantee id generation with the following constraints : minimum 10k ids per second per process response rate 2ms (plus network latency The other solution I found is   flake   by boundary . It achieves the goal of generating ids with good performance and adequate bit size 128 which snowflake lacked. I will update more inform...

Migrating svn repository to git

After googling I found this StackOverflow  link . First, I needed to install git-svn module. $ sudo apt-get install git-svn Now we also need to map svn users to git users. we can get all svn users  ( skip if you already know them) with this command ( execute under svn project root ) $ svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq Once you get all users, create a users.txt file mapping svn users to git user1 = first_name last_lame <email@address.com> user2 = first_name last_lame <email@address.com> Once you make sure all of your svn users are mapped to git, then execute $ git svn clone --stdlayout --no-metadata -A users.txt svn://hostname/path dest_dir It will start fetching svn repository into git. If you run into other problems, like Author: (no author) not defined in users.txt file then simply add following line to users.txt (no author) = first_name last_lame <email@address.com> Note : If, due to this error, git svn comm...