Release of pTypeConverter plugin for WP

Yay! We can all rejoice! Today marks the release of a completely rewritten plugin p2pConverter specifically for the newest Wordpress 3.0 version soon to be released. Because of the functionality of this new plugin, I decided to rebrand and rename my plugin to pTypeConverter, as I have implemented the ability for users to convert between any type of post, including any new custom posts.

Since it is no longer a “p[ost/age]2p[ost/age]Converter” I had to come up with a new name, thus the “p[ost]TypeConverter” brand.

To get started, please visit the pTypeConverter page, and download the plugin.

And please, if this plugin has helped you, don’t hesitate to donate.

Sanitize / Obfuscate Networker Logs (like daemon.raw)

There was a need to sanitize/obfuscate the names and information my company used in the logs generated by EMC Legato Networker (i.e. daemon.raw). As Preston points out, nsr_render_log -z does not work properly. It occurred to me that this could be scripted fairly easily by querying nsradmin. Here is a stripped version of our script I developed. Be sure to run this as an executable BASH script with privileges to pull from nsradmin.

#!/bin/bash
#Fill in these variables
SERVER=”"
LOGFILE=”"
OUTPUTFILE=”"

begin()
{
#Make a backup of LOGFILE … this is file we are using!
cp $LOGFILE $OUTPUTFILE
#Make new legend file, clear out old
KEYFILE=”${OUTPUTFILE}.key”
touch $KEYFILE
echo “Key for file ${OUTPUTFILE} generated on ${DATE}” > $KEYFILE
echo “” >> $KEYFILE
#Send to Sanitize Function
sanitize server
sanitize client
sanitize savesets
sanitize group
sanitize pool
sanitize jukebox
echo “Congratulations! Your log was successfully sanitized!”
echo “You can find your sanitized log residing at: ”
echo $OUTPUTFILE
echo “You can also reference the sanitizing key at: ”
echo $KEYFILE
exit
}

sanitize()
{
#Setup sanitation
#Changes array breakpoint to new line! VERY IMPORTANT!
IFS=$’\n’
#We have to specify how to handle the server…
if [ "$1" == "server" ]; then
LIST=`printf “show name\nprint type:nsr \n” | nsradmin -s ${SERVER} -i – | grep “name:” | sed -e “s/name://g” -e ’s/;//g’ | uniq | sort`
LIST[0]=”${LIST}”
LIST[1]=”${SERVER}”
UNAME=`echo $1 | tr ‘[:lower:]‘ ‘[:upper:]‘`
#…and specify how to do savesets…
elif [ "$1" == "savesets" ]; then
LIST=(`printf “show save set\nprint type:nsr client\n” | nsradmin -s ${SERVER} -i – | grep “save set:” | sed -e “s/save set://g” -e ’s/;//g’ | uniq | sort | sed -e “s/, /\n/g” -e “s:\/\n::g” -e “s:\/:\\\\\/:g” -e ’s/”//g’ | uniq | sort -nr | cut -f2-`)
UNAME=”SAVESET”
#..everything else can be pulled using default settings
else
#Sort by length in order to remove longest strings first
LIST=(`printf “show name\nprint type:nsr ${1}\n” | nsradmin -s ${SERVER} -i – | grep “name:” | sed -e “s/name://g” -e ’s/;//g’ | uniq | sort | awk ‘{print length”\t”$0}’ | uniq | sort -nr | cut -f2-`)
UNAME=`echo $1 | tr ‘[:lower:]‘ ‘[:upper:]‘`
fi
#Process sanitation
echo “*** BEGIN ${1} ***” >> $KEYFILE
j=0
for L in “${LIST[@]}”; do
#TRIM WHITESPACE ON EITHER SIDE
L=`expr “$L” : ‘[[:space:]]*\(.*\)[[:space:]]*$’`
#Find out how many occurrences going to replace
G=`grep ${L} $LOGFILE | wc -l`
#Do the sanitization
sed -i “s/${L}/${UNAME}${j}/g” $OUTPUTFILE
#Map out the key/legend
echo -e “${UNAME}${j} = ${L} = ${G} Occurances” >> $KEYFILE
j=$((j + 1))
done
echo “*** END ${1} ***” >> $KEYFILE
echo “” >> $KEYFILE
}

begin

“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.

SEO Powered by Platinum SEO from Techblissonline