The NRA is Evil

Their persistent fear mongering, gross distortion and fabrication of the facts is a clear and present danger to a civilized society.

I would avoid NRA members and their sympathizers’ like I avoid psychopaths, sociopaths and other mentally ill people who are a danger to others.

They have turned a blind eye to the mass murder of innocents with weapons of mass destruction.

They have a complete disregard for the real consequences of their infatuation with guns.

They have a lot of blood on their hands.

We have suffered through years of their ridiculous justifications and wild excuses.  There is no use trying to talk to them.


Child Theme and Plugin Development Cycle

I hope someone who has a better process than this shares some of their secrets.  I am a software engineer who has been developing for WordPress for a few years. I mostly have done projects that were outside of normal WordPress Development. For example, ported a Custom CMS into WordPress. I did custom landing pages with a WordPress backend.  For I while I have been editing my plugin code in place, under wp-content.  I make some changes.  I reload the page. Where the F*(&*^ are my changes?  Oh, I forgot to clear the browser cache.  I test my changes on another site.  I clear the browser cache.  Where are my changes? Oh, I forgot to clear the WordPress cache in use.  Still after clearing both caches, I had some issues with see my updates once in a while.  If I only changed a css file or a js file, it sometimes, did not update.  Mostly on odd days of the week, even when you change what day of the week it starts on.  You really have to watch this stuff.  Sometimes its date related.  Phase of the moon. Rain and inclement weather play a part, sometimes the bit bucket needs emptying.  It is always something.  See  for more suggestions.

So the first thing I do is move the source, to source control. Git is the flavor of the year (previously popular flavors are Mercurial, SVN, CVS, Source Safe ..). Then I document what I think should work. Here is the cycle I use:

– code
I make changes in the hope that one of my mistakes will prove useful, and to move towards my desired effect.  gmgj is the name of my plugin (also its folder etc)

– touch gmgj.php in plugin , functions.php in child theme
Just to be clear, in this case “Touch” is a programming term, where you use a utility to update the modified time of a file, even if you have not updated. The #MeTo has a very different use for the term.

– deactivate plugin, sometimes I have had to change the theme, but not so much
– move in new code

I use a bat file, sort of like this:
@echo off

cd "C:\path to source"
rem this is the touch
copy /b gmgj.php +,,
rem this is the move
xcopy "C:\path to source\*.*" "C:\path to WorPress \wp-content\plugins\gmgj\*.*" /s /r /y /q /d /EXCLUDE:excludeus.dat

rem delete the old zip and recreate the new zip, the zip file is what you upload to new WordPress Installations to install your plugin
del /Q C:\path to source\
cd "C:\up a level\"
rem this includes some file extensions, excludes others, there are better ways rem to do this.
rem Why? I keep the project html file and other utility files in the same rem directory as the project
"C:\Program Files\7-Zip\7z.exe" a "" -x!gmgj\*.html -x!gmgj\*.dat -i!gmgj\*.php -i!gmgj\*.css -i!gmgj\*.js -i!gmgj\*.JPG

excludeus.dat is:

– hit wordpress plugin “Clear Cache for Me” on the admin dashboard
– I use the FANTASTIC utility Web Developer clear cache to clear the browser cache

– activate the plugin and cross all fingers and toes.  If that does not help:

– check php error log and start Browser developer tools and check for other errors
– use php error_log() and javascript console.log()
– if problems like not updating code
– admin logout , close browser

– delete plugin and upload via zip file
– start and stop apache and mysql, restart computer, get a coffee …
– roll version numbers
– ?
swing a rubber chicken

I would be remiss if I did not point out that when I calling things like wp_enqueue_style and wp_enqueue_script, I use the version parameter like this.  Please note, I did not originally come up with this idea.  When I looked at the source for a number of projects, the following appears to be standard practice.

$gmgj_js_url = plugins_url( 'gmgj_test.js', __FILE__ ); 
$gmgj_js_path = plugin_dir_path( 'gmgj_test.js');

 array( 'jquery', 'jquery-effects-core' , 'jquery-effects-explode'),

This the magic that makes the version stuff work

function gmgjversion_id($pluginpath) {
 return filemtime($pluginpath);
 //return '012';

Updating the child theme is similar.


“Fuck you, I like guns.”

Anastasia Writes

Edited to add: I can’t thank you all enough for interacting with this post. I am actually surprised that it’s become this popular. This is the first time more than ten people have read anything I’ve written here. I’m probably going to turn off commenting soon because everything that can be said already has been. In general, I’d like to point out that this is an opinion piece. I wrote it on a 15 minute coffee break and posted it unedited. It’s raw, and that’s the whole point. The tone, the language, and the style are intentional. This was written for people like my mostly conservative Army buddies who will never click an article that is titled “Gun control is your friend”, and tend to assume those who support such legislation have never seen a gun before. I’m not a professional writer, nor a particularly prolific blogger until about three…

View original post 1,782 more words

Mojo MarketPlace

I do not trust them — and think you shouldn’t either.  And when I see these kinds of anti-consumer practices, I like to let other people know about them.  Maybe this post will save you some money, or at least make you a smarter consumer.  My goal is to prevent more people from getting scammed by companies that definitely do not put the consumer first.

Please do not use Mojo Marketplace.   They use deceptive links that try to get people installing WordPress, to pay for an “expert install”. 

HostGator, the web hosting provider I currently use, is promoting this.  In the past, they had a button you could push that would ask you five questions to install WordPress.

WordPress prides itself on a very simple 5 minute install, that is one of the easiest installs I have ever seen in my over 30 years in the software business.    

Using MoJo for a WordPress install is like buying a $100 pizza with white glove delivery.  You have to be really naive and out of touch to do this — but vendors know they can prey upon uninformed consumers by getting them to buy things they do not need.

IMHO, the best advice you can give to someone getting started with WordPress is to setup a free account at and push a few buttons.  You are reading this post on a free WordPress site!

Here is the screen I see when trying to install from Control Panel or QuickInstall on HostGator:

At the top, you see where you put in the domain and directory for the install.  Whatever you do, the next button do not become active.  Hostgator took the one click install off the options they easily offer their customers!  I started a chat with support and they were nice enough to do the one click install, from their end.  It took less than 2 minutes to finish.

I could do a manual install, documented here :

Here is an example of an install script written in php:

Search for something like “is there a php script to install wordpress” and you will see lots of examples.

The install of WordPress has been automated by a lot of folks. Here is a script that uses bash from the Linus command line:

It is not in Hostgator’s interest to force users to do there own install of WordPress.  They could install old versions with known security holes etc.  But, they want to sell you the “Expert Install” by the Mojo Marketplace people.  They want to charge $99 dollars for typing in Site Title, First Name, Last Name,  and admin email, and pushing a button.  Shame on HostGator, shame on the Mojo Marketplace.

For $399 they offer:

  • WordPress Theme Credit($49)
  • We Install WordPress
  • We Install Your Theme
  • Demo Setup
  • WordPress Site Backup
  • WordPress SEO / SEO Sitemap
  • WordPress Site Security

Are they serious?  There are hundreds of free themes that you can install with one click. When you install your theme, you get a working site, Site Backup is as simple as Tools – Export. There are free WordPress Site security plugins like the ones listed here:

It is really disingenuous of HostGator and the MoJo people to do this. Managing a WordPress site is not difficult; however, its not without some work.  Creating content and designing an appealing site takes time.  The add-ons you can (and should include), such as SEO and Site Security are not trivial, but installing them is. A lot of WordPress add-ons have free versions. Having these trivial tasks done for you, really does not get you very far.

When you buy shared hosting, the most popular setup is a LAMP stack. Linux, Apache, Mysql and Php. Setting up your own LAMP stack use to be a little tedious. Ubuntu has a one click install for it now.  Installing WordPress on LAMP has been automated.  Bitnami offers an automated WAMP (inset Windows for Linux) with one click and you can add on WordPress for another click.

There are real heroes in the open source movement.  They are the software engineers who create these one click installable products like the LAMP Stack and WordPress. They are the volunteers that offer support and help in so many ways.

Maybe you can think of a few choice words for someone who tries to sell you what other hard working people give away for free — and pricing it at a not insignificant amount of money.

What MoJo says:

Those deceptive links you are referring to are for our installation packages that not only include the free WordPress installation, they include a theme, a theme install, a full demo set up of the theme the customer chooses, a backup plugin that saves content on a daily back up, full site security to protect a WordPress site from Adware, malware, and spyware, SEO services, as well as 30 days help from our WordPress experts to help customers become more proficient using their dashboard. The installation itself is free, and we offer installation of WordPress instructions over the phone. They are not required and are completely optional.

Let us see how truthful they are:

Free; but they say, install for $99.
They don’t say you get support.
They say it’s optional, but, on HostGator, you have to go through hoops.

This is not the kind of thing that would make me trust them.  It raises warning flags.

My Bottom Line Advice

If you need a lot of help doing computer related things, hire your own consultant, someone who can steer you clear of these predatory practices. I  charge a sliding scale.  My rate for commercial entities is $35 per hour.  If you give me $399, you will get real value.

I set up these WordPress based sites:

I helped my wife with these:

I am working on this:

My background

I did and do things like static html front pages with WordPress backends, hosting, configuring and redirecting email etc.  I have been coding in native HTML, CSS and JavaScript, since day one.  I took up PHP a number of years later.  My first passion was doing web browser based apps.  I had written native Windows applications and DLLs.  (Using a web browser for apps was like cheating.  The browser does all the hard work.)

by George Carlin

 The paradox of our time in history is that we have taller buildings but shorter tempers, wider Freeways, but narrower viewpoints. We spend more, but have less, we buy more, but enjoy less. We have bigger houses and smaller families, more conveniences, but less time. We have more degrees but less sense, more knowledge, but less judgment, more experts, yet more problems, more medicine, but less wellness.

We drink too much, smoke too much, spend too recklessly, laugh too little, drive too fast, get too angry, stay up too late, get up too tired, read too little, watch TV too much, and pray too seldom.

We have multiplied our possessions, but reduced our values. We talk too much, love too seldom, and hate too often.

We’ve learned how to make a living, but not a life. We’ve added years to life not life to years. We’ve been all the way to the moon and back, but have trouble crossing the street to meet a new neighbor. We conquered outer space but not inner space. We’ve done larger things, but not better things.

We’ve cleaned up the air, but polluted the soul. We’ve conquered the atom, but not our prejudice. We write more, but learn less. We plan more, but accomplish less. We’ve learned to rush, but not to wait. We build more computers to hold more information, to produce more copies than ever, but we communicate less and less.

These are the times of fast foods and slow digestion, big men and small character, steep profits and shallow relationships. These are the days of two incomes but more divorce, fancier houses, but broken homes. These are days of quick trips, disposable diapers, throwaway morality, one night stands, overweight bodies, and pills that do everything from cheer, to quiet, to kill. It is a time when there is much in the showroom window and nothing in the stockroom. A time when technology can bring this letter to you, and a time when you can choose either to share this insight, or to just hit delete.

Remember to spend some time with your loved ones, because they are not going to be around forever.

Remember, say a kind word to someone who looks up to you in awe, because that little person soon will grow up and leave your side.

Remember, to give a warm hug to the one next to you, because that is the only treasure you can give with your heart and it doesn’t cost a cent.

Remember, to say, ‘I love you’ to your partner and your loved ones, but most of all mean it. A kiss and an embrace will mend hurt when it comes from deep inside of you.

Remember to hold hands and cherish the moment for someday that person will not be there again.

Give time to love, give time to speak! And give time to share the precious thoughts in your mind.

And always remember, life is not measured by the number of breaths we take, but by those moments that take our breath away.

Privacy in our world

It is a simple matter to get your credit card and bank data. Got a modern cell phone, unless, you turn off tracking, your phone knows where you have been. Facial recognition can pinpoint exactly what you did after you get out of the vehicle. Got a resume, is it online somewhere? Now for public information, ever been arrested, got a speeding ticket? However,if you want to minimize your web tracking use the Brave Browser or the Ghostery extension, which allows you to stop some of the tracking cookies. Of course, they can track your ip address and there are services that associate ip with physical addresses.

Is your Safely Remove … missing?

Is the “Safely Remove Hardware and Eject Media” icon/program missing from your Windows Taskbar?

Try this:

1) Connect a usb device, do you see it now? If yes, you are done.

2) Exit a few taskbar programs (Google Sync and Backup, OneDrive, your printer, etc.) and connect a usb drive.

