IBM Forms: My Favourite Itemlocation Tricks

This is a sequel to my previous post, on understanding itemlocations.  What follows are some of my favourite itemlocation tips:

Be a Minimalist

Get rid of excess baggage in the itemlocation list. So if you have itemlocation entries x, y, width, offsety, after and offsetx - in that order - you can get rid of the x, y, and offsety entries, since "after" will override them and they are ignored anyway.

While building a form, it makes sense to drag and reorganize your form at your heart's content, amassing lengthy itemlocation lists as you do. But before you deploy your form, scroll through the source and trim out the unnecessary entries in the itemlocation list. (Then test it to ensure you didn't get carried away!)

The itemprevious compute

This is one of those tools, like duct tape or a multi-tool, that is never exactly the right tool for the job, but is always convenient, expedient and effective.

This compute sets the item reference to the SID of the form item immediately before the current item. So if you have a long list of fields (FIELD1, FIELD2, ...., FIELDn), one right after the other in the source code, and you want these to be vertically aligned in a column with (say) a 10pt gap between them, then it's an easy cut'n'paste job - the item location entries for FIELD2 to FIELDn are simply:

XML:

<itemlocation>
<below compute='itemprevious'></below>
<offsety>10</offsety>
</itemlocation>

Relative Positioning

I love relative positioning!

The ability of forms to layout a page with pixel-perfect absolute positioning is an important feature. However, for day-to-day forms that do not need that level of precision, I prefer relative positioning almost all the time. It's a little more work when you lay out your pages up front, but it avoids a world of pain later when you want to adjust the form to add a new field in the middle of the page.

Lay out the form so that fields, labels, etc., are relative to the items that are visually just to the left or just above them. Then adding a field or reordering a field to appear earlier is just a matter of adjusting one or two fields, and everything else will fall into place naturally.

Another advantage of relative positioning: When label text can vary in size (say for computed or pre-populated text), labels can "grow" horizontally or vertically (with wrapping) and the rest of the form will adjust naturally without any ugly overlaps.

Let Forms Do It For You

It's often better to let forms figure out the width and height of an item. Don't specify these values absolutely in the itemlocation list unless you have to. Often, its even a good idea to take them out if they are there.

However, there are some exceptions to this rule of thumb:

  • Fields for text entry - set the width wide enough for the text, (or set the scrollhoriz setting to never and set a max length if the text could be much longer)
  • Labels where the text may be so long that it needs to wrap. In that case, you have to tell forms where the width should be - set it to the longest line possible, and forms will wrap the text there - but in this case, you need to leave enough space in the height to allow for all the lines; or let forms figure it out and don't set a height.

It should be obvious, but just in case: This approach works best when you are using relative positioning on a page. If you let forms figure out the right height for a label with dynamic text, then items below that label ought to be relatively positioned relative to the bottom of the label. Otherwise, when the label text grows it can overwrite absolutely positioned items below it.

Document order matters

I've harped on this before, but it bears repeating.

You generally want the fields, labels and other controls in a form to be in the same order in the xml file as they are on screen. The most obvious reason is that this takes care of the tab order for you - the "default" tab order is the xml file order (not the order on screen - which is why you want them to in the same order!). However, there are other benefits.

For one thing, it makes it much easier to navigate the source file.

For another, "after itemprevious" is the default position for an item that has no itemlocation entries (or at least no entries that dictate x, y coordinates) - so you can keep your itemlocation lists very clean by sticking with the document order.

As well, there are a few handy context menu commands that come into play: On the Design panel, right click a label / field / control that is absolutely positioned, and you have "Relative Align -> Below Previous item" and "Relative Align -> After Previous item". These are quite handy! After using these context menu commands, you can drag the control to add a bit of extra space, and forms will add the appropriate relative positioning Offsetx and Offsety items to the itemlocation list.

Now, if the fields are not in document order, don't despair. It's easy to fix: From the advanced perspective, you can drag & drop xfdl items (fields, labels, controls, etc) in the outline navigator, which will reorder them in the source file! Just remember to do any reordering of your source file before you start adding in relative positioning.

Adding space to radio button / check box item lists

Add an offsetx (with a value of 5 to 15 or so) in the itemset/extension/itemlocation list of horizontal radio button groups or checkbox,groups, to add a bit of horizontal space between options. For radio groups / check groups that display vertically, I don't usually find the extra space is necessary, but you could use offsety the same way.

