Skip to content

Instantly share code, notes, and snippets.

@millimoose
millimoose / Messages.ascx
Created September 28, 2011 02:04
Message List - ASP User Control
<asp:Label ID="lblType" runat="server" AssociatedControlID="ddlType" Text="Message Type:"/>
<asp:DropDownList runat="server" ID="ddlType" AutoPostBack="true"
OnSelectedIndexChanged="ddlType_SelectedIndexChanged"
OnLoad="ddlType_Load" />
<table>
<asp:ListView ID="lvMessages" runat="server" DataSourceID="dsMessages" ItemPlaceholderID="message">
<LayoutTemplate>
<thead>
<tr>
<th>
@millimoose
millimoose / pointless.py
Created October 12, 2012 19:59
Python ridiculousness
class meta_delegate(type):
def __call__(cls, *args, **kwargs):
return cls.__delegate(*args, **kwargs)
@staticmethod
def to(delegate):
def __new__(*args, **kwargs):
cls = meta_delegate(*args, **kwargs)
cls.__delegate = staticmethod(delegate)
return cls
#define LOG_PV(func, sem, proc) \
printf("["#proc"] before "#func"("#sem") = %d\n", sem_getval(sem));\
func(sem);\
printf("["#proc"] after "#func"("#sem") = %d\n", sem_getval(sem));
#define LOG_P(sem, proc) \
LOG_PV(P, sem, proc)
#define LOG_V(sem, proc) \
LOG_PV(V, sem, proc)
@millimoose
millimoose / oxout.y.c
Created May 7, 2013 13:24
Ox is a goddamn nightmare
/* output from Ox version G1.04 */
%{
%}
%{
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <glib.h>
#include "ag.h"
import os
from os import path
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
CSS = By.CSS_SELECTOR
xxx
yyy
zzz
@millimoose
millimoose / PropertyEqualityComparer.cs
Created September 25, 2013 18:29
The last equality comparer implementation you'll need
public class PropertyEqualityComparer<TItem> : EqualityComparer<TItem>
{
readonly Func<TItem, object> _getter;
public PropertyEqualityComparer(Func<TItem, object> getter)
{
_getter = getter;
}
public override bool Equals(TItem x, TItem y)
{
Expression<Action<TObject, TProperty>>
SetterFromGetter<TObject, TProperty>(Expression<Func<TObject, TProperty>> getter)
{
var objectParam = getter.Parameters.Single();
var valueParam = Expression.Parameter(getter.Body.Type);
return Expression.Lambda<Action<TObject, TProperty>>(
Expression.Block(
Expression.Assign(
getter.Body,
valueParam

Keybase proof

I hereby claim:

  • I am millimoose on github.
  • I am millimoose (https://keybase.io/millimoose) on keybase.
  • I have a public key whose fingerprint is A1F5 EE99 0430 3765 703E A3F4 E888 75B3 78CD 990D

To claim this, I am signing this object:

void Main()
{
var d6range = Enumerable.Range(1, 6);
var rolls = from d1a in d6range // first die of first roll
from d1b in d6range // second die of first roll
from d2a in d6range // first die of second roll
from d2b in d6range // second die of second roll
select new { d1a, d1b, d2a, d2b }; // all four dice rolled
var advantages = from r in rolls