しばたテックブログ

気分で書いている技術ブログです。

PowerShell 10 Year Anniversary Celebration Eventが開催されました

イベントから既に1週間以上経ってしまいましたが、個人的な備忘録も兼ねてブログ書きます。

f:id:stknohg:20161123192936p:plain

PowerShell 10 Year Anniversary Celebration Event

イベントはPowerShell 1.0がリリースされた日からちょうど10周年となる、2016/11/14の8:00 ~ 16:00(PST)*1にChannel 9のストリーミングで行われました。
内容については以下でご覧ください。

channel9.msdn.com

ちなみにPowerShell 1.0リリース当時のブログはこちらになります。

It’s a Wrap! Windows PowerShell 1.0 Released! | PowerShell Team Blog

なお私はイベントの日程を1日勘違いしてしまいイベントを寝過ごしてしまいました...
暇な時間を見つけて少しづつ動画を観ています。

コードゴルフ

イベント中はストリーミングと同時にコードゴルフ大会が行われました。

こちらはカナダのMVPのThomas RaynerさんとWill Andersonさんにより3つのお題(Hole)が作られ、GitHub上に概要が記載されています。

github.com

大会はすでに終わっていますが、現在でもお題にチャレンジすること自体はできますのでぜひ挑戦してみてください。
私もやってみましたが結構面白かったです。

ちなみに実行環境についてのレギュレーションが記載されていませんでしたが、お題と回答を見るに最新のPowerShell(Windows10+PowerShell5.1)を前提としている様です。

以下簡単にお題の解説をしておきます。
答えは下記のリンク先から確認してください。

Hole.1

お題

PowerShell 10 Year Anniversary - Hole 1

解説

基本的にはGet-HotFixコマンドレットで得られる結果と同じものが期待されています。
ただし単純にGet-HotFixを実行した戻り値の結果は[Microsoft.Management.Infrastructure.CimInstance]にならないのでそこが最初の関門になります。
あまり短くする要素が無い様に思えたのですが、上位の回答を見たら結構すごかったです...

Hole.2

お題

PowerShell 10 Year Anniversary - Hole 2

解説

こちらは愚直に処理を書くと、

Get-ChildItem "C:\windows\System32\" -File | Select-Object Extension | Group-Object Extension | Sort-Object Count -Descending | Select-Object -First 10

な感じになります。
あとはこれをどう短くしていくか?といったところです。

Hole.3

お題

PowerShell 10 Year Anniversary - Hole 3

解説

こちらも愚直に処理を書くと、

Get-Alias | Where-Object { $_.Name.Length -lt 3 -and $_.Definition -notlike "Get-*" }

となります。
Hole 1同様にあまり短くする要素が無い様に見えるところをどう短くするか悩ましいい感じです。

動画一覧

Channel9のサイトだと時系列がわかりにくかったのでここで順に並べておきます。
まだ全部の動画を見ていないので、見終わったら少しくらいはコメントを入れるかもしれません...

0. PowerShell 10th Anniversary Celebration Kickoff

1. Keynote: PowerShell Then and Now

2. Manage Your Garden Sprinkler and Your Mood With PowerShell

3. SQL Server Cmdlets and Community Involvement

4. PowerShell Evolution

5. The Scripting Guy Talks-PowerShell Community Then and Now

6. Open Source & Community Contributions

7. PowerShell's Senior Team Remembers

8. Day in the Life of a Github maintainer and committee member

9. PowerShell For My Tesla

10. PowerShell and Azure Automation

11. PowerShell and the REST of the Things

12. Controlling Azure with a PowerShell Cloudbot

13. Provision a MineCraft Server with PowerShell DSC

14. Highlights from the PowerShell Conferences

15. Future Directions for PowerShell

16. PowerShell 10th Anniversary Wrap-Up

PowerShell Code Golf contest - status update

あと時系列的にどこか不明だったのですがコードゴルフの途中経過に関する放送です。

Update 1
Update 2

*1:日本時間だと2016/11/15 1:00 ~ 9:00