10 Jul 2002 gabe   » (Journeyer)

Well, another round of massive changes to our site at work, combined with another random GTA3 binge, and apartment hunting have delayed me from having any damn space time lately. Excuses, excuses... sheesh.

So, I think I've indefinately put off the netinfo extension for PHP in favor of doing some work with SRM. At some point when I joined the php-qa mailing list earlier this year I inevitably ran across a link to SRM in Derick's signature. A while later I asked some questions on php-dev, somewhat related to app. server type functionality with PHP, and got another pointer to the SRM. So I finally decided to download it any play with it last week, and I think it's absolutely the best thing for PHP that I've seen in a while.

I've spent the past week tearing it apart on the inside, and with help from Derick, Dan, and Jani got it working on my iBook finally. I learned a bit about Apple's dyld linker in the process too. And Derick has been helpful answering my frequent barrages of questions about SRM, PHP/Zend, gdb, etc.

So, I've figured out a few things I'd like to do to help out SRM: first is that it needs a decent authentication system, second is that I'd like for there to be a way to call SRM library functions without having to call them as methods to an SRM class object. (makes for cleaner code that one can use with & without SRM).

I have to wait on the first task until Derick is finished with his new network protocol abstraction layer. (so SRM can process requests via its native socket interface, HTTP, XML-RPC/SOAP, etc.) At some point I'd like to create an SMTP plugin (mostly to see if I can get SRM to handle bounced emails and deactivate accounts, or note whom note to send messages to etc, in our system at work), but that's another story. I'd like to create a new authentication module for SRM that these protocol plugins can make use of so that users can setup which protocols are authenticated from where, etc. There was some mentioned on the mailing list about using SRM in a hosted environment... After much thought, I think the best idea would be to just run an instance for each user - let them set it up themselves if they want to run it.

On to the second task then... figuring out how to make PHP (as an SRM Client) pass function calls on to SRM instead of having to call them through the SRM object. Well, there's two ways to go about this that I can think of: create a Zend extension to pass off failed function calls to SRM, or to somehow have the SRM extension for PHP add SRM library functions to the PHP/Zend function table, and then handle those calls directly. I've only investigated the first idea so far, after much questioning of Derick and then other folks on #php.bugs (thanks Andrei, etc.), so that's what I've started playing with. Derick pointed me to his xdebug PHP extension as a place to investigate function call handlers for the Zend Engine - so that's where I've started. I've torn up the xdebug extension to learn more about ZE, and it's pretty damn cool. I'm hoping I'll have at least figured out how to handle task #2 (properly) by the end of the week.

15 days until we get to move into our new apartment in Newburyport, Ma. and I can actually get BANDWIDTH there! No more modem! I even get a choice between cable or dsl. How cool is that? We're actually saving a bit of money too, so I'm hoping I can get an eMac for home and then run that as a server on a DSL line and perhaps provide some space for Derick and other SRM folks to test/develop SRM in OSX. After that, I think I've finally decided to sell the iBook and get an older Pismo Powerbook G3 and get it upgraded to a G4. The only thing that makes it not as good as a TiBook is the graphics card - but I honestly don't ever play games in OSX anyways... so, it's the perfect fit, and cheap too!

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!