October 2005 Archives

Fire, Part 2

So, apparently I can build really good fires. Also apparent is that we haven’t mastered the art of opening the flue so that it stays open.

Oh well. At least we know the smoke detectors work.

Fire

With my little stick and my highly evolved brain, I shall create fire.

Strangely enough, it actually worked in my case. First try, even. :-)

It's Snowing

It snowed a little on Sunday, but melted as soon as it hit the ground. I’m seeing white outside now, so I’m going to count this as the first official snow for the season, at least at my address. :-)

I already have an appointment to get my snow tires put on (and a state inspection done, and routine maintenance, and so on) tomorrow — hopefully it won’t snow too much before then.

WordPerfect vs. Word

I used to be a big fan of WordPerfect. Back in the early 90s. Sometime around when I started at Dartmouth, I started using Word, presumably because I got a copy at an academic rate and needed it to send files to professors. Some grumbling undoubtedly ensued, but the programs were close enough that it didn’t last long.

A couple of months ago, I bought WordPerfect Office 12 so that I could open and print files from the occasional customer who still uses it. It’s amazing how much better Word 2000 is over WordPerfect 12 (released last year).

The first couple of files I’ve received have looked okay (ignoring that everything needed to be realigned), but I’ve been working with a customer for the past two weeks trying to get a two-page letter with pictures sent from his computer to mine, and it’s been nightmarish. My best guess is that WordPerfect is saving each picture as a bitmap file — each time he tries to upload it, it dies after about 60MB.

On my end, WordPerfect is slightly worse about dealing with corrupted files than Word. In Word, when a file is corrupt, it complains about the filename not being correct, which is deceptive, but quick. In WordPerfect, it displays a window saying that it’s converting from one printer format to another, then goes into a 100% CPU loop until I force-quit it (I left it overnight the first time, to see if it was actually doing something and just taking a long time to do it — it wasn’t).

We eventually got around the problem by removing all of the images from the document and sending them separately. The result: a 9kB WordPerfect file, three 200kB JPGs, and three 1MB JPGs. I rebuilt the document in Publisher (so as to not have to deal with the exploding images problem in WordPerfect, or the “I know where the picture should go, and don’t you go telling me otherwise” issue in Word), and we were all set.

Odd Referral

Someone just visited prayerletters.us from a search for “condolence prayers for my dog” at a particular search engine…

Nice Words

I know I’m not supposed to derive my happiness from other people, but it definitely brightens my day when I get comments like the following:

THANKS, STEVE!!!!!!!! :)

a BIG thankyou!

Thanks Steve! You guys are speedy and fabulous.

This was especially welcome after Monday, which was a fairly depressing day in all.

More on the dumb birds that slam into windows

Yesterday morning, during the Sunday school class that meets in our living room, we were discussing the line from the Apostles’ Creed “maker of heaven and earth”.

During that discussion, our pastor asked what we can learn from the fact that God made the earth and everything in it.

THUD

The timing was perfect. I’m not sure what the message was.

