IamCraig.com Rotating Header Image

IT

Information on information technology. Mostly a collection of how-to — or, how-I-did — articles.

Do you load the embedded images in email messages you receive?

In my daily emails I invariably receive HTML messages with embedded images that are remotely hosted. I’m not talking about attached images that may or may not be displayed in-line, I’m referring to images that are hosted elsewhere and are pulled in over an Internet connection.

Every email client I’ve ever used — which is only two, Eudora and Evolution (I miss Eudora!), not counting the few I have tried temporarily — has given me the option to display these automatically or not. I always choose not to display them. Why? Because invariably one or all of the images are intended to track whether or not the person at my email address has opened the message and (presumably) read, understood and agreed to it. No thanks. There’s no benefit in that to me the receiver, so why would I do that?

Example of poorly designed HTML email message displayed in Evolution.

Example of poorly designed HTML email message displayed in Evolution

Where I really notice this is in marketing messages, of course. One in particular that I receive daily (at left) lists a number of products in which I might be interested. There are six of them on the page, and it used to be that three of them displayed above the fold — i.e., where the screen ended before I am forced to scroll. I didn’t see the images due to the default settings in my email clients that do not display the images, but there were textual descriptions that were enough to make me decide whether or not to click to go to the website for more details. Sometimes I would click, but often not. The point is though that some months ago they changed the layout of the messages, and now there are none above the fold, and no visible text descriptions without scrolling. As a result, I don’t even remember the last time I clicked for more information.

And then there are messages where the header image seems to take up so much space that you have to scroll down fourteen screens to see any text! I’m not sure which is worse; that, or messages where the whole message is contained in one embedded image!

There are even companies that provide a service where you place an image bug in normal, everyday emails, usually in your email signature. These companies must be on the decline though, as I haven’t seen any in a while. When I do come across them I block their domains using my machine’s “hosts” file, so that they never achieve their purpose, even if I do load the images in the email.

To answer my own question, I almost never load the images. It’s an immediate turn-off if you can’t explain what you’re communicating about without pictures.

Motorola for the win

As you’re aware if you follow this blog — all two of you — I recently broke my cell/mobile phone and needed to replace it. I know, this is stunning news that you just never hear and likely haven’t experienced yourself, but bear with me. πŸ™‚ Although I had a cell/mobile phone long before many people did, I essentially gave up on them and stopped owning one for many years due to the way that the Canadian cell phone oligopoly rapes their customers.

In 2017 I decided to buy a phone from an American supplier — Ting, who operated based on paying only for the services you wanted and used — even though I was in Canada. Ting was a mobile virtual network operator owned by Tucows (before they sold it), a Canadian company who also own OpenSRS, a domain registrar who operate based on the reseller model. One of these days I will write more about them and why I left them after almost twenty years, but it should suffice to say that they didn’t (and don’t) live up to their own hype. Tucows never opened Ting in Canada because of how fucked-up the Canadian cell phone market is, and they essentially said that to their Canadian clients … without using the four-letter word I used. πŸ™‚

However, Ting was awesome for the approximately two years I used them. (They actually did live up to their hype!) They’re not any more, sadly, because they now operate based on the plan system like just about everyone else, rather than actually charging you for what you need and use. (Tucows sold Ting Mobile.)

Through Ting I bought a phone that was adequate for my needs, a US$60 smartphone. Why didn’t I spend a thousand dollars on an Iphone? Because I don’t give a fuck about fads like owning the latest and greatest tracking device. Simply put, I just needed a portable computer in my hands that would tell me when I had email that may or may not need my immediate attention. I roamed in Canada, of course, but that was still cheaper in the long run than owning a Canadian cell phone. Bizarre, but true! I also wasn’t scrolling through Facebook endlessly and watching videos on it; all it did, essentially, was check my email. (In January 2024, after Rogers and Bell coincidentally raised their rates at the same time by about the same amount — after Rogers bought Shaw and promised that being allowed to do that would cause rates to be lowered! — I’m again hearing other Canadians talking about getting a non-Canadian phone and roaming! With VoIP and Internet-based messengers like Signal, why not?! Welcome to the 21st century!)

