Tuesday, March 31, 2009

The ends of March

Should I beware the ends of March?  The ides of march are long past, so the end of March is more relevant.  Should have started writing a bit earlier, but I'm all tired to begin with and I'm having trouble focusing - especially on what I need to do right at this very moment here.  I did manage to rustle up another goalie for hockey tomorrow, but it's a Puckstoppers rental so it's gonna cost us.  I was hoping that we'd have one regular and one other, but our regular has not been regular as of late.  Should have a good turnout tomorrow, which helps to keep the costs down.  I expect we should have some good weeks in the near future too as the leagues are wrapping up.  I talked with one person today who's league night is tonight (Tuesday night), which is why he can't make it during the season.  His league begins playoffs now, so it could be 5 weeks before he can make it out.  That's a while.  I would just be happy with two goalies and 8 skaters every week, but you can't have everything.

I skimmed over something regarding GM, along the lines of public officials voicing that doing the "Volt" was a bad choice.  They also want GM to move with the times and offer what the public wants and be green.  Seems to me that GM was offering what the public wanted - big, comfy SUVs that used lots of gas and produced lots of pollution - and that's in direct conflict with "more efficient.  I hope they don't bugger things up too much with their helpful recommendations.

Monday, March 30, 2009

Another Monday

It's Monday again - the beginning of another week.  We're going through "goal setting" at work and I'm strangely invigorated.  Probably because I actually have some decent ideas and I've been repeatedly assured that this time (no, really - this time) our personal goals are going to be tied to our performance bonus.  We've had a bonus of the past few years and it's supposed to be a performance bonus, but it hasn't really reflected my performance.  Or the performance of my co-workers, or our office.  It's reflected the performance of the company as a whole, which has been good, but that's not really point.  If it's supposed to help motivate me to do better, somehow it needs to be tied to my performance.  Anyway, after many years of change we're getting to a more standardized process that will measure performance.  Better performance will result in bigger bonus, as it should be.  Unlike the financial companies where the guys who did worse than anyone every did still got money for doing so poorly.  I suspect if you add the losses of everyone that has ever lost money in the financial industry and compare it to this one year, this year's would be bigger.  And yet they got paid lots of money for it.  I've heard it said that the public doesn't understand that it is common industry practice to pay a modest "stipend" known as salary, with most compensation arriving in the form of a bonus.  It sounds good, but I haven't seen how much they are paid, but I bet they make 5 to 10 times the salary I do - plus bonuses.  The massive losses should have been setup so they have to pay back money to the company instead of receive.

Not that I'm bitter or anything.

Moving on to better economic news, President Obama finally moved decisively to deal with the automakers by asking GM CEO Rick Wagoner to step down.  I heard an analyst draw a parallel to a professional sports team saying that Wagoner didn't cause the problems, but when you "lose" as often as GM has recently, coaching changes need to be made.  At worst, Wagoner didn't move fast enough or decisively enough to turn around the giant boat known as GM.  At best, he was doing the things that GM needed to do become a great automaker again.  Regardless, the big deal is the costs of retired employees.  I think that may be too trite - GM promised a pension of a certain size and I believe that they are in trouble now because they can't keep up with the pension payments.  I think that's because they would "borrow" against the pension by deferring some of the payments.  Defer long enough and soon you're where we are now.  The pension and health costs are a huge chunk of every car sold by GM.  I hope that GM can stay afloat as I'm encouraged by some of their upcoming products like the Volt.

The point of that rambling was that it is good to see the government stepping up and doing something at this point.  Hopefully they will start doing that in the financial areas where they hold more shares or gave more money.  Frankly this would be a good time to make some corporate governance changes all over - maybe regulatory changes is a better phrase.  There is a problem with publicly traded companies: they have to maximize profit.  The way things go, companies are obligated to produce the maximum short-term gains to satisfy the market.  If the regulations were altered to allow for companies to keep investing in themselves - to be able to legally make choices of long-term growth over short-term profits - I think we'd see a better economy.   The emphasis on constant growth - always bigger, with bigger returns obligating larger following returns - leads us down this rat-hole of boom then bust.  This is just a vague idea at this point, no really suggestions or plans.  I'll try and revisit this idea later.

Sunday, March 29, 2009

Contemplative Sunday

Today was a relatively big day in our household, what with the skating carnival.  Today is the last day of ice in the local arena and the skating club held it's carnival.  They had all the kids taking lessons of various types put on a show.  My youngest son has been taking lessons - most likely on the "pre-hockey" track, but it's too early for that - and his group got dress in costumes and skate around.  It was pretty fun to watch, plus there were some pretty good figure skaters and a couple of synchro teams.  Pretty nice event, so I suspect I'll be going to this event a few more times.  That will turn into a certainty if my wife gets into skating a little bit more.  Maybe they won't make here skate with the 6-year-olds that are in her class though.

Yesterday was Earth Hour and I completely forgot about it.  I try, though not too hard, to reduce my resource impact.  Mainly because it is good for everyone - me, my kids, my wallet - everyone.  Not being wasteful is just good in general, so I question the steps that so many took to reduce usage.  Maybe if we, as a society, enacted a few changes, we'd use less energy.  Biggest thing would be this stupid daylight savings time switch.  A related idea would be go to bed when the sun goes down and get up when the sun rises.  That would eliminate the need for many lights around the home and stop the stupid clock moving for no good reason.  Next, if most people go to bed near sunset, we wouldn't need so many outdoor lights at night.  I have felt that streetlights and so on are light pollution.  If we wanted to live closer with nature, we need to respect natural rhythms, like "day" and "night".  One final thing about "Earth Hour" - the building managers at my office were going to turn off the lights for the hour.  Why can't they do that all the time?  There are many light fixtures on each floor so turning them off at night with the option of switching them on when necessary, would go a long way to reducing usage.

The last thing I've been thinking about is US Banking regulations.  I remember hearing recommendations over the past few months for changes to make financial institutions in the US more stable - more like Canada.  Here in Canada, our strong regulations were scoffed for many years, until all hell broke loose and we're now hailed as the wisest one on the block.  The Current had an interesting set of guests who pointed out that Regan proposed, G. H. Bush and Clinton implemented, the removal of similar regulations during the late 1980s and 1990s.  The regulations in the US that separated certain financial roles, set minimum liquidity requirements, and who could receive mortgages.  These regulations were established after 1929 but were pushed aside in "near total" deregulation proposed during the Regan administration.  Funny "coincidence" - Alan Greenspan was someone brought in by Regan.  Looks like we can pin a bunch of stuff to Regan, but I think the removal of the regulations was something that should not have happened.  No need to blame someone - just realize that the government had to work to change those rules and it was the wrong choice.

Saturday, March 28, 2009

Interesting posting number

