Tim’s Weblog Tim's Weblog
Tim Strehle’s links and thoughts on Web apps, managing software development and Digital Asset Management, since 2002.

What Corporate Projects Should Learn from Open Source

Andrew Stellman and Jennifer Greene at ONLamp.com - What Corporate Projects Should Learn from Open Source:

"It is rare to find a corporate environment where the project team has anything approaching the level of planning, documentation, or review found in successful open source projects. For some reason, as soon as a budget and a deadline are involved, all of the lessons we've learned over the years and applied successfully to open source projects seem to fly out the window.

[...] However, it's well known that corporate projects routinely fail to produce quality software. or even any results at all! Many important studies have repeatedly reported that fact, such as the Standish Group's annual CHAOS Report (which as recently as 2004 has shown that less than one-third of corporate projects are considered successful).

[...] These principles, if adhered to, will help lead to success on any project, open source or proprietary. These principles are:

  • * Tell the truth all the time
  • * Trust the team
  • * Review everything, test everything
  • * All developers are created equal
  • * The fastest way through the project is to do it right

Each of these principles is important, and each of them is routinely ignored in corporate environments--to the detriment of project success."

Tue, 28 Feb 2006 12:11:41 +0000

The no-framework PHP MVC framework

Rasmus Lerdorf - The no-framework PHP MVC framework:

"So you want to build the next fancy Web 2.0 site? You'll need some gear. Most likely in the form of a big complex MVC framework with plenty of layers that abstracts away your database, your HTML, your Javascript and in the end your application itself. If it is a really good framework it will provide a dozen things you'll never need. I am obviously not a fan of such frameworks. I like stuff I can understand in an instant. Both because it lets me be productive right away and because 6 months from now when I come back to fix something, again I will only need an instant to figure out what is going on. So, here is my current approach to building rich web applications."

Tue, 28 Feb 2006 11:10:56 +0000

Is Computer Science an Oxymoron?

Phil Windley reports a talk by Alan Kay: Is Computer Science an Oxymoron?:

"Engineers should read a book about how the Empire State building was done. Including the demolition of the building on the site before, the Empire State building was built in 11 months by 3000 people. We don’t know how to do this in computing. Whatever we think engineering is, it can’t mean the modern use of the term. I don’t know of a single computing system that is attached to you that if it fails it will almost certainly kill you. That’s what happens with jet engines. That’s engineering.

[...] We’re much better at building software systems than we are at predicting what they will do. There are no good models. If we were scientists, we’d be trying to build models."

Mon, 27 Feb 2006 09:24:29 +0000

Speed is a Feature

Stephen O'Grady - Speed is a Feature:

"A big part of the equation that is Google is speed, pure and simple. Very low latency performance, delivered from their secret sauce architecture. [...] The interesting thing is that speed is not traditionally considered a feature, per se. It's a design consideration, to be sure, but in the applications I've developed speed has rarely been a part of the requirements gathering phase - apart from occasionally defining what consitutes unacceptable performance (greater than 8 second load times on web pages, for example).

[...] What's the catch in all of this? Speed is [much] easier said than done, and depending on the application type might be near impossible for smaller players to deliver on cost constrained hardware platforms."

Sun, 26 Feb 2006 20:24:19 +0000

Why I Like PHP revisited

John Lim - Why I Like PHP revisited:

"In a sense, all the interesting techie stuff in PHP is happening at the C level, in the PHP extensions: in pdo, gd, oci8, mysqli, etc. Everything else, PEAR, Smarty, Drupal, Sympony, ADOdb, PHPLib etc, is just fluff :)"

Sun, 26 Feb 2006 19:56:13 +0000

Dr. Macro's XML Rants

Eliot Kimber - Getting Started: Who the Hell are You and Why Should I Care What You Think?:

"I've made more mistakes than most and had my share of successes. I've learned a lot of hard lessons. And I'm just arrogant enough to think that my opinion has serious weight (or maybe more than arrogant enough--it's a tough quality to measure accurately). I've learned how to test software well and I think I've learned how to do good software engineering. I've learned, mostly, how not to totally alienate my clients and prospects. I've learned to bite my tounge when I really wanted to say something pointed. I've learned that the smile of a little girl at the end of the day is way more important than any line of code that might or might not get written."

Sat, 25 Feb 2006 15:45:59 +0000

Lucene Web Service API

Joe Gregorio cites: "The core of Lucene Web Service API is primarily based on the Atom Publishing Protocol, with a few extensions. We've added the ability to get and set properties of any index or the service itself. For searching, we've based our implementation on the OpenSearch 1.1 protocol."

Sat, 25 Feb 2006 15:43:58 +0000

Multi-Touch Interaction Research

Jeff Han - Multi-Touch Interaction Research:

"While touch sensing is commonplace for single points of contact, multi-touch sensing enables a user to interact with a system with more than one finger at a time, as in chording and bi-manual operations."

Thu, 23 Feb 2006 21:40:43 +0000


