There are no web pages on the internet ! (Just instructions on how to build one.)

That subject statement is true, and if you want to understand how websites work, here’s the most fundamental thing you can learn: Web pages exist like ghosts, only in your web-broswer. When you visit a website, it is not like seeing a painting  thru a window. The webpage itself does not exists in finished form on the server.

What the server does is send build instructions to your browser, just like your Ikea shelving comes with an instruction sheet o how to assemble the parts. It is your own personal copy of your web-browser that actually assembles the page for you to see.

You can see this in action on most sites by simply resizing your browser window, and watching the layout change. If you access a site on the small screen of your iPhone, it  looks entirely different than if you are using a big monitor.

 

———-  the longer version:

As you learn about websites, there’s one fundamental thing that may lift some (if any) fog.

Servers and their websites do NOT serve up finished web pages; they send -instructions- on how to build the page in each user’s web browser. ALL the assembly work to create a page for the user to view is done on each individual user’s computer, not on the server.

Web browsers are not passive; they are actual machines, which follow the HTML/PHP/CCS/JS instructions given to them, and build each page independently, according to those instructions. As you can imagine, it’s much faster to serve up instructions than it is to serve up a finished page. That speed advantage is why websites all work this way.

Each browser (Netscape, Safari, Firefox and so on) has its own engine (that’s actually what it’s called) for building pages, and each engine is slightly different from the other. The publishers think those differences are “features” but what it really means is that to use some unique “feature” you’d have to write instructions specifically for that one browser. The down side is that also results in pages that will not render correctly on other (competitor) browsers.

That’s why when you hear geeks ask “what browser are you using?” – it’s not because one is prettier than another, but because the rendering engine is different.

In fact, in the old days, before there was any standardization of the languages, we would have to do literally that: write HTML code that checked what browser was running and jumped to special code just for that browser:
if [browser == “netscape”] then set color $FF0000;
else
if [browser == “safari”] then set color ‘red’;
else
if…..

It was numbingly tedious and completely ridiculous, and yes: it was a nightmare. Eventually however a standards body was formed, and while it took over a decade, things finally homogenized (for the most part.)

Today, for maximum compatibility, WordPress uses only standards-compliant code, and when you hit “Preview” in WordPress to see your latest changes, WordPress is really just running a built-in generic browser and sending your instructions to it.

(Yes, that means it’s quite possible that what you see in Preview Mode will not exactly match what you see once the page is published (although the differences will likely be difficult to notice, fortunately.)

So: a browser isn’t looking thru a window at a page on our site; nor is the site sending a finished page back, all neatly laid out like a PDF. Instead, websites send out Ikea-like assembly sheets, and leave it to each user’s current browser to assemble the final page for viewing.

Just thought you’d like to know.

Mac spontaneously reboots

Subject says it: about a month or so ago, my Mac started randomly rebooting. Not when I did “this”… or “that”, or even when I was in the room. Everything is rosy, and BANG! it reboots.

Needless to say, I was not a happy camper. The most common reason for that would be something hardware related. A faulty USB cable; some lose cable; perhaps a hub or switch going bad. Nope.  Bad RAM?  Nope. 

So I started looking for “BOOT_TIME” in the system console log, to find the magic reboots. Finding that I copied out all the random ones, and 20 or so lines of system events before them to see if I could find something causing it. Several times the previous lines were similar or identical… but not -all- the time, so there was no -one- trigger.

 

Frustrated to the extreme because I hate not solving this kind of thing, I dug in. After all this was a contest between a complex computer and a guy with over 4 decades of computer experience. I wasn’t about to give up…

…which lead me to the Font Of All Wisdom: the internet. After search for an hour, and following a zillion dead ends, I read a post from several years ago that rang a bell.

Yes: I found the solution (or at least there have been no spontaneous reboots in 48 hours.)

About the time this started, I cancelled my full Adobe Creative Cloud subscription, and reverted to the $10 Photographer one. (I wasn’t using the other stuff, and it saves a bucket of $$$.)  On doing that I just removed the old apps, and was (I thought) good to go.

Wrong.

The solution was to go get the Adobe uninstall tool for Creative Cloud. It wipes  out all the detritus, Roto-Roots everything, and I reinstalled Photoshop and LightRoom.

Bingo.

Now, the last reboot-free period could easily be due to the phase of the moon, but I’m pretty sure that the post on the Font Of All Wisdom, was the key: he cleared a mystery issue the same way.

 

FWIW and YMMV

Catalina and the end of 32-bit apps

You have probably heard that Mac OS Catalina, 10.15, will end support for 32-bit apps. Sounds geeky, and it is in some ways, but here’s the bottom line: some of your applications will quit working. Period. End of story. 

Here’s what Apple says:
https://support.apple.com/en-us/HT208436

So… what to do?

1) find out which apps you have that will quit working in the next 60 days if you upgrade to Catalina, when it comes out.
Here’s the easiest way: this free app:
https://www.stclairsoft.com/Go64/index.html
(there are more less convenient ways to find your 32-bit apps, using Apple software) “
https://www.macrumors.com/guide/32-bit-mac-apps/

