﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>  Oisin Grehan - Bare Metal PowerShell</title>
    <description>Delving into the innards of PowerShell development with no route left unexplored. PowerShell Community Extensions, PowerShell Eventing and provider/cmdlet techniques and hacks for the advanced PowerShell developer.</description>
    <link>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/BlogId/16/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>oising@gmail.com</managingEditor>
    <webMaster>do-not-reply@powershellcommunity.org</webMaster>
    <pubDate>Tue, 06 Jan 2009 02:50:59 GMT</pubDate>
    <lastBuildDate>Tue, 06 Jan 2009 02:50:59 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.4.0.39853</generator>
    <item>
      <title>Why AppDomains are not a Silver Bullet</title>
      <description>As knowledge of PowerShell increases for those new to .NET, there comes a point when people start to notice some shortcomings of the Assembly loading/unloading mechanisms of the 2.0 CLR. Namely, once you load an assembly into PowerShell to use it, you can't unload it again. The only way to remove it from memory is to restart PowerShell. Eventually, you might read something about how Assemblies can be loaded into AppDomains, and AppDomains themselves can be unloaded. This is true, but for the most part it is not much use in PowerShell unless the Types in question where specifically designed with this in mind. For those of you who understand enough of what I'm talking about to get this far without going "huh?", the following script will demonstrate some of the issues at hand...</description>
      <link>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/48/Default.aspx</link>
      <author>oising@gmail.com</author>
      <comments>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/48/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.powershellcommunity.org/Default.aspx?tabid=55&amp;EntryID=48</guid>
      <pubDate>Fri, 07 Dec 2007 23:49:37 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.powershellcommunity.org/DesktopModules/Blog/Trackback.aspx?id=48</trackback:ping>
    </item>
    <item>
      <title>Foreground/Background Swappable Downloads in PowerShell</title>
      <description>Here's another interesting use for my PowerShell Eventing Snap-In, where I'm simulating unix-style foreground/background tasks. In this case, the task is a large download using System.Net.WebClient. Just dot-source the script below and start a download using the Start-Download function, passing the url to the large file and the local path where to save your file (be sure to fully qualify the save path). The download will start immediately and show a progress bar with bytes remaining and a percentage, however you can hit Ctrl+C at any time and the download will continue in the background. You can get back to PowerShell tasks, and bring back up the progress bar by invoking Show-Progress at any time. Use Stop-Download to cancel the currently active download. Only one download can be active at a time, but this could easily be extended to support a pool of downloads (using multiple WebClient objects).</description>
      <link>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/43/Default.aspx</link>
      <author>oising@gmail.com</author>
      <comments>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/43/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.powershellcommunity.org/Default.aspx?tabid=55&amp;EntryID=43</guid>
      <pubDate>Wed, 05 Dec 2007 05:01:55 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.powershellcommunity.org/DesktopModules/Blog/Trackback.aspx?id=43</trackback:ping>
    </item>
    <item>
      <title>Using Windows Forms Controls in PowerShell #1: ListBox</title>
      <description>Using Windows Forms controls in PowerShell is a tricky thing, because it only supports very simple event handling. However, some time ago I wrote a Snap-In to allow anyone to work with .NET events, even asynchronous ones. </description>
      <link>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/40/Default.aspx</link>
      <author>oising@gmail.com</author>
      <comments>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/40/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.powershellcommunity.org/Default.aspx?tabid=55&amp;EntryID=40</guid>
      <pubDate>Sun, 02 Dec 2007 21:49:36 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.powershellcommunity.org/DesktopModules/Blog/Trackback.aspx?id=40</trackback:ping>
    </item>
    <item>
      <title>PowerShell Patterns #1</title>
      <description>It's very easy sometimes to look at the PowerShell grammar and partition it into two distinct styles: pipeline and traditional imperative script. In fact, it took a number of weeks of playing around before I realised that this is leaving out a large portion of patterns that employ a fusion of these two styles.</description>
      <link>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/39/Default.aspx</link>
      <author>oising@gmail.com</author>
      <comments>http://www.powershellcommunity.org/Blogs/CommunityBlogs/tabid/55/EntryID/39/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.powershellcommunity.org/Default.aspx?tabid=55&amp;EntryID=39</guid>
      <pubDate>Sun, 02 Dec 2007 21:18:14 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.powershellcommunity.org/DesktopModules/Blog/Trackback.aspx?id=39</trackback:ping>
    </item>
  </channel>
</rss>