Living in New Jersey for almost 10 years, I recently grew some deep interests in the history of New Jersey. After all, knowing the place we are living make us comfort and proud in our everyday life. The places we are driving by everyday start to become meaningful if we can tell their histories. I don’t feel like a stranger or a foreigner as I felt before. “Blossom where you are planted”, my newly acquired motto, starts from knowing the history of where I am planted.

I just came across a good description of the history of New Jersey. It’s short enough to read through quickly but thorough enough to cover all the important points. I like its way to see the history. Not as a boring sequence of “big events” like we used to read in text books, but as a continuous changes of people’s ways of living, driven by economical, technical and political forces.

Hope discovering the history of the place you live and work will give you the same joy as I do!

Read the rest of this entry »



Serving in an IT department of a non-IT company, I learned over the years one or two things about our business partners, who are our best friend and patrons, at the same time our ultimate source of headaches.

Bittersweet Partnership

After all, my job is to help them to be successful in their fields, in Sales, Marketing, Finance or Service. In a sense, IT department exists only because our business partners need us. And we need them too, to define the requirements and specs, to decide about the business logics, to promote the products we developed, to sponsor our projects, to give us feedbacks for improvements, etc. So, it’s truly a partnership.

However, we constantly fight with our business partners. They want too much from us within unrealistic short time. We insist on an absolutely necessary infrastructure change they don’t understand and consider too risky. We are furious that they keep changing their mind about the requirements in the last minute. They are bitter about the delay of the new release. This list can go on and on.

Read the rest of this entry »

Business History is a field that studies the evolution of business in all periods and all countries. It’s an interesting multi-discipline field that involves research by historians, economists, sociologists, and scholars of business administration.


Association of Business Historians

Business History Conference

Japan Business History Society

European Business History Association


Business History Review


The Oxford Handbook of Business History by Geoffrey Jones (Editor), Jonathan Zeitlin (Editor)

Business History around the World by Franco Amatori (Editor), Geoffrey Jones (Editor)

The Management Century by Stuart Crainer

Other Resources

The Basics of Business History: Top 100 Events at a Glance

re-invent the wheel gifts, re-invent the wheel gift, re-invent the wheel merchandise, gifts for re-invent the wheel, gift for re-invent the wheel

In the recent town-hall meeting, our vice president of application development mentioned that in her experience, usually applications will only become great in their version 3.0. That’s in terms of feature richness, usability, stability and performance.

This insight fits well with my own experience and observation. The implications are developers are spending a lot of their times doing re-factory, which means rewriting the underline implementations for the existing functions.

At the first glance, re-factory seems to be an awful thing: tedious, time-wasting, boring, but unavoidable. However, if we really want to tame this beast, we need to take a deep look at its origins and natures. And it may come out as a necessary and valuable way to improve the quality and the business values of our applications.

Read the rest of this entry »

At the days when the first computer was designed in 1940s, the software development business was born. It has been evolving fast and furiously ever since that.

Talking of software development, we, developers, will immediately think of programming languages like C++ or Java or their ancestors like FORTRAN or COBOL. Programming with those languages, or “coding”, is at the center of our software development career.

However, several new software development trends started to threaten the crown position of “coding” in the kingdom of Software Development.



Read the rest of this entry »


Happy New Year!

I guess a lot of people are very happy to see the year 2008 passed by, just like myself. What a dramatic year! First we witnessed the house value dropping and foreclosures in the neighborhood, then the crisis of the subprime mortgage. Soon, the bad news crawled all over the financial sector. Investment banks, insurance companies, commercial banks, even big names like Bear Stearns and Leman Brothers burned down into ashes overnight. The darkness, like cancer, continued to spread into other industries, such as automobile and even high-tech. The stock market crashed. The unemployment rate soared. The words we heard most in the past several months are “great depression” and “bail-out”, not what we usually heard even in a bear market.

And the worst part, it’s not over yet. Although debating among each other, the economists agreed the economy won’t recover until the later half of 2009. And that’s from the most optimistic point of view.

With all the negative news, it’s very easy to feel depressed or stressed out in this unpleasant time.

Kind of like feeling depressed in the winter in the northeastern United States (where I am living), chilly, heavy wind blow, cloudy sky, crooked tree branches and yellow grass, no sign of life.

But, wait! We still got Christmas in winter time! Even the darkest nights were lightened up by the holiday lights!

Where can we find hopes and opportunities in the depressing days like now? Here are four directions to look:

Read the rest of this entry »

Wish every one a healthy, peaceful and happy new year!

May all our dreams come true in the coming new year!

Snowman Greetings

As I mentioned in my last post, software frameworks are so deeply embedded into our lives as software architects and software developers. So, when I was assigned the task to develop a web application to automate the tedious manual tasks for the technical support team, my first reaction to such an challenging business requirement is asking myself the question, “What framework should I use?”. If nothing comes up, I will say to myself, “Aha, my chance comes” and will happy to roll up my sleeves to build one.

I guess all enthusiastic programmers are alike. Otherwise, we won’t see so many open source frameworks out there in Sourceforge, Java-Source and Apache. People just like to write more and more frameworks and secretly (or openly) hope that one day the framework will be as popular as Struts or Spring.

In fact, writing frameworks can bring many substantial benefits to the project:

Read the rest of this entry »

Framework is everywhere in our every day life as a software architect or a software developer. Struts, Spring, Hibernate, Axis, jBPM, just to throw out a few popular names in a Java developer’s world.

We choose the right framework, we learn the framework, we adjust the framework to suit our needs, we suffer from the bad design of a framework, or, what the hell, we design our own framework! It invades our vocabulary, “What’s your MVC framework?”, “Do you use Spring or EJB?”, “Have you migrated from Toplink to Hibernate for your persistence layer yet?”. We think (and even dream) in frameworks cause they are so fundamental to our work, no matter we like or hate them.

But, why do we use framework at all? Can we live without any frameworks? What are the benefits and pitfalls? When should we use framework and when should avoid it?

We seldom stop and ask ourselves these hard and fundamental questions. Now, it’s the time.

Read the rest of this entry »

Recently, I am responsible for a project to design a web application which automates many operational tasks that are carried out manually now.

One of the challenges for this project is the dynamic nature of the user interface.

  • Based on different types of the client and the different features the client subscribes, the user interface needs to display different widgets.
  • It’s expected that the types of clients and client features will undergoing constant change in the future releases.

Read the rest of this entry »

June 2018
« Dec    

Blog Stats

  • 60,181 hits