Archive for Development

Unit Testing Karma

I recently read an interesting article and a white paper, both related to unit testing.

1. My friend Ajay Rao sent me a link titled “Real programmers don’t test“. I was wondering if it was a post against unit testing. After reading it I realized it was not so. It is a good post explaining why unit testing is not a separate task for good programmers but is part of the coding effort.

2. This whitepaper “The way of Testivus” was a reference from my friend Kanmani Raja. It is a Whitepaper that tells why unit testing is part of your job karma and not a dogma in the form of a story.

It is your karma to read them and clear your mind that unit testing is not an additional burden but part and parcel of coding effort :-)

Blink this Unit Testing Karma at blinklist.com    Bookmark Unit Testing Karma at blogmarks    Bookmark Unit Testing Karma at del.icio.us    Digg Unit Testing Karma at Digg.com    Fark Unit Testing Karma at Fark.com    Bookmark Unit Testing Karma at Furl.net    Bookmark Unit Testing Karma at NewsVine    Bookmark Unit Testing Karma at reddit.com    Bookmark Unit Testing Karma at Simpy.com    Bookmark Unit Testing Karma at Spurl.net    Bookmark Unit Testing Karma with wists    Bookmark Unit Testing Karma at YahooMyWeb

Comments (1)      Cosmos

Usability Proverb

If you are a usability analyst then a revised version of the old saying “Too many cooks spoil the broth” fit would be “Too many clicks spoil the browse.” If you are into web application development check out how easy it is for the user to navigate to different pages of the application.

Blink this Usability Proverb at blinklist.com    Bookmark Usability Proverb at blogmarks    Bookmark Usability Proverb at del.icio.us    Digg Usability Proverb at Digg.com    Fark Usability Proverb at Fark.com    Bookmark Usability Proverb at Furl.net    Bookmark Usability Proverb at NewsVine    Bookmark Usability Proverb at reddit.com    Bookmark Usability Proverb at Simpy.com    Bookmark Usability Proverb at Spurl.net    Bookmark Usability Proverb with wists    Bookmark Usability Proverb at YahooMyWeb

Comments (1)      Cosmos

Social Computing

We have heard of web 2.0 with enough explanations “I think Web 2.0 is…” Even though there is no crystal clear definition that everyone agrees upon at least now we are used to this term and we hear a few jargons around it and look at a site and say “Oh yeah, a Web 2.0 site..”. Whether we agree upon those jargons as part of web 2.0 or not one must definitely admit that one of the aspects of web 2.0 being effective user participation. An increased user participation makes a site really powerful as the data needed to power the site comes for free and in abundance without any stopping. This culture has tremendously picked up and applications of all sort is coming up that is typically run by user’s data. Enterprise 2.0 is another phenomenon that pops up then and there if not as frequent as Web 2.0. Nevertheless it is matter of time this word is going to become a common term too. While I am not interested in trying to define Enterprise 2.0, what I am interested is the user participation part of Web 2.0 that is going to be prevalent in Enterprise 2.0 as well. User participation in Web 2.0 translates to employee participation in Enterprise 2.0.

The difficulty in current enterprise environment is there are too many teams that work in silo. There is no single point of means to say what’s happening as a project irrespective of how many teams under different areas of project is working on. At one point or the other these teams have to meet the dependency of each other and when they get together there are always surprises because a team doesn’t know what or how the other team is operating on and if it will satisfy the dependency needs. Rather than working as silo teams, if each and every employee is able to participate and provide update on his/her activities at a central point that gets distributed to every other member then that gives an opportunity for constant communication and collaboration. Thus a set of tools that can help make the teams collaborate and work effectively within an organization is a must. One can argue that there are already tools that do this and in fact a simple solution would be to have a common storage space where each employee could put a document containing his/her status of work. But these are formal traditional approaches that have not been very effective because usually an employee is more bothered about his/her work and tends not to see what is happening around. What we need is an informal environment and a tool that can help in an effective collaboration. Take wiki as an example, there is no predefined rule or structure to building content in a wiki. Each and every user has the same set of rights and privileges as any other user and is free to add information and link to other areas as well. Another good tool might be to have an intranet blog for each project and make each member author of the blog, so that he/she can post the updates. An RSS feed reader could be used to distribute the new content to the entire project team automatically.