Do you see the safely remove taskbar icon?

Go to Settings -> Personalization -> Taskbar or Right-Click the Taskbar and go to settings.

Select Which Icons appear in the taskbar.

Toggle off always show all icons in the taskbar.

Toggle on:
Windows Explorer
Safely Remove Hardware and Eject media

No Luck, try here

It never hurts to try this:

MediaMonkey Portable Installation

A work in Progress

Actually, a migration from a hard disk installation.  Part 2 of my rethink of my music library. First part is here: The Reorg. The main part that is applicable to doing a portable install is that I moved all of my music files to a usb drive.

The MediaMonkey documentation is at :

I downloaded the latest debug build from here:

Click on the MediaMonkey_4.1.19.1859_Debug.exe. Of course, allow the “install” , “change”, elevate, access to private network requests.

Select Portable Installation and specify the drive you want to install it on ( I chose a USB, not the location in the following image)

2017-11-25 (1)

Eventually you get here:

2017-11-25 (2)

2017-11-25 (3)

I did not scan.  I unselected the the location it had by default clicked (Music)

2017-11-25 (4)

2017-11-25 (5)

I let it share, for the moment.

We get to the Monkey Startup and it asks if you want to:

Import Missing file playlist and rating from your other applications; however, MediaMonkey is not one of them.  I skipped this step.