This posting will tie the total number of posts I've ever done in a year.  Yes I realize that it is very sad that I write about writing a thing that no one will read.  The absurdism is not lost on me.  Nor the delicious ironing.  But it feels somewhat significant to me, as the main reader of this blog it is therefore an important milestone.  Deciding to write a little every day definitely effected this - it was simply a matter of time.

Anyway, meta-self-reference aside, it was an interesting day.  I went out to get my skates sharpened, but found out the guy who normally does them is away until April 10.  No matter - I headed in to another sports store to try their sharpening process and have a look at some inline skates.  My wife has indicated that she would like to try doing that now, and I think it sounds like a good family activity.  So I went to the store to do some hands-on research.  I found out that my youngest son is a Jr. 10 or 11 and my older son is a 13 or 1.  Basically it translates into their two smallest skates - but they are adjustable through multiple sizes.  I'm pretty confident that I'll be able to get those skates and they will have inline skates.  For myself, I tried on a pair of size 5 boots, but they were a little constricting, so I'll probably just move into the smallest Senior size and that should be good.  All told, it'll be about $500, plus tax, the way I'm figuring it.  I could be wrong, depending on sales and such.  But I'll way until my hockey buddy, the store manager, is working to see what he recommends.  He appears to be very knowledgeable and has been very helpful in non-skate related ways.  

Two more things though.  I went looking for a stick while I was there because they advertised an end-of-season sale.  I found one of the type I like, but it didn't appear to be on sale, so I left it.  I still have two reasonably good sticks, so no need to spend money at regular prices.  The second thing is the skate sharpening.  Now I understand they have an excellent sharpening system, but I have never used it.  Apparently they have the equipment to create a pro-style groove on the blade, but I didn't want to get that.  I just wanted to keep my current radius of groove and see how things went.  Well, the burrs and schmutz on the blade and then in my finger built a whole new respect for the guy who normally sharpens my skates.  He carefully wipes down the blade, goes over with a finishing stone, wipes, measures, wipes and is done.  After the sharpening steps.  This was apparently missing here - and I think I know why this normally wouldn't be a problem.  Most skates use the same blades, (Nuuk brand I believe), where as I've noticed my new Graf skates use a much harder steel.  That increased hardness probably allows the burrs to form.  The guy who normally does my skates also does repairs and he will install his own custom-made blades that are harder and stiffer than the average blades.  So he probably knows how to handle the harder blades.

Friday, March 27, 2009

Friday - it's not my fault.

Just a little joke from today - a new theme song for our group at work I guess.  Re-did the lyrics to "Friday I'm In Love" by the Cure to show how a bug is not because of our team.  The things you have to do to stay sane...  But it is the end of the week again and that's a good thing.  Did a lot of typing today at work which is why I can type this on autopilot tonight.  Nice and smooth flowing output - don't think, just move those crazy fingers.  So very tired.  Pretty productive at work, what with all the typing and all.  Just to be clear, typing means I wasn't doing software development.  Software is not written with much typing - everything is autocompleted or copied or referenced or whatever.  You spend more time staring at the screen then creating code.  At least if you're careful you do.  I've seen some people that code as fast I type these blog posts and the reason they are so fast is because the end up doing the same thing many times.  They tend to throw out and redo whenever there is a bug.

Hockey was pretty good today - I think I got a goal, but I don't remember.  I do remember making some nice passes that ended up as goals and that is probably more important.  One of the benefits of shooting all the time is that defenders assume you'll always shoot.  Problem for me is that I spend so much time lulling them into a false sense of security that I don't get enough practice passing through traffic.  

There's been some talk around the house about getting some inline skates, especially since my wife is liking her figure skating lessons.  I think she's going to continue her lessons over the summer, but inline skates would be something we could get the whole family doing together and that is a rare and special thing.  Getting outside is important and we definitely don't do that very well as a family.  I think it will be a good investment.

Thursday, March 26, 2009

Week end approacheth

The end of the week is rapidly approaching.  "Rapid" is more a perspective thing, but whatever - I think it's headed this way quick - so there!  It's not moving at breakneck speed yet, but whatever.  I did read on Slashdot that Mythbusters is trying to test the phrase "knocked his socks off" by using a dummy, socks and 500 lbs of ammonium nitrate.  Let's say the townspeople didn't expect the Spanish Inquisition, er, window-shattering kaboom.  No word on the state of the socks, but maybe they'll do "breakneck speed" next.

Got pulled into a call with lots of far-flung people at work today.  I think the call was pretty productive, considering the diverse group - offices from all over North America, representing parts of the product with potential conflicting requirements.  I felt like I was able to productively contribute a few times - clarifying instead of fogging issues.  It's nice to leave a meeting and have the feeling that everyone shares the same perspective on things.  Never lasts long, but it's nice and it is productive.  I'm optimistic about the upcoming project this meeting was related too - the different parts of the company will be united with a common set of tools and, hopefully, common procedures for using those tools.  Breaking the isolation of each part of the final product will lead to a better result and I think everyone believes that.  Well, the people at the higher levels do and that's good enough for now.

After I got home I took my son over to his friend's house to play after dinner.  He's visited this friend more frequently since the boy's father passed away.  I really can't imagine how they are doing, but they seem okay at this point.  I have a feeling they'll be playing together more often.  Plus they had a good time - pointless running followed by Super Smash Brothers Brawl - very nice.

Wednesday, March 25, 2009

A Wednesday

Another Wednesday has pretty much passed on by.  Got out for hockey today and it was pretty good, except that we only had one goalie.  Our pool of potential goalies is much wider than year ago, but we haven't been having tremendous luck.  The regular goalie, my co-worker, has been off for some time.  Recently he was on vacation (last week) and got ill after the vacation (this week).  Before that, he was off for awhile with a hockey-related skin infection.  The thing is, before this year he rarely missed a game, and never more than one.  So it seems like things on the goalie front are worse, but not really.  He's had a string of bad luck and hopefully things will get better when the regular season for hockey finishes at the end of the month.  We should get more skaters and more goalie availability.  Hopefully.

Tonight, my younger son went to his first Beavers meeting.  My wife went with him and I think he had a good time.  She thought he wasn't sure about going at first but promised to go with him.  He got over any issues early on I think.  I guess he'll be ready for next year as they don't have many meetings left - 5 weeks and then nothing until the fall.  Oh well - lots of time for him to get really ready.

And that's pretty much it.  A Wednesday.

Tuesday, March 24, 2009

Another work day

Back to work after a Monday off.  Kinda weird today - working from home even!  It's weird because I don't have my work laptop, just email access.  But that's enough to be able to get some kinds of work done.  Gotta get to bed relatively early tonight as I'm off to hockey tomorrow.  Although that's been pretty weird for the last little while as well.  We have a larger pool of potential goalies, but a hard time getting any two to show up.  We had 3 one time, but mostly between one and two.  I didn't think that there'd be a  problem this week, but our regular goalie wasn't around.  He may still be on vacation, neglecting his puck-stopping duties.  Oh well - there are still enough people coming out who will play, even if there aren't goalies, so there ya go.  The other problem is that we'd have to cancel by Monday night if we didn't want to pay for the ice time.