then you can
2) simply not upgrade to Catalina (or put them all on another computer that will never be ugraded.)
3) wait for the app developers to republish their software compiled for 64-bit
4) toss them out and find a suitable replacement
5) run El Capitan (10.11) in a virtual machine. (That’s my choice.)

Virtual machines

If you have Parallels or VMWare (probably to run Windows) you can find a copy of 10.11* and install it, to run it virtually. Then all you need to do is move your 32-bit apps to it, and away you go: you can upgrade to Catalina, but keep El Capitan around inside your VM.

https://www.macstrategy.com/article.php?148

*You can actually choose any OS prior to Catalina to virtualize. I went with El Capitan since there are trusted opinions that it’s the most suitable. Obviously, if you have some 32-bit app that requires, say, Sierra, then that OS would be your choice.

It has been my personal experience that Parallels works surprisingly well in general.

hth

Do you REALLY have CAT 6 cable?

The new cable is here! The new cable is here!   (an homage to Steve Martin…)

BlueJeansCable is the real deal for ethernet and hdmi (and other) cables. It’s also expensive.

I have a DOCIS 3.1 modem, and an Linksys EA9500 router/wifi. I’ve got 1 Gb service, and I probably have 30 (or more) things hard wired up to the network.

I have just installed some BlueJeanCable CAT 6a certified ethernet cable. It runs from my modem, 23 feet to my router, and 23  feet back to my 24-port gigabit switch. It is significantly fatter, and not as flexible as CAT 5 or 6.   (I had been using certified CAT 6  – no “a” on the end).

Do you remember when the internet was described by some politician as “a series of tubes”?

Well, and this is just anecodatal, but the difference between the cables (CAT 6 vs 6a)  makes it feel like someone “greased the tubes.” Access now just flows.

No, I didn’t test it… this is purely subjective. Things are just “snappier” now.

I’d hope so since the two 23′ cables cost almost $90 with shipping. Like I said “expensive.”

Here’s a bit of startling info:  http://www.bluejeanscable.com/articles/is-your-cat6-a-dog.htm

(FWIW, I also use their HDMI cables. Also a noticeable improvement.)

Finally, I do NOT use BJC cables everywhere… they are just too expensive, so I  only use them at critical junctures.

I hope this helps (or at least intrigues) someone.

Some of my emails to some people bounce back

Generally, if some of your emails bounce, but others do not, then DO make sure that your IMAP and SMTP settings are both from the same host. You can no longer use a different outgoing server (SMTP) from your email address.

That is, if your email is myname@godaddy.com, and you get your email at IMAP.godaddy.com, then you MUST _send_ your email from the same server: SMTP.godaddy.com, and log into it properly. You cannot send from myname@comcast.com, nor can you send from someOtherName@godaddy.com without violating SPF and DKIM checks.

The result will be that your emails will bounce, if you’re not properly set up.

So: match up your IMAP and SMTP servers, and the problem will go away.

 

More:

DMARC, which stands for “Domain-based Message Authentication, Reporting & Conformance”, is an email authentication, policy, and reporting protocol. It builds on the widely deployed SPF and DKIM protocols, adding linkage to the author (“From:”) domain name, published policies for recipient handling of authentication failures, and reporting from receivers to senders, to improve and monitor protection of the domain from fraudulent email.

A Sender Policy Framework (SPF) record is a type of Domain Name Service (DNS) TXT record that identifies which mail servers are permitted to send email on behalf of your domain. The purpose of an SPF record is to detect and prevent spammers from sending messages with forged From addresses on your domain. https://www.godaddy.com/help/what-is-an-spf-record-24605

DKIM (DomainKeys Identified Mail) is another technique to help prevent spam. It’s complex: here’s a description : https://blog.returnpath.com/how-to-explain-dkim-in-plain-english-2/

Probably more than you wanted to know.

Tracy

WordPress vs traditional HTML

Part one:  I want to take a second to explain the difference between how a WordPress site works, and a traditional site contstructed with HTML.

 

In a traditional site, each page you see in your web-browser exists as a separate file on the server. So, if you have a home (AKA Index) page, and a contact page, and a product page, you will find a file named “Index.html” and a file named “contact.html” and a file named “products.html” on your server. Think of these just like individual text files  for your word-processor. You can see each one on your drive, and open each one individually.

In a WordPress installation, however, you can search high and low, and -never- find a single page! While they may look just like traditional pages in your browser, the are not a single file at all: they are a set of instructions on how to build the page from scratch each time it is accessed, from bits and pieces which are kept in a MySQL database. Because they are rebuilt each and every time anyone accesses them,  WordPress sites are slower to load than single-page sites. (That’s why they rely on caching so much.)

WordPress sites are comprised not of “pages” but instead of “engines” –  plug-in bits of code, which are sets of instructions on how to do a particular thing, such as display a slide show, or create a calendar. These engine/plug-ins are made by many different developers, yet still must work together with every other engine. (Sometimes they do not “play nice” and the site will misbehave, or even crash.)

Because of this structure in WordPress, unlike a traditional HTML site, it is far more difficult to make a “simple change” to one “page” – there are no pages in WordPress. So while an HTML site can easily change the color of one word, or move something a tiny fraction of an inch up or down on a single page, doing so is “non-trivial” in a WordPress site, since it’s an plug-in/engine assembling the page on the fly. Which engine is it? Does that engine use the same text styling or position code elsewhere in other assemblies? (Ans: yes – it usually does.)

If I make a change to some item on a page created with HTML, only that page is affected; but on the other hand, changing the way an “engine” works may affect the entire site!

Here’s an analogy: you can get from upstate New York to NYC using either a train or taking an Uber. Each of them has a route (a “template”) on how to get there. The Uber driver’s template may have her turning on 42nd street, but you can ask her to turn on 46th, and that change to her template is quite possible. On the other hand, if you want the train to turn on 46th street, it ain’t gonna happen. One template is changeable, and the other is not. HTML is to Uber as Train is the WordPress.

 

CSS goes a long way to making it possible to fix -some- of this limitation, but not all of it. One of the main issues with changing CSS on WordPres sites, is that many plugin authors use embedded, or  “inline CSS” which has a higher priority than linked CSS, and changes made to either will be lost when the plugin is updated.  One can use a “child” theme or code in order to keed the customization, but if the plugin happens to update the code used in your child copy, then the child copy must be replaced and altered. There is also the “inportant!” key, to force over-rides, but that may or may not work, and certainly ends up with  convoluted site code.

Finally, this is why WordPress sites require virtually daily maintenance: the plug-ins are  frequently updated, as is the core of WordPress. In short, it’s a constantly moving, almost living, breathing, entity,  requiring constant attention and grooming.

However, even with these technical drawbacks, WordPress powers 1/3 of all websites on the internet. It allows non-programmers to make changes to the information displayed, or even how it’s displayed. And despite the tenuous nature of plug-ins, they are usually powerful and carefully crafted engines that add sophisticated capabilites to websites, without have to pay thousands of dollars to a developer.

I hope that helps explain things a bit.

 

Part 2: more detail and what it really looks like.

ScreenShot 2019 06 29 at 11 07 38 PM

