<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Developer Rants</title>
	<atom:link href="http://devrants.blog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://devrants.blog.com</link>
	<description>Random Musings of a Software Developer</description>
	<pubDate>Sun, 01 Nov 2009 19:51:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Powershell Rapid Documentation</title>
		<link>http://devrants.blog.com/2009/11/01/powershell-rapid-documentation/</link>
		<comments>http://devrants.blog.com/2009/11/01/powershell-rapid-documentation/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 19:51:17 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172313</guid>
		<description><![CDATA[get-command &#124; get-help &#124; ConvertTo-Html -property Name, Synopsis &#62; c:\log2.html
   


Name
Synopsis


Add-Content
Adds content to the specified item(s).


Add-History
Appends entries to the session history.


Add-Member
Adds a user-defined custom member to an instance of a Windows PowerShell object.


Add-PathVariable
PSCX Cmdlet: Adds the specified paths to the end of the named, path-oriented environment variable.


Add-PSSnapin
Adds one or more Windows PowerShell snap-ins [...]]]></description>
			<content:encoded><![CDATA[<p>get-command | get-help | ConvertTo-Html -property Name, Synopsis &gt; c:\log2.html</p>
<table border="0"> <col></col> <col></col> </p>
<tbody>
<tr>
<th>Name</th>
<th>Synopsis</th>
</tr>
<tr>
<td>Add-Content</td>
<td>Adds content to the specified item(s).</td>
</tr>
<tr>
<td>Add-History</td>
<td>Appends entries to the session history.</td>
</tr>
<tr>
<td>Add-Member</td>
<td>Adds a user-defined custom member to an instance of a Windows PowerShell object.</td>
</tr>
<tr>
<td>Add-PathVariable</td>
<td>PSCX Cmdlet: Adds the specified paths to the end of the named, path-oriented environment variable.</td>
</tr>
<tr>
<td>Add-PSSnapin</td>
<td>Adds one or more Windows PowerShell snap-ins to the current console.</td>
</tr>
<tr>
<td>Clear-Content</td>
<td>Deletes the contents of a item, such as deleting the text from a file, but does not delete the item.</td>
</tr>
<tr>
<td>Clear-Item</td>
<td>Deletes the contents of an item, but does not delete the item.</td>
</tr>
<tr>
<td>Clear-ItemProperty</td>
<td>Deletes the value of a property but it does not delete the property.</td>
</tr>
<tr>
<td>Clear-MSMQueue</td>
<td>PSCX Cmdlet: Purges all messages from a queue</td>
</tr>
<tr>
<td>Clear-Variable</td>
<td>Deletes the value of a variable.</td>
</tr>
<tr>
<td>Compare-Object</td>
<td>Compares two sets of objects.</td>
</tr>
<tr>
<td>ConvertFrom-Base64</td>
<td>PSCX Cmdlet: Converts base64 encoded string to byte array.</td>
</tr>
<tr>
<td>ConvertFrom-SecureString</td>
<td>Converts a secure string into an encrypted standard string.</td>
</tr>
<tr>
<td>Convert-Path</td>
<td>Converts a path from a Windows PowerShell path to a Windows PowerShell provider path.</td>
</tr>
<tr>
<td>ConvertTo-Base64</td>
<td>PSCX Cmdlet: Converts byte array or specified file contents to base64 string.</td>
</tr>
<tr>
<td>ConvertTo-Html</td>
<td>Creates an HTML page that represents an object or a set of objects.</td>
</tr>
<tr>
<td>ConvertTo-MacOs9LineEnding</td>
<td>PSCX Cmdlet: Converts the line endings in the specified file to Mac OS9 and earlier style line endings &#8220;\r&#8221;.</td>
</tr>
<tr>
<td>ConvertTo-SecureString</td>
<td>Converts encrypted standard strings to secure strings. It can also convert plain text to secure strings. It is used with ConvertFrom-SecureString and Read-Host.</td>
</tr>
<tr>
<td>ConvertTo-UnixLineEnding</td>
<td>PSCX Cmdlet: Converts the line endings in the specified file to Unix line endings &#8220;\n&#8221;.</td>
</tr>
<tr>
<td>ConvertTo-WindowsLineEnding</td>
<td>PSCX Cmdlet: Converts the line endings in the specified file to Windows line endings &#8220;\r\n&#8221;.</td>
</tr>
<tr>
<td>Convert-Xml</td>
<td>PSCX Cmdlet: Performs XSLT transforms on the specified XML file or XmlDocument.</td>
</tr>
<tr>
<td>Copy-Item</td>
<td>Copies an item from one location to another within a namespace.</td>
</tr>
<tr>
<td>Copy-ItemProperty</td>
<td>Copies a property and value from a specified location to another location.</td>
</tr>
<tr>
<td>Disconnect-TerminalSession</td>
<td>PSCX Cmdlet: Disconnects a specific remote desktop session on a system running Terminal Services/Remote Desktop</td>
</tr>
<tr>
<td>Expand-Archive</td>
<td>PSCX Cmdlet: Expands a compressed archive file, or ArchiveEntry object, to its constituent file(s).</td>
</tr>
<tr>
<td>Export-Alias</td>
<td>Exports information about currently-defined aliases to a file.</td>
</tr>
<tr>
<td>Export-Bitmap</td>
<td>PSCX Cmdlet: Exports bitmap objects to various formats.</td>
</tr>
<tr>
<td>Export-Clixml</td>
<td>Creates an XML-based representation of an object or objects and stores it in a file.</td>
</tr>
<tr>
<td>Export-Console</td>
<td>Exports the configuration of the current console to a file so that you can reuse or share it.</td>
</tr>
<tr>
<td>Export-Csv</td>
<td>Creates a comma-separated values (CSV) file that represents the input objects.</td>
</tr>
<tr>
<td>ForEach-Object</td>
<td>Performs an operation against each of a set of input objects.</td>
</tr>
<tr>
<td>Format-Byte</td>
<td>PSCX Cmdlet: Displays numbers in multiples of byte units.</td>
</tr>
<tr>
<td>Format-Custom</td>
<td>Uses a customized view to format the output.</td>
</tr>
<tr>
<td>Format-Hex</td>
<td>PSCX Cmdlet: Displays the contents of files or byte streams in hex format and optionally ASCII.</td>
</tr>
<tr>
<td>Format-List</td>
<td>Formats the output as a list of properties in which each property appears on a new line.</td>
</tr>
<tr>
<td>Format-Table</td>
<td>Formats the output as a table.</td>
</tr>
<tr>
<td>Format-Wide</td>
<td>Formats objects as a wide table that displays only one property of each object.</td>
</tr>
<tr>
<td>Format-Xml</td>
<td>PSCX Cmdlet: Pretty print for XML files and XmlDocument objects.</td>
</tr>
<tr>
<td>Get-Acl</td>
<td>Gets the security descriptor for a resource, such as a file or registry key.</td>
</tr>
<tr>
<td>Get-ADObject</td>
<td>PSCX Cmdlet: Search for objects in the Active Directory/Global Catalog.</td>
</tr>
<tr>
<td>Get-AdoConnection</td>
<td>PSCX Cmdlet: Create an ADO connection to any database supported by .NET on the current machine. You can enumerate available ADO.NET Data Providers with the Get-AdoDataProvider Cmdlet.</td>
</tr>
<tr>
<td>Get-AdoDataProvider</td>
<td>PSCX Cmdlet: List all registered ADO.NET Data Providers on the current machine.</td>
</tr>
<tr>
<td>Get-Alias</td>
<td>Gets the aliases for the current session.</td>
</tr>
<tr>
<td>Get-AuthenticodeSignature</td>
<td>Gets information about the Authenticode signature in a file.</td>
</tr>
<tr>
<td>Get-ChildItem</td>
<td>Gets the items and child items in one or more specified locations.</td>
</tr>
<tr>
<td>Get-Clipboard</td>
<td>PSCX Cmdlet: Gets data from the clipboard.</td>
</tr>
<tr>
<td>Get-Command</td>
<td>Gets basic information about cmdlets and about other elements of Windows PowerShell commands.</td>
</tr>
<tr>
<td>Get-Content</td>
<td>Gets the content of the item at the specified location.</td>
</tr>
<tr>
<td>Get-Credential</td>
<td>Gets a credential object based on a user name and password.</td>
</tr>
<tr>
<td>Get-Culture</td>
<td>Gets information about the regional settings on a computer.</td>
</tr>
<tr>
<td>Get-Date</td>
<td>Gets the current date and time.</td>
</tr>
<tr>
<td>Get-DhcpServer</td>
<td>PSCX Cmdlet: Gets a list of authorized DHCP servers.</td>
</tr>
<tr>
<td>Get-DomainController</td>
<td>PSCX Cmdlet: Gets domain controllers.</td>
</tr>
<tr>
<td>Get-DriveInfo</td>
<td>PSCX Cmdlet: Gets disk usage information on the system&#8217;s disk drives.</td>
</tr>
<tr>
<td>Get-EnvironmentBlock</td>
<td>PSCX Cmdlet: Lists the environment blocks stored on the environment block stack.</td>
</tr>
<tr>
<td>Get-EventLog</td>
<td>Gets information about local event logs or the entries stored in those event logs.</td>
</tr>
<tr>
<td>Get-ExecutionPolicy</td>
<td>Gets the current execution policy for the shell.</td>
</tr>
<tr>
<td>Get-FileVersionInfo</td>
<td>PSCX Cmdlet: Gets a FileVersionInfo object for the specified path.</td>
</tr>
<tr>
<td>Get-ForegroundWindow</td>
<td>PSCX Cmdlet: Returns the hWnd or handle of the window in the foreground on the current desktop. See also Set-ForegroundWindow.</td>
</tr>
<tr>
<td>Get-Hash</td>
<td>PSCX Cmdlet: Gets the hash value for the specified file or byte array via the pipeline.</td>
</tr>
<tr>
<td>Get-Help</td>
<td>Displays information about Windows PowerShell cmdlets and concepts.</td>
</tr>
<tr>
<td>Get-History</td>
<td>Gets a list of the commands entered during the current session.</td>
</tr>
<tr>
<td>Get-Host</td>
<td>Gets a reference to the current console host object. Displays Windows Powershell version and regional information by default.</td>
</tr>
<tr>
<td>Get-HttpResource</td>
<td>PSCX Cmdlet: Gets an HTTP resource or optionally the headers associated with the resource.</td>
</tr>
<tr>
<td>Get-Item</td>
<td>Gets the item at the specified location.</td>
</tr>
<tr>
<td>Get-ItemProperty</td>
<td>Retrieves the properties of a specified item.</td>
</tr>
<tr>
<td>Get-Location</td>
<td>Gets information about the current working location.</td>
</tr>
<tr>
<td>Get-Member</td>
<td>Gets information about objects or collections of objects.</td>
</tr>
<tr>
<td>Get-MountPoint</td>
<td>PSCX Cmdlet: Returns all mount points defined for a specific root path.</td>
</tr>
<tr>
<td>Get-MSMQueue</td>
<td>PSCX Cmdlet: Returns a list of all queues matching the filter parameters</td>
</tr>
<tr>
<td>Get-OpticalDriveInfo</td>
<td>PSCX Cmdlet: Get information on optical drive capabilities on the local machine.</td>
</tr>
<tr>
<td>Get-PathVariable</td>
<td>PSCX Cmdlet: Gets the specified path-oriented environment variable.</td>
</tr>
<tr>
<td>Get-PEHeader</td>
<td>PSCX Cmdlet: Gets the Portable Header information from an executable file.</td>
</tr>
<tr>
<td>Get-PfxCertificate</td>
<td>Gets information about .pfx certificate files on the computer.</td>
</tr>
<tr>
<td>Get-Privilege</td>
<td>PSCX Cmdlet: Lists privileges held by the session and their current status.</td>
</tr>
<tr>
<td>Get-Process</td>
<td>Gets the processes that are running on the local computer.</td>
</tr>
<tr>
<td>Get-PSDrive</td>
<td>Gets information about Windows PowerShell drives.</td>
</tr>
<tr>
<td>Get-PSProvider</td>
<td>Gets information about the specified Windows PowerShell provider.</td>
</tr>
<tr>
<td>Get-PSSnapin</td>
<td>Gets the Windows PowerShell snap-ins on the computer.</td>
</tr>
<tr>
<td>Get-PSSnapinHelp</td>
<td>PSCX Cmdlet: Generates a XML file containing all documentation data.</td>
</tr>
<tr>
<td>Get-Random</td>
<td>PSCX Cmdlet: Returns a random number or a byte array.</td>
</tr>
<tr>
<td>Get-ReparsePoint</td>
<td>PSCX Cmdlet: Gets NTFS reparse point data.</td>
</tr>
<tr>
<td>Get-Service</td>
<td>Gets the services on the local computer.</td>
</tr>
<tr>
<td>Get-ShortPath</td>
<td>PSCX Cmdlet: Gets the short, 8.3 name for the given path.</td>
</tr>
<tr>
<td>Get-TabExpansion</td>
<td>PSCX Cmdlet: Gets matching tab expansions.</td>
</tr>
<tr>
<td>Get-TerminalSession</td>
<td>PSCX Cmdlet: Gets information on terminal services sessions.</td>
</tr>
<tr>
<td>Get-TraceSource</td>
<td>Gets the Windows PowerShell components that are instrumented for tracing.</td>
</tr>
<tr>
<td>Get-UICulture</td>
<td>gets information about the current user interface culture for Windows PowerShell.</td>
</tr>
<tr>
<td>Get-Unique</td>
<td>Returns the unique items from a sorted list.</td>
</tr>
<tr>
<td>Get-Variable</td>
<td>Gets the variables in the current console.</td>
</tr>
<tr>
<td>Get-WmiObject</td>
<td>Gets instances of WMI classes or information about available classes.</td>
</tr>
<tr>
<td>Group-Object</td>
<td>Groups objects that contain the same value for specified properties.</td>
</tr>
<tr>
<td>Import-Alias</td>
<td>Imports an alias list from a file.</td>
</tr>
<tr>
<td>Import-Bitmap</td>
<td>PSCX Cmdlet: Loads bitmap files.</td>
</tr>
<tr>
<td>Import-Clixml</td>
<td>Imports a CLIXML file and creates corresponding objects within Windows PowerShell.</td>
</tr>
<tr>
<td>Import-Csv</td>
<td>Imports comma-separated value (CSV) files in the format produced by the Export-CSV cmdlet and returns objects that correspond to the objects represented in that CSV file.</td>
</tr>
<tr>
<td>Invoke-AdoCommand</td>
<td>PSCX Cmdlet: Execute a SQL query against an ADO.NET datasource.</td>
</tr>
<tr>
<td>Invoke-Apartment</td>
<td>PSCX Cmdlet:</td>
</tr>
<tr>
<td>Invoke-Expression</td>
<td>Runs a Windows PowerShell expression that is provided in the form of a string.</td>
</tr>
<tr>
<td>Invoke-History</td>
<td>Runs commands from the session history.</td>
</tr>
<tr>
<td>Invoke-Item</td>
<td>Invokes the provider-specific default action on the specified item.</td>
</tr>
<tr>
<td>Join-Path</td>
<td>Combines a path and child-path into a single path. The provider supplies the path delimiters.</td>
</tr>
<tr>
<td>Join-String</td>
<td>PSCX Cmdlet: Joins an array of strings into a single string.</td>
</tr>
<tr>
<td>Measure-Command</td>
<td>Measures the time it takes to run script blocks and cmdlets.</td>
</tr>
<tr>
<td>Measure-Object</td>
<td>Measures characteristics of objects and their properties.</td>
</tr>
<tr>
<td>Move-Item</td>
<td>Moves an item from one location to another.</td>
</tr>
<tr>
<td>Move-ItemProperty</td>
<td>Moves a property from one location to another.</td>
</tr>
<tr>
<td>New-Alias</td>
<td>Creates a new alias.</td>
</tr>
<tr>
<td>New-GenericObject</td>
<td>PSCX Cmdlet: Creates objects from generic types using an easier syntax. NOTE: PowerShell V2 users can use PowerShell&#8217;s built-in New-Object cmdlet. In V2, it also supports an easier syntax for creating generic objects.</td>
</tr>
<tr>
<td>New-Hardlink</td>
<td>PSCX Cmdlet: Creates filesystem hard links. The hardlink and the target must reside on the same NTFS volume.</td>
</tr>
<tr>
<td>New-Item</td>
<td>Creates a new item in a namespace.</td>
</tr>
<tr>
<td>New-ItemProperty</td>
<td>Sets a new property of an item at a location.</td>
</tr>
<tr>
<td>New-Junction</td>
<td>PSCX Cmdlet: Creates NTFS directory junctions.</td>
</tr>
<tr>
<td>New-MSMQueue</td>
<td>PSCX Cmdlet: Creates a new queue object with the defined properties</td>
</tr>
<tr>
<td>New-Object</td>
<td>Creates an instance of a .Net or COM object.</td>
</tr>
<tr>
<td>New-PSDrive</td>
<td>Installs a new WIndows PowerShell drive.</td>
</tr>
<tr>
<td>New-Service</td>
<td>Creates a new entry for a Windows Service in the registry and the Service Database.</td>
</tr>
<tr>
<td>New-Shortcut</td>
<td>PSCX Cmdlet: Creates shell shortcuts.</td>
</tr>
<tr>
<td>New-Symlink</td>
<td>PSCX Cmdlet: Creates filesystem symbolic links. Requires Microsoft Windows Vista or later.</td>
</tr>
<tr>
<td>New-TimeSpan</td>
<td>Creates a TimeSpan object.</td>
</tr>
<tr>
<td>New-Variable</td>
<td>Creates a new variable.</td>
</tr>
<tr>
<td>Out-Clipboard</td>
<td>PSCX Cmdlet: Formats text via Out-String before placing in clipboard.</td>
</tr>
<tr>
<td>Out-Default</td>
<td>Send the output to the default formatter and the default output cmdlet. This cmdlet has no effect on the formatting or output. It is a placeholder that lets you write your own Out-Default function or cmdlet.</td>
</tr>
<tr>
<td>Out-File</td>
<td>Sends output to a file.</td>
</tr>
<tr>
<td>Out-Host</td>
<td>Sends output to the command line.</td>
</tr>
<tr>
<td>Out-Null</td>
<td>Deletes output instead of sending it to the console.</td>
</tr>
<tr>
<td>Out-Printer</td>
<td>Sends output to a printer.</td>
</tr>
<tr>
<td>Out-String</td>
<td>Sends objects to the host as a series of strings.</td>
</tr>
<tr>
<td>Ping-Host</td>
<td>PSCX Cmdlet: Sends ICMP echo requests to network hosts.</td>
</tr>
<tr>
<td>Pop-EnvironmentBlock</td>
<td>PSCX Cmdlet: Pops the topmost environment block.</td>
</tr>
<tr>
<td>Pop-Location</td>
<td>Changes the current location to the location most recently pushed onto the stack. You can pop the location from the default stack or from a stack that you create by using Push-Location.</td>
</tr>
<tr>
<td>Push-EnvironmentBlock</td>
<td>PSCX Cmdlet: Pushes the current environment onto the environment block stack.</td>
</tr>
<tr>
<td>Push-Location</td>
<td>Pushes the current location onto the stack.</td>
</tr>
<tr>
<td>Read-Archive</td>
<td>PSCX Cmdlet: Enumerates compressed archives such as 7z or rar, emitting ArchiveEntry objects representing records in the archive.</td>
</tr>
<tr>
<td>Read-Host</td>
<td>Reads a line of input from the console.</td>
</tr>
<tr>
<td>Receive-MSMQMessage</td>
<td>PSCX Cmdlet: Receives the first message available in the queue. This call is synchronous, and blocks the current thread of execution until a message is available.</td>
</tr>
<tr>
<td>Remove-Item</td>
<td>Deletes the specified items.</td>
</tr>
<tr>
<td>Remove-ItemProperty</td>
<td>Deletes the property and its value from an item.</td>
</tr>
<tr>
<td>Remove-MountPoint</td>
<td>PSCX Cmdlet: Removes a mount point, dismounting the current media if any. If used against the root of a fixed drive, removes the drive letter assignment.</td>
</tr>
<tr>
<td>Remove-PSDrive</td>
<td>Removes a Windows PowerShell drive from its location.</td>
</tr>
<tr>
<td>Remove-PSSnapin</td>
<td>Removes Windows PowerShell snap-ins from the current console.</td>
</tr>
<tr>
<td>Remove-ReparsePoint</td>
<td>PSCX Cmdlet: Removes NTFS reparse junctions and symbolic links.</td>
</tr>
<tr>
<td>Remove-Variable</td>
<td>Deletes a variable and its value.</td>
</tr>
<tr>
<td>Rename-Item</td>
<td>Renames an item in a Windows PowerShell provider namespace.</td>
</tr>
<tr>
<td>Rename-ItemProperty</td>
<td>Renames a property of an item.</td>
</tr>
<tr>
<td>Resize-Bitmap</td>
<td>PSCX Cmdlet: Resizes bitmaps.</td>
</tr>
<tr>
<td>Resolve-Assembly</td>
<td>PSCX Cmdlet: Resolve and optionally import Assemblies by partial name with optional Version.</td>
</tr>
<tr>
<td>Resolve-Host</td>
<td>PSCX Cmdlet: Resolves host names to IP addresses.</td>
</tr>
<tr>
<td>Resolve-Path</td>
<td>Resolves the wildcard characters in a path and displays the path contents.</td>
</tr>
<tr>
<td>Restart-Service</td>
<td>Stops and then starts one or more services.</td>
</tr>
<tr>
<td>Resume-Service</td>
<td>Resumes one or more suspended (paused) services.</td>
</tr>
<tr>
<td>Scroll-Table</td>
<td>PSCX Cmdlet: An object oriented &#8220;pager&#8221; for PowerShell. Designed as an interactive replacement of Format-Table and Format-List. Press ? or h inside to get keyboard help.</td>
</tr>
<tr>
<td>Scroll-Text</td>
<td>PSCX Cmdlet: A less-like pager for Windows Powershell. Press ? or h inside to get keyboard help.</td>
</tr>
<tr>
<td>Select-Object</td>
<td>Selects specified properties of an object or set of objects. It can also select unique objects from an array of objects or it can select a specified number of objects from the beginning or end of an array of objects.</td>
</tr>
<tr>
<td>Select-String</td>
<td>Identifies patterns in strings.</td>
</tr>
<tr>
<td>Select-Xml</td>
<td>PSCX Cmdlet: Select elements in XML files and XmlDocument objects with XPath expressions.</td>
</tr>
<tr>
<td>Send-MSMQMessage</td>
<td>PSCX Cmdlet: Wraps an object in a Message, and places it onto the defined queue.</td>
</tr>
<tr>
<td>Send-SmtpMail</td>
<td>PSCX Cmdlet: Sends email via specified SMTP server to specified recipients.</td>
</tr>
<tr>
<td>Set-Acl</td>
<td>Changes the security descriptor of a specified resource, such as a file or a registry key.</td>
</tr>
<tr>
<td>Set-Alias</td>
<td>Creates or changes an alias (alternate name) for a cmdlet or other command element in the current Windows PowerShell session.</td>
</tr>
<tr>
<td>Set-AuthenticodeSignature</td>
<td>Uses an authenticode signature to sign a Windows PowerShell script or other file.</td>
</tr>
<tr>
<td>Set-Clipboard</td>
<td>PSCX Cmdlet: Puts the specified object into the system clipboard.</td>
</tr>
<tr>
<td>Set-Content</td>
<td>Writes or replaces the content in an item with new content.</td>
</tr>
<tr>
<td>Set-Date</td>
<td>Changes the system time on the computer to a time that you specify.</td>
</tr>
<tr>
<td>Set-ExecutionPolicy</td>
<td>Changes the user preference for the execution policy of the shell.</td>
</tr>
<tr>
<td>Set-FileTime</td>
<td>PSCX Cmdlet: Sets a file or folder&#8217;s created and last accessed/write times.</td>
</tr>
<tr>
<td>Set-ForegroundWindow</td>
<td>PSCX Cmdlet: Given an hWnd or window handle, brings that window to the foreground. Useful for restoring a window to uppermost after an application which seizes the foreground is invoked. See also Get-ForegroundWindow</td>
</tr>
<tr>
<td>Set-Item</td>
<td>Changes the value of an item to the value specified in the command.</td>
</tr>
<tr>
<td>Set-ItemProperty</td>
<td>Sets the value of a property at the specified location.</td>
</tr>
<tr>
<td>Set-Location</td>
<td>Sets the current working location to a specified location.</td>
</tr>
<tr>
<td>Set-PathVariable</td>
<td>PSCX Cmdlet: Sets the specified path-oriented environment variable.</td>
</tr>
<tr>
<td>Set-Privilege</td>
<td>PSCX Cmdlet: Adjusts privileges associated with a user (identity).</td>
</tr>
<tr>
<td>Set-PSDebug</td>
<td>Turns script debugging features on and off, sets the trace level and toggles strict mode.</td>
</tr>
<tr>
<td>Set-Service</td>
<td>Changes the display name, description, or starting mode of a service.</td>
</tr>
<tr>
<td>Set-TraceSource</td>
<td>Configures, starts, and stops a trace of Windows PowerShell components.</td>
</tr>
<tr>
<td>Set-Variable</td>
<td>Sets the value of a variable. Creates the variable if one with the requested name does not exist.</td>
</tr>
<tr>
<td>Set-VolumeLabel</td>
<td>PSCX Cmdlet: Modifies the label shown in Windows Explorer for a particular disk volume.</td>
</tr>
<tr>
<td>Skip-Object</td>
<td>PSCX Cmdlet: Skips the specified objects in the pipeline.</td>
</tr>
<tr>
<td>Sort-Object</td>
<td>Sorts objects by property values.</td>
</tr>
<tr>
<td>Split-Path</td>
<td>Returns the specified part of a path.</td>
</tr>
<tr>
<td>Split-String</td>
<td>PSCX Cmdlet: Splits a single string into an array of strings.</td>
</tr>
<tr>
<td>Start-Process</td>
<td>PSCX Cmdlet: Starts a new process.</td>
</tr>
<tr>
<td>Start-Service</td>
<td>Starts one or more stopped services.</td>
</tr>
<tr>
<td>Start-Sleep</td>
<td>Suspend shell, script, or runspace activity for the specified period of time.</td>
</tr>
<tr>
<td>Start-TabExpansion</td>
<td>PSCX Cmdlet: Initializes the tab expansion caches.</td>
</tr>
<tr>
<td>Start-Transcript</td>
<td>Creates a record of all or part of a Windows PowerShell session in a text file.</td>
</tr>
<tr>
<td>Stop-Process</td>
<td>Stops one or more running processes.</td>
</tr>
<tr>
<td>Stop-Service</td>
<td>Stops one or more running services.</td>
</tr>
<tr>
<td>Stop-TerminalSession</td>
<td>PSCX Cmdlet: Logs off a specific remote desktop session on a system running Terminal Services/Remote Desktop</td>
</tr>
<tr>
<td>Stop-Transcript</td>
<td>Stops a transcript.</td>
</tr>
<tr>
<td>Suspend-Service</td>
<td>Suspends (pauses) one or more running services.</td>
</tr>
<tr>
<td>Tail-File</td>
<td>PSCX Cmdlet: Tails the contents of a file - optionally waiting on new content.</td>
</tr>
<tr>
<td>Tee-Object</td>
<td>Pipes object input to a file or variable, then passes the input along the pipeline.</td>
</tr>
<tr>
<td>Test-Assembly</td>
<td>PSCX Cmdlet: Tests whether or not the specified file is a .NET assembly.</td>
</tr>
<tr>
<td>Test-MSMQueue</td>
<td>PSCX Cmdlet:</td>
</tr>
<tr>
<td>Test-Path</td>
<td>Determines whether all elements of a path exist.</td>
</tr>
<tr>
<td>Test-Scroll</td>
<td>PSCX Cmdlet:</td>
</tr>
<tr>
<td>Test-UserGroupMembership</td>
<td>PSCX Cmdlet: Tests whether or not a user (current user by default) is a member of the specified group name.</td>
</tr>
<tr>
<td>Test-Xml</td>
<td>PSCX Cmdlet: Tests for well formedness and optionally validates against XML Schema.</td>
</tr>
<tr>
<td>Trace-Command</td>
<td>The Trace-Command cmdlet configures and starts a trace of the specified expression or command.</td>
</tr>
<tr>
<td>Update-FormatData</td>
<td>Updates and appends format data files.</td>
</tr>
<tr>
<td>Update-TypeData</td>
<td>Updates the current extended type configuration by reloading the *.types.ps1xml files into memory.</td>
</tr>
<tr>
<td>Where-Object</td>
<td>Creates a filter that controls which objects will be passed along a command pipeline.</td>
</tr>
<tr>
<td>Write-BZip2</td>
<td>PSCX Cmdlet: Create BZIP2 format archive files from pipline or parameter input.</td>
</tr>
<tr>
<td>Write-Clipboard</td>
<td>PSCX Cmdlet: Writes objects to the clipboard using their string representation, bypassing the default PowerShell formatting.</td>
</tr>
<tr>
<td>Write-Debug</td>
<td>Writes a debug message to the host display.</td>
</tr>
<tr>
<td>Write-Error</td>
<td>Writes an object to the error pipeline.</td>
</tr>
<tr>
<td>Write-GZip</td>
<td>PSCX Cmdlet: Create GNU ZIP (GZIP) format files from pipeline or parameter input.</td>
</tr>
<tr>
<td>Write-Host</td>
<td>Displays objects by using the host user interface</td>
</tr>
<tr>
<td>Write-Output</td>
<td>Writes objects to the success pipeline.</td>
</tr>
<tr>
<td>Write-Progress</td>
<td>Displays a progress bar within a Windows PowerShell command window.</td>
</tr>
<tr>
<td>Write-Tar</td>
<td>PSCX Cmdlet: Create Tape Archive (TAR) format files from pipeline or parameter input.</td>
</tr>
<tr>
<td>Write-Verbose</td>
<td>Writes a string to the verbose display of the host.</td>
</tr>
<tr>
<td>Write-Warning</td>
<td>Writes a warning message.</td>
</tr>
<tr>
<td>Write-Zip</td>
<td>PSCX Cmdlet: Create ZIP format archive files from pipline or parameter input.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/11/01/powershell-rapid-documentation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Powershell PSCX ado sample</title>
		<link>http://devrants.blog.com/2009/10/31/powershell-pscx-ado-sample/</link>
		<comments>http://devrants.blog.com/2009/10/31/powershell-pscx-ado-sample/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 21:01:12 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172311</guid>
		<description><![CDATA[$Provider=&#8221;System.Data.SQLClient&#8221;
$ConnectionString=&#8221;Data Source=.;Initial Catalog=Northwind;Integrated Security=SSPI&#8221;
$Connection = Get-AdoConnection $Provider $ConnectionString
$Query = &#8220;SELECT * FROM Orders&#8221;
Invoke-AdoCommand -ProviderName $Provider -Connection $Connection -CommandText $Query
$Connection.Close()
]]></description>
			<content:encoded><![CDATA[<p>$Provider=&#8221;System.Data.SQLClient&#8221;<br />
$ConnectionString=&#8221;Data Source=.;Initial Catalog=Northwind;Integrated Security=SSPI&#8221;<br />
$Connection = Get-AdoConnection $Provider $ConnectionString<br />
$Query = &#8220;SELECT * FROM Orders&#8221;</p>
<p>Invoke-AdoCommand -ProviderName $Provider -Connection $Connection -CommandText $Query</p>
<p>$Connection.Close()</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/31/powershell-pscx-ado-sample/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Powershell - Getting Started</title>
		<link>http://devrants.blog.com/2009/10/30/powershell-getting-started/</link>
		<comments>http://devrants.blog.com/2009/10/30/powershell-getting-started/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 20:41:51 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172308</guid>
		<description><![CDATA[The following commands are the best starting point for Powershell:
Get-Help
Get-Command
Format-List
Get-Alias
]]></description>
			<content:encoded><![CDATA[<p>The following commands are the best starting point for Powershell:</p>
<p>Get-Help</p>
<p>Get-Command</p>
<p>Format-List</p>
<p>Get-Alias</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/30/powershell-getting-started/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rhino Mocks</title>
		<link>http://devrants.blog.com/2009/10/20/rhino-mocks/</link>
		<comments>http://devrants.blog.com/2009/10/20/rhino-mocks/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 21:04:03 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172305</guid>
		<description><![CDATA[Here is a great sample of using Rhino Mocks.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://justanothersoftwareengineer.blogspot.com/2008/04/art-of-testing.html">Here</a> is a great sample of using Rhino Mocks.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/20/rhino-mocks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NUnit Mocks</title>
		<link>http://devrants.blog.com/2009/10/20/nunit-mocks/</link>
		<comments>http://devrants.blog.com/2009/10/20/nunit-mocks/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 20:47:37 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172302</guid>
		<description><![CDATA[This is a great hello world article for the simple NUnit Mock Framework.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.emxsoftware.com/Mock+object+framework+in+Nunit+2">This</a> is a great hello world article for the simple NUnit Mock Framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/20/nunit-mocks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NVelocity</title>
		<link>http://devrants.blog.com/2009/10/11/nvelocity/</link>
		<comments>http://devrants.blog.com/2009/10/11/nvelocity/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 20:06:01 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172299</guid>
		<description><![CDATA[This is a simple templating tool.
Here is the documentation for the templates.
This is what you need to get NVelocity to work:
NVelocity.Context.IContext context = new VelocityContext();
context.Put(&#8220;name&#8221;, &#8220;Chris&#8221;);
NVelocity.Runtime.RuntimeSingleton.Init();
NVelocity.Template template = NVelocity.Runtime.RuntimeSingleton.GetTemplate(&#8220;helloworld.vm&#8221;);
StringWriter writer = new StringWriter();
template.Merge(context, writer);
Console.WriteLine(writer.ToString());
Here  is the template:
Hello $name!  Welcome to Velocity!
]]></description>
			<content:encoded><![CDATA[<p>This is a simple templating tool.</p>
<p><a href="http://velocity.apache.org/engine/releases/velocity-1.5/vtl-reference-guide.html">Here</a> is the documentation for the templates.</p>
<p>This is what you need to get NVelocity to work:</p>
<p>NVelocity.Context.IContext context = new VelocityContext();</p>
<p>context.Put(&#8220;name&#8221;, &#8220;Chris&#8221;);</p>
<p>NVelocity.Runtime.RuntimeSingleton.Init();<br />
NVelocity.Template template = NVelocity.Runtime.RuntimeSingleton.GetTemplate(&#8220;helloworld.vm&#8221;);</p>
<p>StringWriter writer = new StringWriter();</p>
<p>template.Merge(context, writer);</p>
<p>Console.WriteLine(writer.ToString());</p>
<p>Here  is the template:</p>
<p>Hello $name!  Welcome to Velocity!</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/11/nvelocity/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Service Locators versus Inversion of Control Conatiners</title>
		<link>http://devrants.blog.com/2009/10/11/service-locators-versus-inversion-of-control-conatiners/</link>
		<comments>http://devrants.blog.com/2009/10/11/service-locators-versus-inversion-of-control-conatiners/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 13:42:49 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172296</guid>
		<description><![CDATA[Of late I have been using &#8220;service locator&#8221; similar to the below:
//=== class ServiceLocator ====
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Reflection;
using System.Xml;
namespace PerfectStorm
{
/// &#60;summary&#62;
/// This is used to allow the creation of a class to be decoupled from the implementation.
/// The client only needs to know the name and have a supported interface or base class.
///
/// The [...]]]></description>
			<content:encoded><![CDATA[<p>Of late I have been using &#8220;service locator&#8221; similar to the below:</p>
<p>//=== class ServiceLocator ====</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Configuration;<br />
using System.Reflection;<br />
using System.Xml;</p>
<p>namespace PerfectStorm<br />
{<br />
/// &lt;summary&gt;<br />
/// This is used to allow the creation of a class to be decoupled from the implementation.<br />
/// The client only needs to know the name and have a supported interface or base class.<br />
///<br />
/// The only restriction this imposes on the created class is that it must have an empty<br />
/// constructor.<br />
///<br />
/// The registry may be populated automatically from the appropriate config file or the<br />
/// client may populate it itself.  By default the full name of the class is used, but<br />
/// if client-populated then any unique string identifier will do.<br />
///<br />
/// The beauty of this clarity of split is that the caller may not know any of the<br />
/// implementation details. This ensures that the implementation can be replaced only<br />
/// requiring a configuration setting.<br />
///<br />
/// &lt;/summary&gt;<br />
public static class ServiceLocator<br />
{<br />
static Dictionary&lt;string, Type&gt; _dict = new Dictionary&lt;string, Type&gt;();</p>
<p>// This will be called before the first method on the type.<br />
static ServiceLocator()<br />
{<br />
XmlNode configNode = (XmlNode)ConfigurationManager.GetSection(&#8220;PerfectStorm.ServiceLocator&#8221;);<br />
if (configNode != null)<br />
{<br />
foreach (XmlNode node in configNode.SelectNodes(&#8220;//PerfectStorm.ServiceLocator/assembly&#8221;))<br />
{<br />
LoadAssembly(node.Attributes["name"].InnerText);<br />
}<br />
}<br />
}</p>
<p>/// &lt;summary&gt;<br />
///<br />
/// &lt;/summary&gt;<br />
/// &lt;param name=&#8221;Name&#8221;&gt;&lt;/param&gt;<br />
public static void LoadAssembly(string Name)<br />
{<br />
Assembly a = Assembly.Load(&#8220;Name&#8221;);<br />
Type[] types = a.GetTypes();<br />
foreach (Type t in types)<br />
{<br />
if (!t.IsAbstract)<br />
{<br />
// Only add if can be constructed.<br />
if (t.GetConstructor(System.Type.EmptyTypes) != null)<br />
{<br />
AddType(t.FullName, t);<br />
}<br />
}<br />
}</p>
<p>}</p>
<p>/// &lt;summary&gt;<br />
/// Creates an instance of a named class that conforms to the supplied interface or base type.<br />
/// &lt;/summary&gt;<br />
/// &lt;typeparam name=&#8221;T&#8221;&gt;&lt;/typeparam&gt;<br />
/// &lt;param name=&#8221;name&#8221;&gt;&lt;/param&gt;<br />
/// &lt;returns&gt;&lt;/returns&gt;<br />
public static T CreateInstance&lt;T&gt;(string name)<br />
{<br />
Type t = null;<br />
if (_dict.ContainsKey(name))<br />
{<br />
t = _dict[name];<br />
}<br />
else<br />
{<br />
throw new Exception(string.Format(&#8220;ServiceLocator is Unable to create {0}&#8221;, name));<br />
}</p>
<p>return (T)Activator.CreateInstance(t);<br />
}</p>
<p>/// &lt;summary&gt;<br />
///<br />
/// &lt;/summary&gt;<br />
/// &lt;typeparam name=&#8221;T&#8221;&gt;&lt;/typeparam&gt;<br />
/// &lt;remarks&gt;Can only register classes with parameterless constructors.&lt;/remarks&gt;<br />
public static void Register&lt;T&gt;() where T : new()<br />
{<br />
Type type = typeof(T);<br />
AddType(type.FullName, type);<br />
}</p>
<p>/// &lt;summary&gt;<br />
///<br />
/// &lt;/summary&gt;<br />
/// &lt;param name=&#8221;Name&#8221;&gt;&lt;/param&gt;<br />
/// &lt;param name=&#8221;T&#8221;&gt;&lt;/param&gt;<br />
private static void AddType(string Name, Type T)<br />
{<br />
if (_dict.ContainsKey(Name))<br />
{<br />
_dict[Name] = T;<br />
}<br />
else<br />
{<br />
_dict.Add(Name, T);<br />
}<br />
}</p>
<p>/// &lt;summary&gt;<br />
/// Empties the registry.<br />
/// &lt;/summary&gt;<br />
/// &lt;remarks&gt;This has been included to assist unit testing.&lt;/remarks&gt;<br />
public static void Clear()<br />
{<br />
_dict.Clear();<br />
}<br />
}<br />
}</p>
<p>This allows applications to load an assembly based upon config.</p>
<p>You will also need the Trivial section handler:</p>
<p>using System;<br />
using System.Configuration;<br />
using System.Xml;<br />
using System.Xml.Serialization;<br />
using System.Xml.XPath;</p>
<p>namespace PerfectStorm<br />
{<br />
/// &lt;summary&gt;<br />
/// This allows the config section to be read as an XML node.<br />
/// &lt;/summary&gt;<br />
/// &lt;remarks&gt;<br />
/// This is identical code to that used in PerfectStorm.CodeGenLibrary but I don&#8217;t want to cause<br />
/// a dependency between the two.<br />
/// &lt;/remarks&gt;<br />
public class ServiceLocatorConfig : IConfigurationSectionHandler<br />
{<br />
/// &lt;summary&gt;<br />
///<br />
/// &lt;/summary&gt;<br />
/// &lt;param name=&#8221;parent&#8221;&gt;&lt;/param&gt;<br />
/// &lt;param name=&#8221;configContext&#8221;&gt;&lt;/param&gt;<br />
/// &lt;param name=&#8221;section&#8221;&gt;&lt;/param&gt;<br />
/// &lt;returns&gt;&lt;/returns&gt;<br />
public object Create(<br />
object parent,<br />
object configContext,<br />
System.Xml.XmlNode section)<br />
{<br />
// This was based upon an idea that I got from:<br />
// (http://alt.pluralsight.com/wiki/default.aspx/Craig/XmlSerializerSectionHandler.html)<br />
return section;<br />
}<br />
}</p>
<p>}</p>
<p>This permit usages based upon config such as:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; ?&gt;<br />
&lt;configuration&gt;<br />
&lt;configSections&gt;<br />
&lt;section name=&#8221;PerfectStorm.ServiceLocator&#8221; type=&#8221;PerfectStorm.ServiceLocatorConfig, PerfectStorm.ServiceLocator&#8221; /&gt;<br />
&lt;/configSections&gt;<br />
&lt;PerfectStorm.ServiceLocator&gt;<br />
&lt;assembly name=&#8221;My fully qualified name&#8221; /&gt;<br />
&lt;/PerfectStorm.ServiceLocator&gt;<br />
&lt;/configuration&gt;</p>
<p>This permits the use:</p>
<p>IYourInterface svc = ServiceLocator.CreateInstance&lt;IYourInterface&gt;(&#8220;fully qualified name of class&#8221;);</p>
<p>This means that the caller and implementer only need agree on the interface and everything else can be setup in config.</p>
<p>This has allowed me to make rapid changes to the architecture of an application (in one case to break a cyclic dependency and in another to replace a set of pointless local WCF calls with a call to an interface.  This has been easy to retrofit to an existing application - probably because we have been working through some narrow interfaces (that is almost all remote calls went through one of three interfaces).  I have found it useful to move the interfaces into a common assembly providing the service interfaces.</p>
<p>The only limitation of the ServiceLocator is that the classes created require a parameterless constructor.</p>
<p>I have started looking at Winsor (from the Castle project) as an alternative.</p>
<p>The following is a usage sample of Winsor:</p>
<p>using System;<br />
using Castle.Windsor;<br />
using Castle.Windsor.Configuration.Interpreters;<br />
using TestLib;</p>
<p>namespace TestProject<br />
{<br />
class Program<br />
{<br />
static void Main(string[] args)<br />
{<br />
IWindsorContainer container = new WindsorContainer(new XmlInterpreter());<br />
IExecutor service = container.Resolve&lt;IExecutor&gt;();</p>
<p>// Or to be specific IExecutor service = container.Resolve&lt;IExecutor&gt;(&#8220;test&#8221;);</p>
<p>service.Execute();<br />
Console.ReadLine();<br />
}<br />
}<br />
}</p>
<p>This was controlled by the following config file:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; ?&gt;<br />
&lt;configuration&gt;<br />
&lt;configSections&gt;<br />
&lt;section<br />
name=&#8221;castle&#8221;<br />
type=&#8221;Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor&#8221; /&gt;<br />
&lt;/configSections&gt;</p>
<p>&lt;castle&gt;</p>
<p>&lt;components&gt;<br />
&lt;component id=&#8221;test&#8221;<br />
service=&#8221;TestLib.IExecutor, TestLib&#8221;<br />
type=&#8221;TestLibImplementation.Executor2, TestLibImplementation&#8221; /&gt;<br />
&lt;/components&gt;</p>
<p>&lt;/castle&gt;<br />
&lt;/configuration&gt;</p>
<p>There is no reason why you can&#8217;t alter Winsor to use reflection to get all types from an assembly (in fact Binsor frequently does this).</p>
<p>Now this is very similar to the above Service Locator (With the right id name the usage would be identical).</p>
<p>I have more investigation of Winsor to do&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/11/service-locators-versus-inversion-of-control-conatiners/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Whatever happened to the Personal Organisers?</title>
		<link>http://devrants.blog.com/2009/10/11/whatever-happened-to-the-personal-organisers/</link>
		<comments>http://devrants.blog.com/2009/10/11/whatever-happened-to-the-personal-organisers/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 11:05:56 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172293</guid>
		<description><![CDATA[I don&#8217;t understand what has happened to the personal organisers.  5 years ago there was a competitive market here covering Palm, Windows CE &#38;c
Now you can&#8217;t buy these devices any more - yet the integrated phone versions have yet to catch up.
]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t understand what has happened to the personal organisers.  5 years ago there was a competitive market here covering Palm, Windows CE &amp;c</p>
<p>Now you can&#8217;t buy these devices any more - yet the integrated phone versions have yet to catch up.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/11/whatever-happened-to-the-personal-organisers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Use of Third Party Applications/Code in yours</title>
		<link>http://devrants.blog.com/2009/10/10/use-of-third-party-applicationscode-in-yours/</link>
		<comments>http://devrants.blog.com/2009/10/10/use-of-third-party-applicationscode-in-yours/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 17:08:25 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172290</guid>
		<description><![CDATA[Quite often you need to use a third party application in your code.  This may be a workflow tool, a reporting service.
If you need to integrate with it  (you need to call it or it needs to call you) keep these to a small well defined interface.
Build a simple assembly for calling it an use [...]]]></description>
			<content:encoded><![CDATA[<p>Quite often you need to use a third party application in your code.  This may be a workflow tool, a reporting service.</p>
<p>If you need to integrate with it  (you need to call it or it needs to call you) keep these to a small well defined interface.</p>
<p>Build a simple assembly for calling it an use that for all access.  For it to call you produce a second small assembly.</p>
<p>Do not let any of it&#8217;s implementation details leak beyond that.  Those should be the only assemblies that have a reference to the third party code.</p>
<p>Careful use of this can allow you to replace a product (possibly with some custom code) at a later time with minimal effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/10/use-of-third-party-applicationscode-in-yours/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Expanding TFS</title>
		<link>http://devrants.blog.com/2009/10/10/expanding-tfs/</link>
		<comments>http://devrants.blog.com/2009/10/10/expanding-tfs/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 17:01:28 +0000</pubDate>
		<dc:creator>chriseyre2000</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devrants.blog.com/?p=5172287</guid>
		<description><![CDATA[Here is a great site on customising TFS. In particular it covers replacing the naff built in diff and compare tool with one of you own choosing.
Personally I am a big fan of Beyond Compare.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/jmanning/articles/535573.aspx">Here</a> is a great site on customising TFS. In particular it covers replacing the naff built in diff and compare tool with one of you own choosing.</p>
<p>Personally I am a big fan of Beyond Compare.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrants.blog.com/2009/10/10/expanding-tfs/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
