Thursday, June 2, 2011

Unspeakable Tackiness

This week's message at the neighborhood ELCA clearinghouse for tacky church sign slogans:

REAL HEROES DON'T SAVE THE WORLD -- THEY SERVE IT

All right... So when are you going to come right out and say that Jesus isn't real?

Tuesday, May 31, 2011

Memorial Day Tuna Salad

Here's a yummy recipe my stepmom made up to go with charcoal-grilled hamburgers and hotdogs (which, by the way, were served with onions, tomatoes, and pickles lovingly sliced by hand, pretzel-bread buns, mustard, ketchup, mayonnaise, and ranch-flavored potato chips). As often happens with comfort-food recipes, it's missing all the measurements and proportions. It's the kind of music-to-your-mouth that every Mom has to learn to play by ear.

INGREDIENTS:
Whole Wheat Rotini (cooked and rinsed with cold water)
chopped onions
chopped celery
sliced green olives with pimentos
dill weed
garlic powder
salt
pepper
50/50 blend of mayo and white salad dressing
tuna, drained

DIRECTIONS:
Mix the ingredients together. Add 1 can of drained canned peas and mix gently.

Seems simple, doesn't it? And yet it holds its own against the best burgers your Dad knows how to grill. Did you miss your parents' cookout on Memorial Day? Oh, ye bachelors! Weep for shame!

Some Helpful Word Macros

Step 1. Be a user of Windows XP and Microsoft Word 2003. This is not open for debate.

Step 2. From the menus at the top of the MS Word window, pull down "Tools," then select "Macro," then "Record New Macro." Type a distinctive name for a macro; then, under "Assign Macro To," press the "Keyboard" button. Type an unassigned keyboard shortcut (examples will be given later), then click "Assign" and "Close." Then immediately press the "Stop" button on the floating Macro Recorder control. Repeat, substituting different macro names and keyboard shortcuts, until you have created a blank "placeholder" macro for each of the macros below.

Step 3. Pull down the "Tools" menu, then select "Macro," then "Macros," then click the "Edit" button to open up the Microsoft Visual Basic editor, in which you can edit the code for all the macros in your Normal template. Copy the following paragraphs of code and paste each section of code under the appropriate macro name, after the lines "Sub [MACRO NAME]," "[MACRO NAME] Macro," and "Macro recorded [DATE] by [USER]," but before the line that says "End Sub."

And now some macros that I think you may find useful. I give first the name I suggest assigning to each macro, then a nice eligible keyboard shortcut, and finally the code to paste into Virtual Basic.

