Offloading slow batch tasks to an external process is a common method of improving website responsiveness. One great way to initiate such background tasks in PHP is to use Oracle Streams Advanced Queuing in a producer-consumer message passing fashion. Show More Summary
Yesterday, I looked at the new Daft Punk web experience on Pitchfork. It was visually stunning, featuring rich-animations throughout. I noticed however that scrolling on the page felt quite janky. Scrolling was sluggish and stuttered regularly. You could reproduce this … Continue reading ?
Last Wednesday I did a little talk marathon by first presenting a Webinar on Behavior Driven Development with Behat and afterwards going straight to Cologne for the Symfony Usergroup, where I spoke about Designing Beautiful APIs. Find the slides of my talks here.
This is a branch off from a separate discussion on the PHP-FIG mailing list about other ways the Framework Interoperability Group can encourage and foster wider interoperability among its member projects (and by extension, the whole PHP community). Show More Summary
We recently migrated Where’s it Up to our fancy new hardware, it took a bit more effort than planned (some pains surrounding our use of MongoDB) but I’m incredibly happy with how things have ended up. As mentioned earlier we’ve purchased our own hardware, and have racked it with Peer 1 here in Toronto. Show More Summary
We’ve all seen it: we’re working along, and we come across code that just has a feel to it. It’s like déjà vu. You’ve seen this code before. You open another file – sure enough, there it is. The same code. Almost line for line. In large code bases, it’s likely that there are dozens [...]
Thinking About the Interstices of the Journey It actually is a dimmer memory than I would like: the decision to begin a blog eight years ago, nearly to the day ([1]). Since then, for every month and more often many more times per month, I have posted the results of my investigations or ramblings, mostly [...]
There’s always a lag behind new releases of PHP and releases of packages for operating systems such as Ubuntu. This lag time means that you could be kept from upgrading to the latest and greatest PHP for a year or more, unless you use an outside repository like Dotdeb. Of course, even when using one [...]
This post shows the changes to the ZF2 tutorial application that allow it to run with Oracle Database 11gR2. Oracle Database SQL identifiers are case insensitive by default so "select Abc from Xyz" is the same as "select abc from xyz". Show More Summary
In some recent talks I make a reference to Conway’s Law named after Melvin Conway (not to be confused with British Mathematician John Horton Conway famous for Conway’s Game of Life nor to be confused with Conway Twitty) which states:...Show More Summary
The #1 bug report in my vObject library (a library to parse and create iCalendar and vCard objects in PHP) is that it does a bad job escaping/un-escaping of values. In particular, it double-escapes certain values, changing things like...Show More Summary
Last week I finished up the first section of The Object Oriented PHP Masterclass. The class was great, and I learned about as much from my students as they learned from me. One of the most common questions I got from my students was “how do I make decisions about how to design my object [...]
Last week we updated the project site layout with a variation on Bootstrap called Spacelab, and incorporated our new logo. Along with that, over the past few weeks, we have been quietly releasing updated versions of all our library packages. … Continue reading ?
We weren't trying to pull an April Fool's Day joke in May. A temporary glitch caused the latest distributions of PHP to not properly propagate to the mirror servers. This has been fixed at the root level, and it's now being distributed to all of the mirrors. Show More Summary
Better Documentation for PHP internals - Lately in PHP podcast episode 35 By Manuel Lemos With the inclusion of Zend Optimizer+ extension in PHP 5.5, the need for better documentation of PHP internals became more evident, so PHP contributors...Show More Summary
The PHP development team announces the availability of the first release candidate of PHP 5.5. This release fixes some bugs as well as some possible leaks from our last beta. THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!...Show More Summary
The PHP development team announces the immediate availability of PHP 5.4.15 and PHP 5.3.25. These releases fix about 10 bugs aswell as upgrading the bundled libmagic library. All users of PHP are encouraged to upgrade to PHP 5.4.15.Show More Summary
Using Grep to Find Security Vulnerabilities in PHP code By Ryan Dewhurst Finding all security vulnerabilities in a piece of code may be hard as it requires in depth analysis of what the code does. However, simple security vulnerabilities...Show More Summary
Last week I tried to create a PHP stream context which set multiple headers; an Authorization header and a Content-Type header. All the examples I could find showed headers built up as a string with newlines added manually, which seemed...Show More Summary