Archive for the ‘Personal’ Category.

A New Chapter

This will be my last post on this blog []. I’ve decided to both move my blog domain to and switch to using WordPress.

For now, I’m not migrating the existing content on this blog over. I’m still debating that, and I’ll likely end up doing it, but for now I’d like to focus on getting new content out there.

This blog has served me well for nearly two and a half years, but it’s time to make a change and move on to something new. Thanks to all my faithful readers; I hope my writings prove useful to you following this transition.

A Summary to End a Decade

Tonight we reach the end of the 2000s or, as some people like to call it, the “ones.” As is customary among most of my peers, I’ve reviewed last year’s summary to reflect on what I accomplished this year. So, here are the high points in no particular order.

  • Draw: The writing and technical editing for my book was done by May. The publisher was able to get it proofread, but it’s still in layout due to delays from CodeWorks and the holidays. I’m really hoping things will come together next month, but as it stands now, I’m not able to hold a copy of my book in my hands just yet. In terms of writing books, there may be new developments come next year, but I’m keeping those under wraps for now until I have more definitive news to pass along.
  • Win: A number of things changed with the Acadiana Open Source Group this year including our regular meeting format and where our web site is hosted. Additionally, we’ll be moving the meeting location to the LITE Center beginning next month, which is a very exciting development. I’m looking forward to continued success with the group as it approaches its third year.
  • Win: I published not one, not two, but three articles between the January and June issues of php|architect Magazine. I’ve also continued to serve as a Technical Editor for several issues.
  • Win: Even though I wasn’t accepted to speak at any conferences that were held this year, I did get confirmation that I will be speaking at php|tek in 2010. Given how I originally worded this goal, I’m going to call it a win.
  • Draw: I did actually purchase the MySQL Certification Study Guide, read it, schedule the test, and show up to take it. Through an error on the part of the testing provider, however, the exam was pulled prematurely and I wasn’t allowed to take it that day. In hindsight, this goal doesn’t seem as important to me now as it did when I originally set out to do it.
  • Fail: I didn’t find time to learn more about the C programming language and PHP internals to make any sort of contribution. Hopefully I can make amends on that in the coming year.

So, more successes than failures. Not too shabby, all in all. Again, there were also some accomplishments that weren’t on the list, but that I feel are significant.

  • I’ve marked the end of my first year with Blue Parabola. It’s been an interesting year and I think the coming year holds a lot of new and exciting developments. (Dun dun dun!)
  • I gave webcasts for both php|tek and CodeWorks. I’ll be giving an extended version of the latter presentation as a session at php|tek 2010.
  • I helped to organize the Hackathon at php|tek, an idea which has gone on to inspire a Hack Track at php|tek 2010. This is definitely an event to look forward to!
  • While Phergie isn’t ready for stable release just yet, I think the core is mostly done and what remains is porting plugins and fixing any issues or filling in any gaps that present themselves. In addition to wrapping that up, I also plan on getting some sort of proper web site (maybe a MediaWiki installation) up for the project this year.
  • I just barely got this in today, but I made my first contribution to the PHPUnit project in the form of a commit that adds support for the mysqldump XML format to PHPUnit’s Database extension.

Happy New Year (and Decade) everyone and I hope you have many more!

Breadth-First Thinking

A surprisingly frequent occurrence in my day-to-day life goes something like this: I’ll get into IM or IRC conversations with friends when one technical topic or another will come up. Sometimes the conversation just branches from one tangent to another until that happens, other times the friend will ping me to ask a particular question on the topic. Some friends have even come to know this as a notable quality of mine.

The phrase that I’ve used to describe this quality in my head is “breadth-first thinking.” I thought I’d take a blog post to describe it in a bit more depth. You can find some of this information in the 2007 PHP Advent Calendar entry that Ben Ramsey did, but I’ll reiterate some of it here to bring it into context with my personal methods.

Social Bookmarking

Get an account on a social bookmarking service. I personally like Delicious as its Firefox addon makes bookmarking and tagging (which is extremely important for making things easy to find) a Ctl+D and Alt+S away in Firefox. You’re only as likely to use this service as it is easy to use and this is going to comprise a significant part of your personal database.

Feed Reader

Find a feed reader you like. I use Google Reader myself as it’s relatively frills-free and allows me to use all the functionality I need from the keyboard. Given only a few minutes, it’s easy to make a pass and mark off items that don’t interest me.

Everything Bucket

While Alex Payne may be against them, I think everything buckets are still potentially useful tools. Originally I was using Google Notebook, but when that got shut down I had to shop around for an alternative. I had issues with Evernote consistently retaining formatting in information I saved to it. I tried a few others and finally settled on using private posts on Tumblr.

News Sites

