What Refactoring Is and What It Isn’t

April 21, 2012 1 comment

Today I found an article in Java Code Geeks written by Jim Bird through DZone posted by Swizec Teller. It really says what are in my mind. So here is my two cents supporting the post.

First of all thanks to Jim Bird a lot for the great post! Definitely there are big differences between changing as part of refactoring and changing for other purposes. Throughout the life of development of a system, developers incorporate many changes in code base. But not every changes are refactoring. They fix bugs, optimize performance, simplify error handing or even may replace some erroneous codes with some defensive codes. These are not refactoring.

So never call you are doing refactoring when you are doing these things and don’t forget that it is your duty as a developer to incorporate new changes, fixing existing logics and remember don’t blame others.

Read more…

Categories: Refactoring Tags:

Happy Birthday Dear Diba

January 22, 2010 Leave a comment

It is 22nd January, 2010. The day exactly one year before the almighty god send us a gift for us and this is our only daughter, Diba. She is now one year old. Happy birthday to you, happy birthday to dearrrrr Diiiiiiibaaaa.

Happy Birthday Dear Diba

Diba is now one year old

This day you came to earth with lots of happiness, joy for us
This is your day
Happy birthday to you
You are so cute
You are so wonderful
You are so special for us
We could not imagine even a single moment without you
Happy birthday to you
Happy birthday to dearrrrrrr Diiiiiiiiiiiba

Categories: Family

How To Skip JSF Validation When Required

July 11, 2009 25 comments

Sometimes it may require actions which have to get executed without validation or after partial validation. You may find dozen dozens of posts in various forums, blogs regarding skipping JSF validation. But very often we find a satisfactory result. I don’t want to mean we will not find right solution or we do not solve the problem, what I mean we can solve the problem but after lots of tweak, lots of $$ time spending.

Think I have a simple form with some input text components with required attribute true and I am going to refresh this form with new set of values by clicking a command button. How much extra labor I have to pay to solve this? Ok forget this scenario now think I have a form with some input text and dropdown components with required attribute true and I want to populate one dropdown component depends on another and even one dropdown component may not need to validate at all where as another one may need to validate the data based on which it will be populated. Again do you think how much extra labor I have to pay to solve this and even should I do this extra work? Hmm, I Know I have no easy way to work around this problem. Here I will share my thoughts which may help you finding an easy solution to work around the problems that I was discussed above. Read more…

An Unexpected Behavior of Crystal Reports for Eclipse Plug-In with MyFaces and Facelet and Its Solution

June 21, 2008 1 comment

I was working with Crystal Report for Eclipse plug-in (version 1.4.0). After spending some minutes I easily developed a hello world type JSF application with JSP pages as view. But unfortunately the application was not working while I was trying to use Facelet as view handler. I quickly identified that the plug-in is missing Facelet tag library xml file. Then, I googled some minutes but not found any promising result. So I wrote a tag library xml file given below. Hopefully it will help others who are expecting a tag library file for using Crystal Report Page Viewer component with Facelet. Read more…

Implementing richfaces extended data model classes

May 19, 2008 7 comments

RichFaces data driven components (rich:dataTable , rich:dataGrid etc.) can be used in more complicated scenarios unlike standard DataTable and DataModel class. To get the new supports one needs to implement his own DataModel that extends one of ExtendedDataModel classes. But it’s not efficient every time implementing the class when needs. So here I write my own solution.


I extend org.ajax4jsf.model.SerializableDataModel class as usual. But the tricks lie in overridden walk method. A general fetch list of ExtendedFetchList is used to access data instead of a specific fetch list. ExtendedFetchList interface declares all the necessary methods for dynamic data accessing. See the following codes and usage example. Read more…

Sphinx – An Open-Source Full Text Search Engine

November 23, 2007 Leave a comment

Nowadays, even a simple web site requires full text search capability. Search engines like Google are not well suited as a local search engine. Because a local search engine can generate more relevant and practical results than their global competitors. I have used Apache Lucene before. Recently I have found another one named Sphinx (SQL Phrase Index). According to its developers:

Generally, it’s a standalone search engine, meant to provide fast, size-efficient and relevant fulltext search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages. Currently built-in data sources support fetching data either via direct connection to MySQL or PostgreSQL, or using XML pipe mechanism (a pipe to indexer in special XML-based format which Sphinx recognizes).

It is open source and also provides API for PHP and Python.