Changes in Mac OSX Over Time: The Good Parts

C++: The Good Parts

C++ is the best example of second-system effect since OS/360. - Henry Spencer

 
Even Bjarne Stroustrup has some sense that there is indeed a smaller and more elegant language struggling to get out of C++. He is right that that language is not Java or C#, but I would suggest that this more elegant language has been right under our noses the whole time:
 

A modified book cover for K&R labeling it as"C++: The Good Parts"

Now if we could turn back the clock on MacOS

I used to think that OSX was my favorite flavor of Unix. Now I think that the Mac, iPad, iPhone, and Apple Watch may be preferred for nontechnical users on all counts, but Apple has been more and more going its own way, and the result has made an environment that is more and more hostile to Unix / Linux gurus. Some of this is discussed further in Macs are now Super.Computer.s running “IRIX,” a Super.Computer. OS!:

Terminal confusion

I have narrated above the breakage that shipped to me with OSX 12.2.4; the breakage that shipped with the OSX 12.2.2 update was Terminal.app crashing on a regular basis. And while I don’t wish to patronize developers who work with graphical IDE’s, the two most heavily used applications I have are Google Chrome and Terminal. When I poked around, I was pointed to an Apple developer bug first posted in 2016 that has 147 “I have this problem too” votes…  I wish they had done something more polite to Unix users than breaking and not fixing Terminal, like setting a Terminal.app background image of someone flipping the bird at command-line Unix / Linux types. Really, flipping the bird would be markedly more polite.

In conversations with technical support about malfunctioning in Apple’s version of Apache, it took me an escalation all the way to level 3 support before I spoke with someone who knew that the Macintosh had a command line (let alone having any idea what that meant). And I was told that Apple supported GUI use of e.g. webservers, but not command line.

More broadly, it’s been harder and harder by the year to get things working and I was astonished after initial difficulties installing SuiteCRM what my research turned up: Apple has removed parts of the OS that that project needed to run.

An even bigger shock

A much bigger shock came when I created a Linux VM to install some open source software projects I had meant to install natively.

I was shocked about how easy it was.

It was the command line version of “Point and click”.

I realized that over the years I had become more and more accustomed to  installing open source software under MacOS being like out-stubborning an obscure and crufty flavor of Unix (such as Irix on NCSA supercomputers, with a general comment of “Nothing works on Irix!“). And working on installing major open source projects recalls a favorite xkcd comic about the joy of first meeting Python:

A famous xkcd comic showing someone flying after a first encounter with Python

Tolerating upgrades that break software:
Do you remember how people used to just accept the forever close at hand BSOD?

Before Windows XP came out, I remember trying to make a point to a non-hacker friend that “Computers are logical but not rational.” Meaning that from a programming standpoint they ideally do neither more nor less than what the logic in a computer program called for, but state-of-the-art AI could not make sense of the basics of a children’s “I Can Read” book. (For that matter, computers cannot understand the gist of a program. They may execute the program, but only programmers understand the gist.)

She said, “I disagree. What if you’re using a computer and the mouse freezes?”

In the ensuing conversation, I failed completely in my efforts to communicate that incessant crashes on par with the Blue Screen of Death were simply not an automatic feature of how computers act, and that my Linux box did not malfunction at anywhere near the violence of Windows, on which point I quote Tad Phetteplace:

In a surprise announcement today, Microsoft President Steve Ballmer revealed that the Redmond-based company will allow computer resellers and end-users to customize the appearance of the Blue Screen of Death (BSOD), the screen that displays when the Windows operating system crashes.

The move comes as the result of numerous focus groups and customer surveys done by Microsoft. Thousands of Microsoft customers were asked, “What do you spend the most time doing on your computer?”

A surprising number of respondents said, “Staring at a Blue Screen of Death.” At 54 percent, it was the top answer, beating the second place answer “Downloading XXXScans” by an easy 12 points.

“We immediately recognized this as a great opportunity for ourselves, our channel partners, and especially our customers,” explained the excited Ballmer to a room full of reporters.

