Upgrade to WordPress 2.2 or have your Admin PW stolen

OK It’s been a couple days now and this news is only spreading. If you haven’t heard already, there is an attack out there that allows the Admin PW to be compromised for any WordPress 2.1 and 2.0 blog. Only 2.2 and the yet unreleased version of 2.0 are safe and it will stay that way. The 2.1 is not a maintained version. So far, I’ve heard nothing about the plans to release a new 2.1. So at this point, for most people running 2.1, your only choice is to upgrade to 2.2.

I’ve stolen the admin PW of several 2.1 sites under my control and tested the sites of some of my friends to make sure they were safe even though they hadn’t upgraded.

There are two things that may make your 2.1 DB safe:

1. Your user named Admin is NOT user number 1.

2. Your database prefix is NOT wp_

If you want to upgrade safely and quickly, try my script.  The latest post about it is always at: http://www.thecodecave.com/EasyWPUpdate
If you want to see how we handled this at b5media, read here:
Guide to Disaster: How The Tech Team Handled WordPress Security Flaw

digg my story?

Feedburner Acquisition – An Open Letter to Google and Feedburner

Since the rumors are pretty much confirmed that Google has bought Feedburner for $100 million in an all cash deal, it begs the question of how well Feedburner will integrate into the Google culture and treat Feedburner’s loyal customer base. With their track record, it is not just will they be a evil, but will they be a good partner?

read more | digg story

My interview with b5media

Well, I’ve finally collected my phone and transfer cable in one place and have gotten the pictures off. So, here’s the story of how I became a b5media Code Ninja.

It all started back at the end of March. I got a call out of the blue from Aaron Brazell, now Director of Technology for b5media. I wasn’t looking for a new job as for almost 9 years I’d been a software engineer for DRB Systems, Inc..

I was in a fairly central position at DRB. All configuration of software and hardware filtered through software and solutions that I made. I was also involved with the HealthWatch Committee which was responsible for getting everyone involved in physical activities and helped radicaly reduce our insurance fees.

But that silken tongued sweet talker Aaron, got my attention.

He told me of the wonders of working at home. Reminded me of the thrill of working for a startup. And seduced me with the lure of spending my days working from where ever I wanted to set myself up.

So, it was two weeks later that I found myself up at six am for a drive to the Cleveland airport. Do you remember the Cleveland Indians’ Season Openner? I do. It was the strangest thing I’d ever seen. It was the night before my drive. Here’s the video as they tried to battle the snow long enough to finish a came that was a shut out at the bottom of the 5th with two outs and three on base:

(Sorry I had a nice video saved in a SWF file but the sneaky buggers now have it playing an ad software engineering jobs. lol  Here’s a much longer youtube movie instead:

).

You would have thought that would be a clue to the road crews that they’d have some work to do on the roads. But no, it seems they decided to sleep this one off.

Now I grew up in the Pennsylvania Laurel Highlands (Satellite view). That’s right where all of the snow broke at the edge of the Laurel Mountains. So I know snow. I rode a motorcycle year round even when it was 11 degrees out. I KNOW winter driving. But driving up 77 into Cleveland was the WORST conditions I’d ever been in.

Now, I got there in plenty of time for my flight, well ok not plenty but I was sitting at the terminal before boarding was scheduled to begin and actually had a 20 minute wait until they openned the doors. All in all that was really good considering a good portion of the trip was spent going 15 mph. Even at 15 mph with the roads TOTALLY untouched with four lanes of rush hour type traffic, I passed more than a dozen cars that were 40-60 ft off the road into no-man’s-land. I stopped counting at a dozen because I knew I had enough for a great story and had probably missed some at the beginning anyway.

You’d be driving along and suddenly you’d find that your car would be switching lanes and you’d watch for all the other cars to your left and right to do the same. One car about 5 in front of me, in the far left lane slowly started drifting to the right and turning sideways. I was in the next lane over and the cars in front of me just let off on the gas enough to let them go across. They were completly sideways traveling at the same speed as the rest of us when the left the next lane. Up ahead 10 ft off the berm was another car facing the on coming traffic. The non-voluntarily exiting vehicle continued drifting off the to the side and picked up speed. This was a good thing as they managed to pass behind that stopped car and as I passed them, they were facing the right direction and, still in one smooth motion, were merging back into traffic. I suspect it was deliberate…

 So, finally I got to the airport (note to self, always unpack laptop from carry on bag), boarded my plane (standing in the plane’s doorway, I could look directly over the top), and in my seat.

