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

5Aug/100

Presentation: RSS Like A Ninja

Today, I gave a presentation to the NC State Web Developers group about "How to RSS Like A Ninja."  If you weren't able to make it out to the presentation, here are my slides for your enjoyment.

30Jul/101

Mediterranean Trail 2010: Athens

This is the final post of my documentation of our Contiki trip in June 2010.  Check out the first post about Rome, the second post about Sorrento, Capri, and Pompeii, and the third post about Corfu to get caught up.

Day 8, 9 and 10:  Welcome to Athens!

Day 8 started out on a ferry, as we left the island of Corfu and headed back across the sea to Igoumenitsa, Greece.  Once we got into port, we offloaded and got on the bus that was to take us across Greece and into Athens.  The bus ride was actually pretty horrible to those of us who got motion sick.  The road was rough, windy, and for the most part, uneventful.  One of the things we did see in our 7 hour bus ride was the Rio-Antirrio bridge, which was built for the Olympics when they were in Athens in 2004.  We got a few decent pictures out the bus window, but didn’t stop to admire it.  I love bridges, so this was particularly cool.

As we entered into Athens, I noticed what a different feel it had than some of the other places we went.  Overall, the city was pretty dirty and graffiti was everywhere.  It was also very very crowded, but I think that may of had to do with the fact we were entering the city around rush hour.  We got to our hotel which had an awesome air conditioner and got cleaned up.

That evening, we headed down towards the Plaka district which was a few blocks from our hotel.  When we got down to the main square, I looked up and saw the Acropolis!  It was really amazing and very cool.  It’s situated on a hill overlooking Athens, so you have a straight-on view of it almost everywhere you go.

The Plaka district is known for food and shopping, and there were plenty of both.  Our dinner that night was a group dinner where we had some traditional greek food.  It was pretty good, but not the best food I have ever had.  After dinner, a bunch of us decided to talk a walk around through the shops and stuff.  Unlike Rome, we didn’t really have a map but I have a pretty good sense of direction so everyone started following me (yikes!).  Surprisingly, most of the shops were closed by that time, so we made our way on back to the hotel.

Back at the hotel, a few of us decided to go hang out on the roof where we had a spectacular view of the Acropolis at night.  They have spotlights lighting up the ruins and it is amazing.  Unfortunately, our cameras weren’t the greatest, but we did get a few decent pictures.  We headed to bed relatively early as we were all kinda exhausted.

The next day started with a city tour of Athens.  We saw a bunch of ruins which were tucked in almost every nook and cranny of the city.  We also went by Olympic Stadium which is extremely beautiful.  The entire thing is made of marble, including the olympic rings above the stadium.  We also saw the site of the worlds first University.

As part of the bus tour, we were dropped off at the Acropolis to spend a little time exploring there.  This was one of the places that I looked forward to the most on the trip, and it didn’t disappoint.  We had a guide for the first part of the tour, and he actually told us a lot of good information.  He was probably one of the most knowledgable location guides we had.

After making our way through the entrance to the temples and up the mountain side, the Parthenon slowly came into view.  They are continually doing restoration work (you can see the cranes in the pictures) to try to keep the ruins alive for future generations, but they are decaying pretty badly.  You can see from some of the pictures that there are pieces that are whiter than others.  These are filler pieces that were made so that the actual ruins can be reconstructed.  Pretty cool stuff.

The views of Athens from the top of the Acropolis are amazing.  You can see for miles and miles all the way around you.  We took lots of pictures :)   After the tour guide got done, Erin and I quickly tried to make our way around to all the little parts of the Acropolis, including the theatre and the other temples besides the Parthenon.  The theatre is actually still in use.  They had done a play there the night before.  How cool would it be to be an actor in a play that was performed on Acropolis Hill?

One thing I haven’t mentioned yet was how unbelievably hot it was that day.  Almost 50 degrees Celsius.  That’s like 120 Fahrenheit.  We had to make sure we had water everywhere we went just to stay hydrated, but you couldn’t drink the tap water.  That meant we ended up spending a good chunk of change on water.  That sucked, but it was a necessary thing.

After we got done with the Acropolis, the bus took us back towards our hotel.  Kat, Jonas, Erin and I decided we wanted to go down to the National Museum of Art in Athens.  It was about a 10 block hike, but we decided to walk it anyway.

