Skip to content

Instantly share code, notes, and snippets.

View cdhunt's full-sized avatar

Chris Hunt cdhunt

View GitHub Profile
PS C:\> Get-Web -Url http://www.youtube.com/watch?v=xPRC3EDR_GU -AsMicrodata -ItemType http://schema.org/VideoObject | Export-PSData .\PipeworksQuickstart.video.psd1
@cdhunt
cdhunt / kanban.md
Created December 17, 2015 16:19
Re:Kanban

I agree with you, but prefer to decouple philosophy from tools. It's just semantics, but in the history of business organization there is a tendency to distill a philosophy down to a few bullet points and believe following those bullet points is all that is needed to be successful. One of the bullet points is usually, "Use XYZ tool." Just putting up a board with cards on it isn't likely going to make your business more successful. It's just a tool. You have to learn how to use it. Sorry if you took my weakness with words as an attack on your efforts to do just that.

@cdhunt
cdhunt / Posh2013_Event5
Created May 30, 2013 00:35
Second attempt at Event 5 based on what I learned from feedback and judging other scripts.
function Select-UniqueClientIP {
[CmdletBinding(SupportsPaging,DefaultParameterSetName="IPv4")]
[OutputType([System.String[]])]
param(
[Parameter(Position=0,Mandatory,ValueFromPipeline,ValueFromPipeLineByPropertyName)]
[ValidateNotNullOrEmpty()]
[Alias("FullName")]
[string[]]
$Path,
@cdhunt
cdhunt / APIExample
Created July 29, 2013 13:20
Example of marrying REST API and Windows COM API through Powershell.
function Out-Speech($text) {
$speechy = New-Object –ComObject SAPI.SPVoice;
$text
$voices = $speechy.GetVoices();
foreach ($voice in $voices) {
$voice.GetDescription();
$speechy.Voice = $voice;
$speechy.Speak($text);
}
}
@cdhunt
cdhunt / Get-NetworkHostList
Created January 13, 2014 14:13
Part of 2014 Scripting Games Practice Event
<#
.Synopsis
Return an array of IP Addresses
.DESCRIPTION
Return an array of System.Net.IPAddress objects from a string in the form 10.10.10.0/24.
.EXAMPLE
Return an array of usable IP addresses given a subnet.
PS C:\> $IPs = Get-NetworkHostList 192.168.7.0/24
PS C:\> $IPs[0].IPAddressToString
Import-Module PModule.psm1
$Credential = Get-Credential
$ips = Get-NetworkHostList 10.81.60.0/24
$list = $ips[(70..75)]
$c = 0
Foreach ($computer in $list)
{
[bool]$alive = $false
Write-Progress -Activity "Finding available hosts" -CurrentOperation "Testing" -Status $computer -PercentComplete (($c++/$list.count)*100)
@cdhunt
cdhunt / Verbal Expressions
Created January 5, 2016 15:04
Messing around with CSharpVerbalExpressions and Fluent API in Powershell
Add-Type -Path C:\Temp\CSharpVerbalExpressions-master\VerbalExpressions\bin\Release\VerbalExpressions.dll
[psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")::add("verbex", "CSharpVerbalExpressions.VerbalExpressions")
[verbex]::new().StartOfLine().Then("http").Maybe("s").Then("://").Maybe("www.").AnythingBut(" ").EndOfLine().Test("https://www.google.com")
$proto = [verbex]::new().StartOfLine().Then("http").Maybe("s").Then("://")
$Uri = $proto.AnythingBut(" ").EndOfLine()
$uri
$uri.Test("http://google.com")
@cdhunt
cdhunt / output
Created March 1, 2016 16:36
Beating Hadoop with Posh
Black White Tie RunTime
----- ----- --- -------
2853633 3762820 3260741 6 minutes, 45 seconds, 347 milliseconds
@cdhunt
cdhunt / Markdown.types.ps1xml
Last active May 26, 2016 16:06
A custom type file to help generate markdown
<?xml version="1.0" encoding="utf-8" ?>
<Types>
<Type>
<Name>System.String</Name>
<Members>
<ScriptMethod>
<Name>MarkdownStrong</Name>
<Script>
[OutputType([System.String])]
param()
@cdhunt
cdhunt / Help to MD
Created May 26, 2016 16:55
Use the Markdown.types.ps1xml to generate a help file in Markdown
$help = Get-Help Get-Location
$help.Name.MarkdownHeader()
"Synopsis".MarkdownHeader(2)
$help.Synopsis
"Description".MarkdownHeader(2)