HEADER: To put the filename, path, and page number in a hairline box at the top of each page of a Word document:
Macro Name: Header
Hot Key: ctrl+. (Hold "ctrl" key and type a period.)
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
Application.DisplayAutoCompleteTips = True
NormalTemplate.AutoTextEntries("Filename and path").Insert Where:= _
Selection.Range, RichText:=True
Selection.TypeParagraph
Selection.TypeText Text:="Page "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldPage
Selection.TypeParagraph
Selection.WholeStory
With Selection.Borders(wdBorderTop)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderLeft)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderBottom)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderRight)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
ROUGH: To add the effect of a rubber stamp saying "ROUGH #1" to the top of the page (which can be edited after being inserted to show whatever Rough Number you want):
Macro Name: Rough
Hot Key: ctrl+;
ActiveDocument.Shapes.AddTextEffect(msoTextEffect2, "ROUGH #1" & Chr(13) & "" & Chr(10) & "__ Approved by KS", _
"Arial Black", 24#, msoFalse, msoFalse, 232.1, 107.25).Select
Selection.ShapeRange.TextEffect.PresetShape = msoTextEffectShapeSlantDown
Selection.ShapeRange.WrapFormat.Type = wdWrapTight
Selection.ShapeRange.ScaleWidth 0.62, msoFalse, msoScaleFromBottomRight
Selection.ShapeRange.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft
PASTE NO FORMAT: To paste from the clipboard without keeping the format of the document it was copied from (i.e., without changing the format of the insertion point):
Macro Name: PasteNoFormat
Hot Key: alt+v
Selection.PasteSpecial Link:=False, DataType:=wdPasteText, Placement:=wdInLine, DisplayAsIcon:=False
FLIP QUOTE MARKS: When, after pasting a section of text copied from another document, you need to change all the double-quotes into single and all the single-quotes into double:
Macro Name: ReverseQuotes
Hot Key: alt+' (apostrophe)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "'"
.Replacement.Text = "@@"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = """"
.Replacement.Text = "'"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "@@"
.Replacement.Text = """"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
NOTE: You may have some trouble with apostrophes on this one.

BLOCK QUOTE MARGINS: To indent both right and left margins of the selected paragraph by 0.5 inches:
Macro Name: BlockQuoteMargins
Hot Key: alt+b
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0.5)
.RightIndent = InchesToPoints(0.5)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
End With
FOOTNOTE: To insert a footnote, placing the reference number at the insertion point:
Macro Name: Footnote
Hot Key: alt+i
With ActiveDocument.Range(Start:=ActiveDocument.Content.Start, End:= _
ActiveDocument.Content.End)
With .FootnoteOptions
.Location = wdBottomOfPage
.NumberingRule = wdRestartContinuous
.StartingNumber = 1
.NumberStyle = wdNoteNumberStyleArabic
End With
.Footnotes.Add Range:=Selection.Range, Reference:=""
End With
COLUMN BREAK: When typing on a page formatted in two or more columns, to insert a hard column break at the insertion point:
Macro Name: ColumnBreak
Hot Key: alt-/
Selection.InsertBreak Type:=wdColumnBreak
EXTREME EMPHASIS: To convert selected text into all caps, bold type, and word-only underline:
Macro Name: BoldCapUnderline
Hot Key: alt+;
Selection.Font.Bold = wdToggle
If Selection.Font.Underline = wdUnderlineWords Then
Selection.Font.Underline = wdUnderlineNone
Else
Selection.Font.Underline = wdUnderlineWords
End If
Selection.Font.AllCaps = wdToggle
LIGHT YELLOW SHADING: To create a "yellow highlighting" effect over the selected text, one that leaves the text looking very readable when printed on a color laserjet:
Macro Name: YellowShading
Hot Key: alt+1
Selection.Shading.Texture = wdTextureNone
Selection.Shading.ForegroundPatternColor = wdColorAutomatic
Selection.Shading.BackgroundPatternColor = wdColorLightYellow
LIGHT GREEN SHADING: Ditto, only with a green highlighting effect:
MacroName: GreenShading
Hot Key: alt+2
Selection.Shading.Texture = wdTextureNone
Selection.Shading.ForegroundPatternColor = wdColorAutomatic
Selection.Shading.BackgroundPatternColor = wdColorLightGreen
LIGHT BLUE SHADING: Ditto, only with a blue highlighting effect (which, I find, is easier to see on paper than on the monitor):
MacroName: BlueShading
Hot Key: alt+3
Selection.Shading.Texture = wdTextureNone
Selection.Shading.ForegroundPatternColor = wdColorAutomatic
Selection.Shading.BackgroundPatternColor = wdColorLightTurquoise
ORANGE SHADING: Ditto, only rather like an orange highlighter:
MacroName: OrangeShading
Hot Key: alt+4
Selection.Shading.Texture = wdTextureNone
Selection.Shading.ForegroundPatternColor = wdColorAutomatic
Selection.Shading.BackgroundPatternColor = wdColorTan
PINK SHADING: Ditto, only with pink highlighting:
Macro Name: PinkShading
Hot Key: alt+5
Selection.Shading.Texture = wdTextureNone
Selection.Shading.ForegroundPatternColor = wdColorAutomatic
Selection.Shading.BackgroundPatternColor = 16764159
PURPLE SHADING: Ditto, only with purple highlighting:
Macro Name: PurpleShading
Hot Key: alt+6
Selection.Shading.Texture = wdTextureNone
Selection.Shading.ForegroundPatternColor = wdColorAutomatic
Selection.Shading.BackgroundPatternColor = 16764108
NOTE: I'm sure these "shading" macros can be tweaked to suit the color calibration of your monitor and/or printer. I recorded them so that I could "flag" paragraphs of research material for up to 6 different topics of interest.

RED BOLD: To change a selection from regular type to bold, red type:
Macro Name: RedBold
Hot Key: alt+7
Selection.Font.Bold = wdToggle
With Selection.Font
.Name = "Times"
.Size = 12
.Bold = True
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorRed
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
End With
GREEN BOLD: To achieve the same effect, only with green type:
Macro Name: GreenBold
Hot Key: alt+8
Code: The same except, where RedBold says "wdColorRed," change it to "wdColorGreen."