The other thing I wanted to mention briefly is the comments made on the Fox News program Red Eye.  I say briefly because the kind of puerile drivel that oozes out from Fox News is not worth listening to.  But apparently The Voice on the Current was able to stomach enough of it to come up with this:

It's Tuesday, March 24th.

Fox News host Greg Gutfield says he did not intend to disrespect the brave men, women and families of the Canadian military when he suggested all Canadian soldiers in Afghanistan want to do is yoga, paint landscapes, and run on the beach. His comments came just before four Canadian soldiers were killed in Afghanistan. 

Currently, Canadians say that just because Fox News is full of venomous right-wing ideologues with an infantile sense of humour, in no way does that mean we think any less of its high-quality journalism.

This is the Current.


I do believe that The Voice hits the nail on the, er, head there.  Pretty sharply too.

Monday, March 23, 2009

Are you a man?

Are you a man afraid of injury?  Especially... down there?  Is a tight bundle of fear preventing you from getting that vasectomy and filling your mailbox with endless paternity suits?  We can help.  Here at the Hurts-A-Guy Institute, we can remove that fear.  

Cower no more - Hurts-A-Guy knows that so many males are afraid of that special masculine pain.  We begin our program with selected videos, first classic silent films then work you up to "Emergency Surgery Bloopers."  Soon, you too will be able watch "Man Being Hit with Football" for the stellar photography.  Step two is "The Sideline" where anything from the errant 5 year-old-headbutt to the banana peel gag-gone-wrong will help you really experience what so many merely stumbled into before.  Next, our is "Whoops I forgot my cup" where 'Taking one for the team' is the focus.  Everything from missed soccer tips to annoyed MLB pitchers is presented with an intensity that will surprise!  For the truly advanced, there's "Hazing Gone Wrong" and "Hand Me My Cricket Bat" - the Hurts-A-Guy Institute has something for every man.

Milicent Fillmore, founder and President of the Hurts-A-Guy Institute: "So many men I've run into simply crumple in the face of certain strikes.  It removes their self-esteem and makes them feel like less of a man.  I created the Hurts-A-Guy Institute to correct that - to make sure every man can take one in the pills and keep on truckin!  The intense Hurts-A-Guy Institute program will deliver - it will make a man out of you!"

So call us today at the Hurts-A-Guy Institute.  We give you the tools and training to be a real man - a man who can overcome man-sized man pain.  Our highly trained and bonded sadists will skillfully strike the right balance to bring out your inner masochist.  Call the Hurts-A-Guy Institute at 1-800-1-NOFEAR for a location near you!

Posting the first

Well, I noted that I'm going to make two postings today, so I think I have a topic for the second one.  It will be some fiction I was considering today while sweeping out the garage.  Much more interesting than my day off.  I picked up some wheel covers (the Saturn dealer misplaced them last week, but found them the next day), went to the passport office (twice) and got some good old Pad Thai (422a) and a Vietnamese Coffee Avocado Smoothie (26) at Pho Ben Thanh.  Bought some cat food - apparently the hard plastic jugs are being phased out for paper bags.  I suspect that plastic is expensive.

I tried to slip it by you, the reader, but you probably recognized that I shouldn't have needed to go to the passport office more than once.  Well, if you don't have proof of citizenship you do.  I thought I checked everything carefully to make sure I had all the ID I needed, but the summaries never mention the proof of citizenship part.  Kind of obvious I suppose, but not something I remembered until I saw everyone else in line fingering their certificates.  Oh well - didn't take very long either time, so I cannot complain in the slightest.  They have a good system - a triage first to make sure you have the right forms and correct supporting documents.  Evidently I used the system more completely than most.

Anyway, I'll post up something else soon - it needs to be written yet.   That's not saying much - I find I'm more effective creatively when I just sit down and start writing.

Sunday, March 22, 2009

Day missed... oh well

Missed posting yesterday.  I kinda planned to post twice today, but haven't yet.  I suppose I could post twice tomorrow, as I took the day off!  Kinda nice to have a rich bank of vacation hours, allows me to take the occasional day off without touching a nice reserve.  By nice reserve, I mean more than two weeks.  Probably going to need a couple of weeks some time in this calendar year, but not for a particular vacation.  I should also start banking/planning/reserving some time in June as my wife's ten year wedding anniversary is coming.  Ten years married to me.  No snickering in the back. Of course, since she reads this, I can't really discuss what it is I'm thinking about.  But the you, the enlightened reader, will know that there is a rich tapestry of ideas bouncing around inside the ole noggin.

Tomorrow I've got to head out and pickup the hubcaps for our Saturn.  Got the "summer" tires out of storage last Thursday, but they didn't have the wheel covers.  Found them Friday so I said I'd get them tomorrow.  Then I'll be heading to the passport office and renewing the documentation.  Let my old passport expire when I wasn't doing much travelling of any sort, so it's time to renew.  This is the year that Canadians will be required to show their passport when crossing into the US.  The month isn't important, although it isn't this month.  There's also some talk of a grace period, new provincial driver's licenses and such but I'm going with the passport.  Apparently some decent majority of Canadians hold a passport so it is less of an issue than with Americans.  Looks like those attacks in New York 8 years ago did their job - made things harder for everyone here.  Spend lots of money on things that don't have a huge impact.

Such things aren't good to end on, so I'll mention that I had a wonderful time at my aunt's today - saw my cousin and his kids.  Haven't seen them for awhile and it was a nice time.  Even got outside and kicked a ball around.  That's a good thing.

Friday, March 20, 2009

The end of the week.

Made it to another Friday.  Pretty nice and relaxed by Friday night and that's a good thing.  Missed most of Dollhouse, although this looked like a pivotal episode.  You know, the kind that takes the subtle layers of the story that they're gentle revealing and pushes them aside to reveal further layers.  In a different direction.  But I really can't say because I didn't catch the whole thing!  Good tv though.  I missed that stuff because of my youngest son was playing with his friend down the street and didn't get back until after 9pm.  Pretty late for that little guy - he was asleep before I finished the second page of his story.  Nice to be able to just climb into bed and then bam - sleep.

The bailout maelstrom continues.  The CBC tried to link a retention bonus plan approved for Nortel to the AIG bonuses.  Not really a strong correlation since Nortel is in bankruptcy and is supervised by its creditors and the courts, whereas AIG just 80% owned by the government...  I appreciate the point that the retention bonuses were only for Nortel execs ("key employees") at the expense of severance for all the laid off employees.  The logic for the retention plan makes sense, a bit, in that the company and creditors want to make sure the people that know what's going on at Nortel stay long enough to keep it going and make money again.  I would be bitter, though, if I didn't get any severance because I was laid off during the restructuring.  Let's see though - if they gave $10,000.00 to each of the 5000 employees, that's 50 million dollars.  That's about what the pool of retention bonus money is.  I would like 10 grand if I were laid off.

