assertTrue( ): Amazon: The Everything Company

If you’re thinking about putting your company’s Web presence on Amazon’s computers (using EC2), you might want to ask yourself a few questions. Does Amazon already compete with your business in any way? How long before Amazon does compete with you? Do you want to put your online business in the hands of a potential competitor? Do you want Amazon to know more about your business than it already does? No one’s suggesting Amazon is actually going to spy on your business’s bits and bytes (which are already encrypted anyway,

What SSL $_SERVER variables are available in PHP

I found myself wondering what HTTPS variables were available in the $_SERVER variable today and didn’t find a specific list (and didn’t have mod_ssl installed).  So as a public service, here is what my server says. array(58) { [“HTTPS”]=> string(2) “on” [“SSL_VERSION_INTERFACE”]=> string(13) “mod_ssl/2.2.3” [“SSL_VERSION_LIBRARY”]=> string(25) “OpenSSL/0.9.8e-fips-rhel5” [“SSL_PROTOCOL”]=> string(5) “TLSv1” [“SSL_SECURE_RENEG”]=> string(4) “true” [“SSL_COMPRESS_METHOD”]=> string(4) “NULL” [“SSL_CIPHER”]=> string(18) “DHE-RSA-AES256-SHA” [“SSL_CIPHER_EXPORT”]=> string(5) “false” [“SSL_CIPHER_USEKEYSIZE”]=> string(3) “256” [“SSL_CIPHER_ALGKEYSIZE”]=> string(3) “256” [“SSL_CLIENT_VERIFY”]=> string(4) “NONE” [“SSL_SERVER_M_VERSION”]=> string(1) “3” [“SSL_SERVER_M_SERIAL”]=> string(4) “6B5B” [“SSL_SERVER_V_START”]=> string(24) “Aug 30 13:53:57 2013 GMT” [“SSL_SERVER_V_END”]=> string(24) “Aug 30 13:53:57 2014

Would this be a dumb idea for PHP core?

So, I have been playing around with an idea in my head for a while, a few years now.  It really came along as we started seeing more and more PHP applications rely on bootstrapping.  For me it was as I saw more ZF applications becoming more and more complicated.  At the time I was consulting and I would see significant server resources consumed by bootstrapping the apps.  Loading config files, loading dependent classes, setting up dependencies, initializing ACL’s, and the list goes on and on. One of the ways

The IBM i Programmer’s Guide to PHP… second edition?

Yep!  PHP is still making strides on the IBM i and people are loving it.  But with the world’s premier book for PHP on the i Series developer now several years old it is time to update it.  So Jeff Olen and I have decided to start work on a second edition.  We will be making some changes but we will mostly be adding new content.  Lots of new content.  Here is a list of things that we’ve come up with. Web services/Mobile JSON REST Mobile interfaces and considerations Language

Setting max_input_time (with data!)

I asked a question on Twitter on why some of the recommend max_input_time settings seem to be ridiculously large.  Some of the defaults I’ve seen have been upwards of 60 seconds.  However, after thinking about it I was a little confused as to why a C program (i.e. PHP) would take so long to process string input. The reason I was thinking about this was because I was thinking about ways to protect PHP from denial of service attacks.  Having timeouts longer than necessary can exacerbate service availability problems and

Why is FastCGI /w Nginx so much faster than Apache /w mod_php?

I have a new post on using Jetty with PHP-FPM that, if you think this is interesting, you should check that one out. (this post has a sister post on Apache’s event MPM compared to Nginx) I was originally going to write a blog post about why NginX with FastCGI was faster than Apache with mod_php.  I had heard a while ago that NginX running PHP via FastCGI was faster than Apache with mod_php and have heard people swear up and down that it was true.  I did a quick test

What do you hate about being a programmer?

I have my list?  What about you? My list? I don’t like solving problems that aren’t related to what I’m doing I don’t like waiting for stuff I don’t like it when things don’t work I don’t like egotistical ass-wipes.  Egotists are OK, since I’m one.  But not the ass-wipes.  They just stink. I don’t like workarounds I don’t like failures that don’t give me a clue about what went on I don’t like API’s, frameworks or other things that are either too simple or too complex.  I like my

On Discovery

“When Alexander saw the breadth of his domain, he wept for there were no more worlds to conquer.” Hans Gruber Perhaps I am more contemplative when I wake at 3:00 and can’t get back to sleep.  I was up for a good reason, feeding a beautiful little girl my wife and I are fostering (I was feeding from a bottle, in case anyone is confused) but those nights tend to make for strange thoughts during the day… more-so than normal. I was playing around on a virtual machine this morning on a