BLUE BOLD: Ditto, only with blue type:
Macro Name: BlueBold
Hot Key: alt+9
Code: The same as RedBold, only replace "wdColorRed" with "wdColorBlue."

PINK BOLD: Ditto, only with pink type:
Macro Name: PinkBold
Hot Key: alt+0
Code: The same as RedBold, only replace "wdColorRed" with "wdColorPink"

NOTE: These colored types can be handy, for example, when you have to edit copy & you want to draw attention to text you recommend deleting, to your suggested rewrite, to new material you would like to see added, or to wordings proposed by different editors, translators, etc.

Two more shortcuts have proven very handy to me. I work in a variety of applications, some of which have one sort of keyboard shortcuts for an em-dash or an en-dash, and some another. As I move between these programs, I find it most difficult to keep in mind which shortcut I have to use; in some cases, guessing incorrectly leads to disaster. So, I've created my own customization. I recommend that you do too.

EM and EN DASH: From the "Insert" menu, choose "Symbol," scroll through the character map of your default font until you find the em dash (and likewise for the en dash). Once that character is selected, click "Shortcut Key," then assign alt+m for the em dash, and alt+n for the en dash, then click "Close" and "Cancel." Then it's just a matter of remembering how to use them. Use the em dash instead of two hyphens to indicate a break in a sentence; use the en dash instead of a hyphen to indicate a range of dates, page numbers, etc.

NUMBERING: From the "Tools" menu, choose "Customize," then "Keyboards," then under Categories select "Format," and under Commands select "FormatNumberDefault." Under Press New Shortcut Key, press alt+l (lowercase L), then click "Close" twice. This will insert a numbered list without requiring you to hunt through the menus for it.

These are only some of the macros that have saved me tons of keystrokes and mouse-clicks in the last five or six years. May they come in handy for you!

P.S.: Upon request, I can also give you some handy tips on how to transfer macros, autotext, etc. from your normal template to another user's ditto. This can come in especially handy in a shared-folder type of workspace, where different workers are doing similar things and need access to the same shortcuts.

Monday, May 23, 2011

Ramage 12-14

Ramage and the Renegades
by Dudley Pope
Recommended Ages: 14+

In Number 12 of the Lord Ramage Novels, it is the Year of our Lord 1802. Peace has broken out between revolutionary France and the United Kingdom—what proved to be only one year of peace in the middle of 22 years of warfare. For many in Britain's Royal Navy, peace was more dangerous than war. Ships no longer needed to blockade French ports or to protect merchant shipping were paid off, their crews put ashore, their officers consigned to half-pay. Meanwhile, those outside Addington's government fear that Britain, by giving up too much to the French in the Treaty of Amiens, may have "won the war and lost the peace"—or, even worse, that peace may be merely a chance for Napoleon to refill his supplies and arms for yet more war.

The duplicity of Napoleon worries Captain Lord Nicholas Ramage on a more personal level. Though the heat of his passion for the Marchesa of Volterra has cooled to something like the love between brother and sister, and though noblesse oblige rules out the possibility of marriage between the heir to a Protestant earldom and the ruler of a Catholic state, Nicholas worries about Gianna. He worries that the deceptive nature of the peace, together with the unclear status of Volterra, may make this new freedom to travel on the Continent a trap for Gianna. In spite of his best efforts to convince her otherwise, Gianna insists on traveling home to Volterra. And before Ramage can learn what will become of her, he is ordered away by the Admiralty on a peacetime mission that may give Britain an advantage in the next war.

His Majesty's Frigate Calypso, still manned by the best officers and crew in the fleet, sets sail this time for the Ilha da Trinidade, a tiny unpopulated rock in the South Atlantic, six hundred miles off the coast of Brazil. By some stroke of luck, this potential base for watering and victualling ships was left out of the Treaty, so its status is unclear. Lord St. Vincent wants Ramage to claim it for Britain, and sends him with a team of surveyors, masons, a landscape painter, and a botanist to map the island, to build fortifications, to plant potatoes, and to take soundings of the surrounding waters.

