Archive for the ‘Work’ Category

Atheros 9k series based wireless cards are among the most commonly found wireless networking cards on laptops. While Linux Kernel 2.6 and later provide support for these cards through ath9k module/driver, madwifi is also an option for some.

Despite the card’s popularity and integrated module availability, the driver is not bug-free. Users of all flavors of Linux (to name a few: RHEL 5,6; Centos 5,6; Ubuntu 11.x,12.x; FC 12,13) seem to have had issues with this driver. The two most commonly reported issues are slow wireless connectivity and wireless network disconnecting intermittently – either due to inactivity or after coming out of suspend/hibernate. The latter issue also sometimes manifests itself as the network card refusing to “come up”.

Here is an easy fix that fixes both issues. It has been tried and tested to fix the issues on at least the above mentioned Linux distros and should also work on other distros that use ath9k module.

Run the following commands as root (or prefix sudo)
Add the option nohwcrypt for ath9k: this removes the hardware based encryption and moves it to software

echo "options ath9k nohwcrypt=1" > /etc/modprobe.d/ath9k.conf

Turn off the automatic power management for your wireless card

iwconfig wlan0 power off

Now Reboot.

Alternatively, instead of rebooting you can perform the steps below
Unload the driver and reload it again

modprobe -rv ath9k
modprobe ath9k

Restart the network manager service

service NetworkManager restart

Now you are all set. Have fun!

Read Full Post »

So finally I was able to defend my M.S. thesis, “Visualizing Digital Collections at Archive-It”.

Archive-It, a subscription service from the Internet Archive, allows users to create, maintain, and view digital collections of web resources. The current interface of Archive-It is largely text-based, supporting drill-down navigation using lists of URIs. While this interface provides good searching capabilities, it is not very efficient for browsing. In the absence of keywords, a user has to spend large amount of time trying to locate a webpage of interest. In order to provide a better visual experience to the user, we have studied the underlying characteristics of Archive-It collections and implemented six different visualizations (treemap, time cloud, bubble chart, image plot, timeline and wordle), each highlighting one or more of the underlying characteristics of the collection. Archive-It supports grouping of webpages into categories, however, it does not enforce its usage. As a result there are many collections with missing or improper grouping. For such collections, we present a method of grouping webpages based on a set of pre-defined rules.

Here are the slides from my defense.

The following are direct links to the videos in the presentation :

Treemap: http://www.youtube.com/watch?v=BJDrxQEEFYM
Timecloud: http://www.youtube.com/watch?v=YYkI6aBO0to
Bubble Chart, Image Plot and Timeline: http://www.youtube.com/watch?v=j94clxqKQk8

Read Full Post »

Often RDS users trying to import data face this error when they try to create triggers:

ERROR 1419 (HY000) at line 49: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

The reason for this is that the default DB parameter group doesn’t have the privileges set to create and insert triggers into the database. To get rid of this error, do the following:

  1. Obtain RDS CLI tools from AWS website here, and follow the installation steps.
  2. On your terminal (or command line) create a new parameter group (since we can’t directly modify the default parameter group)
    rds-create-db-parameter-group allow-triggers --db-parameter-group-family mysql5.5 --description "parameter group to allow triggers"
  3. Now modify the parameter group created just now
    rds-modify-db-parameter-group allow-triggers --parameters "name=log_bin_trust_function_creators, value=true, method=immediate"
  4. Apply the new group to the database
    rds-modify-db-instance --db-instance-identifier instance-name --db-parameter-group-name allow-triggers --apply-immediately
  5. Finally, you will need to restart your RDS instance.

After running the above you should be able to import your schema/data and create triggers without problem. In case you receive the following error while using mysqldump

ERROR 1227 (42000) at line 2492: Access denied; you need (at least one of) the SUPER privilege(s) for this operation.

then, the problem is with the definer statement in your trigger. Change it from


to something like


Read Full Post »

I was in Washington, DC the week of June 10, 2012 attending JCDL 2012.

A detailed summary of the conference has been put together on the official WS-DL blog of Web Science and Digital Libraries Research Group from Department of Computer Science, ODU by my colleague Hany SalahEldeen.

