To PEAR or to disaPEAR

… is the question of a current thread being discussed on pear-dev. Discussion mainly circles around “forking” PEAR to make a PEAR2 which might break BC to previous packages, run on PHP5 only, etc. Some quotes:

Stopping in the middle to start new isn’t the best way I think. (Daniel Khan)

Having PEAR 2 is basically the same like the Ferrari F1 Team changing the motor, because the mechanicians aren’t working properly. (Martin Jansen)

The main problem i saw in PEAR since the begining wasnt technical, was as someone said, managerial. I can name a lot of good technical companies/technologies that disappear even being the best option in the
market. Betmax is classical, Netscape is the new one. PEAR? Will not make a big wave if it disapPEAR, looking at the current state of affairs. (S. Rocha)

What actually prevents us from creating a new pear to even better handle upgrade to PHP5 and repair some definite technical issues, etc.? (Tobias Schlitt)

“You heard that? PEAR was so broken they had to start it all over! I am not touching the thing with a 10 feet pole!” (Alexey Borzov)

Personally, I would love to see a new start with packages that consequently use PHP5’s OO features. Who really cares about the PHP4 OO features once he knows what PHP5 can do? Hence, who really cares about the old PEAR if there’s a PEAR for PHP 5? As PHP4 OO is not the best choice for mission critical projects, anyone seriously doing OO with PHP in the future, will use PHP5 and related packages from the new PEAR.

via pear-dev

Multithreading in PHP

Some postings have emerged that discuss the implementation of threads in PHP. John recently referred to an article published in the English PHP Magazine and Georg wrote some valuable comments.

Shane did some work on a threads extension available in PECL a couple of months ago. The extension is very experimental.

There’s no plan to incorporate multithreading into PHP5 – if we believe the experts 🙂

I am not sure about how SRM can help with multithreading. At least it provides persistency across requests which allows to emulate a multithreading environment yourself in PHP (left aside if it’s a good idea e.g. to implement priority management of “threads” in PHP itself and not the Zend engine). Comments are welcome.

What’s missing is a threads implementation similar to Java or Ruby, especially with features like:
– set and manage the priority of threads
– define threads as daemons
– allow for synchronized threads (see Ruby’s Mutex Class)

UKUUG: Source Control and Configuration Management using Perforce

Looking for an alternative to CVS (because CVS has its quirks), I attended Tony’s talk on Source Control and Configuration Management using Perforce.

The problem, perforce aims to solve is: developers want to focus on developing, not reporting, but managers want to know what’s going on.

Some features of perforce:
– client/server architecture
– off-line development support is rudimentary
– self-repair and recovery features
– atomic transactions ensure data integrity
– clean workspace, no CVS files, . files
– you can rename file extensions, move directories without loosing version tracking
– each branch is placed in a different directory (e.g. main/, release_1/, release_2/)
– branch views track intention, for example by merging branch directories: dev/* -> my/*

The perforce company has about 60 employees and 2400 customers (e.g. HP). The perforce software is closed source, but a special license for OSS projects is available.