Installing uploadprogress with Zend Server CE on Mac OS X

December 1st, 2010

If you’re using Zend Server on a Mac and have tried to install the uploadprogress PECL extension, you might have noticed it didn’t work.  The reason for this is that the Zend Server extensions are 32 bit and by default it’ll build the extension with the wrong architecture for Zend Server.  Here are the steps you need to take to compile it correctly to make it work.  Thanks to Rob Allen for having an awesome site on which Keith Pope posted an awesome comment!  These instructions were tested on Snow Leopard (10.6).  If you’re using 10.5, you’ll probably need to change the deployment target to 10.5 in the configure command.

% wget
% tar zxvf uploadprogress-1.0.1.tgz
% cd uploadprogress-1.0.1
% sudo -s
% phpize
% ./configure MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -g -Os -pipe" CXXFLAGS="-arch i386 -g -Os -pipe" LDFLAGS="-arch i386 -bind_at_load"
% make
% make install

Restart your server and you should be good to go!

We Need To Talk: Communicating with PHP and jQuery

October 20th, 2010

Here are the slides and a link to the examples from my presentation last night at the Triangle PHP User’s Group meetup.  Thanks to everyone who came out to hear!


tekX: A Conference and Me or Not A FurryCon

May 19th, 2010

Update: Keith Casey (@caseysoftware) decided to invalidate my title with this picture…

Foreword: If you arrived here because you were looking for info about FurryCons or Furries in general, then you’re about to be sorely disappointed.

I almost decided not to write anything about my tekx experience so far – this being only the first official day of the conference and the second if one includes tutorial day – because I don’t know that I can recall a time when I’ve ever read anyone’s “BobCon Wrap Up: Day 1″ or “AwesomeCON 2K5!” posts or even really had an interest to.  I figure most people are like me in that respect, but maybe I’m wrong on that assumption.  But then I changed my mind, and now you’re reading the result of that change.  So prepare to take a journey through this atypical conference post.

Let me illustrate my point of view for a moment.  Let’s pretend you’re super interested in attending FurryCon 2011…it’s super awesome, and all your friends are going, but you’re not sure where it’s going to be, how much it costs, and whether or not dry cleaning service will be offered, so you hit up Google for some info.  You come across SquirrelMan44′s blog post from last year’s FurryCon on how great the “Choosing the right costume” talk was and said to yourself, “Well, I wasn’t there, so I probably don’t care that it was a good talk.  I’d rather hear that talk for myself or see the slides.”  What you probably want to know is more about the FurryCon experience as a whole.  A session by session break down isn’t really super useful.

But I digress.  I think my point is that you can usually summarize 99% of these session by session things with short little phrases like “great information that I should look into,” “knew his stuff, but it didn’t really apply to me,” “awesome talk and the presentation changed my life,” etc.  And further thinking about this led me to realize that this really only serves a few potential purposes: 1) It’s a reminder for the poster about how much they did or didn’t like something, 2) It’s a vague way to provide feedback on a talk for a particular speaker, and 3) It might fulfill some requirement for work that you document your experiences at the conference so you can prove you were there and cognizant. :-)

As a side note, if your work sends you to a FurryCon, then I’d be interested in knowing your line of work as I can’t conceive of such a position.

At this point I assume you’re wondering why I’m writing this at all if that’s my opinion on the typical session-by-session conference post?  Don’t bounce just yet, I’ve got an answer!  And since a personal blog is just that, personal, I’ll share the personal value I have gotten out of this conference thus far.

This is the first time I’ve been to tekX and only the fourth PHP conference I’ve attended, but I’ve found a lot of value in this conference beyond the various sessions I’ve been to so far – which have been excellent, don’t get me wrong.  I can’t really decide if it’s the nature of this particular conference or if it’s because I’m more comfortable since I’ve been to a few, but I’ve been a lot more social than I’m usually comfortable with.

Being a very introverted person, I have a really hard time just introducing myself to random people and being the person who approaches and sticks out their hand and says, “Hey, I’m [insert your first name here],” and then starts up a conversation.  But I’ve been able to overcome this social fear several times so far in the last few days and I believe that’s a big accomplishment for me.  I attribute much of my ability to overcome my fear to the people at this conference.

Everyone has been super friendly, very knowledgeable, and willing to share information about their experiences and various areas of expertise and I’ve actually gotten to know some of them.  I think it also helps when you’re confident with your level of knowledge and aren’t afraid that you might come off as a n00b and somehow offend them by even considering thinking of asking them a question.  But I haven’t encountered anyone like that here, and I think that says great things about the PHP community at large.

