I want my hexadecimal dollar

I’m taking the GRE this week as part of a foolish endeavor to possibly get more learning. Wow, have I forgotten lots of high school math. In preparation for the subject test, which I still haven’t signed up for, I picked up a copy of volumes 1 & 2 of TAOCP. I think these will be much better books once the MMIX versions are out in a few years. For now, they are hilariously antiquated as far as any of the MIX stuff goes. 6-bit (binary or decimal!) bytes, no stack, self-modifying code, punch cards, a weird assembly language that encodes the target registers in the opcode. It makes x86 look like a good ISA. Of course as Knuth says, the concepts themselves are timeless. And it does have me wanting to find a reason for using coroutines, so that’s something.

rm -r

43 files changed, 5671 deletions(-)

Today was a good day. I love deleting XML parsers more than anything in the whole world.

javac sucks

More evidence that javac is one of the dumbest compilers ever:

public class Foo extends java.lang.Object{
public Foo();
Code:
0:   aload_0
1:   invokespecial   #1; //Method java/lang/Object."":()V
4:   return

public static void main(java.lang.String[]);
Code:
0:   aconst_null
1:   instanceof      #2; //class Foo
4:   ifeq    15
7:   getstatic       #3; //Field java/lang/System.out:Ljava/io/PrintStream;
10:  ldc     #4; //String never!
12:  invokevirtual   #5; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
15:  return
}


Ok, I’ll give them a break — this probably never comes up in a real application.

PSA

Don’t believe anything you read on the internet today, especially this post.

Diebold: With a Vengance

If there was any doubt (who am I kidding) that election machine manufacturers are pure evil, check out the nastygram Ed Felten got from Sequoia. Incidentally, my home county election officials are batshit insane on this issue. Notice “[printable]” doesn’t mean “voter verifiable.” Just because they can print from it doesn’t mean they do.

Brute force ftw

I write dumb scripts with git! Here’s how to (slowly / automatically) remove any @SuppressWarnings annotations that don’t do anything:

for i in `grep -rl @SuppressWarnings src` ; do
echo $i
cp $i $i.tmp
grep -v "@SuppressWarnings" $i.tmp > $i
rm $i.tmp
git-commit -a -m "Disable warning suppressions for $i"
ant compile > build.txt

res=`grep "[javac].*error" build.txt || 
grep "[javac].*warning" build.txt`

if [[ ! -z $res ]]; then
echo error!
git-reset --hard HEAD~1
fi
done

Why I hate ant


$ strace -f ant > out.txt 2>&1
$ grep "stat.*java" out.txt | wc -l
32933

WTF? No wonder our build times suck. I still have yet to hear a rationale for the existence of ant that had any more substance than “but make uses tabs!”

Robots!


Talking Robot 2
Originally uploaded by bluesterror

Angeline and I went to the KC to see the ballet last night. They are having this celebration of Japan’s “hyperculture,” whatever that means. But one thing it means is there are robots there!

Actually, the robot display is somewhat disappointing. Asimo and the trumpet player thing are there for occasional demonstrations, but they weren’t out on the floor when we were there. So, the only robots we got to see were this little yellow thing that supposedly can talk (only in Japanese, however), a small menagerie of Aibo-like toys, and the creepy “Actroid” DER2, pictured. DER2 does look somewhat realistic, actually, but you wouldn’t mistake it for a real person. You can ask it canned questions, then it will do the speech recognition stuff and say a canned response. Eye-rolling stuff such as, “I’m looking for a guy with a heart of gold and brain circuits to match!”

Still, robots!