Joe Winchester

There are a number of esteemed contests for the greatest and fastest software developers among us - events where we can pit our coding prowess against fellow brainiacs and like-minded techies. I think it's high time we had an alternative set of awards, suited not to aspiring budd... (more)
In Jef Raskin's excellent book, The Humane User Interface, he discusses how the human brain is able to perform many tasks simultaneously while only having the ability to focus on one conscious thought at a time. Being able to process information and analyze it intelligently is cr... (more)
Software testing while one of the most important tasks done in a development project is often misunderstood and abused by everyone from programmers and managers to testers. Wikipedia calls testing "an empirical investigation conducted to provide stakeholders with information abo... (more)
User interface generation tools are something that has always been dear to my heart. I've enjoyed using them and have been fortunate enough to work on developing them. However, there's a huge tar pit to be avoided when using them on projects that I see people heading towards over... (more)
The software industry is often obsessed with progress be it in the form of a new language, wire protocol, specification update, or some other technology-driven feature. For me, software is a means to an end, and progress should be measured in features that allow code to be writte... (more)
When a product a colleague worked on recently shipped its first generally available release, the event was accompanied by a marketing fanfare of podcasts, press releases, and conference trips to beautiful cities with boxes of presentation materials, branded lapel pins, and flashi... (more)
Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it's still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the enti... (more)
At last year's JavaOne Chris Oliver gave a presentation on JavaFX in which he discussed how he was interested in programming Java2D not in terms of JComponent paintEvent methods that launch into graphics.drawLine(...) or graphics.drawRect(...) code, but instead by allowing the de... (more)
The finest programmer I've ever worked with told me recently that she was giving up coding altogether. The reason - a succession of inept and incompetent managers had just destroyed her faith in software development. Recounting her experiences over the past couple of years, she c... (more)
Before Java I was a Smalltalk guy. I remember switching from one language to the other and the tipping point that you reach when you’ve mastered the new language and how many months it takes, not to mention the years, to do really good design and know-how, which patterns to apply... (more)
One of the things I really enjoy at the moment is the recognition and adoption of agile programming as a fully fledged powerful way to deliver quality software projects. As its figurehead is a group of very talented individuals who have created the agile manifesto http://agileman... (more)
An acronym occurs when the first letters of a phrase are combined into a shortened form that becomes an abbreviated way of describing the original. In science, they are often used to take a fairly verbose and complex concept, such as Light Amplification by Stimulated Emission of ... (more)
Hippocrates, one of the founding fathers of modern medicine, realized that those who trained to become physicians were not only able to use their skills for good and for progress, but also might be inclined to misuse all they had learned. To protect against such abuses, new grads... (more)
Imagine you are a contestant on a TV game show and your grinning quiz master pops the question: "Name the one thing you most associate with Google?" Think about your answer - write it on a card (don't show me yet). Turning your card over, it's likely to be one of the following: ... (more)
One of the most fundamental design principles of Java is captured in its motto "Write Once, Run Anywhere." It describes how a .class file encodes its instructions at the bytecode level, allowing portability between different machines that, through a specific virtual machine imple... (more)
I was talking to a colleague who'd recently started a new assignment, and she remarked that while the work was interesting, she felt frustrated that she was surrounded by people who had no software talent. Her metaphor was drawn from the record industry where people either have, ... (more)
Often in software I find myself preaching restraint to those who wish to move platforms for no apparent reason than to keep up with the IT fashion industry; however, even harder than the silver-bullet chasers is dealing with organizations where change is required, not only in a c... (more)
The other day when I arrived at work my phone's voice mail light was lit up. Cool, except that after pressing the voice mail button I was asked to enter my password. Since it was so long since I had retrieved a message, I'd naturally forgotten what my password was; after several... (more)
In a recent presentation I attended, the speaker warmed up with a couple of bulleted lists that outlined the agenda of the session before moving onto his third slide that was clearly many days, work of stitching together powerpoint glyphs and figures in a sort of three dimensiona... (more)
A number of very significant development efforts are underway that bode well for Desktop Java's future. On the language side is the Java FX script project www.sun.com/software/javafx/index.jsp. Java FX is neat because it provides a high-level scripting interface that runs on top... (more)
© 2008 SYS-CON Media