IBM Forms: Understanding Itemlocation

The Itemlocation list is the heart and soul of IBM Form's layout capabilities. Its well described in the documentation and the Forms courses and tutorials, but there are a few key points that newbies - and I - often forget.

Order Matters

The order of items in the itemlocation list matters. The position of an item has four independant axis. The first two are the x, y position of the top left corner of the item. (0,0 is the top left corner of the page / pane). The second two are the width and height of the item. The items in an itemlocation list override previous items in the same list, but only certain axis! So the "below" list item overrides any previous x, y coordinates, but not the width or height. An x item overrides only any previoiusly set x axis - any previously set y value, even if it is relatively positioned, remains in force! So an "After" followed by an "x" will set absolute positioning for the x axis, and relative positioning for the y axis.

To further complicate matters, certain itemlocation entries only modify an axis.  In particular, OffsetX / OffsetY modify, but do not override, any previoius x / y axis values previously set.

You can usually guess the axis that is changed by an itemlocation entry by it's name.  So "Alignr2r" affects the right side of an item, and thus must override the width axis, leaving the height, x and y values unchanged.

One last example: "Alignt2b" sets the vertical position of the item so the top of the item aligns with the bottom of the argument item. So "Alignt2b" overrides the "y" value, leaving the other axis unchanged. Conversley, "Alignb2t" sets the height, and only the height, of an item so the bottom aligns with the top of another item.

Understand the defaults

Remember that "<after compute='itemprevious'/>" is always an unwritten 0th itemlocation list element!   You can use this to keep things simple.

Say if you have a list of labels on the left followed by a list of fields on the right.  You want the left sides of the fields to line up vertically (at x = 120 say), and you want each field to line up horizontally with it's label.   Then make sure in the source that you have labelN followed by fieldN (N = 1, ... , n), and the item location for each field need only be a slngle x value:   "<x>120</x>".   The y value will be set by the unwritten default, "<after compute='itemprevious'/>".

So if you want something to be beside (to the right of) the previous item (in  the build order!) with a small space between, the only item location element you need is an offsetx (for a relative gap) or an x for an absolute horizontal position.

If there is no previous item - that is, if the item is the first element in a pane, or the first element on a form page, it will have an "invisible" x=0, y=0 positioning as the default.   So for the first item (the first item in the XML file, no necessarilly the first on the page visually!) in a table row pane, you usually want it at the top left of the pane - and in that case there is no need to enter anything as the default is (0,0) anyway.

IBM Forms: &#xD;&#xA;&#x9; and all that

When you get past the beginner stages of building an IBM Form, you will start building more and more complex computes and xPaths. Using the built-in compute editor and the built-in xPath editor, you'll want to add a bit of formatting to keep sane - some newlines and tabs for indentation.

You'll notice, though, those same computes and xPaths getting quite ugly in the source code.   They collect strings like this:

&#xD;&#xA;&#x9;

This is nothing to worry about.  The designer adds these control characters to the source code to keep track of the formatting you've entered.   They have no effect on the execution of your xPath or compute, and you can safely ignore them.

Essentially, the &#xD;&#xA; is a carriage return and line feed combo (equivalent to a windows "\n" in Java or C).   The &#x9; is a tab character.

IBM Forms: Date formats

The XFDL Compute "date()" returns "yyyymmdd".

The default XForms Date field format is "yyyy-mm-dd".

The XForms Date picker seems to understands either "yyyymmdd" or "yyyy-mm-dd" for prepopulation, but will save the date as "yyyy-mm-dd" by default.

Note, however, that Xpath functions only understand "yyyy-mm-dd".  So if you have a constraint or compute in a bind -- for instance, making sure the start date is before the end date -- and one or more of the fields used by the xPath is prepopulated as a date, then you have to use "yyyy-mm-dd" or the xPath won't work properly.

As well, it is best to prepopulate it as "yyyy-mm-dd" as otherwise your back end code can get confused:  If the date is changed it will be saved as "yyyy-mm-dd" where as if the date is not changed the prepopulated value will not be changed (even if it is in "yyyymmdd".)  So any back-end processing could recieve either format.

Avoid these problems by always prepopulating dates for xForm date fields in the format "yyyy-mm-dd".

IBM Forms: Fields with no spaces

