Archive for the ‘Blog’ Category

Automate File Attachments on your WordPress Posts

Saturday, January 16th, 2010

UPDATE 4/24/2010: I updated the audio section to automatically wrap the audio with the flash player based on the example provided by Joseph Hinson

I’ve been coding WordPress sites for 4 or 5 years now. The more I use it, the more I love it. WordPress is an awesome CMS tool. When I create a site for a client, I want the site to be as easy as possible for a “non” web designer/developer types to maintain. One of my latest clients wanted to be able to create a post and attach a file for download. The client found it a little confusing to attach the file to a post and then include that file as a link. They also wanted to show an icon specific to the document type they had uploaded. With a little code, I was able to automate the process of linking to files attached to a WordPress post and specify the icon based on the files MIME type. There are plenty of articles on the web about WordPress attachments so I’m not going into any detail about that. Here is an article on attachments by Jeff Starr I’ve bookmarked for reference. Digging into WordPress

Here is an example of what we are about to create. I’ve attached several sample files to this post and that’s it. By the way, the zip file listed below is a zip of all the icons for you to download.

  • Jeopardy Think Music

    Download

    First let’s create the function and the shortcode. Go to your themes folder and open functions.php. If you don’t have one, just create a new file named functions.php and save it to your themes folder.

    Create a new function with the following code.

    function get_attachment_icons($echo = false){
    	//PDF Documents
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/pdf',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link);
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<div class='documentIcons'>";
    		$sAttachmentString .= "<a href='$file_link'>";
    		$sAttachmentString .= "<img src='".get_bloginfo('template_directory')."/images/mime/pdf.png'/>";
    		$sAttachmentString .= "</a>";
    		$sAttachmentString .= "<br>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</div>";
    		}
    	}
    

    This block is for PDF files. You can tell that by the line that says ‘post_mime_type’ => ‘application/pdf’,. Just change the MIME type for the type of file you are expecting. In the final code, I’ve added a new loop for each MIME type below:

    • PDF = application/pdf
    • Word Documents = application/msword
    • PowerPoint = application/vnd.ms-powerpoint
    • Excel = application/vnd.ms-excel
    • Zip = application/zip
    • Audio files = audio/mpeg

    Now at the bottom of the function we will add the hook for the shortcode and we’re done!

    add_shortcode('attachment icons', 'get_attachment_icons');

    Usage

    Just include a shortcode in any post

    [attachment icons]

    or place one line in your single.php file (or where ever you’d like the document icons to show up)

    <?php get_attachment_icons($echo=true); ?>

    Final Code

    Here is the code altogether for your copying and pasting pleasure. Enjoy!

    function get_attachment_icons($echo = false){
    	$sAttachmentString = "<div class='documentIconsWrapper'> \n";
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/pdf',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link);
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<div class='documentIcons'>";
    		$sAttachmentString .= "<a href='$file_link'>";
    		$sAttachmentString .= "<img src='".get_bloginfo('template_directory')."/images/mime/pdf.png'/>";
    		$sAttachmentString .= "</a>";
    		$sAttachmentString .= "<br>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</div>";
    		}
    	}
    	//Word Documents
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/msword',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link);
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<div class='documentIcons'>";
    		$sAttachmentString .= "<a href='$file_link'>";
    		$sAttachmentString .= "<img src='".get_bloginfo('template_directory')."/images/mime/word.png'/>";
    		$sAttachmentString .= "</a>";
    		$sAttachmentString .= "<br>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</div>";
    		}
    	}
    	//Powerpoint Documents
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/vnd.ms-powerpoint',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link);
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<div class='documentIcons'>";
    		$sAttachmentString .= "<a href='$file_link'>";
    		$sAttachmentString .= "<img src='".get_bloginfo('template_directory')."/images/mime/PowerPoint.png'/>";
    		$sAttachmentString .= "</a>";
    		$sAttachmentString .= "<br>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</div>";
    		}
    	}
    	//Excel Documents
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/vnd.ms-excel',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link);
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<div class='documentIcons'>";
    		$sAttachmentString .= "<a href='$file_link'>";
    		$sAttachmentString .= "<img src='".get_bloginfo('template_directory')."/images/mime/XLS8.png'/>";
    		$sAttachmentString .= "</a>";
    		$sAttachmentString .= "<br>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</div>";
    		}
    	}
    	//Zipped Files
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/zip',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link);
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<div class='documentIcons'>";
    		$sAttachmentString .= "<a href='$file_link'>";
    		$sAttachmentString .= "<img src='".get_bloginfo('template_directory')."/images/mime/zip.png'/>";
    		$sAttachmentString .= "</a>";
    		$sAttachmentString .= "<br>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</div>";
    		}
    	}
    
    	//Audio Files
    	$mp3s = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'audio',  //MIME Type condition
    	 ) );
    
    	if (!empty($mp3s)) :
    	$sAttachmentString .= "<ul class='audiofiles'>";
    		foreach($mp3s as $mp3) :
        		$sAttachmentString .= "<li>";
    			if(!empty($mp3->post_title)) : //checking to make sure the post title isn't empty
    				$sAttachmentString .= "<h4 class='title'>".$mp3->post_title."</h4>";
    			endif;
    
    			if(!empty($mp3->post_content)) : //checking to make sure something exists in post_content (description)
    				$sAttachmentString .= "<p class='description'>".$mp3->post_content."</p>";
    			endif;
    
    			$sAttachmentString .= "<object width='470' height='24' id='single".$mp3->ID."' name='single".$mp3->ID."'>";
    				$sAttachmentString .= "<param name='movie' value='player.swf'>";
    				$sAttachmentString .= "<param name='allowfullscreen' value='true'>";
    				$sAttachmentString .= "<param name='allowscriptaccess' value='always'>";
    				$sAttachmentString .= "<param name='wmode' value='transparent'>";
    				$sAttachmentString .= "<param name='flashvars' value='file=".$mp3->guid."'>";
    					$sAttachmentString .= "<embed ";
    					  $sAttachmentString .= "id='single".$mp3->ID."' ";
    					  $sAttachmentString .= "name='single".$mp3->ID."' ";
    					  $sAttachmentString .= "src='".get_bloginfo('template_directory')."/jw/player.swf' ";
    					  $sAttachmentString .= "width='470' ";
    					  $sAttachmentString .= "height='24' ";
    					  $sAttachmentString .= "bgcolor='#ffffff' ";
    					  $sAttachmentString .= "allowscriptaccess='always' ";
    					  $sAttachmentString .= "allowfullscreen='true' ";
    					  $sAttachmentString .= "flashvars='file=".$mp3->guid."' ";
    
    					$sAttachmentString .= "/>";
    			$sAttachmentString .= "</object>";
                            $sAttachmentString .= "<a href='".$mp3->guid."'>Download</a>";
    			$sAttachmentString .= "</li>";
    		endforeach;
    	$sAttachmentString .= "</ul>";
    	endif;
    $sAttachmentString .= "</div>";
    if($echo){
        echo $sAttachmentString;
      }
      return $sAttachmentString;
    }
    add_shortcode('attachment icons', 'get_attachment_icons');

    It’s a beautiful day

    Sunday, October 11th, 2009

    and Phoebe is enjoying the view!

    Nap?

    Sunday, October 11th, 2009

    This couch is calling out to me for a nap!

    American Teams are on the Field!

    Tuesday, June 10th, 2008

    Praise the Lord for the arrival of 50 American students, 1 Korea student, and 12 Filipino team mates who are working with Nehemiah Teams for the next 2 months. These students have completed their on-field orientation and are either in their places of assignment… or will be within the next 24 hours. (Some had quite a distance to travel!) Media team members will be posting updates to this blog as they have internet access.

    • Praise the Lord for all the students He has sent
    • Pray for boldness in sharing the Good News
    • Pray for open doors for home Bible studies
    • Pray for team unity

    Lizzy Arrived in Davao City

    Thursday, June 5th, 2008

    All flights today were on-time and all luggage arrived safely… that’s is a relief! After a supper of BBQ chicken & rice and a short welcome, everyone was ready to head for bed. Orientation will start tomorrow morning (Friday) at 8AM (that was Thursday 7PM Central time). Continue to pray for Lizzy as she learns the skills necessary to carry out the task she’s been charged with for the summer. She will contact us as soon as she has internet access. Feel free to send a message to her at nehemiahteams@yahoo.com. They’ll be checking daily and can print it off & get it to her.

    What to Wear When it is Time For Chores

    Monday, February 4th, 2008

    Couch Camo

    What to wear when it is time for chores.

    Don’t Swallow Gum!

    Saturday, February 2nd, 2008

    Dont Swallow Gum

    More Doctors Smoke

    Friday, January 18th, 2008

    Camels

    A Match Made in Photo Heaven

    Thursday, January 17th, 2008

    LOCNow this is what we have been waiting for…big organizations partnering with Flickr. This is a great idea IMHO.

    it is so exciting to let people know about the launch of a brand-new pilot project the Library of Congress is undertaking with Flickr, the enormously popular photo-sharing site that has been a Web 2.0 innovator. If all goes according to plan, the project will help address at least two major challenges: how to ensure better and better access to our collections, and how to ensure that we have the best possible information about those collections for the benefit of researchers and posterity.

    Library of Congress Blog

    Jose Walking on Water

    Tuesday, January 15th, 2008

    Jose Walking on Water

    Who was the 3rd man in history to walk on water?
    The 1st one was Christ.
    The 2nd was the apostle Peter.
    Then there was this Mexican guy named Jose…

    Watch for Holden on National Television!

    Monday, January 7th, 2008
    Holden

    Holden

    The DeSoto Central High School Band participated in a national marching competition this weekend in New Orleans, LA and won FIRST PLACE! They will be performing their show during the halftime of the LSU vs Ohio State game which will be on FOX tonight at 7:30.
    http://www.fox.com/schedule/ Watch for Holden, he plays the snare drum. If you helped us with fund raisers this summer, THANKS and this is what all the hard work was for.

    The Percussion section also won FIRST PLACE!

    Below are some pictures from the competition this weekend in New Orleans. They will arrive home later Tuesday evening.
    That is Holden on the left

    Holden is second from the left

    Pictures from Day One

    Pictures from Day Two

    Buckeye Balls

    Sunday, December 23rd, 2007

    • 1 1/2 cups creamy peanut butter
    • 1/2 cup butter softened
    • 1 teaspoon vanilla
    • 1/2 teaspoon salt
    • 3 to 4 cups confectioners’ sugar

    Coating

    • 1 pound chocolate flavored candy coating
    • 2 tablespoons shortening

    Combine peanut butter , butter, vanilla and salt in large bowl. Beat at low speed of electric mixer until blended. Add 2 cups sugar. Beat until blended. Continue adding sugar 1/2 cup at a time until mixture shaped into ball will hold together on toothpick. Shape into 3/4 inch balls. Place on waxed paper-lined tray. Refrigerate.

    For coating, combine candy coating and shortening in microwave safe bowl. Microwave at 50% (medium) for 30 seconds. Stir, repeat until mixture is smooth.

    Insert toothpick into candy ball. Dip 3/4 ball into melted coating. Scrape off excess. Place on waxed paper lined tray. Remove toothpick and smooth over holes. Refrigerate until coating is firm; Remove from paper. Store at room temperature in covered container.

    Always Show Folders in Windows Explorer

    Friday, December 21st, 2007

    Are you sick of clicking on the “Folders” button to see the folder tree everytime you open Windows Explorer? Here are the simple steps to make that folder tree show by default.

    • Click Start > Control Panel > Folder Options
    • Click the File Types tab.
    • Page down until you locate the icon that looks like a folder in the “Extensions” column. It will have the word “(NONE)” after the icon and the “File Types” column will show Folder. Not “File Folder”, but just “Folder”. Select that entry and click the Advanced button. From that window you can set the default action to “explore” and click “OK”. Click “OK” again to close out of the Folder Options.

    Now you will see the split view everytime you open Windows Explorer.

    Mock Peanut Brittle Christmas Wreath Cookies

    Saturday, December 15th, 2007

    These are easy no bake cookies that are quick and fun to make.

    • 1 Cup Sugar
    • 1 Cup Light Corn Syrup
    • 1 (12 oz) jar of Peanut Butter
    • 6 Cups of Corn Flakes
    • Green Food coloring

    Combine sugar and syrup in pan. Heat and bring to a hard boil. Remove from heat and stir in peanut butter. Add green food coloring. Mix in corn flakes and stir until all are coated with syrup mixture. Drop by spoonfuls onto wax paper and shape into wreaths. Add red hot candies while wreaths are still warm.

    ASP.NET GridView Paging with Style

    Wednesday, December 5th, 2007

    If you’re into ASP.NET Matt Berseth has a very informative blog with easy to follow samples and he has an eye for detail. One post I found interesting was Recreating the Google Analytics Table as an ASP.NET GridView

    Flickr and Picnik Together At Last!

    Wednesday, December 5th, 2007

    My favorite online photo editor and my favorite online photo sharing tools are finally one! This will be a big time saver

    Flickr

    Dezignus.com Free Design Stuff

    Wednesday, November 21st, 2007

    A co-worker put me onto a nice site that is good for designers everywhere. He gives links to download tools he has found or created himself. The only problem I have is the servers he puts his downloads on are blocked by my corp firewall. I guess I will have to grab them at home. Here he has a free Photoshop brush set for creating amazing shining, blinking & glow effects. Also it’s useful for designing Milky Way, glows, flashes… whatever you want. Check it out at Dezignus.com

    Chocolate Oatmeal Cookies

    Saturday, November 17th, 2007
    • 2 Cups of Sugar
    • 1 Stick of Butter
    • 1/2 Cup of Milk
    • 2 Tablespoons of Cocoa

    Combine and boil the above ingredients for 2 minutes. Remove from heat and mix in the following ingredients. You must move fast because the mixture begins to harden quickly.

    • 1 Cup of Peanut Butter
    • 2 1/2 to 3 Cups of Quick Cooking Oatmeal
      (the oats must be quick cooking and don’t put too much or the cookies will be dry)
    • 1/2 Teaspoon of Vanilla

    Drop by spoonfuls on wax paper to cool.

    Embedded Google Calendar

    Monday, November 12th, 2007

    Embedding a Google Calendar on your website is very simple. Open your calendar and click “manage calendars”. Now click the share link on the calendar you want to share and go to the “calendar details” tab. Scroll down to the “Embed This Calendar” section and copy the code and paste it into your website. You can even customize the size and colors to match your site. Piece of cake!

    Show Empty Table Cells with CSS in Internet Explorer

    Monday, October 29th, 2007

    When you create a html table and apply a border using CSS, then the empty cells do not have a border. So you pull out your CSS book and find empty-cells:show; and think your problems are solved but empty-cells is unsupported in IE…go figure. But I have found a combination of styles that work. Try this…apply the border-collapse:collapse; and empty-cells: show; to the table level and IE will display borders around empty cells.

    Tags:

    Firefox and integrated Windows Authenication

    Friday, October 26th, 2007

    If you need Firefox to work with integrated Windows Authentication do this:

    1. Open Firefox and go to about:config
    2. In the filter type network.automatic-ntlm-auth.trusted-uris or just scroll down until you find it.
    3. Double click that line and put in the name of the server you want to use windows auth. Ex: localhost,.tgrayimages.com (multiple sites separated by commas)
    4. Click OK and restart Firefox

    Yipee! Now you can uninstall IE! (just kidding)

    Psalm 5

    Thursday, October 18th, 2007

    Psalm 5

    1 O LORD, hear me as I pray; pay attention to my groaning.
    2 Listen to my cry for help, my King and my God, for I pray to no one but you.
    3 Listen to my voice in the morning, LORD. Each morning I bring my requests to you and wait expectantly.

    8 Lead me in the right path, O LORD, or my enemies will conquer me. Make your way plain for me to follow.

    Holden’s Room Got TP’d

    Friday, August 17th, 2007


    Lizzy and her friends did this while we were at dinner. :)

    Some Ways to Reduce Stress

    Friday, July 27th, 2007

    Maybe you will find one or two of these helpful.

    1. Pray
    2. Go to bed on time.
    3. Get up on time so you can start the day unrushed.
    4. Say No to projects that won’t fit into your time schedule, or that will compromise your mental health.
    5. Delegate tasks to capable others.
    6. Simplify and unclutter your life.
    7. Less is more. (Although one is often not enough, two are often too many.)
    8. Allow extra time to do things and to get to places.
    9. Pace yourself. Spread out big changes and difficult projects over time; don’t lump the hard things all together.
    10. Take one day at a time. (more…)

    Bad Haircut!

    Tuesday, July 3rd, 2007

    I'm sad about my bad haircut.

    Phoebe looks sad. She got her first haircut but at least we can see her eyes now. The groomer shaved her way to close and Holden is trying to hide her body in this picture.

    Family Photo on the Beach (awww)

    Wednesday, June 13th, 2007

    The beach was packed that day. I photoshopped out all the people. Can you tell where they were?

    Got enough sun screen?

    Wednesday, June 13th, 2007

    Keep rubbin…that is gonna take a while. :)

    Paint Buddy to the Rescue!

    Monday, May 14th, 2007
    Get the Flash Player to see the wordTube Media Player.

    This was a school project of Holden’s. He had to invent something and then make a commercial about it. His invention was a paint brush with a paint key built into the handle. Patent Pending

    Two Girls with Attitudes

    Thursday, March 29th, 2007

    Both of these little girls have big attitudes, can’t you tell? Cute though, aren’t they?

    Updating ColdFusion MX 7 for 2007 DST Changes

    Thursday, March 29th, 2007

    The Energy Policy Act of 2005 officially changed the start and end dates for Daylight Savings Time (DST) in the US this year (2007). DST started at 2:00AM on the 2nd Sunday in March (03/11/2007) and ends the 1st Sunday in November (11/04/2007). These dates will affect all versions of ColdFusion (5.0-MX 7).

    I admit I’m a little late applying this patch but oh well. Here are the steps I took to update CFMX7.

    Download the Java 2 SDK 1.4.2_11. Run the install and place it (to simplify the path) in the root of your C: drive (c:\j2sdk1.4.2_11 for example)

    Now you need to update the JVM that shipped with ColdFusion. To do this you need to edit one line in the jvm.config file. The jvm.config is where VM configuration settings are stored and is located in the cf_root\runtime\bin directory for the single server configuration and jrun_root\bin directory for the multiserver configuration of ColdFusion using JRun as the application server. The jvm.config recognizes an argument called “java.home”. The “java.home” argument accepts a value of the path to your JRE. For example:java.home=C:/CFusionMX7/runtime/jre. When you upgrade your JVM, this argument must reflect the path to your new JRE. For example: java.home=C:/j2sdk1.4.2_11/jre.

    Restart all your Coldfusion services and download and run the dstDate.cfm script to test that everything works.

    The following table displays the results of a properly patchedColdFusion MX configuration:

    Today March 11

    (New DST Start)
    Apri1

    (Old DST Start)
    October 28

    (Old DST End)
    November 4

    (New DST End)
    Dates 03/29/2007

    3:00:00 AM EST
    03/11/2007

    3:00:00 AM EDT
    04/01/2007

    3:00:00 AM EDT
    10/28/2007

    3:00:00 AM EDT
    11/04/2007

    3:00:00 AM EST
    DST ON Yes Yes Yes Yes No

    technorati tags:

    Those Who Can, Code; Those Who Can’t, Architect

    Tuesday, March 27th, 2007

    A friend of mine sent me this email and it sent chills up my spine.

    “At the moment there seems to be an extremely unhealthy obsession in software with the concept of architecture. A colleague of mine, a recent graduate, told me he wished to become a software architect. He was drawn to the glamour of being able to come up with grandiose ideas – sweeping generalized designs, creating presentations to audiences of acronym addicts, writing esoteric academic papers, speaking at conferences attended by headless engineers on company expense accounts hungrily seeking out this year’s grail, and creating e-mails with huge cc lists from people whose signature footer is more interesting than the content. I tried to re-orient him into actually doing some coding, to join a team that has a good product and keen users both of whom are pushing requirements forward, to no avail. Somehow the lure of being an architecture astronaut was too strong and I lost him to the dark side. (more…)

    Hasta la Vista, Vista!

    Friday, March 16th, 2007

    I’ve had it up to here! While Windows Vista is cool and has some very neat new features, I could not take it anymore. It was killing my box! I could not click on anything without the pc choking and the system fan kicking in and all my window turning white for several seconds. My box is not the latest and greatest but it is by far not a wimp either. I was ready to throw the thing out the window. So I paid a visit to my very good friend “format c:” and reinstalled the trusted Windows XP MCE 2005 and my pc thanked me with a sigh of relief. The next upgrade I make with be of the fruity version, say maybe an Apple? Or maybe I should just run one of those fancy new web OSs and let every pc in the world be my pc.

    What is Your Boar?

    Tuesday, March 13th, 2007

    Last night, or most likely 2 minutes before I awoke this morning I had a very vivid dream. The dream started with me hearing myself breathing and feeling very tired. Then I realized that I was being chased but I was not running but crawling and could not stand. I turned to look over my shoulder to see my pursuer which was a white wild boar. I turned back and crawled as fast as I could all the while I am moving a piece of cardboard and crawling on it or carrying it along with me. I not sure why I had this piece of cardboard. The boar was running at a full sprint and saying “I’m gonna get you!” but I was able to stay a good distance in front of him. I kept looking back and the boar was gaining ground. After what seemed like hours of running (or crawling) from this boar I heard someone say “Turn and face the boar!” The voice came from no where and there was nobody around. So I stopped, my knees on the cardboard and turned toward the boar. He stopped and slowly walked closer and I petted his head and said “Good Piggy!” He wagged his curly tail and turned and walked away! I paused and watched him walk down the path that seemed many miles long and then I turned around and continued on my journey. I believe I was standing then and I felt as if a heavy burden had been lifted. As I continued my journey I constantly looked over my shoulder to see the boar still walking away. Then I noticed it was not a boar at all but just a common pig.

    This dream seemed so real and it is bugging me still. Any ideas? I keep thinking “Turn and face your fears!” Sometimes we just have to face the boar. The question is, what is my boar? What is your boar?

    The Best Snow Day Ever!

    Saturday, February 3rd, 2007

    [VIDEO=10]
    Joe playing with his kids in the snow, Go Daddy GO!

    Phoebe is a newbie

    Sunday, January 21st, 2007

    [VIDEO=9]Well as much as I resisted, I broke down and adopted a puppy last night. I saw the ad in the paper and drove an hour south to pick her up. She is Cockapoo and weighs 3.9 lbs

    Office Workspace

    Sunday, January 21st, 2007

    And here is the office workspace, view it on Flickr.com cause it’s nicely annotated as well.

    Home Workspace

    Thursday, January 18th, 2007

    Following the lead of Mark Drew, one of my favorite bloggers, here is a snapshot of my home workspace and yes it is annotated and everything. What does your space look like?

    Print Monitor is Unknown

    Tuesday, January 16th, 2007

    Problem:
    When installing a networked printer on Windows Vista RTM you recieve a “The Specified Print Monitor is Unknown error”.

    Solution:
    This is what fixed the problem for me.
    1. Enable UAC (Go into the control panel and type UAC in the search bar then follow through the ‘wizard’) – restart your computer when prompted
    2. Install the printer
    3. Disable UAC

    Yipee!!

    Holden Playing the His New Ibanez

    Tuesday, December 26th, 2006

    [VIDEO=7]Merry Christmas! Check out this short video of Holden playing part of the song he is writing. He is playing on his new Ibanez RG120 that he got for Christmas. Pretty impressive if you ask me (but I’m biased). That is his little sister yelping in the background while playing a video game. :)

    Christmas by Candlelight

    Wednesday, December 20th, 2006

    [VIDEO=6]Here, for your viewing pleasure :) is a very shaky video of the youth choirs at my church performing this past Sunday evening. My tripod is a piece of junk so I pulled the camera off and… well you see the result. One of these days I’m gonna get me one of them there fancy tripods. Holden is playing the drumset and Lizzy is singing in the first choir. Wendy is singing in the second choir and she hates those robes! Just FYI. I’m using a very cool WordPress plugin by Alex Rabe to manage the video on this site.

    Here where go again!

    Tuesday, December 19th, 2006

    Christmas Tree 2006We decorated our Christmas tree this year (for the first time) the week after Thanksgiving. Pictured to the left is the first time. There were a few lights out (more than usual) while Holden and I were putting them on. I decided we would go ahead with it and replace the burned out bulbs later (stupid idea). A couple days later a couple more sections went out, the next day a couple more. Within a week, this is the pile of lights that had gone out. IMG_6244 After searching all over our town and the next town for plain ole clear white lights, I finally found some. I purchased nine boxes thinking that would be more than enough. IMG_6234Three quarter of the way up the tree Holden is putting on the last box and guess what? When he plugged them in half of the string wont come on. Oh but wait, we have two whole strings of lights that still work from the original decorating only a week ago, lets use them. Well now only one of those string work. ARGH! Did I mention that we had to remove everything from the tree and start over to put on the new lights? Man, I tired of working on that tree. Hopefully now it will stay on until Christmas. (note to self, buy lights for next year while they are on sale after Christmas)

    Christmas Vacation

    Tuesday, December 19th, 2006

    NORAD Tracks Santa!

    Monday, December 18th, 2006

    [VIDEO=1]For more than 50 years, NORAD and its predecessor, the Continental Air Defense Command (CONAD) have tracked Santa. The tradition began after a Colorado Springs-based Sears Roebuck & Co. store advertisement for children to call Santa on a special “hotline” included an inadvertently misprinted telephone number. Instead of Santa, the phone number put kids through to the CONAD Commander-in-Chief’s operations “hotline.” The Director of Operations, Colonel Harry Shoup, received the first “Santa” call on Christmas Eve 1955. Realizing what had happened, Colonel Shoup had his staff check radar data to see if there was any indication of Santa making his way south from the North Pole. Indeed there were signs of Santa and children who called were given an update on Santa’s position. Thus, the tradition was born.

    InterAKT and Adobe

    Monday, December 18th, 2006

    Romania-based software firm InterAKT has been acquired by Adobe. InterAKT is responsible for many Dreamweaver extensions and the Eclipse based editor for JavaScript. It looks like Adobe is really getting behind the Eclipse platform. Great news! You can download JSEclipse from Adobe Labs. Read more here

    Large Folded Star Christmas Tree Ornament

    Saturday, November 25th, 2006

    Here is an easy Christmas Tree Ornament craft for your Sunday School kids to make.
    20061125_0689
    Large Folded Star Christmas Tree Ornament Color

    Large Folded Star Christmas Tree Ornament 
    Large Folded Star Christmas Tree Ornament

    The Pride of DeSoto Central

    Tuesday, October 17th, 2006

    A Simple Show of Hands

    Friday, October 13th, 2006

    It is a lot more intimate to hold hands nowadays than to kiss,” said Joel Kershner, 23. Because of that, he said, reaching for someone’s hand these days has more potential for rejection than leaning in for a smooch.

    New York Times

    I Broke the Site

    Wednesday, October 11th, 2006

    So I decided to give it a major face lift. What do you think so far? It will be back up soon. Email me at tony@tgrayimages.com if you want to get in touch with me. Sorry for the inconvenience.