PHP App Architecture

Rasmus Lerdorf: "A suggested architecture for a PHP application. The template layer should have as little business logic as possible. As you go down you have less presentation and more business logic."

Wed, 30 Jun 2004 09:09:41 +0000


Looks like a great web application: Basecamp - "Web-based project management the way it should be".

Wed, 30 Jun 2004 08:22:49 +0000

Apple Automator

"Automator contains a library of Actions. Each Action is designed to perform a single task, such as finding linked images in a Web page, renaming a group of files or creating a new event in an iCal calendar. Actions from the Automator library are added in sequence to a Workflow document. Each Action in the Workflow corresponds to an individual step that you would normally do to accomplish your task. The results of one action are seamlessly passed to the next action."

Tue, 29 Jun 2004 09:55:36 +0000

The Pragmatic Programmers Interview

chromatic's Pragmatic Programmers Interview:

"Andy Hunt: [...] Simple applications should be simple to write, easy to install and maintain. That used to be the case, but the current state of the world with web applications, J2EE, and so on is quite a bit more complicated than it needs to be.

Dave Thomas: Interestingly, we're seeing definite signs of pushback against the complexity. The "I'm mad as hell and I'm not going to take it any more" meme is starting to spread among developers, but it's a slow business. To some extent, the reluctance to change is only natural -- after all, folks have spent years learning the fine arcane details of J2EE and all the associated frameworks, and now they're being told that all that detail is too much. But at the same time, they're seeing the benefits of using tools such as Spring, Hibernate, Pico, and so on. We're even seeing folks abandon the J2EE world entirely in favor of lighter-weight solutions when appropriate. This wouldn't have happened two years ago, where a "Hello, World!" web app still needed 17 deployment descriptors to install. [...]

Dave: [...] Java and C# are not really dynamic in any meaningful way. Memory management is a small part of the picture, but the real gains in these more dynamic languages come from different areas, particularly from a flexible type model and from the ability to metaprogram.

Ultimately, it comes down to ease of expression. If I can express myself in code at a level closer to the problem domain, then I'm going to be more effective, and my code is likely to be easier to maintain and extend. Paul Graham makes a big deal out of the way Lisp helped him while building the software that became Yahoo Stores, and he's right. These languages, applied properly, are a strategic advantage. I know some companies are using them with great success. And you know -- they're keeping quiet about it."

Tue, 29 Jun 2004 09:31:12 +0000

Separating Browser from Resource

Harry Fuecks - Seperating Browser from Resource:

"A personal grievance: I hate writing admin interfaces for web applications. The "front end" - what a site's visitors see - no problem but the admin interface, which is typically both more complex and at the same time, visible only to a limited use group, drives me nuts - lots of work for people who tend to have very evolved opinions."

Wed, 23 Jun 2004 15:40:11 +0000

The Google PC generation

Jon Udell - The Google PC generation:

"Job No. 1 for the Google PC would be to vacuum up all available sources of data. Job No. 2 would be to exploit that data to the hilt.

On the Google PC, you wouldn’t need third-party add-ons to index and search your local files, e-mail, and instant messages. It would just happen. The voracious spider wouldn’t stop there, though. The next piece of low-hanging fruit would be the Web pages you visit. These too would be stored, indexed, and made searchable. More ambitiously, the spider would record all your screen activity along with the underlying event streams.

[...] Instead of idly slacking most of the time, our PCs ought to be indexing, analyzing, correlating, and classifying."

Mon, 21 Jun 2004 08:42:45 +0000

Joel: New web browser features for web application development

Joel Spolsky wants more web-app-developer friendly features in the web browser:

"In the previous rounds of HTML enhancement, the world's great graphic designers (like Jeffrey Zeldman) made the most noise and got us things like CSS which allow the kind of pixel-perfect page layout that the marketing people like, done in an intelligent way that separates content from presentation. Kudos. They got what they wanted, mostly, and quieted down. Now it's time for us application developers to start clamoring for the features we need to develop great web applications. Here are some examples of the kinds of features I'd like to see in web browsers."