Sometimes you need to get the user to enter a string value with no spaces.   Regexes to the rescue!  Here's a simple field that accepts any string, as long as it doesn't have spaces.

XML:

<field sid="FIELD4">
  <xforms:input ref="@id">
    <xforms:label></xforms:label>
  </xforms:input>
  <itemlocation>
    <width>111</width>
  </itemlocation>
  <scrollhoriz>wordwrap</scrollhoriz>
  <format>
    <datatype>string</datatype>
    <constraints>
      <patterns>
        <pattern>\S*</pattern>
      </patterns>
    </constraints>
  </format>
</field>

The "\S*" pattern is what enforces the no-spaces rule.   Note that tab characters are also filtered out.  This regex says:

\S - any character but a white space character
* - repeat 0 or more times

Note that the default error message is a bit cryptic, so either override the help message or ensure the label for the field clearly indicates not to use spaces!

You can use this in conjunction with a length restriction to limit the input to a certain size (or just use a more sophisticated regex!)

My personal favourite Regex reference is actually the javadoc for the Pattern class.  Obviously, for forms you don't need to concern yourself with the java api, but the regex summary at the top of this page is very nicely laid out in my opinion.

IBM Forms

I've been doing a lot of work with IBM Forms (nee PureEdge forms, then Workplace Forms, then Lotus Forms, now IBM forms...) over the past few years.  During the last year or so I've built up a backlog of technical blog posts on IBM Forms ... but my blog wasn't working!   I couldn't post anything new.   I have (obviously) jsut fixed that .... so look for a slew of posts on IBM Forms & XForms over the next few days, with a few non-technical posts sprinkled in for flavour.

So… Let's begin.

The End of Static

Technological changes happen like tides:  inexorable, imperceptible transitions from one state to another.  We don't realize the change until the water is "suddenly" three feet higher.

Note, for instance, the white-noise sound of static.   It is surely a 20th century phenomenon that most people born before 1980 will still recognize; but it has all but disappeared from our world, and will surely vanish from our collective unconscious in the next decade or so.   My children were all soothed to sleep to the sound of static - but by the time my son was born, it was hard to find a new radio that would play static.  All the new TVs and radios now filter out static, replacing it with silence (and in the case of TVs, a "no signal" message).  Without noticing it ever disappear, the sound of static is almost gone.

I predict email will go the same way.   It seems ludicrous now, but mark my words - in a decade or so, email will be as common as telnet.  Two closely linked pressures are killing it:  spam, and social media.   Spam drives us to be less than eager to give out our email accounts, but we still want to connect with real people - and that drives us to social media.   At the same time, social media provide a more connected experience than vanilla email.

The same is happening, at a slower pace, in business.  Large companies see the balooning size of the email server hard drives and put limits on mail sizes, and invest in collaboration sites.

The rub is that email is a free and open standard, and facebook et al. are not.  They are controlled by companies, both large and small, that may or may not have our best interests at heart.  Now, I do actually really like Facebook - but Facebook Inc. is motivated by the same thing every corporation is motivated by: money.  Well, I'm motivated by money too.  Yet this has lead to a very closely controlled ecosystem: there are no real competitors to facebook, twitter, and co because there is no sharing of data.  And there's the problem - no standard, no openesss, no opportunity for the organic growth that was the hallmark of the early internet - and email.

Anyway - most of us have not yet noticed, but the tide is sweeping in.  Like it or not, static is gone, and email will surely follow.

Music for kids?

My daughters have a CD .... it's a mixed bag of teenie-bopper hits. Or something like that. I don't claim to know any of these "artists", or recognize any of the songs. However, I have to admit, some of the tunes are not that bad. I can even find myself humming one of them occasionally.

But ... one of the first songs on the CD just drives me nuts. Not because of the tune, which is quite catchy, but because of the lyrics. It's a break-up song, by a female singer. From the chorus:

"I don't want to talk about it.
I just want to sit and cry in front of you."

And other such drivel. This is NOT how I want my daughters to think of relationships (or my son for that matter, or, well, anyone else....). In this, the dawn of the third Millennium after Christ, we are still telling our female children that the best way to handle rejection is to clam up, find the boy who has just dumped you like trash, and fall to pieces in front of him.

AAAAAAAAHHHHHHHHHHHHHHHHHHGGGGGGGGGG!

My Winter Friend

