Skip to content

Instantly share code, notes, and snippets.

@loosechainsaw
loosechainsaw / qfind.cpp
Created August 17, 2013 10:38
Quick Find Algorithm and DataStructure
#include <iostream>
template<int N>
class quick_find{
public:
quick_find()
{
for(int i =0; i < N; ++i){
elements[i] = i;
}
@loosechainsaw
loosechainsaw / cscurry.cs
Last active December 21, 2015 02:58
CSharp Curry
using System;
namespace ConsoleApplication1
{
public static class FunctionalExtensions
{
public static Func<TResult> Curry<TArg1, TResult>(this Func<TArg1, TResult> func, TArg1 arg1)
@loosechainsaw
loosechainsaw / memoise.cs
Last active December 21, 2015 01:38
Proof of concept Memoization support for C# - With Expiration
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
public interface IMemoizationPolicy
{
@loosechainsaw
loosechainsaw / perfect-squares-tri.rkt
Created August 7, 2013 10:27
Using triangles to calculate perfect squares in Racket
#lang racket
(define (get-triangle row)
(cond
( ( = row 0) 0)
( ( = row 1) 1)
( else (+ row (get-triangle (sub1 row)) ))))
(define (nth-perfect-square count)
(cond
@loosechainsaw
loosechainsaw / tddstack.cs
Created March 28, 2013 15:26
TDD Immutable Stack After Roy Osherove Master Class Yes I know the Size property is in 0(n) time currently.
namespace ImmutableDatastructures
{
public interface IImmutableStack<T>{
IImmutableStack<T> Push(T value);
IImmutableStack<T> Pop();
T Head{get;}
IImmutableStack<T> Tail{ get;}
int Size{get;}
bool IsEmpty();
@loosechainsaw
loosechainsaw / cwdpf.cs
Created August 28, 2012 14:15
Container with Dynamic Proxy Fruit
using System;
using System.Reflection;
using Castle.Core;
using Castle.DynamicProxy;
using Castle.MicroKernel.Registration;
using Castle.Windsor;
namespace DpWorkshop
{
@loosechainsaw
loosechainsaw / dproxy.cs
Created August 28, 2012 13:56
Dynamic Proxy
using System;
using System.Linq;
using System.Reflection;
using Castle.DynamicProxy;
namespace DpWorkshop
{
public class Person
{
@loosechainsaw
loosechainsaw / auditinginterceptor.cs
Created August 21, 2012 13:55
Auditing Interceptor Example
using System;
using System.Linq;
using System.Reflection;
using Castle.Core;
using Castle.DynamicProxy;
using Castle.MicroKernel.Proxy;
using Castle.MicroKernel.Registration;
using Castle.Windsor;
namespace WindsorExamples
@loosechainsaw
loosechainsaw / UpdatedHandler.cs
Created August 17, 2012 08:05
Updated Handler
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Security;
using System.Runtime.InteropServices;
using OpenRasta.Web;
using umbraco.cms.businesslogic.member;
using uREST.Core.Attributes;
using uREST.Core.Handlers;
@loosechainsaw
loosechainsaw / MemberHandlerUpdate
Created August 17, 2012 07:37
Updated MemberHandler
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Security;
using System.Runtime.InteropServices;
using OpenRasta.Web;
using umbraco.cms.businesslogic.member;
using uREST.Core.Attributes;
using uREST.Core.Handlers;