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

Sparkline PHP Graphing Library

Sparkline PHP Graphing Library:

"Sparklines are "intense, simple, wordlike graphics" so named by Edward Tufte. [...] We aim to increase the adoption of sparklines on the web by providing a high-quality PHP sparkline library."

Fri, 29 Apr 2005 07:25:49 +0000

Rich Web Text Editing with Kupu

Robert Jones at ONLamp.com - Rich Web Text Editing with Kupu:

"Kupu is an open source application, written in JavaScript, that implements a flexible, full-featured HTML editor that runs in a web page without any special plugins. Its primary use is as an embedded editor in content management systems (CMS), like Zope or Plone, where it allows users to create their own web pages. Its design is flexible enough so that you can embed it into pretty much any web application without too much difficulty."

Fri, 29 Apr 2005 07:12:42 +0000

Spotlight changes everything

David Pogue in the New York Times - From Apple, a Tiger to Put in Your Mac [registration required]:

"The most important is Spotlight, which is like Google for your hard drive. As you type into the Spotlight box in your menu bar, a tidy menu instantly drops down. It lists every file, folder, program, e-mail message, address book or calendar entry, photograph, PDF document and even font that contains what you typed, regardless of its name or folder location. This isn't just a fast Find command. It's an enhancement that's so deep, convenient and powerful, it threatens to reduce the 20-year-old Mac/Windows system of nested folders to irrelevance. Why burrow around in folders when you can open any file or program with a couple of keystrokes?

[...] Now, if it weren't for that brilliant Spotlight feature, Tiger wouldn't be as important an upgrade as, say, last year's Panther edition. [...] But with apologies to Mac-bashers everywhere, Spotlight changes everything."

Thu, 28 Apr 2005 15:06:02 +0000

Naked programming on naked street

Sean McGrath at ITworld.com - Naked programming on naked street:

"Question: How do you stop people writing programs in which bits of programs crash into each other by sending wrong information into the various algorithms? i.e. sending a number when a date is expected, sending three strings when two are required, that sort of thing?

[...] Less obvious answer: Strip out all the controls. Let bits of programs mingle as they like and let it all just sort of work itself out on the fly. In the trade, this is called "dynamic typing".

Sounds crazy doesn't it?

As crazy as Indian traffic management in fact."

Thu, 28 Apr 2005 08:11:03 +0000

Constructing or Traversing URIs?

In Joe Gregorio's XML.com "The Restful Web" column - Constructing or Traversing URIs?:

"We have all these resources in our system, yet how do we enable the URIs of those resources to be discovered? Part of our specification, and of our running system, is being able to navigate around those resources. There are two types of solutions available to us; URI Construction and Hypertext Navigation. Let's look at both of them carefully to learn about their advantages and disadvantages."

Wed, 27 Apr 2005 06:59:59 +0000

Does IT demand too much commitment?

Chad Dickerson at InfoWorld - Does IT demand too much commitment?:

"For me, these particulars add up to an aggressively unhealthy culture that views family as an impediment to IT success. [...] Delegate some of the late-night work to a trusted lieutenant and use the time to help your kids with their math and science homework. You probably won't sacrifice any significant short-term ROI for your IT organization, and the longer-term ROI for your family is incalculable."

Tue, 26 Apr 2005 20:01:04 +0000

Light Appliances

"Light Appliances is a system of information appliances to give access to internet communication and media to people otherwise unable to do so, without using the PC. The system is composed of buttonless appliances, each one dedicated to one specific function like email, voice over internet, video call and internet TV. [...]

Imagine a person changing the photo in a digital picture frame by caressing the frame's corner. Imagine now the person calling the friend displayed in the photo by dragging and dropping the contact into a phone by using a particular one-button remote control called 'dropper', or sending him a handwritten email by dragging the contact into an e-mail appliance instead."

Sun, 24 Apr 2005 20:59:08 +0000

Bosworth's Web of Data

At ONLamp.com, Daniel H. Steinberg summarizes Adam Bosworth's keynote at the MySQL Users Conference 2005:

"Adam Bosworth suggested that we "do for information what HTTP did for user interface." [...] As a result of a simple, sloppy, standards-based, scalable platform, we have information at our fingertips from Google, Amazon, eBay, and Salesforce. Bosworth's own company, Google, gets hundreds of millions of hard queries a day. He said they see it as putting Ph.Ds in tanks to drive through walls rather than around them.

In addition to the advantages in software, there have been great gains in hardware. Bosworth said that one million dollars buys you five hundred machines with 2TB of in-memory data, a PetaByte of on-disk data, and a reasonable throughput of fifty thousand requests per second. This amounts to one billion requests per day. Having this sort of power changes the way you think."

Sat, 23 Apr 2005 19:45:31 +0000

HTTP response splitting

Diabolic Crab - HTTP response splitting:

"These kind of attacks are generally carried out in web applications by injecting malicious or unexpected charecters in user input which is then used for a 302 Redirect, in the Location or Set-Cookie header. [...] To avoid such HTTP Splitting vulnerabilities parse all user input for CR LF rn %0d%0a or any other forms of encoding these or other such malicious charecters before using them in any form of HTTP headers."

Sun, 17 Apr 2005 21:22:14 +0000


