Jeff Lowery at ONJava.com - Do As They Need, Not As They Say:
"'Do it the way we've always done it, except better.' This is the unstated initial requirement of any new system I've been asked to develop. Nobody really wants to change the way things are done, even though they recognize the problems. It's an expensive proposition to replace an existing system with a new one, and whoever's paying for it is going to want to see some bang for their buck. It may not be the end users, who have learned to live within the limitations of the current system and probably have all sorts of protocols for dealing with the stuff that goes wrong on a frequent basis. Instead, it will likely be the upper-level manager or executive who sees in the bottom line just how costly such workarounds can be. He or she may also understand that they "can't get there from here" with the system they have, while the end users may not possess such strategic vision.
[...] I think it's important that you see your end users as your customers, even though management is paying the bills. While it's true that you can't ignore requirements from the management side, you can at least convince your end users that any additional data they have to key in, or any change in methods pertaining to new business processes, are not due to your own capriciousness. You have to identify with the end user, and recognize his or her pain as your pain. When you've done that, you see to it that change occurs in the least painful way possible."
Thu, 29 Apr 2004 13:01:10 +0200
There's a lot to consider when dealing with multibyte characters in your programs - see this JavaWorld article:
"Most J2EE servers can support multibyte-character languages (like Chinese and Japanese) very well, but different J2EE servers and browsers support them differently. When developers port some Chinese (or Japanese) localized applications from one server to another, they will always face multibyte-character problems. In this article, Wang Yu analyzes the root causes of problems related to multibyte characters and provides some solutions and guidelines."
Thu, 29 Apr 2004 12:55:35 +0200
A lot of the advantages of Python over Java apply to PHP as well:
"A programmer can be significantly more productive in Python than in Java. How much more productive? The most widely accepted estimate is 5-10 times. On the basis of my own personal experience with the two languages, I agree with this estimate. [...]
On this page, I present a list of side-by-side comparisons of features of Java and Python. If you look at these comparisons, you can see why Python can be written much more quickly, and maintained much more easily, than Java."
Thu, 29 Apr 2004 09:20:44 +0200
At ONLamp.com, Robert Jones has lots of good advice for Planning for Disaster Recovery on LAMP Systems:
"Don't get me wrong, disaster recovery is a critical issue. It's just that it can be a very painful process for those of us who come from an informal development background. [...] I know I'm not the only one dealing with this issue so here are some ideas that you might want to build into your apps.
The problem with our sort of database applications is that they weave themselves into the Linux system configuration. We add definition blocks to the configuration files for Apache, MySQL, Samba, et al. We create system-wide environment variables in user shells and insert symbolic links into the filesystem. Every time we rebuild a system we have to make the configuration changes anew. The potential for error is large, even assuming we remember all the steps."
Wed, 28 Apr 2004 09:48:57 +0200
Tim Bray on Web Services Theory and Practice:
"I think somebody needs to stand up and start waving a flag that's labeled 'WS-Simplification' or 'Real Web Services' or something, that's all about building applications with what's here today and what works today: XML, HTTP, URIs, SOAP, WSDL, and that's about it.
People who need solutions today are building successfully today with that toolkit and I know because I've seen them. Save the future for the future and don't bet on research projects, leaky abstractions, or the inventiveness of committees."
Wed, 28 Apr 2004 08:26:58 +0200
Jon Udell on Radical software customization:
"We can all agree that software must be customizable. But when programmers alone decide how users can do things, you often end up with a scenario like Aunt Tillie's OS X adventure: a dashboard packed with incomprehensible dials and knobs. If the dashboard was built with a dynamic language, the programmer can at least rearrange the controls more quickly and more easily. But the rules engines that James Owen has been writing about, and the FIT framework that Ward Cunningham has created, point toward a radically altered relationship between software makers and software users. It can't happen too soon."
Wed, 28 Apr 2004 08:07:49 +0200
Tue, 27 Apr 2004 14:23:02 +0200
Andy Lester - The pen is mightier than the laser:
"In the World Of Business, there's no reason to bow down to the God Of Laser Printing [...]. Pen and paper works on the small scale, too. Extreme Programming uses the concept of the "story card", a 3"x5" handwritten index card that shows high-level tasks to be done. They're easily shuffled and reorganized.
Stop assuming that the computer is the way to go! Step back and consider what your target format is. Is it something you're mass-producing? Is it something that needs that "professional" look? Maybe you don't actually the computer to take care of it for you..."
Tue, 27 Apr 2004 10:31:15 +0200
Jakob Nielsen has advice for B2B websites:
"Build a reputation for being easy to do business with and for standing by your products with great service. This is where the Web shines: you can provide excellent post-sales support online at a fraction of the cost of older methods. Unfortunately, most of the support sites we've tested fail the challenge, probably because online support is mistakenly seen as a cost center rather than the Web's main brand-building opportunity."
Tue, 27 Apr 2004 09:05:55 +0200
Stephan Spencer, president of Netconcepts, in a National Business Review article: "We were originally developing with Java and .JSP, and only using PHP for prototyping. Eventually we realised that the PHP prototypes worked better than the .JSP versions, so we dropped .JSP with relief; and we've never looked back."
Fri, 23 Apr 2004 07:45:54 +0200
Looks like a great localization resource: The Common Locale Data Repository Project already did the job of translating language and country names for you and me, and they're defining common date, time and currency formats per language/country. So if you need to know what's the Thai word for "Hungarian", just look here!
"The purpose of the Common Locale Data Repository project is to provide a general XML format for the exchange of locale information for use in application and system development, and to gather, store, and make available a common set of locale data generated in that format."
Thu, 22 Apr 2004 10:55:21 +0200
Great article: Mike Duigou writes about Complexity.
"What could make JXTA or any technology complicated for new users? There are far too many possibilities: * Installation hell * Configuration hell * Starting hell * Documentation hell * API hell * More hells"
Most problems he describes can happen with any programming language, but this one seems Java-specific:
"When you start working with a new technology you are confronted with a vast seemingly featureless wall of API calls. Which ones do you start with? Are some preferred to others? How do I create a sub-class for a class that has 200 methods? (I recently had to make my first Swing component, a sub-class of JComboBox. I may one day recover from the experience). Perhaps most importantly, how do I begin architecting an application out of 80 classes and 500 methods that I have never used?"
Thu, 22 Apr 2004 08:10:55 +0200
Old (May 2000), but Kent Fitch's thoughts about Topic Maps Visualisation are still interesting: "This document presents some ideas on how a topic map based structure could be browsed by an end-user. It isn't meant to define a proposed interface - just explore the benefits and drawbacks of one simple option based on the Windows File Explorer navigation paradigm."
Wed, 21 Apr 2004 22:18:08 +0200
Jon Udell on Proxy power: "[...] I've been experimenting with a local Web proxy that XHTML-izes and transforms Web pages on the fly. [...] Given such a database, the on-the-fly filter could do some clever correlation. Suppose that for the pages I read -- and maybe also for each link in those pages -- the filter extracts URLs, queries the database for elements that mention those URLs, and rewrites the current page with links to the query output. Voila! Instant context."
Tue, 20 Apr 2004 09:24:18 +0200
"It's my Open Source project and I'll code what I want to." Michelle Levesque discusses Fundamental Issues with Open Source Software Development:
"I've found the five most important flaws with Open Source software development to be as follows: 1) User interface design 2) Documentation 3) Feature-centric development 4) Programming for the self 5) Religious blindness"
Fri, 16 Apr 2004 12:01:18 +0200
Thu, 15 Apr 2004 10:05:05 +0200
Short, but funny: Sam Ruby's Survival guide to i18n
"OK, so we've established that you've got a tool that you want to ensure is internationalized. The first thing I want you to do is to copy the string
into your tool and observe what comes out the other side. If you have a weblogging tool, put it in the title, summary, content, and any other nook and cranny you can find. Comments too, if you have got them. Check every output that can be produced, including html and feeds.
If the output comes out intact, you've passed the first test, and can go on to part two, cleaning windows."
Thu, 15 Apr 2004 10:03:06 +0200
A long paper by Lars Marius Garshol: Metadata? Thesauri? Taxonomies? Topic Maps! - Making sense of it all
"To be faced with a document collection and not to be able to find the information you know exists somewhere within it is a problem as old as the existence of document collections. Information Architecture is the discipline dealing with the modern version of this problem: how to organize web sites so that users actually can find what they are looking for.
Information architects have so far applied known and well-tried tools from library science to solve this problem, and now topic maps are sailing up as another potential tool for information architects. This raises the question of how topic maps compare with the traditional solutions, and that is the question this paper attempts to address.
The paper argues that topic maps go beyond the traditional solutions in the sense that it provides a framework within which they can be represented as they are, but also extended in ways which significantly improve information retrieval."
Tue, 13 Apr 2004 15:16:07 +0200
Peter Van Dijck asks: "Why is it so hard to lean topicmaps?"
"Topicmap tools are at the topicmap level, not at the real-life usefulness level. In other words, topicmap tools let you manage, create, and merge topicmaps. But they don't let you do anything specifically useful outside of the topicmap realm (like create a simple application for managing your CD's, like Access lets you do).
The level of abstraction of topicmaps is higher (which provides great Power and Flexibility) than that of databases. But that means that, to get from a topicmap to a useful application, you need more stuff in between."
Tue, 13 Apr 2004 15:01:15 +0200
Good, practical article on Network Management with Nagios by Richard C. Harlan: "John Deere had to expand network management across a diverse collection of hardware and software. Nagios saved the day."
Tue, 13 Apr 2004 13:10:11 +0200
Jon Udell on InfoWorld - "Filling in the margins":
"As I watch the students typing at the Dell PCs in the hallway, I realize that none of these kids has ever seen or used a card catalog. That's mostly a good thing. But when I joined a group of librarians on a panel last month, I was reminded that something useful has been lost: a tradition of local annotation. This isn't just old-fogy nostalgia. Librarians could talk to patrons through the medium of the library card, and although they weren't supposed to, patrons could talk back to librarians - and to one another. It was a useful back channel that online catalogs could have supported. But because it wasn't part of the official protocol, they didn't.
The fuzzy intersection of official and unofficial data has never been a comfort zone for information technologists. In chapter 4 of Klaus Kaasgaard's Software Design and Usability, Xerox's Palo Alto Research Center (PARC) alumnus Austin Henderson says that "one of the most brilliant inventions of the paper bureaucracy was the idea of the margin." There was always space for unofficial data, which traveled with the official data, and everybody knew about the relationship between the two."
Tue, 13 Apr 2004 11:36:54 +0200
Jim Westbrook on NewsForge: "K.D. had watched her mom, my wife, and me using the various Linux-based computers in our home since she was able to sit in our laps while we were at the keyboard. By the time she was two and a half years old, she was "helping" us by moving the mouse or pressing keys on the keyboard -- generally at the most inopportune moments.
When K.D. was three I realized I might reduce maintenance problems by creating a user ID for her. Her mom and I carefully explained that we would be glad to help her use it.
What I had not anticipated was how personally K.D. would take having a user ID of her own. I've since re-learned just how possessive small children can be. We were all surprised when on the second day K.D. asked her mom to log out so that she could have her login. The obvious sense of power and control that having her own user ID gives her is beyond my ability to put into words."
Thu, 08 Apr 2004 13:50:00 +0200
Thu, 08 Apr 2004 13:04:46 +0200
Mark Pilgrim on XML.com - Normalizing Syndicated Feed Content:
"So you want to write a program to read RSS and Atom syndicated feeds. Sounds simple enough. After all, RSS stands for "Really Simple Syndication" (or "Rich Site Summary", or "RDF Site Summary", or something), and Atom is just RSS with different tag names, right? Well, not exactly."
Thu, 08 Apr 2004 11:28:14 +0200
Harry Fuecks on Mozilla visions:
Mozilla are definately ahead of the field with XUL (see Introducing XUL) having something that "works" now. There's still some hurdles to overcome though.
As a platform for deployment over the web, XUL still suffers from practical issues - a compromise between security concerns and ease of use has yet to be made and this is preventing, say, PHP coders from churning out XUL based apps the way we can churn out HTML."
Wed, 07 Apr 2004 17:04:59 +0200
Wed, 07 Apr 2004 13:23:44 +0200
"memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load."
There's a PECL package providing a PHP API for memcached... (thanks Thieso for the hint.)
Thu, 01 Apr 2004 13:59:08 +0200