It shows Media Servers for all users?

I changed a few default things:

Turned off : Volume Leveling
Tags and playlists: ID3v2 encoding ascii always.
Media Tree: turned on Classical Music
Search: Turned off Custom and other fields that I don’t care about

Now I want to migrate all of my , auto organize rules, playlists, Milkdrop 2 installation and custom scripts to the new portable install.

I have reviewed the forum posts for a search on “portable” and have narrowed down my first attempt to be based on the following post:

Portable install loses settings.

Thank you – MediaMonkey Forum User DickSledge

When migrating from a local install to a portable install, do not follow the instructions on “moving to a new computer” that tell you to copy the .ini file. Only copy the .db file and the Metadata Cache folder. Overwriting the .ini file in the portable install will cause that install to look to your hard drive for the database.

It was that easy, I copied:




X: is the drive I had my music files on and installed portable MediaMonkey to.

BTW: my MetadataCache/Thumbnails directory was empty

I also adjusted skins, options, font size to 150% so I could comfortably read the MM screens.

Next, using my portable install on different computers. I connect it to a laptop, MM automagically adjusts for the new drive.  My scanning and editing {Tools – Options – Auto Organize}  Auto Organize rules still reflect the original drive letter I set them up for.  Example  If genre “Rock” ,

Main Directory I:\Rock\

