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:


Advice on USB hubs

Having just gone thru a bunch of USB issues in the last 48 hours, I’m prompted to share my experiences.
I have 5 hubs hooked up to one machine. They are all 7 port hubs, and all of them have a power supply. 3 are USB 3.0 and two are USB 2.0.
Yes, I have a lot of USB stuff, but I don’t have 35 items. (That is, not all 7 of the ports on each hub are full. An average of 4 ports are full on each.)
But here is what I discovered, at least as it applies to my setup:
1) it pays to have -different- (brand or model) hubs all the way around. This seems to help the system keep everything straightened out, and not confuse one item with another. (Yeah: I know, it -shouldn’t- make any difference, but like the old issues with some Firewire enclosures, it does make a difference.)
2) individual ports each have different addresses (of course, or it would be chaos) but some >software< depends on those addresses (not just the the OS) and live plugging a device from one port to another may cause that device to stop working (being recognized.) Again, a reboot is in order, or you may need to delete, and re-add the device to the affected software.
3) adding a hub, or likewise moving it around, may require a reboot as well. Hubs seem to be recognized by the OS at boot time. So, plugging in a hub and getting no activity on it may simply require a reboot.
4) some items may be hot-pluggable and some may not be.
5) running a hub without an external power supply is skating on thin ice: it will work fine… until it doesn’t. (Usually fails when you really REALLY need no problems. Somebody’s Law, I think.)
6) Speaking of fails: hubs -will- fail, either a port at a time, or the whole bloody thing at once.
7) buying cheap, no-name hubs is a gamble. At the very least, read the reviews, and if you find one with strong favorables, make sure there are hundreds of them, not ten.
8) leave hubs plugged in, and powered on. Don’t be switching them on and off with power strip.
9) weirdness may happen with your computer ( not booting, for example) if a hub or something connected to it, is going out, or gone. If you experience this, try unplugging your hubs as a troubleshooting technique.
Brands: I like Anker products (not just their hubs, either). Amazon Basics.
Belkin is usually, but not always, good.
A good, reliable USB 3 hub will cost about $40. Yes, you can get them for less; I’m saying “don’t.”
As I understand it, USB hubs require one controller chip for every four ports. The good ones will have that; the cheap ones will not, and will choke when you plug in the 5th device.

Preventing Spam on Your Blog

I run a few blogs, and as anyone with a blog can tell you, spam postings are more than a little annoying. For years I have tried various different WordPress plugins, some more successful than others, but most lacking, unfortunately.

I’ve now been running a paid service (although the fees are very modest) that has been better than all the others: CleanTalk.

First: it “just works” – and frankly that’s also second and third in my book. What I want from such a protector is to not have to think about it. CleanTalk allows me that freedom.

There are other advantages: while a single site is dirt cheap, if you have more than one blog to protect, their bulk prices are also quite reasonable. And, it apparently works with Drupal, phpBB, Joomla, Magneto and others. (I say “apparently” because I can only testify to WordPress since that’s where I use it.) 

Finally, it eliminates the need for Captcha.

Those of you who have been with me for a while, through my newsletters going back 15 years, know that I don’t recommend anything I don’t have a personal and positive experience with.

Visit them at http://cleantalk.org.

To get started (at least with WordPress blogs) just seek out the “Cleantalk” plugin, and follow the instructions.

CleanTalk gets my recommendation.

The truth about TRIM

TRIM is not a simple subject, and many people do not understand it. It is NOT voodoo, and NO SSD has TRIM all by itself, simply because TRIM runs on the computer, not on the drive.

ALL SSDs have garbage collection routines. What TRIM does is make those routines more efficient, by telling the SSD when space can be reused instead of the SSD’s garbage collection figuring it all out at once, and then trying to do a clean up, while making a pending write sit there and wait until it’s finished.

