We said six months and it will be one year when the first phase of the project will
be over. That means 100% late. True it is a bit of an research project
and the number of features needed and implemented for a pleasant
release is double than the initial proposal. Still how could I be this
wrong?
Since I've been leadering at my old company I use to keep a time
registration. What I notice is that for 80% of the tasks I have to do
I'm bellow or there with the estimation. But with the remaining of 20%
I'm chaos. Actually there is all the extra time. Maybe one day I will
have enough information and I will manage to find all the correlations
about the type of tasks or maybe the sphere of the tasks which are
rebelling my management
.
March 19th, 2002
Well, I love when my day starts discovering that is Friday instead of Thursday and that Mozilla managed to trash irrecoverably all my recent mails. Those are the signs of a promising day
So, a couple of days ago the WinXP Pro license arrived. I wanted
to have a licensed version of Windows on my laptop. After two days of
usage I still like it, do sometimes it drives me crazy.
I must tell you that for the last 3 years I used exclusively Linux
and I was quite happy :-) Then the normal question would be why are you
buying Windows then ? Well, I hove one day to sell some of the tings I
make and eventually I have to admit that most peoples use Windows and
Word. Linux is just not making any money. That’s a fact, not
necessarily a bad one! In this idea it is a bit hard to make windows
software under Linux
BTW, the Win thing is not final. Linux got
the biggest part of the hardisk for a good reason, I don’t think I will
be able to resist to much with Win.
What can I tell you in two days it died as much as my Linux in one
year (about 3 or 4 times) and the multitasking is nowhere near the one
“Linux” provides, but at least it’s cute. One think I really like is
that all my gizmos are working (cell phone, “Visor”) properly. I kind
of get used to have minor problems with them under Linux.
It's a bit shocking to see that any software costs money, Linux made
me forget that minor aspect, but it's ok, no software is really free.
It always costs money, that questions is only whose money? In OS based
soft is the money of the developer in the rest is of the client.
Anyway I'm in the process of making it a bit bearable by installing cygwin and XEmacs
on it. That thing will be bearable at least. A bit of bash in Win
doesn’t hurt. BTW, Xemacs works and looks beautiful.
UNIX Under the Desktop is the OS X review in the new Linux Journal by Brett Simmons and Doc Searls.
I have OS X on a second hand old Apple. It is true, "Apple" did it
right, Windows is nowhere near OS X, neither in usability neither in
stability in nothing. I just wait to make the money so one day I will
buy the dream machine, believe me or not it will run OS X and Linux.
BTW,
always trust your instincts. Happily the XP came soon enough to make us
realize there is some time since somebody tested the applications under
Win. Course they didn’t worked, lucky us that we found out in time. So
here we are back again. This time I want to buy it (wish I knew how
would work that from Romania
. Will find the way I'm sure.
March 15th, 2002
In 14 March we will have one year since we actually started the coding on
all of the "SpaceMapper" projects, a very difficult one but full with
rewards.
So, I took JMetric
and I did a couple of measurements on mn8. Here are the results:
- Lines of code: 20311
- Statements: 14218
- Classes: 211
- Methods: 2296
- Variables: 981
- Public Methods: 1877
This is just the code, no documentation, no unit tests, just the core java
source files. This was till recently a man/month effort. With the actual
code started only from August, till August I was working on the prototype.
Not bad, I guess.
I only have two features open with
one task in each so I'm really at the
end of a first serious release. It's not a bad feeling but it is not good
either, it's exhaustion, accomplishment and scare. In a couple of days/weeks
your secret will be publicly exposed. It's like having a child and giving
it away to strangers to take care of him.
Enough of this mumbling this is not what I had to say. I was about to tell
you about testing and bugs.
The last two months among closing the remaining features we started
intense testing. What I found is that bugs comes in layers. Three
particular type of of bugs, each type with it's own schedule.
The first layer is the soft and easy bugs. Plenty of them, quick to catch
and fix. Unit tests are great investment for this layer.
Then it comes the more complex layer. Not difficult to find but a bit more
trickier to fix. Most of this bugs can be catched by unit test and can
easily be kept under control for the future, again through the unit tests.
But then comes the last layer, at the end when, you are really tired and
seek of bugs. These bugs are nasty ones. Very hard to catch, very hard to
reproduce, very hard to understand what the hack is going on. Should I
mention about fixing them? I spent the last two days chasing such a bug,
I'm not there yet, but I will. Sometimes I wonder if it is a good idea at
all to spend so much time for just one bug?
Unit tests won't help you with these bugs, except maybe after you fixed
them to make sure don't reappear.
Also was interesting to notice that whoever said that 80% of bugs are situated in 20% of
code was absolutely right. The majority of bugs where around 3 classes which where
extremely complicated. Hard to believe that 80% of the bugs where actually in around 200
lines of code from 20,000. The problem is that when I designed those particular portions
of code I was aware of the grade of difficulty exposed so I tried to code in the way Kent Beck recommends and explicitly
expressing intention. All this by using meaningful names, breaking the code in many
minuscule methods and so on. Still, even if was a lot easier that way to understand
functionality it continues not to be extremely easy.
Another interesting conclusion was that even if at the beginning all of us blame somebody
or something else, always, and I mean always we are the stupid ones, and probably the
debugging time would be reduced considerably if we would always start checking the code
instead of trying to catch what we imagine is happening which almost always is miles away
from what is actually happening.
March 5th, 2002
Watched last evening the Antitrust movie. It
was hell of a fun. Those who watched or will watch the movie will
clearly recognize that NURV is M$ and Gary is Bill Gates. Now what
was so funny. The guy's who did the computer animation definitely
are worth a big A for it. Every computer in NURV (remember, M$)
run Linux with Gnome including all Gary's computers. I had such
a good time visualizing Mr. Bill Gates running Linux on his
computers. Plus the future product of NURV (read M$) was based on
Java, he he he. If not for else watch the movie for the screens.
Sure in the end Open Source won, how else
Do I have to mention that all NURV employees get a Handspring Visor
with Palm OS on them instead of some Win CE.
March 4th, 2002