Springsteen on Broadway

A little over a week ago I was fortunate enough to see Springsteen on Broadway at the Walter Kerr Theatre in New York City.

When Springsteen on Broadway was first announced I put my name on the TicketMaster “Verified Fan” mailing list and didn’t think too much more about it.

I did not get selected from the first batch run of shows. When the second run was announced I didn’t think too much about it but a couple months later I got an email letting me know I would have a chance to buy tickets. Wow! Very cool. I don’t live in NYC nor anywhere close – I live outside of Raleigh. I figured if I was lucky enough to get tickets I’d worry about logistics later.

When the day to buy tickets finally came I logged into Ticketmaster and began the process of trying to find seats for a show. It is a panic driven process and calling the purchase process cumbersome would be an understatement.

I still don’t know why but due to some Chrome cookie issue each time I tried to complete a purchase, it would fail. At one point I had pair of orchestra seats which would have been phenomenal but I couldn’t make it through the checkout process and I lost them. This went on for about 20 minutes at which point I had selected and lost 4-5 sets of tickets. I decided to try a Chrome Incognito tab and much to my surprise, it worked. I had purchased tickets to Springsteen on Broadway for late September. Woo-hoo! Now could I actually go?

I first saw Bruce Springsteen at the beginning of The River tour in 1980 at the Capital Center in Landover, MD. It was the second concert I had ever been to and it was amazing. The show was 4+ hours long and I got in trouble for getting home so late on a school night. My mom said “no concert lasts that long” but the next day there was a review in the Washington Post about the show and how it didn’t end until almost 1:00 am or something to that effect. So my grounding was lifted, the reason for my late arrival at home validated by the Washington Post.

I saw several other Springsteen shows while in college but hadn’t seen him live since then.  My wife and I decided to make a short trip to NYC to be tourists for a couple days and see the show.  We did a Carriage Ride in Central Park, ate in a couple of great restaurants, rode to Roosevelt Island on the Tram, and general enjoyed ourselves in the City.

The highlight of the visit was of course the show and I thoroughly enjoyed it. My wife had never seen Springsteen before so she wasn’t sure what to expect but enjoyed the show, probably not as much as I did. If one wasn’t familiar with a lot of the songs I think the stories told in between wouldn’t make a lot of sense. It certainly was a wonderful evening, one I am glad to have had the chance to experience.

Email Users Custom Lists

A recent question on the WordPress Support forum got me thinking on how to solve this user’s question.  The obvious answer was to use the Custom Meta filter capability which has been part of Email Users for quite a while.

The one limitation of Custom Meta filters was the limitation in how WordPress support SQL wildcards in the LIKE and NOT LIKE constructs.  WordPress would add unwanted escape characters preventing the wildcard from matching rendering LIKE and NOT LIKE largely useless.  I had submitted a WordPress patch 4+ years ago when I ran into this issue and expected it to be fixed in WordPress 3.6.  It was never incorporated, I am not sure why, there isn’t much of an explanation in the ticket.

When I started looking back into this today I found that WordPress had added support for regular expressions (REGEXP, NOT REGEXP) to user meta queries.  This is good news as it is actually a better, and easier to use, solution than using the SQL LIKE construct.

I have updated Email Users to reflect this recommended usage, all of the examples have switched from LIKE to REGEXP and I’ve added a couple more.  I’ve also updated the example plugin I use to test these custom meta queries.  I prefer to put these type of things in a small plugin instead of the theme’s functions.php file because risk of losing them with a theme update or change is much lower.

Email Users Custom List (5514 downloads )

 

Example:  Select Users with Last Name beginning with M:

add_action( 'mailusers_user_custom_meta_filter', 'last_names_starting_with_m', 5 );

function last_names_starting_with_m()
{
 mailusers_register_user_custom_meta_filter('Last Name: M', 'last_name', '^M', 'REGEXP');
}

Example:  Select Users with Last Names beginning with S-Z:

</pre>
add_action( 'mailusers_user_custom_meta_filter', 'last_names_starting_with_s_through_z', 5 );

