Language Selection

English French German Italian Portuguese Spanish

Interview with Wez Furlong at php|works Toronto

Filed under
Interviews

Wez Furlong is Chief Architect at OmniTI, Inc. and a PHP core developer responsible for the streams abstraction layer, the PDO extension, and the SQLite extension among others. I caught up with him at the php|works conference where he presented a seminar on PHP Data Objects (PDO).

You must have a pretty busy schedule working on PHP, as lead architect at OmniTI and you want a personal life, too, I'm sure. How did you become involved with PHP?

The way I got into PHP initially was this company I worked for in England did various different kinds of professional services consulting. One of the projects we had was a Web site where you could go in and advertise your house for sale so you could privately sell your home — place where you could put the details up and people could find it.

That site was written using ASP classic, as it is called now. This client came to us and said, "We would like to build an e-learning application but it needs to run on Solaris". We had heard of PHP — PHP 4 was just coming out around then. We thought we'd give it a go. We got the site up but one of the things they needed was a payment processing gateway for credit card payments. We had to use cURL to make that work. But there is no reason you have to use cURL to make that work. PHP could already use fopen() to make an HTTP connection, so I came up with a pretty small patch to enable SSL support so that we could fopen() an HTTPS connection. The way that needed to be implemented was a real problem. The internals around that time were a bit of a hack, so to make that work — to maintain that hack — was also a hack. It was kind of ugly. It was based on feedback from that patch that I ended up developing the streams layer. It took me about nine months to go through all the corners of PHP in my spare time and get it all working. It was just an interesting project. One of the things I like doing is looking at the way developers are using things and finding better ways to make their life easier, make their work less. It was good fun to do that. And PDO is the same kind of thing.

The whole of PHP is that kind of thing, right? It's made up of numerous extensions.

Full Story.

More in Tux Machines

today's howtos

Graphics: VC4 and AMDVLK Driver

  • VC4 display, VC5 kernel submitted
    For VC5, I renamed the kernel driver to “v3d” and submitted it to the kernel. Daniel Vetter came back right away with a bunch of useful feedback, and next week I’m resolving that feedback and continuing to work on the GMP support. On the vc4 front, I did the investigation of the HDL to determine that the OLED matrix applies before the gamma tables, so we can expose it in the DRM for Android’s color correction. Stefan was also interested in reworking his fencing patches to use syncobjs, so hopefully we can merge those and get DRM HWC support in mainline soon. I also pushed Gustavo’s patch for using the new core DRM infrastructure for async cursor updates. This doesn’t simplify our code much yet, but Boris has a series he’s working on that gets rid of a lot of custom vc4 display code by switching more code over to the new async support.
  • V3D DRM Driver Revised As It Works To Get Into The Mainline Kernel
    Eric Anholt of Broadcom has sent out his revised patches for the "V3D" DRM driver, which up until last week was known as the VC5 DRM driver. As explained last week, the VC5 driver components are being renamed to V3D since it ends up supporting more than just VC5 with Broadcom VC6 hardware already being supported too. Eric is making preparations to get this VideoCore driver into the mainline Linux kernel and he will then also rename the VC5 Gallium3D driver to V3D Gallium3D.
  • AMDVLK Driver Gets Fixed For Rise of the Tomb Raider Using Application Profiles
    With last week's release of Rise of the Tomb Raider on Linux ported by Feral Interactive, when it came to Radeon GPU support for this Vulkan-only Linux game port the Mesa RADV driver was supported while the official AMDVLK driver would lead to GPU hangs. That's now been fixed. With the latest AMDVLK/XGL source code as of today, the GPU hang issue for Rise of the Tomb Raider should now be resolved.

AMD Ryzen 7 2700X Linux Performance Boosted By Updated BIOS/AGESA

With last week's initial launch-day Linux benchmarks of the Ryzen 5 2600X / Ryzen 7 2700X some found the Linux performance to be lower than Windows. While the root cause is undetermined, a BIOS/AGESA update does appear to help the Linux performance significantly at least with the motherboard where I've been doing most of my tests with the Ryzen 7 2700X. Here are the latest benchmark numbers. Read more

GNU: The GNU C Library 2.28 and Guix on Android

  • Glibc 2.28 Upstream Will Build/Run Cleanly On GNU Hurd
    While Linux distributions are still migrating to Glibc 2.27, in the two months since the release changes have continued building up for what will eventually become the GNU C Library 2.28. The Glibc 2.28 work queued thus far isn't nearly as exciting as all the performance optimizations and more introduced with Glibc 2.27, but it's a start. Most notable at this point for Glibc 2.28 is that it will now build and run cleanly on GNU/Hurd without requiring any out-of-tree patches. There has been a ton of Hurd-related commits to Glibc over the past month.
  • Guix on Android!
    Last year I thought to myself: since my phone is just a computer running an operating system called Android (or Replicant!), and that Android is based on a Linux kernel, it's just another foreign distribution I could install GNU Guix on, right? It turned out it was absolutely the case. Today I was reminded on IRC of my attempt last year at installing GNU Guix on my phone. Hence this blog post. I'll try to give you all the knowledge and commands required to install it on your own Android device.
  • GNU Guix Wrangled To Run On Android
    The GNU Guix transactional package manager can be made to run on Android smartphones/tablets, but not without lots of hoops to jump through first.