free hit counter

Thursday, June 30, 2005

Does Java pass by reference or pass by value?

It's a good question, with an interesting answer.

Does Java pass by reference or pass by value?

Friday, June 24, 2005

Highpoint 370 raid controller in linux

Uggh, I should have known it was too good to be true. My $60 adaptec RAID card is actually a fake raid card.

Now I'm trying to get it to work. Seems I need to remove the old hpt370 raid drivers that are compiled into my kernel, then reconfigure the kernel without this support, then compile and dynamicly load the latest driver.

I'm sure the process will generate more posts.

BuildYourOwnKernel - DebianWiki
http://www.debian.org/doc/manuals/reference/ch-kernel.en.html

Thursday, June 23, 2005

xmas gift for Keith

My father in law likes cool tools as much as I do. He'll dig this for christmas next year
ClampTite - Ordering - J. S. Enterprises - www.clamptool.com

Virtual Reality Sound Labs
VR3 VRFM7 MP3 FM Modulator
Plug n'Play Apple iPod & all MP3 players in your vehicle!

Error and Exception Handling

almost a justified ASSERT

I almost found a justified use for ASSERT today. If you've read previous posts, or talked with me about programming for any length it's likely you've heard my contention that ASSERT is almost always misused as a substitute for real error handling. I don't think you should ASSERT(sytem("foobar baz")), nor should you ASSERT(fopen(infile)).

I was writing a class to represent hardware registers and their fields. Theoretically these classes are more likely than your average code to be ported to different platforms- 16bit microcontrollers all the way up to a 64 bit Windows machine.

At this point I had an "aha", ASSERT could be quite usefull in ensuring that code will be well behaved when porting to different architectures, a programmer error. E.g. the size of an integer is such a fundamental quantity, a mortal user could never cause anASSERT dealing with integer size to trigger, but a programmer could when porting to a different architecture.

But in my case, the error condition for the programmer error of porting to a machine with a smaller integer size, which an ASSERT would be a handy way to catch, overlaps with the user error of creating too large of a register, and can be caught when creating the class. So, the check for bad input from the user obviates the need for an ASSERT.


boolean tRegister::bitValue(uint bitNumber)
{
if (bitNumber > bitWidth()-1)
throw runtime_error("bit number exceeds available register size");

uint mask= 1 << bitNumber;
return mValue & mask; }
}

Friday, June 17, 2005

jikes for fast java

I've been checking out ECJ, evolutionary computing in Java. They recommend using jikes instead of javac for faster compiles.

Here's the error I get and the answer:

*** Semantic Error: You need to modify your classpath, sourcepath,
bootclasspath, and/or extdirs setup. Package "java/lang" could not be found
in: .

What does that mean?

A:
The instructions are in the online notes, but not easy to find. Here's what you are looking for:

You probably want to use jikes instead of javac. It gives somewhat clearer error messsages, and it's about 10 times as fast. To use jikes, you need to do a little setup. Type the command

setenv CLASSPATH .:/s/jdk1.4.2/jre/lib/rt.jar



link

Linked-List Memory Sort

A nice implementation of a linked list sort in C. The really sad thing is something this basic isn't in some library somewhere.

Linked-List Memory Sort

DIY Baby Wipes

Homemade Baby Wipes: "# Roll of paper towels
# Baby soap (1 tb)
# Baby oil (1 tb)
# Water (2/3 cup)
# Plastic container (e.g. Rubbermaid 3 Qt.)"

The short of it:
cut roll of paper towels in half with table saw
Remove inner cardboard core
soak in above solution inside containter
draw towels from middle of roll

Monday, June 13, 2005

International Travel Immunizations in Santa Rosa

Wednesday, June 08, 2005

LibUsb-Win32

I think user space apps should be able to control hardware. Here's a library to make that happen:

LibUsb-Win32

Tuesday, June 07, 2005

Whiteboard Photo Image Capturing Software

Very cool looking product. The benefits of a digital whiteboard without all the fuss. $250 + the cost of a digital camera

Whiteboard Photo Image Capturing Software

Other software project enhancing goodies:
http://www.xp123.com/xplor/xp0505/