Podcast Suite 1.5 Stable Released

I released a stable copy of Podcast Suite 1.5 today, go get it. On the forums, we managed to find bugs regarding the MIME type being set in the HTTP headers. We also fixed a bug where languages other than English would not get their code in the RSS feed. A few other fixes and enhancements made it in. Thanks goes out to everyone who’s reported bugs on the forum and even offered solutions!

Spring ‘09 Conference Roundup

It seems as though the tech conference season starts off every year with SXSW in Austin, comes to a peak in May, then takes a vacation until September. So far, this year has been no different. I recently had the opportunity to attend three conferences within four weeks of each other. A small taste of each follows…

JSConf

Back in February, I began seeing tweets for JSConf on April 24th-25th: the first conference for JavaScript developers. I recently began digging into JavaScript for more than simple effects in jQuery so this sounded interesting. The venue was a mere two metro stops away from my apartment, so I knew I would be kicking myself if I didn’t go.

JSConf absolutely blew me away. The sessions were not simple “here’s how to use jQuery for form validation in your next project” talks. These were the first presentations I saw of JavaScript being used for backend programming as well as frontend. There were speakers representing Objective-J/Cappuccino, Dojo, jQuery, YUI, CouchDB, Titanium, and many other projects. This was also the first I had seen a formal presentation on BOSH and XMPP.

Although there were the presentations about using JavaScript in the backend, the current mainstream use is in the front. Consequently, most of the attendees had expertise in languages other than JavaScript. JSConf managed to get Ruby, PHP, Python, .NET, and other developers in the same room. This really made the conference for me: we were forced to talk about our tools without hiding behind fanboyism.

Another highlight of JSConf was running into Chad Auld and Ozgur Cem Sen from the MiaCMS project. MiaCMS is a fork of the Mambo codebase that has some promising features developing. The JavaScript for the entire codebase has been rewritten in YUI. MiaCMS also sports a REST-style interface you can use to do things like update your site from an iPhone.

Aside from the incredible technical content, the accomodations and after parties were fantastic. Chris and Laura poured a lot of effort into putting this and thought of all the details. They made sure that outlets and wifi were plentiful. The venue they picked was just the right size for shuffling between sessions, uncon talks, hallway tracks, and break room hacking. They even organized a “significant other” track where spouses and children were able to tour DC and Old Town together.

There may be some who would say that this was great for a first year conference; I thought it was amazing for a second or third year conference. I know first hand how difficult it can be to pull off a tech conference, but Chris and Larua passed with flying colors. The sponsors were also incredibly generous and helped the event shine. Looking forward to JSConf 2010!

WordCamp Mid-Atlantic

While people may know me as “the Joomla! guy” in the DC tech community, I’m currently happily using WordPress to power this blog. WordPress is the best tool for doing a stand-alone blog, which is what Design vs. Develop has become. So I felt this was as good an excuse as any to show up for WordCamp Mid-Atlantic on May 18th. (On the other hand, Keith has never used WordPress and simply attended to steal ideas.)

