Archive for March, 2007

Is it worth separating between the essential and accidental difficulties of software development?

March 31st, 2007 6 comments

Upon reading the chapter about productivity tools in the classic Rapid Development of Steve McConnell, I notice an interesting point Steve made about the role of high-level programming languages in the context of Fred Brooks’ No Silver Bullet. Read more…

Domain Knowledge Emphasis

March 13th, 2007 8 comments

Below is an adaptation of an email I wrote to my team when we started developing a new project in a domain we had not worked with before.  One of the key points of the email was that not only business analysts, but developers also needed to possess a fair amount of domain knowledge, besides their technical skills.  What are your take on the need of having developers mastering domain knowledge?  Do you think it is critical for the success of a project?

Read more…

My article on The Code Projects

March 9th, 2007 8 comments

I have edited and submitted my blog entry about db4o to The Code Project. This is the first time I published an article over there. Let’s see how well (or badly) it is received :-) .

Categories: .NET, Java Tags:

Imran on interviewing programmers

March 8th, 2007 4 comments

Read this to see how Imran tests his interviewees.  Couldn’t help throwing out some code. (And it turned out that the time for me to look up the method collect() was the most.)  Not sure if the senior developers interviewed by Imran have anything to do with the MCSD.NET folks who were interviewed by Gojko Adzic which I blogged about before.


# long version
(1..100).each { |n|
	if (n % 15 == 0)
		print "FizzBuzz ";
	elsif (n % 3 == 0)
		print "Fizz "
	elsif (n % 5 == 0)
		print "Buzz "
		print n.to_s + " ";

# short version
p ((1..100).to_a.collect{|n|(n%15==0?"FizzBuzz":n%3==0?"Fizz":n%5==0?"Buzz":n.to_s) + " "; }).to_s;
Categories: Ruby Tags: ,

Object-oriented database programming with db4o – Part 1

March 7th, 2007 12 comments

In Part 1 and Part 2 of the article entitled The Legend of Data Persistence, I have introduced you to the O-R impedance mismatch, O-R/M tools, ODBMS and its advantages and disadvantages in comparison with RDBMS.  Now, once you have decided that you would use an ODBMS for your project, which ODBMS should you use?  This article, as a follow-up of The Legend of Data Persistence, aims to introduce you to one of today’s most popular ODBMS implementations, db4objects (db4o). 

Read more…

The Number One Rule of Being a Good Employee

March 5th, 2007 14 comments

When we are assigned with a task, we are usually expected to:

  1. Provide an estimation of how long it will take to finish the task
  2. Go ahead and start working on it
  3. Report problems and issues preventing the work from being done
  4. Finish the task and report the result

Read more…