Tuesday, May 31, 2011

Defeat reversed...


Some time ago I wrote that Defeat is inevitable when dealing with oven manufacturer JennAir.

Last week, I hit KSL-TV's classifieds list and purchased a five-year old, little used GE built-in oven to replace my prized JennAir. I dropped it in last Saturday with my youngest son. It took all of 20 minutes and we were puttering. Four twists of the wire nuts.

The new oven is a couple of inches narrower than the old one. This means I'll have to go back with a piece of maple to close the gap in the cabinet.

The new oven is pretty nice. Other than being narrower than a nominal 27" oven (as was the last one), its features measure up including the (missing) meat probe. I wonder if the one I conserved from the JennAir won't work? Convection, programmable, etc. all the features are there.

As I said last time, I will never buy a JennAir again. And I saw plenty to choose from in the classified offerings.

Monday, May 23, 2011

Eclipse and sources under control...

Of late, I've set up a team source code-control repository from scratch for my work group. This is the first time I've done this for anyone but myself; it's always already been done by the time I joined a team. I haven't been too pleased with the uncertainty at the places I've worked so far--always policy, but never understanding why that policy. Hence my saying something to clear the smoke. There are two camps out there on the web: one for committing the hidden files to source-code control and the other for not committing them. Both are wrong in my opinion.

It seems clear now to me that the following should be the way to do things regarding the “hidden” files in the Eclipse project source base. I'm using Git; the same holds for CVS and Subversion.

.project
It appears you don't want to commit .project to source-code control. You want to create the initial project, then make a copy of this file as .project.sample, and commit that. As each checks out the project source, he or she copies .project.sample to .project, then imports the project in Eclipse.

.gitignore
.project should be marked “ignore” by listing it in the .gitignore at the root of the project. Also in this file are build, bin, etc. since we do not want to include build subdirectories and .class files. I think it’s not a bad idea to include the ignore file, but by doing so, we’d be precluding that anyone maintain a separate, different copy.

.classpath
This is modified by each user's Eclipse, but only when changes such as the addition of a new JAR are made. Therefore, this file should be committed. However, care must be taken not to corrupt this file by adding JARs just any which way.

Addition of new JARs
This must not be done except via copying the new JAR to an internal subdirectory such as WebContent/WEB-INF/lib or other adding via Build Path -> Configure Build Path -> Libraries -> Add JARs (and never Add External JARs).

This ensures a) that the JAR is in the project (there might be a reason not to do it this way with ivy: there certainly is with Maven, but I'm talking old-fashioned stuff here) and b) no full path is added to .classpath.

It's a simple matter thereafter to check out the project (git clone, svn co, etc.), copy .project.sample to .project, then import into Eclipse (File -> Import -> General -> Import existing...) and away you go.

While there are somewhat analogous things going on in NetBeans, and they just may have done it the right way, nevertheless, Eclipse rules. Yes it does.

August 2011 update:
There's little to add except that based on some really bad experiences, I've learned that you absolutely do want to keep the .settings subdirectory under source-code control (in Git or anything else). At very least, the Eclipse Dynamic Web Project is so complex, that gone missing what's in there will make sharing a project pretty much impossible. I tried doing it and not doing it. This is what I learned.

Monday, May 2, 2011

With Usama bin Laden gone, ...

...it will be up to the State Department or someone deeper in the soup to pick the next object on which to focus our attention in order not to see the sleights of hand.
The whole aim of practical politics is to keep the populace alarmed (and hence clamorous to be led to safety) by menacing it with an endless series of hobgoblins, all of them imaginary.

H. L. Mencken

Our lives would be such bliss were the foundation of such only so simple a thing as to find and assassinate worms like bin Laden.

Friday, April 29, 2011

Of Spitfires and Kisses

The Batemans only stopped being subjects of the crown a scant 138 years ago, so I felt it a minor, personal duty to arise early enough to witness the wedding kiss. There were two very short ones: William is nothing if not the discrete young man.

I wish the new couple all the bliss that royal couples are and have ever been deprived of. I wish them success to exceed the dishonour that has afflicted British royalty since Edward's abdication in 1936.

(I was not up anywhere early enough to sing Jerusalem with the attendees at Westminster, though had it been at a better hour, I would have loved to do that. It's a fascinating anthem and one of my favourites. For all its faults and awful cuisine, I do love Great Britain, a green country, the land of Tolkien, Lewis, Carol, Austen and Shakespeare, concert hall to the Beatles, stage to Eric Clapton, summer garden to Ralph Vaughan Williams. It's the site of the foggy streets of Sherlock Holmes, stomping grounds of Chief Inspector Morse, and the City chambers of Horace Rumpole. I could go on and never stop...)

What brought an actual tear to my eye though, was the unexpected appearance of two Spitfires and an Avro Lancaster ahead of the Royal Air Force fly-over just before the nuptial appearance on Buckingham's well known balcony.

The deep significance of these aircraft, particularly the Spitfires, could not have gone unnoticed by those older present. There are only 44 airworthy Spitfires left in the world today—ever the buff, I looked it up.

That meaning was certainly not lost on me and constituted the emotional highlight of my morning: England would not have seen the coronation of Elizabeth and the wedding of William's parents, nor indeed today's festivities were it not for a few thousand hopeless little aircraft fending off the crushingly superior numbers of the Luftwaffe in the Battle of Britain 71 years ago. This was a touching tribute to Elizabeth who herself fought on the home front in World War II. It should have reminded the millions looking on of the sacrifice of many millions more for freedom in the world and of a time when Britain stood alone against evil.

God save Britain whose torch lit the beacon America has held up to the world—faltering now in its turn. And God save William and Kate: May they restore honour, decorum and respectability to the monarchy.

Friday, April 15, 2011

Defeat is inevitable!

What I've learned trying to fix an oven.

After all this time (since December last) and four repair people, we find we'll have to replace the oven in our old house which will be a huge amount of money. It was a primo oven; I installed it brand new 10-15 years ago.

http://www.windofkeltia.com/oven/oven.html

Basically, what we've learned (in case you actually care about this experience) is that without the model number, it's tough to get help (what we've been fighting for so long). The label was plastic and the number had rubbed off along with some of the serial number.

Second, if you buy the wrong brand, customer support can be very poor. JennAir wasn't helpful last December when I contacted them with a partial serial number which they admitted they matched to a list of JennAir products 10 people registered, but refused to give us a list of possible model numbers. Their excuse was that this would somehow compromise confidentiality of other customers. In fact, they pretty well refused to help me determine the model number. I call that very poor customer support (as I can't imagine how a list of possible JennAir oven model numbers pegged to serial numbers including the partial I could give them somehow endangers other customers).

In our case, the last two independent repair persons have worked through similar circumstances with other customers before and they confirm that JennAir has probably discontinued the model and opined honestly that it's been a long time since they cared. They likely don't even produce the board anymore. There are three possible board sets we could try to see if one will fix it, but the source of the boards does not allow returns of those that fail to match. At several hundred dollars per board, ...

Well, you see the problem.

I think there are two morals to this story...

1) Don't put built-in ovens into a rental unit because they're more expensive to replace.
2) Don't purchase JennAir products.