function last_names_starting_with_s_through_z()
{
mailusers_register_user_custom_meta_filter('Last Name: S-Z', 'last_name', '^[S-Z]', 'REGEXP');
}
<pre>

WordPress Google Forms V0.88-beta-2 Available

For the past week I have been working with WordPress.org to get my Google Forms plugin relisted.  They recommended a different approach to addressing the security concern than I had implemented.

It took a little longer than I expected to get their recommendation working but I have implemented the fixes recommended by the WordPress Security Team and am in the process of getting the plugin listed again.

I would like to enlist some additional testing besides my small suite of test cases with the updated code.

Google Forms Beta (7734 downloads )

Google moves Form Downgrade Option

Google has moved the “Running Man” icon which I had been recommending to downgrade a new Google Form to the prior version required by the Google Forms plugin.  Initially it looked like Google had removed the option which I was worried about.  The option to downgrade a form is now in the lower right hand corner for the form editor under the question mark (?) icon.

2016-05-22_13-30-02

Google Changing Google Forms again?!?

Earlier today I was alerted to the possibility of Google changing Google Forms again.  Based on my reading, I think it is more than a possibility, it looks like a done deal to me.  This is a major change.

That doesn’t look very good.  Not only does it not look very good, it doesn’t work either.  I have no idea when Google will roll this out.  Almost certainly before I can update the plugin.  Based on my quick look at the HTML of the new form, it is very different than what Google has been generating for a number of years.

The biggest change is Google appears to be using their own custom DIV elements instead of real HTML INPUT elements for things like radio buttons and checkboxes.  I can’t think of why this could/would be a good thing but I am sure there is some rationale behind it. These news forms require Javascript from Google to work and it looks like the actual form submission process is also different.

So … it looks like a lot to figure out at a time when I  am really busy at work.  I am hoping this isn’t wide spread for a while as I don’t expect to have much free time until the Christmas holidays arrive and work will slow down a bit.

Dealing with login attacks

For the past month or so, my main site (this one) plus a couple others I have on the same hosting account have been under constant brute force login attack. A long time ago I had set up the Limit Login Attempts plugin and it seemed to be helping. But it doesn’t stop the attacks. It just makes the attackers change their IP addresses more frequently.

Like a lot of WordPress developers, I have a number of sites I’ve thrown together to show someone something or to test things out. I usually clean them up when I am done with them but every once in a while I forget about them. It looks like one of the really old ones I had forgotten about was compromised in early August. As a result I had some malware all over my hosting account. Bah. What a PITA to clean up.

I did a few things fairly quickly:

  1. I deleted all of the sites I no longer needed. I should have done this a long time ago as there was some really old stuff just sitting around in my hosting account.
  2. I installed a fresh copy of the latest WordPress release to overwrite any files which were infected.
  3. I installed Securi Scanner plugin which was pretty good and identifying a bunch of files which shouldn’t be present. Unfortunately it doesn’t handle the wp-content folder (where plugins, themes, and uploads all live by default).

These things cleaned up a lot. This left me to find what else was suspect. The suspect code had a pattern to it where the one or two variables, $qV[] and $sF[], was always present. I used a couple “find” commands to find all of the PHP files which contained these variables.  Some I found, some I edited, some I simply removed.


find . -type f -name '*.php' -exec grep -l '$sF' {} \;
vi `find . -type f -name '*.php' -exec grep -l '$sF' {} \;`
rm `find . -type f -name '*.php' -exec grep -l '$sF' {} \;`

Similarly, there was a suspect Javascript files.  In the end, it took me the several hours a day across 2-3 days to clean up the mess.  Yuch.  Since this happened I’ve installed Sucuri Security and it seems to have helped.  The one downside I ran into was using some of the “hardening” features seems to have created a .htaccess file in the wp-includes folder which prevented the Visual Editor from working.  That took a little while to track down.

 

Understanding Email Users Options

Periodically I get support questions (on the WordPress Support forum) or comments here on my web site asking why Email Users doesn’t send email to some or all users as the plugin user expects it to.

