
Archives (2008 - 2023)
Library to implement a well-behaved Unix daemon process.
This library implements the well-behaved daemon specification of PEP 3143, "Standard daemon process library".
A well-behaved Unix daemon process is tricky to get right, but the required steps are much the same for every daemon program. A DaemonContext instance holds the behaviour and configured process environment for the program; use the instance as a context manager to enter a daemon state
Strophe is a library for writing XMPP clients. It is implemented in both JavaScript and C for use in a wide variety of languages. The implementations are production ready, well documented, easy to use, and easy to extend.
Strophe provides the following features:
* XMPP compliant
* Browser and platform agnostic
* TLS support via SChannel, GNUTLS, or OpenSSL
* SASL authentication using ANONYMOUS, DIGEST-MD5, or PLAIN methods as well as legacy jabber authentication
* Customizable logging and memory management
This article is the first of a series on Dependency Injection in general and the implementation of a Dependency Injection Container in PHP.
Today, I won't talk about the container yet as I first want to introduce the concept of Dependency Injection with some concrete examples that will hopefully demonstrate the problems it tries to solve and the benefits it gives to the developer. If you already knows the concept of Dependency Injection, you can safely skip this article and instead wait for the next one.
XHProf is a function-level hierarchical profiler for PHP and has a simple HTML based user interface. The raw data collection component is implemented in C (as a PHP extension). The reporting/UI layer is all in PHP. It is capable of reporting function-level call counts and inclusive and exclusive wall time, CPU time and memory usage. Additionally, it supports ability to compare two runs (hierarchical DIFF reports), or aggregate results from multiple runs.
Originally developed at Facebook, XHProf was open sourced in Mar, 2009.
The slides from my PHP Quebec talk on "Common Optimization Mistakes" are now up and can be downloaded from here: http://ilia.ws/files/phpquebec_2009.pdf
I am pretty happy with the talk, which was a bit strange for me, since I get to talk about some of the downside of optimizations, rather then talking about the various specific optimizations. It looked like the audience liked the talk (I hope), so the results seems positive ;-)