mikemansell
-
Content Count
14 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by mikemansell
-
-
Hello all;
To start off, I should point out that I've been an avid user of Microsoft Office (primarily Excel) for quite some time now, but have become more and more disappointed with the last couple of releases. Having said that, I recently bought a MacBook Pro and have been using a copy of Microsoft Office from work, again using it for primary Excel.
Having talked to a few people, I've been told that iWork is great for run of the mill end-users but that it really doesn't stand up to Microsoft Office for Mac in regards to the more robust features. So I guess my question is; is iWork worth looking into? Seeing as how it's a "generic" product (in comparison to MSO, at least) and hasn't seen a new release for two years now, I understand that it's not going to have to have all of the "new" features that I consider to be bloat in Office. But for you iWork users out there - especially those of you work work heavily with spreadsheets - do you find it to meet your day to day needs?
-
Using Google Insights I recently began looking at the search terms that people use when looking for mobile phones. I found a number of things that show how people have compared mobile phones over time, and the products that they compare. With the success of the iPhone, I used it as the base of sorts and looked at the devices (BlackBerry, Android, Windows Phone) that people compared to the iPhone.
Needless to say, I was really surprised at the number of people who compared the BlackBerry and iPhone devices, and think that it really speaks for itself that people have more recently fallen away from using the comparison. Does this show that the BlackBerry has lost relevance to everyday consumers?
I also thought it would be interesting to see what features people looked for when looking for a phone. Using the "best phone for x" queries, I found that the importance of texting, camera, and video have more or less stayed the same over the last few years. But unsurprisingly, the importance of mobile apps seems to have jumped a lot starting in mid/late 2009.
What do you think this means?
-
#!/bin/bash
# Screenshot and Upload Script
# Requires gawk curl xsel scrot openssl imagemagick sshpass
# This script uses OpenSSL to generate MD5 hases for filenames.
# These hashes are based on the file itself and not the timestamp.
# When all is said and done, this prevents users from systematically downloading your screenshots/uploads.
########################
# Upload Configuration #
########################
# "s3", "cloudfiles", "ssh", "ftp", "imageshack", "imgur"
# Note for SSH users: if you have keys configured, leave the "login" and "pass" values blank.
UPLOADMETHOD=""
# Only used for SSH and FTP
SERVER=""
# S3 API key, CloudFiles user, FTP User, or SSH user when using sshpass
LOGIN=""
# S3 API secret, CloudFiles API key, Imgur API Key, FTP password, or SSH pass when using sshpass
PASS=""
# Container, S3 bucket, or server directory (not needed for Imageshack/Imgur)
CONTAINER=""
#####################
# URL Configuration #
#####################
# "long", "bitly", "isgd", or "tinyurl"
# CloudApp users must configure this option in their account
URLMETHOD=""
# API user for URL service (currently only needed for bit.ly)
URL_APIU=""
# API key for URL service (again, currently only needed for bit.ly)
URL_APIK=""
# The base URL that your uploads are stored at (not needed for Imageshack/Imgur)
# THIS IS NEEDED EVEN IF YOU ARE USING A URL SHORTNER
BASEURL=""
#######################
# Misc. Configuration #
#######################
# true/false - Apply a dropshadow to screenshot? Does *not* apply to file uploads.
DROPSHADOW=""
# true/false - Delete the local SCREENSHOT after upload? Doesn't apply to file uploads.
DELETELOCAL=""
# true/flase - Keep a local upload ledger?
USELOG=""
###################################################
###### START THE SCREENSHOT AND UPLOAD PROCESS ####
###################################################
SCRIPTDIR=`dirname "$0"`
DATE=`date +%Y%m%d%H%M%S`
if [ "$1" = "" ]; then
ACTION="screenshot"
FILE_FULL="$SCRIPTDIR/$DATE.png"
scrot -s $FILE_FULL
if [ "$DROPSHADOW" = "true" ]; then
convert $FILE_FULL -gravity northwest -background 'rgba(255,255,255,0)' -splice 10x10 \
\( +clone -background gray -shadow 80x12-1-1 \) +swap -background none -mosaic +repage \
\( +clone -background gray -shadow 80x12+5+5 \) +swap -background none -mosaic +repage $FILE_FULL
fi
else
ACTION="upload"
FILE_FULL="$1"
if [ ! -f $FILE_FULL ]; then
zenity --error --text "\"$FILE_FULL\" does not exist. Script cannot continue."
exit
fi
fi
FILE="`openssl < $FILE_FULL md5`.`echo $FILE_FULL | awk -F . '{print $NF}'`"
MIMETYPE="`file --mime-type $FILE_FULL | cut -d " " -f2`"
CLASSIFICATION=`echo $MIMETYPE | cut -d "/" -f1`
if [ "$UPLOADMETHOD" = "cloudapp" ]; then
RESPONSE=`curl -G --digest -u $LOGIN:$PASS -H "Content-Type: application/json" -H "Accept: application/json" http://my.cl.ly/items/new | sed 's/${filename}//' | sed 's/\"params\"://' | sed 's/{//g' | sed 's/}//g' | sed 's/\":/\"=/' | sed 's/\":\"/\"=\"/g'`
function gets3values {
s3step=$1
if [ "$s3step" = "" ]; then
s3step=1
fi
item=`echo $RESPONSE | cut -d "," -f$s3step | sed 's/\"//g'`
if [ "$item" != "" ]; then
eval $item
gets3values $(expr $s3step + 1)
fi
}
gets3values
S3RESPONSE=`curl -sS -D - -o /dev/null -F "key=$key$FILE" -F "acl=$acl" -F "Policy=$policy" -F "AWSAccessKeyId=$AWSAccessKeyId" -F "Signature=$signature" -F "success_action_redirect=$success_action_redirect" -F "file=@$FILE_FULL" "$url"`
LOCATION=`echo -n $S3RESPONSE | grep -o http[^\<]* | cut -d " " -f1 | cut -d "&" -f1,2`
CARESPONSE=`curl -G --digest -u $LOGIN:$PASS -H "Accept: application/json" "$LOCATION" | sed 's/:null/=\"null\"/g' | sed 's/:true/=\"true\"/g' | sed 's/{//g' | sed 's/}//g' | sed 's/\":/\"=/' |sed 's/\":\"/\"=\"/g'`
function getcavalues {
castep=$1
if [ "$castep" = "" ]; then
castep=1
fi
item=`echo $CARESPONSE | cut -d "," -f$castep | sed 's/\"//g'`
if [ "$item" != "" ]; then
eval $item
getcavalues $(expr $castep + 1)
fi
}
getcavalues
LONGURL=$url
elif [ "$UPLOADMETHOD" = "s3" ]; then
RFCDATE="`date -R`"
POLFILE="$SCRIPTDIR/POLFILE$DATE.tmp"
echo { >> $POLFILE
echo \"expiration\": \"2015-06-15T12:00:00.000Z\", >> $POLFILE
echo \"conditions\": [ >> $POLFILE
echo {\"acl\": \"public-read\"}, >> $POLFILE
echo {\"bucket\": \"$CONTAINER\" }, >> $POLFILE
echo [\"eq\", \"\$key\", \"$FILE\"], >> $POLFILE
echo [\"eq\", \"\$Content-Type\", \"$MIMETYPE\"], >> $POLFILE
echo [\"eq\", \"\$x-amz-storage-class\", \"REDUCED_REDUNDANCY\"] >> $POLFILE
echo ] >> $POLFILE
echo } >> $POLFILE
POLICY="`base64 -w0 $POLFILE`"
SIGNATURE="`base64 -w0 $POLFILE | openssl dgst -sha1 -hmac $PASS -binary | openssl base64`"
curl "key=$FILE" -F "acl=public-read" -F "Policy=$POLICY" -F "AWSAccessKeyId=$LOGIN" -F "Signature=$SIGNATURE" -F "Content-Type=$MIMETYPE" -F "x-amz-storage-class=REDUCED_REDUNDANCY" -F "file=@$FILE_FULL" http://$CONTAINER.s3.amazonaws.com
LONGURL="$BASEURL/$FILE"
rm $POLFILE
elif [ "$UPLOADMETHOD" = "cloudfiles" ]; then
eval $(curl -s -X "GET" -D - \
-H "X-Auth-Key:$PASS" \
-H "X-Auth-User:$LOGIN" \
https://api.mosso.com/auth | gawk '$1=="X-Storage-Token:" { sub(/\r/,"",$2);printf("TOKEN=\"%s\"\n",$2); }
$1=="X-Storage-Url:" { sub(/\r/,"",$2);printf("SURL=\"%s\"\n",$2) }
$1=="X-CDN-Management-Url:" { sub(/\r/,"",$2);printf("CDN=\"%s\"\n",$2) }')
curl -s -X "PUT" -T "$FILE_FULL" \
-H "X-Auth-Token: $TOKEN" \
-H "Content-Type: $MIMETYPE" \
$SURL/$CONTAINER/$FILE
LONGURL="$BASEURL/$FILE"
elif [ "$UPLOADMETHOD" = "ssh" ]; then
if [ "$LOGIN" = "" ] && [ "$PASS" = "" ]; then
scp -P 22 $FILE_FULL $SERVER:$CONTAINER/$FILE
else
RESULT=`sshpass -p $PASS scp -P 22 $FILE_FULL $LOGIN@$SERVER:$CONTAINER/$FILE`
echo $RESULT
fi
LONGURL="$BASEURL/$FILE"
elif [ "$UPLOADMETHOD" = "ftp" ]; then
DIRNAME="`dirname $FILE_FULL`"
BASENAME="`basename $FILE_FULL`"
cd $DIRNAME
ftp -n -v $SERVER <<- DONEWITHFTP
user $LOGIN $PASS
cd $CONTAINER
put $BASENAME $FILE
bye
DONEWITHFTP
LONGURL="$BASEURL/$FILE"
elif [ "$UPLOADMETHOD" = "imageshack" ]; then
if [ "$CLASSIFICATION" = "image" ]; then
OLDFILE="$FILE_FULL"
FILE_FULL="`dirname $OLDFILE`/$FILE"
mv $OLDFILE $FILE_FULL
LONGURL=`curl -H Expect: -F fileupload="@$FILE_FULL" -F xml=yes -# "http://www.imageshack.us/index.php" | grep image_link | grep -o http[^\<]*`
mv $FILE_FULL $OLDFILE
FILE_FULL="$OLDFILE"
else
zenity --error --text "Imageshack is an image hosting service. You are trying to upload a \"$CLASSIFICATION\" file. This simply cannot be done."
exit
fi
elif [ "$UPLOADMETHOD" = "imgur" ]; then
if [ "$CLASSIFICATION" = "image" ]; then
OLDFILE="$FILE_FULL"
FILE_FULL="`dirname $OLDFILE`/$FILE"
mv $OLDFILE $FILE_FULL
LONGURL=`curl -s -F "image=@$FILE_FULL" -F "key=$PASS" http://imgur.com/api/upload.xml | grep -E -o "<original_image>(.)*</original_image>" | grep -E -o "http://i.imgur.com/[^<]*"`
mv $FILE_FULL $OLDFILE
FILE_FULL="$OLDFILE"
else
zenity --error --text "Imgur is an image hosting service. You are trying to upload a \"$CLASSIFICATION\" file. This simply cannot be done."
exit
fi
else
zenity --error --text "This script is not configured to upload to \"$UPLOADMETHOD\". Please select a valid option and try again."
exit
fi
if [ "$URLMETHOD" = "long" ]; then
URL="$LONGURL"
elif [ "$URLMETHOD" = "bitly" ]; then
URL=`curl "http://api.bit.ly/v3/shorten?login=$URL_APIU&apiKey=$URL_APIK&format=txt&longUrl=$LONGURL"`
elif [ "$URLMETHOD" = "isgd" ]; then
URL=`curl "http://is.gd/api.php?longurl=$LONGURL"`
elif [ "$URLMETHOD" = "vgd" ]; then
URL=`curl "http://v.gd/create.php?format=simple&url=$LONGURL"`
elif [ "$URLMETHOD" = "tinyurl" ]; then
URL=`curl "http://tinyurl.com/api-create.php?url=$LONGURL"`
else
zenity --error --text "A valid URL method was not specified so no URL was copied to your clipboard."
fi
echo -n "$URL" | xsel --clipboard --input
if [ "$DELETELOCAL" = "true" ] && [ "$ACTION" = "screenshot" ]; then
rm $FILE_FULL
else
DELETELOCAL="false"
fi
if [ "$USELOG" = "true" ]; then
LOG="$SCRIPTDIR/log.csv"
if [ ! -f $LOG ]; then
echo "unix_time,friendly_time,action,local_file,mime_type,service,container,item,url,deleted" >> $LOG
fi
echo "$DATE,`date +%Y-%m-%d_%H-%M-%S`,$ACTION,$FILE_FULL,$MIMETYPE,$UPLOADMETHOD,$CONTAINER,$FILE,$URL,$DELETELOCAL" >> $LOG
fi -
If you are looking at using Amazon S3/CloudFront to host a static website, I have come up with a nice little script (requires s3cmd from http://s3tools.org/s3cmd) that allows you to create a bucket and distribution for your site in a relatively seamless fashion.
What it does:
- Creates an S3 bucket (or uses an existing one)
- Uploads ALL of the files within a specified folder tree into the bucket
- Makes all of the items "public"
- Optionally creates a CloudFront distribution and sets a CNAME and default root object (e.g. index.html) based on your input.
Below is the script. Obviously you're going to need s3cmd and an existing Amazon Web Services account with S3 and CloudFront enabled. The result will ultimately be a fast CDN at Amazon's very reasonable price.
Be sure to save this as a bash script and set it to executable (chmod +x).
clear
echo "S3/CloudFront Website Uplaoder"
echo
echo "This utility will take advantage of AWS to host a website."
echo "The end result will be a cost-effective CDN-based website."
echo
echo "Please note:"
echo " - You must have an existing AWS account w/ S3 + CF"
echo " - You must have s3cmd 1.0.0 + installed on this computer"
echo " - Your API info can be found in your AWS account settings"
echo " - All files will be public and filetypes will be guessed"
echo " - An S3 bucket will be created if it doesn't exist"
echo " - A CloudFront distribution can be created if specified"
echo
echo "--------------------------------------------------------------"
echo
echo "Please enter your API key:"
read API_KEY
echo
echo "Please enter your API secret:"
read API_SEC
echo
echo "Please enter the local folder that contains your site:"
read LOC_DIR
echo
echo "Please enter the S3 bucket where the site will be uploaded to:"
read REM_BUC
echo
echo "Set up a CloudFront distribution - 'true' or 'false'"
echo "Use 'true' if you want to take advantage of edge locations or default root objects."
echo "DO NOT use 'true' if you have an existing distribution on the given bucket."
read CFT_SET
if [ "$CFT_SET" = "true" ]; then
echo
echo "Please enter the default root object (index.html) for ClodFront:"
read CFT_DRE
echo
echo "Please enter the CNAME that you will use for the CF distribution:"
read CFT_CNM
fi
echo
echo "--------------------------------------------------------------"
echo
echo "Checking to make sure that all of the needed info was input..."
echo
if [ "$API_KEY" != "" ] && [ "$API_SEC" != "" ] && [ "$LOC_DIR" != "" ] && [ "$REM_BUC" != "" ]; then
echo "All of your information appears to have been entered."
echo "Mind you, the validity of this information has yet to be validated."
echo
echo "--------------------------------------------------------------"
echo
else
echo "YOU ARE MISSING FIELD DATA. TRY AGAIN."
echo
echo "--------------------------------------------------------------"
echo
exit
fi
echo "Making sure that your local directory is valid..."
echo
if [ -e $LOC_DIR ]; then
echo "Local directory has been validated!"
echo
echo "--------------------------------------------------------------"
echo
else
echo "THE LOCAL DIRECTORY YOU SPECIFIED DOES NOT EXIST. TRY AGAIN."
echo
echo "--------------------------------------------------------------"
echo
exit
fi
echo "Making sure that you have s3cmd installed..."
echo
if [ "`whereis s3cmd`" != "s3cmd:" ]; then
echo "s3cmd appears to be installed. All is good."
echo
echo "--------------------------------------------------------------"
echo
else
echo "S3CMD IS NOT INSTALLED. TRY AGAIN."
echo
echo "--------------------------------------------------------------"
echo
exit
fi
echo "Creating validation file..."
echo
S3_FILE="`dirname $0`/`date +%Y%m%d%H%M%S`s3cmd.tmp"
echo "$S3_FILE"
echo "access_key = $API_KEY" >> $S3_FILE
echo "secret_key = $API_SEC" >> $S3_FILE
tail $S3_FILE
echo
echo "--------------------------------------------------------------"
echo
echo "STARTING THE UPLOAD PROCESS!"
echo
s3cmd --config=$S3_FILE mb s3://$REM_BUC
s3cmd --config=$S3_FILE sync --acl-public --guess-mime-type $LOC_DIR/ s3://$REM_BUC
if [ "$CFT_SET" = "true" ]; then
s3cmd --config=$S3_FILE cfcreate s3://$REM_BUC
s3cmd --config=$S3_FILE cfmodify --cf-default-root-object=$CFT_DRE s3://$REM_BUC
CFT_DMN="`s3cmd --config=$S3_FILE cfmodify --cf-add-cname=$CFT_CNM s3://$REM_BUC | grep DomainName`"
fi
echo
echo "--------------------------------------------------------------"
echo
echo "The details for your new configuration is as follows:"
echo "S3Bucket: $REM_BUC"
if [ "$CFT_SET" = "true" ]; then
echo "$CFT_DMN"
echo "DfltRtObjt: $CFT_DRE"
echo "CNAME: $CFT_CNM"
echo
echo "You will want to create a DNS record pointing your CNAME to your CloudFront distribution ('DomainName')."
echo
echo "CloudFront takes a bit of time to set up."
echo "Patience is a virtue."
fi
echo
echo "--------------------------------------------------------------"
rm $S3_FILE - Creates an S3 bucket (or uses an existing one)
-
I'm trying to use as few resources as possible on my WordPress installation. Is there anything I can do to disable post revisions? These seem to take up a bit of space and are not really necessary for what I need. Do you have any other tips for making WordPress a more efficient platform?
-
i have recently installed Ubuntu on my laptop.....everything is working fine but the wireless will not connect.
also i am not able to connect to my the Verizon mifi. does anyone know what i may be doing wrong?
the wireless icon in the top task pane is there but showing no signal.....i have messed with the wireless settings some and tried to set it up but had no luck...anyone have experience with this that can help me i thank you.
Depending on your network card, you will likely have to install the drivers. In Ubuntu, this is often a trivial task. First off, you will need to plug the device into a hard-wired network connection (ethernet) so that it has availability to the internet. Then you will want to do two things.
First, ensure that you have the non-free repositories configured. The easiest way to do that is head to the terminal ("Applications" -> "Accessories" -> "Terminal") and type in "sudo gedit /etc/apt/sources.list". You will need to enter your password, and from there a text editor window will open with a list of repositories. You will likely want to replace the contents of the file as follows (assuming you're on 10.10):
deb http://us.archive.ubuntu.com/ubuntu/ maverick main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick main restricted
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ maverick multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick multiverse
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
deb http://archive.canonical.com/ubuntu maverick partner
deb-src http://archive.canonical.com/ubuntu maverick partner
deb http://extras.ubuntu.com/ubuntu maverick main
deb-src http://extras.ubuntu.com/ubuntu maverick main
deb http://security.ubuntu.com/ubuntu maverick-security main restricted
deb-src http://security.ubuntu.com/ubuntu maverick-security main restricted
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb-src http://security.ubuntu.com/ubuntu maverick-security universe
deb http://security.ubuntu.com/ubuntu maverick-security multiverse
deb-src http://security.ubuntu.com/ubuntu maverick-security multiverseGo ahead and save this file, then run the command "sudo apt-get update"
Next, you will simply want to tell Ubuntu to search for available hardware drives. To do so, navigate to the "System" menu, then select "Administration". From there, select the "Additional Drivers" button. A window should load, and after a minute or so you will likely see your network card as an available drive. Go ahead and activate it, let Ubuntu do its thing, and restart the computer.
I've attached an image showing what the "Additional Drivers" window should look like.
If you have any difficulties, be sure to post back. Better yet, if you cannot get the network card to detect, post its model number. We may be able to further assist you with this information.
-
Leaving my computer on for long periods of time - even when I'm not using it - I'd like to know if there is a way that I can tell the computer to de-fragment itself every so often so that I don't have to worry about doing so when I actually need to use the computer. How can I do this?
-
Is VirtualPC really the best out there? Or would you recommended looking at something else?
-
What/where are the best Cyber Monday deals? Any online retailers that you've had particularly good experience with in the past?
-
So. The question is in the topic. Joomla? Drupal? Wordpress? Which one should I use for a website?
-
Does anyone know of an addon that would allow for XML in Chrome(ium) to be displayed in a fashion such as that in Firefox?
Go here. http://www.google.com/support/forum/p/Chrome/thread?tid=36ee1bedc8acf004&hl=en
Thanks
-
Anyone know how to set up Windows to allow for hibernation?
-
Mandy, this post was hilarious and awesome. But, that makes sense, because an awesome person like Jeff deserves an awesome birthday post
Linux Bandwidth Monitoring Script
in Linux & Unix
Posted
Here's a pretty simple bash script for controlling bandwidth utilization;