Sometimes a user is dealing with an odd server restriction (e.g. email limits per hour, too many email addresses in the BCC field and others) but more frequently the target recipients don’t have their Email Users permissions set correctly.  This most frequently happens on a site where Email Users is added to a site that  already has a large set of users.

Email Users employs two options settings at the user level.  No matter what the settings are, any user within WordPress can always sent an email IF they are the only recipient.  This is by design.

The two settings are:

  • Allow Mass Emails:  Mass emails means that the user will accept email (Dashboard > Emails Users > Send to Users or Dasboard > Email Users > Send to Groups) where the resulting recipient list has more than one (1) recipient.  For a user in the WordPress database to receive email this permission must be enabled.
  • Allow Notifications:  Email Users has the ability to generate a notification email from a Post or Page (custom post types as well).  When using post or page notifications, only those users who have Notifications enabled will receive it.

Email Users has a default setting for these values which the WordPress admin can control.  It is on the plugin settings page (Dashboard > Settings > Email Users).

Email-Users-User-Options-1

These settings apply to all new users and when the plugin is activated the first time, are applied to all existing users.  The third option allows users to change their own settings by visiting their profile page.  When this option is enabled and a user visits their profile page, the following options are available for the user to change.

Email-Users-User-Options-2

 

The easiest way for the site administrator to review and change users’ settings, particularly on a site which has a lot of users, is to visit the User Settings Page (Dashboard > Email Users > User Settings).  This page will present all of the users (the number of users per page is set on the plugin settings page – see the image above for User Settings Table Rows) and their current settings.  The ability to perform bulk actions on a group of users is offered on this page.

Email-Users-User-Options-3

 

So if your users aren’t receiving emails, check their settings before heading down the debug path, often the solution is as simply as turning on the Mass Email option for the various users.

Google Forms v0.73-beta-3 available

This morning I released beta-3 of Google Forms v0.73. This beta build addresses a request recently posted on the WordPress Support Forum to allow the notification email to be sent to multiple email addresses.

This request has been implemented – multiple notification email addresses may be entered, they should be separated by a semicolon character (;).

Unless there is a an issue reported in the next day or so, I plan to release v0.73 shortly.

Google Forms Beta (7734 downloads )

I can’t stand people who recline their seats on airplanes

I haven’t had a good travel rant in a while.  However the recent debate over the Knee Defender and the incident on a flight from Newark to Denver which has been in the news, reminded of a situation I was personally involved in back in February.

For the most part travel is what it is.  A necessary evil.  Maybe I am jaded having flown so much over the years but there isn’t anything glamorous about it.  Full flights, competition for overhead bin space, delays, minimal service – I am not sure why anyone would think flying is glamorous.

There was an opinion piece in today’s Raleigh News and Observer from Froma Harrop that caught my eye.  As I read Ms. Harrop’s opinion piece I sat there and shook my head and concluded Ms. Harrop must not travel much.  If she does, she and I are 180 degrees out of phase.

In my opinion, Ms. Harrop couldn’t be more wrong.  After reading her article I wondered who she is (a syndicated columnist) and found her web site where she had another post about the Knee Defender.  This post contained a link to the story in the NY Times by Josh Barro.  Ms. Harrop had stated in her post that Mr. Barro defended the Knee Defender user but that isn’t how I read his article but that is besides the point.

Maybe Ms. Harrop would have a different opinion of seat recliners had her computer been damaged by an over zealous seat recliner like mine was on a US Air flight back in February.

I’ve read a bunch of articles and comments I am squarely on the side of the Knee Defender user and firmly believe that people who reline their seats to the max and/or without consideration are simply rude.  Particularly those who do it without concern to who or what might be behind them.

My job requires me to travel.  Over the 20+ years of doing what I do for a living, I have flown in excess of 3,000,000  (yes million) air miles.  Most of it is on American Airlines (by far my favorite airline) but for the past 5-6 years I’ve mostly flown on United  (starting with Continental until the merger).  USAir had been part of the Star Alliance (their participation ended at the ended of March due to the AA merger) so I also had quite a few flights on USAir.  USAir via Charlotte is by far the best (and cheapest) way for me to get to Phoenix from Raleigh which I’ve been doing 8-10 times a year for the past few years.

