The Chronicle

of a ColdFusion Expatriate

What I've Learned From 20,000 PHP Files

July 14, 2015

Aside from the well-known considerations of the computer science discipline like algorithmic efficiency, decoupling, cohesion, and so on, working on a huge codebase with a large number of engineers brings its own challenges.

Since joining Wayfair, I have had the opportunity to work on a larger system and with a larger team than I ever have before.

This is what that experience has taught me.

A Gentle Introduction to Emacs Configuration

July 05, 2015

Since giving my talk, Evil Mode, or, How I Learned to Stop Worrying and Love Emacs at the Boston Vim meetup group, I have been inundated with questions, both about how I pulled off this transition and about Emacs itself and how it works.

One question that comes up more than the others is how to “properly” configure Emacs. Because Emacs is essentially a Lisp engine that just happens to ship with text editing capabilities, configuring it requires writing or modifying some Lisp expressions, which is quite different from how Vim is configured.

Here, I will gently guide you through the very basics of Emacs configuration and show you where to get help so that you can embark on your Emacs customization and personalization journey with confidence.

Shadow IT Is the Canary in the Coal Mine

June 13, 2015

In the early 20th century, long before “information technology” was a phrase anyone had heard of, coal miners brought canaries into the mines with them because the birds, being warm-blooded and more sensitive than humans to most environmental effects, would become ill from carbon monoxide or other toxic gases found in the mine long before the miners would, giving them a chance to escape or take protective action.

Such “animal sentinels” saved many lives by acting as an early warning system for dangerous conditions that the humans could not sense themselves (carbon monoxide in particular being entirely without scent), and the phrase “canary in the coal mine” came to be used as a general term for something that provides a signal of danger.

“Shadow IT” is a term used to describe systems put in place within organizations without explicit organizational approval. A very simple example would be some team deciding to use their personal Google Docs accounts to track project data in spreadsheets rather than Microsoft Office documents on an internal file share. Shadow IT is generally perceived as a security or privacy risk because the organization doesn’t have the access and auditing controls built into approved solutions.

Nevertheless, Shadow IT is a sign of danger. It’s an indication that approved solutions don’t meet all of an organization’s needs. It should be treated not strictly as a departure from the acceptable path, but as a strong signal that existing solutions are inadequate.

Evil Mode

June 03, 2015

“Evil Mode, or, How I Learned to Stop Worrying and Love Emacs”

That was the title of the talk that I gave at the Boston Vim Meetup group. As you all may know, I was a Vim user for 15 years and I’ve been attending the Boston Vim meetups for quite a while, so this was an interesting experience for me.

I think it might be an interesting experience for you, too, so I’m posting the video here so you can all enjoy it in the privacy of your own homes!

Don't Be Typecast By PHP

May 25, 2015

When I tell people I meet that I am a PHP developer, it’s not too unusual for them to scoff or even laugh. In spite of PHP’s enormous popularity, its unflinching support by the unstoppable Facebook engineering machine, and its continuous and impressive improvement as a language year after year, many people in the software industry are openly derisive toward PHP.

Don’t let PHP’s own reputation sully yours; don’t let PHP itself typecast you.

In television, film, and theatre, typecasting is the process by which a particular actor becomes strongly identified with a specific character; one or more particular roles; or, characters having the same traits or coming from the same social or ethnic groups.

Wikipedia, “Typecasting (Acting)”

You are more than the language you use, or even prefer. Moreover, the language you use usually has very little to do with your success as an engineer, or even the success of any business using it. Let me give you some advice.