Subscribe to relevant new sites for topics that interest you, but in particular aim for sites that host a variety of information. I find PHP Developer, Planet PHP, and Zend Developer Zone to be excellent on both counts because they often put the spotlight on experiences using PHP and software based on it in conjunction with other technologies. Don’t let it stop there, though. Further explore blogs that they syndicate and subscribe to the ones that carry a lot of subject matter you like.

Social Media

Finally, participate in social media. If you follow people who share your interests on IRC, Facebook, or Twitter, links to interesting content are unlikely to be in short supply. If you use a Twitter client like Tags: ,
Category: Personal  |  Comments Off on Breadth-First Thinking


I don’t generally use this blog to write about personal matters. However, I feel the need to clear the air a bit about something that’s been weighing on me lately. If you’re reading this, chances are that I’d like you’re advice about how to deal with this situation I’m in.

Those who know me are aware that I’d been working on a book up until recently. The manuscript for that book is now in the hands of my publisher’s editor. At this point, there’s nothing for me to do but sit back and wait for it to be reviewed so any residual editing can be done before the book goes to print.

I worked toward this state of completion for many months. It sapped nights, weekends, and other moments that might otherwise have been free. The feeling of it being completed, at least until editing starts, was understandably a relief of sorts. What followed, though, wasn’t something I’d expected.

I thought that, after a period, I would reconstitute myself and get back into the ring, so to speak. Whatever the next project was, be it working on Phergie or Zend Framework, I would start.

But I can’t seem to find motivation. There’s this ever-present feeling of lethargy where there used to be enthusiasm. I remember feeling similar to this when I graduated from college. As long as I had been waiting for time to work on other projects, my own projects, it felt like I didn’t have it in me when the time finally became available.

I’m not sure that state ever went away or, if it did, how I got rid of it the last time. All I know now is that I’m not sure what to do about it. Maybe it’s burn-out? I don’t know. It’s not a feeling I like, but I’m not sure how to rid myself of it. It’s like an angst to do something, a restlessness, but nothing that comes to mind seems enticing.

Have you ever felt something like this? If so, how did you get past it?

Another Year, Another Summary

In seeing several people doing the year’s end blog post thing, I decided to take a look at my post from last year and follow suit with one for this year.

First, I thought I’d look at the list of goals I set for this year and see how I did.

  • Fail: I ended up leaving my job in Baton Rouge and also withdrawing from BROUG due to other commitments, so I wasn’t able to get very far into my term as their VP.
  • Draw: I did read and write a review for one book, though it wasn’t in my existing backlog. I managed to read or at least skim through most of The Pragmatic Programmer and blog about it several times. No other reading to speak of, though.
  • Win: I submitted one paper for OSCON that was rejected, then submitted four for ZendCon and got one accepted. I gave one of the others as an uncon session.
  • Win: The aforementioned book review was also released as a PHP Abstract podcast episode. While it hasn’t been published yet, I do have another magazine article coming out next month that I wrote this year.
  • Win: Part of the reason I haven’t done more in the way of podcasts and articles is that I did get a publishing deal and find myself a technical editor. I’m in the ever-so-slow process of writing the book now. I’m hoping it will be out in the first half of 2009 and will post updates here as they arise.
  • Fail: While I did get initial code and unit tests developed for Zend_Service_RememberTheMilk, the unit tests I did ended up needing to be refactored to use local static files representing expected web service responses. In short, my interest and energy levels were depleted before that portion of the project was completed.
  • Win: I did migrate my blog to Habari. I can’t say it’s been entirely stable (though it’s admittedly still pre-1.0) and without issues, but the ride has been interesting nonetheless. I may look migrating to something else later depending on how Habari does. WordPress seems to be improving, so maybe I jumped that ship too soon.
  • Fail: No developments on a content management project yet, just ideas floating around. I may get around to it eventually, but for the moment I’ve got enough other projects keeping me busy.
  • Fail: The local music scene web site project never got rebooted either, again due to lack of time and interest.

So 4 wins, 4 fails, and 1 draw. At least I broke even. I also did accomplish a few things that weren’t originally on my list.

  • I had a large hand in rebooting the Acadiana Open Source Group, a local agnostic open source software user group. It’s had monthly meetings almost every month since April and I consider it a fair success.
  • I was present for the first public offering of and among the first to take the new Zend Framework certification exam. Though it was rather last minute that I was able to get a slot, happily I was able to pass.
  • I switched jobs twice. The first change was to surgiSYS, LLC. I enjoyed my work there and later made the difficult decision to leave for other opportunities at Blue Parabola, LLC, where I’m currently working and having a blast.
  • I attended php|works and PHP Appalachia both for the first time. Both were immensely fun and informative events and I hope to continue my presence at both next year.
  • I’m now a technical editor for php|architect magazine. So, if you submit an article for the magazine, chances are you might be working with me to polish it up before it goes to print.

