Any HTML Renderers for Java?
February 3rd, 2004
I haven't written anything in a while because it was a busy Christmas season, Kimi is going back to school along with work, Lizi has to be fixed, and I started an exciting new job in the field of document management. But more on all of these later. Back to technology.
2004: the year of the Net-App
January 5th, 2004
A lot of people have put out lists of what they expect to see for the new year. Instead of going across the industry I'm going to focus on one topic in particular: networked applications. I really think that 2004 is the year of the netapp. Now sure, I know what you're thinking: "I thought 1994 was the birth of the most popular networked application ever: the webbrowser. You're about ten years too late". I'm not talking about the webbrowser. It's a general purpose application that isn't very good at anything, but good enough for almost everything. I really think the last few years have shown a desire for specific networked applications that, in the long run, will blow the pants off ye old browser.
Swing Hack 7: Let it Snow!
December 22nd, 2003
I've always wanted to make some sort of display that draws outside of a window with images scattered all across the screen. Though previously impossible in Java, I found a way to do it. And since Christmas is coming up I thought I'd use it to make a snowflake display. Here's a cropped screenshot of what it looks like:
How do you develop?
December 17th, 2003
We hear a lot about development processes these days, but I'd like to know what techniques people actually use? Do you create UML diagrams? Do you map out the states? And when it comes down to the actual code, how do you break it up into classes and packages? Does your methodology vary depending on the type of program you are creating?
Spanish Java
December 12th, 2003
I was looking at the referers to my Swing has failed article and I noticed a site called Java Hispano.org. I think it's really cool that there is a spanish language java site. This is one of the things I love about the Java community. It brings together people from many different backgrounds, unified by the goal of making high quality reusable software.
Swing Hack 6: Ghost Mouse
December 9th, 2003
I've been playing with Swing a lot lately for my new series of articles. In my research I came across another interesting class java.awt.Robot
. It's a class that can automate the UI, mainly for testing. One particularly cool feature is the mouseMove
function. Once I saw this I got evil ideas. :) Imagine rogue java programs that move the mouse cursor to mystify and befuddle the user. Spelling out hideous horrible messages. Redrum! Redrum!. :)
Point, Click, and Drool!
December 1st, 2003
When reading discussions about Unix versus Windows versus Mac, I often hear people complain about the Point, Click, and Drool user interface. This is usually directed at the Mac, but I've heard it refer to Windows and even KDE before. These people imply (or sometimes simply state) that powerful computers are hard to use and that these easy to use computers are for mindnumbingly stupid people who can't be trusted with pencils, much less normal computers.
Microwaves Are Evil (at least mine)
November 24th, 2003
Yes, that's right microwaves are evil. More specifically, the microwave in my office. Or, to get right down to it, the interface on this microwave. You see, it's awful. Just plain awful. And yet, I've seen worse.
Swing has failed. What can we do?
November 10th, 2003
I've been writing Swing apps for a long time and despite the speed and API improvements I don't think it's gotten better. After reading
Swing Hack 5: a magic lens
November 5th, 2003
It's been a while since I've written something, so I thought I'd start out with another Swing Hack. This time I've expanded on the overlay idea of SwingHack 3 by adding sort of a magic lens. In this hack the overlaid information can only be seen when the special lens cursor is over it. To pull this off I've created a custom cursor using a buffer image and set it on the glasspane. The buffer contains a crude set of boxes to define the view area, but you could just as easily use an image of a magnifying lens. Next I've restricted the drawing of the glass pane to only be under the cursor by getting the cursor coordinates from a mouse motion listener and setting a clipping rectangle centered around the cursor. Finally I've added code to print the mouse coordinates as part of the cursor. Run, compile, and you get this: (pretend that you can see the cursor which Windows printscreen thoughtfully removes for you)
How about a jApp for my car?
October 21st, 2003
Chris recently wrote about the jApps One in particular intriqued me: the Dukester a little java box that plays MP3s and can download other things. This fits very nicely with an idea I had a few years ago and always wondered why no one ever did it: good MP3 car stereos.
How do kids program today?
October 14th, 2003
I have often wondered how people learn to program today. In the old days we had Basic and Logo, but what do kids use today? The old standbys are powerful enough to make something for the web (assuming they even exist) and nothing else has a simple development environment for children. Perhaps we need something new.
We should be software *designers*
October 9th, 2003
I stumbled across an older online magazine recently. A List Apart has a wide variety of topics, ranging from CSS and typography to what a designer truly does for their client. While the discussions range from the technical to the philosophical they always target their stories at designers. They've built a truly useful site and I look forward to their return (it's on hiatus now but should be back soon with new content).
Swing Hack 4: The universal right click
October 3rd, 2003
I received an email today asking about my use of the glass pane. It seems this fellow wants to handle right clicks on any component in each screen. A logical request. In most cases your right clicks are not limited to a single component, yet to receive the events required to show popups you have to add a listener to each component! Not enjoyable.
I have seen the light.
October 2nd, 2003
As part of a new project for work I have finally broken down and learned Struts and JSPs. Struts is tremendously useful. I wish it had been around five years ago when I was up to my ears in webbased applications. But JSPs I've never been impressed with. They are good for templating but the combination of java code and html always seemed crufty. I've been minimizing the amount of code I put in them and certainly prefer to use something like XSL to keep the UI and code separate.
Swing Hack 3: Overlay Graphics
September 26th, 2003
It's Friday so I thought I'd do another Swing hack:
Too many ways.
September 24th, 2003
There's been an uproar about Phillip Greenspun calling Java the SUV of computer languages lately. I don't agree with the general theme of the entry that a project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a scripting language.
Truly reliable software?
September 21st, 2003
I've been thinking. We have lots of software crashing these days. Some due to bugs. Some due to viruses and worms. Some due to hardware failure. And yet software is becoming more common and important than ever before. So what can we do to make software more reliable? Can it be 100% reliable when it is written by failable humans.
The two opposing forces of software: why career programmers will always have a job.
September 15th, 2003
A lot of people have been complaining about the loss of jobs in the programming field, and it's only going to get worse they say. I don't think it's true. There will always be work for the career programmer. We just have to make sure we move up the abstraction ladder. Even in a world where basic coding is done overseas and many components are opensourced, there's still plenty of work to be done, and paid for.
Passive Tech on the Ocean
September 9th, 2003
Last week I spent a much needed vacation in The Outer Banks. If you ever see a sticker with OBX in a circle on it, that's the Outer Banks. Beautiful and isolated barrier islands off of the coast of North Carolina, they provide great rest and relaxation. And also the opportunity to think about how technology fits in our lives. I've got lots of new ideas to discuss in my coming entries, but one in particular struck me: Passive technology.