IamCraig.com Rotating Header Image

IT

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

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!

Samsung and Android: Out-of-box failure

I learnt a new term recently while doing research related to configuring my Samsung/Android tablet: Out-of-box failure. The current definition (as of this writing) on Wikipedia that applies in this case is as follows: “Out of box failure … is a negative experience a user has when installing and/or performing initial configuration on a piece of hardware ….”

In a nutshell, I am mightily disappointed in my Samsung/Android tablet.

While I have damn nearly two decades of experience being the go-to guy for computer problems among some of my friends (not to mention providing technical support to paying clients for almost that long), managing a tablet (or smart phone) is a new experience for me. I expected to run into challenges, but I didn’t expect to be let down so severely.

I remember learning about Android years ago — long before it was even released — and at the time I was excited. (Well, as excited as I get anyway.) Here was a new operating system (albeit based on an old [and good] OS, UNIX, with which I have almost as much experience as I do with Windows) that was going to allow people to turn their “dumb phones” (akin to the one-trick pony sitting on your kitchen counter: the toaster) into handheld, portable computers, just like their bigger cousins sitting on laps or desks. Not only that, it was going to create competition for the monopoly at that time — Apple and iOS — giving its users the freedom to manage their devices as they saw fit rather than as the dictatorial manufacturer saw fit. Besides the fact that I am a fan of competition, I have no love for Apple or their products. I specifically dislike the control they exert over the consumers of their products, the people who put ridiculous amounts of money into Apple’s coffers. Either you do it Steve Jobs’ way, or you can suck wind:

And yet, here I am — definitely not an “early adopter”! — with a new Samsung Galaxy Tab 3, running Android of course, and I find that I’m being railroaded into having to do things according to the Gospel of Google:

  • First, if you want to do anything useful with your tablet (other than read reams and reams of dire legal agreements as you run each app for the first time), you have to sign up for a Google/NSA account. If you don’t want to do that, you might as well return your tablet or use it for a paperweight, frisbee, coaster, or for skipping on a lake like you would with a stone.
  • Then, if you want to dump crap like Dropbox … well, you can’t! It’s a “system app”, so you can’t uninstall it. You can disable it, but only after you roll back the updates that were installed after you finally broke down and gave your name and email address to Google and the NSA.
  • The other thing I have found my Samsung/Android tablet is useful for is spam. Not sending spam or stopping it, but reading it. The fucking thing is always whistling at me or interrupting what I’m doing to ask me if I want to sign up for one Google service or another, or to remind me that I haven’t yet set up yet another “system app” (Peel Smart Remote in this case) that I also have no intention of ever using. Plus I’m now getting spammed by YouTube (“Happy dances around the world” for fuck’s sake), even though I keep clicking the “unsubscribe” link and even though the link takes me to a YouTube page that tells me that my “current setting” is “off”. Let me give you arseholes a tip: If you want me to use your software or service, hijacking my email account and the device for which I paid a couple of hundred dollars and generally pissing me off is a guaranteed losing strategy. This kind of shit is why, in the desktop world, the first thing I do with a new computer is “format c:” and install a fresh and unadulterated copy of the operating system to get rid of all the “crapware” cluttering the desktop and hard drive that companies have paid to have added to the system, but which is generally of little or no use to any thinking user. I suspect that once I get the hang of this, I will similarly root any future new Android device I buy (or work on) immediately.

OK, so as I think I understand it (I’m just guessing at this point in my learning experience, actually), it’s the decision of the device manufacturer to decide what apps are “system apps”, so I need to blame Samsung for that … and they (and Google) are starting to look more and more like Apple to me. This isn’t even a cell phone attached to one of the evil members of the cell phone cartel, who speciously claim that they must control what software runs on my phone — it’s just a tablet, which to me should be no different than a desktop computer when it comes to installing what I want on it — so I fail to understand why I am forced to keep apps that I have no intention of ever using, such as Dropbox and Peel Smart Remote. (Hasn’t Google learnt from Microsoft’s experience about bad behaviour like this in the latter’s various anti-trust lawsuits launched by the American and European governments?) To me this is like being forced to live with a slovenly neighbour from down the street, because the Communist Party Housing Authority said so. No thanks.

