My Writings. My Thoughts.

Presentation: Introduction to Elasticsearch

// May 28th, 2014 // No Comments » // Professional

Elasticsearch is a powerful, distributed, open source searching technology. By integrating Elasticsearch into your application, you instantly provide a way to search a lot of data very quickly. Elasticsearch has a RESTful API, it scales, its super fast, you can use plugins to customize it, and much more. In this talk I go over the basics of setting up Elasticsearch, creating a search index, importing your data, and doing some basic searching. I also touch on a few advanced topics that will show the flexibility of this awesome service.

I did this presentation for both TrianglePHP and Lone Star PHP recently. If you have never had a chance to look into Elasticsearch, it is what we use to power BreweryDB’s search.

Reboot…again

// May 28th, 2014 // No Comments » // Personal

It’s time to reboot the blog again…I’ll probably make a new post in another 2 years!

The Death Of Civil Debate

// June 28th, 2012 // 7 Comments » // Personal

I don’t often use this blog to post about personal, social stuff (in fact, I have neglected this thing for over a year and haven’t used it for much of anything).  However, I feel I need to get something out, and 140 characters or a simple Facebook post just isn’t enough space.

Today marked what I believe is a significant date in our nations history.  This afternoon, the Supreme Court of the United States upheld a law that was passed by congress and signed by the President relating to healthcare.  Basically, it limits insurance companies from denying coverage to people with pre-existing conditions, mandates that all people must have some type of health coverage (although many people are exempt for various reasons), and expands certain parts of medicaid, among other things.

As I scanned through Facebook and Twitter today, I was honestly shocked at some of the reactions.  Not because people agreed or disagreed with the decision…that’s all well and good.  But the sensationalism of their hate-filled rantings was, simply put, striking.  I saw such incredible anger for opposing viewpoints that it made me question why I am connected with these folks.  Shouts like “Freedom is dead” and “This ain’t MY America!” and “We need to get rid of that commie Obama.  He’s not even a real American!”  Really folks?  Take a step back and look how you are acting.  It certainly wasn’t with any tact or respect for anyone or any institution.

The debate around Amendment One here in North Carolina had a similar tone prior to the vote.  Amendment One was a referendum set out to define marriage as exclusively between one man and one woman.  On the conservative right, it was billed as a “vote for marriage the way God intended.”  On the liberal left, it was billed as “equal rights no matter sexual preference.”  Needless to say, the arguments were intense and there were some things said that I am still shaking my head about.  Amendment One passed in North Carolina and there were certainly some disappointed people that day.  I was one of them, but my mood was less about anger and more about hope that the minds of the majority may one day change.  From the majority of my friends and followers, the postings on Facebook and Twitter in the wake of the vote were somber and sad.  Most of the people posting were against the amendment, but I didn’t see them posting that this was “the end of freedom!”

Both situations have made me realize that having a civil conversation with someone about political or social issues is really, really difficult.  I saw it on Facebook today where, to one of my aforementioned comments on the death of freedom, someone replied in favor of the healthcare bill.  That person was berated by the original poster, as well as some of their like-minded friends.  It reminded me of the school yard where the one kid who dared to be different got dirt thrown at him.  It was childish, immature, and downright mean.  The guy expressed his opinion, and for that he was called a communist, socialist, and other names I shall not repeat here.

That attitude has completely and utterly destroyed our societal ability to conversate and debate hot-topic issues.  I blame the likes of Fox News and MSNBC, but the politicians of this country have fueled the fire, too.  The mindless drones of the world eat that crap up.  All of a sudden, you have people (pastors, even) calling for all-out violence against those with dissenting opinions or those that are different.  How do you justify that to your conscience or your religious authority?

I grew up in the Lutheran Church.  Since the day I came into this world, I was taught about God, the Bible, Jesus, creation, and everything in between.  Along with that, I was taught tolerance, love, compassion, and most definitely, manners.  I was instilled with a sense of independence, curiosity, defiance, intuition, and public service (thanks mom!).  Perhaps above all, I was taught a sense of respect.  Respect for others choices, opinions, and voice.  There was very little respect in the messages that I read today.

When did we all get so angry at one another?  Why, when faced with a dissenting opinion, do we result to name calling and demeaning of the other person?  I struggle to figure out how some of my “friends” got this attitude.  Was it always there, and now it is status-quo to spew hate and vitriol at people, so they are just letting it fly?  Do they think they are one of the “cool kids” cause they yell louder and are more obnoxious than anyone else?  I swear, I don’t know when we decided that a debate must be void of class and civility.

While rare, it is still possible to have a decent discussion with disagreeing parties.  I had a great conversation with two friends of mine over dinner and a beer.  At the table was one self-identified democrat (me), one self-identified republican, and one self-identified libertarian.  All of us friends, all of us going into the conversation thinking we were all WORLDS apart on actual issues.  We had a great talk about taxes, gay marriage, defense, healthcare, pizza selections, beer styles.  You know what we found out?  We found out that none of us were that far apart on actual issues.  The republican wasn’t against gay marriage.  The democrat wasn’t against immigration policy.  The libertarian liked good beer!  And over that good beer, we found common ground.  With respect.  With civility.

Perhaps people need to just chill out, have a beer, and remember their manners.  Have some respect for your fellow man, even if especially if  you disagree.  You may find out that you aren’t that different, and you will do so with your dignity still firmly in tact.  How are we supposed to set examples for our children when we still act like spoiled brats?  We have to dial it back some, and remember that golden rule.  And please, stop throwing dirt at that “different” kid.  We don’t like it very much, and we will grow up to write blog posts about it.

Keep it civil folks.

php|tek 2011 Wrap Up – A Different Animal

// May 27th, 2011 // 5 Comments » // PHP

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

// May 26th, 2011 // No Comments » // PHP

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

// May 26th, 2011 // No Comments » // PHP

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!

// May 18th, 2011 // 1 Comment » // PHP

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”

// May 3rd, 2011 // No Comments » // Geek, PHP

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

// April 1st, 2011 // 1 Comment » // PHP, Professional

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!

// March 31st, 2011 // No Comments » // Professional

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!

Switch to our mobile site