On our way, we saw a meat market that we decided to check out.  Mostly, this was my idea because I wanted to see the crazy kinds of meat there, so blame this on me...Anyway, Kat and Erin were walking in front of me and Jonas and all of a sudden, this creepy guy in a bloody apron comes up and touches Erin on the shoulder and says “You sexy, you sexy”.  I was almost in disbelief, but I looked at him and said some choice words before walking on.  Then I looked around and noticed there was nobody there besides us and the butchers.  I quickly said to everyone that it was time to go, so we got out of there fast.  Close call, avoided.

The museum was absolutely huge.  Sculptures, art, pottery, you name it.  All the busts of the Greek gods were there, including a lot of Egyptian-themed artifacts.  The coolest part were the bronze and marble sculptures, especially the one of Zeus (or Herculues...they aren’t sure).  When we went by that particular bronze statue, Jonas decided he wanted to get his picture taken in front of it, so he gave Kat his camera and started to pose, just like the statue, in front of the statue.  Little did we know that that was a no no.  From across the room, a very angry Greek man started yelling at us.  Apparently, you can take pictures, just not pose.  He gave us the stink-eye the rest of the time we were in the room.  Good times.  We spent a few hours in the museum, but gave out soon after the posing incident.  We headed back to the hotel to take a nap and get ready for our final dinner that night.

The final dinner was an extra add-on, but almost everybody in the group was going so we decided to go too.  Our restaurant was down in the Plaka district and it was absolutely awesome.  I don’t know how many different appetizers we had that night, but it was at least 5 or 6.  Then came the main course of pork kabobs, which were outstanding.  We also had a few traditional Greek dancers come in and dance during dinner.

After we ate, some of our new friends a table over (Rich and Kate) ordered a bottle of Ouzo and invited us to have a shot.  Needless to say, the drinks were flowing freely that night and everybody was having a great time.  After leaving the restaurant and taking a bunch of group pictures in the square, we headed to a bar that was a couple of blocks from our hotel.  This is where the night gets a little fuzzy for me, but not really because of any sort of drinks I may have had...

The bar was a lot of fun, and everyone was just letting go and having a good time.  John and his girlfriend Jacquelyn bought a round of drinks and we all hit the dance floor for a good time.  As previously established, I have some of the best white-boy dancing skillz known to man, and picture evidence proves that they were on display that night.  At some point in time, I remember dancing and then the entire world started spinning.  Then...that world abruptly stopped spinning and I felt a horrible pain in my head and face.  After that, I got nothing.  What had happened was that I took a ride on the shoulders of John (who is like 10 feet tall...) and when he put me down, I had slipped on a drink that someone spilled on the dance floor.  Dance floor, meet face.  Face, meet dance floor.

