An ancient classic - I've got to re-read it from time to time: The Unix Philosophy book by Mike Gancarz is nicely summarized by David Calvert and Christian Weisgerber (the latter being written in German).
Eric M. Burke and his readers discuss Microsoft Word versus Wiki software for the purposes of project documentation: "I believe tools like TWiki offer an excellent alternative to Word documents for many kinds of documentation."
ProjectForum looks like a powerful Wiki-like server:
"ProjectForum provides a powerful but easy-to-use solution for flexible workgroup collaboration and coordination of projects and teams over the web.
Build an intranet or project site where everyone can actively and directly contribute, without complex software or a full-time administrator getting in the way.
Use it for project planning, todo lists, design notes, task assignments, meeting notes, problem reports, team discussions, collecting feedback, research, brainstorming and more."
Tim Berners-Lee lists his principles of good design: "Again and again we fall back on the folklore of the principles of good design. Sometimes I need a URI for them so this is started as collection of them. I have written about some in many places. Principles such as simplicity and modularity are the stuff of software engineering; decentralization and tolerance are the life and breath of Internet."
Philip Greenspun: "A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl."
Back in 2001, Paul Graham wrote a very nice related essay, Java's Cover: "Over time, hackers develop a nose for good (and bad) technology. I thought it might be interesting to try and write down what made Java seem suspect to me."
In his Alertbox, Jakob Nielsen lays out his visions on software development:
"Just as Francis Fukuyama was wrong in predicting "the end of history," it would be wrong to predict the end of IT innovation. We still need some new features; hopefully they'll emerge more slowly than in the past, and be more solidly designed and implemented before they're unleashed."
Alertbox: "Usability can save time by helping you quickly settle arguments in the development team. Most projects waste countless staff hours as highly paid people sit in meetings and argue over what users might want or what they might do under various circumstances. Instead of debating, find out."
"Computers are amazingly, remarkably, unbelievably fast. When you're executing compiled code that's running around structures in memory (and they actually fit in memory), you can do stupendous quantities of computation with no perceptible delay.
It's easy to forget that now; there are so many layers of database and application server and virtual machine and interface abstraction and method dispatching getting between our code and the metal that we often convince ourselves that the machines are slow. They're not; and when you need something to run really really fast, you can always make that happen, if you can push the problem down to traversing in-memory data structures with compiled code.
Of course, often you can't. This way of thinking about things is currently unfashionable, and in modern programming environments sometimes effectively impossible. But sometimes you need to do what seems impossible, and this is one way."
Nice summary of the "Joke" Conversation Thread in which the :-) Was Invented by Scott E Fahlman in September 1982...
"Windows versions of Internet Explorer, mostly 5.5 and 6.0 get thoroughly confused by a file that identifies itself as .jpg but contains XML. When you try to load one of these inflated images with Win IE 5 or 6, it spins endlessly, trying to figure out what to do. From that point on, you have completely lost your ability to view images in that browser session. Even if you go to another site. All graphics loading will spin endlessly from that point on. Only completely quitting and relaunching Win IE fixes the problem."
Marc Pawliger from the Photoshop Team comments on this:
"Microsoft and Adobe worked together to identify the problems Windows Explorer had with JPEG files that contained application-specified data. This problem appeared not only for JPEG but TIFF files as well. The latest XP service pack fixes the known issues related to Windows Explorer and these files, include some bugs that can corrupt such files and make then unreadable at all if you use Windows Explorer to edit the metadata in the file.
Note this appears to be a different issue than the one you are reporting about Internet Explorer being unable to display such files."
Steven has a follow-up post, where he describes the ImageMagick '+profile' option. He suggests using '+profile iptc', we're using '+profile "*"'. Unfortunately, '+profile' requires a recent version of ImageMagick (so older servers require a software upgrade to be able to do the cleanup).
Update: Peder suggests using jpegtran to fix XMP-infected JPEG images, because it's fast and lossless. Simply run "jpegtran -copy none infected.jpg > clean.jpg". (jpegtran is part of the jpegsrc package which you can download at the Independent JPEG Group, or get it from jpegclub.org.)
Another update: Microsoft finally seems to be fixing this bug, there's a Knowledge Base article pointing to a "hotfix" for IE 6 SP1: "SYMPTOMS: When you use Internet Explorer 6 Service Pack 1 (SP1) to view a Web page that contains image files, you may experience the following behavior: Some of the images do not appear on the Web page. Internet Explorer may no longer display images until you restart the program. CAUSE: This problem may occur if you view a Web page that references an image that was saved from Adobe Photoshop 7.0 on Macintosh OS 10."
Update [2006-10-11]: If you're running a recent ImageMagick 6 version, use '-strip' or '+profile xmp' instead of '+profile "*"'.