Books about modern cloud products, companies and cultures

From this tweet to links and pictures.

Domain Driven Design

In Search of Certainty: The science of our information infrastructure

Release It!

Drift into Failure: From Hunting Broken Components to Understanding Complex Systems

Systems Thinking, Third Edition: Managing Chaos and Complexity: A Platform for Designing Business Architecture

The Principles of Product Development Flow: Second Generation Lean Product Development

Antifragile: Things That Gain from Disorder

Irresistible APIs: Designing web APIs that developers will love

Cloudonomics, + Website: The Business Value of Cloud Computing

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

Images from Microsoft Bing API with PowerShell Get-BingPics

PowerShell script for searching and downloading images from the Bing API. Inspired by this Python script Images from the iTunes/App/Mac App Stores.

Grab it

I put it up on on this GitHub repository.

Note: You need a Bing API Key to make it work.

You can pipe or pass a query to Get-BingPics:

Get-BingPics powershell or echo lions tigers bears liger | Get-BingPics

The script will look for your Bing API key in $env:BingPicKey, build the url with the query (line 17) and then use Invoke-RestMethod passing the api key in the header using basic authentication (line 19).

Lines 21-23 loops through each of the found images, creating an html anchor tag, with the image. Lines 25-32 create and html snippet and {1} (line 29) is replaced with anchor tags. This string is sent to a file and then in line 34, Invoke-Item launches it in your browser.

Tracking PowerShell Gallery Downloads

The PowerShell Gallery has a Version History at the bottom of each page for the modules that are published. It’s a good quick indicator showing the versions that have been pushed, the date it was updated and the total number of downloads.

If you’re a module owner and have more than one module on the gallery, there is no PowerShell cmdlet that lets you retrieve these stats. So, you need to click through multiple web pages to get information.

PowerShell Excel Module

I added two new features to my PowerShell Excel module, a new cmdlet Import-Htmland a new parameter PassThru on the Export-Excel cmdlet.

Import-Html

Lets you scrape a URL and specify an index of a table you want to return. It converts the data to PowerShell objects and then creates a spreadsheet for you.

Needs More Info

This is a great start, it be great if you could also see the total number of downloads for the module and the number of days that version was up on the gallery.

The Script

This script uses Get-HtmlTable (Invoke-Html wraps this) which is a tweaked version of Lee Holmes Extracting Tables from PowerShell’s Invoke-WebRequest. The property Days On Gallery is calculated and add to PowerShell objects return from the gallery html table.

In the End Block, the data is exported to Excel specifying the -PassThru parameter. The -PassThru parameter returns the newly created Excel SpreadSheet to the script so it can be customized. We customize it by added a new value and formula to cells E1 and E2. In cell E2 we add a built-in Excel function, Sum, telling Excel to sum the values of column C (this is our Downloads column from the Html Table on the gallery).

This example shows how you can let PowerShell and Excel do the heavy lifting for you and play to each of their strengths.

Grab the PowerShell Excel Module

If you’ve published one or more PowerShell modules to the gallery and want to get stats on your contributions, this’ll make life easier. Plus, you can tweak the script to customize it further.

Here on the Gallery or here on GitHub