Friday, March 28, 2014

There is nothing more final than a draft copy of a document. Let's admit that most of us know what this means. How many times were you in situations where you write a requirements document or a technical design document and due to time constraints, everybody starts using the document. It ultimately becomes this golden copy that everything is measured against.

Thursday, March 27, 2014

Don't look further than Gmail as your task management tool on your smartphone or desktop browser. Gmail app on iPhone is not like the regular mail app that only keeps your emails for X number of weeks. All the emails are there and the searching is so easy. Labels/Folders are easy to use and it is easy move things around or apply different labels.

Don't get me wrong. I like my OneNote for all the work related items, but for simple tracking of my to-do personal items, I have been using Gmail app on my iPhone and Gmail in the web browser.

I created two labels:- TODO_Current- TODO_Backlog

Before the beginning of the week, I review my backlog and put it under Current if I plan to work on it that week.

Then throughout the week, I review the Current list and I work on the items.

For regular bills I made reoccurring meeting in Google Calendar and I set up reminders to get emails when I have to pay bills. Those would go under my Current list for the week.

With this system, I feel so organized.

Yes, there are very good tools that I tried that do this much better on the mobile device, but I could not find one that does it great on both desktop and mobile. For example, I love OmniFocus app for iPhone, but I don't have anything for my PC at home or at work. I paid premium to to play around their iPhone app, but I decided that Gmail is the best all-around solution for me.

I will do another post about Gmail and how it also works as a useful note-taking tool.

Tuesday, March 25, 2014

vi Editor - Do we still remember this? I actually still have xvi.exe (from GNU tools) installed on my computer so I can remind myself about it.

I remember the days when I used to write C++ code on Unix using vi editor. I first started in the version that just had black and white and then I switched to a fancy version that was able to understand C++ syntax and put specific areas of code in different colors. Those were as we like to say the good old days. The debugging was also very tough. I had to use some other command-line tools to detect which part of the code was causing the null exception. The same code would behave differently on AIX version of Unix vs. HP and Solaris. That's when I learned the value of writing code to do useful logging and statistics to simplify my day to day debugging exercise and to also have eyes into the production environment when my code starts running there.

These days we have so many choices of good editors and IDEs (Integrated Development Environments).

Let's start with Notepad++. It is a very simple editor but also somewhat powerful for certain uses. I like to use it for my Python code and for writing scripts. The editor recognizes the syntax of many different languages and it even has some debugging capabilities. For example, it is capable of debugging the Python code.

There are plenty of other editors and IDEs.

If you work in a Microsoft shop, you have to admit that Microsoft revolutionized the world of IDEs with their version of Visual Studio for .NET. That's when we entered the era where a lot of things were simplified and we started to slowly get attached to the features of this IDE.

Now the question is: Is being so dependent on IDEs such a bad thing?

I don't think it is bad as long as you don't forget the basics. We sometimes tend to live in the world of debugging too much that we forget to write code to incorporate proper logging and statistics. Then when our code goes to the production environment, we feel the pain. What I mean by this is that you would not have the tools or mechanisms to troubleshoot the environment and even worse, you will not know that your production environment is not healthy in the first place.

That's all I wanted to share at this time. Happy coding and continue using the fancy tools to make your development simpler, but don't forget about importance of logging and statistics in your code.

Friday, March 21, 2014

It is hard to explain the level of satisfaction software developers get when they work all day on a problem and they finally figure it out. If scientists could measure that, then it would define the max on that scale.

Wednesday, March 19, 2014

Please look at the image. Here is the summary of the image in plain text.** Good Process + Good Team + TRUST in Team = Repetitiveness/Audit Pass + Success

** Therefore, Good Team + TRUST in Team = Success

NOTE:People on the team and trust in them is the formula for your success and keep in mind that behind that good process hides a group of people that are also part of the same team driving that success.

You can clean up the HTML and modify the JavaScript and embed it into your website or you can just use it for yourself at home. You can save the html file on your local hard-drive and open it using your choice of web browser.

You can clean up the HTML and modify the JavaScript and embed it into your website or you can just use it for yourself at home. You can save the html file on your local hard-drive and open it using your choice of web browser.

Disclaimer:

This is a personal blog. The opinions expressed here represent my own and not those of people, institutions or organizations that the owner may or may not be associated with in professional or personal capacity, unless explicitly stated. In addition, my thoughts and opinions change from time to time I consider this a necessary consequence of having an open mind. This blog disclaimer is subject to change at anytime without notifications.

Disclaimer: This is a personal blog. The opinions expressed here represent my own and not those of people, institutions or organizations that the owner may or may not be associated with in professional or personal capacity, unless explicitly stated. In addition, my thoughts and opinions change from time to time I consider this a necessary consequence of having an open mind. This blog disclaimer is subject to change at anytime without notifications.