Microsoft Style Guide

February 15, 2018

The online (and free) Microsoft Style Guide (https://docs.microsoft.com/en-us/style-guide/welcome/) has been released. It replaces the previous Microsoft Manual of Style, a ‘must have’ style guide for those working with online text — user interfaces, online help, etc.


Search inside multiple PDFs at once

January 17, 2018

I had to search for a word across multiple PDFs in a single folder, and didn’t know if there was a way to do that. Off to Google, where I found these excellent instructions: https://www.online-tech-tips.com/computer-tips/how-to-search-for-text-inside-multiple-pdf-files-at-once/.

In case these instructions ever disappear, here’s a short version of the steps:

  1. Open any PDF in Adobe Reader or Adobe Acrobat.
  2.  Press Shift+Ctrl+F to open the Search panel.
  3. Select the All PDF Documents in option.
  4. Click the dropdown list arrow to show all drives. This is not an expandable list, so to specify a particular folder, select Browse for Location, navigate to and select the folder you want to search, then click OK.
  5. Type the word or phrase to search.
  6. Optional: Select any other search filter criteria (e.g. whole words only, case-sensitive). Note: At the bottom of the panel is a link to Show More Options if the filter criteria you want is not listed.
  7. Click Search.
  8. When the results are displayed, click on a result to open that PDF at the first instance of the word you searched for. Other instances within the same PDF are listed under the PDF location in the search results.

This just saved me a heap of time!


2017 blog statistics

January 1, 2018

Sometime in December 2017, this blog hit 11 million views since I started blogging in 2008! Some 1.84 million views occurred just in 2017, and it ticked over to 10 million views in mid-June. These figures don’t include any visits I made to my own blog (yes, I use my own blog for stuff I can’t remember!).

I wrote far fewer blog posts in 2017 (less than 40), so many of these visits were to posts I’ve written in previous years. I’ve written 1749 blog posts since 2008.

Surprisingly, I only have 607 subscribers (you can subscribe by clicking the ‘Sign me up!’ button on the right sidebar and entering your email address) who have signed up to receive email alerts each time I post a new article (and 819 Twitter followers for @cybertext), so I have to assume most readers are ‘hit and run’ readers — those who have a problem with Word or whatever, find one of my posts via Google etc., read the post, get what they came for (or not), and leave without checking out anything else.

Here are some graphs and tables for the 2017 statistics for this blog, as well as some comparative ones for ‘all time’ (‘all time’ is actually 2008 to 2017 — I started this blog very late in 2007, but didn’t really start posting until January 2008, so the 2007 statistics are too low to be significant).

Total views by month/year

Average daily views

The average views per day increased in 2016 (5053 per day) compared to 2016 (4777 per day), but were still a little behind the peak recorded in 2015 (5533 per day). The graphs above and below are for the full seven days per week, though most views occur during the five business days of the working week, probably reflecting the need to find answers to Word questions and the like when people are stuck with a problem at work. Weekends and major public holidays (particularly in the US) see a noticeable drop in views, as does the December/January holiday period and the northern hemisphere summer (July).

Top 20 posts


Some posts are just more popular than others! Those highlighted in blue appear in both lists — the top 20 posts of all time (2008-2017) on the left, and 2017 only on the right. Those without highlighting only appear in one of the top 20 lists. The numbers to the right of each title are the number of total views for that post in the time period.

Long tail

As expected, there’s a significant ‘long tail’ for this blog’s views. The top 20 posts (all have 20,000 views or more) garnered the most views. Everything else was a poor cousin to these top posts.

When I extracted out the views just for the top posts for 2008-2017 (i.e. >20,000 views each) and the top 20 for 2017 only (both below), the long tail was very evident. Again, the top 10 posts for all time garnered the most views, with posts 10 to 110 tailing off and flattening out. And for the 2017 view, the top six posts garnered the most views, then tapered off significantly after that.

So, there you have it. Ten years of blogging, 1749 blog posts published, and just over almost 11 million views (with 1.84 million of those in the past 12 months).

I guess I must be doing something right, even though the monetary return is close to zero. I pay an annual fee to WordPress to NOT show advertisements on this blog (I wouldn’t get any return from these even if I allowed them), and I refuse to try to ‘monetize’ my blog posts by hosting them elsewhere and running ads — I don’t like ads cluttering up and getting in the way of good content and potentially trapping readers into clicking on them, and I suspect my readers don’t like them either. Instead of ads, I have an option for readers to donate to this blog’s expenses if anything I’ve written has got them out of a bind, saved them time (and therefore money), or helped them be more efficient. In 2017 I received perhaps the equivalent of one hour’s paid work in donations… I use that money to pay my annual bill to WordPress to keep this blog free of ads and to have the convenience of adjusting the style (CSS) of this blog.

As in 2017, I’ll be writing posts sporadically in 2018 — I still have a day job that I’m committed to, and paid work always comes before unpaid work.

See also:

[Links last checked January 2018]


A geoblocking variation

December 30, 2017

Spotted when I tried to go to a website the other day. This takes geoblocking to a new level, though at least it very quickly tells you that they don’t sell their products outside the US/Canada! Would I even consider their products? Based on this, NO WAY!


All phone contacts added to car

December 30, 2017

When we got my husband’s new car a couple of weeks ago, the sales guy paired our phones. However, despite me saying I didn’t want all my 1000+ contacts downloaded, it happened automatically before he could change the setting.

My phone’s contacts are paired with Exchange Server, and Outlook on my PC had been happily creating ‘Suggested contacts’ for years (yes, you can turn this off in Outlook 2010 [under File > Options > Contacts]; I believe later versions don’t have it turned on automatically). Even though I may have deleted contacts from the main list, the ‘suggested contacts’ and subfolders I’d created in Outlook had heaps more people. Arrghh! And they ALL went into the car’s system — people who live outside Australia (the car won’t travel outside Australia and may not even go interstate), people who have died, businesses I contacted ONCE xx years ago. I purged these last week in preparation for slimming down the 1000+ contacts list (it’s about 550 now!).

After reading the car’s manual, I got it sorted out, and now have about 10 of my contacts in the car’s system!! In essence, what I did was:

  1. Turn on the car and wait for the Bluetooth to connect with my phone.
  2. Go into the settings in the car for my connected phone and turn off the option to download contacts automatically. THIS STEP WAS CRITICAL. Note: I can’t tell you where this is on your car — every brand/model is different. If you have trouble with this, read your manual, or go back to your dealer for help. Or ask a 12 year old…
  3. Delete the car from my Bluetooth devices in my phone.
  4. Delete my phone from the car’s Bluetooth devices.
  5. Re-pair the Bluetooth connection between my car and the phone.
  6. Once they were re-paired, I manually shared the selected contacts on my phone with the car. There was a bit of a black art in getting the sequence right to upload one contact at a time (it couldn’t deal with multiples, but that might be more me not knowing what to).

Now I have another issue — deleting contacts from Exchange Server via Outlook DOESN’T delete them from my phone or tablet, so even though I now only have ~550 contacts on Exchange Server, my phone still has the 1000+ contacts from a few weeks ago. I couldn’t find an easy way to delete them so spent some of the Christmas break deleting them manually from those devices. It only took a couple of hours and is now done.


MalwareBytes: Context menu lost

December 28, 2017

This post is for me in case this ever happens again. If it helps you too, great. But if it doesn’t work for you, don’t ask me for help as I don’t have any knowledge of the MalwareBytes AntiMalware (MBAM) program — instead, contact MalwareBytes directly (https://www.malwarebytes.com/).

What happened

MalwareBytes notified my husband of an upgrade (to v3.3.1) and he did the right thing and downloaded and installed it. But he lost the right-click menu option to ‘Scan with MalwareBytes’ in Windows Explorer. We reset the MBAM setting for the context menu (this will often work — turn it off, then on again; if it works, read no further!), rebooted the machine, downloaded and installed any upgrades (there were none), and gave up in despair as it was Christmas and my IT people were on leave and only available for emergencies. This wasn’t an emergency — just an inconvenience to have to manually scan a folder via the main MBAM interface.

Today, my IT people were back on deck so it was time to get it sorted out.

After checking user forums etc. my IT guy got back to me and checked the Registry settings. Nothing seemed untoward. Then he uninstalled MBAM (there’s a specific process he did for this, including using the proper MBAM clean-up tool, stopping MBAM and other services such as SuperAntiSpyware and Webroot, rebooting the machine, reinstalling a new copy of MBAM from their website, rebooting, enabling the other services etc. — I left him to it!).

But the end result was the same — still no right-click option to ‘Scan with MalwareBytes’ in the context menu.

Then he had a brainwave — I had told him earlier this afternoon that my MBAM upgrade to v3.3.1 went through successfully a couple of days ago AND that I had the right-click scan option. Both were Windows 7 machines.


He checked the Registry on my PC and found a setting for the context menu for MBAM, which wasn’t on my husband’s PC and which wasn’t where he’d expected to find it. He saved that setting, copied it to my husband’s PC, then merged it into my husband’s Registry. After a reboot, we had the context menu back!

For anyone else who has this issue, check for this Registry entry:

  • HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\

If it’s missing, you’ll probably need to contact MBAM to get the details for it.


Word: Transpose Surname, Firstname to Firstname Surname

December 26, 2017

I came across a heap of names styled ‘Surname,<space>Firstname’ (e.g. Smith, Jane) and needed to change them to ‘Firstname Surname’ (i.e. Jane Smith).

As with any find/replace operation, identifying the pattern is the first step. Once you’ve done that, the rest is pretty easy. In this example, the pattern was clear — each surname and first name started with a capital letter followed by one or more lower case letters, there was a comma after the surname, and then a space before the start of the first name. Each surname only had a single first name. Because names vary in length, I needed to use wildcards to specify matching the pattern for any number of letters.

Below is what I came up with for this swap — others more clever than me may have a more elegant way to do this, but this worked for me.


  • I don’t advise doing a ‘replace all’ with this — if there’s anything else that matches the pattern that ISN’T a name, it will get changed too.
  • This find/replace only finds whole names with a single capital letter (i.e. it finds Smith, Jones, Haythornthwaite, Jane, Rosemary, Jonathan). It does NOT find names with more than one capital (e.g. McDonald, AnnMarie) or with an apostrophe (e.g. O’Malley).
  • Hyphenated words are found, but transpose incorrectly (e.g. Smith, Jane-Ann changes to Jane Smith-Ann not Jane-Ann Smith; similarly Jones-Brown, John changes to Jones-John Brown).
  • Surnames with a first and middle name or initial will be found but transposed incorrectly (e.g. Smith, Jane K. Susan will become Jane Smith K. Susan instead of Jane K Susan Smith). Surnames with an initial letter instead of a first name will not be found (e.g. Philips, A. is not found)
  • Names separated with anything other than a comma, or that have two or more spaces between the comma and the first name will NOT be found.
  • Names with accents, umlauts, and other diacritical marks over letters (e.g. René) are found and transposed correctly.

Despite all the cautions and warnings above, if you have a long list of names to change, then you could run this find/replace, replacing one at a time and manually fixing the others that aren’t found or that will transpose incorrectly. It’s still quicker than doing them all manually.


  1. Save your document.
  2. Press Ctrl+H to open the Find/Replace window.
  3. Click the More button.
  4. Select Use Wildcards.
  5. In the Find What field, enter this (copy it from here and paste as there’s a space in the string of characters): (<[A-Z])([a-z]@>)(, )(<[A-Z])([a-z]@>)
  6. In the Replace With field, enter this (again, copy/paste as there’s a space in here that’s hard to see): \4\5 \1\2
  7. Click Find Next.
  8. Click Replace if it finds a name you want to transpose; if not, click Find next to go to the next one. (Note: Replace All is super powerful and you could change things you don’t want to, so err on the side of caution and click Find Next > Replace > Find Next until all are done).


  • Parentheses surround each ‘element’ of the find. These are represented by numbers in the replace (i.e. the 4th set of parentheses in the find becomes \4 in the replace)
  • < indicates the beginning of a word; > indicates the end of a word
  • [A-Z] looks for any upper case letter; [a-z] looks for any lower case letter
  • @ looks for any number of the instruction immediately previous (e.g. [a-z]@> looks for any number of lower case letters up to the end of a word — this covers the varying length of names)