Wednesday, May 10, 2006

Java references

Newbies to C++ and Java often don't realize the relationship between references and pointers. Basically, references are pointers that are always dereferenced. Of course, in C++ you can actually use pointers or references. In Java, pretty much everything is by reference but this doesn't mean you can't have a nullPointerException. If you forget to initialize an object it will be null. Conceptually, C# works the same way as Java though you can actually use pointers using the "unsafe" keywords but you must explicitly declare it as unsafe.

Pascal Aschwanden

Tuesday, May 09, 2006

Linux Process termination

Every so often you'll get a process that refuses end normally. The kill command will usually stop the program; it sends the process the TERM signal. The processes that don't catch this process will terminate. However, some processes do catch this signal because they probably want some exit code to executed before they exit. If they catch it, they are supposed to exit but if they're not running properly it may still refuse to exit. In this case you have to send Kill -9; this signal cannot be caught.

In some cases you may have to kill the parent because some processes replicate new children whenever the children are deleted. You can check the parent id of the process with ps -f. Then just execute a kill on that parent. Once the parent is killed all the children processes should be killed as well.

Saturday, May 06, 2006

The Hottest Software Skills

The following is a statistic of skills that are in demand based on the monster search engine. I had to narrow down the search constraints to reduce the number of hits i got to bring the numbers below their maximum of 1000. I searched the following skills for the 94040 zip code with a 10 mile search radius. These results may not be representative of the world but it probably will give a good idea. Please excuse the tabs; its hard to get them lined up.

I'm not surprised that C++ and Java are at the top of the desired skills but I hadn't expected SQL to be quite so high. HTML, XML and Perl are no surprise; those are pretty much industry standards with HTML being a kind of assembly language for the web. Somehow I had expected C# to be a little more popular, possibly competing with Java but that isn't the case. It seems fewer people are willing to shell out the dollars on the .NET ide.

Windows 516
Linux 443

C++ 451
Java 357
SQL 318
HTML 293
XML 252
Perl 244
TCP 229


javascript 139
shell 130
shell scripting 107
python 86
.NET 86
C 523-451=72
c# 68
SOAP 57
LDAP 50
Active Director 49
CVS 48
TCL 44
xslt 42
php 43
SMTP 42
UML 40
JDBC 37
Assembly language 33
Design 31 (design patterns)
Make scr. 28 (prob more)
OOP 15
Eclipse 15
OSI 13
Cobol 11
Scheme 8
Ruby 8
LISP 1
Haskell 0