Playing with compensation numbers is why this xkcd comic is so funny, although definitely 18a for the punchline.  TV and radio coverage of the AIG bonus situation shows the bailout numbers (180 billion) and bonus numbers (165 million) together, making it appear that most of the money given by the gov't went to bonuses.  Not true - the values are vastly different - but I think this still misses the point.  The amount of money paid as salary to some of these people is mind-boggling.

The average income in Canada, in 2006, for families with 2 earners was $81,700.00 (values taken from the first line of this Statistics Canada table).  That's 2 or more related people living in the same house, pooling their money.  From the same table, a two parent family with children under 18, one earner: $66,300.00.  That's before taxes.  Now the AIG bonuses range from $1000.00 to $6.5 million, so let's pick a nice value of $2 million.  If you took $2 million dollars and just gave the money to families, you'd keep 24 families going for one year.  Plus you'd get to collect tax from them!  You'd keep 33 average families with 2 parents, some kids under 18 and one wage-earner going.  With the total AIG bonus pool of $165 million, you'd keep 2019 average families going for a year.

Now let's compare $165 million to the $180 billion bailout.  The last GIC I renewed, I counted myself lucky to get a return of 4% per annum.  If I had invested the $180 billion in one 4% GIC, I'd make $7.2 billion in one year, or $600 million in one month.  Which is why the AIG bonus money looks ridiculous compared to the bailout itself.  With the interest from the bailout, we could keep 88, 127 families going for a year.  That's 352, 508 people, assuming 4 people per family.  That's the interest at 4% on $180 billion.  If we used the $180 billion, that's 8.8 million people (assuming 4 people per family).

Anyway, you can see why people are so upset.  The average family with one earner makes about $64,500.00/year before taxes.  It would take 31 years to earn $2 million dollars.  This is the kind of magnitude that gets people upset when they hear about the AIG bonuses.  I hope those that say "I didn't think we could break those contracts" think about that because when people get made, more than contracts get broken.  Not to mention that if people get mad enough, laws change.

Thursday, March 19, 2009

More money - gone!

Why money gone?  More like maintenance costs go up - our second car required new tires, so I had the dealer put them on after the oil change.  Greatly increased the cost of the service, but whatever.  This was the first year we put winter tires on that car so I don't mind spending money on new "summer" tires.  I'm hoping they will last for some time given that they won't be driven on in the winter months.  Also known as "road divot season".  One small problem - as they handed the key back, I was asked "So you kept the hubcaps at home then?"  Which was funny because I didn't.  I paid the dealer to store my rims, tires and hubcaps while I drove around on my winter tires and winter rims.  Apparently there is only one guy per room, or one guy in a room or many rooms each with a guy, that carefully watch or observe the tires.  The guy from my tire's room had gone home for the night, so the hubcaps couldn't be found.  They will be discovered eventually, I suppose.  They offered to drive out and put them on, but I may swing by and simply pick them up.

In other news, I'm considering founding a business to dismantle bank signs, as they are doing very well.  In the states.  On 30 Rock.  It's a good show and I'd like to annoy Tracy Jordan somehow.  Good show.

Wednesday, March 18, 2009

Free Markets

I haven't heard many people tell this to me directly, but I do know some people that believe a free market is the best system there is.  Best in that it will find the optimal way of doing things by providing the best service for the best price.  It also occurred to me that this whole AIG bonus whoo-haw is an example of the free market isn't always the answer.

Listening to the current CEO of AIG, we discover that he doesn't feel he can break the contracts that allow people to get bonuses even though the company did so poorly it nearly ended civilization as we know it.  Well, the fiscal part of civilization anyway.  These people had contracts that would reward them huge sums if the company did well - which it did for many years.  Those same contracts also paid out smaller sums if the company did not do so well, a sort of floor function that guaranteed a minimum return.  Applying free market principals to this situation, these bonuses should be mind-boggling if the company does well, but when the company does poorly... well I had people suggest to me today that they should pay the company.  That does sound very free-market.  But that isn't what happened.

The problem was in that the market and financial traders and so forth are not really free markets.  There are rules and protections - necessary things to keep us greedy buggers from screwing everyone else over.  But this situation shows the lack of accountability that permeates work culture.  My dad would say that the American "system" would hire people and pay them large sums of money if they did their job.  If not, they could be let go at the drop of a hat.  There are some companies that behave like that - reward productive employees and trim the others - but I don't think that's typical anymore.  I think that employees expect good compensation when things are going "well", but also guarantees when things don't go well.  Hence the idiotic concept of a "bonus"  that is delivered every year.  That's where these AIG people are.  That's what the GM CAW members gave up - a yearly bonus.  It doesn't even fit with the idea of a bonus if you get it every year - it's simply a chunk of money that's given at a particular time all at once so you get taxed at several tax brackets above your average one.

Let's see if we can change things.  Start slow - give out a bonus if the company does well.  The better the company does, the bigger the bonus.  If company misses targets or whatever, no bonus.  Then we can move on to bigger things, like how to lend money and get back the result plus interest...

Tuesday, March 17, 2009

Hockey?

Made it back to the gym, completing my regular three-workout-variation cycle.  It only took two weeks this time!  Yea!  Unfortunately, I can't head back until Friday, which should be a hockey day but isn't.  Tomorrow will be a hockey day, but it is turning into a strange one.  I didn't get things together Monday so I couldn't cancel with enough time.  So we are heading into hockey without goalies.  Well, until a few minutes ago when someone volunteered to take the net - which is awesome!  Still, we only have one body for the net.  I don't think it's a great idea to spend $40 on a second goalie at this point.  Ah well.  It's St. Patrick's Day, or the day that everyone likes Irish stuff stuff.  Or green stuff and beer.  Or green beer.  Or just beer and it's an excuse to go over the top mid-week.  Guess those people don't rejoice when St Paddy's day is on a weekend.

Anyhoo, off to get a hint of Irish whiskey and celebrate the day.  

Monday, March 16, 2009

Weird topic