And I’ve got an updated goal list for this year, of course.

  • Finally finish my book and hold a published copy in my hands! (And hopefully get requests to sign a few. Hey, a guy can hope.)
  • Continue this year’s success of the Acadiana Open Source Group and become involved in other technology and social media related events in the area, such as the TechSouth conference.
  • Publish another magazine article. PHP podcasts, it seems, are going the way of the dinosaur. The two most well-known, PHP Abstract and Tags:
    Category: Personal  |  3 Comments

Seven Things – Tagged by Keith Casey

My Blue Parabola colleague Keith Casey decided to pull me into one of those viral tagging games. Since my blog has been building up a little dust lately between my Blue Parabola blog posts and my book, I decided to kill two birds with one stone by obliging him and freshening up my landing page a bit.

So, onto the seven things you may not know about me bit.

  • I used to play the flute. I did it all through middle school and then my freshman year of high school. When I was about to enter middle school, I was brought along with a group of new students to a table to sample the various instruments that were available to me and selected the flute because I liked the sound. The time commitment and demanding activities involved in the high school marching band lead me to abandon it. I continued to play here and there for church and the like, but haven’t picked it up in years. Currently, I can strum a few guitar chords and aspire to one day pick up drums and piano.
  • Web development was my bread and butter through most of college. In 2001, I landed my first job with a small web development group within Gannett tasked with creating a custom CMS for news publications within the state. After being there just under a year, I moved on to work for a web development company for three and a half years and finished off my degree working for an education-focused non-profit for a year before finally graduating at the end of 2006.
  • My Bachelors Degree was in computer science. OK, maybe most of you already knew that. My concentration was video game design and development. There, is that better? I started out in information technology, moved onto cognitive science, and then finally finished out in video game development only a few semesters after the concentration first became available. My interests have been more prevalent toward web development and I haven’t really touched game development since I left school.
  • I have a black belt in judo. Between ages 12 and 18, I was actively involved in a local club and took my shodan test shortly after graduating from high school (the minimum age to test was 18). At one point, I held certifications to referee at local tournaments and teach several kata forms. I acted as a coach in my club during my last few years of high school. My mother and brother were also in the club with me and some of the fondest memories I have from my teen years are of times we shared there.
  • While in judo, one of my better known talents was jumping over people. One of the skills practiced in judo is break falls, which are generally used to take falls without injury while practicing throwing techniques. One of its more "flashy" applications for the purposes of demonstration is leaping over a group of people arranged in a line and falling safely on the other side. My records were three standing men of roughly equal height and ten preteen kids sitting cross-legged. I was often referred to as being "half gazelle."
  • I originally met my wife when I was 12. Want to guess how we met? The judo club I just mentioned. At the time that I started, she was 16 and an orange belt. She was in a car accident shortly thereafter and was out for six years. When she finally came back, I was 18 and a black belt. The first words I ever said to her (after listening to her babble for three weeks straight in determination to befriend me) were "Do you ever shut up?" (No, I’m not kidding.)
  • During college, I grew my hair out to shoulder length. My parents always had me cut my hair before it got to be very long. While I was in high school, it was also against school policy for boys to wear their hair longer than a certain length. Once I was in college, I decided to try it just to have the experience. I cut it short again shortly after Hurricane Lili left us without working air conditioning for a week. While I’m glad to have done it, I don’t expect to repeat the experience in the future. Related photos are probably buried somewhere and I’m too lazy to go digging for them.

And now onto the fun part where I get to tag seven other people into doing this.

Why I Will Never Fly Continental Again

I don’t normally blog about this sort of thing, but it’s been such a source of frustration for me in the past few weeks that I feel it necessary to communicate to others if only to prevent similar frustrations for them in the future.

When I discovered that I would be speaking at ZendCon 2008, I made my flight reservation with Continental Airlines on June 26, a full 10 weeks before the conference was scheduled to begin. I was to depart from Baton Rouge, connect in Houston, and arrive in San Jose.

On the week before I was due to depart, Hurricane Ike began making its way through the Gulf of Mexico. The airport was preemptively closed from Friday afternoon through Saturday before the storm was scheduled to make landfall. Through this period, I kept a close eye on the Important Notices page on the Continental Airlines web site in order to stay informed on the status of my connection in Houston.

At 5 PM on Saturday 9/13, the page was updated to indicate that the Houston airport would be closed through 2 PM Sunday 9/14. My flight was not scheduled to land until close to 5 PM, so I waited. Later that evening at 7:30, the page was updated again to reflect that the Houston airport would be closed through the entirety of Sunday.

In speaking with customer representatives during this time, I discovered that the only hub for Continental in the southern half of the USA is in Houston. All flights go through the hub, even those from the nearby city of Dallas. Further digging on the Continental web site after the announcement of the closure of the Houston airport revealed that my departing flight from Baton Rouge had indeed canceled by Continental. I obviously couldn’t depart from Houston since the airport was closed, nor could I connect in another city because Continental did not have another hub in the southern half of the country. In short, all my travel arrangements were ruined.