Does it mean that the teams should stop creating documents and other necessary artifacts related to a project? No not at all, what employee participation helps is to capture unstructured information that gets accrued on a day to day basis. This unstructured information is an important piece that can bring to notice something going wrong at an early stage and reduce major damages later. Take for example a developer running into an issue and troubleshooting or in a situation where he/she is stuck because of dependencies. How often does other members related to it get to know about it? Give him/her a template and ask him/her to write a document, do you think it would be effectively followed? I don’t think so. But if there is an informal environment where an employee can add content free without any structure it could be effective. A developer would be more than willing to write a post on how he/she fixed an issue or explaining the situation he/she is stuck rather than creating a document.

What will make such a culture reality is when there is an attitude shift and willingness to accept such a change and work towards building it. This is easily said than done as it is not possible with one or two employees doing it but the entire organization adapting to it. It may be late but it is the near future.

Blink this Social Computing at blinklist.com    Bookmark Social Computing at blogmarks    Bookmark Social Computing at del.icio.us    Digg Social Computing at Digg.com    Fark Social Computing at Fark.com    Bookmark Social Computing at Furl.net    Bookmark Social Computing at NewsVine    Bookmark Social Computing at reddit.com    Bookmark Social Computing at Simpy.com    Bookmark Social Computing at Spurl.net    Bookmark Social Computing with wists    Bookmark Social Computing at YahooMyWeb

Comments      Cosmos

Email-Id’s for testing purpose

Have you ever come across a situation where you have to test an application having features that require using email-id? Let’s say an user registration module that requires unique email id. One is you could use your personal email id, but that is one time and then you cannot use the same id. Another option would be to create different email-ids with one of the free service providers like gMail or Yahoo! mail. Think about the server space that would be wasted for creating these email ids used for temporary purpose.

Guerilla Mail would be handy in such a situation. It provides temporary email ids which require no registration and has an expiry time of 15 minutes. You can read and reply to the e-mails using the Guerilla Mail. In case you require more time in order to complete the task then, a link is provided which when clicked resets the timer.

Thanks to my friend Sowmya Ambiti who pointed me to this site.

Blink this Email-Id's for testing purpose at blinklist.com    Bookmark Email-Id's for testing purpose at blogmarks    Bookmark Email-Id's for testing purpose at del.icio.us    Digg Email-Id's for testing purpose at Digg.com    Fark Email-Id's for testing purpose at Fark.com    Bookmark Email-Id's for testing purpose at Furl.net    Bookmark Email-Id's for testing purpose at NewsVine    Bookmark Email-Id's for testing purpose at reddit.com    Bookmark Email-Id's for testing purpose at Simpy.com    Bookmark Email-Id's for testing purpose at Spurl.net    Bookmark Email-Id's for testing purpose with wists    Bookmark Email-Id's for testing purpose at YahooMyWeb

Comments (3)      Cosmos

Table or Divs?

With more and more rich user interface based screens there is lot of HTML + CSS that has to work together to make it really rich. There can be more than one HTML element that can produce similar result but the way in which they render might be different. The best example is the TABLE and DIV element. While both can achieve putting the data in a matrix format there are differences in terms of rendering, advantages and disadvantage of using either of them. If you are a presentation layer developer you might want to know the difference in using these elements, when to go for a TABLE and when to go for a DIV. A TABLE alters its size dynamically as the data gets filled up. Here is an example site that extensively uses TABLE. If you see carefully you can see how the table size varies as the page gets loaded. This could be annoying if there is too much dynamic data represented in table and there is a flicker effect on the screen when the page gets loaded.  For some insights on the differences refer this article “Table Vs Divs“.

Blink this Table or Divs? at blinklist.com    Bookmark Table or Divs? at blogmarks    Bookmark Table or Divs? at del.icio.us    Digg Table or Divs? at Digg.com    Fark Table or Divs? at Fark.com    Bookmark Table or Divs? at Furl.net    Bookmark Table or Divs? at NewsVine    Bookmark Table or Divs? at reddit.com    Bookmark Table or Divs? at Simpy.com    Bookmark Table or Divs? at Spurl.net    Bookmark Table or Divs? with wists    Bookmark Table or Divs? at YahooMyWeb

