Jul302009

How productive am I?

   I am a software engineer (nowadays everybody calls themselves as engineer; but when I ask them about the measuring, calculating their metrics; they usually can’t answer; if there is no metrics; there is no engineer), and I was thinking how productive am I during a day. I couldn’t find a good metric for myself to answer this question.

I am a member of Inland Empire .NET user group and our user group has incredible number of raffle offs. I am not bragging but I visit 3-5 user groups in a month; and I compare it :). A few months ago, I won TimeSnapper tool; and decided to give it a try. It is a very simple too that runs in the background, and takes snapshots of your desktop in a frequency that you determine. You can also set the applications as a productivity tool; such as in my case I mark Visual Studio, google.com, outlook as productivity applications. The application monitors the processes that are running and comparing it with the list of productivity applications. Anytime you want; it tells you how productive you are by comparing your list and running programs. You can also replay the snapshots to see your day :).

After running this tool for 3 weeks; I wanted to see my productivity ratio, and I got ~65%. This means during an 8 hour of working day, I do 2.4 hours not work related stuff . TimeSnapper also considers the time that you are not using your computer; so being in a meeting and not using your computer does not decrease your productivity. This is a pretty low number for me; and I thought about ways to increase this number. During a day; facebook; twitter; msn messenger; forum.ceviz.net (a turkish forum about programming), stackoverflow.com are the items that take most of my time. I decide to cut my time for these things; but some of them are addictive :). It is an easy task to disable my network connection; so that I can concentrate on programming more;  and enable it for 10 mins every other hour or so; however it is not that easy as I use google.com a lot. Also I get calls during the day about a site that is not working right.

So to cut the long story short; I don’t have a quick solution for this; but I decided to cut back my time on facebook,twitter, msn, forums starting in August at last %50. Let’s see how this works :)



Tags:

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Jul232009

A Bug in ASP.NET CheckboxList

I work for a state university; which requires our websites to be compliant with Section 508 guidelines. It is not that much of a work you have to do; if you follow a few things while you are coding. One of the requirements of this guideline is; if you have checkboxes and no text next to them (think like a table where in the column header it says:”Click if you will attend”; and checkboxes in each row); then these checkboxes should have title attribute with a description value. The reason behind this requirement is; if a blind user is visiting your page; they wont see the table layout; and relate the checkbox with the column header. So in this application that I was working on; I had asp.net checkboxlist control on the page; and in the codebehind file I was creating the ListItems dynamically and adding them to checkblostlist as below:

ListItem li = new ListItem(String.Empty, program.ID.ToString());
li.Attributes.Add("title",program.Name);
listProgramCoordinator.Items.Add(li);

It is a simple code that just inside a loop; ListItems are created; adding the title attribute to them; and then they are being added to CheckBoxList. I was so sure that the above code will generate “<input type=”checkbox” title=”… I didn't even test it.

A few days after the code was published; our compliance officer called me; and reminded me that I needed to put the title attribute to the checkboxes !!!. I opened the website in my browser; and checked page source view; and was shocked. The asp.net framework was wrapping the checkbox with a span block; putting the title to the span block; and not putting any titles to checkboxes; so what i was getting: “<span title=”some title”><input type=”checkbox”…. I could get around this; so I decided to send an email to Scott Hanselman who is really a great guy and helpful person. He  kindly forwarded my email to some other people at Microsoft probably working at the ASP.NET team. Scott Galloway contacted me; and told me that this is a bug with checkboxlist which is an old control hence does not follow the pattern of adding controls for each row. After Scott Galloway; Eilon Lipton sent an email too; this time he gave some explanation why this control does not work. Here is his explanation:

"

The CheckBox has two collections of attributes:

1. The “Attributes” collection that gets applied to the <span>

2. The “InputAttributes” collection that gets applied to the <input>

Unfortunately the CheckBoxList only allows you to modify Attributes and not InputAttributes.

So to cut the long story short; both advised me to use a repeater to generate checkboxes; which I could do; but I also asked help from my friend James Johnson before I contacted Scott Hanselman. He helped me and coded  a simple jquery function that iterates through the checkboxes; getting the title from the wrapping span tag; removing it from there to checkboxes.

I thank everybody who helped me.



Tags:

E-mail | Permalink | Trackback | Post RSSRSS comment feed 1 Responses