Skip to content

Instantly share code, notes, and snippets.

View vcsjones's full-sized avatar
㊙️

Kevin Jones vcsjones

㊙️
View GitHub Profile
@vcsjones
vcsjones / gist:4457406
Created January 4, 2013 21:57
CTE to query the business days of the current week.
SET DATEFIRST 1;
WITH [week]([date]) AS
(
SELECT
DATEADD(week, DATEDIFF(week, 0, GETDATE()), 0)
UNION ALL
SELECT
[date]+1 FROM [week]
WHERE
DATEPART(dw, [date]+1) <= 5
NSNumber* __strong* numbers[] = {
&major, &minor, &revision, &build
};
@vcsjones
vcsjones / ismethodempty.cs
Last active December 15, 2015 19:19
Determines with a rather naive way of determining at run time if a method is empty.
Action<int> gfa = k => { };
var il = gfa.Method.GetMethodBody().GetILAsByteArray().Where(b => b != OpCodes.Nop.Value).ToArray();
if (il.Length == 0 || (il.Length == 1 && il[0] == OpCodes.Ret.Value))
{
Debug.WriteLine("Empty!");
}
else
{
Debug.WriteLine("Not empty!");
}
@vcsjones
vcsjones / git.ps1
Created May 8, 2013 18:33
Determine if there are any uncommitted revisions.
$svnUncommited = (git svn find-rev HEAD) -eq $null
@vcsjones
vcsjones / sample.cs
Last active December 17, 2015 07:59
public class ClientGroup
{
private List<Client> _clients = new List<Client>();
private void Add(Client oClient) {
_clients.Add(oClient);
}
public void Add(string sMessyString){
this.Add(Client.ReturnClientObjectFromStringAfterConvert(sMessyString));
}
SELECT
up.UserId
,XOR(up.Flags)
FROM
UserPermissions up
GROUP BY
up.UserId
@vcsjones
vcsjones / rot13.cs
Last active December 18, 2015 11:29
ROT13
private static string Rot13(string inputText)
{
return new string(inputText.Select(c =>
{
var lower = Char.ToLower(c);
if (lower >= 'a' && lower <= 'z' && lower > 'm') return (char)(c - 13);
if (lower >= 'a' && lower <= 'z') return (char)(c + 13);
return c;
}).ToArray());
}
public static int DivRem(int a, int b, out int result)
{
result = a % b;
return a / b;
}
@vcsjones
vcsjones / evil.cs
Created August 13, 2013 18:02
Overwrite's a MethodInfo's JITed assembly code so that a method aways returns false.
private static void ChangeToReturnFalse(MethodInfo methodInfo)
{
var intPtrConstructor = typeof(IntPtr).GetConstructor(new[] { typeof(void*) });
var method = new DynamicMethod("ChangeToReturnFalse", typeof(IntPtr), Type.EmptyTypes, typeof(ServiceLocationModule));
var generator = method.GetILGenerator();
generator.Emit(OpCodes.Ldftn, methodInfo);
generator.Emit(OpCodes.Newobj, intPtrConstructor);
generator.Emit(OpCodes.Ret);
var addressFunctor = (Func<IntPtr>)method.CreateDelegate(typeof(Func<IntPtr>));
var address = addressFunctor();
open FSharp.Charting
open System
type ChartApplicationContext() as this =
inherit System.Windows.Forms.ApplicationContext()
do
let handler = new ConsoleCancelEventHandler(fun o e -> this.ExitThread())
Console.CancelKeyPress.AddHandler(handler)