Here was the view out my window the wind had cleared enough for me to see out:

Sent this to my wife....

I was to take this flight up to Buffalo, snow capital of the US and drive from there up to Toronto.  After the drive I had that morning, I was glad of it…  I began to wonder though after several hard bumps occured and the plane still hadn’t moved.   Well it turned out that the tug they had, couldn’t push us free from the slot.  So they had to get another.  20 minutes and several bumps later, and THAT tug wasn’t powerful enough to free us from our frozen grave.  🙂  So a third tug, it must have been for a 747, came after another 20 minutes and THAT got us free and pushed us back into the unplowed run way.

 But we’d lost our slot in the deicer line some 40 minute earlier.  So we had another 20 minute wait to get deiced.  That was somewhat humourus actually.

See the guy on the left of that plane, he’s in a nice enclosed cabin.  The guy on the right is in an open bucket that is now backed off as the antifreeze drains out from the cabin dude blasting him with a firehose stream of antifreeze for 3 or 4 seconds.  He just absolutely nailed this guy full in the face as he raised him self up above the plane and the other guy totally over shot it from the other side…  they both just sort of stopped and had an exchange of some sort or or another :-O

 If you ever have your plane deiced, bring polarized sunglasses.  It makes the whole experience psychodelic as you’ll see rainbows everywhere.

The pale frozen green goop look just doesn’t do it justice.

 However, once I gut to Buffalo, it was clear sailing.  There was almost no snow to be seen anywhere, I had a sweet ride and things were looking up.

I met Jeremy and Aaron at the hotel lounge of the Intercontenental Toronto.

 I was there about an hour before our original planned meetup time, but also an almost hour after they’d called “Hey, we decided to meetup early in the lobby.  Where are you?”  My 40 minute flight had turned into 2 hrs but I was thinkin’ I was still peachy-keen till that phone rang.  Buffalo has a great blues station and some BB King had me nice and mellow for most of the drive.  I’d found a pretty good alternative rock station by the time I’d neared Toronto.  So, I couldn’t have asked for a much better ride.

I got into the hotel shook hands with Jeremy and Aaron, went to my room, splashed water on my face, ran my fingers through my hair and I was on!

Jeremy and Aaron are great guys.  Here’s a shot of Jeremy and doing his “Sexy Entrepreneur” look:

Sorry ladies, Shannon snatched this guy up!

So, we sat and hung out chatting, till Mark Evans , former senior tech reporter from the National Post no now b5 VP of Content, happened to wander by.

We pulled up a fourth chair to the two person table, and we ordered another beer to go with the bowl of mixed wasabi nuts on the table.  Now Mark is a journalist at heart and so, the interview began in earnest.  A few minute later, the pro blogger himself Darren Rowse, b5’s VP of Training, came in from the hotel down the street and pulled up a fifth chair.


And if you ever had an interview

with Darren staring at you this way,

the entire time, let me tell you, it is unnerving!

Ok, it wasn’t that chair but the picture fits doesn’t it? 🙂

As we were quickly over staying our welcome in the narrow aisle of the bar section, about 15 minute later we adjourned to The Cave.  A short stop for Red Bull later, and we were there.

 The best shots of the cave can be found in the standout jobs video they’d made two days earlier.  We hung out there and chatted about the strategy for b5 and the future and what I could do for them.  Later that evening we went out to dinner at a French restaurant.  You can see pictures of all of us here.  I had this wonderful view across the table of Aaron, Gary King, and Darcie Vane:

Gary is a developer intern and Darcie is b5’s Office Manager

Some escargo, shrimp(?) pate, oysters, lamb chops, ice wine and creme brulee later, and Chad Randall b5’s Director of Sales and I were chums:

Watch out for the bunny ears!

 

 

Then it was back to my hotel room.  I was beat.  It had been a LONG week.

I didn’t get a good picture out my window, but I could lookup and see the CNTower right out my window.  I caught this nice refelection off of the offices in front of my hotel the next morning:

 