We’re going to be looking at the code that created the page contents above.

 

Let’s compare a simple website page that merely displays a couple of short sentences. The first webpage is built traditionally, using HTML.

The second identical page is from a WordPress site.

We’re doing this to compare how the two are different, and to see why changing something as simple as text size or color is so much more complex on one than on the other.

The first thing you’ll notice is one is 13 lines long, while the other is 607 lines!

(The long one has been moved to the end.)

You don’t need to understand the code samples. Even knowing nothing about HTML, you can easily see how the color-coding is done. And if I tell you that h1 is a larger type size than h3 (and h5 is smaller yet) you can figure out that swapping one for another will change the size of the headline text.

So – here we go !

Here’s the HTML –

ScreenShot 2019 06 30 at 12 11 27 AM

 

change h1 to h3
change a color to “Gray” or “Orange”

Point here is that you can “change the template” and the change is ONLY ON THIS Page.

this page is simply a text file on your server. When your browser asks for the page, a copy of the contents of this text file is sent back.

Because it’s a text file sitting on a server, it can be edited and changed.

On the other hand…

______________________________________________________________________________________

Below is the same thing from WordPress. Notice that instead of 13 lines, there are 607*
Instead of simple direct colors and settings, there are literally hundreds of “script” lines. These are mini-programs that tell -your browser- how to create a page. In other words, the ONLY place in the whole universe that page actually exists at this moment, is in YOUR browser, assembled as it comes in. Unlike HTML, there are no text-file pages on a WordPress site.

There is no HTML file at all!

So – how do we make changes?

Obviously, we can’t reach into the user’s browser to make a change… and there is no text file to change, so our only option for customization is to change the code that is used to make the page – either the scripts themselves, or the settings they use.

You’re probably ahead of me already…but in case you’re not – there’s a problen with this: if you make such a customization, then the change will appear on -every page- that is built with the altered script, unlike HTML where only -one- page is affected.

It is possible to use page-specific CSS to over-come this limitation. The issue there is that there is Theme CSS, plugin-CSS and some plug-ins have embedded CSS, which is quite tricky to change and/or override.

*Technically, not all 607 lines of sample code below are devoted to just the lines of text. A lot of it is other stuff needed by WordPress… but that’s partly the point, isn’t it? (Additionally, some of the code below is particular to the site I was on when I generated it, but the gist of it is correct…)

Further, the huge number of lines for the most trivial few lines of displayed text, should help explain why WordPress sites use caching. Caching preassembles much of the code while it is still on the server and sends it in one call from your browser instead of requiring hundreds.

So – here you go. Compare these 600+ lines to the 13 used in traditional HTML above, and you’ll have some basic sense of how different WordPress is.