This seems a very straightforward mission. But it turns out to be filled with exciting incident. First there is the drunken fraud of a ship's chaplain, who threatens to destroy the morale of the crew before he is exposed. Then there is an encounter with a dangerously mad frigate captain, the first of at least three such cases in successive books, illustrating a sticking point in Britain's Articles of War in that there is virtually no way to remove a captain from command. And finally, in a harbor on Ilha da Trinidade, the Calypsos find a privateer with a string of prizes taken (allegedly) before the news of peace reached them. Which side of the fine line between privateering and piracy they stand on, becomes clear when they hold off the Calypsos by threatening to kill the passengers of the captured merchantmen. The resulting tense standoff, like a hostage crisis with boats, culminates with a swashbuckling rescue, complete with a gravely wounded Ramage swooning in the arms of the newfound love of his life.

Mystery, romance, suspense, action, exotic (but real) scenery, and a foreshadowing of dramatic developments to come, make this an essential installment in a highly entertaining series of naval yarns. Though the characters speak in a modern idiom and behave according to present-day mores, the anachronism is perhaps forgivable because it brings the ideal age of naval conflict—even in an interval of official peace—so vividly and effortlessly into the mental world of today's reader. The romance between Nicholas and Sarah is of a tastefully mature order. The discussion of noblesse oblige reveals an insight into a world of motivations understood today by few who have been weaned on the ideals of the age of revolution. And if that isn't enough to make you want to read this book, the promise of a little commando warfare (in more than one sense of "commando") and a some spectacular explosions ought to do the trick.

Ramage's Devil
by Dudley Pope
Recommended Ages: 14+

1803. After a year of peace, war is on again between France and Britain. The sudden renewal of hostilities catches Royal Navy Capt. Nicholas Ramage and his bride Sarah in the middle of their honeymoon in France, guests of a nobleman who, just as suddenly, is arrested and sentenced to be transported to the notorious penal colony of Devil's Island. And a certain upstart First Consul, soon to become Emperor Napoleon I, demonstrates his barbarism by ordering the arrest of all British subjects caught on French soil—including civilians, and even women—in a radical break with the hitherto conventions of civilized warfare.

The 13th Lord Ramage Novel thus begins with Nicholas and Sarah's white-knuckle escape from certain imprisonment for the duration of the war, if not worse. Aided and abetted by four Frenchmen who can't abide Bonaparte, the Ramages recapture the British brig Murex, which a mutinous crew had surrendered to the French, and with the aid of the loyal officers and crew left on board as prisoners, sail her out under the shore-batteries of Brest. This leads to an encounter with the British fleet just arrived to blockade Brest, and then in turn to a reunion with Ramage's beloved frigate Calypso and all its officers and crew, who had been recommissioned in a hurry under a captain who proves to be so mad with drink that he has to be removed from command (the second of at least three similar storylines in successive books of the series). By a perhaps ludicrously improbable series of events, Ramage finds himself once again in command of Calypso, reunited with Aiken, Southwick, Orsini, and the rest, and sent to the insalubrious coast of French Guiana to rescue his French Royalist friend, and other political prisoners, from an evil fate on the aptly named Île du Diable.

I've already given away enough of this book's points of interest, if not too many. Let it suffice to say that to love the Lord Ramage series is to love this book, combining an attractive set of characters, modeled on present-day dramatic ideals, with daring naval exploits realistically depicted according to the maritime practices of the period—and what a fascinating period!

One might squirm a bit at author Pope's over-reliance on the literary device of turning an interesting excursus into some facet of naval life, such as the habits of the tropical boatswain bird or the precise definition of "point-blank range," into an instance of a character lapsing into daydreaming. This does become a repetitive pattern, and the characters' motivation for such bouts of woolgathering seems at times improbable if not bizarre; but with the right sense of humor you can read these in the spirit, I think, that Pope intended: as a consciously unreal, but entertaining, way of drawing the reader into a more fully real, highly colored, three-dimensional world in which wind and waves, honor and courage, and a bit of luck could change the course of history.

Ramage's Trial
by Dudley Pope
Recommended Ages: 14+

In Book 14 of the Lord Ramage series, the captain of His Majesty's Frigate Calypso has just brought a pair of French frigates into Barbados, among the first naval prizes of the new war against Napoleon, when he is dealt the first of a series of shrewd blows. His newlywed wife Sarah has disappeared, together with the brig Murex that was supposed to carry her home from the blockade of Brest. And just when Capt. Nicholas Ramage is on fire to get home, the port admiral puts him in charge of a large merchant convoy.