A quick workout, a swim in the pool with the Disney theme for The Little Mermaid playing in the background and a soak in the hot tub and 10 minutes in the sauna later and I left to have some coffee (with about a dozen false fire alarms sirens as background music) with Aaron at a local coffee house.

 

Then it was off to home:

Back to Cleveland and the same old same old weather…

Of course, after that horrible drive the day before, I forgot to turn off my headlights…  Not that you could tell because the battery had long since died and they were covered in snow anyway…

An emergency jump kit later, and I was on the road.  Soon to be calling 911 because an elderly couple had driven their Cadilac out into the middle of a snow covered area  between where the two major highways Yd off in different directions.  They were staring at each other trying to figure out what to do.  They were helpless, so I called 911 and sent the police to help them.

 I’d just held out the phone and closed it (why do we do that?) and looked up to see a car totally engulfed in flames sitting beside the road.  As I drove by, I couldn’t tell if anyone was inside or not.  Me and the guy behind me stopped and we ran back. to see that someone had openned the passenger door and dove down the steep embankment to the road down below where there was a police car stopped beside a minivan with its sliding door open…  We had to assume they were OK as we daren’t go much closer.

We retreated to his car, stared at the flames and each other, watched as two firetrucks came up, boxed the car in and covered it in foam, and then continued our drive home.

So… There you have it, my b5media interview weekend.  After that it was a nice relaxing week or so till I got a call back from Jeremy.   Yeah… Relaxing…  That’s the ticket…

Feeling good on a Monday

Starting week number three at b5media and things are really starting to click.

I feel like I’ve settled in just a bit and I’m ready to get some real traction.  b5 is really growing and it’s great.  Over the last two weeks I’vehelped add a bunch of new sites to the network and we’ve got a number more coming in.

There’s a new theme that is being rolled out to a bunch of the blogs and I’ve helped with that, but due to the way it was implemented, we had some load problems as large common sections of html were being generated over and over again.  It was causing WAY more CPU usage than it needed to.

So, our excellent Linux guy Sean pointed me to a PECL module I’d not used before: memcached.

To quote http://en.wikipedia.org/wiki/Memcached:

memcached

 

From Wikipedia, the free encyclopedia

memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in memory to reduce the amount the database needs to be read. Memcached is open source and released under a BSD license. It uses libevent.

Memcached lacks authentication and security features, meaning it should only be used on servers with a firewall set up appropriately. By default, memcached uses the port 11211.

Memcached’s APIs provide a giant hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in LRU order. Applications using memcached typically layer memcached requests and additions into code before falling back on a slower backing store, such as a database.

The system is used by several very large sites. Some well-known websites that use memcached are:[1]

It’s worked really well so far.  A few apache recompiles later and bam!  CPU load goes bye-bye.  With the initial partial rollout on a single channel we’ve tremendously reduced the load on the servers making 80 cache pulls per second instead of doing all of the db lookups and xml code generation.

I’m convinced!

I’m going to do some further implementation this morning we should be sitting sweet by EOD.

I’m also feeling good because I got the whole family up and did a morning workout in the new execise room I’ve setup in the garage.  I’ve also got Akaza hits nice and loud…

I’ve also got to send an email out to my Google Summer of Code student and we’ll get rolling on that this morning.  I’m looking forward to a good week.

Oh! and my pictures will be transfered by the end of the day so I can tell you all all about my toronto trip as I said I would two weeks ago…

Cheers all!

Another good day

Well, things went well today.   I added blogs to the  b5network, came to the rescue of some sites that were having trouble and got further into the infrastructure of b5.

I also got added to the b5 team blog listing.  That instantly takes me up to over 135 blogs linking into me.  So that’s a nice side bonus I hadn’t thought about.

Aaron has written a very nice welcome note on his blog today in The Tech Team Adds a Fourth Member :

Yesterday, I posted the announcement about Brian Layman joining the b5media tech team. We’re really excited about hiring him because we have some big plans. Brian is classified as “big guns” in my book. He’s got a lot of development experience and is one of the more active people in the WordPress developer community.

It was important that we found someone who understood the way WordPress worked and operated and how to make it dance. Unlike some competitors, we shout from the roof that we’ve drunk the WordPress kool-aid and aren’t going back. While we’ve toyed with Drupal and other software packages, we know who our daddy is and that’s WordPress.

