The Holy Grail of Dev/Test
Yesterday the Cloud Matters blog posted an article of mine about using a PaaS tier to simplify the process of developing-testing-deploying web applications.
The backstory behind this article is interesting. I didn't write it as a blog post. I wrote it as an internal email explaining how we really...
Three Developer-Friendly Orchestration Tools
Recently I have been doing all kinds of DevOps/Orchestration work setting up in-cloud servers and services. Most of the time, what I want to be able to do is quickly and repeatably create several servers all working together. But I don't need a full orchestration system. I've found three promising...
Starting the Awesome window manager on Ubuntu 13.04
Awesome is a window manager that you can use to replace or augment other desktop environments like Gnome Desktop and KDE. I find Awesome appealing because of the different perspective it brings to window management. Instead of windows floating free on the desktop, Awesome provides various tiled views...
Generating a Blog with MiddleMan
Thanks to Jekyll and some similar technologies, static site generators have recently made a comeback. Static sites have distinct advantages when it comes to cloud computing: They have simple requirements (static web server), consume small amounts of resources, and can be hosted out of object storage...
XHProf in 30 Seconds: How to get started profiling PHP
The task was simple: I wanted to run xhprof
(the Facebook-developed PHP profiler) to get some quick-and-dirty metrics on a PHP script. While xhprof
is actually really easy to install and use, I had to read a surprising amount of material in order to run a simple install and write three lines of code...
Misplaced Optimization: A story of PHP performance woes
I recently began working on some PHP code for resolving HTML5 entities into their Unicode codepoints. According to the code, it had been optimized for performance. The code was moderately complex, and the authors appeared to have gone through great pains to build a specialized lookup algorithm. But...
Instant LAMP Server: Using Cloud-Init to Pre-configure Cloud Compute Instances
Cloud compute instances are like disposable servers. They make a great platform for application development as well as deployment. But frankly it's no fun to spend time setting them up time and time again. Lately, I've been amassing a collection of tools and strategies for working with compute instances...
On Being Mentored
We Americans hold fast to the myth of the self-made man, and when we give autobiography, we often steadfastly refuse to acknowledge how in so many cases we didn't pull ourselves up by the bootstraps. We were lifted up and pushed forward by others.
I am guilty of failing to acknowledge how indebted...
Code Has Two Audiences (Are You Alienating One?)
A programming language is a language designed to be read by both humans and machines. It is an intermediary that saves us (the programmers) from manually reducing all of our high-level designs to straight boolean logic. But it's also structured in such a way that current machine resources can unambiguously...
Node.js library for HP Cloud
Today the HP Cloud Node.js JavaScript library was made publically available at GitHub. The new library provides Identity Service (aka Keystone) and Object Storage (Swift) libraries.
Along with writing the actual library, I've worked with it on projects, and it is stable and usable. The APIs are similar...