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

Mapping IT meltdowns

Steve Fox at InfoWorld - Mapping IT meltdowns:

"IT pros, it seems, put plenty of thought into software and hardware. It's mismanagement, office politics, and flawed processes that trip them up almost every time."

Mon, 30 Jan 2006 13:41:25 +0000

Blueprint PHP application?

Harry Fuecks at SitePoint - Blueprint PHP application?:

"Given that so many applications have been written in PHP, some extremely successful in terms of popularity, are there any applications you’d be happy to point people at for inspiration? Apps which, despite your personal tastes, you think make a good blueprint for doing PHP?"

Fri, 27 Jan 2006 23:44:21 +0000

PHP Security: Dumb Users or Dumb APIs?

Harry Fuecks at SitePoint - PHP Security: Dumb Users or Dumb APIs?:

"There’s another round of “Is PHP Secure?” debate happening right now. Chris drew attention to it, pointing to a post by Andrew van der Stock (who’s a contributor to OWASP): PHP Insecurity: Failure of Leadership.

So the usual denials have been made (see replies to Chris’s entry)—”Damn newbies”, “Holes in PHP-based app != PHP insecure”, etc., all of which I agree with. But…

[...] What if Andrew does have a point? What if we’re living in denial?"

Tue, 24 Jan 2006 20:36:23 +0000

Watch out Java - Windows Workflow is coming!

Paul Browne - Watch out Java - Windows Workflow is coming!:

"The problem is then that the Business People (who understand the workflow) can't see how it is implemented in (hidden behind code), while the technical people don't understand the business process. Workflow (closely related to Rule Engines) aim to solve this problem."

Fri, 20 Jan 2006 14:20:38 +0000

Date Slider

"The date slider is a Flash visualization that Measure Map uses as one way to navigate the site. We are happy to provide a version of this date slider to the public."

Thu, 19 Jan 2006 23:30:38 +0000

There's so much more than Rails

Ian Bicking - There's so much more than Rails:

"Ruby doesn't have Acquisition, but it also plays loose with classes and interfaces in a way that makes code hard to understand locally. Of course nothing is inevitable, but there's risk. And the first generation of programmers is usually enthusiastic; any failure is a personal failure, so you can gloss over those things. It's the second generation that's going to be less enthused, that's going to stare in bafflement at these classes that mysteriously spawn methods, and trying to figure out what's going when there's an exception in dynamically generated code.

[...] Rails doesn't do any of the stuff that PHP does well, it merely provides a landing spot for disaffected PHP programmers. The beauty of PHP is that they are constantly sloughing off disaffected programmers, and yet their numbers still grow. (If PHP is wrong, do we want to be right?)"

Thu, 19 Jan 2006 23:28:26 +0000

IBM's vice president of emerging technology on PHP

Red Herring.com interviews Rod Smith, IBMs vice president of emerging technology:

"Q: Which technology is your group currently looking at developing in the next few months?

A: Right now, we are looking at PHP [a programming language like Java and XML] in particular—we like it as a technology and community. [...]

Q: Can you give an example?

A: IBM was asked to come in on one of the relief recovery programs and build a web site very quickly. They did it in two weeks with PHP."

Thu, 19 Jan 2006 23:25:27 +0000


DBFW has "support for record history: You may create two additional columns in your tables (a start-of-validity one and a end-of-validity one), tell the framework of them and then it will handle all modifications as storicized modifications (i.e. the records will not be really deleted, just marked as expired)."

Thu, 19 Jan 2006 23:20:23 +0000


Semapedia.org - The Physical Wikipedia: "Our goal is to connect the virtual and physical world by bringing the best information from the internet to the relevant place in physical space. We do this by combining the physical annotation technology of Semacode with high quality information from Wikipedia."

Thu, 19 Jan 2006 23:18:49 +0000

Power PHP Testing

Chris Shiflett's Power PHP Testing lists the various you can write automated tests for PHP software.

Thu, 19 Jan 2006 22:06:22 +0000

Persisting PHP5 Objects in Oracle

Barry McKay at OTN - Persisting PHP5 Objects in Oracle:

