&lt;?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Articles from December 2015 on PowerShell.org - Welcome Automaters!</title><link>https://powershell.org/articles/2015/12/</link><description>Recent content in Articles from December 2015 on PowerShell.org - Welcome Automaters!</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://powershell.org/articles/2015/12/index.xml" rel="self" type="application/rss+xml"/><item><title>PowerShell.org's Nonprofit Status</title><link>https://powershell.org/articles/2015-12-29-powershell-orgs-nonprofit-status/</link><guid>https://powershell.org/articles/2015-12-29-powershell-orgs-nonprofit-status/</guid><pubDate>Tue, 29 Dec 2015 15:11:16 +0000</pubDate><description>&lt;p&gt;We learned today that The DevOps Collective, Inc., (the company that officially owns and runs PowerShell.org, the PowerShell + DevOps Global Summit, etc.) was accepted by the US Treasury as a 501(c)(3) public charity.&lt;br&gt;
That means that the company is quite literally owned by the American public now, and run by its Board of Directors. No human or business entity owns the company and its assets, which is exactly our intent. Further, no human or business entity can profit from the company, which is also our exact intent. Regardless of who&amp;rsquo;s running it, it&amp;rsquo;s now big-time illegal for any Director (for example) to just partake of the organization&amp;rsquo;s money. Previously, it was merely unethical, but completely legal, as the company was technically for-profit. So we&amp;rsquo;re right where we want to be.&lt;br&gt;
Donations to the corporation are now tax-deductible, charitable contributions. However, a &lt;em&gt;donation&lt;/em&gt; is when you get nothing of value in return; unfortunately, Summit registration fees - since Summit itself is of considerable material value - are &lt;em&gt;not&lt;/em&gt; charitable contributions. Your registration is likely still deductible as a business expense (namely, education, along with your travel expenses), something you or your organization&amp;rsquo;s accountants should determine. Sponsorships - given that sponsors don&amp;rsquo;t receive anything of material value from us - are considered deductible contributions in most cases.&lt;br&gt;
I&amp;rsquo;m very proud to have brought the organization to this point, and I want to point out that it&amp;rsquo;s due in part to Microsoft&amp;rsquo;s own recent activities, such as bringing Core CLR, the WS-MAN stack, DSC client, and other bits to non-Windows operating systems, as well as their progress in open sourcing so many critical pieces. Those activities - and our expanding focus on DevOps in general - have taken us away from being an organization that supports a commercial product (MS Windows) to a much broader organization that was qualified for this beneficial status. I also want to offer a big shout-out to my fellow Directors, and especially Jason Helmick, who put in a lot of work with our own accountants to get this all in order for the IRS.&lt;br&gt;
For the organization itself, it means our main revenue activity - Summit - is now nontaxable for us. That means we get to keep all of our money to spend on organizational operating expenses, instead of losing some of it to taxes. That gives us a 15-25% boost in being able to operate our TeamCity public build server, this very website, our TechSession webinars, and other activities. This new status also, I believe, places us firmly on a path toward long-term existence. PowerShell.org is now, in a very binding legal way, something _we all own, _and something it&amp;rsquo;s on all of us to continue growing and supporting.&lt;br&gt;
Thank you for that support, and Happy New Year!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>We learned today that The DevOps Collective, Inc., (the company that officially owns and runs PowerShell.org, the PowerShell + DevOps Global Summit, etc.) was accepted by the US Treasury as a 501(c)(3) public charity.<br>
That means that the company is quite literally owned by the American public now, and run by its Board of Directors. No human or business entity owns the company and its assets, which is exactly our intent. Further, no human or business entity can profit from the company, which is also our exact intent. Regardless of who&rsquo;s running it, it&rsquo;s now big-time illegal for any Director (for example) to just partake of the organization&rsquo;s money. Previously, it was merely unethical, but completely legal, as the company was technically for-profit. So we&rsquo;re right where we want to be.<br>
Donations to the corporation are now tax-deductible, charitable contributions. However, a <em>donation</em> is when you get nothing of value in return; unfortunately, Summit registration fees - since Summit itself is of considerable material value - are <em>not</em> charitable contributions. Your registration is likely still deductible as a business expense (namely, education, along with your travel expenses), something you or your organization&rsquo;s accountants should determine. Sponsorships - given that sponsors don&rsquo;t receive anything of material value from us - are considered deductible contributions in most cases.<br>
I&rsquo;m very proud to have brought the organization to this point, and I want to point out that it&rsquo;s due in part to Microsoft&rsquo;s own recent activities, such as bringing Core CLR, the WS-MAN stack, DSC client, and other bits to non-Windows operating systems, as well as their progress in open sourcing so many critical pieces. Those activities - and our expanding focus on DevOps in general - have taken us away from being an organization that supports a commercial product (MS Windows) to a much broader organization that was qualified for this beneficial status. I also want to offer a big shout-out to my fellow Directors, and especially Jason Helmick, who put in a lot of work with our own accountants to get this all in order for the IRS.<br>
For the organization itself, it means our main revenue activity - Summit - is now nontaxable for us. That means we get to keep all of our money to spend on organizational operating expenses, instead of losing some of it to taxes. That gives us a 15-25% boost in being able to operate our TeamCity public build server, this very website, our TechSession webinars, and other activities. This new status also, I believe, places us firmly on a path toward long-term existence. PowerShell.org is now, in a very binding legal way, something _we all own, _and something it&rsquo;s on all of us to continue growing and supporting.<br>
Thank you for that support, and Happy New Year!</p>
]]></content:encoded></item><item><title>My Favorite DSC Feature Suggestions on UserVoice (upvote!)</title><link>https://powershell.org/articles/2015-12-28-my-favorite-dsc-feature-suggestions-on-uservoice-upvote/</link><guid>https://powershell.org/articles/2015-12-28-my-favorite-dsc-feature-suggestions-on-uservoice-upvote/</guid><pubDate>Mon, 28 Dec 2015 19:35:27 +0000</pubDate><description>&lt;p&gt;Hopefully, you&amp;rsquo;re aware that Microsoft is moving to UserVoice for accepting feature requests and bugs. &lt;a href="https://windowsserver.uservoice.com/forums/301869-powershell/category/148047-desired-state-configuration-dsc"&gt;DSC in particular has 30-odd suggestions at present&lt;/a&gt;, and I thought I&amp;rsquo;d run through some of my fav&amp;rsquo;s. Log in and up-vote the ones you like, or add comments to expand the discussion!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088780-add-maintenance-window-awareness-to-dsc-lcm"&gt;Add Maintenance Windows Awareness to DSC/LCM&lt;/a&gt;. This is one of mine, but it came from several customer suggestions.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088516-change-from-edb-file-to-sql-server-database-for-de"&gt;Change the Pull Server database to SQL Server&lt;/a&gt;. Broadly, this is a great idea. In theory, you should be able to modify the web.config file and direct it to a SQL Server already, but nobody knows the database schema that the pull server expects.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088813-enable-proactive-validation-of-partial-configurati"&gt;Refactor the LCM&amp;rsquo;s validation logic&lt;/a&gt;. This is another of mine, and it&amp;rsquo;s crucial. Right now, only the LCM can validate multiple partial configs and tell you if there&amp;rsquo;s a validation problem like a duplicate key. This means our only possible point of failure is the target node, which is the worst possible place for that to be. Factoring the logic out would let us built a pull server that could combine multiple configurations _server-side, _and spit out a combined, pre-validated MOF for the target to consume. We could also use the configuration logic to manually combine and validate MOFs in a test or RSoP mode, perhaps with a cmdlet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There&amp;rsquo;s plenty more - have a look, vote for ones you like, and add your own suggestions! And there&amp;rsquo;s a lot more besides DSC in there - see anything that you think is important?&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Hopefully, you&rsquo;re aware that Microsoft is moving to UserVoice for accepting feature requests and bugs.<a href="https://windowsserver.uservoice.com/forums/301869-powershell/category/148047-desired-state-configuration-dsc">DSC in particular has 30-odd suggestions at present</a>, and I thought I&rsquo;d run through some of my fav&rsquo;s. Log in and up-vote the ones you like, or add comments to expand the discussion!</p><ul><li><a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088780-add-maintenance-window-awareness-to-dsc-lcm">Add Maintenance Windows Awareness to DSC/LCM</a>. This is one of mine, but it came from several customer suggestions.</li><li><a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088516-change-from-edb-file-to-sql-server-database-for-de">Change the Pull Server database to SQL Server</a>. Broadly, this is a great idea. In theory, you should be able to modify the web.config file and direct it to a SQL Server already, but nobody knows the database schema that the pull server expects.</li><li><a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088813-enable-proactive-validation-of-partial-configurati">Refactor the LCM&rsquo;s validation logic</a>. This is another of mine, and it&rsquo;s crucial. Right now, only the LCM can validate multiple partial configs and tell you if there&rsquo;s a validation problem like a duplicate key. This means our only possible point of failure is the target node, which is the worst possible place for that to be. Factoring the logic out would let us built a pull server that could combine multiple configurations _server-side, _and spit out a combined, pre-validated MOF for the target to consume. We could also use the configuration logic to manually combine and validate MOFs in a test or RSoP mode, perhaps with a cmdlet.</li></ul><p>There&rsquo;s plenty more - have a look, vote for ones you like, and add your own suggestions! And there&rsquo;s a lot more besides DSC in there - see anything that you think is important?</p>
]]></content:encoded></item><item><title>Microsoft's Brave New World Needs Version Numbers</title><link>https://powershell.org/articles/2015-12-28-microsofts-brave-new-world-needs-version-numbers/</link><guid>https://powershell.org/articles/2015-12-28-microsofts-brave-new-world-needs-version-numbers/</guid><pubDate>Mon, 28 Dec 2015 19:21:23 +0000</pubDate><description>&lt;p&gt;In Microsoft&amp;rsquo;s brave new world of agile, more-frequent software releases, including numerous pre-release cycles&amp;hellip; Microsoft needs to rethink the way it communicates versioning.&lt;br&gt;
Windows Management Framework (WMF) v5 has, for me, been pretty much the perfect example of what &lt;em&gt;not&lt;/em&gt; to do, and the perfect example of Microsoft still shoehorning itself into old nomenclature that no longer fills the bill. I know a bunch of folks on the PowerShell team are probably still trying to figure out what works, too, so this isn&amp;rsquo;t meant to be a hammer-on-&amp;rsquo;em post, but WMF5&amp;rsquo;s lifecycle was, from a versioning perspective, pretty hellish.&lt;br&gt;
We had several &amp;ldquo;technology preview&amp;rdquo; releases, which were simply named after their month of release. April 2015. November. Whatever. It was really difficult from within the product - e.g., via $PSVersionTable - to tell which one you were running, which made helping people difficult. None of these were supported in production until the &amp;ldquo;WMF5 Production Preview&amp;rdquo; released in late 2015, and in December we got &amp;ldquo;RTM&amp;rdquo; code. RTM means &amp;ldquo;Released to Manufacturing,&amp;rdquo; which is kind of absurd as a milestone, because there&amp;rsquo;s literally zero actual manufacturing going on. It&amp;rsquo;s just a word Microsoft is used to using. Windows 10 shipped with a production-supported version of WMF5, but it still wasn&amp;rsquo;t &amp;ldquo;final,&amp;rdquo; meaning RTM WMF is better than what shipped with the RTM OS. God willing, what ships in Windows Server 2016 will be v5.1 or something, because if we get yet another 5.0 release folks are going to start throwing up their hands and quitting.&lt;br&gt;
Now that Microsoft&amp;rsquo;s all lovey-huggy with open source and Linux and stuff, can we just copy what those guys do?&lt;br&gt;
Every time you release code, increment the version number. It&amp;rsquo;s that simple. There&amp;rsquo;s no &amp;ldquo;production preview,&amp;rdquo; there&amp;rsquo;s just &amp;ldquo;5.3.&amp;rdquo; And you maintain a list of what&amp;rsquo;s supported in production. If 5.3 isn&amp;rsquo;t a production milestone, fine - say so. But it&amp;rsquo;s still a real version, because it was released unto the world. The next release is 5.4. Then 5.5. And maybe 5.6 is supported in production, but once 5.7 is out, 5.6 remains supported for only 90 days. Or whatever. Just have a list of what&amp;rsquo;s supported, and increment the version number every time you release it. 5.8 might only last a week before someone finds some heinous bug and releases 5.9 - that&amp;rsquo;s fine. After that comes 5.10, and then 5.11, and so on.&lt;br&gt;
6.0 is the first release of a major new evolution in the product, and it&amp;rsquo;s probably a &amp;ldquo;preview&amp;rdquo; release. 6.1 will be a bit better, with fewer bugs and more features nailed down, but it won&amp;rsquo;t be until maybe 6.5 that we get a &amp;ldquo;supported in production&amp;rdquo; release.&lt;br&gt;
All of this is a &lt;strong&gt;lot easier to keep track of&lt;/strong&gt; than vague &amp;ldquo;version&amp;rdquo; numbers like &amp;ldquo;April 2016 Production Preview.&amp;rdquo;&lt;br&gt;
And while we&amp;rsquo;re at it, let&amp;rsquo;s have a Get-PSVersionInfo cmdlet. It can wrap around the existing $PSVersionTable variable, of course, but it can also ping a web service on Microsoft.com to tell you what the &lt;em&gt;latest&lt;/em&gt; version is, what the &lt;em&gt;latest supported&lt;/em&gt; version is, and whether or not your current version is supported in production. OMG, that would be _wonderful. _&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>In Microsoft&rsquo;s brave new world of agile, more-frequent software releases, including numerous pre-release cycles&hellip; Microsoft needs to rethink the way it communicates versioning.<br>
Windows Management Framework (WMF) v5 has, for me, been pretty much the perfect example of what <em>not</em> to do, and the perfect example of Microsoft still shoehorning itself into old nomenclature that no longer fills the bill. I know a bunch of folks on the PowerShell team are probably still trying to figure out what works, too, so this isn&rsquo;t meant to be a hammer-on-&rsquo;em post, but WMF5&rsquo;s lifecycle was, from a versioning perspective, pretty hellish.<br>
We had several &ldquo;technology preview&rdquo; releases, which were simply named after their month of release. April 2015. November. Whatever. It was really difficult from within the product - e.g., via $PSVersionTable - to tell which one you were running, which made helping people difficult. None of these were supported in production until the &ldquo;WMF5 Production Preview&rdquo; released in late 2015, and in December we got &ldquo;RTM&rdquo; code. RTM means &ldquo;Released to Manufacturing,&rdquo; which is kind of absurd as a milestone, because there&rsquo;s literally zero actual manufacturing going on. It&rsquo;s just a word Microsoft is used to using. Windows 10 shipped with a production-supported version of WMF5, but it still wasn&rsquo;t &ldquo;final,&rdquo; meaning RTM WMF is better than what shipped with the RTM OS. God willing, what ships in Windows Server 2016 will be v5.1 or something, because if we get yet another 5.0 release folks are going to start throwing up their hands and quitting.<br>
Now that Microsoft&rsquo;s all lovey-huggy with open source and Linux and stuff, can we just copy what those guys do?<br>
Every time you release code, increment the version number. It&rsquo;s that simple. There&rsquo;s no &ldquo;production preview,&rdquo; there&rsquo;s just &ldquo;5.3.&rdquo; And you maintain a list of what&rsquo;s supported in production. If 5.3 isn&rsquo;t a production milestone, fine - say so. But it&rsquo;s still a real version, because it was released unto the world. The next release is 5.4. Then 5.5. And maybe 5.6 is supported in production, but once 5.7 is out, 5.6 remains supported for only 90 days. Or whatever. Just have a list of what&rsquo;s supported, and increment the version number every time you release it. 5.8 might only last a week before someone finds some heinous bug and releases 5.9 - that&rsquo;s fine. After that comes 5.10, and then 5.11, and so on.<br>
6.0 is the first release of a major new evolution in the product, and it&rsquo;s probably a &ldquo;preview&rdquo; release. 6.1 will be a bit better, with fewer bugs and more features nailed down, but it won&rsquo;t be until maybe 6.5 that we get a &ldquo;supported in production&rdquo; release.<br>
All of this is a <strong>lot easier to keep track of</strong> than vague &ldquo;version&rdquo; numbers like &ldquo;April 2016 Production Preview.&rdquo;<br>
And while we&rsquo;re at it, let&rsquo;s have a Get-PSVersionInfo cmdlet. It can wrap around the existing $PSVersionTable variable, of course, but it can also ping a web service on Microsoft.com to tell you what the <em>latest</em> version is, what the<em>latest supported</em> version is, and whether or not your current version is supported in production. OMG, that would be _wonderful. _</p><p>`PS C:&gt; Get-PSVersionInfo
Name Value</p><hr><p>PSVersion 5.8
ProductionOK False
LatestPSVersion 6.0
LatestProductionPSVer 5.9
`This tells me that I have 5.8, and it isn&rsquo;t supported in production at this time. I can get 5.9, which is supported in production, although there&rsquo;s a newer 6.0 which obviously isn&rsquo;t supported in production.<br>
So please.<a href="https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11226561-version-numbering-for-all-releases">Vote for this on UserVoice</a>.</p>
]]></content:encoded></item><item><title>PowerShell News Roundup (There's Been a Lot of it)</title><link>https://powershell.org/articles/2015-12-21-powershell-news-roundup-theres-been-a-lot-of-it/</link><guid>https://powershell.org/articles/2015-12-21-powershell-news-roundup-theres-been-a-lot-of-it/</guid><pubDate>Mon, 21 Dec 2015 18:37:50 +0000</pubDate><description>&lt;p&gt;There&amp;rsquo;ve been so many under-the-radar announcements and news bits about PowerShell, that I thought it&amp;rsquo;d be worth a quick start-of-the-week, pre-holiday roundup.&lt;br&gt;
First off, the big news is that **&lt;a href="http://blogs.msdn.com/b/powershell/archive/2015/12/16/windows-management-framework-wmf-5-0-rtm-is-now-available.aspx"&gt;Windows Management Framework v5 has been released to manufacturing (RTM)&lt;/a&gt;. **Not that there&amp;rsquo;s any real &amp;ldquo;manufacturing&amp;rdquo; anymore, but this means we&amp;rsquo;ve hit the milestone where it&amp;rsquo;s &amp;ldquo;done.&amp;rdquo; Now, if Microsoft is smart, whatever WMF ships with Win2016 will be &amp;ldquo;5.1&amp;rdquo; or something, so we can all keep track of what&amp;rsquo;s what. Fingers crossed on that.&lt;br&gt;
Next, and you may have missed this, &lt;strong&gt;Microsoft is moving away from Connect and over to UserVoice&lt;/strong&gt; for many products, and &lt;a href="http://blogs.msdn.com/b/powershell/archive/2015/12/14/improving-the-powershell-feedback-experience-with-uservoice.aspx"&gt;PowerShell is now amongst them&lt;/a&gt;. Spread the word on this, because feedback is super-important, the team _actually does listen, _and UserVoice is now where it&amp;rsquo;ll happen.&lt;br&gt;
In the continuing move to open source, the PowerShell team **&lt;a href="http://blogs.msdn.com/b/powershell/archive/2015/12/07/powershell-tests-released-on-github.aspx"&gt;released a bunch of their tests on GitHub&lt;/a&gt;. **These are some of the tests they use to test PowerShell itself, and the ability for everyone to now contribute to those means the team can produce more error free code for us. This is a big deal, and proves this isn&amp;rsquo;t your grandfather&amp;rsquo;s Microsoft anymore.&lt;br&gt;
The **&lt;a href="http://blogs.msdn.com/b/powershell/archive/2015/11/03/the-new-home-of-dsc-documentation.aspx"&gt;DSC Documentation has also been open sourced&lt;/a&gt;, **meaning we can all finally contribute to that. Yeah, we all know Microsoft should be producing their own docs - and they are - but this lets us correct errors, add examples and expansions, and fill in the gaps Microsoft may have to leave. They&amp;rsquo;re not a bundle of infinite resources, after all, and this finally lets us help each other in a more effective way.&lt;br&gt;
The &lt;strong&gt;&lt;a href="http://powershellsummit.org"&gt;PowerShell + DevOps Global Summit 2016&lt;/a&gt;&lt;/strong&gt; is about 1/3 sold-out. Currently, only 4-day registration is available. In February, we&amp;rsquo;ll begin offering any remaining seats for 3-day attendance as well as 4-day. We don&amp;rsquo;t recommend waiting much longer, because when we hit most people&amp;rsquo;s new fiscal year next month, it&amp;rsquo;ll be downhill to &amp;ldquo;sold out&amp;rdquo; again. Remember that registration cuts off at the beginning of March 2016, too.&lt;br&gt;
Finally, &lt;strong&gt;the Scripting Games puzzles&lt;/strong&gt; continue to be posted at the start of each month (usually the first Saturday). We&amp;rsquo;re actively looking for a moderator to take over the process of collecting puzzle submissions from the community, coordinating puzzle and solution posting, and reviewing community submissions for noteworthy ones to call out. If you&amp;rsquo;re interested, drop an e-mail to admin here at PowerShell.org. We already have content for January and February 2016, and are also looking for puzzle submissions. Drop an e-mail if you&amp;rsquo;d like to contribute a puzzle and a solution.&lt;br&gt;
Happy Holidays from everyone here at PowerShell.org, and we wish you all the best in the coming new year!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>There&rsquo;ve been so many under-the-radar announcements and news bits about PowerShell, that I thought it&rsquo;d be worth a quick start-of-the-week, pre-holiday roundup.<br>
First off, the big news is that **<a href="http://blogs.msdn.com/b/powershell/archive/2015/12/16/windows-management-framework-wmf-5-0-rtm-is-now-available.aspx">Windows Management Framework v5 has been released to manufacturing (RTM)</a>. **Not that there&rsquo;s any real &ldquo;manufacturing&rdquo; anymore, but this means we&rsquo;ve hit the milestone where it&rsquo;s &ldquo;done.&rdquo; Now, if Microsoft is smart, whatever WMF ships with Win2016 will be &ldquo;5.1&rdquo; or something, so we can all keep track of what&rsquo;s what. Fingers crossed on that.<br>
Next, and you may have missed this, <strong>Microsoft is moving away from Connect and over to UserVoice</strong> for many products, and<a href="http://blogs.msdn.com/b/powershell/archive/2015/12/14/improving-the-powershell-feedback-experience-with-uservoice.aspx">PowerShell is now amongst them</a>. Spread the word on this, because feedback is super-important, the team _actually does listen, _and UserVoice is now where it&rsquo;ll happen.<br>
In the continuing move to open source, the PowerShell team **<a href="http://blogs.msdn.com/b/powershell/archive/2015/12/07/powershell-tests-released-on-github.aspx">released a bunch of their tests on GitHub</a>. **These are some of the tests they use to test PowerShell itself, and the ability for everyone to now contribute to those means the team can produce more error free code for us. This is a big deal, and proves this isn&rsquo;t your grandfather&rsquo;s Microsoft anymore.<br>
The **<a href="http://blogs.msdn.com/b/powershell/archive/2015/11/03/the-new-home-of-dsc-documentation.aspx">DSC Documentation has also been open sourced</a>, **meaning we can all finally contribute to that. Yeah, we all know Microsoft should be producing their own docs - and they are - but this lets us correct errors, add examples and expansions, and fill in the gaps Microsoft may have to leave. They&rsquo;re not a bundle of infinite resources, after all, and this finally lets us help each other in a more effective way.<br>
The <strong><a href="http://powershellsummit.org">PowerShell + DevOps Global Summit 2016</a></strong> is about 1/3 sold-out. Currently, only 4-day registration is available. In February, we&rsquo;ll begin offering any remaining seats for 3-day attendance as well as 4-day. We don&rsquo;t recommend waiting much longer, because when we hit most people&rsquo;s new fiscal year next month, it&rsquo;ll be downhill to &ldquo;sold out&rdquo; again. Remember that registration cuts off at the beginning of March 2016, too.<br>
Finally, <strong>the Scripting Games puzzles</strong> continue to be posted at the start of each month (usually the first Saturday). We&rsquo;re actively looking for a moderator to take over the process of collecting puzzle submissions from the community, coordinating puzzle and solution posting, and reviewing community submissions for noteworthy ones to call out. If you&rsquo;re interested, drop an e-mail to admin here at PowerShell.org. We already have content for January and February 2016, and are also looking for puzzle submissions. Drop an e-mail if you&rsquo;d like to contribute a puzzle and a solution.<br>
Happy Holidays from everyone here at PowerShell.org, and we wish you all the best in the coming new year!</p>
]]></content:encoded></item><item><title>Recap of the Dec 2015 PowerShell Editor Services Hack Week</title><link>https://powershell.org/articles/2015-12-15-recap-of-the-dec-2015-powershell-editor-services-hack-week/</link><guid>https://powershell.org/articles/2015-12-15-recap-of-the-dec-2015-powershell-editor-services-hack-week/</guid><pubDate>Wed, 16 Dec 2015 01:30:17 +0000</pubDate><description>&lt;p&gt;Thanks to all those who participated in the PowerShell Editor Services Hack Week last week!  Much progress was made on fixing bugs and adding new features to both &lt;a href="https://github.com/PowerShell/PowerShellEditorServices"&gt;PowerShell Editor Services&lt;/a&gt; and the &lt;a href="https://github.com/PowerShell/vscode-powershell"&gt;PowerShell extension for Visual Studio Code&lt;/a&gt;.  Here&amp;rsquo;s a quick summary of the contributions that were made during the week:&lt;br&gt;
&lt;strong&gt;Variable Display Improvements in the Debugger&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://twitter.com/r_keith_hill"&gt;Keith Hill&lt;/a&gt; made many great improvements to how we display variable contents in the Visual Studio Code debugger.  First of all, he added support for variable scopes other than just &amp;ldquo;Local&amp;rdquo; as we had before.  You can now inspect variables from both the Global and Script scopes.  You will also see a special &amp;ldquo;Auto&amp;rdquo; section which filters the set of variables down to those that were defined in the current scope.  This is really helpful for quickly checking the state of the variables in your functions!&lt;br&gt;
&lt;a href="https://powershell.org/wp-content/uploads/2015/12/keith_auto.png"&gt;&lt;img src="https://powershell.org/wp-content/uploads/2015/12/keith_auto.png" alt="keith_auto"&gt;&lt;/a&gt;&lt;br&gt;
He also added greatly improved the variable value display for collections such as arrays and dictionaries and also objects which implement the ToString() method in .NET.  You will now see much greater detail for these variables in the debugger:&lt;br&gt;
&lt;a href="https://powershell.org/wp-content/uploads/2015/12/keith_vars.png"&gt;&lt;img src="https://powershell.org/wp-content/uploads/2015/12/keith_vars.png" alt="keith_vars"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;New Expand Aliases Command&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://twitter.com/dfinke"&gt;Doug Finke&lt;/a&gt; contributed a new &amp;ldquo;Expand Aliases&amp;rdquo; command which searches your script file or selection for the use of cmdlet aliases.  For any alias it finds, it replaces the text with the full command name.  This is helpful for developers who want to quickly write out scripts using aliases but resolve them to their command names before committing to source control.&lt;br&gt;
Here&amp;rsquo;s a GIF of the feature in action (click to play!):&lt;br&gt;
&lt;a href="https://powershell.org/wp-content/uploads/2015/12/vscodeExpandAlias2.gif"&gt;&lt;img src="https://powershell.org/wp-content/uploads/2015/12/vscodeExpandAlias2-628x360.gif" alt="Demo of Expand Alias in VS Code"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Sublime Text Editor Integration&lt;/strong&gt;&lt;br&gt;
Work on the integration of PowerShell Editor Services in Sublime Text has progressed quite well this week.  The basic protocol implementation is now working, enabling language features to be integrated over time.  I&amp;rsquo;ve also implemented basic file management support so that opened files are sent to Editor Services for syntax checking and semantic analysis.  From this point it&amp;rsquo;s just a matter of integrating the language features of PowerShell Editor Services into Sublime&amp;rsquo;s UI using its &lt;a href="http://www.sublimetext.com/docs/3/api_reference.html"&gt;plugin API&lt;/a&gt;.&lt;br&gt;
Check out the current code in the &lt;a href="https://github.com/daviwil/SublimePowerShell/tree/editor-services"&gt;editor-services branch of my fork&lt;/a&gt; of the PowerShell Sublime Text package.  Once this effort is stable enough for an initial release, I&amp;rsquo;ll be submitting a PR back to the &lt;a href="https://github.com/SublimeText/PowerShell"&gt;original PowerShell Sublime Text package repo&lt;/a&gt; and future work will continue there.&lt;br&gt;
&lt;strong&gt;Atom Editor Integration&lt;/strong&gt;&lt;br&gt;
Some work was started on an integration with the Atom editor but it was quickly determine that Atom&amp;rsquo;s APIs for language features were to sparse to make quick progress.  However, with the experience gained from the Sublime Text integration, future work on the Atom integration should be much easier.  Expect to see more effort in this area in the first half of 2016.&lt;br&gt;
&lt;strong&gt;Miscellaneous Improvements&lt;/strong&gt;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Thanks to all those who participated in the PowerShell Editor Services Hack Week last week!  Much progress was made on fixing bugs and adding new features to both<a href="https://github.com/PowerShell/PowerShellEditorServices">PowerShell Editor Services</a> and the<a href="https://github.com/PowerShell/vscode-powershell">PowerShell extension for Visual Studio Code</a>.  Here&rsquo;s a quick summary of the contributions that were made during the week:<br><strong>Variable Display Improvements in the Debugger</strong><br><a href="https://twitter.com/r_keith_hill">Keith Hill</a> made many great improvements to how we display variable contents in the Visual Studio Code debugger.  First of all, he added support for variable scopes other than just &ldquo;Local&rdquo; as we had before.  You can now inspect variables from both the Global and Script scopes.  You will also see a special &ldquo;Auto&rdquo; section which filters the set of variables down to those that were defined in the current scope.  This is really helpful for quickly checking the state of the variables in your functions!<br><a href="https://powershell.org/wp-content/uploads/2015/12/keith_auto.png"><img src="https://powershell.org/wp-content/uploads/2015/12/keith_auto.png" alt="keith_auto"/><br>
He also added greatly improved the variable value display for collections such as arrays and dictionaries and also objects which implement the ToString() method in .NET.  You will now see much greater detail for these variables in the debugger:<br><a href="https://powershell.org/wp-content/uploads/2015/12/keith_vars.png"><img src="https://powershell.org/wp-content/uploads/2015/12/keith_vars.png" alt="keith_vars"/><br><strong>New Expand Aliases Command</strong><br><a href="https://twitter.com/dfinke">Doug Finke</a> contributed a new &ldquo;Expand Aliases&rdquo; command which searches your script file or selection for the use of cmdlet aliases.  For any alias it finds, it replaces the text with the full command name.  This is helpful for developers who want to quickly write out scripts using aliases but resolve them to their command names before committing to source control.<br>
Here&rsquo;s a GIF of the feature in action (click to play!):<br><a href="https://powershell.org/wp-content/uploads/2015/12/vscodeExpandAlias2.gif"><img src="https://powershell.org/wp-content/uploads/2015/12/vscodeExpandAlias2-628x360.gif" alt="Demo of Expand Alias in VS Code"/><br><strong>Sublime Text Editor Integration</strong><br>
Work on the integration of PowerShell Editor Services in Sublime Text has progressed quite well this week.  The basic protocol implementation is now working, enabling language features to be integrated over time.  I&rsquo;ve also implemented basic file management support so that opened files are sent to Editor Services for syntax checking and semantic analysis.  From this point it&rsquo;s just a matter of integrating the language features of PowerShell Editor Services into Sublime&rsquo;s UI using its<a href="http://www.sublimetext.com/docs/3/api_reference.html">plugin API</a>.<br>
Check out the current code in the<a href="https://github.com/daviwil/SublimePowerShell/tree/editor-services">editor-services branch of my fork</a> of the PowerShell Sublime Text package.  Once this effort is stable enough for an initial release, I&rsquo;ll be submitting a PR back to the<a href="https://github.com/SublimeText/PowerShell">original PowerShell Sublime Text package repo</a> and future work will continue there.<br><strong>Atom Editor Integration</strong><br>
Some work was started on an integration with the Atom editor but it was quickly determine that Atom&rsquo;s APIs for language features were to sparse to make quick progress.  However, with the experience gained from the Sublime Text integration, future work on the Atom integration should be much easier.  Expect to see more effort in this area in the first half of 2016.<br><strong>Miscellaneous Improvements</strong></p><ul><li><a href="https://github.com/mswietlicki">Mateusz Świetlicki</a> improved the &ldquo;Run Selection&rdquo; command so that it will run the line that the user&rsquo;s cursor is sitting on if there is no text selection</li><li>The default set of Script Analyzer rules used for semantic analysis has been reduced to provide helpful hints without giving too much feedback.  (In the future the rule set will be completely configurable.)</li><li>A set of bugs around code completion text replacements were fixed so that using IntelliSense no longer eats your code 🙂</li></ul><p><strong>New Releases</strong><br>
As promised, I&rsquo;ve prepared new releases of both PowerShell Editor Services and the PowerShell extension for Visual Studio Code which contain all of the contributions made during these week.  The new NuGet packages for PowerShell Editor Services have been released on NuGet today (see the following changelog link).  The Visual Studio Code extension will be released once a publishing issue has been resolved.<br>
Here are the changelog entries for both releases:</p><ul><li><a href="https://github.com/PowerShell/PowerShellEditorServices/blob/master/CHANGELOG.md#030">PowerShell Editor Services 0.3.0</a></li><li><a href="https://github.com/PowerShell/vscode-powershell/blob/master/CHANGELOG.md#030">PowerShell for Visual Studio Code 0.3.0</a></li></ul><p><strong>Looking Ahead</strong><br>
Overall I am very impressed with the work that we accomplished this week even though there wasn&rsquo;t a large amount of contributors.  My guess is that PowerShell fans would feel more comfortable contributing by writing PowerShell rather than C#.  I&rsquo;ve got some ideas on how to make this possible in the future so keep an eye out for another Hack Week next year!<br>
Thanks again to all the contributors and to all the users of these projects!</p>
]]></content:encoded></item><item><title>2015-December Scripting Games Puzzle</title><link>https://powershell.org/articles/2015-12-05-december-2015-scripting-games-puzzle/</link><guid>https://powershell.org/articles/2015-12-05-december-2015-scripting-games-puzzle/</guid><pubDate>Sat, 05 Dec 2015 16:33:35 +0000</pubDate><description>&lt;p&gt;Our December 2015 puzzle comes from PowerShell.org board member Jeff Hicks, who wanted to share a little holiday fun for the season.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Our December 2015 puzzle comes from PowerShell.org board member Jeff Hicks, who wanted to share a little holiday fun for the season.</p><h2 id="instructions" class="ps-heading"><strong>Instructions</strong><a class="ps-heading-anchor" href="#instructions" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>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&rsquo;s puzzle. You can find them all at<a href="https://powershell.org/category/announcements/scripting-games/">https://powershell.org/category/announcements/scripting-games/</a>. Many puzzles will include optional challenges, that you can use to really push your skills.<br><strong>To participate</strong>, add your solution to a public Gist (<a href="http://gist.github.com">http://gist.github.com</a>; you&rsquo;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. **However, remember that you can always go back and edit your Gist. We&rsquo;ll always pull the most recent one when we display it, so there&rsquo;s no need to post multiple entries if you want to make an edit.</p><p>Don&rsquo;t forget the <a href="https://powershell.org/?p=2574">main rules and purpose of these monthly puzzles</a>, including the fact that you won&rsquo;t receive individual scoring or commentary on your entry.<br><strong>User groups are encouraged to work together</strong> on the monthly puzzles. User group leaders should submit their group&rsquo;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 &ldquo;favorite&rdquo; entries of the year will win a grand prize from PowerShell.org.</p><h2 id="our-puzzle" class="ps-heading"><strong>Our Puzzle</strong><a class="ps-heading-anchor" href="#our-puzzle" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>The 12 Days of PowerShell! It is that time of year again. Time to think about sugar plums, nutcrackers and PowerShell. Well, maybe we think about that last one all year long. Because I am a giving kind of guy, I thought I‘d give you a PowerShell present. I like to think my present is one that continues to give as it involves learning. I have a small set of challenges that shouldn’t be too difficult, should be fun and in the end educational.<br>
In PowerShell, and I think the ISE might work best for this, create this here-string.</p><p><code>$list = @" 1 Partridge in a pear tree 2 Turtle Doves 3 French Hens 4 Calling Birds 5 Golden Rings 6 Geese a laying 7 Swans a swimming 8 Maids a milking 9 Ladies dancing 10 Lords a leaping 11 Pipers piping 12 Drummers drumming "@</code>The variable $list is technically a single string with a length of 226. Using $list, see if you can solve these questions or challenges. I have written these in such a way that the solutions build on earlier answers.</p><ol><li>Split $list into a collection of entries, as you typed them, and sort the results by length. As a bonus, see if you can sort the length without the number.</li><li>Turn each line into a custom object with a properties for Count and Item.</li><li>Using your custom objects, what is the total number of all bird-related items?</li><li>What is the total count of all items?</li></ol><p>For those of you who have been extra good this year, I have a bonus challenge (or maybe you’ll think it is a lump of coal). Some people interpret The 12 Days of Christmas cumulatively. That is, on day 1 your true love got 1 item. On the second day, your true love got 2 turtle doves AND a partridge in a pair tree. This is in addition to the previous day’s presents. If you were to manually plot this in PowerShell you might do:</p><p><code>$t = 0 $t += 1 $t += 1+2 $t += 1+2+3</code>…<br>
But you should be more elegant. Using PowerShell what is the total number of cumulative gifts?</p>]]></content:encoded></item><item><title>A Real-World DevOps Implementation – and Food for Thought</title><link>https://powershell.org/articles/2015-12-03-a-real-world-devops-implementation-and-food-for-thought/</link><guid>https://powershell.org/articles/2015-12-03-a-real-world-devops-implementation-and-food-for-thought/</guid><pubDate>Thu, 03 Dec 2015 21:02:23 +0000</pubDate><description>&lt;p&gt;Want to see what a real-world, functional, production-grade DevOps environment looks like?&lt;br&gt;
Look no further than Amazon Web Services&amp;rsquo; Elastic Beanstalk (EBS). EBS is a neat combination of their EC2 IaaS product, S3 storage, and some DevOps magic. From a working perspective, it goes something like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Developer checks code into Git. A portion of this code is actually a set of EBS directives, outlining changes that need to be made to the base operating environment. This can include things like setting environment variables, installing packages, and so on.&lt;/li&gt;
&lt;li&gt;Someone indicates that what&amp;rsquo;s in GitHub is ready for release. You can do this by pushing a button in your AWS console, or by making a call to AWS&amp;rsquo; REST APIs. It&amp;rsquo;s pretty easy to automat this step.&lt;/li&gt;
&lt;li&gt;AWS spins up virtual machines, and reads the EBS directives to get that environment configured the way it&amp;rsquo;s supposed to be. The code is loaded from Git into the VMs. The VMs are registered with AWS&amp;rsquo; load balancer, and whatever old VMs were running are de-registered and destroyed. Poof, your app is up and running.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This model accomplishes the basic goal of DevOps, which is to shorten the path between developers and users. So where&amp;rsquo;s the &amp;ldquo;Ops&amp;rdquo; role in all this? Amazon did it. Their contribution to ops was to create all the automation necessary to make these steps happen. And the beauty of this model is that it supports tiered environments. For example, the above three steps might serve to spin up a testing environment, where you then run automated tests to validate the code. If the code validates, it&amp;rsquo;s pushed into a production tier - all automatically - running on a separate EBS application. So from check-in to in-production is entirely automated, and the process can be performed consistently every single time.&lt;br&gt;
Now&amp;hellip; what would this look like in a Windows world?&lt;br&gt;
In Step 1, imagine that instead of a set of EBS configuration directives - which are just text files - your developers create DSC configurations. Yes, the developers. After all, they&amp;rsquo;re the ones who are coding for the environment, so that DSC configuration documents what they need the environment to look like. You might have a second DSC configuration that documents corporate standards for security, manageability, and so on. Whatever.&lt;br&gt;
Step 3 might be Microsoft Azure Pack or System Center Virtual Machine Manager, told - perhaps via an SMA automation script - to spin up the new VMs from a base OS image. The DSC configurations are run to produce a MOF, which is injected into the new VM. The developer&amp;rsquo;s code is deployed to the VM. The VM is registered with DNS and perhaps a load balancer, which provide access to it.&lt;br&gt;
There are a couple of important details that I&amp;rsquo;ve glossed over a bit. Jeffrey Snover is fond saying, &amp;ldquo;treat servers like cattle, not pets.&amp;rdquo; But servers by their nature have to have a few unique pieces of information, right? Well&amp;hellip; yes and no. For all I know, cows make up names for themselves. I just don&amp;rsquo;t care. Take IP addresses, for example. You shouldn&amp;rsquo;t be assigning static IP addresses to servers; your DHCP system should be highly available, fault tolerant, and set up to handle servers. As you spin up a new VM, you can obviously have it register itself with DNS, so the IP address is mapped to a hostname. And speaking of that hostname - you as a human never need to know it. Or you shouldn&amp;rsquo;t. Windows will make up a host name for itself as the VM spins up, and you can - through your automation scripts - capture that host name. That lets you set up DNS CNAME records, a load balancer, or whatever else. The point is that while the server may have made up a name for itself, you don&amp;rsquo;t care. Nobody will ever address that server by its host name - they&amp;rsquo;ll use an abstraction, like a load-balanced name, or a CNAME, or something else. Your automation scripts handle the mapping for you. When a VM is spun down, automation de-registers the dying host&amp;rsquo;s name from whatever, closing the lifecycle loop.&lt;br&gt;
Interestingly, you could probably do this exact model, today, with a huge number of applications in your environment. Why bother? I mean, this model makes sense in web apps where you&amp;rsquo;re constantly spinning up and destroying VMs, but what about the majority of your apps that just run all the time without change? Well, this same model could spin them up in a disaster recovery scenario. Or in testing environments, which are constantly re-created to provide &amp;ldquo;clean&amp;rdquo; tests. Yes, it&amp;rsquo;s a lot of &lt;em&gt;investment&lt;/em&gt; up front to make it all work, but once it&amp;rsquo;s set up it just runs itself.&lt;br&gt;
And that&amp;rsquo;s what DevOps looks like.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Want to see what a real-world, functional, production-grade DevOps environment looks like?<br>
Look no further than Amazon Web Services&rsquo; Elastic Beanstalk (EBS). EBS is a neat combination of their EC2 IaaS product, S3 storage, and some DevOps magic. From a working perspective, it goes something like this:</p><ol><li>Developer checks code into Git. A portion of this code is actually a set of EBS directives, outlining changes that need to be made to the base operating environment. This can include things like setting environment variables, installing packages, and so on.</li><li>Someone indicates that what&rsquo;s in GitHub is ready for release. You can do this by pushing a button in your AWS console, or by making a call to AWS&rsquo; REST APIs. It&rsquo;s pretty easy to automat this step.</li><li>AWS spins up virtual machines, and reads the EBS directives to get that environment configured the way it&rsquo;s supposed to be. The code is loaded from Git into the VMs. The VMs are registered with AWS&rsquo; load balancer, and whatever old VMs were running are de-registered and destroyed. Poof, your app is up and running.</li></ol><p>This model accomplishes the basic goal of DevOps, which is to shorten the path between developers and users. So where&rsquo;s the &ldquo;Ops&rdquo; role in all this? Amazon did it. Their contribution to ops was to create all the automation necessary to make these steps happen. And the beauty of this model is that it supports tiered environments. For example, the above three steps might serve to spin up a testing environment, where you then run automated tests to validate the code. If the code validates, it&rsquo;s pushed into a production tier - all automatically - running on a separate EBS application. So from check-in to in-production is entirely automated, and the process can be performed consistently every single time.<br>
Now&hellip; what would this look like in a Windows world?<br>
In Step 1, imagine that instead of a set of EBS configuration directives - which are just text files - your developers create DSC configurations. Yes, the developers. After all, they&rsquo;re the ones who are coding for the environment, so that DSC configuration documents what they need the environment to look like. You might have a second DSC configuration that documents corporate standards for security, manageability, and so on. Whatever.<br>
Step 3 might be Microsoft Azure Pack or System Center Virtual Machine Manager, told - perhaps via an SMA automation script - to spin up the new VMs from a base OS image. The DSC configurations are run to produce a MOF, which is injected into the new VM. The developer&rsquo;s code is deployed to the VM. The VM is registered with DNS and perhaps a load balancer, which provide access to it.<br>
There are a couple of important details that I&rsquo;ve glossed over a bit. Jeffrey Snover is fond saying, &ldquo;treat servers like cattle, not pets.&rdquo; But servers by their nature have to have a few unique pieces of information, right? Well&hellip; yes and no. For all I know, cows make up names for themselves. I just don&rsquo;t care. Take IP addresses, for example. You shouldn&rsquo;t be assigning static IP addresses to servers; your DHCP system should be highly available, fault tolerant, and set up to handle servers. As you spin up a new VM, you can obviously have it register itself with DNS, so the IP address is mapped to a hostname. And speaking of that hostname - you as a human never need to know it. Or you shouldn&rsquo;t. Windows will make up a host name for itself as the VM spins up, and you can - through your automation scripts - capture that host name. That lets you set up DNS CNAME records, a load balancer, or whatever else. The point is that while the server may have made up a name for itself, you don&rsquo;t care. Nobody will ever address that server by its host name - they&rsquo;ll use an abstraction, like a load-balanced name, or a CNAME, or something else. Your automation scripts handle the mapping for you. When a VM is spun down, automation de-registers the dying host&rsquo;s name from whatever, closing the lifecycle loop.<br>
Interestingly, you could probably do this exact model, today, with a huge number of applications in your environment. Why bother? I mean, this model makes sense in web apps where you&rsquo;re constantly spinning up and destroying VMs, but what about the majority of your apps that just run all the time without change? Well, this same model could spin them up in a disaster recovery scenario. Or in testing environments, which are constantly re-created to provide &ldquo;clean&rdquo; tests. Yes, it&rsquo;s a lot of <em>investment</em> up front to make it all work, but once it&rsquo;s set up it just runs itself.<br>
And that&rsquo;s what DevOps looks like.</p>
]]></content:encoded></item><item><title>Join us for the PowerShell Editor Services Hack Week, Dec 6-13!</title><link>https://powershell.org/articles/2015-12-03-powershell-editor-services-hack-week-dec-6-13/</link><guid>https://powershell.org/articles/2015-12-03-powershell-editor-services-hack-week-dec-6-13/</guid><pubDate>Thu, 03 Dec 2015 15:59:08 +0000</pubDate><description>&lt;p&gt;Do you wish your favorite editor had better PowerShell editing support?  Do you have a great idea for a new feature for the PowerShell extension in Visual Studio Code?  We’re dedicating next week, &lt;strong&gt;December 6th through 13th&lt;/strong&gt; (Sunday through next Sunday), to hacking together on new features to enable better PowerShell support in any editor!&lt;br&gt;
Here’s the plan:&lt;br&gt;
&lt;strong&gt;On Sunday, December 6th at 11AM-12PM PST (7-8PM GMT)&lt;/strong&gt; I’ll host a &lt;a href="https://www.crowdcast.io/e/pseditorhackweek1215"&gt;Crowdcast event&lt;/a&gt; to give an overview of PowerShell Editor Services, the PowerShell extension for VS Code, and other general ideas for contributions that people can make.  Participants can join to ask questions and discuss potential ideas so that we can get the ball rolling.&lt;br&gt;
Once hacking has started, we’ll hang out together in the #editors channel of the &lt;a href="http://slack.poshcode.org/"&gt;PowerShell Slack Community&lt;/a&gt; so that everyone can get help on their contributions.  We’ll be using these discussions to help flesh out documentation about these projects using the &lt;a href="https://github.com/PowerShell/PowerShellEditorServices/wiki"&gt;GitHub Wiki&lt;/a&gt;.  Every question asked will be helpful so don’t be shy!&lt;br&gt;
On the week following our hacktivities, I’ll release new builds of PowerShell Editor Services and the Visual Studio Code extension containing our collective efforts.  I’ll also post a follow-up report here on PowerShell.org with details about all the contributions that were made in this time.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Do you wish your favorite editor had better PowerShell editing support?  Do you have a great idea for a new feature for the PowerShell extension in Visual Studio Code?  We’re dedicating next week,<strong>December 6th through 13th</strong> (Sunday through next Sunday), to hacking together on new features to enable better PowerShell support in any editor!<br>
Here’s the plan:<br><strong>On Sunday, December 6th at 11AM-12PM PST (7-8PM GMT)</strong> I’ll host a<a href="https://www.crowdcast.io/e/pseditorhackweek1215">Crowdcast event</a> to give an overview of PowerShell Editor Services, the PowerShell extension for VS Code, and other general ideas for contributions that people can make.  Participants can join to ask questions and discuss potential ideas so that we can get the ball rolling.<br>
Once hacking has started, we’ll hang out together in the #editors channel of the<a href="http://slack.poshcode.org/">PowerShell Slack Community</a> so that everyone can get help on their contributions.  We’ll be using these discussions to help flesh out documentation about these projects using the<a href="https://github.com/PowerShell/PowerShellEditorServices/wiki">GitHub Wiki</a>.  Every question asked will be helpful so don’t be shy!<br>
On the week following our hacktivities, I’ll release new builds of PowerShell Editor Services and the Visual Studio Code extension containing our collective efforts.  I’ll also post a follow-up report here on PowerShell.org with details about all the contributions that were made in this time.</p><h3 id="ways-to-contribute" class="ps-heading">Ways to Contribute<a class="ps-heading-anchor" href="#ways-to-contribute" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>There are many places where you can contribute even if you don’t have time to write code.  Here are some ideas:<br><strong>Improve PowerShell Editor Services</strong></p><ul><li>Write and review documentation for the .NET and JSON APIs</li><li>Help provide good PowerShell script examples for validating language intelligence features</li><li>Add language features support for files in a PowerShell module project (<a href="https://github.com/PowerShell/PowerShellEditorServices/issues/11">issue #11</a>)</li><li>Add language feature support for PowerShell classes (<a href="https://github.com/PowerShell/PowerShellEditorServices/issues/14">issue #14</a>)</li><li>Check out the<a href="https://github.com/PowerShell/PowerShellEditorServices/labels/help-wanted">help wanted issue label</a> for more ideas!</li></ul><p><strong>Improve the PowerShell extension for Visual Studio Code</strong></p><ul><li>Create new VS Code “command” features which provide helpful functionality for PowerShell</li><li>File bugs for cool features you’d like to see or examples of things that don’t work well yet</li><li>Help improve syntax highlighting for PowerShell code (issues<a href="https://github.com/PowerShell/vscode-powershell/issues/26">#26</a> and<a href="https://github.com/PowerShell/PowerShellEditorServices/issues/52">#52</a>)</li><li>Add features or fix bugs with the<a href="https://github.com/PowerShell/vscode-powershell/labels/help-wanted">help wanted issue label</a></li></ul><p><strong>Add new editor integrations for PowerShell Editor Services</strong></p><ul><li><p><a href="https://github.com/SublimeText/PowerShell">Sublime Text</a></p></li><li><p><a href="https://github.com/jugglingnutcase/language-powershell">Atom</a></p></li><li><p><a href="https://github.com/jschaf/powershell.el">Emacs</a></p></li><li><p><a href="https://github.com/PProvost/vim-ps1">Vim</a></p></li><li><p>… any other editor you’re interested in!</p></li><li><p>Use any of these projects during the hack week and provide feedback!</p></li></ul><h3 id="want-to-participate" class="ps-heading">Want to participate?<a class="ps-heading-anchor" href="#want-to-participate" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>If you&rsquo;re interested in participating, check out the <a href="https://github.com/PowerShell/PowerShellEditorServices/wiki/PowerShell-Editor-Services-Hack-Week---Dec-2015">PowerShell Editor Services Hack Week wiki page</a> and add your name to the participants list. I’ll be tracking the latest details about the event there next week.  Don’t forget to RSVP for the<a href="https://www.crowdcast.io/e/pseditorhackweek1215">Crowdcast event</a> to be reminded when it begins.<br>
Looking forward to hacking with you all next week!<br>
David Wilson<a href="https://twitter.com/daviwil">@daviwil<br/> Software Engineer at Microsoft</p>
]]></content:encoded></item></channel></rss>