Immense video displays were used to show images of the new customizable BSOD screen side-by-side with the older static version. Users can select from a collection of “BSOD Themes,” allowing them to instead have a Mauve Screen of Death or even a Paisley Screen of Death. Graphics and multimedia content can now be incorporated into the screen, making the BSOD the perfect conduit for delivering product information and entertainment to Windows users.

The BSOD is by far the most recognized feature of the Windows operating system, and as a result, Microsoft has historically insisted on total control over its look and feel. This recent departure from that policy reflects Microsoft’s recognition of the Windows desktop itself as the “ultimate information portal.” By default, the new BSOD will be configured to show a random selection of Microsoft product information whenever the system crashes. Microsoft channel partners can negotiate with Microsoft for the right to customize the BSOD on systems they ship.

Major computer resellers such as Compaq, Gateway, and Dell are already lining up for premier placement on the new and improved BSOD.

Ballmer concluded by getting a dig in against the Open Source community. “This just goes to show that Microsoft continues to innovate at a much faster pace than open source. I have yet to see any evidence that Linux even has a BSOD, let alone a customizable one.”

Most of the software upgrades I have purchased in over a decade of Mac ownership have been because an OSX upgrade broke them completely.

On this point I would distinguish between Windows and Mac on the one hand, and Linux on the other. Microsoft and Apple both need to make changes that people have to buy different software over time; Linux may include mistakes but there is no built-in need to radically change everything on a regular basis. Now some Linux programming may change quickly: front-end web developers face a very volatile list of technologies they should know. However, something said about Unix applies to Linux to a degree that is simply unparalleled in Windows or Mac: “Unix has a steep learning curve, but you only have to climb it once.

OSX admittedly has better UX than Linux, and possibly it make sense for open source types to buy a Mac, run VMware Fusion in Unity mode, and do Linux development and open source software use from a Linux Mint VM. (My own choice is just to do Linux, with Windows VM’s for compatibility.) However, for Unix and Linux wizards, the container is one that occasionally gives a nasty surprise.

Beautiful things work better:
An interesting solution

I’ve given a once-over to Linux Mint Sonya, to address UX tweaks and to echo some of that old glory. As is appropriate to an appliance, passwords are not needed (though the usual root methods of assigning a Linux password work better). The desktop and background are laid out to be truly beautiful!

To pick one little example of improved UX: copy is Control-C, and paste is Control-V, with gnome-terminal or without; if you want to send a literal Control-C, then Shift-Control-C will do that, and likewise for Control-V. This cuts down on frustrating attempts to remember, “In this context, will I copy by typing Control-C, or Control-Shift-C?” There are other little touches. For instance, Chrome is already installed, and the default Firefox search engine is configured out of the box to be, drum roll please… Google!

Mint comes with a search engine that in my experience only have SERPs with ads above the fold that are formatted exactly or almost exactly like real organic search results. And not only is Google not the main search engine: it is FUDded, banished to a list options that are either not monetizable to Mint’s makers, or are considered problematic and potentially unsafe. (Mint’s FUDding does not distinguish which is which; it is set up to make Google look seedy.)

A screenshot of the desktop.

Perhaps you don’t like the Aqua interface; it is if nothing else the gold star that North Korea’s One Star Linux Red Star Linux offers, and people seem interested in an Aqua-themed Linux enough to write HOWTO’s to get a root shell and migrate to English. Even if they advise against serious use, not because a fresh install has software that’s years obsolete software, but because the entire environment could be described not so much as having spyware, but being spyware.

Or perhaps it might served as a change of scenery, a virtual vacation of a virtual machine.

A download button

Macs are now Super.Computer.s running “IRIX,” a Super.Computer. OS!

But worst of all is what they’ve done
To software that we used to run
Like dbx and even /bin/cc.
Compilers now have license locks
Wrapped up in OpenWindows crocks —
We even have to pay for GCC!
The applications broke;
/usr/local went up in smoke.
The features we’ve depended on
Before too long will all be gone
But Sun, I’m sure, will carry on
By peddling Solaris,
Forever singing,

“Bye, bye, SunOS 4.1.3!
ATT System V has replaced BSD.
You can cling to the standards of the industry
But only if you pay the right fee —
Only if you pay the right fee . . .”

