Skip to content

Instantly share code, notes, and snippets.

@v2m
v2m / Guess.cs
Last active January 4, 2016 21:29
using System;
interface IContainer
{
object Obj { set; }
}
struct P : IContainer
{
public object Obj { set { this.o = value; } }
object o;
var x = /°+/
type A private() =
[<DefaultValue>]
val mutable x: string
new(x : string) =
if x = null then nullArg "x"
A()
then
printfn "x=%s" x
type B(x : string) =
type A() =
[<DefaultValue>]
val mutable x: string
new(x : string) =
if x = null then nullArg "x"
A()
then
printfn "x=%s" x
type B(x : string) =
type A =
val x: string
new(x : string) =
if x = null then nullArg "x"
{x = x}
then
printfn "x=%s" x
class Program
{
static void Main(string[] args)
{
Run().Wait();
}
static async Task Run()
{
var tcs = new TaskCompletionSource<object>();
@v2m
v2m / Program.cs
Last active December 17, 2015 03:29
// add reference to System.DirectoryServices.AccountManagement.dll
var sidAttr = pool.Attributes["applicationPoolSid"];
var securityIdentifier = new SecurityIdentifier((string)sidAttr.Value);
using(var ctx = new PrincipalContext(ContextType.Machine))
using(var group = GroupPrincipal.FindByIdentity(ctx, IdentityType.Sid, (string)securityIdentifier.Value))
{
Debug.Assert(group != null);
}
let rec findPivot (myArray : int[]) i =
if i = 0 then
-1
else
System.Diagnostics.Trace.Assert false
if myArray.[i] > myArray.[i-1] then i - 1
else findPivot myArray (i - 1)
findPivot [| 1; 2; 3; 4 |] 3
// have no idea what exact type should look like
type Node = { Reference : int }
let mkArgs0 (target : Node) (source : Node) = dict ["n", box target.Reference; "m", box source.Reference]
// symbolic operators FTW
let (=>) (a : string) b = a, box b
let mkArgs1_1 (target : Node) (source : Node) = dict ["n" => target.Reference; "m" => source.Reference]
let (!) = box
@v2m
v2m / gist:4969559
Last active December 13, 2015 20:19
Execute implementation
public IEnumerable<Row> Execute(IEnumerable<Row> rows)
{
var blockingCollection = new BlockingCollection<Row>();
var count = _operations.Count;
if (count == 0)
{
yield break;
}
var tasks = _operations.Select(currentOp =>
Task.Factory.StartNew(() =>