Wednesday, September 02, 2026

Find and Replace in Blogger's Post Editor

There are a few web pages that list the keyboard shortcuts that can be used in Blogger's post editor. Many of them are the standard windows shortcuts such as cut, copy, paste, redo and undo. Two of these web pages are included below.

Others relate to formatting and are what you'd find in a Word Processor. I'm referring to bold, italic, underline. And Ctrl + k also works to create a hyperlink.

I wasn't surprised that Ctrl + f opens a textbox into which the user can enter a search term. This is typical in many applications. If you're using the HTML editor, first click in the post editor to focus it -- the cursor needs to be there, otherwise the browser's find tool will search the entire page, ignoring the editor content.

If you need to search for the next occurrence, Ctrl + n will not work; it will open a new window instead. If you need to do a lot of searching, it's better to copy everything into a proper editor, or use the Atomic Chrome extension with Emacs. Or try the workaround I describe below.

Out of curiosity I pressed Ctrl + Shift + f thinking the shift key modifier would do something extra. I was right, but it doesn't search for the next item. Instead it allows you to perform a search and replace, which does provide a means to step through each occurrence.

Here's how it works. Press Ctrl + Shift + f, enter the Term to search for in the "Replace" box, then enter into the "With" box the text that would replace it. If Term exists, four buttons appear:

  • Yes, which performs the replacement just on the highlighted Term and no others
  • No, which skips to the next Term, if any
  • All, which replaces all instances of Term with whatever you entered in the With box
  • Stop, end the process, leaving replacements in place.
The Find and Replace Actions: Yes, No, All, Stop

If you're brave enough, you can use this find and replace as a regular find tool that jumps to the next occurrence with each click of the No button. If you're really afraid of making any changes, know that you can enter the same text in both boxes, Replace and With. So even if a replacement occurred, nothing would change.


Use Google Keyboard Shortcuts

Blogger Shortcut Keys List

Saturday, June 20, 2026

No News is Bad News

This morning's Yahoo News headline:

"Breaking News: Hormuz closes again as more talks planned in Switzerland"

That's not news; it's just a prediction that came true.

Tuesday, June 16, 2026

Add Chopsticks to Your Toolbox

Have you ever tried to retrieve a small part from deep within a chassis? You might've wished you had a long slender pair of tongs, pliers or tweezers to reach down and grab it with. You do. That tool is a pair of chopsticks.

It helps if you know how to use chopsticks, but don't worry if don't. It's easy to fashion them into a pair of "tweezer-sticks" as shown in Figure 1, below. All you need is an elastic band (aka rubberband) and a make-shift fulcrum, such as the wrapper the chopsticks came in (rolled up into a compact wad).

Tweezers made from chopsticks, a rubberband and a wad of paper

I've used this tool to...

  • get a pebble from out of a garbage disposal
  • pick spent blossoms, a Maple tree seed or a hungry beetle from potted plants when the growth is too dense to get my fingers through
  • remove part of a Pop-Tart from a toaster (Figure 2)

Half of a mangled poptart plus a sign that requests help to rescue the other half from the toaster both in front of a toaster

I have, in fact, used a pair of twigs for a crude application of this idea, such as when I picked up a dead mouse that was in a flower bed.

But if you need to remove a wedding ring from the glowing coals of a charcoal grill, be sure to soak them in water beforehand.

Thursday, June 11, 2026

Hiring Boom

 I saw this at the top of the requirements section on a job description:

"...willing to design stuff that blows up other stuff and people"

Thank you for the candor, but no.

Monday, April 20, 2026

Small Wins -- What Can You Do In Five Minutes?

During a networking presentation, the speaker spoke about Small Wins. I liked the idea of filling in spare time by engaging in partial tasks that can lead to a big goal. The idea is to make a list of tasks you can do in five minutes. That way you can be ready for those spare moments that popup.

While the tasks are “supposed to be” in support of a goal, I prefer to figure out what I can do in five or fifteen minutes. For real. I might think I can shave my face in fifteen minutes. But in reality I can achieve that only if I don’t bother to:

  • wait for the water to heat up
  • foam up the shaving soap with the brush
  • thoroughly clean up after myself

I need 20 minutes for my complete shaving process.

I‘ve included below my list of five-minute “wins.” In some cases I’ll need to have materials or supplies nearby to achieve them. For example, in order to water plants, I keep bottles of water near a few of my thirstier plants.

Items at the bottom of the list in square brackets are for 15 minute gaps.

  • Water a plant
  • Drink a glass of water
  • Splash cold water on my face
  • Make tea
  • Do a breathing exercise
  • Do pushups
  • Chill out
  • Compare my online calendar with my weekly planner
  • Play Wordle or Connections [occasionally I’ll need 15 minutes for this]
  • Wipe down a counter top or table top
  • [Load / unload dishwasher]
  • [Make coffee]
  • [Brush the cat]
  • [Do crunches]
  • [Take a quick walk around the yard]
  • [Weed the garden]

Here are some links to review:

Friday, April 10, 2026

It Starts With a Small Favor

One time the boss asked me to sketch a new product concept in our CAD program.  After an hour or so, I'd print out a paper drawing and hand it to him.