Brian’s joining of b5media marks a redeclaration of our WordPress allegiance. It’s really great to have him on board!

I also got some details of the exciting stuff I’m going to be working on in the upcoming weeks.  Let me tell you, we’re gonna…

well actually I can’t tell ya… So you’ll just have to wait to see what kind of goodness will be coming out of the b5 in the near future.

(removed blog list as I have a better way to access this now)

Sweet Linus Benedict Turvalds, I’m working from home!

Long time readers of mine my might have had a suspicion.  You see when I have something big that I can’t talk about, I get severe writers block.  I can’t talk about what I want to talk about so I go from a one to two quality post a day period down to NOTHIN’ for three weeks!

Well this time it was VERY big!  After a 17+ year career as a Delphi programmer, I’ve started a new carreer.  Today was my first day working for b5media.  I am now one of an ever increasing number of professional making my living off WordPress, PHP and other Open Source programming. So, at the end of the day, I’m breaking the day of silence in the blogosphere with a post about joy and success.  That seems a more fitting remembrence.  Progress and fullfilment rather than silence.

You can read the official announcement here: “Brian Layman Joins Tech Team“.  It all started just over four weeks ago when I got a call from Aaron Brazell.  It was a fast whirlwind since then.  I’ll tell you all about my trip to Canada, dozen or so trashed cars, the flaming car of doom, all about b5media and other exciting goodies over the next few days.  There have been loads of firsts and progress being made on the Delphi for PHP front over the last two weeks that I’ll post about too.

For now, though, I just wanted to share the good news!

And Oh yes, I let my wife scoop the story.  She was soo excited about the chance to get a scoop!  No, Aaron, that pic wasn’t from today, but a month or so ago.  But I’m not making any promises I won’t be out there sometime…

See also: My interview with b5media

A non-CodeGear patent application on “compiling” Object Pascal code?

I read in the Newsgroups today that there is a new patent that’s been filed that affects what Borland can do with Object Pascal.  According to this patent application, Mirkazemi; Aram; (Lindisfame, AU) ; Besharati; Shahram; (Kingston Beach, AU) would have a US patent upon producing JavaScript code from Delphi’s Object Pascal and several other languages

Who knows if this will fly, but the idea of restricting what a company can do with the product they’ve made is just….  irratating!

A key quote from the patent application:

9. A method for producing a web application that runs natively in a browser, comprising: writing in a high-level language to develop a source file; parsing the source file to produce a semantic map; and processing the semantic map by emitting browser-side JavaScript comprising at least one dispatcher having a set of parameters to invoke a code segment utilizing the same set of parameters.

10. The method of claim 9 wherein the high-level language comprises a high-level language from among the programming languages consisting of Ada, C, C++, C#, COBOL, ColdFusion, Common Lisp, Delphi, Fortran, Java, Object Pascal, SmallTalk, Visual Basic, and Visual Basic.NET.  

So, this program will take all Delphi source code and forms and convert them to a web app in javascript.

 First, I think it is hilarious to hear javascript described as a low level language, but that’s beside the point.

If Borland wanted to provide javascript as a target, as they do .NET and W32, they SHOULD be allowed to.  It is THEIR product.  They of course would have to do the work themselves, but it is a programming language they’ve made.  Why should they be restricted?  Especially when they’ve been nice folks and allowed programs like Free Pascal the benifit of the Delphi’s innovation.

 BAH!  It’ll probably pass with a rubber stamp of approval.

CodeGear Names New CEO

Marco caught an interesting story in InfoWorld, today.

As EWeek says:

Borland Software’s CodeGear development tools unit has changed leadership, naming Jim Douglas, a veteran of the high-tech industry, to the position of chief executive officer.

Jim Douglas will be replacing former CEO Ben Smith who guided CodeGear into existence.  EWeek continues:

Smith, who was brought on for his ability to foster startups through their initial phases and broker deals, has decided to step aside to return to the private equity, acquisition and venture arena, CodeGear officials said. Smith had been onboard with the CodeGear team, then known as “DevCo” internally, in a consulting capacity since February 2006.

About Douglas they say: 

Douglas most recently was president and CEO of ReShape, an electronic design automation startup backed by the venture capital firm New Enterprise Associates. Douglas led the company’s transition from an engineering-services firm to a software-business model. These efforts resulted in the sale of the company to Magma Design Automation.  

