PHP has kind of taken the i5 world by storm. Many RPG developers want to move their applications to the web, but while there are options for doing so, RPG is not all that well suited for writing web applications unless you invest heavily in a CGI framework like DEV2. The other option has been Java, which represents a completely different way of coding that many RPG developers are not overly comfortable with. Alongside that, there is the standard issue of Java taking some time to learn properly. So along comes PHP and it gives the RPG developers a chance to ease into programming for the web. They can still use procedural programming when they start, but they can also move to more structured applications as they become more familiar with the language.
Several months ago I was talking with some Java developers who were being forced to move onto PHP. They were actually quite open to the idea but had some questions. One of them was on how you would set up a page counter. In the Java world what you would do is define a static property within a class, synchronize it, and increment it for each page that hit the site. In my explanation I went through the myriad of ways that you could do that, probably confusing them even more.
We all know of the ubiquitous CAPTCHA; those horrendous looking images that are designed to keep robots from submitting forms with spam in them because it is assumed that the robots cannot read the messed up images. The problem is, of course, that humans can’t read them either. We’re just better at guessing what the letters are. CAPTCHA, if you’re wondering, stands for “Completely Automated Public Turing test to tell Computers and Humans Apart.” A Turing Test is a test where a computer is able to sufficiently mimic a human to the point where another human cannot tell the difference between the two. CAPTCHA is the exact opposite. Its purpose is specifically to determine who is a machine and who is a human when user generated content is placed on a web site.
I have a thing for charts. Charts have the ability to convey very complex scenarios in a single line, or a few lines, if there are multiple considerations to be made. But the reason I have an interest in charts is not because of the information they convey, but the information that they don’t convey. I find that the information that is left out of a chart is often the most important piece. This is because statistics can be made to say pretty much anything. You’ve probably heard the line “Lines, Damn Lies and Statistics”. When I start hearing things like “60% of people think X” or “20% of people think Y” I tend to switch off. Interestingly enough, I do the same thing, though. Probably because that’s the easiest way to make a point. It sounds scientific. It sounds like you’ve done your research, even if you really haven’t.
There has been a lot of talk over the past several years about the difference between performance and scalability. Never mind that the difference between the two will probably not really affect most developers. Never mind that the “difference between performance and scalability” argument is often used when someone’s code performs poorly and their best argument is “Yeah, but my code scales”. Yeah, sure it does.