Although I have had this tablet for almost three months now, it has taken me this long to get over my feelings of loathing and dread (for all of the above reasons) and find the time to get this far in the experience, where I have finally installed my choice of web browser (Firefox, which crashes daily for no apparent reason) and anti-virus (Avast), and a crashing (because it wants to use the now disabled Dropbox) KeePassDroid so that I can actually access useful services that I use for which I need to log in. (Two out of three apps crashing; not what I would call “out-of-box happiness”.) I don’t have all the time in the world to screw around with this crap, as educating as it is, so time will tell whether or not this tablet turns out to be a productive and useful tool, or another listing on Craigslist.

It will also determine what new cell phone I buy shortly, ending my one-man, seven-year boycott of the anti-competitive cell phone industry, and a “dumb phone” (also known as a “feature phone”, although I can’t figure out why when it has only one feature!) or continuing with no phone is starting to look like a mighty attractive option right now.

Stay tuned!

Port 25 open on Shaw connection

While doing some mail server testing, I happened to notice that port 25 outbound on my run-of-the-mill, consumer grade, non-static Shaw connection is open. I wonder if this is a mistake, or if they’ve abandoned the practice.

Block outbound email to a specific domain with qmail

With Sendmail, I can block all email from (a sending domain to the server in question) and to a (foreign) domain using the /etc/mail/access file. However, apparently, it’s not so simple with qmail. Further complicating my need to prevent all users on one of my systems (which uses qmail) from sending email to certain domains is the fact that the system also uses Plesk, so I didn’t really want to start messing around with patching qmail and risk breaking something to do with Plesk.

After a fair bit of research I settled on a workaround using /var/qmail/control/smtproutes to artificially direct email sent to those domains from my qmail system to another mail server under my control, where the emails are rejected during the SMTP dialogue (because they’re not configured on that mail server, of course), thereby being bounced immediately to the sender.

If /var/qmail/control/smtproutes doesn’t exist on your server (it shouldn’t by default) you can create it with the following contents, or add the following contents to an existing file:

bad-domain.com:mx.your-other-domain.com

The file should be owned by the same user and group as most of the other configuration files in the “control” directory.

In this example you want to stop users from sending email to bad-domain.com email addresses, and you control an external mail server at mx.your-other-domain.com. When a user tries to send email to a bad-domain.com address, the sending mail server will not look up the MX record for bad-domain.com, instead routing the email to mx.your-other-domain.com. Because mx.your-other-domain.com is not configured to accept or relay email for bad-domain.com, it will reject it.

Caution: DO NOT route email to a mail server that is not yours. This will likely be considered spam by that mail server’s administrator, and the IP address of your mail server will then likely be blocked and perhaps added to more widely-distributed blacklists. If you don’t control another mail server you could route the forbidden email to a non-existent domain, such as no-such.domain or dev.null or bogus.invalid. To make the bounce message a little more helpful to the receiver (i.e., the original sender), perhaps make up a bogus domain like “Sending-to-that-domain-is.prohibited” which, on some systems, will return a bounce message that might include text like this:

Sorry, I couldn’t find any host named Sending-to-that-domain-is.prohibited.

Do not use a non-existent domain on a real top-level domain (e.g., v539bq59vb45.com, or some other string of randomly-typed characters followed by a real TLD), because there is no guarantee that domain won’t be registered and used in the future. Avoid using even your own real domain that you’re not using (unless you set up some unique but descriptive sub-domain such as “this-is-a-bogus-mx-vb49w4.example.com”), as you may use it in the future and forget that you’re directing email to it. That could result in mail loops if you end up hosting the domain on the same mail server, or being blacklisted if you host it with a third party or allow it to expire and it’s registered and used by someone else.