So, Smith was there to start CodeGear up, and Douglas is now there to guide CodeGear into the future.  I wonder what other changes are in the wind.  Obviously, with this new quarter, there’s going to be a new set of challenges that Douglas is believed to be the right man to face.  Obviously this sort of thing doesn’t happen overnight.  So, my question is what’s the next thing we will see as CodeGear marches forward?

Hey – I am in the official Delphi for PHP Announcement!

I reading the news articles right on the CodeGear home page, and in the first one, “CodeGear Announced General Availability of Delphi for PHP (March 27, 2007)”,  I happened to see a name that looked somewhat familiar! 😉

Sometime after what turned out to be the mid-way point in the field test period, we are given an oportunity to submit testimonials about our experience with the Delphi for PHP field test so far. I figured it would go in the scrolling banner on the CodeGear home page or in a email to CodeGear customers, but what do you know, there it is in plain site on the home page! Nifty!

CodeGear™ Announces General Availability of Delphi® for PHP

Developers Say Delphi’s Rapid Application Development Environment Makes It Easier and Faster to Build PHP Web Applications

SCOTTS VALLEY, Calif. – March 27, 2007 – CodeGear, a leader in developer tools, today announced that Delphi® for PHP – an integrated visual Rapid Application Development (RAD) environment for the popular PHP Web development language – is now shipping worldwide.
Delphi for PHP brings the RAD productivity benefits that Delphi users have enjoyed for years to PHP Web developers. PHP, designed to allow Web developers to write dynamically generated pages quickly, is the most prominent dynamic Web language today and has become one of the top 10 programming languages overall.
The new product from CodeGear can allow developers to be more productive as they write rich, database-driven Web applications in PHP.In addition to a RAD environment for PHP, key features of Delphi for PHP include: VCL for PHP, an open-source PHP 5 visual component library with more than 50 reusable components and seamless AJAX integration; out-of-the-box integration with InterBase®, MySQL, Oracle®, Microsoft SQL Server, and other popular databases; an integrated PHP debugger; drag-and-drop database application development using the Data Explorer for InterBase and MySQL; and a code editor with Code Insight, Code Explorer, and Code Templates.  Deployment options include Windows, Linux, Solaris and other platforms.Developers who have used a pre-release version of the new product said they experienced significant productivity improvements.

Because Delphi for PHP can debug existing PHP projects as easily as it creates new ones, it instantly starts paying for itself. With contract work costing between $80-$100 per hour, if Delphi for PHP saves you just 3 hours, it’s already paid for itself.  It can do that with your first project. I’ll never use “Echo” or “Print” as a debugging tool again,” said Brian Layman, an Akron, Ohio-based software engineer.

As a web designer, you’re judged on the quality of your work and how soon it’s completed.  When Delphi for PHP allows you to offer better products on a time scale your competition can’t touch, your services will be in great demand,” said Layman.

Delphi for PHP is part of a family of products from CodeGear that includes Delphi 2007 for Win32, Delphi for .NET, Turbo™ Delphi, C#Builder®, C++ Builder®, JBuilder® and InterBase.
U.S. Pricing
The product is available for an introductory price of $249; special academic pricing is also available. For more information on system requirements, languages and pricing, visit www.codegear.com/products/delphiforphp.
About CodeGear
CodeGear from Borland Software Corporation (NASDAQ: BORL) delivers innovative, high-productivity development tools for a wide spectrum of software developers ranging from individuals to enterprise teams. CodeGear products enable developers to freely develop on their platform of choice while focusing on simplifying complex technologies and tasks so they can concentrate on application design, not infrastructure, to enable on-time project delivery. To learn more about CodeGear and its products, visit www.codegear.com. CodeGear. Where Developers Matter.
CodeGear, Delphi, Turbo Delphi, C#Builder, C++Builder, JBuilder, InterBase, and all other CodeGear brand and product names are service marks, trademarks or registered trademarks of Borland Software Corporation or its subsidiaries in the United States and other countries. All other marks are the property of their respective owners. Microsoft, and Windows Vista, and all other Microsoft brand and product names are service marks, trademarks or registered trademarks of Microsoft Corporation or its subsidiaries in the United States and other countries.Safe Harbor Statement:
This release contains “forward-looking statements” as defined under the U.S. Federal Securities Laws, including the Private Securities Litigation Reform Act of 1995 and is subject to the safe harbors created by such laws. Forward-looking statements may relate to, but are not limited to, the features available in, and the potential benefits to be derived from, CodeGear products and solutions, and the release dates, plans and market acceptance of such products and solutions, including the CodeGear Delphi product line. Such forward-looking statements are based on current expectations that involve a number of uncertainties and risks that may cause actual events or results to differ materially. Factors that could cause actual events or results to differ materially include, among others, the following: rapid technological change that can adversely affect the demand for CodeGear products, shifts in customer demand, shifts in strategic relationships, delays in CodeGear’s ability to deliver its products and services, software errors or announcements by competitors. These and other risks may be detailed from time to time in Borland Software Corporation periodic reports filed with the Securities and Exchange Commission, including, but not limited to, its latest Annual Report on Form 10-K and its latest Quarterly Report on Form 10-Q, copies of which may be obtained from www.sec.gov. Borland is under no obligation to (and expressly disclaims any such obligation to) update or alter its forward-looking statements whether as a result of new information, future events or otherwise. Information contained in our website is not incorporated by reference in, or made part of this press release.