I get a lot of work done on the plane.  I find it very productive time and actually look forward to being disconnected from my phone and the Internet for an extended period to work on something without interruption.  For me time on the plane isn’t down time and it isn’t fun time.  It is work time just like if I were in the office.

About the only time I recline my seat is when flying on the red-eye.  Why?  Because I think it is rude and discourteous to lean my seat back into someone’s face.  I am also fully aware that a lot of people, particularly those who don’t travel much, feel it is their birth right to recline their seat.

Some people are fairly reasonable – if you ask them if if it is really necessary to fully recline their seat, most will accommodate the request and recline partially.  Of course some won’t.  I’ve dealt with obnoxious people over the years.

Yes, it is your right to lean your seat back but if you must do it, and I really don’t think you do, at least be courteous about it.  Look before you lean back.  Lean back slowly.  Ask if it is ok.  I’m fairly tall, 6’2″, so on some flights a reclined seat results in my knees in the back of the seat.  Does that bother you Mr. or Ms. Seat Recliner?  Too bad.  I don’t like it either but you are the one who chose to recline your seat.

So what happened to my computer?  As I was working away on a flight from Charlotte to Phoenix, the woman in front of me reclined her seat very quickly and very forcefully.  I am usually aware of seat recliners because I am worried about my laptop.  However this woman surprised me and I wasn’t ready.  When she leaned her seat back, the corner of her seat where the tray table sites caught the corner of my laptop and stopped the seat from reclining.  I guess I had my laptop at just the right angle because instead of moving the lid one way or other, the force of the seat coming back compressed the screen and hinge to point where it broke.  Because her seat recline was temporarily impeded by my laptop screen, she began really pushing it back almost as if she were bouncing against it.  This caused the screen to bend and an audible crack was heard as part of it broke.

This all happened in a matter of seconds and I immediately yelled “stop it” and put my hand on the back of the seat and pushed it back forward.  This made the woman very upset and resulted in a minor scene.  Needless to say I was upset – the damage to my laptop was obvious and the screen immediately showed a entire area of dead pixels and vertical lines.  The woman kept going on about how she was “entitled” to recline her seat.

She wasn’t the least bit sorry that her recline had damaged my laptop.  She was offended that I was upset.  I was dumbfounded as to how she could be so selfish as I would (a) never had done what she did and (b) if I were involved in a similar incident, I would have apologized for being negligent.

Accidents happen and had this woman shown any remorse what so ever, I would have chalked it up to one of those things which happens if you fly enough.  The only thing she was worried about was her right to recline her seat which she was “entitled” to.  She then said to me “you must not travel much” which left me almost speechless.  Almost.  I told her I travel plenty and I would never do anything as rude and inconsiderate as what she had done.  Ever.

The flight attendant was actually pretty helpful as he told the woman to calm down and be reasonable.  He also gave me some information to take to US Air customer service once I got to Phoenix.  He dodn’t know what they would do but he said it was worth a shot to make a claim.

In Phoenix I visited customer service and even though it took a while, the woman I spoke to said there was a chance US Air would do something.  After several weeks of phone calls, faxes, and emails, I actually got in touch with someone at US Air who seemed to have the authority to do something.  Much to my surprise, US Air paid to have my laptop repaired although it took a lot of my time to chase it down.  The repair costs was about $350.

Personally I’d like to see all seats be fixed so they can’t recline like the seats in front of the emergency exit row.  I think it it would prevent quite a bit of in flight aggravation and eliminate the need for devices like the Knee Defender.

So Ms. Harrop, you’re absolutely entitled to your opinion.  I just think you’re wrong.  I felt that way years ago and I definitely reaffirmed my opinion back in February dealing with the “entitled” seat recliner.  I hope the hour of recline that woman had was worth it – her selfish act probably resulted in 20 hours of legwork and follow up for me with US Air to get my computer fixed.