RUNTIME error.

Anger. Frustration. Despair.

These are the emotions experienced by an otherwise rational person trying to decipher the apocryphal meaning concealed deep beneath the outer veneer of something disguised as language and otherwise known as a “simple” introduction to any programming language. Don’t get me wrong, I am very grateful that my fellow netizens – some of them, anyway – have taken the time to write pages and tutorials detailing their knowledge and understanding of such subjects in an organized way; that is one of the things that makes the open source community such a wonder for me. There is a pervasive ethos that is all about helping the other guy understand how things – code – work, or at least trying to do so. I have benefitted greatly from the knowledge and wisdom of others in this way, and I recognize that when one is presented with an equine gift, one ought not to studiously examine the nag’s teeth.

But dude. If you’re going to take the time to write, in your “PHP 101” materials, the following sentence:

My goal in this series of tutorials is very simple: I’ll be teaching you the basics of using PHP, and showing you why I think it’s the best possible tool for Web application development today. I’ll be making no assumptions about your level of knowledge, other than that you can understand basic HTML and have a sense of humor.

you should probably wait for a little bit longer than, oh, say THE NEXT PARAGRAPH to drop the term “development environment” on me. I need the Fisher-Price beginning.

You know, I like to think that I’m a little more tech savvy than the ordinary guy; I operate and maintain this site, I’ve used open source software to convert .avi files from PAL to NTSC style video (and to re-synch the audio thereafter), I can bluff my way through simple image editing with the GIMP, I can spot (and trace) a simple spoofed email, and I taught myself my first programming language (FORTRAN) when I was ten, from a book that my Dad had brought home from work; I didn’t have a computer to actually run the programs I wrote in response to the “Problems” in the text, but my solutions were identical to those set out in the “Answers” portion of the book and by the time BASIC came along and I managed to somehow get a little face time with a Radio Shack TRS-80, I had an appreciation for the beauty of well-written code that I think was somewhat uncommon among fourteen year olds in 1980. All of that experience tells me that “development environment” likely has something to do with describing the virtual box within which the php code that I want to write will be created. I’m even relatively certain that the virtual box needs to be built “on” the web server that’s going to ultimately execute the php code that I write.

But I wish to the Flying Spaghetti Monster that I wasn’t already guessing about shit like this, two paragraphs in to the lesson. I might have a little more confidence that this learning exercise isn’t going to be excruciatingly painful. Is it so hard to simply say, “Look, you’re going to need a place to write this code, and that place can’t be on your local computer, the one you have on your desk or your lap or whatever – it needs to be on something zippy and powerful like a web server, so you’re going to need to download an application and then put it on your server to make sure you’ve got a little php sandbox to play in.”


UPDATE: 10:45 p.m. and I’ve finished the first lesson. I have to give the author his props, the rest of the lesson was generally very comprehensible and not nearly the exercise in Stalinist self-denial I was expecting. It would seem, however, judging by some of the comments at the bottom of the post, that I’m not the only one who had a little trouble getting started:

Sunday, October 15, 2006


9:54PM PDT · Anonymous User [unregistered]

I say this guide need more ‘explanation’.


Things I’m Doing Other Than This

You should pardon me over the next few days if this blog doesn’t get a lot of attention.  I will try to sit down and tippy-tap out a few things here and there, but I am currently in one of my frequent “juggling many projects” modes.

I’m working on a site for a charitable event that Spouse and I are involved in organizing.  It’s a bicycle ride and a charity auction that are both scheduled for September;  past experience demands that much of the organization happen right now, because over the summer it is hard to consistently locate people to bother them for donations, and  once September begins there isn’t enough time to whip it all in to shape in just a couple weeks’ time – and still hold down the day job.

Anyway, that project has gotten me into a situation where I think I need to learn a little basic php – I knew this day would come, kind of like having to visit the dentist – but I don’t have to be happy about it.  So I’ll likely be busy trying to puzzle out the mysteries of some obscure technical manual transliterated into English from the original Swahili by a Polish-speaking monoglot.  You know, the usual.

I am also still hard at work on a certain video project that I hope to have posted to the site within the next week or two.

Finally, there are a couple of work related tasks that need attending to this week if I am to depart for a week’s holiday in late June/early July with a semi-clear conscience.  All this, and the lawn – once again – desperately needs cutting, as Juniorvania seems to have been transported into a weird sub-tropical climate in which it rains every day;  only a little bit, mind you, but right after I arrive home from work, thus effectively preventing a successful mowing sortie.   Juniorvania is once again becoming a bit of a sylvan wonder.

As for tonight, I am to play chauffeur to my soon-to-be-drunken Spouse and sister-in-law.  They are attending a shower thingy in honour of my soon-to-be other sister-in-law, and it seems a virtual certainty that a number of brave cocktails will lay down their lives in honour of the auspicious occasion.