josh.earth
◀ Older Page 27 of 27 Newer ▶

Microwaves Are Evil (at least mine)

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.

Read more...

Swing has failed. What can we do?

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

Read more...

Swing Hack 5: a magic lens

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)

Read more...

How about a jApp for my car?

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.

Read more...

How do kids program today?

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.

Read more...

We should be software *designers*

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).

Read more...

Swing Hack 4: The universal right click

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.

Read more...

I have seen the light.

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.

Read more...

Swing Hack 3: Overlay Graphics

It's Friday so I thought I'd do another Swing hack:

Read more...

Too many ways.

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.

Read more...

Truly reliable software?

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.

Read more...

The two opposing forces of software: why career programmers will always have a job.

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.

Read more...

Passive Tech on the Ocean

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.

Read more...

SwingHack: keyboard spinner

While crusing through the AWT/Swing documentation for another project I ran across a method I never knew existed: Toolkit.setLockingKeyState(int keyCode, boolean on). It's been there since 1.3 (which is what, 3 years old now) but I never noticed it before. Hmm, I thought. What could I use that for?

Read more...

Swing Hack: Window Snapping

While working on another project I came up with a silly idea. How could I force windows to remain completely on screen and to snap to the screen edges? A simple form of window snapping. Since you can receive an event every time the window is moved it's easy to create a Component Listener to do it.

Read more...

Strong vs Weak Typing: Can't we have the best of both worlds?

I've seen lots of arguments on the merits of weak typing. It encourages flexiblity. It lets me write code faster. I don't worry about the details until later. I can do cool runtime tricks.

Read more...

Where are my free JavaBeans?!

I have a webserver. It's a small box sharing a friend's static DSL line with a few other boxes. It does the job pretty well, hosting the websites for my family members. When the blogging revolution hit I wrote some journaling software for myself. It was written in Perl originally, later switching to a servlet with XSLTs. This was great for me but not so great for my sister when she wanted a weblog. She can write HTML and copy links. That's about it. No javascript and certainly no knowledge of XSL templating. My solution was to switch to JSPs. I told her as long as you don't edit these magic tags everything will be fine. All is good until she says she wants a counter.

Read more...

CVS or Else?

In my years as a professional programmer I have used many Revision Control Systems (RCSes). It's that software that manages and protects the software you use. One of the tools of the toolmaker. Many companies pay tens of thousands of dollars for this software, often licensing it per-seat, and yet a perfectly good free alternative exists: CVS. In fact I will argue that there almost no reasons not to use CVS. While there are some other RCSes which beat CVS on technical grounds like parallel development I think that CVS has the edge in everything that counts.

Read more...

◀ Older Page 27 of 27 Newer ▶