Of course, this was our home and I bought a superb built-in oven when I totally rebuilt the kitchen from the studs out. It wasn't specifically planned that it would become a rental.

The repair folk suggest hitting KSL.com or eBay for a replacement. They say there are people remodeling their kitchens and getting rid of built-in ovens that still work. We'll be trying that approach.

Tuesday, March 15, 2011

Slain before the gates of happiness...

Imagine my disappointment yesterday when I discovered my network down.

I had been planning for over a week to spend last night augmenting my quick Latin grammar site by writing a short exposé on Latin conditionals with references to conditional sentences in English and French, the only other languages in which I've any competence to speak authoritatively about this grammatical construct, basically a work of comparative linguistics. In short, I was planning some really good fun.

Instead, I came home to find my house network in tatters, my router utterly un-resurrectable, and my new router difficult to configure. (Well, it was my good fortune, I suppose, even to have a spare router available to install.)

I spent my whole evening getting everything back up and working. I even missed the early minutes of The Event, one of the dramas I try to follow, and raced back to my den every commercial break (by which time I was wrestling with how to get my new router to forward ports 80, 22, etc. through to various of my Linux hosts).

Alas, uesperem perditi.*

What I should have done is to yield to the temptation I repressed to purchase a pie on the way home from work. It was Pi Day after all, and last night's "blood bath" would have been a more suitable celebration of the Ides of March (today) in marking the two thousand fifty-fith anniversary of Cæsar's assassination.

But then, my websites would still be down as I write this.

* Yes, "I lost the evening"—in direct allusion to Vercingetorix' exclamatory utterance as he deposited his weapons in defeat at the knees of Julius Cæsar at Alesia in 52 BC. (See illustration above—I like the ones that surface in various episodes of the comic book, Asterix the Gaul, better, but they're under copyright.)

Tuesday, March 1, 2011

JSF Facelets: Templating


This morning I finished my initial research into templating using JavaServer Faces Facelets. This is pursuant to some work I've been doing over the last month or so and three articles discussed in last week's posting.

I've worked with templates in JSF, but never set them up from scratch except for a mindless shot at them 3 years ago using a book I didn't fully understand. It's not been too relevant to my work, except briefly when fixing a few bugs in MarketSplash pages. I'm not really a front-end guy, but I do support some twenty domains benevolently and this technology would come in handy.

So, yeah, a new article—always an article, right?

I've probably got some polishing to do, but the structure and most of the content is there. Casting around for the next thing to look into, I'm thinking Spring Web Flow. If so, there will be another article. Then I'll tuck back into my back-end world where I belong. There some exciting REST stuff coming up later this year.