It’s also a good feeling when you introduce yourself to someone and they recognize you from Twitter or an IRC channel or something and you’ve instantly made a connection on a whole different level.  The IRL experience is often incredibly rare when the fundamental nature of your industry is based upon a bunch of intangible electronic information.  It’s like seeing a Leprechaun riding a rainbow striped unicorn handing out pots o’ gold on St. Patrick’s Day.  It doesn’t happen that often, but when it does…you gotta make sure you get in on that.

So my “tekX Day 1 Wrap Up” thought is this: My experience so far at tekX has instilled me with a lot more confidence in my level of expertise and in my ability to talk to people I don’t know than I had before I came here.  Thanks tekX!  I really appreciate it!  I look forward to meeting more people and becoming an even more social PHP’er in the next few days.

If you are a FurryCon fanatic and you didn’t understand that this wasn’t really relevant to your interests, maybe you can still find value.  You should try taking off your raccoon mask or bunny mask, or whatever your furry animal mask of choice may be and get to know some of your fellow Furry brethren.  You’ll be better for it and maybe just gain the confidence you need to strike up some great friendships and make some invaluable connections.

Lastly, if you TLDR’ed me, get an attention span!  And if you didn’t, thanks for reading!

Our Built-In Bookshelves Project (With Pics)!

March 1st, 2010

A little over a month ago we started building built-in bookshelves for our living room.  We have a fairly large library of books and DVD’s and needed a place to store them all that was convenient and attractive.

We decided we would cover our empty living room wall with wall-to-wall shelving that we would build ourselves.  It certainly was no small task, but we’ve basically completed it.  It took us right at a month to build.  We also had to move the fan control switch to the other side of the wall so we didn’t cover it up, which required running new electrical wires.  We also added a second outlet along the shelf wall so we could plug stuff in.  There are just a few little details left to make it 100% complete, but it’s done as far as the functionality is concerned.

We’re planning on putting up crown molding along the top, and we’ll connect the two units across the doorway so they appear as one.  The carpet needs to be re-tacked and the baseboards need to be put back on, but that’s about it.  We also might run another outlet above so we can add some indirect lighting to the top of the bookshelves for a nice ambient effect.

It was a crap-load of work, but it was definitely worth it.  We got much needed shelves all while increasing the value of our house.

Below are some pictures of the process along with the complete product with all our books alphabetized on them.

The Oracle

February 26th, 2010

The Oracle

by Garrison Locke

“The fourth of May

in terms of winter,”

said the caterpillar to the swan,

“is when you sail the wall tomorrow

here to there and back and yon.”

He told her this as if it was clear

what he meant by the nonsense

he spoke into her ear.

“Sure..,” she said, cocking her head.

She flapped her wings and flew away.


February 25th, 2010


by Garrison Locke

nonsense isn’t nonsense

unless it’s an elephant

jumping on the back

of a train escaping

to Mars after the nukes

shot-gunned, we plant

trees of apple

delicious red

on the face

of Phobos

our souls are reaved


February 24th, 2010


by Garrison Locke

Snow capped mountains,

plains of golden grass,

verdant forests

bordered by zigzag fence,

fields of prairie dogs,

midnight blue glass-top lakes…

One day I’ll buy some land here –

a quaint house,

a small lake perhaps.

Miles and miles and miles

away from civilization.

Clean air.

Endless sky…

When the frontier life calls,

I think I’ll answer.

The Trees of Light

February 23rd, 2010

The Trees of Light

by Garrison Locke

The Trees of Light stood waiting.

Fire had rained from the sky for weeks

with no end in sight.

Three had fallen;

many more lost branches.

Translucent silver leaves incinerated.

The memories of those connected to the trees

began to fade…

The people had never met their memory keepers –

they couldn’t understand their condition.

The trees wanted to help –

the memories were their lifeblood.

But Yggdrasil’s dew would save them

and extinguish the fire;

the Great Tree always did.

The ash would restore the world once more.


February 22nd, 2010


by Garrison Locke

In the dream

I’m running.

The room spins –

a yellow blanket,

someone has a gun –



February 19th, 2010


by Garrison Locke

Blackest coffee, sweetest bean,

down it goes, so smooth, so clean.

Latte, mocha, cappuccino,

caffeine, French Roast, Daybreak dream.

I’ll take mine with sugar and cream!