"Storing objects in your database is not just a gimmick; rather, it is the final piece in the "developing entirely within the object-oriented paradigm" puzzle. It allows you to analyze, design, develop, and test using all the techniques that are so popular in traditional, large-scale, object-oriented programming—using approaches such as business objects, UML, and design by contract—seamlessly. This is a radical idea, but the Web development world is catching up to it."

Thu, 19 Jan 2006 21:51:01 +0000

MVC and web apps: oil and water

Harry Fuecks at SitePoint - MVC and web apps: oil and water:

"CRUD is defined in the context of databases where what you’re dealing with is sets of information—you need to make a distinction between inserting into the set and updating an existing member of the set.

Meanwhile HTTP was designed for access to resources, the “primary key” being determined by it’s URL (vs. having to worry about the insert id). If you think “documents”, it’s clear there’s no need to make a distinction between creating and updating—creating a document results in the first version. Updating means overwriting an existing document with a new version. But in both cases the client is POSTing the same thing and does not need to be aware of whether the document already existed or not.

[...] Perhaps our websites have been driven too far by the database? The point here is, given the mismatch between HTTP and CRUD, we’ve put CRUD first which in turns makes actions first class in our frameworks. We aim to support N different types of action (verbs) when really we should have been dealing with only three—GET, POST and DELETE (the latter being perhaps re-routed to a specific “resource class” method according to some framework / form conventions)."

Thu, 19 Jan 2006 12:57:09 +0000

PHP Calendar Fun

Tim Bray - PHP Calendar Fun:

"PHP iCalendar is a good example of the PHP conundrum. It’s ugly, it’s gross, it’s inefficient, but today I have my calendar robustly online and yesterday I didn’t."

Thu, 19 Jan 2006 12:51:37 +0000

Access control, monoculture, and accountability

Jon Udell at InfoWorld - Access control, monoculture, and accountability:

"Geer argues that access control lists -- although they’ll remain a vital ingredient of information security -- can’t take us where we now must go. The reason is that linear growth in the number of people you authenticate, or the number of resources you control their access to, or both, results in geometric growth of the matrix of checkboxes you must fill out. Every checkbox requires an explicit choice, and it gets impossibly hard to keep up.

The way forward, Geer suggests, is not to abandon ACLs but rather to augment them with aggressive monitoring that holds people accountable for behaviors that can’t economically be permitted or denied. ACLs don’t scale because checkbox maintenance requires a scarce resource: the human decision-maker. Accountability does scale because event logging and data analysis ride the favorable current of Moore’s law."

Thu, 19 Jan 2006 12:48:49 +0000

The blog as resume and autobiography

Jon Udell - The blog as resume and autobiography:

"Most blogs are more personal than professional in the sense I'm defining here. Of those that identify themselves as professional, many are pseudonymous. Of those that use true names, surprisingly few seem to take the approach I envision: narrating the course of a career, articulating its public agenda, writing its permanent record."

Thu, 19 Jan 2006 12:46:03 +0000

Don’t Invent XML Languages

Tim Bray - Don’t Invent XML Languages:

"Designing XML Languages is hard. It’s boring, political, time-consuming, unglamorous, irritating work. It always takes longer than you think it will, and when you’re finished, there’s always this feeling that you could have done more or should have done less or got some detail essentially wrong."

Thu, 19 Jan 2006 12:43:26 +0000

Alfresco Announces PHP Development Interface

"Alfresco Software Inc., the first provider of an open source enterprise content management solution, today announced that has integrated the open source programming language, PHP, into its development environment. This enables PHP developers to create new content-centric applications and dynamic web pages that access Alfresco."

Thu, 19 Jan 2006 12:38:44 +0000

Getting Things Done with PHP

"gtd-php is an open source, web-based implementation of the Getting Things Done (GTD) personal organization system."

Thu, 19 Jan 2006 12:27:43 +0000

Innovation puts the blitz on mediocrity

Tom Yager at InfoWorld - Innovation puts the blitz on mediocrity:

"In 2006, I have little doubt we’ll see the soul of my brand of innovation appear again, which I’ll summarize in a phrase that might make you wince: Never take customers for granted. That’s it. If you adopt that as a mantra, you’ll either succeed and stay successful or you’ll go out of business because you say it but don’t really believe it."