Lyrics by N.R. “Norm” Lunde, The Day that SunOS Died, to the tune of “American Pie.”

The operating system of supercomputers

When I was studying math at the University of Illinois, my first year’s support was as a teacher’s assistant, and my second one, that I was quite happy about, was as a research assistant at the National Center for Supercomputing Applications. I walked in vaguely hoping to work on Cray supercomputers: in fact I worked on successor supercomputers made by Silicon Graphics. And really, the main workhorse computer I was working with had 32 CPU’s, which wasn’t their most powerful, but today you need to really dig today to find a computer with 32 CPU’s even though twenty years have passed since then.

Part of my work was system administration, which covered software installation, updates, and related responsibilities. In addition to this I made one major program that addressed a critical interest. It would run some software in question with different numbers of CPU’s, giving flexibility and control in producing a graph that shows at a glance how the program is running at the specified numbers of CPU’s. I have no idea why any revision of that program would still be in use today, but one of the extremely pressing questions on the minds of the userbase was, “Is my program scaling the way I am attempting to do to increased CPU’s?” and this program succeeded enough to answer that question at a glance.

I considered, and still consider my time there to be a great privilege, and I remember seeing an e-mail offering a privately owned(!) used SGI Octane for $8000. The SGI computers were really something.

However, the OS those computers were tied to was another deal entirely. They ran a flavor of Unix called Irix, and in a social setting where Unix chauvinism was mainstream. I mentioned above that I installed software; that does not usually qualify as evidence of any particularly great skill; on Linux today you can run “sudo apt-get install apache2” and maybe enter a password and everything is neatly tucked away. There might be something substantial going on behind the scenes, but the requisite effort and knowledge to install Apache really just boils down to the command line equivalent to “point and click.”

This is not true of the SGI version of Unix called Irix. Everyone I remember dealing with was a Unix wizard, but I do not recall a single person who liked Irix. I remember one person voicing hopes that some would port Linux to run on SGI supercomputers. For an example of what was wrong, and a particularly obnoxious example, read the following:

Introduction

Thank you for purchasing InCom's PowerComp
Libraries.  At InCom, customer satisfaction
is our number one priority, and we hope
that you will be pleased with the power of
our libraries.  Please follow all of the
instructions in order to enjoy a quick and
easy installation.


Getting Started

In this guide, information which you will
need to supply will be enclosed in angle
brackets, <like this>.  Commands which you
will have to enter will be indented,

	like this.

You will need to provide a loading
directory, in which to load the material
from tape (/tmp/pcl is recommended), and a
permanent installation directory
(/usr/local/pcl is recommended).


Loading From Tape

First create and change directory to the
loading directory:

	mkdir <working directory>
	cd <working directory>

Now you are ready to load the software from tape.

The specific device name needed to load the tape
varies with hardware vendors, and may be found in
Appendix A, "Vendors and Device Names".

Load the software from tape:

	tar xvf /dev/<device name>

You have now loaded all of the software from
tape, and are ready to compile and install the
PowerComp libraries.


Compiling and Installing the PowerComp Libraries

Compiling and installing the libraries is handled by
a user-friendly shell script.  You will need to
provide some information to the script, such as your
organization name and registration number.  To run
the script, type

	/bin/sh pcl/pcl.install -d <installation directory>

Follow the script's directions, and provide the
information which it prompts for.

When the script prompts you for the directory in
which the distribution files are located, you will
find that you are unable to provide it with any
directory which the script will deem
satisfactory...

Then spit into the computer's ventilation slots.
This will complete different circuits inside the
computer, causing its motherboard and cards to
function in ways that the engineers never
intended, thereby making your system compatible
with our libraries.

Reboot your computer.  The installation is now
complete.

(N.B. I posted this and the XEmacs maintainer asked permission to include it under the XEmacs installation instructions.)

This was written after attempting an installation under Irix and finding that I was being prompted for a directory location by a shell script that rejected every single reasonable (and unreasonable) answer I provided. I don’t know exactly what the result of that installation attempt was; if I recall correctly, my boss was not the faintest bit surprised that I had extensively offered directories and that no single directory was ever accepted by the installer. The general comment I remember is, “Nothing works under Irix!