Here are my slides from the presentation.

Read Full Post »

So the other day I had to back up all database objects for an Oracle instance i manage and I was looking for some tool that would help me generate DDL for each object in a separate SQL file.

A quick Google search revealed I could backup DDL using TOAD (full version), DB Solo and RazorSQL. I use DBArtisan at work and my organization doesn’t want to move to TOAD yet. I have used DB Solo in the past and I have liked the clean and light interface and the quick ability to back up DDL but I just couldn’t use it this time because I had already expired my trial version and didn’t have enough time to get the folks sign off on purchase of a license (which is not very expensive). So I decided to try RazorSQL, but was disappointed because it dumps all objects in one single SQL file. Also, when I tried to back up stored procedures (over 5000 of them), the program refused to copy.

Out of luck and exhausted, I remembered the good old DBMS_METADATA commands. I quickly created a new directory entry in the database for the location where i wanted to dump my DDL, and executed a procedure that I wrote to perform the DDL backup.

Here are the steps I followed: (one can use SQL PLUS or any DB tool he wants)

–create a new directory in all_directories table. This is important to avoid ORA-29280 invalid_path execption.


–also grant permissions to everyone to read, write (maybe restricted based on your requirement).


–the stored procedure for DDL backup
–note that we are reading from USER_OBJECTS data dictionary, this way it exports only the current user’s objects.
–to export all objects, execute procedure as sys or sysdba and use the table ALL_OBJECTS instead.

             FROM USER_OBJECTS


Now that was simple, wasn’t it? 🙂

Read Full Post »

Hey check out the latest bug I found on Windows 7. Wondering how many of you noticed it. So here’s how you check its presence:

1. Search for a song in your library in WMP12. Dont type in the entire name, but only a few words so that more than one results are returned.

2. Select anyone song randomly from middle of list and play it.

3. Now drag this song to the top of your Now Playing list and Voila.

You will see that the time duration stamp of the top song in the list is changed to the time duration of this song which is playing. The time duration stamp will change only when this song starts playing.

Read Full Post »

Why haven’t you posted recently on your blog? Why have you stopped writing? I have often been asked these questions in the last few months. The truth is I’ve never meant to stop posting. It’s just that I’ve been busy with a lot of things since I lasted posted. During these days, my heart leapt at lot of topics. I wrote many a draft and discarded them, as I just didn’t find time to finish and by the time I did, something else more interesting caught my attention.

So that is how this post took its shape. Rather than writing about what was the latest thing on my radar, I am writing about the various roles that I have played, simultaneously, in the last couple of months. That I enjoyed all of them is no overstatement. I have a regular job. I work as a developer in a mobile firm and my work involves me in conceptualizing and implementing new offerings on a humble hand held device. One of the most rewarding moments came when my work helped us to seal the deal with a major Fortune 50 company. That this is of major strategic advantage to us is implicit.

I also started teaching at my college along with my regular job at the mobile firm. The enthusiasm and energy of the pupils continuously boosts my confidence and acts as a motivating force. These are some of the finest pupils of the current junior year at the department of computer science in the college where I teach and I’m glad I’m teaching them.

A few months back, I experienced the joy of becoming an uncle. My niece, she is the most beautiful and cutest baby ever. The little bundle of joy suddenly made me feel much more responsible towards my family. I’ve a little brother, five years old. He adores me and wants to follow me in my footsteps. Around the big Indian festival of Diwali, I ended up being a fatherly figure to him. My little cousin bonded so closely with me, it redefined our relationship.

During this period, I also visited a number of places around the Cauvery river bank including some spectacular waterfalls. I went on a mini-trek and boated in the river. It was an eventful quarter of the year during which I wrote about a lot of topics and erased them all. Nonetheless, one of the most satisfying periods of time I have experienced.

In order to pursue my interest in photography, I’ve decided to launch a photo blog (or perhaps just convert this into one). It may take some time, but then again, that’s an ordeal for another post.


Read Full Post »

Older Posts »