As a Canadian, I feel that it is a waste of time to save America for a Korean car.  I mean there's already a Canadian on the job, Keifer Sutherland, and seeing as he hasn't been jersey'd or given a penalty, I feel he can handle it.  At least that's my response to those ads that tell me I can win a Kia Soul if I save America in some game.  My wife's response was "How many Canadians does it take to save America?"  Several of the actors on "24" are Canadian, so it is a fair question.  Our infiltration of the United States continues unabated, and given the readership of this blog, undetected.  Canadians have long perfected the art of not being noticed in plain sight - also known as "the Canadian movie industry" or "Canadian celebrities."  These are highly trained individuals who do tremendous jobs for pennies a day and still are able to walk without fear among us.  After rigorous training in such far-flung reaches as CBC Iqaluit and CBC Toronto, mental toughness and resourcefulness is proven. Then they may move to the United States and continue the work of making cookies saleable, hair growth plausible and hemorrhoids bearable. Soon they're out there helping the less fortunate to roll up their rims, even without that little roll-up tool (available only at Lee Valley).  Once Timmy's has marched across the continent, we will have the perfect platform to launch our polite form of banking regulations and save the fiscal world!  Yes!  No more will there be stock options and cash bonuses for the AIGs of the world - no, just TimCards and free donuts for the executives.  They'll have they're gooey balls of dough and be happy - happier than racing around in their BMW 7-series cars looking for places to hide their giant ball of cash.  Failing that, we'll have introduced hockey to all - then, at the stockholders vs executives fun-game during the annual general meeting, we can introduce the finer points of how fighting helps everyone to learn how to play fair.  After a few encounters with George Laraque, I think those AIG execs will understand how upset we all were at the dirty tricks they played with our money.  Also, it would be pretty funny to watch boomers who don't know a puck from a hole-in-the-ground try and stand up on skates. 

By the way, my wife informs me that she will be forsaking her Irish heritage (whatever fraction Irish she is) by wearing magenta tomorrow - aka the opposite of green.  Which reminds me, I should find something green to wear tomorrow...

Sunday, March 15, 2009

Ahh, Sunday...

Beautiful day outside today - actually saw some people without jackets hanging around outside.  On of my neighbours out on their driveway, sitting, watching the kids play.  Very much a summer/warmer-weather thing.  Can't really sit outside when it is windy and cold.  Or raining.  Oddly enough, we went skating today - something my wife is really getting into.  My oldest son didn't want to skate, but we didn't force him  'cause he was at a Cub camp for the last few days.  Likely pretty tired as it was, so no need to push him.  Getting near the end of the ice season and it was such a nice day that the pad was pretty barren.  Took more energy than I thought because I pretty much passed out on the couch afterwards.  Naps are good too.  And, well, here we are.  Tomorrow's gearing up to be interesting at work because of the lockup issues we are pursuing and it's March break, so there yah go.

Saturday, March 14, 2009

Finally - Watchmen!

Well, last weekend was a bust for Watchmen, but this weekend met with more success.  The only hiccup being that the concession didn't have the frozen yogurt I enjoy - the machine was broken.  The movie, however, was pretty darn good.  I read "Watchmen" for the first time a few months ago - late 2008 - and I purchased a copy for myself last week.  I've been re-reading it on and off for several days and I'm not through it again, but I'm pretty familiar with the source material at this point.  Maybe not all the nuances and subtleties, but the surface story anyway.  Given that, I think the movie did pretty well, telling a big story pretty well.  There were minor deviations for the original material, but those were not large and I would guess make more sense to the movie crowd.  The idea to keep it set in 1986 was a good one, and it works because of its "alternate reality."  The movie succeeds in keeping with the source material, rather than creating a story with the same characters (see the Ang Lee "Hulk" for a counter-example).  I also think the story succeeds as a movie in a visual and pacing sense.

As I left the theater, my friend opined that perhaps the movie was too long.  I think I agree with that assessment, in the sense that if you know the source material, it is not too long.  If you are coming to the story cold, it may be a little much.  That being said, I have no idea what I would trim.  I think it's good that there are some flaws - especially this kind.  The only disagreement may be with the length, but the pacing was good and the visual, acting etc was excellent. 

Conclusion: go see it.  Don't take your kids, unless they could get in on their own.  Excellent movie.

Friday, March 13, 2009

Code and stuff

This is post 191 - a nice 3-digit prime.  Don't really have enough posts to stretch the checking necessary - 191^(1/2) == 13.82... That means I'll have to wait until post 289 until the next prime past 13 needs to be checked.  Anyway, I spent the day working with code - something that hasn't happened in a while.  Always seems like a shock, but there you go.  People still don't believe me when I say that more time is spent debugging and testing than writing code.  Or designing code.  Or whatever with code.  Some stuff to look at though - something applicable even outside the small domain of our business - a thread pool.  I didn't find the bug, I didn't come up with the fix, I just applied the fix to the correct branch and added some comments.

Frankly, I'd like to be able to add some more tests before going forward, but I definitely didn't have the time now.  I know this sounds like an excuse - we are approaching a release - but there has to be balance between what should be done and what I'm being paid to get done.  In this case, the situation called for a targeted fix, so I relied on existing unit tests to verify the change.  Ideally, I'd like to spend more time checking the unit tests to make sure that items weren't missed, but that wasn't practical.  Next week is a different story however...

What's worse is that this issue is related to a low-frequency, high-impact bug that our team hasn't isolated yet.  I think that next week I'll try looking for it by writing more unit tests.  I have a feeling that may be the most reliable reproduce scenario - one that I create out of thin air.

Discovered something else near the end of the day, related to something I've seen often - improper shutdown/exit of software leads to problems.  This is an issue in embedded development, where restarting a problem subsystem is a good uptime strategy.  The Qnx operating system uses this philosophy, where the microkernel never goes down, but the real work is done by processes that can be restarted as appropriate.  Since everything, including device drivers, are "processes", a device driver upgrade consists of putting the software in the right place and "restarting" the driver.  Being able to shutdown and restart a small piece of functionality is akin to modular programming.  Unfortunately this modular, restartable philosophy was not something hammered home at the beginning of this project, so this issue keeps recurring.  I also think that being able to stop and restart a module without side effects demonstrates good modularization qualities - particularly isolation.  It means that the writer and designer of the piece of software has considered its interactions and resource requirements and they are well identified within the code.  Losing sight of these things means that module can be shutdown, but not restarted.  

Well, I guess that is something I'm going to have to talk-up at work.

Thursday, March 12, 2009

A big day

Today is skating day in our household.  Skating for my youngest son and, lately, my wife.  She decided a few weeks back that she should take lessons to improve her skating skills.  Over the past few years she slowly got into skating - something that was difficult as an awkward child.  Concern was expressed that  staying upright would be difficult, but wrist guards and knee pads paved the way to confidence.  Now, wait for it, Stage 2 is upon her!  One of the benefits of taking the lessons with the kids (children under 10 for the most part) is the badges.  Success breeds success, so she is enjoying the whole experience.  I think it's great as she really isn't a sports person.  Myself, I enjoy hockey.  I play it all the time and it is an expensive hobby, but well worth it.  Having something to do on the ice as a family will be great!  I'm really looking forward to next winter and being able to all go to the arena and have a good time.  I may try and rent the ice during the summer for the family to come out and have fun for an hour, but that may be pushing it. 