If I may boast a bit, my achievements at the National Center for Supercomputing Applications hold two things that were noteworthy: providing a nifty tool that helped with a major need, and installing basic software under circumstances where the level of difficulty installing something on Irix could be on par with out-stubborning a cat.

I’ve been involved with several flavors of Unix before and since then; I was in charge of a Santa Cruz Operation Unix lab for a previous position, and I cut my teeth as a system administrator on (4.1.3, BSD) SunOS in high school, as well as Linux distributions including Gentoo (mentality as taken from forum signature: ‘Ubuntu: an African word meaning, ‘Gentoo is too hard for me.”‘), which is penny wise and pound foolish in that it allows much tighter optimizations of binaries than anything I know, but regular updates would frequently break, and one used standard investigative skills to search for who found the breakage before you, and what it was that made it work. In other words, the cost of shaving off microseconds or milliseconds off of executing XYZ software was easily an hour a week of your time playing mechanic for random breakage as your computer was kept up to date. And that was after learning specialized search approaches to find pages saying “I had this go wrong and here is how I fixed it or found a workaround.”

OSX as a flavor of Unix

For a long time I thought in terms of MacOS being my favorite flavor of Unix. (N.B. My Unixy usage, for instance, included Homebrew for Unix software not available as a regular Mac app, and my two most heavily used applications were Chrome and Terminal, with VMware in third place.) I’d done plenty of easy software installations, and problematic installations as well, and I was content with either. When certain things like installing software became harder, I didn’t particularly notice.

However, I did notice when, trying to build up my Mac to function as a server running several useful websites, that it was taking a while to install SugarCRM. And I was caught off guard when web discussion said that Apple had removed certain OS components that SugarCRM tried to run. (Huh?) I opted for a plan B of trying to install SugarCRM on a Linux Mint virtual machine under VMware.

I was astonished at how easy it was, and how much a matter of “Follow your nose.” It was the Linux command-line equivalent of “point and click”: follow a short, simple set of instructions (if even that), and you have a working software installation in no time. Then I installed one or two additional packages. Again, practically “point and click” difficulty level. These things that I had wrestled with on my Mac, sometimes winning, sometimes not, and Linux Mint cut like a hot knife through butter.

I shifted gears then; I no longer wanted to make the websites (SugarCRM / SuiteCRM, Request Tracker, MediaWiki, etc.) based on my Mac and resort to proxying for a Linux Mint VM for the remainder I couldn’t get working on my Mac; I thought I’d make a fresh start on a new Linux VM without any history, and this time through aim to make an appliance that could profitably be offered to others.

Unfortunately, I began this appliance project after installing an update to OSX 10.12.4, and once that update was in place I began to experience multiple daily crashes from every VMware Virtual Machine I tried. Suddenly installing things under Linux was harder than directly on my Mac.

I have admittedly been using a slightly old (7.1.3) VMware Fusion, and I’d consider upgrading it. However, a fresh copy of VirtualBox seems do to predictably well at everything I have tried; an up-to-date VMware Fusion installation is off the critical path for me now.

(I believe that my last VMware Fusion update was after the time VMware stopped cold after an Apple OS upgrade.)

Terminal confusion

I have narrated above the breakage that shipped to me with OSX 12.2.4; the breakage that shipped with the OSX 12.2.2 update was Terminal.app crashing on a regular basis. And while I don’t wish to patronize developers who work with graphical IDE’s, the two most heavily used applications I have are Google Chrome and Terminal. When I poked around, I was pointed to an Apple developer bug first posted in 2016 that has 147 “I have this problem too” votes. It’s not resolved, and people are advised to circumvent the (immediate) problem by using iTerm2. But I would like to make a point, and again no slight is intended against developers who leverage graphical IDE’s like PyCharm:

I have used the Unix / Linux command line for decades, and it is a powerful toolchest to be able to use. While there are of course differences between Linux and MacOS’s BSD-based computing environments, I find it quite helpful that my main way of doing Unixy things on a Mac works essentially unchanged on a Linux Virtual Private Server, or shelled in to my father’s NetBSD server, or in general being able to work with someone and have full superpowers merely by downloading PuTTY and not making further demands on a Windows box’s hard drive and resources. Maybe I would program better if I knew how to really take advantage of a top-notch IDE, but as things stand, I acquired a One Laptop Per Child to serve as a tool for a disabled child, and in following a HOWTO to beef up the laptop to serve these kinds of needs, I was still surprised and delighted when I pulled up a Red Hat command line terminal window and felt, “This speaks my language!” Apple, if anything, is giving cues that it is actively forgetting, if not its Unixy internals, at least Unix guru customers. I wish they had done something more polite to Unix users than breaking and not fixing Terminal, like setting a Terminal.app background image of someone flipping the bird at command-line Unix / Linux types. Really, flipping the bird would be markedly more polite.

That’s what broke for the Unix crowd with 10.12.2.

My VMware installation became heavily destabilized with 10.12.4.

I have no idea what is next.

As far as Terminal goes, destabilizing it to some degree would make an excellent move to tell Unix wizards “You’re not wanted here,” while people using a Mac as it is marketed now, getting powerful software from the hardware store instead of hacking in Python, wouldn’t grasp the difference even with extended explanation.

Failing to support mainstream Unix developer interests

(Originally posted as part of a StackExchange question here; the question is left very technical as originally written, and skip down to the next section.)

More recently I posted another issue: there’s something called Apache installed, and I can’t do an apachectl start twice without getting an error of /System/Library/LaunchDaemons/org.apache.httpd.plist: service already loaded, but I can’t for the life of me connect to port 80 on localhost. I posted on apple.SE at https://superuser.com/questions/1185171/how-do-i-get-apache-to-run-from-osx-sierra-10-12-13 :

I’ve made multiple searches for e.g. “apache Sierra”, but haven’t been able to find my issue.

I have a MacBook Pro running OSX Sierra 10.12.3, and it seems to have some version of Apache installed, but I can’t connect on port 80 (or 443), either with a browser, or by running telnet localhost 80. If I run apachectl restart, it runs without reported error; if I run apachectl stop it runs without reported error; if I run apachectl start when I think Apache is running, it gives an error message, /System/Library/LaunchDaemons/org.apache.httpd.plist: service already loaded. A which apachectl gives /usr/sbin/apachectl, so I believe I’m running OSX’s native Apache and not a version pulled in from Homebrew.

What can/should I be doing so that Apache is running normally?

Thanks,

After the question was old enough to be eligible for bounty, and I had gotten off the phone with Apple technical support, I flagged it for moderator attention and requested migration to ServerFault.

In the technical support call, which lasted a bit short of an hour, I was escalated twice; even the first escalation was with someone who didn’t know the command line and didn’t know what Apache was. I was told that Apple offers Server which may include Apache, installable from the store, and supported GUI-driven use of Server, but Apple technical support does not offer help for the command line or command-line-driven Apache setup and configuration file editing.

Those both look like significant red flags. It’s mainstream for users who want Macs to offer Unix functionality to want a stable Terminal.app and it’s mainstream for web developers to want a working Apache installation on their box even if it’s not shared.

Now I know that MacOS and iOS, with their NSStrings, owe a nearly indelible debt to Unix. And there are workarounds, like iTerm2 and Homebrew or source builds of Apache, and I’m using iTerm2 and plan on building another Apache. But I see ominous writing on the wall; it seems that Apple is losing its respect for hackerdom.

Are there other examples or signs that Apple is dropping care for Unix hackers?

“On [date], Apple announced the death of the Mac. And Apple couldn’t be happier!”

One article, I read an article about the introduction of the iPad, with a title like, “On [date], Apple announced the death of the Mac. And Apple couldn’t be happier!” The announcement of “the death of the Mac” was a reference to the release of the iPad, a device that is giving other devices including the Mac a run for its money. And indeed a basic observation holds: Go to a computer store and ask for a smartphone or tablet, and a salesperson will try to guide you to choosing between a dizzying array of options. Go to a computer store and ask for a desktop PC, and you may get some comment like, “They’re out in the back, next to the mainframes.”

