Jason Austin's Blog Life and times of a PHP Developer in Raleigh, NC

3May/110

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.

 

Filed under: Geek-out!, PHP No Comments
19Jan/110

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:

>
Filed under: Geek-out!, PHP No Comments
21Sep/100

TriPUG Slides and Code on Zend Framework

Here are the slides from my talk at TriPUG on Zend Framework components.

If you are interested in the code, it is hosted on GitHub for download and distribution.  Special thanks for everyone coming out tonight to hear my talk.  If you guys have questions, please let me know.

18Sep/100

Presenting at September’s TriPUG meetup

On Tuesday September 21st I will be presenting at TriPUG, the Triangle's PHP User Group.  I'll be giving a quick overview of Zend Framework, then doing several "mini-presentations" about ways to use different aspects of Zend Framework.  My mini presentations will be about:

  • Validators
  • Filtering Input
  • Zend_Form
  • RSS Feeds
  • Delpoying an API with ZF
  • Zend_Date
  • Zend_Config
  • Zend_Log
  • Zend_Mail
  • Zend_Registry

This is also the first (of hopefully many) PHP meetups at NC State.  The group typically meets in Carrboro which is a good ways from where I live, so this is part of an effort to get more meetups in Raleigh.  If you are a PHP person in the Triangle, I'd like to encourage you to get involved in the community and come to the meetup.  You can RSVP from meetup.com.

I'm looking forward to being able to present, especially about something that I really love.  Let's hope we have a big crowd that continues to come back and contribute to the group.

16Sep/100

Organizing BarCampRDU 2010

For all you tech folks out in the Triangle area, you need to know about BarCampRDU.  From the website...

A BarCamp is an unconference where people interested in a wide range of technologies come together to teach and learn. Unfamiliar with the un-conference format? Here’s the idea in a nutshell. Rather than having scheduled speakers, everyone pitches sessions the morning of the BarCamp. Those sessions are put on a schedule, and lots of little groups form for intense group learning. Everyone is expected to teach, to talk, to participate. Yeah, its different from a regular conference – but it works!

I helped with the PR team last year and it was a lot of fun.  This year an organizer was needed, so I stepped up and decided to help out.  So far it has been a lot of work just getting a date and venue (October 23rd at Red Hat HQ), but I'm looking forward to the challenges.  If you are interested in attending or sponsoring, follow us on twitter (@BarCampRDU) or email me.

1Jun/103

Executing a PHP Code Review

Today, we had our first code review with our current development team.  For those of you not in the software industry, a code review can best be defined by someone else...like wikipedia!

We have done code reviews in the past, but they were very informal and their effectiveness could be debated.  There were a few problems with them, mainly:

  1. We weren't entire sure how to do one properly
  2. They degraded to an attack on the developer, not the code
  3. They weren't integrated as part of the process
  4. We didn't have enough people looking at the code

Now I am not saying we solved all of these problems, but we started moving in the right direction.  At TEK-X, I had gone to a session by Arne Blankerts and Sebastian Bergmann about code reviews that was extremely helpful.  I always felt like code reviews are for large teams, but Sebastian and Arne gave me some tips about how to implement them in our small team.  It seems for us, the more formal code review process where people have defined roles would not work so well.  What we did instead was to have our developers use the projector in our office to "present" their code.  Our roles were loosely defined as a presenter, a note taker, and two developers to critique the code.

This approach worked really well!  We closed our office door, put most of our computers to sleep, and concentrated on the task at hand.  Fewer distractions led to more focus and a better session.  We were able to make it through a good bit of code, finding all sorts of stuff that could be improved.

One of the major mistakes we had made in the past was letting the criticism get off the code and onto the coder.  To try to curb that a bit, we all had a chat beforehand to set forth some guidelines.  As the senior developer, I led with the idea that when we are critical of a piece of code, we're talking just about the code and not about the developer.  The whole purpose of doing these code reviews is to make everyone better at development, not to call anyone out or to make someone feel bad.  I feel like it takes a certain amount of maturity for developers to take criticism of their code and not take it personally, and my guys didn't disappoint.  Us senior developers also made a conscience effort to be cordial when doing our criticism and I think it paid off.  Everyone participated and still liked each other in the end :)

After the session was over, I asked the guys what they thought and they loved the feedback.  They definitely wanted to do code reviews more often, so we decided that every Tuesday afternoon we would reserve for code reviews.  I think this will help us stick with it and make it part of our process.