I didn't listen too closely to the news today, so Stephen Harper didn't bug me.  Didn't really run into anything too contrary at work, so I guess it was a good day.  I'm not certain because I don't really have any stand-out recollections.  Going by the maxim "no news is good news" the day must have been good.  Friday-ward ho!

Wednesday, March 11, 2009

Finally!

Today I was rewarded for reading Slashdot - I found this article.  It explained, using better examples and more tv-business-savvy, what I've been saying for years: Fox is messing with me.

Okay, maybe not just me - lots of other people too.  Ever since Firefly and Futurama debuted and then were run off the air, I was convinced there was a secret Fox plot to produce shows I couldn't help but be obsessed with and then yank them away.  Turns out, as is often the case, I was right.  Right enough that other people noticed.  When Futurama was first on the air, it was an awesome show and I loved it.  Fox had the NFL contract for Sunday night football and Futurama would be preempted at the drop of a flag.  So it would take patient weeks to finally catch a new episode.  With Firefly, the show seemed pretty good, but it randomly was on or not, episodes in some order, but not the right one.  No wonder people stopped watching - it was too difficult!

The same pattern is being repeated with the 3 excellent sci-fi shows on Fox: Fringe, Dollhouse and The Sarah Conner Chronicles.  Two of these shows are parked firmly in the secret tv-series burial ground, Friday night.  Back to back, for extra mourning.  The third, Fringe, which has started to garner solid ratings, is on hiatus for 2 months.  For some reason.  Reality tv I believe it is known as.  I've said it before - I don't particularly like reality tv because I believe in entertainment where the writers are paid well.  And they write the show ahead of time, not five minutes into class like so many grade 6 English assignments.

The author of the above article, Ron Hogan, offers one item that makes some sense.  Fox doesn't seem to know a good show from a bad one, but at least the good content creators (JJ Abrams, Joss Whedon, Summer Glau) can't produce good shows anywhere else.  I know Summer Glau is not a writer, producer or director, but she's good content all on her own.  See this xkcd comic for further proof.  So basically Fox is holding all the good stuff hostage, but isn't issuing any demands.  They taunt us with the occasional glimpses, but you have to keep your eyes peeled because it may show up at any time...

So summary: Fox has good content but refuses to let anyone else see it.  Even if they want to give good money for it.  Maybe blog posts can change things.  The power of bits - it's in you!

Tuesday, March 10, 2009

Stupid federal budget

I heard Stephen Harper gave a press conference today, chiding the opposition to hurry along and approve the budget if they really cared about delivering stimulus to the Canadian people.  There are two things wrong with that:
  1. If approved today, the budget doesn't come into effect until Mar 27, so whatever.
  2. The budget bill includes environment regulation changes and other modifications, resulting in a 500 page document.
I agreed with the sentiment I heard from a senator - if the Conservatives are so concerned with getting a budget going, why did they prorogue parliament?  Also, it smacks of dirty tricks to bundle lots of non-budget changes in with the budget and then publicly berate people for considering it carefully.  This is a similar trick to the political party financing changes Mr. Harper tried to make late last year and caused the opposition parties to unite.  I'm starting to agree with Jack Layton - his opinions only - that Mr. Harper isn't to be trusted.  He was cowed, censured (privately) by his own party for the mistakes leading up to prorogation.  And still he continues with the style that caused the upheaval.

It really bothers me when Mr. Harper grandstands like this in the media.  In his first term as prime minister, he refused to talk to reporters, except on his own terms.  Even now he only speaks when it serves his purposes.  His communique plays on the ignorance of the public - that people only listen to his version of events.  If Mr. Harper was concerned about speed and effectiveness, he would try harder to cooperate with the opposition parties and he would have made a budget that only contained budget items!  My own ignorance as to the contents of this budget bill also bothers me - I can recall some suggestion of the complexities of the budget bill, but that was glossed over in the warm glow of Liberal-Conservative non-fighting.

Monday, March 9, 2009

Post 187

Well, number 187 is not prime - I'll say it out right.  The square root is > 14, so 13 is the largest prime to test.  Turns out 11*17 = 187, so there you go.  But it is our little primality test to kick things off.  On a brighter and more personal note, I made it to the gym today, after many abortive attempts.  Hopefully I will make it tomorrow and things will be good.  Not going is easy, but after going I always feel so much better and I wonder why I don't go.  It is very weird.  Must be kind of like smoking - many people say they know that smoking isn't good for them, but they keep doing it.  When they finally quite for a few weeks, they see how much better they feel and wonder why they didn't quit before.  The reason is a little more obvious for smoking - there is a physical addiction component.  I'd think that the gym-attendance would be more along the physical addiction track but laziness is obviously the stronger factor.  It's like we say at my house - greed and laziness are the mothers of invention.

Always confused me that "necessity is the mother of invention" because it is so obviously wrong.  When people are in real need, they grab whatever they find at hand and adapt it to the need, kind of like using a hammer to drive screws through the plywood to seal your house before the hurricane.  Innovation requires persistence, like when a better version of an existing tool is created.  If you needed that better tool to operate, you couldn't have started!  Instead, you use what you have and the irritation at the fact whatever you're doing could be easier grows until you create the thing that will make your life easier - the invention!  Think of Thomas Edison, who worked his lab mercilessly and used the media to crush his opponents - that's greed.  He wouldn't go to that trouble just because he could make new things - those new things were sold for money that he could use!

Well, there's the mid-post rant - here's the political one.  President Obama announced that the US government will now sponsor embryonic stem-cell research.  I think it is a good thing to pursue research.  What Bush specified was very limiting, not allowing for much variance at all.  I heard some comments from people opposed to this research, all talking about the dangerous moral and ethical grounds.  I think such research needs ethical guidelines, but some of the reasoning didn't sit well with me.  For example, the claim that such research could result in more abortions.  Linking the embryonic stem cell research with abortion is attempt to create moral outrage where simple guidelines would suffice.  I wonder if the same people that are opposed to abortion are opposed to all other fertility protocols, because they have more abortions and ethics to worry about in that area.  Anyway, I think that this current path is better than what came before.  

Sunday, March 8, 2009

Another Sunday

I forgot about the switch to daylight savings - thanks again for a stupid time change Mr. Bush - until I woke up this morning.  I thought about it Friday, I thought about it Saturday, I went to bed early Saturday night and forgot to adjust the time on my watch, alarm clock and so on.  But it's alright now - the time moves early on a Sunday for good reason.  Other than that gaffe, I had a pretty good day.  Spent the early part finishing off V for Vendetta, but haven't made it through the background material yet.  Got some good drum practise with Rock Band in.  Made it to the grocery store for one of my trademark "big" runs.  I came out of it pretty good.  Helped my parents access things online.  But now it is the end of the day and I must do some gaming - something neglected for most of this week.  Monday awaits...