This is because SSDs do not have an “delete” capability; everything is a “write” command. And because only large areas, which most certainly contain more than one “file” can be altered , TRIM’s usefulness comes into effect continually, and not just during idle or write times, like a garbage collection.

Every SSD manufacturer will tell you that TRIM isn’t needed. That’s correct – it is not NEEDED.

OTOH, it doesn’t hurt, and it’s generally always beneficial. As the drive fills up, the speed up with TRIM becomes more apparent.

Here’s a good article that doesn’t go too far off into the weeds:


The bottom line – do you want TRIM?  YES.

Do you NEED it? No.

Security in the Cloud

Just thought I share what I use so that I can keep copies of important stuff (log-ins, passwords, bank accounts, credit card numbers) in “the cloud” (I hate that euphemism), and be able to have them on all my devices (Macs, phones, etc) without worry:


Yes, I pay $48 a year to have access across all my devices, but the basic setup is free for personal use.

The encryption it uses happens on your device, not at the service, so the files you’re moving around the next are always encrypted. The files are stored at the place of your choosing, and apparently, the are completely inaccessible to the BoxCryptor personnel as well, since the encoding key is local to your devices.

Using it is drag and drop simple, once it’s set up. It creates a desktop “volume” with folders for whatever cloud service you’re using (Amazon, Google, Microsoft, Dropbox etc). I’m using Dropbox, so all I do is drag and drop my file into the Dropbox folder on the Boxcryptor volume. That’s it.

To see the unencrypted file, I just double-click it. On my iphone, I run the BoxCryptor app, and double click the file.

No fuss, no muss. And yes, I’ve download the file directly from DropBox, just to see what it looks like without BoxCryptor: it’s encrypted nonsense.

There’s no “commission” for me sharing my positive experience: I just thought this might interest a few folks here.

Happy New Year.


filter out some spam right at the source !

This may or may not apply to you, but if it does, there’s a quick way to filter out a bucketload of spam.

Spam can be sent to an address that looks like this:

dlsi.biz@proxy.dreamhost.com or valleau.gallery@proxy.dreamhost.com

instead of yourname@address.com (ie myname@dlsi.biz)

That is something in the form of  “address.com@proxy.yourISP.net”

What’s happened here is that the website has been placed in front of the proxy at my ISP.

Yours may look like amug.org@proxy.cox.net.

Well: no one I want contacting me uses that kind of address. Ipso – if the address contains “@proxy.myisp.net” I have set up a black list to just dump those emails. I never see them. If you can’t set up such a list via your webmail, then you can use it as a regular filter/rule in your email client.


AV software, Part Two, (BitDefender removed)

My mini report:
So: I uninstalled Intego (Virus Barrier / VB) because its RTS was so slow when copying files. [It was fine, otherwise, and didn’t seem to generally slow my Mac, but I do make a lot of clones….] to try BitDefender. BD was faster while copying files, but would slow my machine (50% of 1 CPU’s load) for about 45 minutes once, perhaps twice a day.
Uninstall BD, and try ClamXAV, but it quarantined suspect emails, screwing up my email database.
Uninstall and reinstall Intego.
(We lower the curtain on this performance for a week, to denote the passage of 7 days…)
Uninstall Intego, and try Norman.
Norman uses the BD engine.
Uninstall Norman and try G-Data.
G-data uses the BD engine.
(I should note that having installed BD and then removed it, both Norman and G-Data saw whatever detritus there was left over from that, and complained that I had an invalid license, and the demo would not run. However, given that they were virtually -identical- interfaces, and they admit online that they are using the BD-engine, I simply assume that because of that, they will exhibit the same behavior. Maybe not, but I wasn’t about to spend $60 to find out.)
uninstall G-data and try Kaspersky… which is where I am now.
At least Kaspersky doesn’t seem to be BD in disguise…
I suppose that there’s a 50-50 chance Kaspersky will be OK or that I’ll end up going back to Intego’s VB, and just leave RTS off.
At the very least, I’ll end up with hands-on experience with all of them… not to mention having wasted a bunch of time.
On 5 Aug 2015, at 12:43, Chris Gehlker wrote:
On Aug 5, 2015, at 12:20 PM, Tracy Valleau <tracy@dlsi.biz> wrote:
Yep. I was looking at this:
Really useful data.
Allahu Akbar Ricin
This email is part of the NSA job security program.
amugtalk-pronet.link mailing list. To unsubscribe, send an email to: <amugtalk-leave@lists.pronet.link>.
amugtalk-pronet.link mailing list. To unsubscribe, send an email to: <amugtalk-leave@lists.pronet.link>.