Tim Bray on SOAP/WSDL vs. REST - WS-Angst:

"Me, I think the WS-stench of something WS-rotting from the WS-head down is becoming increasingly difficult to ignore."

Thu, 23 Feb 2006 09:56:47 +0000

The library IS the programming language

Sean McGrath at ITworld.com - The library IS the programming language:

"In my opinion, any competent programmer should be able to pick up a new imperative programming language in a couple of days. They are all the same really. Actually, deep down they are in fact totally the same. However, it is not reasonable to expect a competent programmer to be productive in application development after those couple of days. The reason being that real world applications are not developed primarily IN a programming language. They are developed primarily ON a platform - a library of pre-developed code doing everything from opening databases to drawing GUI screens. These libraries are, these days, behemoths. So big that competent programmers can and do spend literally years wrapping their heads around them."

Wed, 22 Feb 2006 12:31:18 +0000

Raving about Java EE 5

Graham Hamilton - Raving about Java EE 5:

"For Java EE 5 we had some wide ranging goals:

  • * Eliminate common boilerplate. If millions of developers need to type something, it had better be both useful and necessary.
  • * Focus in on "Plain Old Java Objects" (POJOs). In particular, get rid of unnecessary interfaces and class hierarchy clutter.
  • * Improve defaults, so that the 90% common cases "just work".
  • * Eliminate the need for deployment descriptors. (But still allow people to add them later.)
  • * Emphasize "truth-in-source-code" so that source code clearly specifies what is going on. For example, you shouldn't need to read an XML side file to understand what some code is doing."
Tue, 21 Feb 2006 21:02:03 +0000

A pro-PHP Rant

Harry Fuecks at SitePoint - A pro-PHP Rant:

"Meanwhile, in these days of long tail enthusiasm, other than PHP, you don’t get to hear much about when stuff sucks. Put specifically, don’t bring me your FastCGI unless you’re providing free SMS to go with it, so I can alert myself when it goes down."

Tue, 21 Feb 2006 17:49:27 +0000

Content Negotiation: why it is useful, and how to make it work

On the W3C QA Weblog - Content Negotiation: why it is useful, and how to make it work:

"A negotiation algorithm trusting a cookie showing that the user has chosen a language different than the one negotiated based on its Accept-Language: header information, and defaulting to Accept-based negotiation in the absence of such a cookie, may be the best of both worlds: negotiated resources, and the guarantee of a consistent user experience regardless of potentially misconfigured browsers."

Tue, 21 Feb 2006 10:09:56 +0000

Why is programming fun?

Demian Turner cites Fred Brooks' book The Mythical Man-Month - Why is programming fun?:

"Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures."

Mon, 20 Feb 2006 20:59:11 +0000

Easier form validation with PHP

Simon Willison - Easier form validation with PHP:

"FormML (for want of a better name) is never passed to the browser; instead it is processed by my PHP FormProcessor class before being displayed. This class strips out all of the FormML tags, and also applies logic to the rest of the form based on the information from the tags. Because the whole thing is XHTML, this can be relatively easily achieved using PHP's built in XML parser. The XML is modified on the fly to create the XHTML that is sent to the browser."

Mon, 20 Feb 2006 20:48:32 +0000

On Java

François Nonnenmacher - On Java:

"In the past height years, while running my company web platform, I've eliminated two major things: Microsoft and Java, the two over which I've lost sleep. The big winner is LAMP with P as in PHP, Python and Perl. The new kid on the block is Ruby on Rails, though I'm watching its hosting aspects like milk on the fire, for some of them remind me too much of Java in terms of bad code, memory leaks and resources consumption."

Mon, 20 Feb 2006 11:43:28 +0000

Versioning REST

Adam Kalsey - Versioning REST:

"One thing I dislike about URL schemes for versioning a web services resource is it feels decidedly un-RESTful. The URL of a resource shouldn’t change simply because the format of that resource’s representation does.

[...] In Tagyu, I’ve going to accomplish this by placing a <versions/> element in the XML file. This element will provide access to the previous, next, and latest resource representations as well as a reference for which one is being used currently. Instead of referring to versions with version numbers, I’m using the date that the version was released, simply because this date has more meaning than an arbitrarily-chosen version number."

Mon, 20 Feb 2006 11:18:56 +0000

Current style in web design

Ben Hunt - Current style in web design:

"I'm glad to say that web design in 2006 is better than ever. [...] The examples below (which I'll roll over time) show excellent modern graphic design technique. They all look good, and are clear and easy to use."

Sun, 19 Feb 2006 20:51:10 +0000


Tim Bray - On PHP:

"I should really buckle down and try writing a PHP app because, at the moment, I have an attitude problem. [...] All the PHP code I’ve seen in that experience has been messy, unmaintainable crap. Spaghetti SQL wrapped in spaghetti PHP wrapped in spaghetti HTML, replicated in slightly-varying form in dozens of places. [...] I’m sure that it’s possible to write clean, comprehensible, maintainable, PHP; only apparently it’s real easy not to."

