PowerShell Spotlight: Yeah! It’s the Scripting Games


Summary: Teresa Wilson, Microsoft PowerShell MVP, introduces the new Scripting Games for 2015.

Hello everyone. Teresa Wilson (aka The Scripting Wife) here with this month’s PowerShell Spotlight. I am going to spill the beans about the Scripting Games with a little help from Don Jones, Windows PowerShell MVP and president of PowerShell.org. Because I am the treasurer for PowerShell.org, I get to have input occasionally, and I am always ears to the ground when something is going on in the Windows PowerShell community so I can offer assistance as I am able. I am not into reinventing the wheel, so most of this post is from Don, and it is being published on the PowerShell.org site too.

Ed (with my assistance) ran the Scripting Games for a few years. We tried all different ways to make them a better experience. Some things worked and some things did not work so well, but we did our best. One thing is very clear: There are so many scripters that the Scripting Games is too big to do alone. That is what led us to reach out to PowerShell.org and Don to manage the Games. Of course, Don knew we would still be available to help.

Now without further ado, Don Jones has the following to say…

I know a lot of folks have been wondering about when the next Scripting Games will be. It’s a complicated answer, so bear with me for a minute while I unburden my soul to you. If you prefer to skip the explanations, you can skip to the last heading to see what we’re planning.

The background

I’m not sure how long the Scripting Guys ran the Scripting Games, but it goes back at least to 2006. Then, the focus was on VBScript. It wasn’t until a year or so later that a parallel Windows PowerShell track was started, and another year or two before VBScript was discontinued. The Games back then were… well, games. They weren’t always terribly real-world, but they were fun, and they made you think.

In 2013, the last Scripting Guy standing, Ed Wilson, turned the Games over to PowerShell.org. Ed was, to put it bluntly, exhausted. Coming up with nine events in two tracks, let alone grading the thousands of entries, wrangling the assistant judges, and begging for prizes represented a couple of months out of his life—during which he was still expected to do his full-time job. So we stepped in, mindful of the trust he was placing in us, to take over and keep the tradition alive.

We’ve tried some variations on the Games, but two things became abundantly clear:

1. The real value people like in the Games is getting the individual expert feedback and scoring.

2. The one thing we simply can’t feasibly provide is individual expert feedback and scoring.

Seriously. We’d recruit a couple of dozen judges, but it’s just mind-numbing to look through entry after entry after entry after you’ve already put in a full day of work at your job. You wouldn’t want to do it. So in the end, it’d always be the same 4 or 5 stalwarts who worked for 40 or more hours (not kidding) to make sure everyone got a grade and a comment. It was insane. None of us who’ve done it for a few years ever wants to do it again—even if it’s the one thing that would save us from our robotic conquerors. We can’t handle it.

We tried to do community scoring and that was hugely unpopular. People wanted “the experts” giving feedback, not some *** from the next cubicle. We understand that, but it doesn’t mean we can physically deliver what people are looking for.

What we thought about

So we thought about a Games where we went back to focusing on puzzles. Believe me, the original Scripting Guys weren’t reviewing, grading, and commenting on every submission. Most entries went in via email, and they picked the ones they thought were winners. But the Games evolved to the point where people expected that individual feedback.

So when we shared our draft plans with a few folks, their knee-jerk reaction was universally, “WTF?!??” They struggled with the idea of a Games that didn’t include individual feedback. And when we started being honest with ourselves, we could appreciate the value in that, and how people would react if the Games eliminated the judging.

But we still can’t do the individual judging. There just aren’t enough experts with enough time. We’ve all got 50-hour a week jobs like you do, and we’re talking thousands of submissions that we’re supposed to review instead of hanging out with our friends and families.

So, there we were…kind of stuck between a rock and a hard place.

Here’s what we’re doing: Part 1

We’re going to evolve the Scripting Games into a monthly event—sort of. Each month, we’ll publish a puzzle. They won’t all necessarily be real-world, but they’ll all be designed to make you think about something important. We’ll try to describe why it’s important, too, because in some cases it won’t be super obvious. You’ll get a full month to work on your entry, and you’ll be encouraged to post it (we’ll provide posting instructions).