Saturday, March 7, 2009

Moore Day

Pretty slow day today - nice to relax and read for most of the day.  After my disappointing Watchmen attempt, I decided to start reading "V for Vendetta" today.  I'm about 220 pages in and it's pretty darn good.  I'm enjoying it highly.  Also watched the latest Futurama movie - the last in the series of 4 - The Wild Green Yonder.  First impressions are that it's definitely better than the 2nd and 3rd movies, and possibly the best in the series.  Can't really make that call until I watch it more carefully - I was busy doing chores while it played.  Also watch Madagascar 2 - and I approve highly of that.  Really good - love the penguins.  Anyhoo, that's about it for tonight - I'm bushed.  I'll have to make sure I get things done on the ole compu-trolla tomorrow.

Friday, March 6, 2009

Late posting....

Little bit late - using the ole blogger trickery to make this post for Friday.  No big whoop.  Anyhoo, I had lots of stuff planned for today - getting my wheel fixed, going to buy "Watchmen", going to see "Watchmen".  I hoped to be giving my impressions of the movie "Watchmen", but sadly all showings were sold out by 8:45pm.  Which is pretty impressive - so I'm not sure when I'll be able to see it!  So instead, saw the movie "Taken" with Liam Neeson.  I liked it - good action film.  Nothing too deep, other than listen to your father.  The CIA operative, not the rich step-dad.

As for my car, my rim was not dented as badly as I feared and required a few blows with the hammer to straighten.  Got that done, balance checked, wash for $22.  A very small service - I'm used to spending no less than $120 every time I take my car in, so this is a welcome anomaly.  I still have to get a new wheel cover, but I'll wait a bit before I get that.  I should explain that my car uses synthetic oil, so even an oil change runs $80, although I only have to do it every 10 or 12 thousand km.  For me that's about 6 months, so it's cheaper than $29.99 every 2 months.

Fortunately I was able to make it to the bookstore and got a copy of the "Watchmen" graphic novel, along with "V for Vendetta".  I've been curious to read more of Allan Moore's work, and I'll have to find "From Hell" eventually too.  I've seen the movie versions of "V for Vendetta" and "From Hell", but heard that the graphic novels were much better.  I borrowed a "Watchmen" 6 months ago and it was good, but it needs multiple readings.  Which is why I acquired my own copy.  So off to peruse those and then to bed.

Thursday, March 5, 2009

Amusing Anecdote

Today , as I am feeling much more coherent than the last few nights, I will present a more coherent entry.  During my normal, waking life I often pilot my own vehicular transport, terrestrial transport module, or car.  This is a tale of transporticus interruptus, car troubles of a chilling nature.  Maybe a chilling-warming-chilling nature - you decide!

Two days ago I was heading home from work.  I was in the left-hand lane a comfortable distance behind the next car.  As I approached an intersection, the car in front took an odd line through it.  I realized that it was avoid a pothole.   This road defect didn't look too bad and I didn't want to swerve because I wasn't sure if there was a car beside me.  I thought I probably would miss it, but I was wrong - full on with the front wheel.  For a moment, I wasn't sure if the wheel was still attached - perhaps the car was just holding itself up on that side out of habit.  Later I was convinced that I had four wheels still.

The next day after work, I decided to travel the same path, but with the knowledge of the hole, and see if I my wheel cover was there.  I discovered that morning that it was missing.  I caught sight of it, but I wasn't positive.  Looking ahead, I discovered that the two cars in front were not moving, so I slammed on my brakes.  The person loading the trunk (at the bus stop) looked kind of surprised - much like I was.  You don't expect people park and load cars on a road that doesn't have parking or stopping.  Much less to do it at a bus stop.  But I guess that's just me.

This morning, I decided to take a closer look at my wheel - maybe I just couldn't see the cover.  Further inspection indicated that the cover was indeed gone and the the tire was flatter than the others.  Perhaps this was from the dent in the rim - nearly 3 cm deep.  The wheel cover would best be retrieved in the morning, I surmised, after then events of the previous evening.  I parked and walked over to where I saw the cover the night before.  It was not my wheel cover.  I looked around and spotted another - it was not mine.  I gazed more carefully and found the wheel cover in the bushes, but sadly it was not mine either.  It was no where I could find it.

Tomorrow I shall try and make a trip by the spot and take some pictures of the covers and the pothole, if it's still there.  Maybe some municipal workers, or helpful squirrels, filled the pothole with asphalt today.  One can only hope....

Wednesday, March 4, 2009

Maven thoughts, then patterns thoughts

I'm still plodding away at Maven at work.  There was some discussion as to naming patterns, conventions, directory structure etc.  Most of these things weren't ground-breaking, just items that require agreement.  Without agreement, some benefits are lost.  The only point I wanted to see was that modules and Java packages corresponded.  Everyone in my group agreed with that idea, so I went to voice my concern with one of the main drivers behind the Maven efforts.  He said essentially the same thing, but pointed out an exception.  Imagine an interface is described in module I, with two concrete implementations in module A and module B.  If module I uses a factory, it must have special access to module A and module B.  Specifically, module A and module B should be non-public, package protected perhaps.  This leads to having the interface, factory and implementations in one Java package even though logically they three separate pieces.  I wasn't 100% comfortable with the example, but I couldn't identify any flaws in the reasoning.  Then I hit on why I didn't like it - I don't think I like factory classes.

I've used factory classes a few times in the recent past, but they aren't something I agree with as much.  They are hard to test and the classes that use factory are also hard to test.  I think I would prefer each of the modules be a separate Java package with a single public entry point in module A and module B.  The user would be able to determine which implementation to use, instead of putting all that logic in the factory class.  However, either implementation would work and are equally correct.  It also illustrated the point that the name conventions and layouts are guidelines, not rules.  The exceptions occur frequently enough that slavish adherence to particular rules will cause more problems than necessary.  Rather the rules are there to help remind people to really consider why they are using complex constructs.

This brings me to some thoughts on patterns.  The Abstract Factory pattern was mentioned above and my desire to avoid using it comes from a certain unease with ideas of software patterns.  I've previously had discussions with a co-worker who expressed the idea that there is something wrong with patterns, but he couldn't put his finger on it.  I suggested that it was because the patterns don't solve all problems (otherwise software development could have been fully automated by now) and the pattern requires adjustment all the time.  It seems like the problems are fit to the patterns, rather than using patterns to solve problems.  I think that patterns have been used by those that want to turn software development into more of an engineering discipline with common issues that simply need to be recognized and well-known (well-described?) solutions applied.  I agreed that these were my ideas on the topic, but didn't do the unease any justice.  My co-worker has been reading Christopher Alexander's book on pattern language, as Alexander is the source of the ideas adapted to software development.

