Monday, January 29, 2007

Cool application: RSSBus (www.rssbus.com)

Along with starting to share my experiences online, I've started trying to use tools to save time.  One thing was starting to use the RSS features of IE7, instead of having to surf regularly (and memorize because I don't really like the concept of using 'favorites', aka bookmarks).

I came across RSSBus recently.  It is basically an application that has an easy to use interface allowing you to create an RSS feed with just about anything.

I installed the desktop product, downloaded and modified a feed script from Lance Robinson and voila!  I had an RSS feed to microsoft.public.windows.powershell.

To top it off, the feed ties directly into Google Groups to present me with a web based interface to the news articles.

Another great product from /n software along with their NetCmdlets.

My profile on www.microsoft.com!

My turn to have my 2006 Scripting Games profile online.

I am now famous!

Thursday, January 25, 2007

PowerShell and Amazon Web Services (AWS) - part 2

In part 1 I blogged about getting the current sale price for a book on Amazon.com.

I've slightly extended the script to now get me the Amazon price, as well as any external parties selling them based on classifications of "new", "used", and "collectible".  I'm not sure how the "new" category can be used, but it must be external parties who've actually received books directly from the publisher.

I've consulted the Amazon E-Commerce Service (ECS) SDK to get the XML tags I need.  Its cool that I can directly get the lowest price instead of having to iterate through entries.

I'm still looking up Microsoft Windows PowerShell Programing for the Absolute Beginner.

Here's my code for lookup_prices.ps1:

$asin=$args[0]

$url = "http://webservices.amazon.com/onca/xml?Service=AWSECommerceService"
$url += "&AWSAccessKeyId=enter_your_aws_key_here"
$url += "&Operation=ItemLookup"
$url += "&ItemId=$asin"
$url += "&ResponseGroup=Offers"

$rxml = [xml](new-object Net.WebClient).DownloadString("$url")
$amazon_price = $rxml.ItemLookupResponse.Items.Item.Offers.Offer.OfferListing.Price.Amount
$amazon_price = $amazon_price/100
write-host "Amazon price: $amazon_price"
$lowest_new_price = $rxml.ItemLookupResponse.Items.Item.OfferSummary.LowestNewPrice.Amount
$lowest_new_price = $lowest_new_price/100
write-host "Lowest new price: $lowest_new_price"
$lowest_used_price = $rxml.ItemLookupResponse.Items.Item.OfferSummary.LowestNewPrice.Amount
$lowest_used_price = $lowest_used_price/100
write-host "Lowest used price: $lowest_used_price"
$lowest_collectible_price = $rxml.ItemLookupResponse.Items.Item.OfferSummary.LowestNewPrice.Amount
$lowest_collectible_price = $lowest_collectible_price/100
write-host "Lowest collectible price: $lowest_collectible_price"

[end lookup_prices.ps1]

So, you simply call it as .\lookup_prices.ps1 some_ISBN.

PSH> .\lookup_prices.ps1 1598633546
Amazon price: 19.79
Lowest new price: 18.65
Lowest used price: 18.65
Lowest collectible price: 18.65

There, I now have the lowest available price for the book.

I'll need that to determine my asking price...

Wednesday, January 24, 2007

New beta of NetCmdlets!

/n software NetCmdlets released beta 2 of their network-related PowerShell cmdlets yesterday.

They've added a handy get-nntp cmdlet which I like.  I also like their get-http, and get-imap/send-imap cmdlets.

Definitely saves me time from trying to write my own scripts using .NET hooks.

I'll be blogging about it more, and also trying to incorporate NetCmdlets into my AWS series.

Monday, January 22, 2007

New build of PowerGadgets!

PowerGadgets has just released a new build of their cool graphical cmdlets.  I'm looking forward to trying out a new drilldown feature they've added to the out-map cmdlet.  I'm going to use this new build to represent the results of the upcoming Scripting Games MMVII.

Over the next few weeks/months, I'm going to try to blog more about PowerGadgets as well as provide some cool usage scenarios.

Friday, January 19, 2007

PowerShell and Amazon Web Services (AWS) - part 1

I have a large collection of books gathering dust.  I need to try to sell them.  I had started down trying to automate a process to list my books last year, but never finished.  I began with Perl examples from O'Reilly's Amazon Hacks.

That was then, this is now.  I want to automate this with PowerShell!

blog entry by amida168 has helped me to get started, and is the basis of my first part in a series of entries where I try to expore AWS using PowerShell.

First this is to sign up for a free AWS account free AWS account.

With my first PowerShell script, using amida168's example, I'm simply going to get a price for a book that I know the ISBN for.

aws_lookup.ps1 (I may need to work on the formatting):

$asin=$args[0]

$url = "http://webservices.amazon.com/onca/xml?Service=AWSECommerceService"
$url += "&AWSAccessKeyId=enter_your_aws_key_here"
$url += "&Operation=ItemLookup"
$url += "&ItemId=$asin"
$url += "&ResponseGroup=Offers"

$rxml = [xml](new-object Net.WebClient).DownloadString("$url")
$price = $rxml.ItemLookupResponse.Items.Item.Offers.Offer.OfferListing.Price.Amount
$price = $price/100
write-host $price

[end aws_lookup.ps1]

So, you simply call it as .\aws_lookup.ps1 some_ISBN.

For example, I'm going to lookup the price for Microsoft Windows PowerShell Programing for the Absolute Beginner:

PSH> .\lookup.ps1 1598633546
19.79

There, I've got the current selling price of the book.

From here on, I need to determine how to get the pricing for used books, whether this all works the same for amazon.ca, how to get the data from Excel, how to automate the listing of books I have, etc.  Stay tuned!

Thursday, January 18, 2007

Don Jones PowerShell webcasts!

Every 2nd Tuesday of each month (currently until the end of June), Don Jones will be putting on a PowerShell webcast.

URL: http://www.microsoft.com/events/series/donjonesscripting.mspx

[I'm not able to sign up for them right now.  Seems there are problems on the Microsoft end.]

Wednesday, January 17, 2007

Microsoft Scripting Games MMVII update

I noticed a recent update to the games site (http://www.microsoft.com/technet/scriptcenter/funzone/games/default.mspx).

Looks like they have started to profile competitors who had a perfect score last year (http://www.microsoft.com/technet/scriptcenter/funzone/games/bios2007/index.mspx).  I'm on the list.  Not being sure of what order they are going in, I could have my 5 seconds of fame maybe next week.

Again this year, I'll be writing PowerShell scripts using PowerGadgets to display World maps of the results like I did for the 2006 Games (http://marcoshaw.blogspot.com/2006/12/powergadgets-out-map-examples.html).

I don't really see the point of posting any results until the contest is over though.  I do have some ideas of things I want to add to my resulting maps.

I'm always open to suggestions...

Thursday, January 11, 2007

Back from the (almost) dead

Wow!  3 sick kids (=6 infected ears), and almost having pneumonia really took its toll on me...  This is my first post of 2007.  I promise to have something more PowerShell related by Monday.  After writing this, I'm going to post an update to my unofficial PowerShell group FAQ.