Sat, 18 Feb 2006 20:35:36 +0000

IBM Initiative to Capture New Growth Opportunities in Information Management

"IBM today announced a company-wide initiative that combines its software and industry consulting expertise to help clients better compete in the global economy through uninhibited access to accurate, reliable and trustworthy business information.

[...] Additionally, IBM is announcing six new solution portfolios and new software products to help clients transform their businesses from an outdated model in which data is managed as an afterthought from within applications, to an environment in which information is set free and managed as a strategic asset and to drive better decision making."

Fri, 17 Feb 2006 15:57:20 +0000

AquaBrowser Library

"Welcome to AquaBrowser Library.


  • * A constellation of words on the left shows you related terms, spelling variations and translations.
  • * Click on words in the constellation to explore the contents of the catalogue.


  • * Refine shows you what your search results contain.
  • * Click on any term to focus and narrow your results."
Fri, 17 Feb 2006 15:30:52 +0000

Lussumo Vanilla

"With Vanilla we wanted to break the mold created and followed by just about every other forum on the web. We sat down and thought about what we liked, and more importantly, what we didn't like about web forums. We wanted emphasis on the discussions rather than the statistics. [...] Vanilla is a PHP / MySQL solution that is 100% open-source."

Thu, 16 Feb 2006 22:36:48 +0000


"Campfire makes group chat easy

  • Every chat has a permanent URL
  • Campfire chats don't require special chat software or networks
  • Instantly share and discuss files with your colleagues/clients Search or browse through transcripts of past chats"
Thu, 16 Feb 2006 09:32:45 +0000

The Real AJAX Upside

Tim Bray - The Real AJAX Upside:

"Pretty well all Web-publishing software does lots of templating and dynamic page generation, and pretty well all of it is piggish, stressing out servers (and, to be fair, representing a pretty good business opportunity for my employer). I suspect there’s a huge system-wide optimization waiting out there for us to grab, by pushing as much of the templating and page generation work out there onto the clients."

Wed, 15 Feb 2006 20:39:17 +0000

Yahoo! Design Pattern Library

"Welcome to the Yahoo! Design Pattern Library. We are very happy to be sharing our library with the design and development community. This is our first drop of what we hope to be a monthly release cycle for the publication of patterns."

Tue, 14 Feb 2006 14:57:47 +0000


Make sure to take a look at Harry Fuecks' presentation slides AJAX@localhost [PDF] if you're at all interested in AJAX... (Sam Ruby would probably have used the title '"Just" use AJAX' instead)!

Sat, 11 Feb 2006 22:44:54 +0000

Selenium IDE

"Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run."

Sat, 11 Feb 2006 20:53:25 +0000


"VisitorVille takes a revolutionary visual approach to web analytics. VisitorVille makes data mining simple and accurate, easily performing tasks that are impossible to accomplish using traditional (and dreadfully boring) web analytics solutions.

What makes VisitorVille unique is immediately clear: VisitorVille does not represent website visitors simply as numbers or graphs, but as real people in a real environment. You can monitor your site traffic as if you were people-watching in a big city."

Thu, 09 Feb 2006 09:52:51 +0000

Reality Bytes - Imagine if SimCity wasn't just a game

Steven Johnson in a Discover article (May 2003, p. 28) - Reality Bytes - Imagine if SimCity wasn't just a game [PDF]:

"In a true mirror world, data would be mapped onto recognizable shapes from real life. For instance, to find information on a local hospital, you would locate the building on a computerized map and click on it with an “inspector” tool. Within seconds, the big-picture data about the facility would come into focus: number of patients and doctors, annual budget, how many patients died in operating rooms last year, and more. If you were looking for more specific information- say you were considering giving birth at the hospital-you could zoom in to the obstetrics department, where you would see data on such subjects as successful births, premature babies, and stillborns. Information about how the hospital connects to the wider city-what Gelernter calls topsight could be had by zooming out."

The article refers to the book Mirror Worlds by David Gelernter.

Thu, 09 Feb 2006 09:36:40 +0000

Nagios 2.0

Nagios version 2.0 has been released...

Wed, 08 Feb 2006 10:23:00 +0000

Using SVN for Web Development

Maarten Manders at SitePoint - Using SVN for Web Development:

"As our web applications grew and more and more developers started working on them, it became obvious that we needed some kind revision control system to manage our code. As CVS is quite dated and Subversion (SVN) introduced some handy features (atomic transactions, Apache piggybacking, more convenient branching/tagging, tons of other improvements), we chose to go with SVN. The big question was: how to use it correctly? After coming up with some more or less weird ideas I think we finally found a decent solution to put a web application into source control."

Wed, 08 Feb 2006 10:18:07 +0000

How to avoid losing $199m

Paul Browne - How to avoid losing $199m:

"Like houses , projects need good foundations. For IT Projects , the good foundations are sound knowledge of the Business Processes being coded into the system. Changing processes and changing IT systems at the same time is like building on sand."

Sat, 04 Feb 2006 21:57:50 +0000