I received no notifications of any type, e-mail or otherwise, from Continental during this time. Had I not been so attentive in monitoring their web site, I could have made it as far as Baton Rouge before knowing that my flight was canceled. I also received no offer of service from Continental to help me fix my situation by rebooking with another airline or flying through another hub in the northern half of the country. They did absolutely nothing for me.

At that point, I scrambled to file a refund request with Continental, then rebook my flight on American Airlines to go through Dallas, which was luckily far enough inland and sustained little enough damage from the storm that it was still operational. I was able to make it to and from ZendCon with no incident after that, aside from substantial additional expense gleaned from having to rebook last-minute.

Upon my return, I received an e-mail from Continental stating that I would not receive a refund because my ticket was non-refundable. As I understood it, the purpose of a non-refundable ticket was to discourage alteration or cancellation of reservations once they were made. According to Continental’s own Important Notices page, because my flight was canceled, I was within my rights to request a refund. Apparently that doesn’t mean I was within my rights to actually receive one despite the fact that I paid Continental to provide a service that, in the end, I didn’t get.

I responded to the e-mail with an explanation of the situation. That was eight days ago and I’ve received no subsequent communication from Continental since then. I will be pursuing the matter further, but the sheer amount of grief that this company has caused me is something I would not wish on my worst enemy. If you want to do me a favor, don’t fly Continental. If this is any indication of how they do business, they don’t deserve yours.


So I’ve been a bit out of pocket the past few weeks. Most people probably know why. For one thing, I was doing a personal experiment to see how going without IM and IRC during work hours affected my productivity. The change seems to have been positive, so I’m most likely going to stick with it for the time being. I’ll continue checking Twitter and e-mail throughout the day, but I just seem to get more done by limiting my focus to just those things and my work.

That’s not the only reason for me having been out of the picture, though. I’ve been making preparations to speak at ZendCon for the first time, which will be comprised of an official session on Creating Web Services with Zend Framework as well as uncon session on Web Scraping with PHP. As time-consuming as it can be to make arrangements to attend a conference, it’s all the more so if you’re speaking at one. Putting an hour-long presentation together from nothing is quite the daunting task, especially when you have to do it twice.

Lastly, I’ve secured an agreement with a publisher to author a book on web scraping using PHP. I’ve had a number of people ask me if there were any good books on the subject and I’ve never been able to suggest any. I’ve also become a frequent “go to” person of sorts for web scraping applications. It’s been on my personal list of goals to author a book, so it seems a good way to kill two birds with one stone. The book should be coming out sometime later this year and I’ll post to my blog again to announce it when the time comes.

Some of you may know that tropical storm Gustav recently came onto the scene in the Gulf of Mexico. At the time of this writing, it is a borderline hurricane and currently projected to sweep right through Vermilion Bay, about 10 miles from where I live. At the moment, I plan to evacuate west with my family to stay with relatives until the storm has passed. Tropical storm Hannah is likely to be only a few days behind Gustav, however, so that may extend my absence. Internet connectivity will likely be limited or unavailable where I am, but I will continue to use my phone to send messages to Twitter where cell coverage is available. For those of you who are spiritual, I ask that you keep my family and other residents of this area in your thoughts and prayers during this time.

The Lafayette CampFiber

Just a quick post to inform local residents about a very exciting local development.The Lafayette CampFiber, a barcamp-style event, will be hosted on October 4th at the Travis Technology Center in Lafayette. I’ve been waiting for an event like this to take place in Lafayette for several years and am very much looking forward to it. More information is available on Lafayette CampFiber page. Registration is free, but limited due to seating limitations, so sign up early!

From “Inspired by the community, ad hoc, unconference model of BarCamp, and driven by the desire to spark the imagination of developers to create the next generation of big bandwidth applications, the Lafayette CampFiber will bring together local developers in the Lafayette area to discuss the opportunities being created by the deployment of LUSFiber, soon to be one of the fastest residential networks in the country.”

Acadiana Open Source Group

While the Acadiana Macromedia Multimedia User Group has been around for a number of years and the recently formed Acadiana .NET User Group (requires Silverlight) has added to the number of user groups in the Acadiana area, there was still a void left by the long since defunct Linux user group of the area that needed to be filled. To that end, I decided to spearhead an effort to start a local user group for the open source software community.

The Acadiana Open Source Group now has a web site, a Facebook group, and a first meeting scheduled for the end of April. So, if you’re in the Acadiana area or know someone who is, tell them about AOS! I’ve sent out press releases to various media sources, sent Facebook invites to friends, and will likely end up posting flyers in various places around nearby UL campus before the meeting date. I want to pack the conference room we have reserved and have a large number of return visitors for the next meeting, so bring it!