Convoy duty, as one may have learned from previous novels in this series, can be a fussing, frustrating, slow-moving bore. Even the company of an old friend—well-bred and well-heeled merchant Sidney Yorke—cannot entirely alleviate Ramage's agony, especially given that Yorke's beautiful, spirited, and obviously smitten sister Alexis must serve either as a temptation or as a reminder of his beloved wife. And then the British frigate Jason breaks the horizon, and throws everything out of whack.

Jason is commanded by a madman named William Shirley. Shirley cuts a remarkable figure, gliding upon his quarterdeck like a sleepwalker, dressed in a heavy cloak yet, in spite of the tropical climate, not even breaking a sweat. He has some kind of sinister hold over his officers and seamen, preventing them from helping the Calypsos understand why Jason attempted to ram them, then raked them with a broadside, though Shirley now denies that it ever happened. Since the Articles of War make scanty provision—really, none at all—for removing an unfit captain from command, Ramage risks more than just his career when he involves himself in the mystery of the Jason. In fact, as soon as Calypso moors off Plymouth, Ramage is targeted by a court-martial under laws which, if he is convicted, carry a mandatory sentence of death.

The really bad news is that the presiding officer at Ramage's trial is none other than Rear-Admiral Goddard, a man who has carried a political vendetta against Ramage's family since Nicholas was a child. Goddard has already done his utmost to destroy Ramage, and now with the authority to dictate the rules of evidence at Ramage's trial, he really seems to have our protagonist in his power. It is heartbreaking to see the spirit die within Ramage as he faces the virtual inevitability of his conviction, which Goddard has ensured by ruling out of order any defense he can possibly give. But neither Goddard nor Ramage has reckoned on the efficacy of one furious, strong-willed girl, nor on the surprise testimony of the one witness who has nothing to lose.

If you love naval action, or courtroom drama, or stories about virtually insoluble ethical and legal dilemmas, this is book will grip you. It will also inform you about a surprising variety of aspects of 19th century life and the maritime world, bringing that era and way of life all the more vividly before the senses. To be sure, it lacks the subtlety, depth, complexity, beauty of language, and historical realism of Patrick O'Brian's Aubreyiad, but it is part of a splendid entertainment nevertheless. I could damn it with faint praise and say that I have read many equally good books in this genre; but at the same time, I must candidly admit that I stayed up until 2:00 a.m. before a work-day to finish this book, because after a certain point I just couldn't put it down. So you can be sure that I'll be reading Book 15, Ramage's Challenge, as soon as I can get my hands on it!

Sunday, May 22, 2011

The Cat Who Said Kowabunga

Yesterday, I had just opened the front door of my apartment to start loading laundry into the car for the weekend's laundromat run, when Tyrone the cat--he of the "dart out into the hallway and roll on the upstairs neighbor's welcome mat" game--shot through the opening like a projectile.

As he flew past me, Tyrone gave the feline equivalent of a rebel yell. It was a full-throated, multisyllabic meow that bemused me just long enough to enable him to squeeze past my ineffective guard. I might have successfully fended him off if it hadn't been for that vocalization. Without having any consonants & not so many distinct vowels, his meow really did sound a lot like "Kowabunga!"

Crock Potluck

Church-Cookbook-Style Cocktail Meatballs, as I witnessed them being prepared this morning in anticipation of a potluck dinner:

Buy 3 bottles of Chili Sauce, a 34-ounce tub of Welch's Grape Jelly, and as many bags of home-style frozen meatballs as you reckon will go into a crock-pot. (If given a choice between "Italian-style" and something else, go with something else.) Let the meatballs thaw in the refrigerator, inside the sealed bag. A couple hours before serving, combine the ingredients in a crock pot and gently heat them so that by dinnertime they are bubbling nicely.

For cocktail weenies, I hear, the sauce is a combination of pineapple and apricot preserves and barbecue sauce. Hmmm. Good to know in case you ever have to cater a large group. Which, believe it or not, I have. Though I'll have to tell you what I served another time...

Thursday, May 19, 2011

Tackiness in Denial

This week's message at the neighborhood ELCA Temple of Lighted-Sign Tackiness:

I'M NOT AGING
I JUST NEED REPOTTING

Sniff. Right. You just go on saying that. Potted is right. But what does this have to do with church? Is botox now a sacrament? Are they doing dye jobs in the baptismal font? Exactly how is this reluctance to go gently into that good night relevant to the Christian message?