Thu, 19 Jan 2006 08:08:27 +0000

PHP-OpenDocument Library

PHP-OpenDocument Library: "I wrote a small PHP library for manipulating OpenDocument files and have released it under Apache 2.0 License.

Its current features are:
* Create plain-text Text (.odt) documents.
* Create simple Spreadsheet (.ods) document."

Wed, 18 Jan 2006 08:25:45 +0000

The sysadmin view on “Why PHP”

Harry Fuecks - The sysadmin view on “Why PHP”:

"When was the last time you saw a PHP runtime error take down an entire application or web server? [...] With PHP it’s very hard for a script to take down the runtime environment—the web server—I’d argue that you’d have to be deliberately trying to do so, perhaps filling up disk space or otherwise.

[...] It may now be reasonable to claim that Apache + mod_php has served more HTTP requests for dynamic pages than any other comparable environment. Despite warts and all, this is tested sortware simply by weight of numbers. That translates into a platform which costs little to keep running and less chance of a wakeup call at 2am.

Anyway—ran into an excellent blog recently: FastCGI, SCGI, and Apache: Background and Future discussing the options given new demand for FastCGI with frameworks like Rails, seen from the eyes of a sysadmin. To a great extent it also explains why we’ve ended up with PHP."

Wed, 18 Jan 2006 08:15:12 +0000


"Mdoc is a new auto-documentation tool to create manuals like PHP manual at php.net web site, so in a style common to the PHP community and is very efficient to share your code as APIs."

Mon, 16 Jan 2006 14:58:57 +0000

Document or Perish

Steven Douglas Olson - Document or Perish:

"Writing is the technology that brought humans to the next level in advanced technology. Civilizations that prevailed in the past were literate. They could send messages, design things and communicate their ideas through their writings. For every Leonardo da Vinci there are innumerable inventors who carried their ideas to the grave. Writing is the power that can make your ideas transcend time.

Yet writing is looked upon by so many developers as a necessary evil.

[...] If the source code is “self-documenting” that means it must be bug-free. How are you supposed to know if a behavior is a bug or not? According to the “self-documenting” source code, there can never be any bugs."

Sun, 15 Jan 2006 21:26:03 +0000

Organizing Files

Karl Vogel at ONLamp.com - Organizing Files:

"The problem: the filesystem on my Unix workstation was a mess. I couldn't find anything without grepping all over creation. About half the time, I'd actually find something useful. Usually I'd get no hits at all, or I'd match something like a compiled binary and end up hosing my display beyond belief.

[...] I went so far as to buy a copy of the Abridged Dewey Decimal Catalog, which is actually pretty nifty; if you're looking to organize your paper files, you could do a lot worse than use an existing classification scheme like this.

[...] My job as a system administrator doesn't change every day, but it's much easier to keep track of things via date rather than via subject. I tend to remember things in time order, so I finally stopped trying to change the way I work to fit some hierarchy. Instead, I made a directory structure on the machine to match my work habits."

Sat, 14 Jan 2006 22:20:31 +0000

Oracle Open Source Projects - The Interviews

Sean Hull - Oracle Open Source Projects - The Interviews:

"This story is really about tinkerers, folks that like to play with technologies, and offer up their creations to everyone. Some end up with serious projects on their hands, and a large following. When Oracle ported to Linux, it was a moment for the tinkerers to get busy.

We've managed to contact the authors of six Oracle Open Source projects, and ask them a few questions about their projects, and how they got started."

[Disclosure: I'm one of the software authors interviewed.]

Fri, 13 Jan 2006 08:28:06 +0000

Is Ruby brainwashing us?

John Lim - Is Ruby brainwashing us?:

"Well, my personal preference in terms of language is a simple clean C-like syntax. I want something that I can teach programmers in 2 days. I don't want an unfamiliar syntax that requires relearning a lot. I don't want programmers to agonize for hours on the right way to code something new. That's why I don't particularly like Ruby's syntax (though i admit i am a novice at Ruby)."

Thu, 12 Jan 2006 16:26:24 +0000