This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################################################################################################################################ | |
# | |
# Script Name : SmoDb | |
# Version : 1.0 | |
# Author : Vince Panuccio | |
# Purpose : | |
# This script generates one SQL script per database object including Stored Procedures,Tables,Views, | |
# User Defined Functions and User Defined Table Types. Useful for versionining a databsae in a CVS. | |
# | |
# Usage : |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Define the directory to hash | |
$dir = "C:\Path\To\Directory" | |
# Define the hash algorithm to use | |
$hashAlgorithm = "SHA256" | |
# Get all files in the directory (including subdirectories) | |
$files = Get-ChildItem -Path $dir -Recurse | Where-Object {!$_.PSIsContainer} | |
# Create an empty hash object |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# sudo -s | |
# Then (do not resize the terminal window. Seems to affect the ability to accept the MS EULA): | |
# curl -Lks https://gist.githubusercontent.com/badmotorfinger/b8f0665125629ed105cb0f3574a20713/raw/eee6723994c3a07d51f13e004a58ebeaaea18b19/fresh-install.sh | /bin/bash | |
# Prevent Windows and Linux fighting over time. Prevent Linux from changing time on the mobo | |
timedatectl set-local-rtc 1 --adjust-system-clock | |
# Proton VPN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$uri = 'http://www.tsqltidy.com/SQLTidy.asmx' | |
$proxy = New-WebServiceProxy -Uri $uri -class FormatSQL -Namespace FormatSQL | |
#Warning - Will format file contents and overwrite the original file. Use with caution. | |
gci *.sql | % { $content = $proxy.ParseSQL((get-content $_.FullName)); Set-Content $_.FullName $content; } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$reportFileName = 'dupfinder.html' | |
$dupFindLocation = 'C:\dev\tools\ReSharperCliTools\dupfinder.exe' | |
if (-not (Test-Path $dupFindLocation)) { | |
Write-Host "dupfinder.exe not found in path $dupFindLocation" | |
Write-Host "Download tools from https://www.jetbrains.com/help/resharper/2017.1/ReSharper_Command_Line_Tools.html" | |
exit | |
} | |
$xsl = '<?xml version="1.0" encoding="utf-8"?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Warnings to treat as errors | |
# See end of script for descriptions | |
$cSharpWarnings = '162,168,169,219,1717,0067,649,618,183,184,1060,1058,809,672,612,1522,465,1998' | |
$formatting = ',1570,1574' | |
$interopWarnings = ',626,684,824' | |
$casWarnings = ',688' | |
$warnings = $cSharpWarnings + $formatting + $interopWarnings + $casWarnings | |
Get-ChildItem *.csproj -Recurse | % { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Only let input Observable fire every 'n' seconds at most | |
// but unlike Throttle, items fire immediately when they aren't | |
// rate-limited. | |
public IObservable<T> RateLimit<T>(this IObservable<T> This, TimeSpan interval, IScheduler scheduler) | |
{ | |
var slot = default(IObservable<Unit>); | |
var input = This.Publish().RefCount(); | |
return input.Window(input, _ => { | |
if (slot != null) return slot; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Test] | |
public void TestEmpty() | |
{ | |
CollectionAssert.AreEqual( | |
new int[0].MinsBy(i => i), | |
new int[0]); | |
} | |
[Test] | |
public void TestPreserveOrderAndValue() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class TestHelpers | |
{ | |
public static void ShouldEqualWithDiff(this string actualValue, string expectedValue) | |
{ | |
ShouldEqualWithDiff(actualValue, expectedValue, DiffStyle.Full, Console.Out); | |
} | |
public static void ShouldEqualWithDiff(this string actualValue, string expectedValue, DiffStyle diffStyle) | |
{ | |
ShouldEqualWithDiff(actualValue, expectedValue, diffStyle, Console.Out); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Usage | |
var intResult = Parse("1", 0, int.TryParse); // Returns 1 | |
var dateResult = Parse("asdf", DateTime.Now, DateTime.TryParse); // Returns 18/07/2012 1:39:06 PM | |
delegate TParsedValue ParseFunc<T, U, TParsedValue>(T input, out U output); | |
static V Parse<T, V>(T valueToBeParsed, V defaultVal, ParseFunc<T, V, bool> dele) { | |
V result; |
NewerOlder