Monday, March 5, 2007

Summer' resolution

Tired from taking many exams last week (being a Thai student in a Thai university is not that easy, you know?), I decided to spend my very first time of my summer sitting in front of my computer, playing PS2 games with my brother and help my sister to prepare for upcoming Triamudom suksa school entrance exam.

At summers or any long vacations, I always make resolutions. ... I will do these, I will do those, I will learn C#, I will prepare for MCPD, ... blah blah. But up until this day, only 30% of all my resolutions had been done. So I will not make too many resolutions this summer ;)

My resolution for this summer is that I will finish reading my two new books within this summer. They are ...




Practical Object-Oriented Design With UML by Mark Priestly - After reading first few chapters of this book, I am really impressed at how the writer described the software engineering process. Compared to other books in the same category, this book explains SE in more friendly way. I really like this kind of books.

This book focuses at the use of UML with software projects. It first briefly explains the popular methodologies used in SE world which are Unified Process and eXtreme programming. After that, there is a real-world case study (restaurant booking system) and a UML tutorials.

I found this book at my university's book shop, the price is incredibly low for an English text book in Thailand (around 500 THB or 12 USD).



Code Complete 2nd Edition by Steve McConnell - Have heard of this book many many times, I decided to buy a copy. As a MSDN Connection Gold member, I could buy this book from MS Press partner with 35% off or around 1300 THB (Actually, I could asked someone I know who has a platinum card to buy this for me at 40% off!).

The book focuses on the best practices for everything in building a software from coding level to software project management. Some also says that this is a book every serious programmers should have.

Hope I can finish these before my third year at the university begins.

Sunday, March 4, 2007

Access modifier : "private" for distinct instances of the same class

Many of us who are reading this blog might have learned the use of access modifiers in Java. I found that there is a small confusion about the use of "private" access modifier.

private
member
Accessible only in its class(which defins it).
protected
member
Accessible only within its package and its subclasses
public
class

interface

member

Accessible anywhere

Accessible anywhere

Accessible anywhere its class is.

Let us create a new class named "Student".

public class Student {
private int score;

public Student() {
score = 89;
}

public void modifyScore(Student that,int newValue){
that.score = newValue;
}

public String toString() {
return "Score = " + score;
}

}


Imagine a situation where instance "A" of class "Student" trying to modify the "score" member of instance "B" of the same class, The misunderstanding is this cannot be done because of the score's access modifier is private. In fact, it can be done correctly. As the rule states that private members are accessible only in its class. So instances could access the private members of other instances too.

Windows Vista : Upgrade versus Clean Install


I have just clean installed the final version of Windows vista few hours ago. The installation process took only 30 minutes! That was fast, compared to previous versions of Windows.

However, when I installed Windows Vista (RC1) for the first time. It took around 2-2.5 hours for the installation process to finish. I was using the "Upgrade" option at that time to upgrade from my Windows XP SP2.

So for those who are planning to upgrade to Windows Vista, my suggestion is to do the clean install instead of upgrade from previous version. Addition to the shorter setup time, I think clean installation gives the system more stabilities too.