At the risk of belaboring the obvious, on technical grounds iOS devices are a more purist Steve Jobs-like version of the Mac. Or at least they are as programming goes. As regards physical technology, they represent something that is smaller, lighter, use a touchscreen well (with high pixel density!), and in general more shrewdly adjusted than any laptop or desktop I am aware of, Macs and e.g. MacBook Air’s specifically included. But if we bracket the step from movable laptops to mobile iPhones and iPads, and look from a programming perspective, iOS is basically MacOS (if you’re in the App store for either, you’re using e.g. NSStrings), but stricter and more focused around some UX concerns. There is a command line for iOS devices, developers apparently consider it essential, and my understanding is that a jailbroken iOS device usually unhides it. However, the technical aspects have been corralled, out of heavily Unix-powered, OSX-based tools, to be able to say, “There’s an app for that!”, and present users with a hand-picked set of offerings in a walled garden. It is technically possible to program your own device, but only if you pay a developer’s subscription membership, and one gets the sense that Apple allows people programming own devices as a necessary evil to get a flow of app submissions that will allow regular customers to have every app etc. that Apple would like to be included among the iOS ecosystem. And my own attempts to migrate from a Mac to an iOS devices have been failures, because one window-filling app (even if that app allows remote access to a server’s command line) does not support complex tasks with multiple terminal windows with each terminal window doing its own part.

But here is something that I did not hear from Apple being delighted at “the death of the Mac.” It is also different related suggestions that XCode could be available to Linux, possibly in order to obviate the need to sell Macs to enable developers to target iOS. My original interpretation was that, over time, iOS device sales would bury MacBook sales, as mobile sales seem to everywhere be burying laptop sales. And that may have been all that a journalist writing a punchy headline really meant.

But what I’ve observed is different. Unix wizards seem to be less and less welcome to use Macs as offering a very nice consumer OS with all the comforts of $HOME. We’re being kicked out, or at least there are clearer and clearer hints to go away. Allowing Terminal.app not to remain broken, and (AFAIK) not even steering people to iTerm2 when developers ask for any workaround, is a step beyond how institutions like Barnes & Nobles would play classical music that on some counts was used to subtly tell teenagers that they were not welcome to hang out. Frequent Terminal.app crashes are not in any sense subtle; they create a hostile environment to customers who want the Unix command line without perturbing general public customers who will in all likelihood not know what a Unix command line is.

Top-notch iPads are being sold as “Super. Computer.”s, and OSX’s progressive Unix breakage is starting to seem like the supercomputer OS I used, Irix. I grew up with Ultrix, and I’ve had exposure to more flavors of Unix than I can remember, and more Linux distributions than I can remember, and Gentoo and Sierra 1.12.4 have together done the best I’ve seen yet to give nasty Irix a run for its money. During the time, I have done software installations that would succeed without further attention after a “brew install _____” or “aptitude install _____”. I’ve also done installation-driven research investigations that rival outstubborning a cat as far as difficulty goes. I hadn’t really noticed how many attempts to get something working under OSX included repeated web searches, or how many immediate approaches had been failing, until I went to a Linux VM to try and see if I could install SuiteCRM, and encountered a difficulty one notch above “point and click,” not more. I don’t remember if I was given installation instructions, but if there were, they were short, they worked the first time, and they were unobtrusive enough that I’ve forgotten them completely.

The more installments complete coming in, the more it looks like the Unix side of OSX is turning into Irix.

Epilogue

This article was posted while I did not know where my iPhone was. For the second time since acquiring this iPhone 7, I have lost it and been unable to locate it by usual means, such as calling my iPhone from another line and should have heard vibration, although I believe it is in the house as my iPad is proxying phone calls to my iPhone and sound is crisp and clear. My Apple ID password is locked in my iPhone password manager (my fault; I should have been using redundant password managers from the beginning), and so I can only look up my password to use Find My iPhone if I track down and use my iPhone. There is only one recovery option driven by a manual anti-fraud investigative process on Apple’s end, and it’s been a couple of days since I attempted to exercise that option. I called Apple technical support and after a couple of dead-end calls spent a fifteen or twenty minute call with a tech support person who checked in with her supervisor and explained that, because I had requested some days before to recover Apple ID account access, that she was not allowed to do anything to change my password or otherwise let me in. I asked about an ETA for my multi-day password recovery, and simply was not provided with any estimate of any sort even though I had a good rapport with the technical support representative and she tried to give me practically everything she could.