In less happy news, a bird hit the window so hard this morning that it died. :-(  I’m hoping that all of these impacts were caused by the one bird, which has now been put out of its misery.

Reflection Update

One side-effect of working at a different job (never mind being self-employed) is that I can now decide to work on a project for longer than a few days without being pulled onto something else.

During the second half of September, the prayer letter service software was the focus, which resulted in some nice additions, both in the customer-visible code (updates to reminders and simplification of the preview approval process, among other things), and even more so in the operator code, primarily in the address-parsing area.

The Reflection software is now my focus, for the entire month of October (and possibly November — we’ll see where things stand later on in the month).

I got off to a bit of a late start — the first few days of the month were taken up by random miscellaneous chores — but I’ve definitely been reminded of how much I love doing this sort of programming over the past eight days. My changelog file for that time period is 25kB, without even looking at the code involved, and there’s essentially no repetition involved there.

The Good: Photo Gallery, Articles (formerly Pages) and Blogs have been rewritten with a new underlying database structure that relies heavily on table inheritance so that nothing needs to be duplicated in the schema definitions. Gallery and Articles are live; Blog is in CVS, but not live yet, pending testing.

The modules themselves now support a much more in-depth inheritance as well, which has meant that I’ve probably deleted at least as much code as I’ve written over the past few days. It has gotten rid of just about all of the remaining chunks of duplicated code from the last iteration.

Templates are now a lot more flexible. I still need to focus on this area, but the templates are now completely separate from the code in most places, and look a lot nicer out of the box.

And my wrists haven’t been a problem at all, which I think means I’m programming smarter. I certainly haven’t been spending any less time working (it has been an intense week), but there has been very little brainless high-speed typing, and far more thoughtful small changes that aren’t nearly as stressful on the hands.

The Bad: I think I managed to break just about every function of the software in the process of these updates, most of which were discovered by one of my beta customers. :-( It’s amazing how things can work so well in one environment, and so poorly if you deviate from it at all. I knew it was a risk to put some of this code live without doing a full barrage of automated testing on it, but the bit of manual testing I did suggested that there would probably only be minor problems.

Also in the bad category is that I seem to be doing some “programming by coincidence”, based on a few of the errors I’ve gotten. I’ve been making good use of “TODO” comments, though, and plan to come back to these as soon as possible.

The Ugly: A side-effect of rewriting the modules in such a short timeframe is that my automated tests are broken — we’re not talking about minor changes here. I’m back up to 80% working now after disabling the module tests and tweaking some of the library tests, but it’ll probably be a full day’s work getting the tests back to the point of being useful guides.

Yes, all you “test first” people are probably scoffing right now. You’re welcome. :-) I’m still mighty pleased at the progress from this past week, and am looking forward to the coming one, which should involve filling in the framework.

Mixed Metaphors

“Alright, it’s time to land this plane and tie a bow around it.”

Said by a certain male Campus Crusade staff guy at Dartmouth who shall remain nameless. :-)

Vermont has dumb birds

Just to be abundantly clear, this is not a social commentary. I mean it in the most literal way possible.

Where I’m from, birds do not regularly plow head on into windows. And yet, it seems to be a regular occurrence here. The house windows have the feathers to prove it. What’s up with that?

Mail merging in Publisher 2003 has been an extremely frustrating experience until today. Publisher has a dubious feature where it will break up your print jobs into batches of 10 records each. Presumably, this is for efficiency in office environments — rather than having one colossal print job hogging the printer for hours, other jobs can squeeze in around it.

In practice, this isn’t the effect, for two reasons:

1) Jobs become intermingled in the output tray(s).

2) All print settings get lost between record 10 and record 11.

So, if I’m printing a 160-record duplex mail merge on blue paper, the first ten pages come out duplexed on blue paper, and then I get 300 pages on standard white paper.

What’s worse is that telling the printer driver that printing duplexed on blue paper is the normal, default behavior has absolutely no effect. It seems Publisher ignores the user’s preferences and the driver’s defaults, and just sends the next batch of records to the printer with no settings whatsoever, going with the printer’s defaults.

I finally found a workaround this morning, buried in Microsoft’s Knowledge Base. The KB entry would actually make the problem worse (it’s apparently designed with something else in mind), but you can reverse it to eliminate this problem.

The article is here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;891904

The steps are:

  1. Run the Registry Editor (regedt32 or regedit)

  2. Find the following key:

    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Publisher\Printing

  3. Add a new string (REG_SZ) value named “NumberOfRecordsPerBatch”

  4. Give it a value larger than any mail merge you’re likely to print.

Now your print job will work properly, without having to send it to the printer ten records at a time.

Recent Entries

Who's on first?
I’m going through the settings of a hard-core E-Mail program, and came across this lovely setting: Copy To Address to…
USPS Extreme Cost-Saving Measures
In the July 2010 edition of the PCC Insider (a USPS publication) is found the following statement: There are 26,000…
At 1:15am this morning
At a hotel, after a day of eventful travel and 3.5 hours of sleep the night before, it’s (almost) needless…
My Amazon.com Wish List