"microformats are:

* a way of thinking about data * design principles for formats * adapted to current behaviors and usage patterns * highly correlated with semantic xhtml, AKA the real world semantics, AKA lowercase semantic web, AKA lossless XHTML"

Take a look at the hCalendar example.

Fri, 15 Apr 2005 08:55:18 +0000

Radical Simplification

Sam Ruby points to IBM's confession (and recommends PHP and other technologies):

"Application development using IBM programming models and tools is untenably complex. The Research Division's new Services and Software strategy includes a strong focus on radical simplification. [...] Over 70 people in IBM worldwide are currently participating in an effort to define the problem, and the scope of the solution, more precisely."

Tue, 12 Apr 2005 21:21:30 +0000

Another reason to be mad at Microsoft

Tim Bray - Still Needs Measuring:

"Except for, during the night, the guys from Microsoft went around, erased Netscape from all the computers, and installed Internet Explorer. I have some perspective now, but at the time I literally had to go outside the conference and sit down away from everybody, because I was afraid I'd do physical violence to the first Microsoftie I saw."

Mon, 11 Apr 2005 08:08:19 +0000

Styles of Web application intermediation

Jon Udell at InfoWorld - Styles of Web application intermediation:

"Consider a purchase order represented as an XML document and governed by a policy that requires schema validity. We can enforce that policy either on the wire or on the desktop. One way buys you application-independent consistency. The other way lets you tailor your users' interactive experiences. These are complementary strategies.

Here's a less familiar but equally compelling scenario: You're leasing a Web-based application, it lacks a feature you need, and the developer won't cough it up in a timely manner. Because the application's user interface is delivered through the Web as XML packets alongside the protocol and data packets, you can tweak it globally or locally. Same benefits, same synergy."

Wed, 06 Apr 2005 20:41:26 +0000

Sufficiently simple technology

Jon Udell - Sufficiently simple technology:

"When I ran into trouble with Rubric, and couldn't find the SQL INSERT INTO statement anywhere in the code, I knew I'd have to learn about Class::DBI in order to proceed. Result: I punted.

Scuttle is written in PHP, and doesn't use any such abstraction layer. When I ran into trouble with Scuttle, it was easy to find the problem. Result: I'm using Scuttle."

Tue, 05 Apr 2005 19:09:47 +0000

PHP's lucky number 4

John Lim - PHP's lucky number 4:

"Last week, I downloaded PHP 5.0.4. I've not been sufficiently impressed with previous versions of PHP5 to actually recommend its use. PHP 5.0.4 is the first version of PHP 5 that I would consider sufficiently stable for production use; PHP 5.0.4 finally passes most of the same Q&A tests I run against PHP4."

Tue, 05 Apr 2005 18:50:15 +0000

Copper and Tin

Paul Graham - Copper and Tin:

"The hard part about figuring out what customers want is figuring out that you need to figure it out. But that's something you can learn quickly. [...]

And compared to the sort of problems hackers are used to solving, giving customers what they want is easy. Anyone who can write an optimizing compiler can design a UI that doesn't confuse users, once they choose to focus on that problem. [...]

A hacker who has learned what to make, and not just how to make, is extraordinarily powerful. And not just at making money: look what a small group of volunteers has achieved with Firefox."

Mon, 04 Apr 2005 20:07:56 +0000

Extreme System Administration

Andrew Cowie at ONLamp.com - Extreme System Administration:

"Write user stories.

Jot down, in just a few sentences, what the user experience will be for interacting with your group, your systems, or some process interface you are creating. Share this with people--your team, your boss, and above all the people who will use it. [...]

Code test cases before the rest of the system.

[...] I think we can learn a couple of things from this. Certainly one of the biggest problems in operations is simply knowing when something has broken. If we can establish effective monitoring, telemetry, and alarm event notification systems from the outset, and make maintaining and updating those systems a rigorous part of our change management, then we are a lot more likely to know when a casual, supposedly unrelated change causes a problem."

Fri, 01 Apr 2005 10:41:50 +0000

Making Packager-Friendly Software

Julio M. Merino Vidal at ONLamp.com - Making Packager-Friendly Software:

"A package maintainer, or packager, is a person who creates packages for software projects. He eventually finds common problems in these projects, resulting in a complex packaging process and a final package that is a nightmare to maintain. These little flaws exist because in most cases the original developers are not packagers, so they are not aware of them. In other words, if you do not know something is wrong, you cannot fix it.

This article describes some of these common problems and possible solutions. Consequently, it is of most value to software developers who make their creations publicly available."

Fri, 01 Apr 2005 10:36:27 +0000

The Road to FogBugz 4.0: Part IV

Joel Spolsky - The Road to FogBugz 4.0: Part IV:

"Before we could launch FogBugz, even after the final shipping bits were perfect and ready to go, we had a list of things we wanted to have ready to make the product experience complete. For FogBugz 4.0 the big things were:

1. Professional-quality graphic design in the user interface 2. An online demo that included every feature of the product 3. An online movie that introduced the product for couch potatoes 4. A great marketing website 5. Getting at least one book about FogBugz into bookstores 6. Making a real physical product available on CD-ROM"

Fri, 01 Apr 2005 08:42:05 +0000