Wednesday, May 28, 2014

The Tale Of The Wrecked Fire Engine

There is a lesson that I was taught many years ago that I think everybody who contributes to Open Source projects should learn. Back when I was a volunteer firefighter, I had a rather interesting conversation with one of our ex-chiefs. Let's teleport back to when I was 21 years old.

Wednesday, March 12, 2014

Why I Don't Recommend Scrypt

As many of you likely know, I have a "thing" for password storage. I don't know what it is about it, but it fascinates me. So I try to keep up as best as I can on the latest trends. In the past few years, we've seen the rise of a new algorithm called scrypt (it's 5 years old actually). It's gaining more and more adoption. But I don't recommend its use in production systems for password storage. Let me explain why:

Monday, March 10, 2014

An Opinion On The Future Of PHP

There's been a lot of buzz in the community lately around PHP and its future. The vast majority of this buzz has been distinctly positive, which is awesome to hear. There's been a lot of talk about PHP6 and what that might look like. There's been a lot of questions around HHVM and its role in the future of the language and community. Well, let me share with you some of my thoughts in this space...

Tuesday, December 31, 2013

2013 - Year In Review

It's that time of the year again. A time to look back on all that was accomplished in the previous year, and a time to look forward to all that can be accomplished next year. Once again, let's look at what I was able to do this year:

Wednesday, December 11, 2013

Looking For A New Opportunity

So, I am at a cross-roads in my career. Due to some recent circumstances, I will be looking for a new employer effective February 1st, 2014 (my last day with my current employer will be Jan 31). So I will be available for hire in the near future!

Monday, November 25, 2013

Beyond Clean Code

This is the fourth post in my "Beyond" series. The previous three posts focused on re-imagining OOP and questioning some of the core beliefs that we have come to take for granted. This one is going to be slightly different, in that I want to talk about another angle of writing code: the process itself. We always talk about how code should be clean, but how do you write clean code?

Monday, November 11, 2013

Beyond Object Oriented Programming

In the last post Beyond Inheritance, we talked about looking past "types" and reasoning about objects differently. The conclusion was that inheritance wasn't necessary for OOP, and often results in more problems than it solves. Well, let's go beyond that and explore more of what will come from treating objects as containers of behavior. Let's look at what this means for various kinds of classes: