Archive for February, 2010

Review: DrJava – A Simple IDE For Beginners

February 28th, 2010, 8:52 pm by Mathias

I found a nice review of DrJava today, written by Julian Jaic.

DrJava is a simple and light IDE for Java development. It is a free, open source IDE primarily designed for students. But it also includes powerful features for more advanced users. It has integrated debuggers, support unit testing with Junit and tools to generate [...]

Print This Print This   Email This Email This

ReLooper for DrJava?

February 27th, 2010, 8:37 am by Mathias

I received a message from Danny Dig, the project lead of the ReLooper project. ReLooper is a refactoring tool that enables Java programmers to parallelize loops over arrays or vectors using Java’s upcoming ParallelArray framework. I assume Danny searched for all Java projects on SourceForge and contacted all “expert programmers” of those projects.

I know [...]

Print This Print This   Email This Email This

Short, Non-Technical Talks Are Hard

February 25th, 2010, 6:43 pm by Mathias

I just gave my talk Testing Concurrent Programs, A 7-Minute Jargon-Free Introduction to the students of the Thesis Writing Seminar of the School of Engineering here at Rice. It went very well, but I’ve got to say that this was probably the most difficult talk I’ve had to prepare.

It is a 7-minute talk to an [...]

Print This Print This   Email This Email This

Presentation: Testing Concurrent Programs, A 7-Minute Jargon-Free Introduction

February 25th, 2010, 6:25 pm by Mathias

Testing Concurrent Programs, A 7-Minute Jargon-Free Introduction (PowerPoint, view embedded)

Where: Rice University School of Engineering, Thesis Writing Seminar When: February 25, 2010

A 7-minute jargon-free introduction to the problems of testing concurrent programs, and a proposal for a solution, with non-computer science engineering graduate students as intended audience.

Print This Print This   Email This Email This

1.6.0_18 Seems to Have Fixed Bug

February 18th, 2010, 12:11 pm by Mathias

Java’s latest version, JDK 1.6.0 Update 18, seems to have fixed the most frequent DrJava bug report, which Corky determined to be Sun’s problem (Oracle’s problem now). We have been filing all of the bug reports as duplicates of bug 2831821″Caret updating is broken”.

So far, there hasn’t been a single bug report describing the same [...]

Print This Print This   Email This Email This

New Mint Release: r15116

February 17th, 2010, 9:44 pm by Mathias

I just created a new release of Mint and DrJava with Mint: February 17, 2010 (r15116). The release is available from the Mint implementation page:

JavaMint-r15116.tar.gz JavaMint-r15116-binaries.zip drjava-r5178-mint-r15116.jar

There were some small changes in the approximation of weak separability to make the implementation match improvements in the [...]

Print This Print This   Email This Email This

<clinit> in The Thread of First Use

February 16th, 2010, 11:21 pm by Mathias

Question: In which thread does <clinit> run?

Answer: <clinit> is being executed in whatever thread uses the class first.

123456789101112131415161718192021222324252627282930313233343536package testers;

import java.awt.EventQueue;

public class CLInit {     public static void main(String[] args) throws Exception {         new CLInit2().doSomething();         EventQueue.invokeAndWait(new Runnable() {             public void run() {         [...]

Print This Print This   Email This Email This

Anonymous Inner Class Surprise

February 16th, 2010, 1:51 pm by Mathias

I had no idea that the following code was allowed:

1234567public class AICSurprise {     public static void main(String[] args) {         new Object() {             public void foo() { System.out.println("foo"); }         }.foo();     } }

I thought foo() could not be accessed from outside the class, because the [...]

Print This Print This   Email This Email This

Code<?> Escaped As Statement

February 16th, 2010, 11:48 am by Mathias

A few days ago, I changed the Mint compiler to allow non-void code objects to be spliced in where statement form is required:

12Code<Integer> x = <| 1 |>; Code<Void> c = <| { `x } |>;

This essentially generates the code below, which allows the 1 to be discarded:

1<| { { Object temp = 1; } } [...]

Print This Print This   Email This Email This

<clinit> in Which Thread?

February 16th, 2010, 1:58 am by Mathias

Question: In which thread does <clinit> run?

Answer tomorrow.

Print This Print This   Email This Email This

The Free Java Book

February 15th, 2010, 1:32 pm by Mathias

Corky just informed me that there is a talk by Daniel L. Schuster at SIGCSE 2010 about Java, games, and the Free Java Book. I’ll definitely check out the talk and the book. I’ll also examine how concurrency is handled in the ACM Java Library.

Daniel is kind enough to state the following in his book:

Dr. [...]

Print This Print This   Email This Email This

New Mint Release: r15085

February 12th, 2010, 10:28 am by Mathias

I just created a new release of Mint and DrJava with Mint: February 12, 2010 (r15085). The release is available from the Mint implementation page:

JavaMint-r15085.tar.gz JavaMint-r15085-binaries.zip drjava-r5178-mint-r15085.jar

The two changes since the last release involve CSP values and escapes in bracket statements. Instead of storing CSP values in a CSP table, we now store CSP values in individual [...]

Print This Print This   Email This Email This

Mint Talk Video

February 12th, 2010, 1:29 am by Mathias

The video recording of the Mint talk I gave on Monday is now available on vimeo:

Mint: A Multi-stage Extension of Java (Mathias Ricken) from Mathias Ricken on Vimeo.

Print This Print This   Email This Email This

Pictures from Yesterday’s Talk

February 9th, 2010, 1:49 pm by Mathias

Here are a few pictures from yesterday’s talk about Mint.

Print This Print This   Email This Email This

Mint Talk in COMP 600

February 8th, 2010, 3:39 pm by Mathias

I just gave the first presentation about Mint in the COMP 600 graduate seminar at Rice. The slides for “Mint: A Multi-stage Extension of Java” are available (PowerPoint, PDF, view embedded). This weekend, I was kicking myself why I had volunteered for this talk out of turn, but it was good practice, and I’m a [...]

Print This Print This   Email This Email This

Presentation: Mint: A Multi-stage Extension of Java

February 8th, 2010, 3:27 pm by Mathias

Mint: A Multi-stage Extension of Java (PowerPoint, PDF, view embedded) Video recording available on vimeo.

Where: Rice University Computer Science Department, COMP 600 Graduate Seminar When: February 8, 2010

Multi-stage programming (MSP) provides a safe way of generating code at run-time. In mostly-functional languages like MetaOCaml, this has been used to reduce the performance penalties of abstractions such as loops, recursion or interpretation. [...]

Print This Print This   Email This Email This