Last night, after about 11, there was the most magnificent view of Orion over head, with a gorgeous crescent moon setting in the west. The three sisters on the hunter's belt were very clear, and I could make out the dagger as well. I have considered Orion a sort of personal friend for the last 14 years or so.

When I was 24, I had an couple of operations on my eyes. Suddenly I went from seeing 20:200 to 2:60, and since then it has improved to 20:40.

It is tempting to say that this was a life-changing event; that the world was different. But it wasn't. It was a good thing, and I am grateful for it; but the world looked much the same as it did before. There were no new colours.

Life changed, and is changing, is evolving; but the really big forces are not the earthquakes or tsunamis but the tectonic plate movements, slow and unnoticed. Growing up with poor eyesight did have a huge influence in my life, and still does; but suddenly having better eyesight did not change my world that much. The really big changes are the things creeping up on me: slowly going gray, my children aging, changes in my views.

To be sure, the operations I had were a bit of an earthquake. Overnight, many little things changed.... I suddenly realized how dirty the world was: I could see the dirt -- crumbs on my counter -- which was a bit disturbing. Before the operation I could read any book, any size type down to about 4 pt, by holding the page close (very close!) to my face. After, I could not read without glasses.

Of course there were marvelous revelations as well; snow storms were a lot more interesting, and 12 years later, I'm still dumbfounded by trees in winter - the unbelievable complexity of all those branches that were just a blur before.

Clouds were a disappointment though. I've always loved clouds, and still do ... but I always presumed, before the operation, that there was more to them somehow; that they would be that much more wonderful if I could only see them better. But they weren't any different!

Then there were the stars. Before - I could see maybe 5 stars in the whole sky on a good clear night, and perhaps 10 on an exceptionally clear bright night. After - well, there really are no words for it.

I recall the first few months after the last operation, visiting my parents in the country late in the fall, with their bight country night skies. I remember vividly asking what that incredibly bright line of three stars was, low in the evening sky. So it was that I got to know the constellation Orion. To this day, Orion, the hunter, is easily my favourite constellation. I look forward to it every winter.

It reminds me of crumbs on my counter, individual snow flakes in a squall, tree branches in the distance and hydo wires stretching to the horizon on the tall transmission lines; things largely unseen before I was 24.

Now February has been ground down, and March will follow shortly. It's been a busy, cloudy, overcast winter by and large. I have not seen the great archer as often as I would have liked. Soon the time will come when the hours I keep and the hours that the three mischievous sisters keep will not be commensurate, and I shall miss Orion's belt in the night sky.

But today I look forward to the few clear winter nights left this year, when I'm up a little late, and the dog and I step out onto the deck in the cold air before bed. I'll look up and search the sky overhead for three bright stars, and greet my winter friend.

Suspense

The last few nights I've been reading "Harry Potter and the Half-Blood Prince" to the kids for a bed-time story. I've read the whole series before; I read the Half-Blood Prince in one long sitting on the night it first came out. But this is the first time for the girls, who are finally just old enough for it. When we read chapter books together I'm usually as eager to know what's going to happen as they are. But since I've read this one before, I'm immune from the suspense.

So I'm discovering one of the simple pleasures of parenthood -- torturing your children by closing the book at just the right moment, when the tension can be cut with a knife: "Harry raised his wand and .... Goodness me, is that the time? You should be asleep now! We'll finish this chapter tomorrow night."

"DAAAAD!"

My New Toy

Boys and their toys ..... My new toy is an Insignia stereo Bluetooth headset from Future Shop. I have my brother Dave to thank for this ... Davey gave me a lovely set of good quality wireless earphones (not Bluetooth) from Future shop, but knowing that I was fickle, he kindly taped the gift receipt to 'em. Sure enough, I switched them for the bluetooth set. Thanks Davey!!

I have one beef: The range is not quite what was advertised. It comes nowhere close to 30 m .... I'm finding that at less than 30' it starts to sound very static-y.

However, the sound is sooo clear, and it paired easily with both my cell phone and the laptop. I love it.

Cell Phone

I need a new cell phone, as my current flip phone has a cracked front display, and the inner display is not in good shape either. Problem: I'm cheap, and I have to stick to the phones offered as part of the corporate plan, since this is not exclusively for personal use. Luckily, I do qualify for the corporate upgrade program, which means significantly reduced costs.