After a few weeks he stops by and asks, "How's the project going?"  "What project?"  Apparently the little favor I did, the sketch I provided, was supposed to be /my/ new project.  I was supposed to test it and get it working and make imporvements on it (in between all the other products that customers were paying for).  This wasn't the first time I was expected to be a mind reader, but it was the most egregious example.

My job, as it was explained to me when I started, was to design and order photomasks for a new IC.  I'd also provide notes on the fabrication requirements, both backend and frontend.  After that, it was somebody else's problem.  This was easy work, and I was able to fit in with only a little training.  I had time to devote to professional development, which was lacking.

At one weekly status meeting someone reported a problem with one of the chips I designed.  Suddenly everyone was looking at me.  They expected me to know what was going on and hoped I had devised a solution, Apparently, again, I was supposed to be responsible for all aspects of its manufacturing and testing.  But I wasn't even aware that it started production.  My only response was "I don't know" sung to the tune of "How the hell should I know?"  Again I was faulted for my lack of mind reading skills.

This is how things go in a small company that lacks a mentorship program.  If someone had provided a little guidance and explicit expectations, on day one, I might've developed into the ideal engineer.

Unfortunately, this happens at home, too.  "I want to paint the window sill on the porch.  Can you buy paint for me?" my wife asked last week.  Now she's saying that it's a big job and that she might have to hire someone to help.  So the todo list that she wrote today included, "Help me paint the window sill."  I'm assuming I'll have to do it myself.  But this bothers me because you're always paint the trim last, and the entire porch needs painting.  Not only is she manipulating me into doing the job, she's manipulating me into doing it wrong.

Does this happen to anyone else?  What are your experiences?

Sunday, April 05, 2026

Some Monospace Fonts Available in Blogger

While editing my most recent post, I've been disappointed with the lone monospace font that's available in Blogger by default.  I'm referring to Courier.  The biggest problem with it is that it's very difficult (for me) to discern between l and 1.*  Here's what they look like in Courier: l and 1.

Fortunately, Google has made it easy for a user to add alternate fonts.  I listed below some of the monospace fonts you can choose.  

Based on the discernment between l/1, I like these the best (ranking in alphabetical order):

Font Name lower L vs. One
Fragment Mono l and 1
Google Sans Code l and 1
JetBrains Mono l and 1
Oxygen Mono l and 1
Reddit Mono l and 1
Source Code Pro l and 1
Ubuntu Mono l and 1
Ubuntu Sans Mono l and 1

The discernment is greatest with Reddit Mono; there's no way I'd mistake the lowercase L for the number 1.  However, I like Ubuntu Mono the best.  Not only is the discernment good, the character height is comparable to the height of the default font for this Blogger theme.  So I'll use this font for code listings from now on.


*That's lowercase L and the digit one in case you thought I pressed the same key twice. In fact I thought I pressed the same key twice, so I re-entered the characters very deliberately.

Courier the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Cousine the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Datatype the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Fragment Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Google Sans Code the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

IBM Plex Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Inconsolata the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

JetBrains Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Overpass Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Oxygen Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Reddit Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Roboto Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Share Tech Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Source Code Pro the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Ubuntu Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

Ubuntu Sans Mono the quick, red fox jumped over the brown, lazy dog. THE QUICK, RED FOX JUMPED OVER THE BROWN, LAZY DOG. 0123456789

No File Name Completion With org-insert-link? Try This

If you invoke org-insert-link (typically C-c C-l) in order to link to a local file, you might expect that pressing TAB will complete a partial path or file name.  Instead you’ll get the frustrating message “[No match].”

What you need to do instead is to invoke the command with a prefix argument like this: C-u C-c C-l. Then you’ll get the expected completion behavior with TAB.

But why is a prefix argument necessary?  It turns out that org-insert-link expects a link type at the "Insert link" prompt.  Some link types are file, bbdb, info, etc.  (To see a full list of link types, press TAB right after invoking the command, without entering anything.)

This is a powerful command.  You can, for example, enter bbd and press TAB to complete the bbdb: link type.  Then enter the first few characters of someone’s name or a business in your bbdb list of contacts, such as arth.  Upon pressing TAB, you should see completion fill in arthur.  Press again, you’ll get Arthur Dent and perhaps his email address.  Clicking on either will complete the entry.  Press ENTER to put the link into your buffer.1

Completion isn’t available for all link types.  A link to an info node, for example, has to be entered manually, although usually it’s created with org-store-link (C-c l) while point is in the info node of interest.

I encourage you to read the help for org-insert-link and org-store-link.  The two hyperlinks immediately below will take you to the online manual on gnus.org.  But if you copy the link text and yank into an org file, Emacs will open the Org manual at the page for handling links.

[[help:org-insert-link][Emacs help for org-insert-link]]

[[help:org-store-link][Emacs help for org-store-link]]

I dislike getting frustrated.  But when I’m frustrated with Emacs, I expect to learn something if I dig deep enough.  It hasn’t let me down yet.


1 This depends on whether bbdb has been loaded.  If you use bbdb and you’re not getting completion, invoke M-x bbdb and try again.