I suppose the real issues come from those who apply the software design patterns too easily, without first considering the problem.  As time has gone on, I've been adding criteria and considerations to things I need to design.  Things like ease of understanding the result, simplicity of implementation, testability, current requirements.    Also, with the various patterns I've been involved in, they've been customized and adjusted in ways that suggest one of two things (or both): 1) pattern didn't fit and the problem is being adjusted to suit the pattern and 2) so many adjustments are made so that the pattern is only partially there.

Anyway, this is not a well-reasoned argument - it's barely written down at all!  Hopefully I will be able to devote some more thought and then more time to describing some of these things more coherently.  Not tonight though.

Tuesday, March 3, 2009

Blank silence

Confronted with the silence of the blank page.  That, and the silence.  Makes for a quiet emptiness or something.  Whatever it is, I guess it didn't last forever because I can hear typing.  I really need to head of to bed - I've been staying up way to late for no good reason.  Plus tomorrow is hockey and I had to pay for a goalie.  I'm hopeful that we'll get more than 6 or 7 skaters 'cause that's not enough to spread the costs nicely.  I also need to look into getting a new stick or something - the two I have now are still in one piece, but the toe is looking rather misshapen on both.  I just don't know when the sales will start - soon I guess.  Some places get the ice out before the end of March, which means most leagues will be done by then.  Not me - I like the fact the two games I play are every week.  Or almost every week.  Keeps things interesting all year long.

Took a small break to look at Kimota94's page and found his reference to 6 word stories.  I put some there as comments, but here are some more (because I'm really tired and it makes things like this more amusing):
  • Don't go! She cried. So lonely...
  • This sentence is short but complete.
  • Don't decry what you haven't written.
  • Contractions make writing small stories easier.
  • Marshmallows are mellifluous; muffins less so.
  • From the Simpson's: "Brevity is... wit"
  • March madness revealed in small sentences.
  • This sentence is not about itself.
  • "Long enough, it is" quoth Yoda.
  • Curb the garbage, keep wife happy.
  • Deep hole jarred vehicle - potholes suck.

Monday, March 2, 2009

Watching...

Don't have much insight today into anything in particular.  Not that I expect to have many things to say every day in every way, getting better and better.  I suppose I just hoped that I'd be able to yank a topic out of somewhere with a bit more easy.  I don't know why I kid myself so - find the topic is always the hardest part!  Well for me anyway.  I do remember the creative writing assignments I had in grade school.  I could come up with several riffs on whatever the theme was.  One I always enjoyed was the guy with shirt covered in stains from his chicken flambe.  He could be counted on to do unusual things, that's for sure.

The Watchmen movie is going to be out this Friday and a friend suggested in a Facebook update that the midnight Thursday showing should be attended.  There's going to be two showings in London (Ontario, Canada for those arriving via search engine), one at the Silver City and the other at the Wellington 8.  Very interesting.  Anyway, I promised my friend we'd see it Friday, so I'll have to see if he's willing to change the time.  I've only read the graphic novel once - a sad condition which I hope to correct through a purchase this week.  I've come to realize how much I like Alan Moore's writing, so I need to acquire some more of his work and that's a really good place to start.  That and Neil Gaiman.  I've seen the trailer once and parts of the commercials.  I know the story, so I'm hopeful that the visuals will live up to the story.  All will be revealed soon.

On another completely topic, get a load of that Martin Brodeur.  I read this article on the CBCsports.ca site, completely ignorant of his comeback.  Wow!  I agree with the assessment that Brodeur's time off served to improve his game, not hurt it.  Very impressive.  Mr. Brodeur is now within striking distance of Terry Sawchuck's all-time shutout mark and Patrick Roy's career win mark.  With this pace, he may break both at once!  The Hockey Hall of Fame is probably preparing space for him right now...

Sunday, March 1, 2009

Build tools

I referred to the Maven change at my work the other day, but I didn't take the time to describe some of the basic principals that I was using.  These principals generate questions rather than exclude or include things.  As I mentioned in this post, any build tool can be configured to support your environment.  Using that logic, why would anyone move beyond shell scripts and batch files?  That's the first item in the philosophy:

1.  Can this project use the build tool in the way it was designed?
For make, this means try to use only the implicit rules and organize your pieces so that all the interdependent files are within the same directory.  For maven, this means organizing your project in a modular fashion where each of the configuration files describe only the dependencies between the modules.  When you move out of the comfort zone for the tool, you increase the likelihood of mistakes, or design cul-de-sacs.  Every design has certain features that shape it, and those features exclude other items or make them difficult to achieve.  Using Maven to build a project developed entirely in C raises a flag.

2. Can the build tool handle the corner case you know about now?
Pretty simple thing to remember - if the tool can't handle all your current requirements, how will you deal with the unexpected?

3. Can the tool be setup to run correctly from a sandbox?
By sandbox I mean can the tool be useful without referring to non-local items.  I understand that one of the features of Maven is that it can keep various libraries up-to-date by retrieving the latest version.  By "retrieve" it means connect via HTTP, I believe.  I've been informed that this behaviour can be disabled, which would be a plus in my view.  When building a particular project, it is preferable to be able to identify, before the build, the files that will be included.  That doesn't really provide any more or less protection from error, but it makes the process more repeatable and leads to the next point.

4. Can the tool be setup to run correctly from a source control?
Imagine you have a project in a source control system and you connect with a new machine.  Can  you do a single check, run the build tool and generate the proper output?  This is something that I value highly.  It speaks to repeatability and how fast you can get new project members up to speed.  It also means that as long as you have project source, you can build it.  Someone I knew at university was doing his PhD, but he said that he could no longer print or display his Master's thesis.  He wrote it in PostScript or LaTeX dialect and could no longer find the pieces the render the source as it appeared in the hard copy.  Many companies and individuals rely on open source tools.  If they do not keep the tools along with the project, they risk not being able to build the project from source in the future.  

5. Can developers operate effectively without modifying the configuration files?
One of the problems I've seen in various workplaces is build configuration differences.  If the build configuration files have to be checked out of source control and modified to build correctly, that is a large potential problem.  Ideally, build configurations would not need to be altered unless files are added or removed - even some tolerance of those changes would be good.  If these files have to be checked out, different groups produce slightly different builds, which leads to errors arising from these small changes.  These errors are very hard to track down and can be avoided with proper tool selection.

To summarize - the idea is that doing the right thing is easy and the wrong thing (unexpected things) is hard.  It should be easy to identify where everything came from and how something was built.  These things may take a large amount of configuration - a ramp up time learning how to use a tool properly.  As for Maven, so far I think it's right for what we are doing at work - but there are caveats.  The main one being the potential for cross-module changes, of which I know of one current example at work.  Items that touch many modules can be refactored by adding more indirection (or abstraction), but this has it's own cost.  Oh well - such complexity is what makes things difficult and what keeps me employed.  I just want to make sure that I don't forget the potential problem areas in the future.