Options saved.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

URIs to Ping

The following services will automatically be pinged/notified when you publish posts. Not when you edit previously published posts, as WordPress does by default.

NB: this list is synchronized with the original update services list.

Separate multiple service URIs with line breaks:

Ping log

These are the lastest actions performed by the plugin.


'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (new post) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” was edited)"); else SUP_log("NOT pinging services (a post was edited)"); } } else SUP_log("NOT pinging services (disabled by administrator)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." was successfully pinged (extended format)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." was successfully pinged"); } else { SUP_log("- ".$server." could not be pinged. Error message: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> <title> What the backyard car mechanics don’t tell you</title>

What the backyard car mechanics don’t tell you

Everybody knows at least one backyard car mechanic. Some are actually pretty talented, but- They’re backyarders. They can do so much, and they can only do some things. If you’re looking for good car service when you really need it, these guys aren’t the answer.

Backyard Mechanic

Backyard Mechanic

Not that you’ll ever hear that from them. Anything can be done cheap, they’ll say, in all sincerity believing that they can really do it. Wrong. Doesn’t matter how good a mechanic you are, if you don’t have the right materials, you can’t do the job. Anyone who knows what a patch job can do when it comes unstuck on the road will know the story.

In the old days, backyard was the norm. Everyone would stand around being knowledgeable while someone tinkered. The cars in those days were practically a different species. Modern cars have things that didn’t exist back then, complete with systems that need some real management. You can’t hit these systems with a spanner and hope they work.

Power systems don’t take too kindly to guesswork in their maintenance. Nor do electronics. Mistakes can be costly, and dangerous. The really talented mechanics know better than to even pretend they can fix these things without the right equipment and parts. It’s possible to do something which looks like a good fix, but 9 times out of ten there will be some issue somewhere.

Cheap? What’s cheap about it?

The selling point for the backyarders is that they’re cheap. That’s a matter of opinion. A “cheap” brake job is likely to be just that, and nasty with it. The time to consider whether you’re getting value for money isn’t when you’re on an expressway wondering where the brakes have gone.

The cheap element is likely to be in recycled parts, and the theory of costing less in dollars upfront, not in the results. A steering alignment can be tricky with some cars, particularly powerful vehicles that need to be told what they’re doing all the time. A few bucks isn’t going to turn a supercharged racehorse into a granny-mobile. Might turn them into scrap metal, though, with a bit of effort.

Cheap isn’t good. It’s risky, and it’s often exactly the wrong way to manage some cars. Authentic parts and industry standard parts aren’t on the market for decoration. They’re necessary, and they’re the reason cars drive well.

Doing a favor for a friend?

Doing someone a favor is the other selling point. If you’re a friend, loading up another friend’s car with garbage isn’t a very friendly thing to do. If you want to see your friend in kit form, it’s probably the best way of achieving that. If you’re a halfway decent mechanic, help your friend and don’t try to do things you don’t know how to do.

If you’re a real mechanic, what are the excuses, exactly? A few bucks for a crappy job, or for a half-baked effort on a system that may or may not give out in a dangerous spot? Get real.

Car repair isn’t some sort of game. Do it properly or don’t do it at all. Better yet, put your friend onto a local car business that can do a good job.

Related Posts Plugin for WordPress, Blogger...


  1. David says:

    I disagree with this article. I own my own “backyard” shop and have many times, had to repair a botched up cobb job from the “pro’s”, i.e. Meineke, midas, sears, a few dealerships. These days, “pro” shops are under enormous stress to get 4 hours of booked labor, done in 1 or 2.
    I repaired my wifes 2006 mustang after warranty work from the “factory trained” techs for a faulty fuel pump. Had to remove the back seat to find that they broke the evap vacuum line to the tank, causing a check engine light. You call this something best left to the bigger shops, but Ive found that their monkey mechanics arent any more apt to do a good repair than I am. And they have access to better tools and service manuals. I save my customers money because I dont have the overhead of a corporation. Not becsuse I reuse old parts, which I find insulting. Doing so is a sure lawsuit if it fails and causes damage or injury. Please think before you post.