Skip to content

Monthly Archives: August 2008

JVM invocation – the Sun/Java folk screw up again.


It started out with bugzilla reports for Apache Tomcat. Ran across a series of messages for this bug. This is of interest for me, as a few years back I wrote a JavaService.exe – a program that ran as a proper Win32 service, and followed all the documented Sun/Java behaviors for discovering and invoking a […]

The stock File Open dialog is wrong.


The first time I went through the exercise of writing a GUI design guide was in the early 1980′s (very much pre-Windows). In the years between I have written a moderate number of GUI applications, but most of my work has been non-GUI, so I often spend years not thinking (much) about GUI design. My […]

Why FileInputStream is slow – continued


As noted earlier reads through FileInputStream were radically slower than I had expected. Hit a roadblock when I could not find the sources for SetByteArrayRegion(). Got the JDK7 sources to build locally, so went looking again – and finally found a mess of macros. A *partial* expansion of the SetByteArrayRegion() definition: DT_VOID_RETURN_MARK_DECL(SetByteArrayRegion); JNI_ENTRY(void, jni_SetByteArrayRegion(JNIEnv *env, […]

Guilty as charged…


User Interface Design for Programmers – Chapter 8 Human aptitude tends towards the bell curve. Maybe 98% of your customers are smart enough to use a television set. About 70% of them can use Windows. 15% can use Linux. 1% can program. But only 0.1% of them can program in a language like C++. And […]

Desktop design needs a kick in the pants


What is wrong with this picture? Don’t get it? Try this version… Everything outside the text box, everything grayed out in the second picture, is overhead. Wasted space. Pixels serving no purpose. Or very little purpose at the moment. In the above example, 18% active, and 82% overhead – not good. Even better? The text […]

Google and Programming


In an odd way, Google is harmful to programmers. To pick an example – look for examples of Java application/applet use. What you find is a lot of poor or obsolete information. For a programmer, how to filter out the (rare) good from the (often) bad is not easily obvious. Google is ranking results by […]