My requirements are simple: I want a phone much like the Samsung flip-phone A500 I have now (camera, video, bluetooth, MP3 player and expandable microSD slot). However, I want a few upgrades: 2.0 MegaPix camera, and it has to handle 8 GB in the micro SD slot. And oh yes, I'm not willing to pay much for it. And it must be a flip phone, and I do NOT want a crackberry -- although if the new flip pearl was offered, then I would be tempted.

There are two phones I can find that meet my requirements: The Samsung Cleo, and the LG Reveal. They are reasonably priced flip phones, they have the 2.0 MP camera, bluetooth, MP3, video, and they support up to 8 GB on the micro SD. As a bonus, they both sport a full Querty keyboard, and the Cleo even has a touch screen!

Now, here's the rub: I'm a guy. The Cleo and the Reveal are Chick phones. They're both designed to look like a compact! Arrrgggghhhhh!

Now the Reveal has a model in dark sleet grey that one could argue is gender neutral. But it just feels too much like the whole "man purse" thing.

Common Sense

Common sense is spreading like an infectious disease .... only, in a good way.

Lessee ..... Obama is elected, Gitmo is scheduled to close, Harper's budget is showing signs of sanity, governments are talking about serious investment in public transit & infrastructure ....

Wow. It must be awfully cold in Hell. &amp;#58;&amp;#62;

I do pity Obama though. I think he's terrific and all .... but no one can possibly live up to the kind of hype and expectations that have been set for him.

Just Peachy

Peaches have to be the best fruit ever. Maybe the best food ever. They're right up there with a good ripe apricot or fresh raspberries on a bowl of special K.

Peach Jam in particular is divine. If God has jam on her toast, I'm betting it's peach jam.

Unfortunately, it's impossible to find good peach jam in a supermarket. Peach jam is a bit runny, and I suppose that makes it commercially unsellable. Luckily it is easy to make, although we haven't done any since the year my first daughter was born (literally a couple of days before she was born).

However, this afternoon Indira got inspired, and picked up 4 6-quart baskets of fresh, beautifully ripe Ontario peaches, and after dinner we got to work ...

We've just bottled the last of it (12.5 mason jars!) and I wiped the pot with a bit of toasted flat bread. Warm jam on toast ... mmmmmmm ...

