Archive

Archive for March, 2008

Parsing for PHP developers – Part II

March 30th, 2008 No comments

In part 1 I introduced and demonstrated the parsing concept using a very simple date parser. In this part I am going to talk about the important role of tokenizing. If you haven’t read part 1 this may not make much sense, so read it now if you haven’t already.

Syntactical vs Lexical

Looking again at the simple grammar of part 1. You may notice that the rule: <D_DIGIT> ::= "0" | "1" ... "9" is a bit different to all the others. It does not really contribute to the syntax of our language, it merely describes the legal characters that make up a single digit. It is convenient to view this aspect of the language as a subset of the grammar; one that is concerned only with what input ‘looks like’ rather than where it appears. This can be called the lexical grammar. The rest of the language which is concerned with syntax can be called the syntactical grammar. Read more…

Tags: ,

We hate spam like you do?

March 27th, 2008 No comments

I just became aware of an apparently legitimate US-based company who I shall not provide a link to;
[whois guard] [dot] [com] – operated by [name cheap] [dot] [com].

Their opening gambit “We hate spam like you do” is somewhat ironic when you consider that their services are of enormous help to cyber criminals such as phishing gangs. These ‘people’ need to operate domain names, but they must remain untraceable. Protecting their whois data is an obvious step towards concealing their identity. I am not suggesting that companies offering such services are corrupt, rather that it highlights the dichotomy of the internet privacy problem. Read more…

The Trademan's Entrance

March 26th, 2008 1 comment

I write this as I wait for my builder to arrive at my house.
If I treated my profession like a tradesman, you wouldn’t have a website. Here’s why: Read more…

Tags: ,

Parsing for PHP developers – Part I

March 24th, 2008 No comments

Parsing is a fairly common word in the web developer’s vocabulary. We do it all the time. One immediately thinks of XML as something we parse regularly without batting an eyelid. As a PHP developer you might also parse an ini file with parse_ini_file, or parse a date string with strtotime. Whatever language you write, these tasks are easily achieved using either built-in functions or by installing other code libraries or extensions. Sometimes you may find yourself needing to parse something more bespoke, like say a postcode – you’ll either write a routine yourself, or do some googling for a neat algorithm someone out there has decided to share. – no problem.

A rod for my back

But what if you want to parse something really complex, like say – an entire JavaScript program. What if you can’t find a third party library that works for you? Well I tried to find one. I found some very promising projects. But they ranged from abandoned projects, to dodgy alpha releases, to ones that just plain didn’t work and with no documentation to help. The most serious looking projects were so sophisticated that I didn’t even have the knowledge to start using them. I decided, as I often do, that I need empowering with the knowledge to write my own parser should I need one for – well, whatever. Read more…

Tags: ,

Down and Dirty

March 23rd, 2008 No comments

Over the previous three weeks I was working with my old pals at Greenroom Digital, who were producing a Facebook application for their client Paramount Pictures. The app’s release coincided with Paramount’s release of South Park Season 6 on DVD. You won’t be surprised to see that the application is crude and puerile, and you may [as I do] reluctantly find it pretty amusing in places.Down and Dirty | Chin Balls | mini feed

You can see the South Park Down and Dirty application in action here. This link is my public Down and Dirty profile and does not require you to add the app, although you can add it here in the usual fashion.

Pick up Campaign or some such publication and no doubt you’ll be able to read all about the strategy, the creative, the design, even the metrics. Less likely you’ll read about the technical execution, which is where I come in…

Read more…