RSS FeedDeveloper without any QA skills
I have an interesting developer in the team who codes pretty well, but is a very bad QA. All the work that he churns out has higher than the average number of bugs. His coding style is pretty good, and the code output is not bad, but due to inadequate self testing, the turnaround time of his final product is high.
This leads me to reconsider our entire recruiting process. During software developer interview, we hardly ask QA questions, but now that needs to be refined a bit.
A developer without any testing skills is useless.
Windows Live Mesh Rocks!
Wow, an online file sharing system from Microsoft that is really drag and drop friendly! I signed up for Live Mesh, and a simple installation later, the drag and drop functionality was working! Comes with 5 GB of space, so it is really going to ease my weekly CD backup process!
Didn’t work with Firefox 3 for me, but that could be due to ASP plugin or related issues, but with IE 7, it is very seamless.
Sweet!
Bashing the Singleton Pattern is the new in thing
I have read so many blog posts recently that bash the singleton pattern, and from many many great programmers, that I am forced to believe that this is the new in thing! I mean those guys are great, and I look to them for inspiration! Here is one by Steve Yegge.
But, it seems, I am not going to be able to bash Singleton just yet. I read all of those patterns with an open mind, to see if there was something better out there. Instead, what I have found is that all the specific examples of what they are bashing (for example, the PrintSpooler!) are exactly the cases where in our code, we never use Singleton in the first place.
We use Singletons exclusively to cache reference data and properties that are loaded at application start up time. Those objects don’t change (except perhaps if system administrator uses the edit reference data functionality).
So, we use Singleton pattern, I still like it, and I agree with all the people who say not to overuse it.
Getting email notifications of CVS commits
I always knew that there must be some such feature already in CVS, but just never got around to checking it out. Until now! So, here it goes:
If you want to get automatic email notifications (or want to do something else) when users check in code into CVS, it is rather simple to do:
- Log in to the CVS server, and go to the CVSROOT folder.
- Edit the loginfo file. By default, this file exists, and has a few comments. You can add a new line at the end, that says something like:
src/com/yourcompay/p1/* echo “File %{sVv}” | mail -s “p1 commit” you@youremail.com
Basically, the sytax of the loginfo record is:
- Pattern of the file to match
- Followed by command that should be run when a file matching the specified pattern is checked in. %s, %V, %v and %t are special variables that stand for full file name (%s), old version number (%V), new version number (%v) and tagname (%t).
The downside of this feature implementation however is that there is no way to filter out by tagname (if you want to get notifications only on certain tag, or trunk). Also, there is no way to filter out just by a person (say, if you have a problem developer). Also, no way to include the CVS diff in the email. Oh well.
Using JDK logging with Chainsaw
This had been covered earlier. If you want to use JDK logging, and you want to use existing log4j handlers (such as Chainsaw), then that requires an adapter to convert require records in jdk logging framework to records in log4j framework, so that log4j handlers can consume them.
More details on that adapter are here: http://www.kromosoft.com/resources/chainsawHandler/UsingChainsawWithJDKLogging.php
Apps