(It’s so big that I had to put the whole post into a PDF. Sorry. Here it is:

htm-vs-WP.pdf

Email setup suggestions

Get a good spam filter, and use it. I don’t recommend setting it to automatically delete junk, since nothing is perfect and you’ll every now and then find an important email accidentally filtered into your junk mailbox. Be sure to white list it (remove it from the junk folder.)

I cannot imagine why anyone would want to keep spam emails about Viagra and “beautiful Russian women” – but some do. That choice is yours.

It’s my experience that no junk filter is perfect, so I still do a quick visual scan of my junk folder to make sure something I actually want didn’t end up marked as junk. IOW, I don’t just blindly delete the contents of my junk folder, nor do I allow for “automatic” deletion.

Yeah: not perfect, and annoying, but that’s just the way things are.

Second: I don’t know how Yahoo works. I personally stay away from the general public, free mass email accounts, such as AOL, HotMail, Gmail and Yahoo. Why? Because those are what spammers use as well, and they pretty much identify you as an occupant of the “low rent district.” I recently saw a TV add for a new business with a @gmail account listed. Had to slap my forehead…Besides looking cheap, what business would willingly allow Google free access to all their customers emails?

Next, while you can have email accounts all over the place, you’ll also need to have a separate account in your Mail client for each as well. Each one will need to individually check for incoming email. In other words, more complexity. You’ll need separate IMAP and SMTP settings for each, or email you send out might bounce back to you.

Rather than a multitude of accounts, I have set all my “other” accounts to simply forward emails to my main acccount. Then all I ever that I have to do is check that one main account.

So, yes I have a gmail account, (but only so I can access other Google stuff – I never release the address.) On Google, that account is set to “forward only” and points to my main email account “tracy@someplace.com” (not real, as I don’t want my main account harvested from this post.)

My iCloud account is also set to forward to “tracy@someplace.com”. And the “tracy@…” email addresses from the dozens of other domains I own are all set to forward to “tracy@someplace.com” as well.

My email client (MailMate) has one active account: “tracy@someplace.com” and that’s what it automatically checks. So I get all my emails from all my accounts thru one “funnel.”

Of course I can see where each one was addressed, and I can just use filters (AKA “rules”) to sort them into different email boxes, if that’s important.

Managing email is much easier (at least to my mind) this way.

HTH

My MailBox is Full!

How your email works (or sometimes doesn’t).

“Your email was not delivered: recipient’s inbox is full!”

Websites serve up pages of information, photos, videos, text and so on, upon request. Your web browser (Explorer, Google Chrome, Firefox, Safari) requests a web page, and some computer running “server” software, sends the information back.

Of course, the sent information stays on the server for other requests, and it is a copy is sent to you.

Email works pretty much the same way. When someone sends you an email, it doesn’t go directly to you (your computer may be off for the night.) It goes to some computer running server software (an “email server”) where it sits waiting for you to come ask for it.

In “the good old days” before iPhones and laptops, you could ask for all your waiting email, and it would be sent to you and removed from the server. (It was “moved” to your computer, instead of “copied.”) At that point, the only copy was “local” – on your personal computer, and the space on the “remote” server was freed up to use for other incoming email.

With the advent of iPhones, iPads, laptops and so on, That became very inconvenient  because once the email was removed from the server, none of the others could access it. If you wanted to look at your email on your phone, and then later deal with it on your home computer,  a copy still had to be on the server so your home computer could get it.

OK: the first version, where one device moves the email, ( deleting it from the server) is called “POP3”, and the version where multiple devices can access a copy of the email because the email stays on the server, (it’s only copied to your local device) is called “IMAP.” (Think: “POPs off the server” vs “MAPs to the server” if that helps.)

The convenience of IMAP is that you can read and reply using multiple devices.But a server is just a computer with a hard drive exactly like your home computer, and you know that you can fill up your hard drive if you put too many files on it.

Well, ditto for IMAP email. Each day more and more emails fill up the remote email server’s hard drive. True, it’s not -your- hard drive, but that doesn’t mean it won’t fill up. The company that is providing that drive space for your email will have to set limits on how much space each email address can have. Eventually they will tell you that “your INBOX is full.” Emails sent to your address will bounce back with a “mailbox full” error, and you’ll stop getting emails. (In computer jargon, this is known technically as “a bad thing.”)

But, this is how email works. Not “some” email – ALL email. You will have to figure out how to deal with your “mailbox full” issue.

There is, of course, only ONE solution: you have to delete or remove some of those emails so that the maibox, your INBOX, is no longer full.

There are several solutions.

The most obvious one is to simply delete your old emails. Ones that the correspondence is complete and you don’t really need any more.

More commonly however, people want to archive their old emails, just to keep a record. (In fact, in some cases, like some coporations, this is required by law !)

The traditional way to do that is to first make a copy of all your emails, on your own local hard drive. Once you have a backup copy of everything, you can delete them from your INBOX which resides on the remote IMAP  email server.

You could access your IMAP account as if it was a POP3. Remember? POP3 will move emails OFF the server and on to your device. This automatically deleted whatever is copied to your local drive “moving” the emails to your computer.

If doing that sounds annoying – it is. But it’s a commonly recommended backup method for archiving IMAP emails.

Unfortunately, it IS a move, not a copy, so your other devices (iPhone, etc) cannot access the old emails.

Another solution is this: some email hosts will let you store emails on their server, if you create new mailboxes on the server, and then drag your emails from your INBOX to those new mailboxes.

A third solution (and better still, IMHO) is to create mailboxes in your email software that reside on your local computer instead of on the email server (where your INBOX resides.)

With MacOS Mail, this is simple: just create a mailbox under the “On My Mac” heading. Create as many as you like. Then just drag your old emails from your INBOX to the On My Mac mailbox. Once they are there, you may delete them from your INBOX. Now they only exist on your device, and other devices no longer have access to them.

If you need to still have your iphone access them, then either don’t delete them from your INBOX, or move them to a different mailbox on your server, as in solution #2, above.  In this case, you are archiving the old emails, to free up space on the email server, where your INBOX lives.

You can even automate this somewhat,   using automatic “filters” (AKA “rules”). These are instructions that you create, which look at each email in your INBOX as it comes in, and either copies or moves it to a chosen On My Mac (AKA “local”) mailbox.

For example, let’s say you get email from your work; your mother; and your art club.
You have created three local mailboxes: “WorkBox”; “MomBox” and “ArtBox”.
You would create three filters like this:
1) if “from” equals “the office” then copy to “WorkBox”
2) if “from” equals mother, then move to “MomBox”
3) if “from” equals “ArtClub” then copy to “ArtBox”

