Skip to content

Instantly share code, notes, and snippets.

View lorddev's full-sized avatar
🎻
likes music

Aaron lorddev

🎻
likes music
View GitHub Profile
@lorddev
lorddev / IEachified.cs
Created October 21, 2012 18:59
Enforces a rule that a collection can perform a certain action on each of its items.
/// <summary>
/// Enforces a rule that a collection can perform a certain action on each of its items.
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IEachified<T>
{
void ForEach(Action<T> action);
}
@lorddev
lorddev / DAL method wrapper.cs
Created November 11, 2012 04:37
Tiny method that wraps the delegate you pass into it with standard connection/command using blocks
/// <summary>
/// Speeds up DAL development by reducing repeated code.
/// </summary>
private void OpenConnectionAndDispose(string storedProcedure, Action<SqlCommand> action)
{
using (var conn = new SqlConnection(connectionString))
{
using (var command = new SqlCommand(query, conn))
{
command.CommandType = CommandType.StoredProcedure;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EntityExtensions {
public class FakeDbSet<T> : System.Data.Entity.IDbSet<T> where T : class {
private readonly List<T> list = new List<T>();
public FakeDbSet() {
@lorddev
lorddev / parsehashbang.js
Last active August 29, 2015 13:56 — forked from miohtama/parse-hash-bang-arguments-in-javascript.js
Useful for ajax navigation
/**
* Parse hash bang parameters from a URL as key value object.
*
* #x&y=3 -> { x:null, y:3 }
*
* @param aURL URL to parse or null if window.location is used
* @return Object of key -> value mappings.
*/
function parseHashBang(url) {
url = url || window.location.href;
@lorddev
lorddev / UnderscoreContractResolver.cs
Last active August 29, 2015 13:57
Say you're trying to serialize a JSON API such as Google Maps where all the properties are lowercase and words are separated by underscores. But in order to keep your own code clean, you need to use camel casing...
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace Test
{
public class FooTest
{
public void TestCustomResolver()
{
@lorddev
lorddev / AntiForgeryTokenValidator.asp
Last active May 23, 2024 17:59
Classic ASP version of ASP.NET MVC AntiForgeryToken validator
<%
' Use with a very short session (basically the page lifecycle, GET then POST)
Class AntiForgeryValidator
Private m_securityToken
Sub SetCookie()
m_securityToken = CreateWindowsGuid()
Response.Cookies("RequestVerificationToken") = m_securityToken
@lorddev
lorddev / Git-Prune-Branches
Created February 16, 2016 19:20
PowerShell script for pruning branches already merged
function Prune-Branches
{
git branch --merged | ForEach-Object { $_.Trim() } |
Where-Object {-not ( $_ -Like "*master" )} | Where-Object {-not ( $_ -Like "*develop" )} | ForEach-Object { git branch -d $_.Replace('origin/', '') }
}
@lorddev
lorddev / IBusinessRules.cs
Last active June 17, 2016 13:26
Ideas on a business rules implementation
using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Devlord.Utilities
{
/// <summary>
/// Use for designing a business rule where conditions are evaluated and the actions are executed based on the evaluation.
/// Rules can be chained by setting the "Action" as another business rule.
@lorddev
lorddev / gist:2f8a194f01494b63a3c6af1679659521
Created February 20, 2017 22:17
Guardian druid physical vs. magic damage for Mark of Ursol
dmfI1aqibQuTiuOCjuOYNqqPAuuiNIc1QeOIxjqvZscDlsAxus)cbLmmj4yuQwMGQNHGQPHsLRjaTnbW3qH04iLQohPuzDOqmpusLUhPyFKsjhebSquk9qsKjIsYfjLSruk(ikv1ijLsDssuRerVebLYmfuUjkvzNOGFIsmubIJkqLYsfqpLitfHUkPuSvuOkFfbfNfLuXBrGUlcYEPQ)kidgomQwmj0JjvtMOUSuBMs5ZOOrtbNwsRgLu1RjbMTOUTeTBH(TidNqwovEobthPRtrBNs8Dusz8KGopHA9Oqv9EbkZxGk5(cK2VAVDprVe3t0t9scEPWTs4wlyTGxQ0lj7LK9e9smDjwZlPnbXlPqwSztOPEgulynGEjXSyZMqt9mOs4fiCVexNwT0eDvMmBh7LKBpdQ2l4LeeX1Bpd29scD2wqs1i1lXwwisKf2ZlzORmnq9SHDmQ2hWcmQ2R9AN2vGDAp7yN27TPYoT3lLtCzprVeLN7i1t0lvAMPvprp1t9sYvB2Q6MzQyprVuPzMw9e9up1l5s52t0lvAMPvprp1t9s2460Ak6j6LknZ0QNON6PEjrwer55os9e9sLMzA1t0t9uVKJR3EIEPsZmT6j6PEQxYuOdPN5ccEf9uVKRzwtrIIf1EjzXrEzvNPlzkYlzqSIUQCqscvAnf9sgeRORkhgxG6LesoQxYGyfDvzVuRqr8OCl7zRxsXKtUDSyZMqt9my3lXLLR0AkYZHOUktMTtWt0t9svzVeRkzsuSOwWlzqSIUQSuYrzVKC7LKBb9okxJm9sYvbwVzuNwT0EjEo7LIMLeDvMmBNGNb7EjwRktn4zd7cybcpafSZOmk70(aYo7SJDEBQSlGEQxs3t0ZGDprVKIjNC7ukLtoprpd29muWZq4Egk4zGW9muWZa78my3t9sCDAnff8e9s1yL6j6LKtH0nfOPspB9s6Mc0uPxsvvvvvvvvvvvvvvvvvvvDsv1HsSWaBuM9hSeeIkZcdsdv1jvvvvvvvvvvvvvv
@lorddev
lorddev / TempTracker.cs
Created February 22, 2017 18:18
Temp Tracker for Interview Cake
public class TempTracker
{
// For mode
// Array of 0s at indices 0..110
private readonly int[] _occurrences = new int[111];
private int _maxOccurrences;
// For mean
private int _totalNumbers;