There is no one for shiny gadgets like Apple, although I gave my Apple Watch to my brother because I thought he’d genuinely like the “Mickey Mouse watch” bit and I found that the watch I thought I could program was on a device that didn’t even have a web browser. I’m not saying I couldn’t enjoy a programmable Android watch, but I am right now happy to have a 20bar water resistant compass watch (not a smartwatch) to take to my adventures. Right now the brand is appealing to me less and less.

An Open Letter to OTHER Link Prospectors

Dear Other Link Prospectors;

I run a major website at CJSHayward.com. It is a collection of my creative works and has increasingly been focused on Orthodox theology. Suggested starting points include Doxology and The Angelic Letters. Most of what I’ve written for reading (as opposed to e.g. open source software or artwork) is available collected in this seven volume set.

I’ve gotten the occasional fan (e)mail, but I have never had a fan or visitor be generically impressed with everything on my website. I’ve only had one visitor claim to have read everything for that matter. People who just like my work tend to give some specific compliment or thanks for some of the specific content on my site. Usually people who write fan mail are more than happy to explain what, specifically, makes them happy my site is available to them.

For that matter, I’ve gotten flames, and the flames in general are quite obviously written in response for some specific posting or element on my site. No one really seems to call me nasty things without some specific statement about how work on my site fully justifies the claim.

If you try to obtain a one-way backlink from my site without bothering to find out what my site is about and what some of my works are, you are failing to show me a courtesy readily shown by most haters. Please do not be offended if I regard your contact as spam and it is reported as spam.

A “Hall of Shame” example

I’ve gotten various link prospecting emails that in generic terms could be sent to the owners of almost any website. The most recent example of a particularly objectionable link prospecting emails is,

Subject: Thank you

Dear CJS Hayward,

Although, it is generally not in my nature to “cold-contact” people I don’t know, nonetheless, I wanted to offer you my gratitude for the writings you have shared on your website. They have gotten me through some very hard days. As way of saying “thank-you”, and not being at this time to make any purchases of your products, following are three website links related to one of your current posts, that I thought you may find useful. They are:

http://arachnoid.com/
(Psychology – Located on the sidebar of homepage)

http://www.hoagiesgifted.org/
(Geared towards parents of gifted children, but may be useful as a general resource)

[URL deleted]
(Fr. [name deleted], of the Anglican Catholic Church – His perspective on similar psychological and theological topics)

I apologize in advance if these links are not useful to you. As I said, they are a humble offering in appreciation for what you have freely shared.

Thank you again,

Bryan W.

I believed what it said for a short while. I started to write a thank-you note, and then when I thought things through, I was horrified.

The first point, if a subtle one, is that like many sites on the website, my contact page contains a direct and explicit request of people contacting me: that they put “To the author” in their email subject so it gets fished out of my spam folder if need be. This is not meant as a hoop to jump through, but I ask it and the feedback form and email link on my site have a “To the author” baked right in. This provided a crystal-clear red flag that however much he may have wished for resharing, it didn’t translate into respecting simple instructions. (That much, by the way, offers a useful filter, and if you are working on triaging your own incoming link prospect requests, you might include some simple and very clearly stated request on your contact page.)

The second point is that the first paragraph does not reference anything specific. Now my website does have several works intended to offer strength and comfort to people in hard times; The Best Things in Life are Free comes readily to mind. However, while some of my work has been received respectfully, this is the first report I’ve heard that they’ve helped someone quite that much. They don’t deserve sole credit. I think they’re good and worth reading, but I think that anyone who really benefitted from them would be benefitting from several other supports too. But I may be being too picky here; it is common practice to exaggerate some compliments so I don’t want to be too legalistic.

