Archive for November, 2009

Double.equals for NaN and -0.0

November 30th, 2009, 12:56 pm by Mathias

I just fixed two bugs in DrJava that had to do with boxed floating-point comparisons of NaN and -0.0.

Both bugs had the same cause, a difference between the behavior of primitive == and the equals method in Double and Float.

According to IEEE 754, any NaN isn’t equal to anything, not even itself. Therefore, Double.NaN==Double.NaN should [...]

Print This Print This   Email This Email This

CSEE&T Paper Not Accepted

November 28th, 2009, 3:07 am by Mathias

As expected, the paper I submitted for CSEE&T back in October did not get accepted. But that was a long shot anyway, and I already have something else for it in mind.

Print This Print This   Email This Email This

Happy Thanksgiving

November 26th, 2009, 8:12 pm by Mathias

Happy Thanksgiving, everyone! I was fortunate to spend a wonderful day with Walid, Corky and Corky’s family. Thank you.

Print This Print This   Email This Email This

Remembered Number Significance

November 25th, 2009, 12:32 pm by Mathias

Memories can be strange. A lot of people around me are probably now having memories triggered by (turkey) smells. I have memories triggered by numbers.

Our Hudson build server just notified us of a unit test failure after a recent commit. It was a:

java.lang.NullPointerException at edu.rice.cs.drjava.model.definitions.CompoundUndoManager$1.run(CompoundUndoManager.java:216)

The line number, 216 immediately hat [...]

Print This Print This   Email This Email This

Mac OS X Race Condition in DrJava Start-Up

November 24th, 2009, 10:41 pm by Mathias

A few days ago, I noticed that double-clicking on a *.java file in Windows Explorer caused an AssertionError in DrJava. This wasn’t a huge issue, because it only shows with assertions enabled (i.e. -ea in the JVM Arguments for the Main JVM).

It’s still something I wanted to fix, because under some circumstances, opening a file [...]

Print This Print This   Email This Email This

Huzzah for Sleeping In!

November 21st, 2009, 2:56 pm by Mathias

Today I slept in for the first time in a while. It’s been a tough fortnight, but we finished our PLDI 2010 submission. I feel it is considerably stronger than our previous submissions. Let’s home my confidence is justified.

Print This Print This   Email This Email This

Open Source: Don’t Steal What You Can Have for Free

November 18th, 2009, 12:37 am by Mathias

Open source is not the same as public domain material. It is not content that is not owned by anyone.

The fact that we give something away for free does not allow you to just steal it.

DrJava is an open source project, made available under the BSD license. We freely distribute our source code and hope [...]

Print This Print This   Email This Email This

Halting Problem in the Style of Dr. Seuss

November 17th, 2009, 12:28 am by Mathias

I found a proof in verse of the undecidability of the halting problem, in the style of Dr Seuss, written by Geoffrey K. Pullum1. Amusing and clear at the same time.

SCOOPING THE LOOP SNOOPER: A proof that the Halting Problem is undecidable

If P warns of infinite loops, Q will quit; yet P is supposed to speak truly [...]

Print This Print This   Email This Email This

New Mint Release

November 13th, 2009, 11:52 pm by Mathias

I just created a new release of Mint and DrJava with Mint.

JavaMint-r14577.tar.gzJavaMint-r14577-binaries.zipdrjava-r5130-mint-r14577.jar

There were some dramatic performance improvements in the Mint compiler thanks to base type lifting instead of performing cross-stage persistence for them. I also fixed a bug that didn’t allow escaping into bracket statements. And DrJava with Mint now has a simple logo (mostly [...]

Print This Print This   Email This Email This

Boring Backport

November 13th, 2009, 12:30 pm by Mathias

I’m in the process of porting some scientific code originally written in Fortran, which was then ported to Java, which was then ported to Habanero Java, back to Java, while maintaining a Habanero Java feature called array views. It’s incredibly frustrating… I wish I could replace myself with a short shell script.

Update

Wow, I wish Java [...]

Print This Print This   Email This Email This

In the Thresher!

November 12th, 2009, 8:28 pm by Mathias

In light of the upcoming registration period for the Spring 2010 semester, the Rice Thresher (our university newspaper) has published last spring’s course evaluations. It’s kind of cool to be listed in there, even though I probably won’t offer COMP 402 again.

Thresher Course Evaluations Spring 2009 (lower is better, pdf)

Update

The Thresher incorrectly listed the Statistics [...]

Print This Print This   Email This Email This

Wikipedia and the Right to Know vs Right to Privacy

November 12th, 2009, 2:31 pm by Mathias

Sometimes it’s interesting to compare Wikipedia articles in different languages. I just read something about the last school shooting in Germany, the one in Winnenden in March 2009, and decided to search the web for it. The English Wikipedia article came up first, probably because I am located in the US.

I expected the German version [...]

Print This Print This   Email This Email This

Twenty Years Ago

November 9th, 2009, 4:43 pm by Mathias

Twenty years ago, on 9 November 1989, the Berlin Wall came down.

I remember the day, but the TV coverage doesn’t belong to my most intense childhood TV memories: It feels like this event is bracketed by stronger memories of the Challenger disaster and Chernobyl in 1986 and Desert Shield/Desert Storm in 1990/91.

The German radio station [...]

Print This Print This   Email This Email This

Ridiculous Texas Bureaucracy That Doesn’t Make Anyone Safer

November 9th, 2009, 10:38 am by Mathias

Last Tuesday I went back to the DPS to renew my drivers license — temporary visitors now have to do that once a year. I took exactly the same documents with me that allowed me to get a drivers license last year (passport, visa, I-20 immigration form, I-94 immigration form, current drivers license, enrollment verification, [...]

Print This Print This   Email This Email This

Lifting for Primitive and Boxed Types and Strings

November 4th, 2009, 12:46 pm by Mathias

When we examined the code that was generated for the sparse matrix multiplication benchmark of Mint, we noticed that variables containing loop indices had become cross-stage persistent (CSP) variables, which necessitated an array lookup. This was much more expensive than directly accessing a final local variable.

I have now implemented lifting for primitive and boxed types [...]

Print This Print This   Email This Email This

DrJava Interactions Pane Output Redirection

November 3rd, 2009, 11:34 pm by Mathias

We got a question today about how the output of a Java program running in DrJava’s Interactions pane could be redirected into a file, just like it could be done in a Unix or DOS shell:

java Motion > motion.dat

The Interactions pane supports a simulated java command, but this is merely for convenience. java Motion actually [...]

Print This Print This   Email This Email This