As Erin tells me, I ended up passing out either because of the blood (I'm a wuss like that sometimes) or the knock to the head.  I was told that a lot of people helped me get back to the hotel and made sure my nose wasn’t broken.  To them, I say a million thanks.  I think I did a good job of scaring everyone, including our tour guide Amedeo.  Sorry guys!  Either way, I closed out Athens with a bang...literally!

The next morning I woke up looking like I had been in a fight.  I had a cut across my nose, a busted lip, and a scratch above my eye...not to mention that my whole face was bruised.  I looked pretty rough, but felt OK.  We ate a quick breakfast, then went downstairs to checkout.  Most everyone else on the tour had left the hotel already, as they got to go on an add-on cruise (lucky bastards).  We ran into Amedeo as he was checking out and we relived the story of the night before one more time.  We got checked out, called a cab, and off to the airport we went.

Saying goodbye to Athens wasn’t as hard as saying goodbye to the folks on our tour.  I’m telling you, those people were freakin amazing and I will NEVER forget the awesome time I had with them.  It was the best trip I have ever been on, and it was special to be able to spend it with my wonderful wife.  We’re already planning our next trip, and we may have to hit up some of our new Contiki friends and try to get them to join us on the next one (hint hint).

I can’t sum up the trip any more except to say “all the crazy shit I did tonight...those will be the best memories...”  See you next time Contiki!

21Jul/101

Mediterranean Trail 2010: Corfu

This is part 3 of my documentation of our Contiki trip in June 2010.  Check out the first post about Rome and the second post about Sorrento, Capri, and Pompeii to get caught up.

Day 5, 6 and 7:  Corfu baby!

When last we left, I said that the next night was one of the longest of my line.  Although day 5 started in Pompeii, most of the day was spent driving across Italy to the east coast.  Our destination was a port town where we would be catching a 7 hour overnight ferry ride to Igoumenitsa, Greece.  We were told that the original plan was to take the overnight ferry directly to Corfu, but for whatever reason we were being redirected to Igoumenitsa.  That in itself would have been fine, but the bigger problem was our accommodations on the ferry.  When I booked the trip, I was told that we would have a cabin with beds and our own bathroom while on the ferry, seeing as how it was overnight.  What we got was WAY different.

It was essentially an airline seat in a room with about 70 other airline seats.  Oh yeah, and there was no such thing as checked baggage here either.  We had to keep up with our own bags during the duration of the trip.  When we boarded the boat, there were already a few people in the room occupying our seats.  When our tour guide tried to get them to move, this woman went off on our tour guide...screaming at all of us in Italian.  Amedeo had to go get the captain to have him remove the people.  Drama!  For most of the boat ride, those same people stalked the room...walking by and peering in every so often.  It was creepy.  On top of that, random people would walk in while our group was sleeping and try to sit down with them!  Needless to say, I couldn’t sleep at all that night.

We finally got off that damn ferry at around 4am local time.  We checked into a hotel and got a whopping 2 hours of sleep before waking up to get on yet another ferry for a 2 hour ride to Corfu.  Dear Contiki, if you wanna make this trip even better, find a different ferry company.  Anyway, it was when we got to Corfu that our day started to get better.

After checking into our hotel, we all went down to the main square to have lunch.  I was very nervous about having Greek food.  I had never really had anything Greek that I liked, so I ordered a Gyro because everyone seemed to like those.  Needless to say, it didn’t take me long to change my mind about Greek food!  I LOVED it.  So tasty...mmm tatziki!

After lunch, we walked around a little bit and did some shopping.  We then caught the bus back to the hotel and chilled for a while.  Erin went to the pool and had a few tropical-looking drinks with some of the girls (she had actually managed to sleep a little the night before).  I went back to the room and crashed.  Naps are essential on a Contiki trip, because you really don’t sleep much!

That night, we had dinner in the hotel before heading out to a toga party.  That’s right.  Just like in “Animal House”.  Toga!  Toga!  Toga!  Erin and I hung out with Kat and Jonas, who we had met a few days earlier.  Like us, they were celebrating their 5 year wedding anniversary, and like us, they were awesome ;)

After learning how to put on a toga, we headed down to the “party”.  Not only was our Contiki group at the party, but there was another Contiki group there as well.  Now at first, it was totally 8th-grade-dance lame.  But then we saw something truly amazing and gross all at the same time.

This girl from the other group was seriously trashed about 30 minutes into the thing.  While she was walking out of the dance floor room and onto the patio, she tripped and spilled her drink.  She looked at the floor, looked around, then got down on her knees and I kid you not...licked her drink off the floor.  We were shocked and amazed, but then just started cracking up.  That set the tone for the night and we sorta decided “we’re gonna act stupid and have a good time”.

We all started dancing and going nuts on the dance floor.  I broke out my serious white-boy dancing skills, which were appreciated by everyone I'm sure.  It was a great time letting loose and really not giving a crap.  As you can see  <- Jess was having a good time, along with the rest of us :)   It wasn’t long before the room got so hot we couldn’t stand it, so we made our way outside to the beach.  We hung out with a few folks and told our girl-licking-the-floor story.  Good times.  We wrapped it up there around midnight and headed back to the hotel exhausted.

The next day was the best day all around of the trip.  We got up early and headed down to the docks to catch a boat known fondly as “George’s Boat”.  While the name itself doesn’t exhibit much excitement, say those words to anyone who has done a Contiki in Corfu and they will surely light up and smile.

George is an awesome guy.  He’s probably in his 60’s and his job is to take all us crazy people around on his boat and show us Corfu.  George is also a dirty old man, which makes for some AWESOME commentary along the way.  Basically, George is the man.

Our trip had 3 stops planned and then a “secret” stop.  First stop was a beach where you could swim or do water sports.  Some people did parasailing, some did the banana boat thing.  We just chilled on the beach and went swimming a little.  It was really nice to just relax for a few hours.  After getting back on the boat, we had lunch on the way to stop number 2.  We had cold cuts, chips, and tatziki (good for your sex life, per George).    It was good freaking food, especially since it was crazy hot and we had been swimming all morning.  Stop number 2 was a place to go swimming and play with George’s balls (volleyballs, that is).  We dove off the boat into the clearest water I have ever seen.  You could see 30 feet down.