I still have that $60 cell phone! I occasionally use it on wifi, but I suspect it wouldn’t be welcome on any cell networks in 2024, or be able to download the latest apps.

In 2019 I was enticed to join Freedom Mobile, to whom I refer as Troublesome Mobile. I am not generally someone who looks for the cheapest, nastiest deals around — quality is not cheap, but quality isn’t to be found in this industry at any price! — but considering the extent to which the Canadian cell industry, as I say, rapes the Canadian population, the deal was good for what I needed, a portable computer that let’s me check my business email when I’m out. I don’t know anyone who pays $15 a month (before taxes) to be connected wherever they go.

Troublesome Mobile offered a Motorola phone at a reasonable price, so I went for it. I had bought a Samsung tablet a few years before but, as I said at the time, “In a nutshell, I am mightily disappointed in my Samsung/Android tablet.” So there was no way I was gong to acquire a Samsung phone, and I never will seeing as they have become the Apple of the Android world. When looking for a new phone late last year, I decided on another cheap, unlocked phone from an electronics retailer. I mean, smartphones have been around for years now, right? Apple is up to the Iphone 132 now or something, I believe, and each iteration is a vast improvement over the one before, right?! Well, apparently not. I was well aware that my old Motorola had Motorola apps on it that imparted more functionality on the phone than what comes with Android the operating system, but I naΓ―vely figured that by 2024 those things would be standard in the OS. Ha! They aren’t, but I knew I’d adapt … until my new Cat Phone wouldn’t play nicely with my network of (limited) choice.

So I returned it and, as I said, walked into the trap of the Canadian cell phone oligopoly and crawled back to Troublesome Mobile on my hands and knees and handed over a couple of hundred dollars for another, low-end Motorola. Now, with my new phone, I can again karate chop my torch on. Yippee. Sadly, I learned that the feature of my old phone whereby I could do a double wrist twist to turn on the camera doesn’t work any more. As I said, new versions of software don’t imply improvement.

I readily admit that my vast experience will all of three brands of smartphones doesn’t hold a candle to the experience of selfie queen Kim Kardashian, who can afford to buy (or is probably given) a new phone every week, but Motorola is one company that I’m reasonably content with … except for the fact that it’s owned by Lenovo, who are based in the hostage-taking PRC. Now all I need is a Motorola sponsorship so that I can get paid for my effusive words of high praise! πŸ™‚

Out of range or no pwr at base: VTech cordless phone

VTech model CS6649-3 cordless phone and "digital answering system"

VTech model CS6649-3 cordless phone and “digital answering system”.

After a power failure, the cordless handsets on my VTech CS6649-3 cordless phone and “digital answering system” stopped working and displayed “Out of range or no pwr at base” on their screens. This system is at least ten years old, so I figured I’d be buying a new system. However, I did a web search and came across a couple of pages that didn’t quite help me solve my problem, but got me started.

The least helpful, of course, was the first result from VTech themselves: “What should I do if Out of range OR No pwr at base appears on my cordless handset?” I did briefly consider the possibility of third-party interference, but this seemed highly unlikely all of a sudden.

Further help was available at the following links:

The latter also led me to the video by Andrew Calvet, which is cut off suddenly at the end. (The “*7890#” code in this video works on my phone, but the “*331734#” code mentioned in other search results, including the two above, does not.) I got the same result as in the video, and then just hit “off/cancel” key several times to get back to the home screen. However, my screen still stated “Out of range or no pwr at base”, so I was no further ahead. So I decided to disconnect the battery, wait a few seconds, then reconnect it. (I needed to gently use pliers.) It then stated, “To register HS see manual”. Great. So I started to look for the physical manual, then remembered I had it saved on my computer.

I haven’t done a page-by-page comparison, but page 61 of this manual has the instructions “to register a handset”:

  1. Press and hold FIND HANDSET on the telephone base for about four seconds until the IN USE light turns on and it shows Registering…
  2. Press QUIET# on the handset. The handset shows Registering… Both the telephone base and cordless handset show Registered, and you hear a beep from the handset when the registration process completes. The registration process takes about 60 seconds.

I had to set the date and time the first time I did this on the first handset, but didn’t have to for the other two handsets. At the end of it all, all three remote handsets are working. The base was always working.

Not sure if just disconnecting and reconnecting the batteries in the handsets (and re-registering) would have done the trick; perhaps entering the “*7890#” code wasn’t actually a necessary part of the process.

Hope this helps you.


Updated, 2021-07-27: This happened again less than six months later. I can therefore confirm that simply disconnecting and reconnecting the battery does not work. You still need to enter the code as instructed in the video, then disconnect and reconnect the battery. The cause of the current failure is unknown, as we did not have another power failure.


Updated, 2021-08-30: OK, it seems that I’m having to do this almost regularly now, although the most recent time happened after I pulled the plug on everything in my office while I went away for a couple of weeks. So, for my own benefit, rather than making you (or myself) watch the video and read the manual, here are the steps:

  1. On a/the handset, press MENU/SELECT.
  2. Scroll up to Settings.
  3. Press MENU/SELECT.
  4. Enter *7890#.
  5. Scroll to TEST HANDSET.
  6. Press MENU/SELECT.
  7. Scroll up to NEXT PAGE ….
  8. Press MENU/SELECT.
  9. Next menu option displaying should be REGSTR CLEAR. Press MENU/SELECT.
  10. The phone will ask you to confirm “REG CLEAR ?“. Press MENU/SELECT. Phone will display “OK“.
  11. Disconnect and reconnect the battery in the handset. It’s my habit to wait a few seconds in between. The handset will now display “To register HS See manual”.
  12. On the base, press and hold FIND HANDSET for about four seconds until the IN USE light turns on and it shows Registering….
  13. Press QUIET# on the handset. The handset shows Registering…. Both the telephone base and cordless handset show Registered, and you hear a beep from the handset when the registration process completes. The length of the registration process varies, but it usually takes fewer than 60 seconds.

You’re done.

man page humour

Found this little nugget in the “find” man page recently:

A ‘%’ character followed by any other character is discarded, but the other character is printed (don’t rely on this, as further format characters may be introduced). A ‘%’ at the end of the format argument causes undefined behaviour since there is no following character. In some locales, it may hide your door keys, while in others it may remove the final page from the novel you are reading.

Reminds me of a T-shirt I have:

$> man woman
$> Segmentation fault (core dumped)

HeidiSQL and MySQL: Can’t connect to MySQL server on ‘127.0.0.1’ (10061)

HeidiSQL can't connect to MySQL.

HeidiSQL can’t connect to MySQL

I installed XAMPP and HeidiSQL (the latter running under Wine) on my local Xubuntu 14.04 (LTS) system sometime in the last year or two. I’d used both before when I used to use Windows, and have had no problem using HeidiSQL to connect to external MySQL servers. However, I have had no success connecting to my local installation of MySQL. Not having time to deal with the issue (what seemingly inexplicable computer issue is ever resolved in a matter of minutes?!) I just left it and used phpMyAdmin that comes bundled with XAMPP, which is up to the job but which is a pain to use once you’re used to a native application like HeidiSQL.

Well, yesterday was the day to get to the bottom of the problem, and predictably it took me several hours to figure out.

I found a number of articles that referred to user privileges, client bugs, binding MySQL to the localhost IP address, some guy who was doing it wrong, another guy who must have been using machine translation to try to get his point across (I don’t envy the poor guy), and a guy who seemed to have the same problem as me (but didn’t).

I found the clue that solved my problem in the Navicat knowledge base (“2003 – Can’t connect to MySQL server on xxx (10061)“) that linked to the MySQL reference manual (“B.5.2.2 Can’t connect to [local] MySQL server“). Looking at the default XAMPP MySQL configuration file at /opt/lampp/etc/my.cnf I noticed the following:

# commented in by xampp security
#skip-networking
skip-networking

I’m guessing that the XAMPP-provided script that I recall XAMPP suggesting you run after installation to plug a few security holes put that there. After I once again commented out “skip-networking” and restarted MySQL, HeidiSQL was able to connect. Considering I generally only run the local MySQL server for brief periods I don’t expect this to be a major security issue.

I am a happy camper once again. Hope this helps you too.

Android issues

Google+ has stopped, which is very unfortunate.

Google+ has crashed, burned and died, which is terribly unfortunate

As I’ve alluded to before, my disappointment with the Android operating system created by Google is mighty. However, it reached a new low last week.

Suddenly I kept being presented with “Unfortunately, Google+ has stopped” errors that prevented me from doing anything until I tapped either “Report” or “OK”. I tapped “OK” the first few times, but then I thought, “Well, maybe I should be a good user and report this problem.” At first my reports were polite, but after being presented with this error every few seconds, sometimes one on top of the other while I was still trying to report the previous instance, I started to use four-letter words, usually two per report. Then I just gave up, and hit a few random letters before sending my report. I figured that after a few dozen reports something might be done. I am so naive!

Anyway, after a day or two of not being able to do anything on my tablet without constant interruption by the Google Plus app apparently crashing, I decided to take matters into my own hands. First of all, I don’t use Google Plus in any shape or form, but (of course) it’s a “system app” that you are forced to keep, so I rolled back the updates and disabled it. Then I went and disabled every single Google app I could identify except the six that I’m actually using:

  • Chrome,
  • Gmail,
  • Google Play service,
  • Google Play Store,
  • (Google) Maps, and
  • Youtube.

I have no doubt that there are more Google services on my tablet “phoning home” at every opportunity, but I probably can’t do much about those. As for the six that are left, short of “rooting” my device I probably can’t operate without the two “Play” apps, Gmail is on my list of things that I won’t need in the near future (and will disable) as I work diligently to stop using all Google services (I’ll be writing about that when I have some time), Chrome I’m keeping for now as I think it’s a good idea to have a second web browser on any machine (even if one of them is Google crap), Google Maps I will replace if or when I find something as good (in the meantime I’m fine using it with location services turned off), and Youtube … well, since it’s the world’s video sharing service, I won’t be disabling that any time soon, I suppose.

Speaking of rooting, I’m now way more inclined to do that than I was a couple of years ago when I bought this tablet. The only issue is that I don’t have the time to spend managing all of my computing resources. Technology was supposed to save us time, allowing us to frolic in fields of green with our friends and families while the computers did all the work. Instead we’re chained to them like slaves. How bloody ironic! Anyway, my tablet doesn’t seem to be on a list of supported devices for which there are instructions and software for rooting. Further digging reveals that I could probably work on it but … here we are back at the time excuse in this circular argument.

But here’s some further irony in this story: Once I had disabled all of the Google apps I could get my hands on, suddenly I could multitask again! Well, as well as you can on a tablet, I suppose. Where once I couldn’t switch to another app without it completely reloading from scratch, now I can get back to where I was mid-session with some of them. Firefox is the exception, which annoyingly reloads tabs from scratch every single time they’re re-selected.


Update, 29 November 2015: Having got on a roll and removed or (if it’s a “system app”) disabled any app that I’m not using, I was left with Samsung WatchON, which (after rolling back all of the updates) I can neither disable nor remove nor even stop. And yet, according to its Wikipedia article (as much research as I am willing to waste my time with), “App is discontinued on December 31, 2014 worldwide except US and Korea, and June 15, 2015 in those remaining two countries.” (The wording of that is not the only problem with the Wikipedia article.) When I try to run the app I’m told that it won’t run because the time on my device is wrong. Well, actually Samsung, it’s not. And so, having rolled back all of the updates so that I could disable this “system (cr)app”, I’m now running an out-of-date and possibly vulnerable app that I can neither stop, disable nor remove, and I keep being prompted to update it. Well, I guess I’d better update it then to stop the annoyance! Now when I try to run it I get an error message about not being able “to retrieve data from the server.” It helpfully suggest that I “Try again later. (1) [sic]

Thanks, Samsung, you useless bastards.

Submission to GNSO Privacy & Proxy Services Accreditation Issues Working Group

My submission today to the ICANN forum addressing the GNSO Privacy & Proxy Services Accreditation Issues Working Group Initial Report:

While I can’t understand why some businesses hide their contact information — it seems counter-intuitive — I emphatically support the legitimate use of WHOIS privacy and proxy services.

To state my bias up front, I am the registrant of 120 domains for business and personal use. None of my 44 business domains are protected by a privacy or proxy service. Of the remaining 76 domains, 8 (11%) use a privacy or proxy service. I’m not doing anything illegal with those 8 domains (you’ll have to trust me on that), but it’s controversial enough with some people that I wish to make it that much more difficult for those people to identify and/or find me. If the cops need to find me for any reason — which they don’t — including related to my domain registrations, it would take them all of five minutes with their legal powers (and, ironically, finding me probably wouldn’t even involve using WHOIS!), and that is sufficient for the greater good of society.

In my mind “legitimate use” of WHOIS privacy and proxy services includes hiding from people who would like to make it easier to track down people they disagree with (including using some legal pretext to do so), which includes even people with a legitimate reason to want that information. If someone with a legitimate intellectual property interest in the content of a particular website is motivated enough to contact the owner of that website, then they should be prepared to do some work to do so.

It should not be any easier to track down the owner of a domain than it is to track down the owner of a phone number or vehicle licence plate — which is not easy in my part of the world — if the domain owner does not want to be found by casual curiosity, even the professional curiosity of lawyers.

While I give ICANN lukewarm support for verifying WHOIS information provided by domain registrants (it might as well be accurate), the fact is that the WHOIS database is more useful for spammers than it is for any legitimate use. For that reason it is a far more negative effort than it is positive, and any effort to restrict the use of privacy and proxy services only makes the public perception of the WHOIS even more negative.

Archived on ICANN website.

Update, 13 August 2015: Removed the link to my submission on the ICANN website, as the URL keeps changing.

Deleting files under Linux/Unix

Today I came across a comment on a blog post related to deleting files on a Unix/Linux system that was a clear case of bullshit. I tried to post a comment to that effect on the blog in question, but the comment feature was broken. So, since I had already gone to the trouble of writing my response, and since I don’t post nearly as much to my own blog as I would like, I’ll just post it here instead.

To PoorMe, who claimed to have “just lost all of [his/her] files and folders on [his/her] server in just 2 seconds” by running the suggested command, I call bullshit!

I actually intentionally tried this a few years ago on a server that I was decommissioning. First of all, you have to be in the root directory for the dreaded “rm -rf *” command to try and remove everything (unless you craft the command explicitly to remove everything under the root directory), and you’re almost never in the root directory unless you place yourself there for some specific and very unusual reason.

Secondly, in my test (which I did run as root) I ran into many files and directories that threw up errors and interrupted the process, even though I used the “-f” flag. In fact, I ended up having to delete individual directories off of the root to do what I was trying to achieve, and even then I gave up trying to remove anything but directories I knew contained user data.

Thirdly, even without those errors the process would have taken minutes, if not hours, not “2 seconds”. Anyone who thinks it takes two seconds has obviously never tried it. Besides, assuming you’re connecting over SSH, how are you still connected if you deleted everything, including the SSH server?

Bottom line, don’t run commands on your system that you find on the Internet without first understanding and checking them. But even if you don’t take that advice, the chances of you erasing every file and directory on your server in the blink of an eye are close to zero. Sure, you might erase a whole lot of stuff you didn’t want to erase that you may never get back and which may destabilise your system requiring you to reinstall the operating system (and it may happen in as few as two seconds), but what PoorMe claims happened almost certainly didn’t happen.

Goodbye Windows! Goodbye Google!

The day is finally here! It’s 8 April 2014, and support for Windows XP has ended. Years ago — I really don’t remember how many — I swore that XP would be the last version of Windows that I’d run. Not because XP was any worse than versions of Windows before it; on the contrary, having finally reached a level of acceptable stability with Windows 2000, XP continued that and I was generally happy, although that happiness (contentedness, rather) has been badly tinged in the last couple of years by the fact that my older machine (still easily meeting the technical requirements for XP) got more and more bogged down by the crap that everyone feels they need to load into their web pages.

But back in the mists of time I saw where Microsoft was going with Windows, and I wanted no part of it. Whether they succeeded or not with their plans for DRM, I wanted no part of their philosophy. (Apple is even worse, not to mention ridiculously overpriced, so that certainly was never going to be an option.) Besides those issues, I recently helped a friend buy a new computer and I was just aghast at Windows 8. It’s horrible! Maybe as someone who got his start on an Apple ][ and then moved to DOS, I’m just an irrelevant old fuddy-duddy now, but I’m still a reasonably productive (no old-age home yet) and paying consumer, and Windows 8 would not do anything to help with my productivity.

So with the countdown clock winding rapidly down to today, I bought a new machine from System76 that came with Ubuntu Linux. I’m still getting my sea legs on it, but I’m very happy so far. If you’ve ever used swear words when dealing with Windows and you’d like to consider alternatives but you’re worried for some reason about trying Linux, don’t be. So far I’ve found that it feels like all that has happened to my daily experience is that what Windows calls the “task bar” has moved from the bottom of my screen to the left edge (I could probably move it, but I’m not that motivated to do so), the close button has moved to the top, left-hand corner from the right (but Alt-F4 still does the same thing), and I now have a thin combination between a task bar and a menu bar at the top of my screen. In other words, my mind is not preoccupied with figuring out how everything works, and I’m more productive because I have new hardware. It’s a win all around. As someone who has watched former Windows users (including myself) tear their hair out trying to figure out the so-called intuitive Mac operating system, I’m very happy so far.

Even selecting new applications has been a breeze so far, with one exception. Not counting background programs (generally those running in the Windows system tray), on Windows I generally manually run four programs as soon as I log on: an email client, a text editor, a web browser and a terminal window. On Windows these were Eudora, TextPad, Firefox and (of course) a DOS box.

I’ve been a Eudora user since version 2 (in April 1996 when I bought my first GUI-based computer running Windows 95), almost twenty years ago! Over time I tried Thunderbird, Outlook and Outlook Express (and considered others, not the least of which was Pegasus), but they all failed to impress me. Even when Qualcomm stopped developing Eudora in 2006 (version 7 for Windows, 6 for the Mac) I kept using it. (Don’t forget, the standards on which email is based go back to the 1960s!) Qualcomm passed along something — I’m not entirely sure what, other than the name, but not much and certainly no substantial code if any at all — to the Mozilla Foundation and they were supposed to develop a Thunderbird-based “new Eudora”, keeping as many of the features of Eudora as possible that made it such a superior email client. To make a lengthening story shorter (I should have seen the writing on the wall, given my lack of enthusiasm for Thunderbird), Eudora was pissed down the toilet and (known by then by the project name “Penelope” and then as Eudora OSE) died a cruel death. Ironically, the lack of Eudora on Linux (unless you run it in an emulator) was my biggest worry about switching to Linux, but circumstances have conspired to force my hand anyway.

TextPad is a great editor, although a Windows-only program, but Linux is famous for its text editors. (I mainly used TextPad as a note-taking and text-processing application anyway; for coding I used Notepad++ [Notepad Plus Plus, aka Notepad Double Plus].) Firefox runs on Linux; and of course Linux has a far better, more functional and more versatile command line. The fact that I have (with the significant exceptions of Eudora and TextPad that I’ve used for so long) been drawn to open-source software (even on Windows) means that I can keep using on Linux some of the programs I’ve been using on Windows: GIMP, KeePass, the aforementioned Firefox, and more. This is good.

So what am I using now for email on Linux? After some research I have (for now; I’m still evaluating) settled on Evolution as my new email client, but I may also evaluate Zimbra‘s email client. I’m also still using Gedit (the default editor in Ubuntu) with some plug-ins to replicate what I had with TextPad, but I haven’t made a final decision on that yet either.

Hopefully I’ll have more to say about GUI Linux and System76 in the near future.

And what does Google have to do with all of this? Well, the other thing that I am changing after so many years is the Web search engine I use. The last time I did that was when I switched from AltaVista to Google in the late nineties or early noughties! But today is about dumping particularly evil companies, so it seems a good time to double the celebration. Unfortunately, due to the reach of their evil I can’t dump Google entirely, but I’m making a first step by not feeding them with free data about my life through their search engine. I don’t trust anyone online any more, but for now DuckDuckGo seems as good a search engine to use. In fact, if they didn’t have such a stupid name I’d probably have realised what they were and switched much sooner!