TravisSwicegood.com

9 April

What did you do today?

Either I'm making up for time I spent slacking, or I just took 4 years off of my life today. Today I managed to:

  • Have my git book from Pragmatic Bookshelf announced: Pragmatic Version Control Using Git - It'll be on a shelf near you this fall and in PDF form before then.
  • I filed my taxes (not completely today - I'd already done then, just hadn't submitted them yet)
  • Proved conclusively that an installation stack wasn't stable for production (which is always fun when it's a random failure and you're having to play by the Law of Large Numbers)
  • Proved conclusively that another stack was stable
  • Should be able to prove or disprove a third stack configuration by the end of the night
  • Got PHPT setup for inclusion into PHP as a replacement for the run-tests.php code which means it'll be distributed as part of the core PHP product
  • Got PHPT onto the Google Summer of Code project list for the upcoming summer (as part of it becoming part of php-src)
  • Fleshed out a killer business idea with a buddy of mine
  • Wrote what I think was a pretty good article on relational databases
  • Spent an hour at the gym this morning doing a lower-body workout

And it's just now 5. ;-)

Tags: git, git book, php, phpt

18 March

SugarCRM wants you, Mr. DBA Man

If you eat and breathe INNER JOINs and sub-selects, think that UNIONs shouldn't be busted, and like to shard databases on the weekend for fun followed by late nights of drinking, SugarCRM's got a place for you. Ok, so we're not looking for all of that. The drinking part is optional. ;-)

Seriously, we're looking for a top notch MySQL DBA to add to the ranks. Someone with experience in PHP too is great, but the database experience and a willingness to learn the other parts of the job are even more important.

If this fits you, shoot me an email at tswicegood [at] sugarcrm [dot] com with your resume or a great cover letter if you're so good you don't need a resume. Even if this doesn't fit you, we're looking for lots of positions. From VP's in Sales to Engineers and everything in between. If you're looking for work and want to work for one of the coolest big small companies in PHP-land, just let me know.

Oh, and given Cal's recent comments on telecommuting I should touch on that here. If you do your job, you can do it from a sailboat (as one of the guys in Professional Services often does) for all we care. Translated: we're telecommute-friendly.

4 March

Cranky Ol' PHP'er Syndrome (COPS) Defined

Cranky Ol' PHP'er Syndrome (COPS) Defined

Time for a little humor. :-) I thought I was the only one, but apparently there are more like me. As its not just me, I'm defining a new disease that is rare, but does effect some PHP programmers. Cranky Ol' PHP'er Syndrome, or COPS.

Symptoms include consistently throwing out all but fringe tools when you start a new project. I consider Phing, SimpleTest, and PHPT to be "fringe" because hardly anyone uses them within the community. Generally, sufferers have been in the PHP community for awhile, but have ample exposure to other languages. Exposure to the other languages seems to be a trigger for this disease, but its not yet known if it is the cause.

General symptoms include heckling of "experts" in public places; general dislike of any code written by "monkeys" (i.e., code not written by yourself or someone who shares your disease); or a lot of unfinished projects since every one you start requires you writing all of the tools around it from scratch.

Two other common early warning signs are purchases of books or perusal of websites of other languages. As stated above, exposure to other programming languages appears to be a trigger. If you've been programming longer than PHP has been around, you may have be a carrier for COPS and not even realize it. Avoiding use of languages used prior to starting PHP may be enough to manage your disease. If you started programming with PHP, be careful when exposing yourself to new languages. Exposure to 1.2 - 1.4 new languages per 12 month rolling period is generally acceptable, but exposure any higher than 1.5 new languages puts you at severe risk. Exposure to other dynamic languages should be avoided at all costs as it leads to feature-lust, a retrovirus that has been linked to COPS.

Unfortunately, there is no known cure. Sufferers of COPS have been known to start other projects to try to rid themselves of excessive crankiness. Forking existing projects is generally not advised, as legacy code is a known contributor to COPS. Unsubscribing from mailing lists has also been known to help. For those, such as myself, who can't bring themselves to do that, liberal use of "mark all as read" has also helped in some studies.

In the some cases, using Java for extended periods (also known as Java-therapy) has helped, but in the most severe cases, using Java can cause even further COPS symptoms. If you feel you are suffering from COPS, avoid Jython and JRuby at all costs, as exposure to them may make the symptoms worse.

Avoid using fully integrated development environments as well, and revert to a plain text editor. If this does not work, using command scripts such as echo, cat, and sed may be necessary to help reconnect you with your primal programmer.

In the most severe cases, using a red marker to desecrate books such as Design Patterns, Patterns of Enterprise Application Architecture, and Refactoring have helped. (Note: please avoid libraries while undergoing this treatment)

This disease, though chronic, is not fatal. Many have sought treatment, while some have embraced it as a new way of life. A select few have gone so far as to join religious sects and try to convert fellow PHP programmers. Others who have chosen not to seek treatment and instead taken up the roll of "fool on the hill", silently observing the community.

23 February

Coding Contest

This contest could be fun. It appears that Paul "PHP" Reinheimer is semi-disposed of so we won't have the full settings of PHP yet, but depending on what's turned on, we could get some very interesting results.

I threw together a couple of variations of a solutions this afternoon and testing them out with Domain51_MicroBench. Seems foreach has had some tuning of how it handles temporary variables since the last time I benchmarked it. I also found out how little PHP cares about whitespace. I've got my current solution down to 130 bytes, with another 3 I could drop if they allow short tags.

Of course, I could cut that by quite a few more depending on the config ;-)

31 January

Catching a ride to the San Francisco PHP Meetup

Anyone headed from around Cupertino to the SF PHP Meetup next Thursday night? I'm going to be in town for SugarCON, but was hoping to make it up for the evening. If you're going and don't mind a hitch-hiker, leave me a comment or ping me on Facebook...

Tags: php, ride

28 January

Lawrence Programmers Wrap-Up

Wow, is it already next week?  I meant to post this the next day, but one thing lead to another and another and - well, now it's the next week.

We ended up moving the time around a bit and met at 7 at the Eldridge Hotel to catch none other than the (in)famous Greg Beaver and the Chiara String Quartet.  After forty-five minutes of chamber music, we hit Rudy's Pizzeria for a few beer and shop talk.  In total, we ended up with 7 people, which was approximately 5 more than I thought we'd have when I first announced it... ;-)

There was definitely an interest, so the plan is to try to meet on the 4th Tuesday for a few months and see how it goes.  The discussion turned to TDD and PHPT and since there were a lot of guys who hadn't been exposed to it at all, the other Travis volunteered me for an introduction to TDD for next month's meeting.  I haven't focused in on the specifics of the presentation yet, but I'm thinking something patterns oriented like how to roll your own MVC framework using TDD instead of the standard "how to verify that 2 + 2 equals 4" style of tests.  Might be too much for one hour, but I bet I could do it in 90 ;-)

If you're in the area on February 26th, be sure to stop by the Lawrence Public Library around 7.

28 January

PDO2 humor

All of the talk thus far about PDO2 has been rather weighty. So, in an attempt to bring some levity to the situation, I spent a few minutes over at the O'Reilly Maker to come up with a sample book on PDO2.

Tags: cla, humor, pdo2, php

26 January

Google Analytics plugin for b2evolution

I just finished up my first plugin for b2evolution. It adds the Google Analytics tracker code to the <head> section of your blog. Simple really, but there's some quirkiness to b2evo's plugin system I wasn't thrilled with. I'll save that rant for another post. If you're using the latest version of b2evo and use Google Analytics, feel free to use my plugin to add it to your skin instead of hacking the skin.