Instantly share code, notes, and snippets.

# Craig Phillipscraigtp

• Sort options
Last active May 28, 2019 — forked from gregoryyoung/ProbabilityKata2
Probability Kata part 2
View ProbabilityKata2
 OK so now you have implemented the kata. Your tests should look something like this: We can say that the tests define the object "in a calculus of itself". They are not state based tests, they define how the behaviours of the object interact with each other. To see the real value of this let's introduce some change ... I hear real system's do this occasionally. Because this is a high performance system decimal math is too slow. You now need to use floats instead. Need help on floating point math? Check out: http://www-users.math.umd.edu/~jkolesar/mait613/floating_point_math.pdf
Created May 27, 2019 — forked from gregoryyoung/ProbabilityKata
Greg Young's Probability Kata
View ProbabilityKata
 Value objects are an important concept in DDD. This kata is made both to learn value objects and to learn better ways of testing. Write a probability value object. It should contain the following methods: Probability CombinedWith(Probability) Probability InverseOf() Probability Either(Probability) if you forget your probability math: Either:P(A) + P(B) - P(A)P(B) CombinedWith: P(A)P(B)
Created May 30, 2016
Retrieve Windows Product Key
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
Last active Dec 11, 2018
View .gitconfig
Last active Oct 24, 2018
Standard Mercurial Config / ini file
View mercurial.ini
 [ui] username = Your Name 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] beyondcompare4.args=\$local \$other \$base \$output /ro /lefttitle=local /centertitle=base /righttitle=other /automerge /reviewconflicts /solo beyondcompare4.regkey=Software\Scooter Software\Beyond Compare 4 beyondcompare4.regname=ExePath
Last active Jun 13, 2018
BetterRandom - A C# class to produce random numbers which inherits from the .NET framework's System.Random class and so can be a drop-in replacement for usages of the standard Random class, but which uses the RNGCryptoServiceProvider to generate better (and cryptographically secure) random numbers.
View BetterRandom.cs
 using System; using System.Security.Cryptography; namespace BetterRandomNumbers { // BetterRandom.cs // This class implements a random number generator that is based off the Windows "Next Generation" cryptographically secure // random number generator. It inherits from the base Random class, so can be used as a "drop-in" replacement for the // built-in .NET System.Security.Random class, but providing a superior quality of random numbers. public class BetterRandom : Random, IDisposable
Created Apr 19, 2018
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:

Last active Dec 5, 2017
Standard Visual Studio .hgignore file for Mercurial
View .hgignore
 syntax: glob *.suo *.obj *.pdb *.user *.vspscc *.bak *.cache *.log *.lib
Last active Nov 29, 2017
Standard Git gitignore file
View .gitignore
 ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. # User-specific files *.suo *.user *.sln.docstates *.sln.ide/ .vs/
Created Sep 23, 2017
Windows Touch - Update Last Write / Modified Date of files recursively.
View touch.ps1
 gci -recu -inc "*.*" | % { \$_.LastWriteTime = Get-Date }
You can’t perform that action at this time.