Skip to content

CWJ: Wrap-up

Dear Reader,

Well CodeWorks 09 is over and I’ve mostly recovered. (I still have a bit of a cold that I picked up in NYC but other than that, I’ve recovered) I did a total of 24 sessions across 7 cities and enjoyed every one of them. Each city was different and it’s impossible for me to pick one as my favorite. So I’m going to list my favorite memory from each city.



Desert Island Twitter Game

Dear Reader,

Ok, you are lost on a desert island and you can only follow 5 people on twitter. (Don’t think about it too hard, it’s just a freakin’ game) Who do you choose and why?

Here are my 5.

5: @andigutmans
Ok, so I work for Andi. (Actually, I work for @markdevisser) Andi is new to twitter but has already begun to see the potential. He’s started monitoring Zend’s footprint on twitter and I’ve seen him answer people’s questions or gripes about Zend, even when they are not addressed to him.

4: @lizziekeiper
I only met Lizzy a few month ago but she’s fun and every few days she asks her “Question of the day”. I like people that make me stop and think for a minute during my day.

3: @weierophinney
I work with Matthew and we usually talk every day or so. Matthew only tweets when he has something to say. (and that’s rare on twitter) so if Matthew says something, I stop and read it and if he posts a URL, I almost always visit it.

2: @mtabini
Marco is a good friend and a really bright guy. I follow him because his posts are almost always funny or insightful.

1: @everysandwich
Fred Leo is the funniest man I’ve never met. (No offense @SoupySales) We’ve been on-line friends for about 3 years now. I help him with his blogs from time to time and in return he makes me laugh almost every day. Before twitter, Fred and I would talk on AIM every day. Talking with Fred on AIM is difficult, not because he’s hard to understand but because I hated to just blather. Since the things he said made me laugh out loud, I felt I had to be funny too. Which was fine, we had some awesome discussions but it’s taxing on my brain. With twitter now, I can get my Fredisms without feeing the pressure to be funny back. (We still talk on AIM though, just not as much) If you’ve got time, go visit his blog and listen to PETA Girl or root around till you find the story of Aunt Mary. It’s worth it, I promise.

Until Next Time,

CIO Magazine Trolls and Gets Spanked Hard

Dear Reader,

[DISCLAIMER: What you are about to read is my opinion and should not be construed in any way to be an official statement from my employeer]

