Skip to main content

Ethan Nicholas

Ethan Nicholas is the lead engineer for the Yahoo! Publishing Tools team, and was the original author of the Swing-based Yahoo! SiteBuilder web design application. In his spare time he is developing JAXX, an XML-based user interface language for creating Java desktop applications.


enicholas's blog

Leaking Evil

Posted by enicholas on April 26, 2006 at 4:39 PM PDT

Memory leaks in Java are fortunately pretty rare, and when they do exist, off-the-shelf tools like JProfiler and OptimizeIt normally make short work of them. So when I discovered that an application I'm working on had a memory leak -- a BIG one -- I wasn't too worried. At first.

Reinventing GridBagLayout

Posted by enicholas on April 20, 2006 at 10:51 AM PDT

Java suffers from a layout crisis. It ships with a bunch of poorly-thought-out layout managers, a few (like GridLayout and BorderLayout) that are decent within their limited niche, and... GridBagLayout. Despite a few warts, GridBagLayout is powerful enough to handle almost any layout task -- but it's so ridiculously difficult to use that most programmers avoid it like the plague.

Creating a Service Provider Interface

Posted by enicholas on April 7, 2006 at 9:04 AM PDT

While working on my XML user interface language, JAXX, I wanted to provide a mechanism for users to add support for additional tags and data types.

Java 2 Browser Edition

Posted by enicholas on April 4, 2006 at 5:29 PM PDT

The problem

In my day job at Yahoo!, I face a frustrating problem: Java is the most powerful browser-based technology available, easily besting competitors like Ajax and Flex, and yet I can't use it. These are the main reasons:

Style Swing components using CSS

Posted by enicholas on March 24, 2006 at 8:17 AM PST

Swing does a great job of separating data (the models) and controls (the components themselves), but it really doesn't do a good job of separating controls from presentation (the visual appearance of the controls).