We’re encouraging user groups to occasionally or regularly make the monthly puzzle a part of their meetings. We’re encouraging them to publicize when they’re doing so and if they allow virtual visitors. You’ll have the opportunity to share your solution with a group of peers, work on a solution together, and give each other feedback in real-time.

That’s a hugely valuable exercise, by the way, and I encourage everyone to take advantage of the opportunity if they can. You don’t work in this field alone. Start to make some friends and colleagues—even if they’re across the globe.

The following month, we’ll post a new puzzle. We’ll also post a wrap-up for the preceding month’s puzzle. In it, we’ll offer a sample solution and an explanation for it. When possible, we’ll offer celebrity participant solutions, often from members of the Windows PowerShell team or from other MVPs. When we have volunteers willing to do so, we’ll post a “stream of consciousness” article that shares how that person tackled the problem and came to their solution. Finally, we’ll include some analysis of the entries people posted, including things we especially liked and things we didn’t like so much.

All of that should provide the learning opportunity that the Games were originally created for. You’ll have to use some critical thinking, some out-of-the-box skills, and some cleverness. You’ll get to see how other people approached the problem, and gain some new perspective. No, you won’t get an individual score or commentary—but this isn’t a certification exam, and it isn’t intended as a personal benchmark for YOU. It’s a way for all of us to learn together.

Best of all, the Scripting Games’ monthly puzzle will create an opportunity for the Games to resurface on the Hey, Scripting Guy! Blog because Ed has offered to run the monthly puzzles.

What we’re doing: Part 2

We haven’t given up on the idea of an annual, fast-paced event that includes individual feedback. It’s going to have to be a new set of volunteers who tackle that, though, and we have a few people thinking about it. I imagine it’ll be a larger-scale challenge, so that you can exercise several sets of skills and knowledge and once, and get feedback on something that’s perhaps more real-world than a puzzle. I can’t offer any timelines or promises on this; it’s a huge undertaking, and we’re still running ideas around. Heck, if you think you have a solution, share it on the Web Site Feedback Forum on PowerShell.org.

However, if you offer a solution, be prepared to volunteer to implement it. What we don’t want is, “Here’s what I’d like YOU do to, and I’ll sit back and consume that.”

“Solutions,” for us, are people, not ideas. I myself am not a community, nor are my fellow PowerShell.org board members. All of us are a community. So if this is something the community wants, the community has to pull together to build it.

User group call to action

Do you run or participate in a Windows PowerShell user group? Well, today’s your lucky day. First, why not make the monthly Scripting Games puzzle a part of your user group meetings? Invite remote visitors to come along for the ride, and increase participation by putting code front and center.

Here’s a special offer just for user groups…

We’ll be publishing the monthly puzzles at the beginning of the month (likely the first Saturday). As a user group, you can send your best joint submission directly to Ed Wilson, The Scripting Guy. He’ll select the most noteworthy user group submissions, publish them, and comment on them, raising visibility for your group and its members. He’ll also publish selected excerpts that he finds noteworthy from other user group entries. There is one caveat: Only the registered user group leader can submit the group’s entry. So if your user group is not listed on PowerShell.org, consider doing so.

So now there’s a huge reason to get involved with a user group. It provides another opportunity for you to work on code together, and have that code published in one of the highest-profile Windows PowerShell blogs in existence!

To sweeten that pot even more…

The user group that has the most entries selected over the year will be eligible for a grand prize, courtesy of PowerShell.org. You see (and this was all Ed’s idea), we really want to give people more reasons to create, run, and participate in user groups. They’re really the best way to make community happen. It all starts at a local level, even if you’re attending remotely.

Something you can do to help

Offer to write the monthly puzzle. Seriously. Drop a line to Admin over here at PowerShell.org, and include an RTF document (not a Word doc, please) with your monthly puzzle. You’ll get credit, and you’ll be giving back to the community that’s supported you as you learned Windows PowerShell.

Something else you can do

We’ve heard over and over that expert reviews are valuable to people. You can probably have an expert review without having a Scripting Games. Get together with a handful of colleagues, and invite your favorite Windows PowerShell expert to a code review hour. Have some code ready, have a Skype screen share, and let the expert pick apart what you’ve done.