Comments      Cosmos

Configuring Apache Locally

If you are working on different projects locally then you might want to access them with the project name in the browser without providing the localhost prefixing it, just like how a production environment URL would look like. Apache is an amazing web server that can front end a web application irrespective of technology (except for .Net as far as I know). Apache can be configured to work with other application servers and the request routed to them appropriately. But most of the scripting language based web application such as PHP can work directly from Apache using the appropriate module plugin. Setting up Apache on your local development environment to configure and host the projects locally will provide an environment that resembles production and will also help learn Apache. Here is a good article “Setting Up Multiple Apache Local Web Sites On Your Computer” that provides details of how to do it.

Blink this Configuring Apache Locally at blinklist.com    Bookmark Configuring Apache Locally at blogmarks    Bookmark Configuring Apache Locally at del.icio.us    Digg Configuring Apache Locally at Digg.com    Fark Configuring Apache Locally at Fark.com    Bookmark Configuring Apache Locally at Furl.net    Bookmark Configuring Apache Locally at NewsVine    Bookmark Configuring Apache Locally at reddit.com    Bookmark Configuring Apache Locally at Simpy.com    Bookmark Configuring Apache Locally at Spurl.net    Bookmark Configuring Apache Locally with wists    Bookmark Configuring Apache Locally at YahooMyWeb

Comments      Cosmos

Dynamic Code Generation

How do you customize a feature? Customizations that will involve user initiated feature? While this does not mean that a user can create a feature out of the air but under the context of the application’s domain features could dynamically adopt to a user’s need. One example here could be offering promotions or additional inputs based on users past usage history and an appropriate user interface to highlight it. A template based engine could exactly do that by generating source during the runtime. The inputs to a template engine is a data model that feeds the input data and a template that provides where to use this data and on the fly an engine uses these inputs and provides an output. Apache Velocity is a java based template engine that can generate source during runtime. Use the following resources to get started with Apache Velocity.

Blink this Dynamic Code Generation at blinklist.com    Bookmark Dynamic Code Generation at blogmarks    Bookmark Dynamic Code Generation at del.icio.us    Digg Dynamic Code Generation at Digg.com    Fark Dynamic Code Generation at Fark.com    Bookmark Dynamic Code Generation at Furl.net    Bookmark Dynamic Code Generation at NewsVine    Bookmark Dynamic Code Generation at reddit.com    Bookmark Dynamic Code Generation at Simpy.com    Bookmark Dynamic Code Generation at Spurl.net    Bookmark Dynamic Code Generation with wists    Bookmark Dynamic Code Generation at YahooMyWeb

Comments      Cosmos

Issue Tracking System

When executing a project keeping track of the issues from the quality control team as well as keeping track of issues from customers/users is the key to making sure that they are prioritized and fixed. Having a manual system for such a need can be vulnerable for human errors as well as chances of missing them is high. An issue tracking system is a must for every organization. An issue tracking system should not only be available for the project team but should also be accessible for the customers/users to post the issues they find. There are many open source as well as commercial issue tracking systems available. This recent article in JavaWorld “What issue tracking system is best for you?” discusses three issue management tools, Bugzilla, JIRA and Trac. Another open source tool that is quite good is Mantis which is a PHP based open source issue management tool. Nevertheless technology doesn’t matter but selecting a right issue tracking tool that will fit your organization as well as help customers post the issues through a system is a must.

Blink this Issue Tracking System at blinklist.com    Bookmark Issue Tracking System at blogmarks    Bookmark Issue Tracking System at del.icio.us    Digg Issue Tracking System at Digg.com    Fark Issue Tracking System at Fark.com    Bookmark Issue Tracking System at Furl.net    Bookmark Issue Tracking System at NewsVine    Bookmark Issue Tracking System at reddit.com    Bookmark Issue Tracking System at Simpy.com    Bookmark Issue Tracking System at Spurl.net    Bookmark Issue Tracking System with wists    Bookmark Issue Tracking System at YahooMyWeb

Comments      Cosmos

Next entries » · « Previous entries

Creative Commons License  This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.