WordCamp Mid-Atlantic (with the rather long Twitter hashtag #wordcampmidatl) was a nice mix between sessions about writing, marketing, and coding. A couple of big announcements from SixApart and the WordPress core team hit that day (TypePad Connect and WP 2.8 beta respectively). The venue was accessible and well-suited for formal talks as well as hallway tracks.

I applaud Aaron’s decision to move the event from DC to Baltimore and refocusing it as a regional conference instead of a city-centric event. DC’s tech community is now much more firmly established than 3-4 years ago. While it would have personally been more convenient to have something located in DC, we’re definitely at a point where we need to connect talent regionally as well as locally.

While the vast majority of the people attending were WordPress users, many were also proficient in Drupal, Joomla!, and other PHP-based systems. The recurring conversation seemed to be that we like using WordPress for straight-up blogs and simple sites, then reach for something else when we want something more involved. Although WordPress is billing itself as a publishing platform as well as a blog, I think we’ll continue to see people using different platforms for different sites. It’s gotten to the point where most are using WordPress for very simple sites (just pages with content), but using something else when integrated shopping carts and forums are wanted.

php|tek

Finally, I flew out to Chicago for php|tek ‘09. The guys over at MTA are seasoned conference organizers, with this event being no exception. There was a wide variety of talks: from using XMLReader, to alternative databases, Zend Framework hacks, and even an unconference session on PHP-GTK. As many have commented, php|tek is a nice blend between the PHP developer community and business community.

We had a hackathon where people were writing PHP tests for TestFest, but somehow I was convinced to write patches for Phergie instead. Ok, so I was sitting at the table and was curious more than anything. Phergie is an IRC bot maintained by Matthew Turland that hangs around #phpc on Freenode. It’s quite a non-traditional use of PHP: you have a long-running process that essentially sits in one big loop. It was nice to sit down and write some code purely for fun :)

Aside from the hackathon, you can read about the events and what I thought of them on joind.in. I didn’t get around to rating all of the sessions I went to, but most of the sessions seem to have been ranked by at least one person.

Unfortunately, the wifi was a bit of a wash. I ended up paying for the hotel’s package the first day as I had some side work that needed to go out ASAP. The other days I was usually able to connect, but had difficulty during the hackathon and in the back rooms. However, I think most of the issue with wifi at conferences is the sheer number of heavy Internet users all hitting the same access points at once. As I’ve been telling everyone I meet, Apple should pioneer “conference mode” where you tell your laptop to stop doing backups, software updates, and any other non-crucial network activities.

The biggest announcement at the conference was that php|works, usually held in the fall, will be revamped as CodeWorks 2009 and held in 7 cities (not all at the same time!). It will be an affordable, two-day conference held on a two-week, cross-country tour. I’m planning on going to the one here in the DC area.

In addition to MTA’s CodeWorks, StackOverflow DevDay will be held later that month. More tickets have been opened, so it’s not too late to register!

PHP Appalachia Wrap-up

Earlier this week, I attended PHP Appalachia in Pigeon Forge, TN. We rented this ginormous cabin (scroll all the way down) just to hang out and talk about PHP. I finally met several people who I’ve missed in my failure to show up for Zendcon all these years.

As far as presentations went, Ben Ramsey started with his “frankenstein talk” on REST, focusing on how REST is an architecture for the web itself. Brian DeShong showed us how to rickroll people on any phone using WURFL, PHP, and ffmpeg. Matthew Turland talked about the PHP-based IRC bot named Phergie and corrected me on the pronounciation of my last name (he’s correct, it’s Luh-blon instead of Luh-blon-k).

Brandon Savage led a roundtable discussion (although we were actually seated in the living room on couches) about creating a PHP clone of Trac. Brian Moon talked about the process he uses to load all of the world’s products into the dealnews database. Rob Peck talked about using PHP with Asterisk through the Asterisk Gateway Interface. Finally, Paul Reinheimer gave a presentation on Magento and how to let your open-source contributors know they’re appreciated.

Aside from the talks, we soaked in a hot tub, watched movies, played pool, quizzed each other on PHP trivia, and ate some delicious chicken and sausage gumbo made by Matthew’s wife Whitney. The only thing we didn’t do was spend hours on Internet thanks to satellite connectivity. We talked to each other instead :D

Are you going to ZendCon? Don’t miss UnCon!

If you’re heading out to California for ZendCon in a few weeks, don’t miss ZendUnCon. Keith Casey is heading up this unconference, which already has several interesting talks. I’m now kicking myself for not signing up for ZendCon :(

DC PHP ‘08 Highlights

Earlier this week, we had the 2008 DC PHP Conference at George Washington University. A lot of new faces showed up this year and we had quite a few speakers from the local community. Here are some of the sessions I found particularly interesting:

Automated Unit Testing. Mike Lively presented PHP Unit, which I will definitely be using the near future. His presentation on Monday morning was very helpful and made Unit Testing seem much more approachable. He had an afternoon session as well with more PHP Unit tricks (like mock objects and database testing) that I’ll have to look into on down the road.

Fed Up of Framework Hype? Tony Bibbs had a lot of straight-talk about how to choose a framework, why you might want one, and when you could stand to roll your own. He brought up the fact that you need to keep is flexible enough so that your highly talented programmers can stay productive, while keeping it consistent enough for less experienced coders.

SPL Iterators. A lot of Eli White’s presentations I’ve previously seen have been about scaling challenges he’s worked on at Digg. He seemed just as excited to talk about beautiful code :) . One of his samples was so short and succinct, I ended up tweeting (forgive the 140 character formatting) it.

Security Centered Design. In his own words, Chris Shiflett hijacked a security talk to cover User Experience. However, he did a good job of tying everything back to security; people have certain expectations for how a web application should behave when they’re logged in. He also plugged myVidoop: the secure, passwordless OpenID provider that some friends of mine work for :) .

Also, Keith Casey moderated an IDE/text editor panel. He asked a good set of questions and fortunately there was no physical violence, or even shouting. :D

This was also my first conference where Twitter was out in full force, except when it was down early on Monday morning. You can catch up on most of the tweets here.