Anti-Virus recommendations for the Mac

 (Without wishing to revisit the whole AV discussion on Macs, but because I have decided to use it for myself, I’ll submit this note:)

For reasons I don’t recall, yesterday I found myself investigating the latest reviews of AV (anti-virus) software.

Based on the info found at URLs below, I ended up downloading and installing BitDefender for the Mac.

I used the built-in “upgrade from free trial to paid” and was able to purchase the product for $27 / yr.

It does prompt you to install a couple of browser plugins for extra protection features, but the thing that prompted the switch from Intego was the fact that it offered the least “real-time scanning’ slow-down. (Since I’m often cloning drives, I had found it expeditious to disable that (in Intego’s Virus Barrier) when copying lots of files. I found that annoying.)

I’ve had no problems so far, but it’s also been only 24 hours.


To get BitDefender for Mac, visit http://www.bitdefender.com/solutions/antivirus-for-mac.html, and click the download link for a trial, and, as I noted, use the built-in upgrade path (for one machine) to (hopefully) get the $27 ($28?) price.



Windows 10

I never expected to find myself saying this, but the time has finally come: I can actually recommend Windows 10. Not over OS X, mind you, but I’ve been a charter member of the “Windows sucks” club since day one.

However, I’ve been playing with W10, and honestly it’s not bad.

When it comes out in about two months, you can get a copy for free if you have a legit (& non-OEM) version of W7 or W8.

Based on everything I’ve seen so far, I’d say go for it.

Basic DNSResolver dropping message because it doesn’t match the one sent Port:0 – my fix

I have lots of probably horrible habits, but one is dropping into the Console to look at the system log every now and then.

A few days ago I did so, for the first time in weeks, to find literally tens of thousands of these:

Nov 8 12:33:42 myQuad.local discoveryd[56]: Basic DNSResolver dropping message because it doesn’t match the one sent Port:0 MsgID:13367
Nov 8 12:33:42 myQuad.local discoveryd[56]: Basic DNSResolver dropping message because it doesn’t match the one sent Port:0 MsgID:14649
Nov 8 12:33:42 myQuad.local discoveryd[56]: Basic DNSResolver dropping message because it doesn’t match the one sent Port:0 MsgID:12295
Nov 8 12:33:42 myQuad.local discoveryd[56]: Basic DNSResolver dropping message because it doesn’t match the one sent Port:0 MsgID:28005

That, in turn, lead to a search of the web, where it seems to be not completely uncommon. And LOTS of things to try to fix it. I tried a few, and in the process corrupted my drive, leading to dozens of hours of testing, repair, re-installs, more research and so on .

Port zero is a “non-port” sometimes used to get the OS to seach for and supply a free port. What that tells me is that whatever was causing these entries was local. My Synology? My network tools like PeakHour, iStat or LittleSnitch? Nope. Flushing cache? rebooting? Load/unload DNSResolver… ?

Absolutely nothing I could do would stop these mysterious messages.

Then this morning I found it.

I turned off “Back to my Mac” in iCloud preferences, and the messages, after weeks, finally stopped. (Yes, a few weeks ago, I turned in on for the first time… and then forgot about it.)

I could speculate, but frankly I’m too relieved to bother.

Just FYI.