In my case I alway plan on staging my new files for the library on the USB in a folder called “ToBeOrganized” .  Next thing is to test adding a new file with the Auto Organize rules, to see if it automatically adjusts.  In my case it would make sense to adjust the rules.  How do you code the “Main Directory” so it is not hard coded {I:\Rock} and defaults to the Rock Directory off the root?


The other Auto Organize rules {Tools – Auto Organize} also reflect the prior installations drive letters.  That and the File Monitor {Tools – Options -Library – File Monitor} also needs to be adjusted.

I renamed this USB drive as music; however, I see it in safely remove drive as “Ultra MT Slim”.  I wonder if I can rename this or if I can rename it, if I do rename it, will it screw up the MM library?

Things of interest

Based upon:
How to export current settings? Where is settings file?

points to
Retrieve old MM environment?

The documentation on where things are stored is here:

Things worked fine, as along as I was on the original pc.  When I tested it on another machine, I had to update the driveID in the database. The following Third Party Addon can do this:

Hopefully, I will not be expanding to much on this:

Disadvantages of portable mode?

I did my portable install on a “standard” computer config, with a C drive and a D optical (combo DVD /Cd) (it’s been a few years since we had a and b drives, but some things never change!) So my portable install ended up being drive E:  Now when I plug a usb stick in, it goes to drive F.  That’s okay, but it shows the drive E attached.  I attached to to a computer that has c,d,e,f and at G optical drive and it goes to I.  My portable installation showed up as drive H, and it worked.

If when you click on safely remove drives, it gets a little flaky, go to Windows File Explorer and eject the drive.

Wise and Happy

Welcome to My World

The quieter you become, the more you can hear – Ram Dass

All you have to do to be happy, is to be grateful – Martin the dog

We’re born alone, we live alone, we die alone. Only through our love and friendship can we create illusion, for the moment, that we are not alone – Orson Welles