If you have never done a code review in your team, I'd suggest giving them a try.  It is a great way to give feedback to your developers, and you may learn something while you are at it.

22May/100

tekx Day Final

The last day of tekx and guess who has the first session today....me and my "Lean Mean PHP Machine!"  I have presented at quite a few conferences over the years, but never anything as big as tekx and never at a PHP conference. There were people in the audience who I have the utmost respect for. I feel like tekx took a chance on me, being a new speaker. The room was (WTF!) STANDING ROOM ONLY! You would think the pressure would be on but honestly, I wasn’t nervous a bit.

It went better than I expected. There was a lot of good discussion during my slides, which I love. Lots of presenters don’t like to be interrupted, but I always like to see my talks as discussions rather than lectures. Some good questions and points were raised, and I guess you could say I spouted off a few good lines that got tweeted and re-tweeted a bunch (I swear I didn’t plan any of them).

Stuff like that cracks me up.  I hope everyone enjoyed it cause I sure enjoyed giving it.

I got good feedback after the talk and everyone seemed to enjoy it. I thanked Cal Evans, Keith Casey and Marco Tabini for giving me the opportunity to give a talk and believing that I could do it. That means a whole lot to me...thanks guys!

The next session I went to was Lorna Jane Mitchell’s talk about open sourcing your career. She talked about how her efforts in the open source community outside of her job had benefited her career path. She started out doing the things that I have been doing over the past few years. Going to conferences, connecting in with projects, contributing where she could, meeting people. I already feel like that is making a difference in my career, and I actually really like all of that stuff to, so it was a good talk.

The last talk of the day was a panel session of the state of the PHP Community. I only got to stay for about half of it because I had to pack, but there was a bunch of good info there for people trying to start user groups. One of the things I am going to take from this conference is that I need to make a better effort to encourage the PHPers in Raleigh to unite a little better. I have plans...bwahahah!

So that’s it for tekx! The conference was great, and catching up with people is always a good thing. I learned a lot and am a bit recharged. Thanks to all the sponsors and organizers for a great conference. Hope I see you guys next year!

21May/100

tekx Day 3

Day 3 of tekx started with a presentation of developer trends by Matthew Schmidt from DZone.  I had met Matthew on the second night here at the Adobe party and we discovered that we were both from the Raleigh area.  Always great to meet new PHPers from the Triangle.  His magazine is like a digg for developers, so his talk was about what trends he saw over the past year.  The most interesting thing that I heard was that users who are migrating to Chrome are doing so at Firefox’s expense and not IE’s.  I guess we are all looking for a better, less resource intensive browser.  I too have decided to give Chrome the ol’ college try, so we’ll see how that goes.

The rest of the days talks went like this:

  • I checked out Matthew Turland’s talk on the new SPL Features in PHP 5.3.  Turns out, PHP is getting all grown up with real live data structures like linked lists and heaps.  Neato for the Computer Science geek that dwells within me.
  • Next was Nate Abele and Joël Perras’s talk about Lithium.  Joël and I talked a bit about Lithium earlier in the conference, and it sounded neat.  They skated the line of sarcasm with lines like “All Frameworks Suck” a little too much, and I honestly think their message got lost.  I still wanna check it out, but the presentation would not have sold me on it had it not been for talking with Joël offline.
  • Next was Measuring Your Code, again with Nate Abele.  It was a pretty interesting talk about gathering metrics about your code, but it wasn’t a whole lot of new info for me.

After these sessions, I was feeling kinda drained so I spent the rest of the afternoon in the Hack Track hacking on Zend Framework.  Today and tomorrow are bug hunt days, so I figured I would give a shot at fixing some bugs.  In actuality, the network was so darn slow that I didn’t get a chance to actually fix anything, but I did download and install lithium and got a project stood up with it and Mongo DB very quickly.

During the Hack Track, I had some good conversation with a bunch of folks about PHP, community, contributing to open source, and all sorts of stuff.  There are some really awesome people that come to these conferences and they are always willing to help out.  Good times.

Dinner was on our own, so I made the trek to PF Changs, which is becoming a tradition any time I go to a conference.  After dinner, Microsoft sponsored a gaming night where “Jason and the Thundercats” made our world debut on the Rock Band stage.  “American Woman” never sounded so sweet.

I didn’t stay at the part long as I wanted to rehearse and tweak my slides for my presentation that I had to give the next day.  I had to go downstairs because the internet in my room sucked, which led to me catching up with some more folks and having more good conversation over a beer.  I freakin love this conference...

20May/101