The first psychology link left me mystified; I do not consider psychology to be a particularly active interest, and I follow my advisor in regarding psychology to be a sort of leftover that stayed around during and after a process of secularization in the West. Or maybe that’s a strong way of putting it, but one post about Theory of Alien Minds: A UX Copernican Shift does not make me a credentialed psychologist nor does it make psychology a primary interest.

The second link left me mystified as regards approaching giftedness; you don’t really tell gifted parents to go to Hoagie’s Gifted almost like how you don’t really tell web users to go to Google to find things out. Apart from my retaining the spammer’s mention of Hoagie’s Gifted in this posting, the only real reason I would see myself telling someone about that site would be if I got an “out of the blue” email from a parent whose child was identified as gifted and the parents want a roadmap.

The third link is the cultural equivalent of saying, “You’re from Japan? Say something in Chinese!” It made me profoundly uncomfortable, and there is a profound difference between Eastern Orthodoxy and Anglican “Catholics”, and I was much more uncomfortable with that contact than I usually am either with mainstream Romans or mainstream Anglicans. I wanted to send the spammer a link to my reply to those Greek Catholic T-shirts that say, “Orthodox Christian in Communion with Rome,” a T-shirt that says, “Roman Catholic in Communion with the Archdruid of Canterbury”. (I restrained myself.)

And by the way, that wasn’t really three links the sender equally wanted me to see. It was two links of window dressing and one link of payload. This was part of multiple aspects of guile in this post. It was made to give the impression of having received a great benefit, without mentioning anything in particular, and it presented the three links as a thank-you when they were, in fact, there to do the job of link acquisition. Upon reflection, I believe the email was sent in the optimistic hopes that I was born yesterday.

And the last thing I’ll mention is that it is admittedly current practice to avoid the word “link” in link prospecting emails and more generically speak of sharing and passing on even though what you want most is a link. That at least might be appropriate, but the goal of this email is to obtain a white-hat one-way backlink, and there was a lot of guile and feigned respect. Sorry, no.

I am, as a site owner, willing to give links, including white-hat one-way backlinks. However, if you want something that big from me, your due diligence is to communicate honestly, research my site enough that you have some idea of its marketing proposition and some examples of its content, and if your site is a religious site, read the sharply written An Open Letter to Catholics on Orthodoxy and Ecumenism, and needless to repeat, respect the clear instructions on my contact page. Guile is one of several ways you can get reported for spam.

Owners of other high-quality sites might appreciate similar considerations.

Thanks,
CJS Hayward

You might also like…

The Angelic Letters

The Best Things In Life Are Free

Doxology

An Open Letter to Catholics on Orthodoxy and Ecumenism

HINT: None of these works are works intended to offer additional advice or insight about link prospecting. All of the works are the sort of thing you should be exploring if you think I might want to give you a free, white-hat one-way backlink. And the same consideration applies to every single site you are approaching for a free, white-hat one-way backlink.

Spaghetti Parenthesis Visualizer

Set of opening characters, i.e. ‘{(‘ or ‘{[(‘: .
Set of closing characters, i.e. ‘)}’ or ‘)]}’: .
Preserve line breaks.

Your code, unfurled:

(Nothing yet.)

Your code, underlined:

(Nothing yet.)

Having trouble trying to keep track of nested parentheses in a page-long SQL query or PHP/Perl/Python etc. conditionals? Type or paste in code you have that has so many layers of parenthesis that you struggle to keep on top of the tangled depth of the code.

Security-conscious? This code doesn’t send your code snippet to the server: all calculations are handled in the browser. However, if you want that extra level of assurance, you are welcome to capture the source and make sure everything’s on the up-and-up before you use it. This code is dual-licensed, available to you under your choice of the terms of MIT and GPLv3 license.

This page is link-ware. If you like it, you are invited to put a link to CJSHayward.com.

CFL: A truly unique distributed version control system

A Fully Functional Windows 95 Emulator That Runs Right in Your Browser

Janra Ball: The Headache

Procedures for the Repair and Adjustment of Televisions