“The Bride Collector” by Ted Dekker … an early review

Dekker does it again with this amazing new thriller that challenges the reader to reject what the world deems to be “normal” and “beautiful.”

Brad Raines is an FBI Agent tracking down a serial killer who kidnaps beautiful-seemingly innocent-women, and drains the blood from their body and leaves them hanging up to be found as perfect and blemish-free brides, hence the name The Bride Collector. Nikki, a psychologist working with Brad on the case, helps Brad for the sake of the case, but it is clear she has romantic interests in Brad. Quinton Gauld is the killer Brad is tracking: he leaves no evidence behind except a note revealing his intentions-to make things personal. Brad, with no other clues in the note than an implied reference of the mentally instability of the killer, stumbles upon The Center for Wellness and Intelligence, a secluded home for the mentally and emotionally challenged, yet extremely smart people. Here he meets Roudy, a self-proclaimed modern day Sherlock Holmes, Andrea, a stunningly beautiful schizophrenic who is great with numbers and patterns, Cassanova, the ladies’ man, and Paradise, a broken and unkempt young woman who may have the ability to see the last few minutes of a person’s life before their death. Hoping to use Paradise’s gift, Brad brings the rag-tag group in on the case, but not before the killer strikes again.

The Bride Collector is an intense ride, with naturally gruesome scenes, quirky characters, and a message that applies not just to the characters, but to the reader themselves.

Interestingly, I was really impressed with the literary depth of characterization Dekker implemented into this story. Unlike most murder-mysteries, the reader is almost immediately introduced to the killer himself, revealing his name, his methods, his insight on the world and why he is killing these women. Dekker compares and contrasts the hero, Brad, and his antithesis, Quinton: their personalities, their purposeful actions, their motivations, the environments in which they surround themselves and the traumatic events in their past that they are still coping with. He asks the symbolic question, “Are these two men the same?” and then lets the story play out.

Dekker also introduces us to two women which are compared and contrasted. Nikki is Brad’s partner on the case, a psychologist whose interest for Brad is to the world, natural. Paradise is a young woman haunted by psychological disorders, a past that scars her, and the possible gift that she can see ghosts and possibly experience the last few minutes of a person’s life before their death. Dekker compares the two women, focusing on Nikki in the first half of the book, and then on Paradise in the last half, allowing the reader to experience how both women are valued, cherished, favored, and beautiful.

Dekker’s characterization is spot on, with rich background history of the main four characters, along with a cast of mentally and emotionally challenged-yet extremely intelligent-characters who attempt to help Brad and their friend Paradise crack the case of the Bride Collector. Their quirkiness provides humor that lightens the weight of intensity of the situation for a brief moment.

The story and plot is a fast ride, taking twists and turns and unexpected results that refuse to let the reader put the book down for a second.

Dekker also explores such themes as “normalcy”, motivations and desires, and “who is God’s favorite?”. All in all, Dekker has a well-written, purposeful story that is sure to shape the hearts of those who read it.

Backing Up GST in Networker Management Console

Thought I would share with you all about how one must take care to avoid shortcuts, especially when it comes to that one item that might just be an exception.

Let me explain: I have been using EMC’s Networker package to perform backups of my unnamed company’s systems. For a while now, we have been having some issue with the GUI frontend of the remote NMC console running on our Windows based boxes. We would leave the GUI up on our desktops for a few days, and then come back one morning and all the data on the screens would be stalled and outdated. In order to view the correct data, we had to restart GST on the NMC UNIX based server manually. This was an issue that I finally decided to break down and call EMC technical support about.

After calling EMC, we discovered that the GUI client backup was not enabled on the NMC server, which meant that the GUI aspect of Networker, and the Networker Management Console database was not getting backed up, as well. We were told to make sure this client is enabled, set aside in a separate group, and running during a time when no other groups are running at all. Ok, no biggie. I got that configured per documented instructions (see below) and setup last week. This is also supposed to truncate the database so that it’s not so big to process on the remote end.

However, with the Thanksgiving holiday and all, I did not get back to checking that this client had run until today. Instead of running  smoothly like other backups, this one failed miserably. Instead of creating a new client, we had copied an already existing client and modified the necessary fields to adjust to what we needed. I had all the fields that the documentation had specified, but it still failed!

savegrp: suppressed 2 lines of verbose output
-b: Backup pool
-C: Compression
-c: NetWorker client name
-E: Encryption
-h: Help
-I: NetWorker Management Console install directory
-l: Backup level
-P: NetWorker Management Console OR NetWorker Dashboard
-s: NetWorker server name
-T: Truncate logs without backup

This was telling me nothing except the fact that the save tried to execute the required savepsm.sh command, but was failing. Was I supposed to add any parameters? It made no sense, especially from the way the documentation read… no other parameters were needed.

Then I stumbled upon this Backup Central Forums post, which the last post clued me into what the problem may be. The poster said that he had

an entry vss:*=off. I deleted it and then my management console backup was successful

This sounds like an issue with Directives. I checked my client, and sure enough we had standard Unix directives selected as part of the standard client setup. On a whim, I changed the directives on the client to the blank selection so that it would not use any directives in backing this client up. After manually running the group, it successfully completed!

Basically, I had shot myself in the foot because I had copied from an existing client to create this client. This process is ok when you are setting up standard clients that are very similar to each other. But not when backing up GST (the GUI and the NMC database). This is a whole different beast, and should have been set up differently. I blame this primarily on myself, as a user who employs shortcuts that wind up taking hours to ultimately complete.

Just so that you don’t make the same mistakes, lets go through the documentation on this exception and learn how to properly setup a backup client for the GUI.

From the Legato Documentation:

To perform an automated save of the database through savegrp(1m), the savepsm.sh
script is used. savepsm.sh is a wrapper script that sets LD_LIBRARY_PATH or equivalent
environment variable and then calls savepsm. In order to configure the database
for an automated save, define a client resource and place the string “NMCASA:/gst_on_<hostname>/lgto_gst” (where hostname is the short name of the host running the NetWorker Management Console server) in the client’s save set attribute. Then place the following command in the ‘backup command’ attribute: savepsm.sh
Note that the transaction log is automatically truncated after the backup is completed.

First things first, create a separate group configured how you need it, and call it GST. Find a media pool and assign the group to that media pool.

Now we need to create a new client on the NMC backup server named the same as the NMC backup server (let’s call this server and client NMCserver), and the only saveset in this client should be “NMCASA:/gst_on_NMCserver/lgto_gst”. Ok, so if you are on the NMC server, click the big Configuration button, and then Clients in the left hand side bar. Right-click in the main listing window, and select New. Now in the Name: field type in the name of the backup server/client: NMCserver. Give it a comment. Under Save set: type: NMCASA:/gst_on_NMCserver/lgto_gst. Do not touch the Directive. Make sure the Scheduled backup: is checked. Assign this client to your group that you will be running it in. Click the Apps & Modules tab. Under Backup command: type: savepsm.sh. Click the Globals (1 of 2) tab, and assign the client any extra aliases that should accompany it. EMC Support highly suggests raising parallelism on this GST client to a high number. So set Parallelism: to a higher number like 20. Click the OK button on the bottom of the window, and your client should be set to run properly.

Well, this would have saved me quite a bit of time if I had someone outline the proper steps for getting this setup. However, experience is worthwhile, and I hope that by sharing this experience, it can help assist others!

Brian’s Famous Fruit Smoothie: A Recipe

LOTR Frodo Goblet

LOTR Frodo Goblet

I just made one of my famous fruit smoothies this evening, and am enjoying it from my LOTR Frodo Goblet (circa 2001). And then had a thought that I would post it as my Facebook status, along with the recipe.

And then I had another thought: Go ahead and post it on your blog that no one reads so you can keep it handy for archival purposes and later reference when you have forgotten how to make it again at the beginning of next summer.

Thus, the topic of this blog post. Here we go.

First off, get your blender ready. Make sure its clean from all the pancake gook that was sitting in it three days ago from your roommate’s experiments in the kitchen.

Next, fill the blender with precisely six (6) ice cubes of medium density. It must not be four(4)  or five (5), but six (6) shall be the number of ice cubes you fill the blender. Seven (7) is one (1) ice cube too many, thus the number shall be six (6), and six (6) alone.

Now you must get a banana. Be sure to peel the banana the right way, from the bottom up. I would not recommend making the smoothie without following this crucial step. Put the innards of the banana in the blender with the six (6) ice cubes.

Grab an apple. Doesn’t matter if its red or green, or yellow or a mixture of both. Just as long as its not brown. Or wormy. No one likes worms in their famous fruit smoothies. Here, you have a choice on how you do this, but I would recommend putting the apple in the blender in pieces as opposed to just throwing the whole thing in there. I prefer to use my handy dandy knock off apple wedger (here’s the real original product from years ago) to cut the apple into eight (8) nifty wedges without the core. Or you can just use a regular knife and cut the apple up by hand. Put the pieces in the blender with the banana innards and six (6) ice cubes.

Look in your freezer for your bag of frozen strawberries. Or if its the season, try looking in your fridge for your fresh hand-picked strawberries. Place five (5) (not six (6)!) strawberries in the blender with the six (6) ice cubes, banana innards, and eight (8) apple wedges.

Now open your refrigerator and take out your orange juice. At least that is where I hope you store your orange juice. That is where I store mine. I would imagine if might taste pretty nasty if you kept it anywhere else for any length of time. Pour the orange juice into the blender with the six (6) ice cubes, banana innards, eight (8) apple wedges, and five (5) strawberries until it fills about three-fourths (3/4) the amount of blender already filled. Note: this is not three-fourths (3/4) of the entire blender, but instead three-fourths (3/4) the amount of space already taken up in the blender by the six (6) ice cubes, banana innards, eight (8) apple wedges, and five (5) strawberries.

Put the blender on its stand, ensuring that it is fully situated in its base and ready for operation.

Lastly, turn on the blender. If your blender has an Ice Crush feature, I would recommend using it at this point to crush up the six (6) ice cubes, banana innards, eight (8) apple wedges, five (5) strawberries and orange juice. At some point when you feel that the blender is ready, you can try putting it on Smoothie mode, and let it run.

If the blender freezes up and does not spin the crushed six (6) ice cubes, banana innards, eight (8) apple wedges, five (5) strawberries and orange juice, turn the blender off. Try shaking the blender and put it back on its stand. Turn the blender back on again. If this continues to happen repeatedly, try adding more orange juice in the blender along with the six (6) ice cubes, banana innards, eight (8) apple wedges, and five (5) strawberries.

Let the blender run for a couple minutes on the Smoothie setting. Once the six (6) ice cubes, banana innards, eight (8) apple wedges, five (5) strawberries and orange juice seem like they are sufficiently smoothieized, get out your favorite LOTR goblet and pour the smoothie made up of six (6) ice cubes, banana innards, eight (8) apple wedges, five (5) strawberries and orange juice into the awesome collectable.

Finally, sit back, kick up your feet and enjoy this awesome and famous fruit smoothie made up of six (6) ice cubes, banana innards, eight (8) apple wedges, five (5) strawberries, and orange juice in a LOTR goblet. You’ll be thanking me all summer long.

P.S. A LOTR goblet is purely optional, if you have another drinking recepticle you would prefer to use, you have my permission to utilize such a lower form of recipticles if you so choose.

Stylizing Modifications Tutorial

By popular request via comments and emails, I have created a page with a detailed tutorial on how to effectively use the Stylizing Modifications textboxes in my widgets. Go ahead and take a read, you might find something that interests you!

htmlspecialchars_decode bug in Wordpress 2.7.1

It has been brought to my attention that there is currently a small bug in Wordpress 2.7.1 that affects certain users of my Status Press Widget and Customizable Search Widget.

This bug mainly affects users of PHP4, because the htmlspecialchars_decode function is not included until PHP5, so Wordpress has now integrated a simulation of the same function in the code core of 2.7.

If you are a PHP4 user running Wordpress 2.7.1, you may get this error from a plugin or widget that attempts to access the htmlspecialchars_decode function:

Warning: htmlspecialchars_decode() expects parameter 1 to be string, NULL given in /home/myname/public_html/personal/wp-includes/compat.php on line 105:

PHP5 users already have this function inherint in their repository, so it just bypasses the Wordpress simulation function.

Apparently when 2.7.1 was released, a slight oversight caused the function to be looking for a variable that was not being passed to it because of a misnaming error.

Details about this error are located in the Wordpress bug tracking system, and it looks like a fix has been submitted for the next version.

However, what should I do until the update? I did some looking into the code that is affected, and noticed that basically in the htmlspecialchars_decode function, Wordpress passes the two expected variables (the string, and the quote style) to its own parser called wp_specialchars_decode. Instead of relying on the PHP version, I have updated my plugins to directly call the Wordpress version of the function to ensure compatibility. Scratch that, that’s not going to work. The wp_specialchars_decode function is only included in Wordpress as of 2.7.1, so it is not backwards compatible and not wise to use.

Instead, you should go ahead and fix the problem with the core file if you are using 2.7.1 and PHP4.

  1. Open up /public_html/<WP Directory>/wp-includes/compat.php
  2. Scroll down to line 104:   if ( !is_scalar( $string ) ) {
  3. Change $string to $str
  4. Do the same thing for the line below it, 105.
  5. Save the file back to your server
  6. Update your plugins.

When you have followed these steps, you should be good to go.  If you do not feel comfortable editing the file yourself, you can just download my edited copy of compat.php:

  compat.php (3.4 KiB, 176 hits)
You need to be a registered user to download this file.

Be sure to upload it to the wp-includes directory. Then update the plugins and widgets that have become broken.

You can find the updates to my widgets here:

If you have any questions or concerns, please do not hesitate to let me know. Oh, and if this has helped you, don’t forget to show a little love:

SEO Powered by Platinum SEO from Techblissonline