Anyway, having another mail server to use, I’m sticking with using that to cause the messages to bounce back.

Some assistance in coming up with this idea came from this thread at boardreader.com.

Have a comment or a better idea? Let me know in the comments.

Oh, the irony

So there I was, surfing the Web looking for information related to ambulances in British Columbia, when I came across the BC Ambulance Service’s page on treatment guidelines. Being the curious type, I downloaded a PDF copy of said treatment guidelines to have a quick look.

But instead of a document about treatment guidelines, this is all that the 2.2 MB file displayed to me in my current PDF reader of choice:

For the best experience, open this PDF portfolio in Acrobat 9 or Adobe Reader 9, or later.

For the best experience, open this PDF portfolio in Acrobat 9 or Adobe Reader 9, or later.

Now, given the size of the file and the fact that the size matches what is stated on the BCAS website, the content of the PDF is obviously there on my computer, but the BCAS (presumably) have (in their infinite wisdom) deemed that I can only “best experience” (excuse me while I throw up) their document in Acrobat Reader! This is indeed ironic, given that “PDF” stands for “portable document format” and, according to page 33 of Adobe’s own specification, “PDF is a file format for representing documents in a manner independent of the application software, hardware, and operating system used to create them and of the output device on which they are to be displayed or printed.” (It also reads, on page 25, “The goal of these products [Adobe Acrobat] is to enable users to exchange and view electronic documents easily and reliably, independently of the environment in which they were created.”)

So, apparently, the portable document format isn’t actually very portable.

I refuse to install Adobe Acrobat Reader on my primary machine. It is the poster child for “bloatware“; when all you want to do is have a quick look at a PDF document, or all you want to do is open a one-page document (like the invoices I prepare in my business), you have to load this behemoth of a program, wait and wait and wait some more while your hard disk grinds on forever, only to use one per cent of the program’s features (when it finally opens) and take less time to look at the document than it took to open it. And let’s not forget about the constant updates to the ninety-nine per cent of the application you don’t use, and Adobe’s habit of getting their sticky fingers into the very heart of your operating system. No thanks.

If Adobe produced a “light” version of Acrobat Reader (which is itself a light version of Acrobat, a program used to create PDFs) I’d consider using it. Until then I should at least acknowledge Adobe for making the portable document format an open standard, allowing me the choice to use other software to view PDFs.

And you, BC Ambulance Service? How about making your portable-document-format document portable? I don’t want to “experience” your document singing and dancing; I just want to read it. At least let me have a second class “experience” in my chosen PDF reader. Thank-you.


Update, 3 May 2012: Wouldn’t you know it. The day after I wrote this, Foxit Reader prompted me to install a security update. After the update I thought I’d see what happens when I open the same file. Lo and behold! Turns out that it appears that a “PDF portfolio” is (as the name might suggest) a portfolio or collection of PDF documents in one container (file), and one needs to view the “attachments” to see and open the individual PDF documents. The original display (see above) certainly didn’t suggest that, and the inclusion of the Adobe logo made me believe that here I had a document created in Adobe Acrobat that refused to be displayed in non-Adobe PDF readers.

Turns out I was wrong. Not sure if I should blame Foxit Reader for not being more helpful, or if I should blame Adobe because a document created using their software (the document’s properties show that it was created by Adobe Acrobat) led me to the conclusions I made. I lean towards the former — if only because of the different behaviour of Foxit Reader after the update and the fact that the update appears to address this very issue — but I do presume that the wording displayed previously (the so-called “best experience”) comes from Adobe and their software, and so could be worded to be more helpful and less biased. Clearly though, Foxit Reader is now identifying the nature of the file and displaying its own message, something it should have done before.

Below are screen captures showing what I see now on opening the file, on viewing the attachment list, and on opening the attachments.