PC: Nice. You have contributed several innovative classes in 2009 that were well appreciated by the PHPClasses users. That made you score higher in the year innovation award. What motivated you to develop and contribute those classes?
SS: Most of the classes were developed as parts of bigger projects or designed to fill a gap where something was causing problems. But one of the classes in particular,
CSS Query, was just something that I felt was missing from PHP's DOM extension, and it would be of good use in the future since I have worked with that extension a lot during 2008 and 2009.
I got some inspiration from fellow developers at work and at the local web design meeting that I attend regarding problems that they were frustrated with, as well.
I like contributing these classes, so that others could benefit from my trials and errors would be good for the PHP community, and hopefully others would build on those ideas.
PC: Sure. Can you tell bit more also about the other nominated classes, what they do and why did you develop them?
SS: Well, the
fmail class in particular was a result of one of my team members complaining about a large file attachment to an email that was exhausting the memory available when trying to send it as a string.
So I figured out how we could use a temporary file stream to store the data and then send it through using the same manner as the PHP extension uses without converting it to a string and loading up the memory. I had to look at the PHP source code to figure out how that was being accomplished, but other than that it was pretty straight forward.
The
pClosure class was written because I find the closures in PHP 5.3 to be very useful, but I couldn't use it on the company server or the servers of a couple of our clients, because the servers are still using PHP 5.2. So, I had to figure out a way to accomplish the same aspects without the syntax inconsistencies.
The
setTimeout and setInterval class was basically part of a larger idea to create asynchronous process handles for PHP, specifically for Windows, but potentially for Linux or Mac too.
The process control PHP extension only works on Linux so, I needed to figure out a way to pole the separate process in a non-blocking manner. I haven't quite got the asynchronous system working, but I thought that the trick that I learned for polling the process was useful so I shared that.
I hope to eventually create something like the Web Worker specification for HTML, but using PHP on the server side instead of client side.
PC: Interesting. Did the award nominations helped you somehow to get more feedback or recognition for your work and or in your life in general?
SS: The nominations definitely generated more discussions among my co-workers and friends. The nominations were a great starting point for a number of discussions, on how I had accomplished certain aspects, and I think that it was a great thing to be nominated for being innovative personally.
PC: Good. Do you think this year's award will provide you better opportunities in the future working with PHP?
SS: I certainly hope so. I hope that this recognition from the worldwide users of PHPClasses will spur opportunities and challenges, as well as provide me with interesting problems that need solving.
I work with a great bunch of people in a very good environment here, and I think that we definitely have the potential to handle challenging projects as well.
PC: What do you recommend to other authors that would like to get a similar level of recognition that you are getting for your contributions to the PHPClasses site?
SS: I would recommend taking a problem that you are having or a problem that others you know are having and attempt to find a solution. Or maybe just find a better way to accomplish something and present it in a simple, well-documented way, so that the ease of using your approach is readily apparent and easy to understand. Provide examples, and if you can more than one example.
PC: Right. Is there anything else you would like to say regarding this award?
SS: I hope that people will come and check out the
Screaming Monkeys Web Guild Meetup once a month at the Northeast Indiana Innovation Center.
To contact me regarding professional Web design and PHP consultation please visit the Web site of our company:
JH Specialty.
I really admire the hard work and dedication that is put into maintaining PHPClasses, monitoring class uploads, blogging, forums. The innovation award is really awesome and helpful for PHP developers to share important ideas with each other and learn from others successes. I really appreciate the recognition from a site like PHPClasses.
PC: Thank you, it is the community that makes the result so great. Thank you also for this interview.