WordPress Password 0.6

After several recent tests released via comments in my old WP-Password blog entry, I’ve now released version 0.6 for testing.

WP-Password 0.6:  http://broome.us/wp-password/wp-password_0_6.zip

For those new to the latest work, it’s a complete rewrite of the plugin.  It now uses a set of numbered rules that are much more precise and lack the ambiguity (read: ability to circumvent) of the old system’s Regular Expression conversion & comparion.

Another new feature: Where the old (before 0.5) plugin could only protect specific urls (and even than had some problems…) the new one protects the content of protected urls wherever it appears — homepage, archive pages, rss feeds… Should be everywhere.

Here’s a preview of the admin:

WP-Password Admin 0.6 Screenshot
WP-Password Admin 0.6 Screenshot - click to zoom

This isn’t quite ready for release on the WordPress Plugins site yet.  I have a few things I want to add before that… Feel ree to add your own requests via comment.

  1. Let users choose their own “This content is password protected, please Log In to view it” text.
  2. Add a decent un-install.  Or just ANY uninstall, since it doesn’t try at all.
  3. Find a better way to make visitors log in than hacking a copy of wp-login.php
  4. Add password-protection by Category and/or Tag, not just words in permalink urls.

As you see, I don’t think this is done.  But it bears some testing.  Please let me know if you find any problems or have any suggestions or questions.

A Scale of Useful Things

Here is a useful thing: Get good web hosting for your site.  WiredTree hasn’t given me a single second of downtime (unfortunately, it’s another website, not this one).  ASmallOrange is down 3-4 times per day for 20-30 minutes each time.  Granted, I pay $45/month for WiredTree, and $5/month for ASO.  You get what you pay for.

Here would be a useful thing: A distributed co-op system of server uptime checks.  A cron job on your web server kicks off a local web page that performs 3 jobs:  1.  Asks some central server (or two, or three, or a distributed network of them) for 5 urls to check for uptime.  2.  Pings and tries to http-access these 5 urls.  3.  Sends the results of the checks back to the server it just talked to.  The 5 urls it checks are themselves other servers just like yours who’ve recently contributed uptime checks against yet other sites (maybe even yours).  Everybody scratches everybody else’s back.

The tricky part is managing the DOS attack this starts.  The central server would have to mete out the list of urls to check cautiously, globally distribute them, and preferably time them in accordance with the desired check frequency each site wants… and then would have to aggregate and notify each site owner of up/down events noticed by “the collective”.  Difficulty: you wouldn’t want the central server giving 1000 different web sites the same url to check at the same time — or the “service” of an uptime check could be come an attack in itself, threatening the very uptime it’s supposed to harmlessly monitor.

The idea of a co-op of free service & benefits seems to have merit to me, just needs some more development.  You get globally-distributed checks against your site, free, and provide a very small service yourself.  Like a single antbenefiting the colony in its individual capacity, and benefiting from the colony in its massive capacity.  Gotta work on that.

And here’s a completely useless thing.  Paypal lets websites collect funds from visitors.  But some visitors would rather call you and give their credit card number over the phone that type it on a computer.  So what does the site owner do?  Goes to paypal himself, places an order from his own website using the customer’s info.  Works fine.  Once.  Try and repeat an order and paypal requires you to establish a Paypal account.  Except you can’t do that, because you won’t get the email that will go to your customer.  Stupid stupid stupid.  Paypal is literally locking themselves out of my small, but growing business.

That’s why I’m looking into a more “mature” system for business transactions: PaySimple pre-sales support has been pretty good so far… Just still collecting facts & opinions on them.

S at 5 years old

“My daughter turned 5, and I didn’t take a single picture.”
That’s the thought that immediately occurred to me Monday morning, the day after her birthday, 2 days after her birthday party. Oh well. I’ll take pictures of her soon.

Five years. Man, that went fast.
Well, since I didn’t take any pictures of her, here’s a verbal snapshot of my daughter at age 5:

She’s lippy. Getting in trouble lately for talking back. “Why should I!?” “You don’t have to, so I don’t have to.” screaming “YES MA’AM!!” When she’s in trouble, and knows “Yes Ma’am” is the only right answer.

She’s stubborn. Her decisions are more important than ours, unless we get all punishy on her. Arguing about bedtime, not staying in bed, not being quiet in bed, not cleaning up, sneaking into things she knows better about… We get all that. The explanation is usually a lame excuse given in a pretty impressive, very matter-of-fact tone.

She’s creative. She and her brother play games together. Creative, imaginative games with rules, and changes to rules, and cooperation. All dolls have names: hers have life goals, free will, fears… and sometimes diseases.

She’s helpful. Sometimes. They were both covered in blue marker Wednedsay night (“It’s bacteria. We have to wash it off”). J hates getting his hair washed, but she assured him she could do it better than I could, and he let her wash his hair. No tears, no fuss. Just trust. She did a good job, too.

She’s beautiful. Her hair isn’t fire-engine red like mine, but people keep calling hers red. It’s beautiful, long or short. She has adorable blue eyes.

She’s clever. I can’t fool her anymore – she can tell when I’m kidding or trying to pull one over on her.

She’s independent and fearless. We tell her not to talk to strangers. So she introduces herself to anybody she meets. Then they’re not a stranger. She wanders into the neighbors’ yards to talk to adults as if she’s on their level. Doesn’t matter if they’re entertaining guests, lighting their grill, etc. The whole world is her own private backyard. This part frightens me a bit… she’ll talk to anybody. Even complete strangers, while in another part of the country, who have a weird look in their eye. We can’t seem to train her out of this.

She’s a drama queen. Don’t give her what she wants and she’ll pitch a fit. Not as bad as J, so I’m sure she’ll continue growing out of it, but she can cry on command, and then she’ll get very angry if you don’t take her seriously.

She’s strong. I don’t mean Hercules strong, I mean emotionally, and mentally tough. She gets discouraged when she can’t do something herself, and that’ll get some tears and yelling, pouting and stamping her feet… but calm her down and show her how to do it, and she learns fast, then teaches her brother. She hates when she can’t do something herself, or her own way… but she learns fast. She’s started making good decisions with money too… I have P to thank for that.

She’s an adult in her own mind. The other day I raised my voice to J for disobeying me. S waited until I was done and said, “Daddy, you were just arguing with a 3 year old. That’s not good.” She must’ve seen the red glow in my eyes – she left quickly. That day we calmly voiced a new rule: Don’t get involved when somebody else is being punished. To which she said,

Ok. I think that’s a good idea. What does ‘involved’ mean? (From the same girl who told me the marker on her skin was “bacteria”)

P is convinced that little J is possibly smarter than S at the same age… I think it’s just the benefit of example and competition. I saw it in my own brothers and sisters… they picked up on things I did. But we’ll see where he’s at in 2 years and know for sure.