Stop number 3, or “skinny dippy island, hanky panky island, freaky deaky island”, was a spot to go skinny dipping.  Thank goodness skinny dipping wasn’t required, as I don’t think the word is ready to see that from me in the light of day, but we went swimming anyway.  That’s probably one regret I have that I didn’t do.  I mean, how many people can say they have been skinny dipping in the Adriatic sea?  Well, not this boy...

After that, we had a surprise stop by a stand where seals were putting on a show.  They jumped through hoops, slid around the deck, and even put a little kissing show.  It was pretty cool.  On the way back into the harbor, George made everyone from the different countries get up in front of the boat and sing their national anthem.  We represented the US well, but I think the Canadians may have had us out numbered.  We pulled back into port and thanked George for an awesome day.  Everyone seemed to have a great time, and it was one of the highlights of our trip.

That night, about 10 or 12 of us went back to the square for dinner.  It was amazing again, but this night we followed up with shots of ouzo for dessert.  Ouzo is a traditional Greek dessert liquor, and boy does it have a kick to it.  Very good, very strong, very awesome.  We finished up with dinner then did some more shopping before finally deciding to head back to the hotel.  We tried to catch the city bus back, but we couldn’t find where it picked people up so we decided to spring for a cab.  I was with Erin and two other girls in our cab, so they made me ride in the front with the driver.  I seriously wasn’t sure if I was going to make it out alive or not.  See, these roads were tiny and curvy.  And Mr. taxi man decided it was beneficial for him to go like 100km/h down these tiny little streets.  I think I closed my eyes for most of the way back.  Crazy cab drivers...

Back safely in the hotel, we packed everything up then went to bed.  The following day was full of more ferries and busses as we traveled across Greece to Athens.

15Jul/100

Mediterranean Trail 2010: Sorrento, Capri and Pompeii

DSCF0149

This is part 2 of my documentation of our Contiki trip in June 2010.  Check out the first post about Rome to get caught up.

Day 3 & 4:  Sorrento, Capri, and Pompeii

Leaving Rome bummed us out.  We seriously fell for this city in the short 2 days that we were there, but our trip was just getting started.  We had about a 4 hour bus ride to Sorrento which left much to be desired.  I’m not sure if it was the Italian roads, the lack of air conditioning in the bus, or the driving of our bus driver, but I got crazy motion sick on this thing.  And I wasn’t the only one.  But if there is one thing that could make me feel better, it was when we drove along the winding highway and the beautiful cliffs of Sorrento came into view.

After stopping to take pictures, we continued on to our hotel where everyone was really happy to get off that bus.  After checking in, most everyone spent the afternoon hanging out by the pool and having a few drinks.  It was nice to relax for a little bit after a hectic few days in Rome.  One side note, our hotel had the worlds smallest shower.  It was 18 inches square.  You could barely turn around in the thing.  Anyway...

After relaxing by the pool and getting ready, everyone got ready and took a 10 minute walk into downtown Sorrento.  The square was full of life with restaurants and shops.  Amedeo suggested several places for dinner and the group went their separate ways.  Erin and I tried a pasta place where we had a decent dinner (not as good as the one in Rome, but still pretty good).  After dinner we were brought shots of Lemoncello, which Sorrento is famous for.  It was extremely sweet but very good.

After dinner, we headed down to the center of Sorrento for some shopping, then headed back to the hotel early.  When we got there Jess, Cloé and Katie (some of our new Contiki friends) were hanging out by the pool, so we joined them and had a few glasses of wine.  This brings me to one of the best parts about a Contiki tour...the people we met!  The experience wouldn’t have been the same without our new friends that we made on the trip.

The next day, we got up early and all headed down to the port at Sorrento.  We had an early ferry ride over to the island of Capri, which is one of the wealthiest places in the world.  While getting off the ferry, someone said “In Capri, even the poor are filthy rich” which isn’t far from the truth.  Either that, or the poor are the tourists (hint: us).

First up in Capri was a boat tour around the island.  Capri is famous for it’s rocky grottos, soaring cliffs, and crystal clear blue water.  The cliffs were absolutely amazing.  I tried to take some pictures, but you can’t really appreciate the magnitude of these things unless you are in a tiny little boat looking straight up at a cliff that is hundreds of feet high.  All along the coast there are openings in the rocks that form the grottos.  We saw 6 or 7 of them...all beautiful.

