Organizing your Dock

Got a zillion itty-bitty icons in your dock?

Try grouping them.

Here’s what I do.

In my user folder, I have created a folder called “dock items” (the name is not important; whatever works for you is fine.)

Then, in there, I have folders named for my categories of items, such as “browsers” and “hardware” and “art” and “utilities” and so on.

What I do is put an alias to the program in the appropriate folder.

And then I move the folder to my dock.

You can move the “dock items” folder itself, or you can move the category folders to the dock, whichever works best for you.

Tip: to fill these category folders from your current dock icons, control click on the icon in the dock, and choose “options/show in finder”. Then command-option drag the application to the folder. (command-option drag creates an alias to the app instead of moving the app.)

hth

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

Email simplified

My website clients also get email addresses tossed in for free. So if the client’s company is “Acme” and their site address is “acme.com” then I can sign them up with emaill address like “ceo@acme.com” or “director@acme.com” or “jane@acme.com”.

Unlike the websites which I create and maintain and control for them, I have absolutely no control over their email. The host I use for those sites provides the email servers, and all I can do is assign addresses. In fact, other than the name, the email has no relationship at all to the site. The email is handled entirely by the host, and is not even on the same server as the website. In fact, I happen to know that their email server is literally 2000 miles away from my website server.

They run it; I do not.

How email works is rocket science, and there are  folks who make careers out of running it. It’s complex; subject to privacy laws; and spammers are attacking email system continuously. (In fact, 281.1 billion e-mails were sent and received on a daily basis, and 65% of them are spam.) This is a huge and complex enterprise.

In view of that, you can understand exactly why the people that run such systems not only forbid, but make it darned near  impossible, for anyone but themselves to mess with almost all of the parameters. 

When an email server has problems, 99.9% of the time it affects thousands if not millions of people – not just one iPhone.

Here’s an analogy that is very close to what happens with email.

You get email sent from around the world, and any time, day or night. Because it arrives 24/7, it has to be stored somewhere –  It all goes into a large “bucket” which just sits there collecting emails. Think of a bucket of water: you pour some in, and then some more, but the bucket of water just sits there. Likewise, the email bucket just sits there passively collecting emails.

Nothing happens to the water while it’s in the bucket. Nothing. BUT, if YOU grab a cup and dip into the bucket, you get back some water. Well, that “cup” is your email client on your iPhone, computer, laptop or whatever. 

When you check your email (dip in with your cup), the server/bucket sends you a list of what is IN the bucket. The bucket itself does NOT send you anything but the list; you go grab it. You click on something on that list, and a copy of it is displayed for you by your client. Unless you specifically delete the email, it is still sitting there in the bucket, ready  to send you another copy, or be read by another of your devices, like your laptop; iPhone; desktop and so on.

So, your email client is the cup. It is what grabs a copy of the mail in your bucket.

The client does the work. You can save a copy of the email to your local hard drive; you can delete an email from the bucket; you can forward the email to someone, or you can reply.

So, if you have problems getting email on one device, but not on another, then the problem is with the one device. It is not, and cannot be, a problem with the bucket, because if there were some problem on the bucket,  then ALL your devices would fail, not just one.

If you are in the circumstance that you get email on your iPhone, but not on your laptop, the something has changed on your laptop. The bucket  is still just sitting there.

Here’s what happens: the email remains in your INbox, which is the IMAP server, the bucket , until you delete it. So, that way, you can read the email on your laptop, your desktop and your iPhone. However, if your delete it on any of those devices, you have deleted it from the server. Obviously, since it’s now gone, you cannot read it on any other device.

To keep a backup (and you should!) simply make a new mailbox in your client, and drag the message into it. Now you can delete it from your INbox because you have a copy in a different mailbox.

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 try to hard-wire everything I can. I have cable tunning from my 24-port switch running all over the place, including out into the living room (via under the house) to yet another living-room switch.

I have a 1 GB connection for my internet, and a very fast router/wifi and DOCSIS 3.1 cable modem. (Nope: not rich – it’s all for my business, which is internet-based.)

My router is 25 feet from the switch, so a 50′ round trip (modem to router to switch). I put CAT 6a cable in that route, and everything else is regular cat 6. there may be some cat 5 in there somewhere.

The difference between 5, 6, 6a and so on is really “bandwidth” which then translates into “speed”. Think of it as a highway system, where “bandwidth” equals “lanes.” The more lanes you have the more cars you can push down the road.

If you have a two lane road, then at full speed, you’ll only get two cars down it at any give time. If you have a 5-lane road, then everyone can scream down the road at full throttle.

So: it’s not only top speed, but how many cars are simultaneously trying to get down the road? For me and my wife, it’s only the two of us, plus a few devices (Tivo, AppleTV, her computers and mine). In reality however, if you ever look at LAN and internet traffic, you’ll likely be surprised by the amount of stuff going on -all- the time, such as IMAP mail checking; apps checking the background for updates or to make sure they are authorized; AntiVirus software; automatic updates, devices on the LAN checking their status or reporting it… the list goes on and on. Most of that stuff is in very brief spurts, but it is nonetheless there, all the time, in the background.

So, our worse case scenario is something like
Recording something on TIVO off the net;
running AppleTV to watch something;
Doing a Zoom conference in my office;
running a video on Nora’s computer.

Use can pile up higher for families with teenagers who keep their iPhones on wifi 100% of the time.

So, I pay a lot of $$ for my high speed internet access, and I have a LOT of things hanging off my net. I don’t want anything to slow this mess down. I popped the big bucks for CAT 6a cables up to my switch. I buy “real” regular CAT 6 for most uses, and one of these days when I can get my old bones under the house again, I’ll probably replace the CAT 5 to the living room with CAT 6… maybe.

It “ain’t broke” now, so we’re good meanwhile.

Yes: I’m “over the top” about some of this, but equally, I don’t regret the money and effort I’ve spent either.

I buy all my cable from bluejeanscable.com. That way, I know what I’m getting: each cable comes with a printed report from a $10,000 Fluke testing machine that verifies the cable’s specs are met.

Here’s the article that worked to sway me:

https://www.bluejeanscable.com/articles/is-your-cat6-a-dog.htm

Do I notice the difference between their cable, and Amazon el-cheapo? Yes. It didn’t blow the doors off (well: in one case it did) but I live in this system 10 hours a day, 6 or 7 days a week, so I’m more sensitive to changes than the average person would be.

(I also upgraded all my HDMI cables to products from BJC and I could literally see the difference between theirs and the no-brand stuff.)

Finally: no, I’m not shilling for them; just a happy customer. YMMV.

 

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