Weblog
Adding Reverse DNS Support to Webalizer
I recently had to reinstall Webalizer from source, after some conflicts necessitated removing the existing Yum-installed version. I ran into some problems in that the new installation of Webalizer wasn't performing reverse DNS lookups on visitor IP addresses - something it's usually happy to do. Searching the web was strangely fruitless, even though it seems to be a reasonably common issue, so here's a quick writeup of the problem and what I did to fix it.
Continue reading Adding Reverse DNS Support to Webalizer »
Recovering a Deleted File from Subversion
This comes up every so often, and I always have to look up how to do it. So for future reference here's a quick howto on finding and recovering a previously deleted file from a Subversion repository. This assumes that you know roughly the name of the file, and roughly where it was in Subversion.
Continue reading Recovering a Deleted File from Subversion »
Command-Line Subversion Tutorial, Part 4
This is the fourth and final part in my series of posts covering command-line Subversion. In Part 3 I promised to return and talk a little bit about using version control sensibly and appropriately, so this is me finally getting around to it.
A lot of these points aren't specific to command-line Subversion, or even Subversion in general, but are based on a good few years of working with version control, and may just make your life a little bit easier all the same.
Continue reading Command-Line Subversion Tutorial, Part 4 »
Making Phone Calls and Sending SMS with HTML
Okay, so you can't really make phone calls and send SMS messages using only HTML; that would be silly. However, if you are developing web sites and web applications for mobile handsets, you can take advantage of some features in XHTML Mobile Profile which make it easy for a user to call a number without typing that number in. You can also use the same mechanism to trigger - on the user's handset - an SMS or MMS dialog with the intended recipient's number and the message content prepopulated.
That this can all be done by creating a specially-formatted HTML link on a web page is one of the most convenient, if occasionally misunderstood features of XHTML-MP. This post will tell you everything you need to know in order to take advantage of this feature.
Continue reading Making Phone Calls and Sending SMS with HTML »
HTTP in PHP, Part 1: The Request
When I wrote about HTTP for php|architect magazine, one of the topics that I ended up having to skim over for wordcount reasons was that of how to work with HTTP from within PHP.
So here's a quick overview of how to make and manipulate HTTP requests using PHP. I'll hopefully follow this up in due course with a counterpart post dealing with HTTP responses.
Continue reading HTTP in PHP, Part 1: The Request »
The Year Ahead in PHP
It's that time of year when thoughts, and indeed blog posts, inevitably turn to pondering the twelve months that have gone before. For my part, I thought it might be nicer to have a look forward into 2010 and think about some of the challenges and developments I might expect to come up against in my PHP work over the course of the year.
Continue reading The Year Ahead in PHP »
Mobile-Friendly Short URLs with Wag.gd
A few weeks ago I quietly launched Wag.gd, which is what I like to think of as a mobile-friendly URL shortening service. It's "mobile-friendly" in the sense that the URLs which it generates are designed to be exceptionally convenient to type on a standard mobile handset keypad. It's time to introduce the service to the wider world, and look in a bit more depth at what I've tried to achieve with the site and how I've gone about it.
Continue reading Mobile-Friendly Short URLs with Wag.gd »
"HTTP For Developers" Published
If it's November already, that must mean that the October issue of php|architect magazine is out today, and with it comes the publication of another article by yours truly.
It's called "HTTP For Developers", which I hope should be fairly self-explanatory. I wanted to write about HTTP, because while it's really very important indeed, it tends not to be particularly well understood by developers.
So the article is kind of a whirlwind tour of how HTTP, and by extension the web itself, works, with what I hope is a particular focus on how this is relevant to developers. Hence the title.
There's plenty of other good stuff in this issue too, of course, including a couple of articles on image manipulation using PHP, and something I was particularly interested in: Brian DeShong's experiences using the original WURFL API for PHP to tailor content to mobile handsets.
Continue reading "HTTP For Developers" Published »
Study Update: MST121, MS221 and M255 End, M263 Begins
It's now a year since I started studying again, part-time, towards a BSc. I last updated the public about six months ago, so here's the latest for those very few readers that may be interested!
Continue reading Study Update: MST121, MS221 and M255 End, M263 Begins »
How Do You Zend_View? I'll Show You Mine...
An interesting design decision made by the Zend Framework team was, well, not to make too many decisions about how the View portion of a Zend Framework MVC application should be implemented. You can use plain PHP to generate markup, use a templating library such as Smarty or Savant, or go your own way entirely. At work we've used both Wall4PHP, and subsequently a custom component-based solution, for example.
The flexibility is great then, but with freedom comes responsibility. Perhaps coincidentally, view scripts tend to be the part of a ZF app that attract the most cruft, the most untestable code, and the most mingling of concerns (though controllers certainly give them a run for their money).
Since someone recently asked, I'll show how I've implemented views on pointbeing.net. I don't claim that the approach is awesome, or even suitable for every case, but it seems to work for me. In return I'd very much like to hear or see how others implement their Zend_Views.
Continue reading How Do You Zend_View? I'll Show You Mine... »