About half-way through the boat tour, we stopped at a beach to take a swim.  The first thing we noticed was that the beach wasn’t sandy.  In the place of sand, there were small rounded rocks that made up the beach.  It was kinda weird at first (and much more difficult to walk on) but it was still fun.  I jumped in the water as soon as we got our stuff put down.  There was a huge rock in the middle of the swimming area that you could jump off...yeah I had to do that.  It was awesome!  At one point I just laid there thinking... “I can’t believe I am swimming in the Mediterranean Sea right now.”

After an hour or so, we got back on the boat and continued on our tour.  We checked out a few more grottos then headed back to the main port.  We had a lunch of homemade ravioli while overlooking the bay, then headed off to do some shopping.  This place had every high-end shop imaginable.  Louis Vuitton, Gucci, Prada, Rolex.  You name the designer, they have a shop here.  While we couldn’t really afford any of that, there were still other very cool shops to look in.

One of the cooler experiences we had was at a store that sold Erin’s kryptonite...shoes.  Capri is also famous for handmade leather shoes, so we decided to check one of the stores out.  The clerk was really helpful (surprise, eh?) and Erin found her some white sandals.  While we were checking out, the clerk mentioned that the shoes Erin picked out were “Jackie O shoes.”  I was like, “Jackie O?  As in Jackie Kennedy?”.  The clerk nodded then pointed to a picture behind us featuring none other than Jackie Kennedy.  In that shop.  Buying the shoes Erin just bought!  Very cool!

After hitting up a few more stores and a gelato stand (don’t judge me people), we headed back to the ferry to catch our boat back to Sorrento.  After getting back, we cleaned up and then had dinner in the Hotel with the group.  It was pretty good food, but not memorable.  After dinner, we crashed and crashed hard.  We were totally exhausted and actually went to bed early.  The next morning we said goodbye to Sorrento and got back on that damn bus, heading north towards Naples and stopping in Pompeii.

In the shadow of the ominous Mt. Vesuvius, the remains of Pompeii holds some of the most well preserved ruins of the fallen Roman Empire.  We had a special tour guide take us through the ruins.  At one point in time, this city was bustling with life.  Now, there is an eerie quiet to the streets, even though it is one of the most visited tourist attractions in the world.  When Mt. Vesuvius covered the town in ash, it froze the city in it's tracks.  Now it provides incredible insight into the lives of first century Romans.

The frescoes and mosaics were stunning.  I can only imagine the beauty of this city when it was in it’s prime.  We saw the remains of one of the city’s brothels, which had some not-quite-so-G-rated scenes depicted on the walls.  One of the coolest things we saw were the Roman equivalent of road reflectors.  When they constructed the streets, they inlaid pieces of travertine in the stone to act as reflectors so that the streets could be seen at night.  The ingenuity kinda blew my mind a little bit.  One of the things that we didn’t get to see was the stadium, but I guess we can catch that next time.

After the tour of the ruins, we had lunch in the square and did some shopping at the market.  I had a lot of fun negotiating prices with the vendors.  Erin rolled her eyes at me (she hates when I negotiate prices with people) until I scored a necklace for her for less than half price.  After shopping, we got back on the bus and prepared for an epically long ride to the east coast of Italy where we would eventually catch a huge ferry to Greece...and have one of the longest nights EVER!

13Jul/104

Mediterranean Trail 2010: Rome

SDC10068

I wrote at the beginning of the year that one of my goals was to travel more.  A few months ago, Erin and I started working on that goal by finally planning a long overdue vacation.  Our plan was to go to Italy and Greece for 10 days with a previously unknown-to-us tour company called Contiki.  Contiki caters to 18-35 year olds and goes all over Europe, Australia, Asia and the US.  We went with Contiki because we wanted to see all this amazing stuff, and have a good time while doing it with people our age.  We wanted to let go, live large, and see Europe, and I’m here to tell you that we did all of that and more!  This is our story of the Mediterranean Trail Contiki, June 2010, in all it’s glory.

Days 1 & 2:  Viva Italia!  Rome

We arrived at our hotel in Rome around 5pm local time after a fairly long flight.  We were pretty much exhausted, but there was not a second to rest.  Our tour group was meeting at 5:30pm to go to dinner, so we quickly checked in, met our tour guide Amedeo (who was awesome...more on that later) and joined everyone in the lobby.