You only set up rules one time, and then the rules are applied automatically.

Rules 1) and 3) COPY the emails to your local mailboxes. That means they also leave them in your INBOX so your other devices can access them. You can always delete them later.

Rule 2) MOVES the email from your INBOX to your local mailbox. That means it deletes it from your INBOX.

Note t hat in all these cases, however, you now have your own personal copy on your own hard drive, and not just the one copy that resides on someone else’s drive (the email server.)

Once you have copies on your own hard drive, when you run a backup you are also making a backup of your emails for historical purposes.

Additionally, filters can also be applied manually instead of automatically, so when you are comfortable with rules/filters, (they ARE easy to use) you can create one that will move an entire mailbox from the server to your local computer.

Finally, I should point out what I consider the best (ie: least work) option: there are third-party paid software solutions that backup your emails automatically. In fact, the hands-off convenience of this solution is what I use. I have –all– the emails I ever received in the last 21 years (minus the spam, of course.) This type of software makes separate database backups instead of  using your email client. Since it’s a database, you can search and find stuff going back years, in seconds.*

Backup happens every 8 hours (or whatever interval you choose) and every week or so, I go to my mailboxes and just delete the stuff I don’t really need “live” in my email program.

There is one more benefit to keeping your INBOX less full: your email program will operate faster. It won’t have to load up thousands of old emails each time it starts up.

 

My own email program keeps an average of a few hundred (instead of thousands !) on hand. The rest is in the database in case I need it again. 

So, there you are.

Your email requires management – you don’t get to leave an infinite number of emails in your INBOX. You’ll have to deal with it sooner or later… or do it automatically.

—–

*I use MailSteward on MacOS. There is also Auto_Mate for Windows PCs.

Email junk or How do I get my friends out of my spam mailbox?

There are all kinds of weird reasons email that you want to receive, nonetheless ends up in your spam mailbox. The point of this post is not what those things are, but what to do next…

So now what?

Spam filtering happens on your iPhone or computer, not on the mail server. The whole point of spam filtering is that once you mark a sender as spam, from then on all mail from that person will automatically go into the spam folder.

Let’s say it’s an an email from me that you want  receive, but you found it in your own spam mailbox. Unless you immediately fix that, all my other emails to you will end up in your spam box as well.

It’s up to you to correct the program’s mistake.There is no way to fix it “by remote control.” (Imagine how much real spammers would LOVE that!)

On an iPhone/iPad, this is done by simply moving the mail from the Spam mailbox to the IN mailbox:   Click on my email in the junk folder. When it is open, then click on the little folder at the top or bottom of the screen, and choose to move it to your IN folder.

On desktop computers, the process will vary, but will either be a button on each individual email in your spam mailbox, saying something like “mark as not junk” or there may be a menu selection saying pretty much the same thing.

This works with any mistakenly “junked” emails of course.

But the point here is that until you correct a mistakenly junked email, all emails from the same sender will be processed into your junk folder.

That’s exactly how it is supposed to work.