Archive for the ‘Uncategorized’ Category.

Where I’ve Been

Things have been rather busy in my life recently, even though this blog doesn’t really reflect that. I thought I’d take a short post to share with any readers who may have wondered where I’ve been the past month or so.

I changed jobs a few weeks ago and the new one has kept me fairly busy learning processes, writing proposals, and beginning to work on projects. I’m getting acclimated to actively using Zend Framework again, which I’m enjoying.

I also recently launched Phergie 2.0, which was very well-received. Moving the project over to GitHub, launching the new project web site, and helping with the first round of bug fixes has kept me busy.

The ball has started rolling on getting my book published again. The ISBN has been obtained, the last round of edits is happening now, and the digital edition should be available for sale before the TEK-X conference in May. I’m hoping to have a few dead tree copies to distribute at the conference.

Speaking of which, I’ll be speaking at TEK-X, so I’ve also been working on preparing my presentation on new SPL features in PHP 5.3. I’m planning on putting my presentation content into (fairly long and embellished) blog post form, so keep an eye out for that.

I’ve been under the weather with a cold over the past week. I’ll try to find more time to blog once I’ve recovered and things have settled down a bit.

A New Chapter

This will be my last post on this blog [ishouldbecoding.com]. I’ve decided to both move my blog domain to matthewturland.com 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 Spaz that supports Ping.fm, you can automatically push links that you include in status updates to your social bookmarking site of choice.

Search Engines

Google is the search engine most people turn to these days. Once thing I’ve noticed is that it tends to be more biased toward new content versus a search engine like Yahoo which seems to favor more well-established pages. While in and of itself Wikipedia is not technically a search engine nor a good resource to rely upon for accurate information, it can link to other resources that are and should not be discounted as a good starting point for research. For that reason, I frequently link to pages on it, to the point where I’m quite often called a “Wikipedia whore” (all in good humor of course).

Parting Thoughts

In doing all of this, learn to skim information and don’t be afraid to bookmark something that you aren’t sure will have a use later; that’s something you can’t always foresee. Try to be diligent about tagging. One thing this simplifies is linking to a list of links on your social bookmarking site of choice that all have a particular tag. Also bear in mind that there is value in blog posts that draw together a lot of good resources about a particular topic, which is very conducive to this sort of research methodology. Hopefully like this one.

Running Spaz on Ubuntu Ibex 64bit

It took some digging to find it, but I finally found a way to make Spaz work on the Ubuntu Ibex installation on my Sony Vaio VGN-NR298E (with an Intel C2D 64bit processor). Up until I figured this out, I had been getting nothing but a non-responsive black box when I tried to launch Spaz.

Most of this comes from this tutorial on getting Twhirl and other AIR-based apps running on Ubuntu 64bit.

  1. Start by creating a new directory and and making it the current working directory. I just called it “Software” in my case.
    mkdir Software
    cd Software
  2. Install the AIR 1.5 SDK for Linux.
    mkdir air_1.5_sdk
    cd air_1.5_sdk
    wget -c http://airdownload.adobe.com/air/lin/download/latest/air_1.5_sdk.tbz2
    bunzip2 air_1.5_sdk.tbz2
    tar -xf air_1.5_sdk.tar
    rm -f air_1.5_sdk.tar
    cd ..
  3. Install Spaz.
    mkdir SpazAIR
    cd SpazAIR
    wget -c http://funkatron.com/getspaz
    unzip SpazAIR.air
    cd ..
  4. If you’re running 64bit, install the getlibs installer so you can easily get 32bit versions of libraries that AIR needs. Otherwise, skip this step. I believe the KDE equivalent to the libgnome-keyring0 package is kdewallet. Both should be installed by default on 32bit systems.
    wget -c http://www.boundlesssupremacy.com/Cappy/getlibs/getlibs
    chmod +x ./getlibs
    ./getlibs libgnome-keyring.so.0 libgiogconf.so libgvfsdbus.so \
        libgioremote-volume-monitor.so
  5. Launch Spaz from the directory created in the first step.
    air_1.5_sdk/bin/adl -runtime air_1.5_sdk/runtimes/air/linux \
        -nodebug SpazAIR/META-INF/AIR/application.xml SpazAIR
  6. I didn’t find the default font used in the main tweet area to be very appealing, so I added this line to the User Theme CSS area of Settings.
    div.status-text { font-family: Tahoma; }

The only issue I ran into was receiving this error whenever I try to post: “An ActionScript error has occurred: Error #2044: Unhandled IOErrorEvent:. text=Error #2032: Stream Error.” Oddly, it doesn’t prevent posts from going through, though it is rather annoying. I have brought it up in a Spaz Google Group thread and hope to work with the developer to troubleshoot the issue further at some point in the future.