Dinner that night was pure Italy.  We had wine, pizza, bruschetta, gelato.  A very nice man serenaded us during diner, and we got to know some of our fellow Contiki-ers.  At one point during dinner, I leaned over to Erin and whispered...”can you believe we’re in Italy?”

After dinner, Amedeo led us on a walking tour of Rome.  Amedeo is a native Roman and he is rightfully VERY proud of that fact.  He knew everywhere, everyone, everything about Rome.  We started in Piazza Novona, seeing the 3 fountains at dusk.  We went on to check out the Trevi Fountain, the Pantheon, and the Spanish Steps.  It was very rushed, but we got to see a taste of Rome that night.  We made it back to our hotel and crashed...the following day was going to be a big day.

Day 2 in Rome started with a bus ride through the city taking us to the Forum and the Coliseum.  The Forum ruins were amazing.  I love all kinds of history like this, so I was in heaven.  We walked down the streets that Julius Caesar walked.  We stood in the shadows of 2000 year old columns.  The detail and longevity of the structures were amazing.

From the Forum, we walked down a long cobblestone path.  Just over the trees, we saw the Coliseum.  I was speechless.  No words can describe the feeling you get when you see this place for the first time.  It was huge!  We took LOTS of pictures, then went inside for a self-guided tour.  Everything was so awesome.  It was my favorite part of the trip.

After the Coliseum, we had a quick pizza lunch and then proceeded to Vatican City.  We got to go through all the Vatican museums.  The map room, the library, the sculptures.  Everywhere you looked, something was painted or sculpted.  Amedeo mentioned several times that Vatican City is the smallest and richest nation in the world, and you could really tell.  Everything was in top shape.  We then got to go into the Sistine Chapel.   The mastery of Michelangelo was on full display on the ceiling.  It was absolutely beautiful...not bad for a guy who said he wasn’t a painter.  We then got some not-so-great news that we wouldn’t be able to go into St. Peter’s Basilica because the priests were practicing for some event.  That kinda sucked, but we did go by the square and take some pictures.

After we left Vatican City, the “organized activities” for the tour were done for the day and it was still early.  Erin and I decided that, instead of taking the metro back to our hotel and sleeping until dinner, that we would go back down to the city center and see some of the sights.  We walked from Vatican City down to the Pantheon first.  This was one of the places that I REALLY wanted to see, so we went in and took some pictures.  It was very cool.  We then checked out the Trevi fountain and made a wish or two.

We also hit up Piazza Novona again where there were lots of artists out painting.  We checked out some art, then met a very nice artist who was painting in the square.  We talked to him a little bit then ended up buying a painting of the square.  We were getting kinda hungry, so we decided that we really needed a pre-game gelato fix at a place close to the Pantheon.

After gelato, we hiked back to our hotel room and chilled until about 7:30.  Dinner was on our own that night, so we set out to find something to eat.  There are restaurants everywhere, so we knew we wouldn’t have trouble finding anything.  We walked about 5 or 6 blocks from the hotel and came across a tiny little restaurant called “Le 2 Colonne”.  We decided to take a chance...and we were so glad we did.  The food was amazing.  I had a hand-made cheese tortellini in cream sauce with proscuitto.  Erin had an eggplant pasta in red sauce.  We shared a salad as well.  For desert, we had some homemade tiramisu that was out of this world, and I don’t really like tiramisu.  It was the best meal we had over the whole trip.

After dinner, we decided we wanted to walk some of our dinner off, so we decided to go back and have desert #2 from the same gelato place we ate at before dinner.  We made our way back there and ate our gelato on the steps of the Pantheon.  Very cool.  We walked around a good bit more...back to Piazza Novona, the Trevi Fountain and the Spanish Steps.  It was getting late so we decided to take the metro back to our hotel.  Only problem was, it was about 12:30am and the metro was closed.  Oh yeah, and we were about 3 or 4 miles from our hotel.  We ended up getting back to the hotel around 1:30am, but it was really cool to see Rome at that time of night.  The whole city is full of life and really was one of the coolest places I have ever been.  We only got a taste of Rome, but it was enough to make us want to come back!

Stay tuned for more...if you are even still reading all this :)

1Jun/102

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...

21May/100

Lean Mean PHP Machine at tekx

Here are my slides from my talk this morning at tekx.  I hope you all enjoy and learn something from them!

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.

Switch to our mobile site