FUD and Flames And Trolls, Oh My!

Last weekend I gave the opening keynote at PHPNW14. The talk was recorded, and no, the video isn’t online yet. The basis of the talk was centered around community and how we can come together (and how we are drifting apart). But there was one point that I mentioned that I think requires further thought and discussion. And that point is that there is far less trolling going on than it may seem at first glance.

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:

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…

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:

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!

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?

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:

Beyond Inheritance

In my last post, I talked about revisiting the concept of Design Patterns and questioned how useful it is to “learn” them. The conclusion that I came to was that you are better served by focusing on how objects communicate rather than traditional patterns. Well, that’s not the only “traditional concept” that I think we should move beyond. So, let’s talk about inheritance…