Tick My Boxes
October 16, 2008 · Leave a Comment
Book-coverBook-cover
I’ve been so busy recently that I realise that I haven’t blogged about my
book, Tick My Boxes “The web developers’ checklist”. This was my most
recent two-month project and I managed to get some great reviews of the
beta version of the book from friends during YAPC::Europe - and even
auction a couple of copies. The book is packed with useful advice on best
practice web development techniques, so please buy a copy and tell me
what you think. It has beautiful typography and is printed on demand.
Read and post comments | Send to a friend
PHPClasses.org: PHP Object-Relational Mapping: ORM or ROM?
October 9, 2008 · Leave a Comment
PHPDeveloper.org: PHPClasses.org: PHP Object-Relational Mapping: ORM or ROM?
On the PHPClasses.org blog today Manuel Lemos has posted a look at ORM - what it is and how you can use it to improve your applications.
Read more from PHPDeveloper.org.
Mohammed Berdai’s Blog: How To Install PostgreSQL And phpPgAdmin Support In XAMPP
October 2, 2008 · Leave a Comment
PHPDeveloper.org: Mohammed Berdai’s Blog: How To Install PostgreSQL And phpPgAdmin Support In XAMPP
Mohammed Berdai has a quick tutorial posted about getting a full installation of PostgreSQL and phpPgAdmin up and working in an XAMPP environment.
Read more from PHPDeveloper.org.
Midstride Solutions Blog: 5 tips and tools to develop php applications fast
October 1, 2008 · Leave a Comment
PHPDeveloper.org: Midstride Solutions Blog: 5 tips and tools to develop php applications fast
The Midstride Solutions blog has posted five tips and tools that can help to make you a better developer (and possibly make you a faster one).
Read more from PHPDeveloper.org.
TotalPHP: Using an autoload function to make your life easier
October 1, 2008 · Leave a Comment
PHPDeveloper.org: TotalPHP: Using an autoload function to make your life easier
On the TotalPHP blog there’s a recent post introducing you to a feature in PHP5 that can make life much easier - autoload.
Read more from PHPDeveloper.org.
DevShed: Structuring Your Projects for Web Application Security
September 29, 2008 · 1 Comment
PHPDeveloper.org: DevShed: Structuring Your Projects for Web Application Security
This new tutorial DevShed has posted today talks about planning for your application’s security and some handy tips you can use to keep it safe.
Read more from PHPDeveloper.org.
Optimizing for the developer, not the user: PHP misses again
September 28, 2008 · 1 Comment
Perlsphere: Optimizing for the developer, not the user: PHP misses again
PHP refuses to let you report a bug in any version of PHP older than the
absolute latest & greatest.
At work today, we discovered a bug with PDO, the PHP version of Perl’s
DBI. Turns out if you pass in too many bind parameters, PDO segfaults.
Here’s the simple program that Pete Krawczyk put together to exercise it.
$dbh = new PDO( ‘pgsql:host=localhost;dbname=FOO’, ‘PASSWORD’, ”, Array(
PDO::ATTR_PERSISTENT => true,
PDO::ERRMODE_EXCEPTION => true,
) );
$array = Array();
for ($i = 1; $i < 10; $i++) {
$array[] = $i;
$sth = $dbh->prepare(’SELECT 1 FROM USERS WHERE CUSTID = ? LIMIT 1′);
$sth->execute($array);
while ( $sth->fetch( PDO::FETCH_NUM ) ) {
# do nothing
}
unset($sth);
print “PDO lived OK with $i bind” . ($i == 1 ? ” : ’s’) . “\n”;
}
?>
It’s repeatable for us on PHP 5.2.5. So after searching to see that
nobody else had already reported it on bugs.php.net, I went to report it.
Alas, when I went to report the bug, I was not able to. My bug happened
in 5.2.5, but according to the dialog, that wasn’t an option. No, I was
left with “Earlier? Upgrade first!”
Latest and greatest only, please!
No, PHP, I am not going to upgrade my PHP installation in order to be
blessed with the opportunity of telling you about a segfault in a version
of software one minor revision older.
No, PHP, I am not going to spend an hour building and installing another
monolithic PHP on some test server so that I might gain the privilege,
the privilege I say!, of helping out your project.
What a backwards way to look at open source development! “You must be at
least this tall in order to report bugs.” What a way to help scare away
contributors.
Perhaps you should have a look at how Perl handles it, where we have a
wide open ticketing system. There’s a tool called perlbug that ships with
Perl to encourage responses. The perl5-porters might get some
inappropriate bug reports, maybe in a module rather than core Perl, but
those are easily closed. We don’t put up barriers to reporting. We know
how to treat the outside world, because we welcome the feedback.
Get a clue, PHP people.
WordPress modules for Plagger
September 20, 2008 · 1 Comment
I’ve been busy coding a couple Perl modules for Plagger that allow you to use Plagger like you normally would, but then instead of publishing the end result as a Planet site (like Bundle::Planet does), they connect to WordPress through XMLRPC and post each feed entry into your WordPress site as Posts.
This has been rather amusing on some levels, with not always the desired effect, but more often than not the modules are working now and they are currently powering this site, among several others that I cannot reveal yet (read: they are beta, beta, BETA.)
It did seem a little strange at first to be writing Perl code to connect to WordPress, which is written in PHP, and having to do it through XMLRPC would have been insurmountably difficult had it not been for the invaluable contributions of Leo Charre with his WordPress::API modules.
There are, of course, some tricky logistical aspects of doing it this way, such as attribution/excerpting posts, copyright issues, having to manually categorize each post after the cron job runs, et cetera. Overall, however, I’m pleased with the direction this is going and expect that these plugins will serve my clients and Dragonfly Networks quite well for the foreseeable future.
App::Prove::History
September 17, 2008 · Leave a Comment
Perlsphere: App::Prove::History
I finally have my first draft of App::Prove::History saving test suite
information to an sqlite database. It’s not perfect by any stretch of the
imagination and to be frank, I’m unhappy with my design, but I’ll keep
hacking on it and eventually I’ll have an alpha out to the cpan.Currently it only saves the start and end times of each test suite run,
but that bit is just to show me that I have the (clumsy) basics working.
All things told, I can’t complain.



