Instantly share code, notes, and snippets.

View keybase.md

Keybase proof

I hereby claim:

  • I am craigtp on github.
  • I am craigtp (https://keybase.io/craigtp) on keybase.
  • I have a public key whose fingerprint is 8FBD 50F4 7D2C E90F 95D6 1B27 3965 4610 07EB B49F

To claim this, I am signing this object:

View mercurial.ini
[ui]
username = Your Name <andemail@address.here>
ignore = D:\Documents\hgignore_global.txt
ssh = "C:\Utils\putty\plink.exe" -ssh -2 -batch -C
editor="C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -nosession
[merge-tools]
beyondcompare3.args=$local $other $base $output /ro /lefttitle=local /centertitle=base /righttitle=other /automerge /reviewconflicts /solo
beyondcompare3.regkey=Software\Scooter Software\Beyond Compare 3
beyondcompare3.regname=ExePath
View touch.ps1
gci -recu -inc "*.*" | % { $_.LastWriteTime = Get-Date }
View NumericHelpers.cs
public static class NumericHelpers
{
// Float point maths is whack. We can't check for absolute equality as floating point numbers are imprecise
// and are subject to rounding issues (See: http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)
// Therefore, we can't check for absolute equality, but instead we have to need to check for values being
// "nearly" equal, which allows a small margin of error (i.e. something known as the "Epsilon" value for
// the given data type for this CPU that this code is running on).
public static bool NearlyEqual(double a, double b, double epsilon)
{
var absA = Math.Abs(a);
View .gitconfig
[user]
name = [INSERT YOUR NAME HERE]
email = [INSERT YOUR EMAIL ADDRESS HERE]
[core]
autocrlf = true
excludesfile = "C:/Users/craig/gitignore_global.txt"
;excludesfile = "C:/Users/craig/gitignore_global.txt"
editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession ; For 64-bit Notepad++
;editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession ; For 32-bit Notepad++
preloadindex = true
View GetWindowsProductKey.vbs
Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
View RandomString.cs
using System;
using System.Text;
namespace RandomString
{
public class RandomString : IDisposable
{
// Can use the BetterRandom class here or just use the built-in System.Random class.
private BetterRandom random = new BetterRandom();
private const string alpha_selection = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
View TruncateAtWordStringExtension.cs
public static class StringExtentionMethods
{
public static string TruncateAtWord(this string input, int maxlength, bool addEllipsis)
{
if (input == null || input.Length <= maxlength) return input;
var ellipsisLengthDeduction = (addEllipsis ? 3 : 0);
var iLastSpace = input.LastIndexOf(" ", (maxlength - ellipsisLengthDeduction), StringComparison.Ordinal);
var iLength = 0;
if (iLastSpace < 0)
{
View CleanUpTemporaryASPNETFiles.ps1
# Run this as Administrator
net stop w3svc
Get-ChildItem "C:\Windows\Microsoft.NET\Framework*\v*\Temporary ASP.NET Files" -Recurse | Remove-Item -Recurse -Force
net start w3svc
View HGAutoUpdate
dir -Directory -Recurse | ? { test-path (join-path $_.FullName ".hg\hgrc") } | % { $_.FullName; Set-Location -Path $_.FullName; iex "hg pull -u" }