Skip to main content

David Walend

David Walend started learning Java with the alpha 3 release in 1994 after a kind computer science professor at Tufts University overheard his tantrum on distributed simulations, memory management, multithreaded code and meteorologists of questionable parentage. His active open source projects include JDigraph, SomnifugiJMS, and SalutafugiJMS. David is working on high-performance parallel and distributed computing at MathWorks.

 

dwalend's blog

Sharpening the Axe or Shaving the Yaks?

Posted by dwalend on January 22, 2005 at 9:37 AM PST

I've got this great new project at work right now. The deadlines are very gentle and the boundaries are very vague. I am to "make the department's job [experimental planning systems research] easier" and I need to be done by September.

Did I Miss Generic Array Creation?

Posted by dwalend on January 7, 2005 at 5:07 AM PST

While sweeping up sawdust before the latest release of JDigraph, I used -Xlint to spot remaining places where I have some things to clean up. I have just a handful to go. I'm having the most trouble with creating Arrays in collection-like classes. JDigraph is a generic efficient directed graph representation, so these arrays are everywhere.

Naming Generic Types

Posted by dwalend on December 5, 2004 at 4:55 PM PST

Naming Generic Types

We've had blogs covering DRY and magic Strings in the last week. I'm going to blog about generic type names, specifically using names longer than one letter.

Some of us are old enough to have used systems with a limit the length of variable names. But I haven't seen anyone use "x" as a generic double name in years (caveat coordinates).

Amazing -Xlint

Posted by dwalend on November 13, 2004 at 10:52 AM PST

I've been reorganizing JDigraph to take advantage of generics. I've been able to implement generic versions of Floyd-Warshall and Dijkstra's algorithms -- hopefully using generics means doing this for the last time. I want to highlight -Xlint, a JDK 5 feature that's saved me a lot of grueling code reads as I've learned generics. I wish I'd found it sooner.

Moving JDigraph

Posted by dwalend on August 31, 2004 at 5:16 AM PDT

I started writing the code that's grown into JDigraph in an algorithms class in 1995. I wanted to share it with some friends in 2000, so I added a BSD license on it in 2000 and hung it on sourceforge. I've got stronger loyalties to java.net, so I wanted to move JDigraph.

Test Driving Generics

Posted by dwalend on July 14, 2004 at 9:53 PM PDT

I'm impressed that people can blog while attending JavaOne. My head's just clearing up from all the new ideas slamming into the old ones. To relax on the way home, I started stitching generics into JDigraph, a general library for representing directed graphs.

SomnifugiJMS for User Interfaces, Now With Example Code

Posted by dwalend on June 23, 2004 at 4:03 AM PDT

Somnifugi JMS is a lightweight, single-JVM implementation of the JMS interface. I've used Somnifugi to simplify the threading architecture on a few user interfaces for clients over the years.

Shutdown Hooks

Posted by dwalend on May 9, 2004 at 4:38 PM PDT

I just handed in my last assignment for my masters degree, completing a ten-year effort. Maybe there is a reason why they put a "Slow Children" sign in front of our house. And JSDK 1.5 is rolling out some time soon.

Coupling in Software Architecture

Posted by dwalend on January 11, 2004 at 7:18 PM PST

Coupling in software architecture seems to form a spectrum, based on what has to change to make the system do something different. At one end of the spectrum are dissociated ubiquitous services, like those envisioned by JXTA. At the other end are the highly-coupled systems of architectural nightmares. In between I've identified configured services, component systems, and client-server systems.

Reviewing the Java Community Process v. 2.6 (JSR-215)

Posted by dwalend on October 26, 2003 at 3:29 PM PST

The Java Community Process's stated goal is to produce "high quality specifications in 'Internet time' using an inclusive consensus building approach...Consensus around the form and content of the draft is ... built using an iterative review process that allows an ever-widening audience to review and comment on the document" (JSR-215, 2003).