PHP TestFest

The PHP/QA team has announced TestFest. I’m trying to organize an event in the DC area, any takers? Post to the list or add a comment here if you’re interested.

PHP + camping = PHP Appalachia

PHP Appalachia 2008 will be held sometime this September (thanks to Keith for the tip). It’s in the planning stages and deposit money is needed to make it happen, so contact Elizabeth Naramore at elizabeth _at_ naramore _dot_ net to pitch in.

Definitely my kind of conference :D

UPDATE: here are the official details.

Widget DevCamp Wrapup

Quick highlights from Widget DevCamp DC this past weekend:

  • Zvi Band did a presentation on creating Facebook Applications. When he was finished with his presentation, he created a Facebook App from scratch in PHP and FBML! It gave me a few ideas that I probably won’t get around to doing for a few months.
  • We had a roundtable discussion on making money with widgets. Some people proposed including Google ads, but others mentioned that this strategy tends not to work so well for such a small content set. It seems that the most viable route for “business widgets” is to use them for brand reinforcement.
  • Alex Eagle demoed an application (based on Metro’s website) he wrote for Google’s Android project during DevCamp. While there aren’t any Andriod capable phones out yet, Google has the dev environment available with a phone emulator. There’s built in support for GPS, if you have a capable device. Looks very promising, but what will Apple’s iPhone kit offer? We shall see…

Overall, Widget DevCamp was much more relaxed and open ended than last summer’s BarCamp. We had a smaller crowd and more flexible schedule. I personally think we could have done the session planning on the same day: we did this during a Friday evening happy hour instead. The time constraints of doing everything on the same day keep things moving and prevent talks from dragging too long. However, I definitely enjoyed it and I’m looking forward to the next camp hitting DC: eDemocracyCamp.

A website resolution you can keep

If you run a website, here’s a resolution you can keep: make sure your host is up to date. This is something that only takes a few minutes to check and can help you avoid hacker-induced headaches. With PHP being the most popular programming language used on the web, chances are your site uses it. You’re definitely using PHP if you use popular programs such as Joomla!, Drupal, or Wordpress. Even if you keep these programs up to date with the latest patches, your site can still be at risk if your host doesn’t keep PHP itself updated.

If you’re running Joomla! or Drupal, checking your current PHP version is easy. In Joomla! 1.0.x, log into the administrator backend and go to System > System Info. The PHP version will be listed on this screen as well as under the PHP Info tab. In Drupal, use your admin login, then go to Administer > Logs > Status Report.

Aside from this software, there are other ways you can get the PHP version number. Most shared hosts often give you a control panel where you can log in and manage your account. If your host offers CPanel, the PHP version number will usually be displayed on the front page in the left column.

As a last resort, it’s easy to create a phpinfo() page you can use to get the version information. Open up a plain-text editor such as Notepad or TextEdit and add the following code:

<?php
phpinfo();

?>

Save this file as version.php (or anythingyouwant.php) and upload it to your web server using FTP to you web root directory. Then go to http://www.yoursite.com/version.php. Delete version.php from your server right away: you just want it to be available for a moment so you can get the information.

You now have your PHP version number. So now what?

As of this writing, the current version of PHP is 5.2.5. If this is the version you have, congratulations! Your host is up to date with the latest stable copy of PHP there is. If you have a version of PHP that starts with 5 but isn’t the latest, check with your host to see if they’re in transition. A lot of hosts set aside some servers with PHP 5 when it first came out in July of 2004 for testing purposes. You might be on one of these servers.

If your PHP version is 4.4.74.4.8, your host has the latest stable version of PHP 4. Ask and see if they have a plan in place for upgrading your account to PHP 5. If your host is running a version of PHP earlier than 4.4.7, look for a new hosting provider immediately: your host is at least 7 months behind in applying security patches. Don’t count on them keeping you up to date in the future, they’ve already failed you.

As of this past Monday, no new versions of PHP 4 will be released and it is officially obsolete. On August 8th, the PHP team will not even release security updates for version 4.

UPDATE: the PHP team released 4.4.8 the day after I posted this. The switch from .7 to .8 represents some security patches. It is not considered an entirely new version of PHP; everything should still be backwards compatible. If you are running 4.x.x, make sure your host upgrades you 4.4.8 promptly.

Aside from keeping up to date with software that’s being actively developed, there are other reasons to move to PHP 5. It performs faster and has new features your friendly open source programmers desperately want to use. The Joomla!, Drupal, and Wordpress teams have all avoided writing code that only works on PHP 5 to make sure that you can run their software. Now is the time to return the favor and go with PHP 5!