TheCodeCave.Com prepares for the D4PHP.COM launch!

Well, it’s been a Busy,  three weeks here.  Things are finally falling into place.

Sometimes that just happens. 

You swing into these intense periods where things go 90 mph.  

It all started when my wife’s latest commissions check on her book buys her a sweet tablet PC, gets me a motorcycle and now (if it ever stops raining and snowing) I’m back on two wheels after 11 years! (pics soon!!!).  (All you Delphi knitters go and buy her book please!  I know you are out there!) 

Then CodeRage goes into full swing and starts vying for my attention.   Oh, and I also signed the papers refinacing the house.  Then my yard collapses into a giant cess pool, only to be replaced by a mud bog the following week.  Then I’m approved as a Google Summer of Code WordPress mentor and suddenly I’m back to reviewing resumes and project propsals!   It’s like I’m back in my old role of Director of Software Development again.

And then I land the after-hours job of converting CodeGear’s 90 blogs over to WordPress MU.   Yes, you can pinch me, I’m working for the Borland Corporation. 

THEN on Friday the Delphi for PHP field test ends and D4P is been released!  (If you are interested in the product, you can download a 1 day trial here. )  Well, that means it’s time to announce something else I’ve had in the works for a while. 

Coinciding with the release of Delphi for PHP, I’m announing an upcoming community site called “Designed for PHP” at http://www.D4PHP.com.  The tagline for the site is:

Designed for PHP – Bringing the Delphi mindset to PHP development.

This site, created using Delphi for PHP, will not only host a VBulletin  forum but will include articles, reviews, and product announcements pertinent to the soon to be thriving Delphi for PHP community.  I’m in the process of connecting with authors, moderators and administrators who are intersted in joining me in this venture.

 Now, obviously I’ve got some things that will be taking up my free time over the next couple weeks.  But I still hope to get some feed back from you all as to what you’d like to see at the site.  Some ideas from people I’ve already discussed this with include:

  1. Community forum – Software has been purchased, the forum is up and being configured.
  2. Integration with the NewsGroups – This idea fed off of a question from Serge Dosyukov and I know just how to pull it off.  The Delphi for PHP newsgroups will be part of the Forum and if all goes well (my host sometimes has restrictions on comunication with outside servers) they will be fully integraed with the ability to post to the groups directly from the site under your own login name.
  3. Component & Component package reviews
  4. Plenty of user created demo videos – it’s easy to do and free!
  5. ???

and THAT’s why I am announcing this before it is fully up and running.  I want to know what else YOU’D like to see out of the site.  Do you have any thoughts or suggestions?  I’ll be doing work off and on with the site over the next two weeks and working with some interested parties who can get the ball rolling, but we need ideas and a goal for when, in about a month, I can give it some dedicated attention.

 So, do you want to see on D4PHP.com?  Does anyone remember “The Delphi Super Page”?  If you do, what made THAT page so great?  Pre-2000, there was no where else a Delphi programmer needed to go.   Why was that?  Any thoughts?

 Jot them down here or wander over to http://www.D4PHP.com/forum and express yourself!  Let’s see what this can turn into!