Scripting Games

2015-August Scripting Games Puzzle

Don Jones
3 min read
Share:

Our August 2015 puzzler tests your ability to retrieve data from the Web. If you’ve never done this before, it can be a real brain-bender - but don’t overthink it; experts can probably pull this off in a one-liner if they’re using a newer version of PowerShell!

Instructions

The Scripting Games have been re-imagined as a monthly puzzle. We publish puzzles the first Saturday of each month, along with solutions and commentary for the previous month’s puzzle. You can find them all at https://powershell.org/category/announcements/scripting-games/. Many puzzles will include optional challenges, that you can use to really push your skills.

To participate, add your solution to a public Gist (http://gist.github.com; you’ll need a free GitHub account, which all PowerShellers should have anyway). After creating your public Gist, just copy the URL from your browser window and paste it, by itself, as a comment of this post.  **Only post one entry per person. You are not allowed to come back and post corrected or improved versions. If you do, all of your posts will be ignored. **However, remember that you can always go back and edit your Gist. We’ll always pull the most recent one when we display it, so there’s no need to post multiple entries if you want to make an edit.

Don’t forget the main rules and purpose of these monthly puzzles, including the fact that you won’t receive individual scoring or commentary on your entry.

User groups are encouraged to work together on the monthly puzzles. User group leaders should submit their group’s best entry to Ed Wilson, the Scripting Guy, via e-mail, prior to the third Saturday of the month. On the last Saturday of the month, Ed will post his favorite, along with commentary and excerpts from noteworthy entries. The user group with the most “favorite” entries of the year will win a grand prize from PowerShell.org.

 

Our Puzzle

At www.telize.com/geoip, you’ll find a JavaScript Object Notation endpoint. It’s public. Your goal is to get PowerShell to display something like the following (because this is based on your IP address, the property values will be different than what’s shown here):

`longitude latitude continent_code timezone


-115.1685 36.2212 NA America/Los_Angeles `Being able to query information from the Web - often in XML or JavaScript Object Notation - is an important integration skill. PowerShell can actually make it pretty easy. Although this challenge can be solved using a one-liner, you could also go further and write a complete “Get-GeoInformation” function around it. However, keep in mind that a function would not normally (a) limit the data that’s output or (b) pre-format the data. Why not?

Challenges:

  • Try to do this in a one-liner, but spell out all command and parameter names.
  • Write an advanced function that provides a complete Get-GeoInformation “wrapper” around this endpoint.
  • Along with your entry, include the endpoint for another XML or JavaScript Object Notation web service that you think is cool, along with a brief notation of what it does

Related Articles

Apr 1, 2018

Iron Scripter prequels: Puzzle 10 – A commentary

This is the commentary on the last Iron Scripter prequel puzzle: Iron Scripter Prequel Puzzle 10 - A commentary Next weekend will mark the start of summit and you can work on the Iron Scripter preludes - 4 daily puzzles as a lead in to the main event on Thursday 12 April 2018. If you haven’t chosen your faction yet you need to hurry

Mar 28, 2018

Iron Scripter Prequels: Puzzle 9 – A commentary

Here’s my commentary for puzzle 9: Iron Scripter Prequel Puzzle 9 - A commentary In this puzzle you were cleaning up the TEMP folder and the recycle bin plus working with scheduled tasks and/or scheduled jobs. One more commentary to come - probably early next week rather than Sunday and then we’re into the Summit and the main event.

Mar 18, 2018

Iron Scripter Preludes and Main Event: Rules and Info

Information is now available at IronScripter.us for the at-Summit events, and participants are advised to refresh themselves on the Rules. Participants attending Summit should begin choosing their faction and getting to know their teammates in the faction-specific channels of the DevOps-Summit Slack team (open only to attendees and alumni). Participants hoping to participate remotely may wish to start choosing a faction and finding a way to get in touch with them.