CIO Magazine popped up on my radar this morning for an article they wrote on JavaScript. (I think I read coverage of the article on I noticed when I went to read the article that they also wrote one on PHP. I thought I would be delighted as I’ve been on their mailing list for several years now and thought that finally, they had caught a clue.

The article, “You Used PHP to Write WHAT?!” is the first in a series titled similarly that purport to examine different language options. A cursory read of the two articles published to date show that they do more to steer CIOs away from the two languages reviewed so far, I am assuming that the series will culminate in an article on the language that the magazine has “blessed”.

The PHP article however, is not only negatively biased, it’s factually incorrect and at times, insulting to those of us who use the language. I’m going to look at a couple of the statements that the author makes and discuss them. I will do my best to not take them out of context but I urge everyone to visit the article and read it for themselves instead of just taking my word for it.

There is no single right answer to every problem and PHP is no exception.

The author, Ken Hayes, gets this right. No one that I know that makes their living using PHP has ever suggested that PHP is the right answer for every problem. I speak only for myself in saying that it is the right answer for just about every programming problem I’ve tackled in the past seven years. Quite possible because I’ve made my living for most of that time writing web applications and in my opinion, it is the right answer for just about any problem you can solve on the web.

In particular, PHP is not thread safe—which means that multiple instances of the same routine may interact with each other, resulting in a crash on the Web server.

He is correct, PHP is not “thread safe”. I’ve built multi-million dollar web based applications using PHP and never once in seven years have I had two instances of PHP interact with each other, much less crash a web server. As a matter of fact, I can’t recall one single instance in my career where a “crash” (crash being defined here as bringing an httpd daemon down and a server not being able to serve web pages, dynamic or otherwise) on a server has been related to PHP. Yes, if you try real hard you can ‘fork’ PHP on Linux and do some shared memory operations if you have the right libraries installed but by-in-large, that’s an edge case. PHP applications are not written like that. I do invite Ken though to share his experience on the “thread safe” issue because I for one want to learn and obviously he has some knowledge on the subject.

PHP has suffered its share of security problems, and it isn’t particularly well-suited to large or extremely complex site implementations.

This is interesting because now Ken is tying one truth – that in the past, the language itself has had security problems – to a wholly unrelated supposition, that PHP isn’t well-suited to large or extremely complex site implementations. The supposition is not true, Yahoo uses PHP as it’s “glue language” and sites like Wikipedia and Facebook use it as their primary language.

Several dynamic or “scripting” languages, including PHP, Perl, Java and others, have their roots in the C language, which makes them a natural fit for developers making the transition from traditional application programming to Web programming.

The last time I worked in Java (it’s been a few years, maybe things have changed) Java was not a scripting language…I know, minor point but it’s just one more inaccuracy in the list.

Migrating from one database server to another is usually quite simple since most of PHP’s functions have a common naming convention. A programmer can do simple global pattern replacements to change from one database brand to another.

Now I know his target audience is C-Level and that means he has to dumb things down a bit (short words, small sentences) but really, this is just wrong. For all but the most basic select statement, SQL dialects are different enough so that changing the function name is just going to break your application, not allow you to move to a different back end. A knowledgeable author would have pointed to PDO or Database abstraction layers like the one in Zend Framework that will help mitigate the dialect differences.

When should you use PHP?
* Creating an intranet site.
* Prototyping an application that will be converted to Java or some other language.
* Creating a Web database application.
* Deploying an inexpensive or quick solution.
* Using ready-made apps from or other sites.

Now this is just insulting. PHP is not designed to answer the questions that Java is. (Mainly, how do you build a large, bloated application that will ensure employment of the development team?…now I’m just being naughty…ignore that last comment please) Oh and if there are an C-Levels reading this, when the author says “converted to Java” he means throw out everything you’ve done and rebuild from scratch. When I was a Director of IT, that was one of the main strengths of the language, not a drawback. Yes you can prototype in it, but then you can flesh out your prototype and finish the job, all without retooling.

But that’s not to say that PHP is always the best solution under every circumstance. In general you should not use PHP:
* Where data security is of high importance.
* In Shell or automated scripted applications.
* In enterprise applications where scalability takes higher precedence than economy.

Here, in my opinion, our author gets 0 out of 3.

The language itself has absolutely nothing to do with the security of your data. If it’s of high importance, hire programmers who understand this and can build your application accordingly.

PHP is actually a very good shell scripting language. As the author has already pointed out, it’s easy to learn but most importantly, your developers can leverage their existing skills instead of having to learn something like bash. It is true that there are cases, when writing shell scripts, that you have to ‘shell out’ to get the job done but if done properly, it’s no more of a security risk than calling scripts from within a shell script. Honestly, unless you are building on Windows, it’s an excellent choice for writing shell scripts.

Again with the scalability. I’m going to defer to someone I respect as an authority on that, Mr. Theo Schlossnagle. In an interview I did with him a while back, he had this to say about “scalability”.

Theo Schlossnagle:
I’ll just say that languages don’t scale. The word doesn’t even apply to a language. It’s like saying, “does English scale”. If you have a lot of people speaking English then I guess it scales. It’s really a bad word for talking about languages. Saying “Java doesn’t scale” simply means that the code you wrote in Java doesn’t scale well. That’s because of the code you wrote, not Java.

The entire interview can be found at “30 Minutes with Theo Schlossnagle”, that quote is about 1/2 the way into the article. I encourage you to read that section to get the entire context of the quote. (The fact that I’m quoting from an article on DevZone, again, does not imply that my views are in any way representative of my employers)

PHP is sometimes criticized for being slow, and detractors claim that it has somehow been crippled in order to prompt users into purchasing the Zend Optimizer.

It’s quotes like this that totally discredit the author even though he claims to be a PHP developer. A quick look at the “Zend Optimizer” page clearly states that Zend Optimizer is free. I really don’t know who he’s talking to about buying Zend Optimizer.

In larger implementations, PHP can suffer performance hits and may need an external boost from a caching engine.

I’ll do the author one better here, in medium to large applications you should most assuredly run a caching engine. That’s true of any scripting language. However, the author seems to ignore the fact that even languages like Java (which he seems to hold in high esteem) suffer from performance issues. Luckily for those of us who use PHP, the answers are usually free. (See above point)

PHP isn’t Java.

Finally a second correct fact in the article. PHP is NOT Java. I’ll give the author a point for stating this (fairly obvious) fact.

For large enterprise solutions, PHP makes a great prototyping or feasibility tool, but heavily loaded sites that require thread safety, security and stability should use Java.

Opps, here the author blows what little credit he got for his true fact. He also returns the the insulting tone of “PHP is a cool toy but ‘real developers’ use Java”. Sorry but no, PHP is faster to develop in, the solutions are just as stable if not more. The one true fact you have here is if you need a threaded application, where the threads need to interact with each other, then yes, you need to look at another language. Personally, I wouldn’t use Java but that’s because I spent a year in system administration and know what a royal pain it is to keep things like Tomcat running.

Now for the “spanked” part

I do hope you didn’t think that my analisys of the article was in any way “spanking” CIO magazine or the author. As of this writing, 30 comments have been added to the article that do a fairly good job of it. I won’t quote them all here or even rehash them, you can see them all nicely here on the Comments Page. I will however quote one…and I’ll do it verbatum because after all of the authors talk of scalability, performance, and security, this commenter spanked their ass pretty hard.

PHPGuru wrote:

Oh and btw, this very site uses drupal, a PHP CMS. I wonder if this site is secure and scalable.. hmmm.. maybe i should not use my real email address here on the comment..

Ouch! Ok, so either CIO magazine doesn’t consider their content very important, they don’t expect a lot of hits or they don’t consider security that important…or..they realize that they can build it faster, better, cheaper, and secure if they use PHP.


Until next time,


DISCLAIMER: The views expressed in this article are my own…go get your own.

A little PHP fun while you are winding down for the holidays

Dear Reader,

Last night, someone (I’m sorry, I forget your nic) in #phpc posted a link to a site called I’d never seen this site so I admit I followed the link. What I saw amazed and befuddled me. Basically is SimCity-lite. You get to watch a city grow but you don’t have to do anything to make it grow except visit the page once a day.

I of course setup my own city and I’ve become an over-night metropolis with 19 residence. (We are a small suburb and we like to keep it that way, we are considering making the entire place a gated community)

I’ll be honest, is a strange web play. There are no ads except for other games, presumably run by the same company, you don’t have to download anything, it’s Flash based and you don’t have to register to play. I’m really not sure how they pay the bandwidth bills and I’m going to be watching this for a while just to see how it matures…if it matures.

Anyhow, I thought it may be fun to do a PHP community building instead of real work this close to the holidays, so I set up PHP City. To participate, just click the link to PHP City and you are a resident. If you really want to get involved, pick yourself a title (I’m Mayor McCal) and post a proclamation as a news bulletin.

Either way though PHP City needs your help. For the next two weeks, during the Holiday season, we need to get the word out there that all PHP developers from around the world, need to join PHP City. (Did I mention it was in Jamaica? That’s a bonus for those of you in the northern US that are getting hit pretty hard by the snow!) So, get the word out. No need to link back to this blog. (unless you just want to give the back story) Pass out the link to PHP City. ( Blog it, Tweet it, Digg it, FaceBook it, add it to your spock profile, add it to your email signature, post it in PHP forums far and wide…any place you can put a URL, put this one…just till the end of the year.

Get the word out to your PHP brothers and sisters that we have a homeland, even if it is just virtual! Visit PHP City and visit daily!

Be civic minded this Christmas, visit PHP City daily and encourage all your PHP friends to do so as well. Have a little (more) fun this Christmas season!

Until next time,

Industry UPDATE:
We are a technocracy! Our growing unemployment rate is unacceptable. As Mayor of PHP City I promise you that we CAN end unemployment in PHP City. Get out there and form a start-up! We can make a difference if we all pitch in daily! (Bookmark the link and visit it daily!)

Transportation UPDATE:
Let’s be proactive with the transportation needs of PHP City! As Mayor of PHP City, I ran on a Green platform and now it’s time to buckle down and make public transportation a reality! I’m calling on all citizens of PHP City to revolutionize transportation in PHP City! (Click the link! Click it now, click it every day!)

Security UPDATE:
My friend, and now official Police Chief of PHP City, Padriac Brady put it best, Grab a BFG and fight crime! We must be constantly vigil against those that are trying to tear us down.

Link Love for my friends who are talking about PHP City

Make sure you check out Richard Harrison’s script below…makes playing that much easier!

Why LinkedIn Sucks (and why I’ll keep using it)

Dear Reader,

I am addicted to LinkedIn. I tell my friends that it’s Pokemon for adults. (Gotta collect them all!) It’s fun to be able to see everyone you know and see who they know.

Here’s the problem though, it’s a freakin silo. It’s my data but I can only use it in the 3-5 ways that THEY prescribe. I’ve spent time over the past 3-4 weeks working on a little project to help me visualize my relationships via LinkedIn. The first thing I did was scour the web looking for an API, official or unofficial. No dice. I don’t mean I typed in LinkedIn and API on google and gave up after the first page. I checked every source I could find for one and came up empty handed. (There were, however, numerous posts like this one that gripe about the lack of an API.)

Next I started poking around with some code. Actually, I can now login and see pages but LinkedIn is doing some funny stuff (probably to thwart legitimate users like myself who want to eventually see value in their data) in their HTML, Cookies and JavaScript.

This sucks and I’m calling shenanigans on LinkedIn. Look guys, it’s my data. If I want to mine it for obtuse relationships, I should be able to. Honestly, you are delivering this info via HTML. It is only a matter of time before I or someone brighter than me breaks the code and starts sucking that data into a database that will let me use it instead of pay to use it.

Quit trying to sell me expensive InMail and other cruft and build an API. Don’t TELL me your service is valuable with crap like this plastered everywhere.

LinkedIn makes you 30 times more likely to get a response.

Let me figure out ways to make your service valuable to me. Then if you can figure a way to make that valuable to you, we’ve got a win-win. (Hint to LinkedIn’s CEO, the first win in win-win is the customer, not the company!)

Give us a damn API and I’m betting we find way to make the service valuable to everyone. Then, maybe I’ll pay to join. Not because you made the service valuable but because I did.

Sigh, but I know that no one from LinkedIn will read this and even if they did, they will ignore it like the 5 emails I’ve sent them asking for any hint or clue as to whether they are going to provide us with an API.

Until then, I’ll keep plugging away with my code, and I’ll keep using the service. I continue to use them in the hopes that one day I can free my data. Right now they are the best game in town for collecting professional connections. I just want to actually do something with my connections instead of just looking at them.

When I can finally get my data and start looking at it in fresh and exciting ways, maybe I’ll even tell LinkedIn about it.

Until next time,

DISCLAIMER: Opinions expressed are mine and mine alone. Go get your own.