Fake DNS Hosts with Behat with custom behat parameters

I was recently working on a Drupal project that had some internal DNS managed via hosts file. Tell me about it. Having no publicly accessible DNS or IP creates a challenge when your SaaS based Jenkins runs the tests.

The solution for this is a little custom work in your FeatureContext constructor and a BeforeScenario method.

View GitHub Gist //gist.github.com/unn/eba330ba057772dc1c55

Announcing OMG DDoS - Drupal lessons learned the hard way

My session on DDoS was accepted to Capital Camp! (Full disclosure: I'm an organizer of Capital Camp. I don't think my co-organizers had it in them to deny my session.)

I'm pretty excited to give this talk, as there doesn't seem to be a lot of info about Drupal and DDoS. You can find my session in the Grand Ballroom, Friday, July 27, 12:00 - 1:00 PM. It's setup as a beginner session, so all are welcome to attend. See you there.


CDN module without a content delivery network

Modern web browsers put a cap on the number of connections they make to a host. This means if you've got a lot of assets on one hostname the browser will queue the remaining assets, while the ones in front download. This is referred to as blocking.

One way around blocking is to create multiple subdomains, for instance, assets0.davidstoline.com and assets1.davidstoline.com to increase the number of resources downloaded in parallel. This is method is called domain sharding and it is recommended by both Google's PageSpeed and Yahoo's YSlow.

Installing XHProf in MAMP for Drupal 6

XHProf is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time and memory usage. A function's profile can be broken down by callers or callees. The raw data collection component is implemented in C as a PHP Zend extension called xhprof. XHProf has a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers.