Archive

Archive for the ‘Tech’ Category

I’m Officially a Wordpress Plugin Developer

December 14th, 2009 Geoff No comments

I had a need for a wordpress plugin to manage the Twitter Poker Tour poker league Leader Board and Schedule. I sent along my project plan to John Hawkins (@vegasgeek) of 9Seeds to have him give me an estimate for getting it created and after a few conversations I realized that it was no small task. Having more time than money to dedicate to my poker/web related projects I decided to give it a go myself. Read more…

Categories: Tech Tags:

Blogging from iPhone

March 22nd, 2009 Geoff No comments

I am blogging this from my newly downloaded Wordpress app for the iPhone. The HTML markup has to be done manually but it is a great little app.

I will get the most use out of it from the comment management functionality. I suppose it will also be good for drafting new posts and then finalizing them from my laptop.

Categories: Tech Tags: ,

Generate 301 Redirects in Excel

October 27th, 2008 Geoff 2 comments

If you are not using Google Webmaster Tools then stop reading now, sign up and come back, we’ll wait. OK now, say we are analyzing the Diagnostics > Web Crawl section in Google Webmaster Tools and notice that there are some Not Found errors. One way to fix these errors is to redirect them in .htaccess using a 301 Redirect.

Here is a handy spreadsheet (301-generator.xls) that I use to create my redirects using the data I download from Webmaster Tools. If you don’t like opening spreadsheets from an unknown blogger, then scroll down to the bottom of this post for the formula! 

How to use it

  1. Download the Not Found errors by clicking Download this table in Webmaster Tools
  2. Copy the non-domain part of the bad URL in first column (URL) of the spreadsheet downloaded from Google Webmaster Tools. Paste it into the next open field in column A on the 301-Generator spreadsheet. The non-domain part is everything after the http://www.yourdomain.com part of the URL field.
  3. Paste or Type in the new destination (in FQDN or Fully Qualified Domain Name format) into column B on the same row as the bad URL in step 2 above.
  4. The 301 redirect syntax will populate column C in the same row. You can paste that into your .htaccess file.
  5. All requests for the bad URL will now be redirected to the new destination.

Important

  • Always make a backup of your .htaccess file before making modifications. 
  • Always test the results of your changes, you may inadvertently redirect traffic from your homepage or otherwise make your site inaccessible.
  • If you are using Wordpress you should use the Redirection plugin instead of .htaccess 

Excel Formula

If you just want the formula, and not the spreadsheet, read on:

  • In column A1 type Bad URL
  • In column B1 type NEW URL
  • In column C1 type 301 Syntax for htaccess
  • In column C2 enter the formula
    • =”redirect 301 ” & A2 & ” ” & B2
  • Copy that formula to all cells in column C as needed.

Cure for the Cluttered Desktop

October 21st, 2008 Geoff 1 comment

I used to have a chronically messy desktop. Fed up with all the clutter I asked myself what the point of the Desktop was. For me it was to hold files and application shortcuts. Well, if I can’t keep it clean, can’t I just hide it and have it still serve it’s purpose? 

What I did was (I’m running Windows XP):

  1. Right clicked the desktop
  2. Clicked Arrange Icons
  3. Deselected Show Desktop Items.

Voila! Clean desktop. But have I lost any functionality?

Access to Desktop Files?

I put a shortcut to the Desktop folder in my quick launch bar so I can click it to see my desktop as a folder. So I still have direct access to desktop files.

Access to Desktop Application Icons

I installed Launchy to quick launch any apps so I don’t miss having desktop app icons. I hit ALT-Space and start typing the app I want.

Hope this helps keep your desktop clean!

Categories: Tech Tags: , ,

Wordpress Plugins for a Better Life

October 3rd, 2008 Geoff 2 comments

Well, at least they make *my* life better, and hopefully those of my readers! I use a lot of Wordpress plug ins for SEO, Event Management, Web Analytics, Communications, etc so I wanted to just list them out for all to see.

Here are all the plug ins in use over at Complete Poker Rules:

  • AdSense Manager
    • For managing Adsense Ads throughout the site
  • Akismet
    • Nearly eliminates the spam comments I receive. Some false positives but that may just be the nature of running a Poker Blog.
  • Amazon Reloaded for Wordpress
    • Allows you to search Amazon from the post edit screen and insert the product image or text link complete with Amazon Associate ID.
       
  • cforms
    • Contact forms with an excellent admin interface and highly flexible styling. 
  • FeedBurner FeedSmith
    • Used in conjunction with FeedBurner to manage your RSS subscriptions.
  • Google XML Sitemaps
    • Creates and keeps up to date you sitemap.xml file for assisting search engines with the structure and pages of your site.
  • Headspace2
    • Make your Wordpress site SEO friendly with this very powerful tool.
  • Highlight Author Comments
    • Call attention to the comments that you leave as admin so they stick out from the rest.
       
  • More Link Modifier
    • Changes the behavior of the ‘More’ link in Wordpress posts. You can customize the copy that is displayed as well as disabling the “Jump To” behavior of the More anchor link when clicked.
       
  • Redirection
    • Manage the redirection of deleted posts, etc without needing to edit your .htaccess file. Also great for 301 redirecting domain.com to www.domain.com or vice-versa.
  • Robots Meta
    • Manage the index nature of your site. Some SEO expert say that duplicating content within your own site dilutes the link juice you would otherwise get from a single instance of a post. Also good for noindexing your Wordpress Login page among others.
  • RSS Footer
    • Append a footer to the end of each post in your RSS feed. This is especially key if you have sites that scrape your content, it will include a link back to your site and you can at least benefit from the juice!
  • Search Excerpt
    • Enhance the on site search experience for your readers with keyword highlighting and relevancy sorting. 
  • Sociable
    • Allow your readers to share your content on social networks.
       
  • Theme Tester
    • Allows you to test out a new theme without disrupting service to your visitors. 
  • Ultimate Google Analytics
    • Plugin to allow you to include your Google Analytics tracking code on all your pages. Also allows you to set which user level should the tracking code be displayed for. For instance, you can disable to tracking code for admin users to avoid inflating your tracking numbers.
  • Wordpress Database Backup
    • Schedule the backup of your Wordpress database tables to file or email.
  • Wordpress Related Posts
    • Include links to related posts based on tagging. great for deep linking content.
       
  • WP-Polls
    • Include a poll in your post. Highly customizable: user contributed answers, multiple selection answers, etc. 
  • WP-PostRatings
    • Adds a ratings system to each post. 
  • WP-Table
    • Insert a table in your posts or pages for a better handle on structuring your content without CSS.
       
  • WPListcal
    • Create events and display them in any post, page or template. Flexible scheduling system to show x days out, only current and future events, etc. 

PdaNet and the Sprint Data Network Save the Day

August 1st, 2008 Geoff No comments

OK, my being awesome helps as well. Verizon’s Business DSL crapped out at lunchtime today (I was actually AT lunch and had to come back to the office, thanks Verizon!). I quickly tethered my Palm Centro to my laptop and fired up PdaNet so that we could process some orders.

Problem solved! For me, but what about the rest of the company?!? Well, a little Googling brought me to a program called Nat32 that allowed me to setup my laptop as a router for the rest of the company to use as their default gateway! I could have used ICS (Internet Connection Sharing) but you need to use the 192.168.0.0 subnet so I would have to reissue IP addresses for the whole company (servers, printers, etc).

So the takeaway of this post is that it pays to be a geek with gadgets ;)

Happy Friday to you!

Categories: Tech Tags: , ,

#ramday: An Experiment in Meme-Jumping

July 26th, 2008 Geoff 2 comments

While a relatively small group of Twitterers were sharing their #ramday experiences, I wrote this blog post: “What the Hell is #ramday?”. It was an attempt to jump on the coattails of the #ramday meme and vault the blog post as high as possible in Google. Christopher S Penn had a similar meme-jumping experience with Youtube and Rickrolling.

Did it work??

Graphic showing the dramatic increase in visitors for the ramday meme explanation post.

For a personal blog with very little traffic (5 – 10 uniques a day?) I had 406 unique visitors on Friday July 25th (aka the inaugural #ramday)!

And here are the search results in Google:

Google search results for Ramday

Incredibly enough, and this is  testament to how great Google is as a search engine, this page highlighted above was result #51 on Friday July 25th 30 minutes after I wrote it!

Categories: Tech Tags: , , ,

Useful FTP Bash Script

July 1st, 2008 Geoff No comments

I needed to be able to automate the download of specifically named files from an FTP server and then delete them upon successful download. The need arose when the old script I was using was downloading some zero byte files (likely due to poor network conditions, workstation issues or remote server issues) then deleting the source file! D’oh!!

This script checks that the file is not a zero byte file before deleting from the remote server. Not great error/consistency checking, but better than I had before. It also copies the successfully downloaded files to an IMPORT directory and then archives the originally downloaded files to an ARCHIVE directory.

Hopefully you find it useful.

Note: I updated the post to include logging.

#!/bin/bash
################################################
# Set some of the variables that will be needed
# during the execution of this script
################################################
# set current date
now=`date +%Y-%m-%d-%H%M-%S`
#
# set the root dir
rootdir="/ftp_files"
#
# set the download directory
dldir="$rootdir/DOWNLOADS"
#
# set session download dir
sessdldir="$dldir/$now"
#
# set the import dir
importdir="$rootdir/IMPORT"
#
# set the archive dir
archivedir="$rootdir/ARCHIVE"
#
# set up logging
LOGFILE="$rootdir/LOGS/ftplog.txt"
#
################################################
# Lets get to work
#################################################
# create a directory based on todays date
mkdir $sessdldir
#
# change to the new directory prior to FTP connection
cd $sessdldir
#
if [ -f $LOGFILE ]
then
echo "****** FTP PROCESS STARTED AT: $now ******" >> $LOGFILE
else
echo "****** NEW LOG FILE CREATED AT: $now ******" > $LOGFILE
echo "****** FTP PROCESS STARTING AT: $now ******" >> $LOGFILE
fi

## FTP Connection parameters
ftpserver=server.com
username=youruser
password=yourpass
remotedir=/directoryname

## Connect to FTP server and download all TXT files
ftp -inv $ftpserver >> $LOGFILE <<MYEND
user $username $password
cd $remotedir
bin
mget *.TXT
bye
MYEND

## Test for existence of files in the session download dir
## (we cd'd here earlier)
if [ `ls | wc -l` -gt 0 ]
then
echo "" >> $LOGFILE
echo ">> Files have been downloaded" >> $LOGFILE
dlfiles=`ls`
echo ">>>> Downloaded files:" >> $LOGFILE
echo "$dlfiles" >> $LOGFILE
echo "" >> $LOGFILE

## Create the FTP delete script in order to remove the downloaded
## files from the FTP server. We will be sure to check for empty
## files below. The FTP delete script will be created in the session
## download directory and named ftp.$PID
echo "open $ftpserver
user $username $password
binary
cd $remotedir" > $sessdldir/ftp.$$
echo ">> Creating delete script to delete non-zero files from remote server" >> $LOGFILE

## Iterate through the downloaded files one by one
for i in $( ls *.TXT ); do
## If the file exists and is larger than 0 bytes, THEN add
## a delete command to the FTP delete script. This will allow
## us to delete all non-zero byte files from the FTP server.
## Non-zero byte files could be a sign that the file didn't
## download properly due to an FTP timeout or other network
## issues. By not deleting the non-zero byte file we can attempt
## to download it the next time the script is run.
if [ -s $i ]
then
echo "del $i" >> $sessdldir/ftp.$$
echo ">>>> $i will be added to delete script" >> $LOGFILE
fi
done

## Finish off the FTP delete script
echo "quit" >> $sessdldir/ftp.$$

echo "" >> $LOGFILE
echo ">> Here is the delete script">> $LOGFILE
echo "" >> $LOGFILE
cat $sessdldir/ftp.$$ >> $LOGFILE
echo "" >> $LOGFILE
echo ">> Running the delete script" >> $LOGFILE
echo "" >> $LOGFILE

## Run the FTP script
ftp -ivn < $sessdldir/ftp.$$ >> $LOGFILE

## Copy all the non-zero byte TXT files to the import folder
echo "" >> $LOGFILE
echo ">> Copying non-zero size files to IMPORT" >> $LOGFILE

for i in $( ls *.TXT ); do
if [ -s $i ]
then
cp $i $importdir
echo ">>>> Copying $i to IMPORT directory" >> $LOGFILE
fi
done
fi

## Copy session specific download dir to the ARCHIVE folder
echo "" >> $LOGFILE
echo ">> Copying entire $sessdldir to $archivedir" >> $LOGFILE

cp -R $sessdldir $archivedir/

## Delete the session specific download dir
rm -rf $sessdldir
echo "" >> $LOGFILE
echo ">> Deleting $sessdldir" >> $LOGFILE
echo "" >> $LOGFILE

## ENDING LOG FILE FOR SESSION
echo "****** FTP PROCESS ENDED AT: $now ******" >> $LOGFILE
echo "******************************************************" >> $LOGFILE
echo "" >> $LOGFILE

Please consider subscribing to GeoffManning.com to receive new posts in your RSS Reader or by Email.

Categories: Tech Tags: , , ,

Free Support Friday – 3/28/2008

March 28th, 2008 Geoff No comments

Have a nagging computer or server issue? DNS or email not working the way you expect? I am offering free technical support/advice tonight March 28th 2008. If you have any questions or issues you can email them to me at geoff@geoffmanning.com and I will try to answer as many questions as I can.

Example topics:

  • Desktop/Server issues
  • email
  • DNS
  • Web hosting
  • Wordpress
  • Spam
  • Anti-virus
  • etc.

Note: This is not to be confused with the show Chris Pirillo has hosted in the past called: Free Live Tech Support Friday. I will try to answer as many questions as I can but I can’t make any guarantees! If I need to, I can connect remotely via my CrossLoop account.

Status Update for Adopt a Newb Day 2008

March 19th, 2008 Geoff No comments

While it is not necessarily a day, more of a concept, Adopt a Newb Day 2008 (AND 2008) has begun for me in full swing. If you follow the excellent tech podcast: Caffination then you have heard that Paul has started his AND 2008 campaign already as well. We first talked Adopt a Newb Day last month and if you don’t listen to Caffination, and your are a tech geek like me, then you should!

The concept is simple and it follows the ‘give a man a fish’/'teach a man to fish’ theory. Paul has turned that into ‘teach a man to tech’ and it is brilliant in it’s simplicity. There are so many things that come naturally to those more technologically inclined, it would be great for us to pay it forward.

So one of my AND 2008 projects has been to deploy a website for a close friend of mine that runs his own company. He has just started up recently and did not yet have a website. Slapping on my marketing geek hat I urged him to let me put up a website for him as it will open up a new sales channel for him and even the playing field with the competition. He agreed and here we are.

The ‘teach a man to fish’ concept here is that I developed the site entirely using the blogging platform wordpress (which runs geoffmanning.com by the way). I setup the templates and the general page structure and taught him how to manage his content using wordpress as a content management system (CMS).

The site is now live at Elite Sales and Marketing and he is starting to promote the site. The next step for us will be to drive traffic (and hopefully sales!) to the site. So Adopt a Newb yourself and keep us updated with the results!