tekx Day 2 Sessions

Day 2 of tekx was actually the first real conference day full of sessions.  The day started out with a bang from Josh Holmes who delivered a keynote that rang true in so many ways.  His talk was about the importance of keeping our programming and our problems simple.  I am as guilty as any developer of over-engineering a problem and it has slowed me down quite a few times.  An excellent example that sticks out to me was when he talked about how the initial idea of twitter was so simple, most of us developers would have been like "it's not worth us working on it because that is a way too simple problem to solve".  He's right too.  When I first saw twitter, I was like "I could do that".  But the point is, I didn't because I was too concerned with the complex problems.  Anyway, it was a great keynote.  I even tweeted during that keynote that I was going to make all my developers watch it.

I went to a few other interesting talks as well.

  • I started with Rob Allen's talk on Zend_Form which really was a refresher course to me.  I did catch a few new hints, mainly using a translator to do custom error messages in Zend_Form.
  • I followed that up with a talk about Graph theory which was incredibly relevant to the state of social media.  It was also a good bit of stuff I hadn't heard about since I was in college, so it was good to get back into that.
  • I spent a dual session hanging out with Keith Casey and writing some Flex.  I used Flex a few years ago but never had a use for it, but it seems to have grown up a bit since I used it last.  The talk got me thinking about ways I can apply it to some of my projects.
  • Next up was Eli White's talk on code and release management.  I had one of those moments that you have at these conferences like "thank god I'm doing this right".  It was good to hear that we hadn't screwed anything up too bad...yet.
  • The last talk of the day was Matthew Weier O'Phinney about NoSQL.  Matthew always does a good talk that is really informative, and this was no different.  I'm definitely going to look into Mongo DB, which is a NoSQL database, when we get back.

The day ended with a few of us going out to Gino's Pizza for dinner.  It was pretty good, but Giordano's was better IMO.  When we got back, I was so exhausted that I went to bed early.  Long day of learning.

30Apr/100

Futureweb2010 Day 2

Day 2 at Futureweb 2010 brought some interesting sessions and some less-than-interesting sessions as well.  Here's my wrap-up.

The opening keynote was from Danah Boyd, who is an expert at looking at analytics with respect to social media.  Her talk was jam packed with interesting information, but the part that spoke to me was the escalation of Facebook and what that has meant to privacy.  When Facebook started (and when I joined) it was limited to .edu email addresses, which meant that the users were entirely academic.  Academia has a much different level of trust with one another than the general public, and Facebook got a reputation early on as being a viable alternative to MySpace...MySpace without the kooks :)   As Facebook grew up, they got much looser with the data that they possess.  First with Beacon, then with Facebook connect, and most recently with Facebook Graph.  They have gone from trusted source, to a company that seems willing to distribute data about you to every single website that wants it.  During the talk, I posted this tweet:

Now I have always known the risks of giving my data to Facebook.  I'm not one of the people Danah talked about who don't know what the privacy policies are or just click though the alerts and not reading them.  I'm an informed user and I (think I) know what Facebook is doing with my info.  But there most recent moves to allow my friends to share data about me without my say so is frightening.  So much so, that I am considering removing my account totally.  We'll see how that goes...another blog post is probably forthcoming about that.

The other session that I found extremely interesting was one on entrepreneurship.  This is a topic that hits close to home for me, as I am working on my third startup right now.  There was so much awesome advice that came from this, but I'm going to focus on a few key points.  The first point, was that staying in the black and making money early will save you from mistakes and heartache later on.  This was in reference to seeking VC money for your startup.  It really does make a LOT of sense to me.  I mean, if your idea takes off and you aren't making any money, you could put yourself in a situation where you HAVE to have a million dollars+ of funding just to continue your work.  If you don't have that money, you have to essentially sell your company to VC funding groups to stay above water.  VC's usually want about 75-80% of your company, which before you know it, you have lost control of your company and are now subject to the whims of your financial backers.  Not a great move.  The other thing I heard in the talk was a quote..."The defining mark of an entrepreneur is that they are people who get things done".  Damn straight.  I couldn't have said it better myself, and it's about as true as it comes.

The other sessions for the day were lacking.  I went to an intellectual property discussion and a discussion on interactive design, neither of which spoke to me at all.  I felt as though the speakers were more interested in hearing themselves talk than conveying useful information.  I'm sure somebody somewhere got something out of it, but I thought they were unprepared and uninteresting.

I'll be back for the third and final day tomorrow.

Switch to our mobile site