php|tek 2011 Wrap Up – A Different Animal
For the second year in a row, I got to attend and speak at php|tek in Chicago. I typically blog the heck out of all the conferences I go to, going into detail about every session and event, but that just didn't seem appropriate this time around. That's because, for me, php|tek 2011 was more about the people and less about the sessions.
Don't get me wrong...there were some great sessions, but I feel like my overall takeaways from this years conference came outside of those sessions rather than in them. The "hall track" was where I ended up spending most of my time. Chatting it up about everything from PHP to beer to open source to hiring to BBQ. To some, that will look like I was just hanging out with friends, but to me those moments and relationships are invaluable.
In the keynote on the second day, Elizabeth Naramore (who I had met once before, but she likely doesn't remember that) made a statement that hit home to me. I forget the exact quote, but the basic concept was that all this technology crap will eventually change and go away, but the friendships you make because of it will last for a lifetime. It's the people that matter, not the technology.
Coming in as a more experienced speaker (although for whatever reason, I was rattled in my first session) gave me a different perspective too. All these speakers that get up and speak at conferences do it because they love what they do and they want to share it. They don't get paid. They usually don't get anything additional from their daily jobs to do it. They just love what they do and want to share it. Their passion for their work is contagious and that is a great thing for PHP.
I guess my point is, php|tek is just a different animal. It's become more of a family reunion (the good kind...) than a conference to me. The first day I got here, I made the comment that I didn't feel like I was in "conference mode" and wasn't really feeling it. But when I started seeing old friends and talking to new people, I remembered why I spent days preparing my slides. I remembered why I desperately try to convince anyone who will listen to me about the value of attending conferences. I remembered why I fight for budget money to send myself and the other developers on my team to php|tek. I remembered that this was supposed to be fun.
And dammit, it was the best time I've had at a conference. See you next year, tek!
Presentation: The Last Authentication System You Will Ever Write
This is a presentation on third party authentication that I did at php|tek 2011 and at a TriPUG meetup. The presentation goes into detail about how to setup your application to use third party sources, like Twitter, to provide authentication for your application. The presentation was described as...
Your users need to sign up, authenticate, retrieve their password, change their password, etc. Building your own system takes time and resources, so why not do what developers do best…abstract it away! Places like Twitter, Facebook, and Google have given developers the sweet gift of third-party authentication, allowing your users to use their existing credentials to access your application. Learn about the pros and cons of offloading authentication to these services and see how they work while exploring options using both OpenID and OAuth.
You can download the slides from SlideShare and get the sample code I used in the presentation on GitHub.
Presentation: Securing Your API
These are the slides from my presentation, given at php|tek 2011 and a recent TriPUG meetup. Here is the description of my talk...
Providing an Application Programming Interface (or API) has become a crucial piece of the modern web application. API’s provide opportunities to build the ecosystem around your application, opening doors for collaboration and innovative mashups. However, the API opens up another entry point into your application, requiring that you somehow secure the access to it.
This talk will outline some of the options you have when securing your API. I’ll give overviews and implementation tips on some of the more popular schemes such as OAuth, HTTP authentication, and generating API keys. We’ll also look at some general API best practices such as rate limiting, error handling, and secure data communication.
You can download the slides from SlideShare if you are interested.
Come hear me at php|tek 2011 in Chicago!
I have had the great privilege once again to be invited to speak at the annual php|tek conference in Chicago from May 24th - 27th. php|tek is an amazing conference. Definitely my favorite, so being asked to speak is very flattering. I had the pleasure to speak last year, and I guess I didn't screw it up too bad
This year I will be giving TWO talks, which is awesome! Here is what I will be speaking about...
Securing Your API
Providing an Application Programming Interface (or API) has become a crucial piece of the modern web application. API’s provide opportunities to build the ecosystem around your application, opening doors for collaboration and innovative mashups. However, the API opens up another entry point into your application, requiring that you somehow secure the access to it.
This talk will outline some of the options you have when securing your API. I’ll give overviews and implementation tips on some of the more popular schemes such as OAuth, HTTP authentication, and generating API keys. We’ll also look at some general API best practices such as rate limiting, error handling, and secure data communication.
And then....
The Last Authentication System You Will Ever Write
Your users need to sign up, authenticate, retrieve their password, change their password, etc. Building your own system takes time and resources, so why not do what developers do best…abstract it away! Places like Twitter, Facebook, and Google have given developers the sweet gift of third-party authentication, allowing your users to use their existing credentials to access your application. Learn about the pros and cons of offloading authentication to these services and see how they work while exploring options using both OpenID and OAuth.
The conference is a must-go for any PHP developer looking to take their skills to the next level. Some of the greatest minds in PHP will be there, so sign up today and you could be too.
Book Review: “PHP Development in the Cloud”
Whenever I hear someone mention the buzzphrase "in the cloud" my attention perks up and I think to myself, "self, does this person know what they are talking about or are they just rehashing the latest IT buzzwords?" My apprehension to the cloud comes honestly; after all it has been billed as the latest magic bullet that will solve every IT problem ever created....right? RIGHT?
My pessimism of the cloud was met head on in the latest book from Ivo Jansch and Vito Chin entitled "PHP Development in the Cloud." I appreciated the authors immediate recognition that the "cloud" term was overused and often misused, so let's just say I was a fan by about the third page.
First and foremost, the book provides an excellent overview of what the cloud is and isn't, and then how PHP developers can leverage it in our applications. The book details the cloud offerings from Amazon (EC2, S3, CloudFront, MapReduce), Rackspace (Servers and Files) and Microsoft (Azure), all while giving actual code examples of dealing with their APIs and offerings.
Perhaps the most beneficial part to me was the section on Gearman. Perhaps I am late to the game, but I wasn't familiar with the technology. I immediately saw ways I could implement it in my projects, even sending my friend Garrison an email mid-chapter saying "we need to look at this for {redacted}."
There was also a section on Google Gears, although I could have done without that. It's a Java and Python system, so I wasn't sure what it was doing in a book about PHP development, but it's also a book about the cloud in general so I guess that counts. It just didn't deliver much for me.
Overall, I found the book to be an incredibly inclusive introduction to the cloud. The book provides PHP developers the basic knowledge needed to develop in and around the cloud without overwhelming them with system administration. I found the book very easy to read cover to cover, although it could also be used as a reference manual in certain use cases. I'd definitely recommend it to any PHP developer exploring cloud-based services.
To order the book, or to read more about it, you can visit the php|architect site.
php|architect Article: Good (PHP) Help is Hard To Find
In this month's php|architect there is an article written by yours truly entitled "Good (PHP) Help is Hard To Find." Here is the synopsis:
There is a huge difference in a PHP developer and someone who “knows PHP.” If you are looking for a job, how do you set yourself apart from the crowd to get noticed as a qualified professional PHP developer? The answer is simple. You have to build your geek cred.
It is the first time I have ever been "published" in a real way. I was extremely nervous about writing the article, and am now even more nervous about how my PHP community brethren will receive it, but I thought I did a pretty good job on my first REAL writing piece. I hope that the article is helpful to PHP developers looking to land a job and those of us just looking to improve our own skills.
It is kinda awesome though...knowing that the "who's who" of the PHP community will be reading something I wrote. Let's just hope I didn't screw it up too much. Check it out at http://phparch.com. My article is in the March edition, but if you are a professional PHP developer, you would be well served to purchase a yearly subscription. Well worth the money.
BreweryMap.com – Find new brews!
Just after the new year, Garrison and I were sitting around the office talking about breweries. I was planning a trip to Denver and wanted to know about breweries in the area, so we brought up Google maps and searched for "Denver Breweries". The results sucked. We couldn't find much of anything worthwhile.
Simultaneously, our friend Shaun was creating an open database of breweries and beers called BreweryDB.com.
It didn't take long for Garrison to put the two together and create a mashup, mapping all the breweries in BreweryDB.com onto a Google Map and making it searchable. BreweryMap.com was born. As soon as I saw what Garrison had done, I asked him for access to the code so I could make a mobile version of the site. After about a week or so of work, we had a functioning site that allowed you to search for breweries and beers from your phone or your desktop.
Fast forward to last week. We were asked to do an interview with Raleigh's #1 newspaper, the News and Observer, about BreweryMap.com. We did a photo shoot and everything. It was very cool. Our article was posted earlier this week, with a teaser on the front page! It was unexpected, but very cool. I bought like 10 copies
Our goal with BreweryMap.com has always been to promote two of the things both of us love, craft beer and technology. I feel like we are on the verge of something really awesome and am really excited for what the future holds. If you like exploring new beers, check out BreweryMap.com and find some new breweries to try!
UNCW Presentation: Preparing Traditional Media for a Mobile World
I was recently invited to come down to the University of North Carolina at Wilmington (UNCW) to give a presentation on Preparing Traditional Media for a Mobile World to a group of people just getting started with exploring mobile strategies. I've been working on the mobile presence at NC State for a few years, so I tried to give everyone pointers on where to start and how to be successful.
Also joining me were colleagues from UNC Chapel Hill, East Carolina, and of course, UNCW. It is great to see the many universities in the UNC system come together and share knowledge. Here are my slides for those that are interested in what I had to talk about.
January TriPUG – Object Oriented PHP
I had the pleasure of giving a talk at the January meetup of the Triangle PHP User Group on Object Oriented PHP. Here are my slides for those that attended:
2010 In Review
2010 is over. I set a pretty high bar for myself, both personally and professionally, when I made several blog posts in early 2010. Three of those posts (Inventory the (NC State) web, Improve Adoption of the Brand, and More Mobile) were directly pointed at my professional life at NC State. One post was more of a general "Stuff I Wanna Do" post. After all that, here is what I (we, in most cases) were able to accomplish.
At NC State
I made it a goal of mine to start a project to inventory the web at NC State. I explained the problem in my previous post, but am sorry to say that I don't think we are any closer to solving it now than we were then. Honestly, it never became a focus of mine over the last year. Hopefully it is something that I can actually begin work on in 2011.
My second goal was to begin to improve the brand adoption. I actually feel like we made a difference in this area, albeit small. We have continued the work with the NC State Web Developers Group and continued to push the university forward with Social Media, including an ambitious project creating a location-based service specifically catered to NC State. We aren't any closer on a web developer / designer certification program, but not because of lack of trying.
My third goal was "More Mobile" and I have to say, we've made the most progress here. We are launching a new site in mid-January focused on our efforts to mobilize (no pun intended) the Mobile efforts on campus. We've released several applications into the app store, gave presentations on how we "do mobile", and have an organized and positive direction on where to go next.
Despite not meeting some of my goals, I feel like I accomplished a lot in 2010 at NC State. Not to make excuses or anything, but I feel like a lot of my progress was impeded by some dire circumstances. We've lost a significant amount of people in my department, with additional budget cuts looming on the horizon. Morale is at an all-time low. In fact, most employees I have talked to are just plain pissed off. Pissed off at management, at politicians, at administrators, at the world. I'm not pissed off. I was, but I think I'm in the "accepting" stage now. The higher education IT world just isn't what it was when I started working at NC State in 2001, and it likely never will be again. Oh well. Bottom line is, people are just not as productive or innovative when they are downtrodden. Now on to some slightly better things...
Personal Work and Personal Goals
I wanted to grow my business in 2010. That happened in a rather unexpected way. AmberCube didn't really do a lot this year, but an offshoot of that occupied the majority of my free time in 2010. I haven't blogged about it here, but if you know me personally, you have heard me talk about Destination Analytics. I dedicated A LOT of time and effort to DA this year, with it finally paying off in December when we were able to post some profits. Great feeling.
I wanted to advance professionally in 2010. Since I already spoke a bit about NC State, this is more about my professional profile outside of that. I've started contributing to some open source projects (Zend Framework), I've spoken at several conferences this year, I've started to help organize the Raleigh PHP User Group, and I've started sharing more of my code. Along the way, I also found something that I am pretty good at...organizing events. I organized BarCampRDU 2010 and also served as program chair for the UNC CAUSE 2010 conference. Both were incredibly rewarding and exhausting, but I honestly had a blast.
Travel was also a priority in 2010. Erin and I knocked this one out of the park pretty well with our trip to Rome, Sorrento, Corfu and Athens. It was a flat-out amazing trip. Best of my life so far. We are already planning our next one, which seems to be directly related to what conferences I may speak at. I also went to Chicago, the beach a few times, and camping.
I wanted to get out and explore more in 2010. One of the places that I excelled at this (my friend Jen would hug me) is in the craft beer category. I have discovered that I love the stuff. I've tried more different beers in 2010 than I even thought possible. I joined the Band of Outlaws at LoneRider (my favorite brewery) and even spent $19 on a single beer at one point. My 2005 self would have kicked my ass, but that guy loved Bud Light so what did he know?
One thing Erin and I didn't really follow through with was our restaurant challenge. We made it to precisely 1 restaurant on the list. We just didn't end up having the time. It's still on our list for next year though.
I wanted to lose some bad habits in 2010, but let's just ignore that. I seem to have picked up more than I lost. Maybe next year...
Overall, I think I did pretty well for myself in 2010. Erin and I are doing great together, too. I fully expect 2011 to continue on with some of the successes of 2010, hopefully limiting some of the let-downs. Happy New Year and good luck to all my readers in 2011!