(click next page for Grandma's recipe)

Pages: 1· 2

Complete Lunacy

--Update April 2009: The first section (front page through pp.27) is more or less complete. The second section, "Part I", is about 60% (pp. 29 through 68). PDFs are here.
--

I firmly believe that all the really interesting people in the world are just a little kooky. It's a prerequisite.

This is my excuse, and I'm sticking to it.

Here's my latest quirk: I'm typing an old book from 1909 to put it on the web.

When I was a kid, my Dad had a Pendulart, and the family would occasionally sit around on a quite evening and toy with it, making all sorts of pretty pictures. In Uni I took math and comp. sci, and began to wonder how one could model the Pendulart. I discovered the "Harmonograph", an older precursor to the Pendulart, and eventually found a very hard-to-find book called "Harmonic Vibrations and Vibration Figures" which is the quintessential text on the Harmonograh and related toys. It's just a fascinating, quirky and likable little volume.

I eventually procured a photo-copy of the 1909 original. (Since it was published in 1909, the copyright had long-since expired, and it was now in the public domain, so a photo-copy was quite legal.) Since then it occurred to me many times that such a charming little book really ought to be more widely available, a la Project Gutenberg.

A few years ago I experimented with OCR scanners to see if it was easy to scan it in. But that did not pan out very well.

And here comes the nutty part ....

This summer I decided to type it in ... one page at a time. This isn't quite as insane as it may seem, since I touch-type pretty well. I figured a few minutes a day and I'd have it all typed in in about 3 months.

But part of the charm of the book is its format and it's idiosyncrasies .... so I decided to try very hard to stick to the original format and typography. That has proved quite a challenge, but rather an interesting problem in its own right. It was clearly typeset by hand by an amateur, and it is surprisingly difficult to mimic that in a modern word processor that wants so badly to correct mistakes!

The original typesetter insists on putting a space before each semi-colon, and often on either side of quotation marks, among other oddities.

Anyway, it's coming along, and it's surprisingly fun. I have about 36 pages keyed in.

I'm sure you are all just hanging on the edges of your seats to see how this all turns out!!! Well, you'll just have to wait and see. I'll let you know.

I'm suddenly reminded of the Pink Floyd album, "A Momentary Lapse of Reason".

Incidentally, modeling the Harmonograph is pretty easy on a P.C. Modeling the Twin Elliptic Pendulum is much more difficult and I have never figured it out. I never did figure out how to model the Pendulart either. Ping me if you have any suggestions ..... &amp;#66;&amp;#41;

Old Friends

Apparently, old friends never change, they just record albums.

Kurt Vonnegut once wrote (in "Palm Sunday" I think) about his mid-life habit of staying up till the wee hours of the morning drinking and getting the operator to help him track down old friends. Imagine getting a call at 2am from a sodden Kurt Vonnegut!?

I think the modern equivalent for Gen X is to stay up late looking up old friends in facebook. I've re-connected this year with an old roommate, a friend from elementary school, and so on. But one of the nicest surprises: A friend from my university residence days has recorded a CD! Way cool. And about bloody time, too. She was always a terrific singer.

In case you are interested, there's samples here and a link to download the whole thing at a very reasonable cost. I highly recommend it. Sort of country / folk / acoustic with a Celtic influence.

She sounds exactly the same as I remember! Except the drums, of course -- who has drums in a dorm?

Time Pollution

I hear-by coin a new term: time pollution (noun) - the waste of time by useless drivel, sloth, and navel gazing. Similarly, the verb time polluting.

Of the 7 deadly sins, sloth is the most loathsome to me. The others - pride, envy, gluttony, lust, anger, avarice - could, I argue, under the right circumstances, be useful. Goodness knows, I'm guilty of 'em all in one way or another. I suppose that in the world at large, if I could eliminate or diminish one and only one deadly sin, anger would have to be it. But on a personal level, sloth takes the cake. As I get closer and closer to that dreaded age four-nought, or two score if you prefer, it seems to me that every second counts. Of the many regrets that haunt me, the time wasted and the opportunities thus lost are the things that cause the most pain.

Just for the record ... there are lots and lots of things I don't regret either -- but for some reason those don't nag at the edges of consciousness in the middle of the night.

Yeah, yeah - mid life crisis or whatever ... I don't have time for that.

Look On My Tool Ye Mighty and Despair!

(Apologies to Shelley).

So let's get the obvious thing out of the way here first: This is clearly a case of over compensation. I'm not even going to pretend there isn't something Freudian going on here. There, I said it, so you don't have to. Mkay?

For my last birthday, my parents gave me a bit o' money. I bought an angle grinder on sale, and this hammer drill, also on sale, both from Canadian Tire. (I have yet to use the angle grinder for *anything*. Really, what are they good for?)

However, the drill quickly became my favourite tool. This thing has moxie. It's sucks in 9 amps of power, and it's the first drill I've owned that can't be used as a power screwdriver - even at it's slowest, its just way too quick.

Jud's New Toy

About a month ago, I picked up the drill bit shown, at a wonderful hole-in-the-wall hardware store on Dundas St. just E. of Yonge. (I love tiny, cramped mom-and-pop hardware stores!) This bit is a 3/4" masonry bit, and combined with the drill on it's hammer setting, it chews through concrete and brick like a hot knife through snot. It's just amazing. The tip doesn't even heat up.

Unfortunately, there are only so many 3/4" holes I need to drill in my house walls. I've put a GFI plug on the rear, one on the porch, and an extra hose tap on the side .... and now I'm out of excuses for boring big holes into concrete! Darn it!

Warm Fuzzies From AC/DC

When I was young and impressionable, the "bad" kids listened to AC/DC. Sitting at the back of the school bus, looking just a little scruffy, with Led Zepplin, Nazareth, Sabbath and AC/DC emblazoned on black tee-shirts.

The rest of us murmured rumors that if you played Stairway to Heaven backwards, there were subliminal satanic messages encoded. As for AC/DC, you didn't even have to play the songs backwards.

I don't know when my attitudes shifted, but somewhere in my twenties I discovered that Led Zepplin was in fact the best darned music anywhere. I even developed an appreciation -- if not quite a passion -- for the energy in AC/DC.

Now in my late thirties, my mood has shifted again. AC/DC now sounds .... nostalgic, for lack of a better word. Hell's Bells gives me a warm fuzzy. Sort of like the "awwww..." I feel hearing the first chords of Simon & Garfunkel's 59th Street Bridge Song.

It's highly incongruous, but there you are.

And Another Thing ...

On the same vein as my last rant.... The "Story of Stuff" has me thinking about one of the Go Train stops along my route to work.

The train winds its way through the unbelievable sprawl that calls itself Markham: Like an anally-expulsive developer decided to spread their seed to the four winds; devoid of any charm, little pink brick row houses as far as the eye can see, with narry a tree in sight.

The stop in question is smack in the middle of this city-planner's nightmare, with industrial sites, subdivisions and parking lots as far as the eye can see. Not even a coffee shop in sight.

Now, there was some development going on last year on a vacant lot across the street from the station. I thought, oh good ... some developer has finally got a clue and decided to build a condo or appartment building near a Go-Station. How wonderful!

How Wrong! No condo ... it's a 10-bay car wash.

Unbelievable.

Train in the fog

Waiting for the train this morning, I snapped this on my cell phone:

Train coming in through the fog in early morning
(c) copyright 2008 Jud Sinton, all rights reserved.

A bout 15 seconds before this, all you could see was the beam of light coming out of the fog as the train pulled into the station. By the time I flipped out the cell phone, the train was in view, but it's still a neat picture.

Renting Everything I Own

Have you read the story of stuff? If not, you owe it to yourself to pop on over, take 20 mins, and have a listen. Go ahead, I'll wait here.

That is one of the most thought provoking things I've heard in a while, and it coalesces a few things that have been bothering me lately.

For one, my earphones: I find the ear-buds too uncomfortable, and I'm too cheap to pay big money for earphones, when there are perfectly good earphones for about $14.

However, they don't last. Typically, the jack wears out, or rather the cord's connection to the jack. The more complex components, from the speakers to the headband, all work fine -- but if the jack is shot, then the whole unit goes in the trash.

So I buy a fresh pair every couple of months. This leads to the realization that I'm renting my earphones!

If everything mass produced in the last 50 years is designed to burn out before I'm done with it, then, I'll need to buy it again. So all my stuff....hmmm. That leads to the realization that, in fact, I'm renting everything I own. Earphones are just the worst examples.

Now there's an unpleasant epiphany for you.

Why I Love Old War Movies

I really love staying up late watching old war movies, Dirty Harry flicks, â??Casablancaâ?, and any movie based on a Tom Clancy novel.

Now, Dirty Harry hardly symbolizes the modern sensitive male. He's really clearly not my kind of guy. (Pink is my second favourite colour â?? next only to lavender.) And I don't think I'd be warmly welcomed to the crew of â??Run Silent, Run Deepâ? with a buff young Burt Lancaster and an all-male crew; I just don't exude that much machismo.

But these films all share a common thread â?? there is a clear cut villain. Dirty Harry is gonna find the bad-guy, and when he does, the punk will be evil through and though; there won't be any question. In Casablanca, we know the Nazis are the evil doers; the movie doesn't spend even a second convincing us of this. It's a given.

In the Hunt for Red October (or any Clancy book-turned-movie, and most movies Harrison Ford has ever starred in for that matter) the bad guys are clearly heartless terrorists trying to end the civilized world. No wiggle room for doubt.

I miss that clarity. The evening news certainly lacks it. The â??War on Terrorâ? (TM, Copyright 2001-2008 George W. Bush) had it .... and quickly lost it when they used it as an excuse for all sorts of nutty and / or sinister things â?? like invading Iraq (a nation that the Taliban considered too Western-ized and therefore "the infidel").

Our Canadian position in Afghanistan lacks that crystal moral clarity too, I'm afraid. For what it's worth, I do support the mission in Afghanistan, and despite being a die-hard Liberal, I really think that we are doing good there and should stay â?? and use military might, and not just in a non-combat role. I just wish it was less murky. For instance, summarizing a more lengthy CBC piece, it seems that a lot of the so-called combatants are, in fact, starving poor rural Afghans, who don't give a fig for the Taliban, who are being paid by the Taliban to fight for them. That sounds pretty mercenary, but if I was too poor to feed my children, how far would I go?

The old war movies â?? from â??The Guns of Navaroneâ? to â??The Dam Bustersâ? and even â??The Bridge Over the River Kwaiâ? â?? have that kind of clarity. I long for that. But, I admit, I have to wonder if it was ever really that clear?

Yes, Hitler was a bad 'un. Yes, the holocaust alone made stopping Hitler worth it. Yes, I think the allies were justified in doing most of the things they did; and yes, I am very very proud of the Canadian accomplishments, from our part in D-Day to the liberation of Holland.

No, nothing would appear to justify the vicious destruction of Dresden by the allies, and the murder of all the apparently peaceful men, women and children who lived there (read Slaughterhouse Five if you have not done so yet).

We have family friends who grew up in Germany during WWII. They emigrated to Canada shortly there after. They occasionally tell stories of their childhood. It isn't pretty. His family was wealthy, but apparently at odds with the establishment â?? and at one point the military told them to appear on their balcony at noon the next day, when they would be shot. They had no choice â?? they did troop out onto their balcony, expecting to be massacred. But for what ever reason, they didn't get shot. He was a small boy, and remembers this as the worst day of his life. She has similar nightmarish tales of near starvation, and so on.

Funny, how the majority of German people appear well fed, if they appear at all, in the old war movies.

Sad, how the average age of U-boat crews decreased so dramatically during the war, to the point where entire crews of children were sailing out to certain slaughter.

It's not just politics & the evening news that seem to lack clear, easy choices these days.

Take the I/T industry. There's nothing worth dying for, but there are parallels none the less â?? the testosterone-charged emotional battles of good vs. evil. Except, that just like the evening news, it's rarely all that clear cut. In the end you have a bunch of people, all of whom are well intentioned, struggling to do what is right for their customer / company / project or what have you.

In that sense I envy Microsoft executives. They have so many enemies! And by and large, their enemies do hate them and want nothing more than to crush Microsoft! Such a clear-cut battle of good vs. evil (although which is which depends on your point of view, apparently). To Bill and his buds, it's a no-brainer: a crusade worthy of the effort! Such moral clarity.

Ah well. It's been a while since I've seen â??Run Silent, Run Deepâ?. I have to see if I can pick up a DVD on e-bay, and watch Burt & the crew slip quietly past the â??Bongo Straitsâ? again.

Valentines .... sort of.

On St. Valentine's Day, I sat on the train and wrote a lovely long blog as a valentine to my wife. There is no connectivity from the train, and I saved it to post later, knowing that I could back-date it in B2Evo, and knowing that my readership is so ridiculously low that no one would notice that it was back-dated anyway &amp;#59;&amp;#41;.

So ... I go hunting for it .... and I can't find it anywhere! I've scoured the hard drive, but it's just gone.

It was suitably gooey and so on. Come to think of it, the only person who would have enjoyed it was my wife. After all, who likes other people's mushy valentines?? The world as a whole is probably better off with my public valentine permanently missing.

Anyway, it had only one good line in it, and that was how it opened:

â??Spicy culinary delights, beer, dark chocolate and sex are proof that God wants us to be happy; tornadoes, cancer and plain old death indicate that She doesn't intend for this to be a cake-walk; and St. Valentines Day is proof that She has a twisted sense of humor and really gets off on making guys squirm.â?

So there you have it. Forget the mushy-stuff, and let's move on, shall we?

For the record, in that missing post, I predicted that my wife would get me something thoughtful, meaningful, sweet, and that indicated she knew me better than myself. Sure enough, she gave me a DVD of my second-favorite movie, â??Casablancaâ?. God love her. You just have to dig Bogart.

â??If you don't get on that plane you'll regret it. Not today, and maybe not tomorrow, but soon â?? and for the rest of your life.â? -- Rick (Humphrey Bogart) to Ilsa, in the final sequence.

Damn, they just don't make movies like that anymore.

Trains Vindicated

These last few weeks we've seen winter storm after winter storm. And I have to take my hat off to GO Transit.

As I write this, I'm looking out my train window, and I just have to pity anyone on the roads. It looks like a total mess. I don't think anyone driving is getting home in a timely fashion tonight.

Now granted, the train I'm on is delayed. Due to weather and construction, we're running behind. The conductor is so polite about it to .... â??This train is running 8 minutes behind schedule, ladies and gentlemen. GO Transit apologizes for the delay.â? And his voice sounds like he means it too.

8 minutes! It's snowing so hard out there that you can barely see a hundred feet! There is 15 cm of snow covering the roads! I challenge ANYONE driving to make it home from downtown to the burbs with less than an hour delay!

Yet GO commuters love to bitch, and you can bet there will be grumbling and eventually official apologies from GO transit execs for all the delays. Unbelievable.