Sat, 19 Jun 2004 07:45:46 +0000

Time to Dump Internet Explorer

Nothing new, but well-written by Scott Granneman - Time to Dump Internet Explorer:

"Look, let's be honest with each other. We all know this is true: IE is a buggy, insecure, dangerous piece of software, and the source of many of the headaches that security pros have to endure [...]. It's time to tell our users, our clients, our associates, our families, and our friends to abandon Internet Explorer."

Sat, 19 Jun 2004 07:38:36 +0000


Found Cory Doctorow's great piece on why the Semantic Web will not exist - Metacrap: Putting the torch to seven straw-men of the meta-utopia:

"2. The problems

  • 2.1 People lie
  • 2.2 People are lazy
  • 2.3 People are stupid
  • 2.4 Mission: Impossible -- know thyself
  • 2.5 Schemas aren't neutral
  • 2.6 Metrics influence results
  • 2.7 There's more than one way to describe something"
Mon, 14 Jun 2004 08:26:33 +0000

Using Jabber as a log monitor

Brian Jones - Using Jabber as a log monitor:

"Jabber, the streaming XML technology mainly used for instant messaging, is well-suited to its most common task. However, Jabber is a far more generic tool. It's not a chat server per se, but rather a complete XML routing framework. This has some pretty far-reaching implications."

Thu, 10 Jun 2004 10:45:26 +0000


"LAMPPIX allows you to burn your web projects (i.e. PHP presentations or Perl scripts) onto a CD-ROM and give them away to others. They will only have to insert the CD and reboot -- if you configured LAMPPIX right (and this is really easy!) they can view your project."

Thu, 10 Jun 2004 08:46:45 +0000


"Rhizome is a Wiki-like content management and delivery system that exposes the entire site -- content, structure, and metadata as editable RDF. This means that instead of just creating a site with URLs that correspond to a page of HTML, with Rhizome you can create URLs that represent just about anything, such as:

  • structural components of content (such as a bullet point or a definition).
  • abstract entities that can be presented in different ways depending on the context.
  • relationships between entities or content, such as annotations or categories."
Wed, 09 Jun 2004 10:36:32 +0000

Capturing user experience closes the feedback loop

Jon Udell on InfoWorld - Capturing user experience closes the feedback loop:

"For developers who rarely get to see people using their software, any opportunity to observe users is likely to provide valuable insight. Arguably such observation can, and should, occur throughout the software life cycle. A software team will often nominate one member to advocate for the user. Equipped with low-cost and easy-to-use recording tools, that team member can capture users' experiences with alpha, beta, or production software. Ideally the material will be edited down to highlights, but even raw footage can be helpful.

It's still hard for developers to watch this stuff. We have had a tendency to spare them the pain -- and to sacrifice the gain -- because connecting developers to users in this way has not often been practical. This new generation of tools aims to close that critical feedback loop, thereby helping developers figure out what ease-of-use really means to users."

Mon, 07 Jun 2004 08:56:28 +0000

Tales of Optimization and Troubleshooting

Howard Feldman - Tales of Optimization and Troubleshooting:

"Whatever it was, I determined to find out what was going on. How hard could it be? What I found was not at all what I expected. The story was interesting enough that I thought it worth sharing. Perhaps you'll find ways to apply some of the principles employed to your own code optimization procedures."

Fri, 04 Jun 2004 10:11:02 +0000

Programming is like Songwriting

Derek Sivers - Programming is like Songwriting:

"As I get more and more into programming, I'm constantly struck with how similar it feels to songwriting. [...]

- It makes me jump out of bed at 2 AM wanting to try the ideas in my head to see if they work. - Being the programmer in the company is like being the songwriter in the band. You're the one that creates the thing that the rest of the organization is there to promote and support. - Most real songwriters and programmers would be doing this even if they never made a dime."

Tue, 01 Jun 2004 09:58:23 +0000