Pay them. Offer $100 or $200 an hour, which is a going rate, depending on the level of expertise you’re getting. You and your friends can pool your funds. Heck, with five people offering $20 each, you’ve got $100, right? And if that expert review is truly valuable to you—well, “valuable” means you can put a value on it, and $100 an hour isn’t much.

If PowerShell.org can do something to facilitate these sessions (for example, helping you contact interested experts), let me know at the Web Site Feedback Forum, and I’ll figure something out.

In the meantime…

So while you’re waiting on that first Scripting Games, monthly edition (expect it in July), start thinking about the kinds of puzzles you’d like to see—puzzles that make people think, even if they don’t necessarily have one-and-only-one correct answer. Don’t just consume community, help create it by offering to write one of the monthly puzzles. And start thinking about how you (and we all together as a community) can do a better job of providing peer code reviews, code feedback, and other elements. I look forward to your ideas.

~Don

Thanks Don and Teresa. Look for the Scripting Games first puzzle on the first Saturday of the month. The solution will be published the first Sunday of the next month.

I invite you to follow me on Twitter and Facebook. If you have any questions, send email to me at scripter@microsoft.com, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, peace.

Ed Wilson, Microsoft Scripting Guy 


Comments (6)

  1. briantist says:

    For those who are looking for code review, I suggest having a look at the Code Review site on Stack Exchange. I monitor the PowerShell tag there looking for questions to answer (there are only 36 questions tagged powershell on the whole site), so I’d love
    to see more.
    http://codereview.stackexchange.com/questions/tagged/powershell

  2. gmf says:

    Nice! 🙂

  3. Nice. But ehm, "The solution will be published .."; there is no such thing as "THE solution" 🙂

  4. derekhans says:

    I would recommend changing the group submission requirements to not just be registered user groups with Powershell.org. There are other communities out there that want to participate, but are not structured like a normal user group and don’t need the scheduling,
    blogging or extra features that Powershell.org offers.

    Please open up group submissions to any group that wants to register as a participant of the games.

  5. tom says:

    Can’t wait to start! I’m still learning PowerShell and these games look like a cool way to really learn some more advanced things. Keep up the good work on this blog!

  6. First, let me extend my heartfelt gratitude to everyone who has contributed to the Scripting Games over the years. For me, the Scripting Games have represented an escalator for making the climb up the PowerShell learning curve something more interesting
    than traditional learning. Second, my condolences to all the volunteer judges. The high level of expectations were obviously not something easily scaled out to match the participation growth and challenge complexity. It may have not always been perfect but
    from my perspective, y’all did a great job and I appreciate the effort that was put forth.

    Now about this new format…
    I like it for two main reasons. When I submitted my first Scripting Games solutions back in 2008 I was more concerned about learning than proving my scripting omnipotence or proficiency. Now, partly due to the amount of time that’s passed and my involvement
    in the PowerShell community, I sadly find myself hesitant to submit hastily-written solutions for which my schedule affords the Scripting Games. Bottom line, I’m somewhat of a PowerShell hypocrite. I act/talk like a professional scripter but too often, my
    day job and daily activities prevent me from developing my skillset to where I’d like it to be. The once-a-year Scripting Game with lots of solutions crammed into short time period is difficult. I’m more likely and/or comfortable with exposing my deficiencies
    to a smaller, more localized group of fellow nerds. I think a User Group environment allows me to explain my thought process and hopefully make myself seem less foolish. Don, we’ve hung out socially…hopefully I was able to somewhat convince you that I wasn’t
    a total PowerShell slob.

    The second reason – add conversing with others who have similar interests, provide them the opportunity to joke and encourage one another and add a barley-derived beverage and it almost sounds like…well, fun. Something user group meetings for me as an organizer
    were difficult to consistently achieve. Providing me with a mock agenda or discussion topic every month is half the battle. All I have to do is show up and start handing out swag that I’ve had piling up in my garage.

    I see monthly solutions as a win-win and I’m onboard. Thanks to you, Teresa, Ed for the time, energy and vision.

Skip to main content