Skip to content

Instantly share code, notes, and snippets.

@ngbrown
ngbrown / SQLiteDateRoundTripTests.cs
Created October 13, 2017 23:22
SQLiteDateRoundTripTests
using System;
using System.Globalization;
using NUnit.Framework;
namespace UnitTestProject1
{
[TestFixture]
public class SQLiteDateRoundTripTests
{
private int _optionToStringInSqLite = 1; // Currently implemented in System.Data.SQLite
@ngbrown
ngbrown / typescript-babel-jest.js
Last active July 14, 2017 16:09
Transformer helper for Jest to take Typescript through Babel, with sourcemap support.
"use strict";
/**
*
* This source code is licensed under the BSD-style license.
* Portions of code derived from "babel-jest", copyrighted by
* Facebook, Inc. and released under a BSD-style license.
*
*/
@ngbrown
ngbrown / utilities.js
Last active November 29, 2016 17:48
redux-little-router utility functions for onClick and onSubmit
import {PUSH, REPLACE} from "redux-little-router";
import defaultCreateLocation from "redux-little-router/lib/util/create-location.js";
// Adapted from https://github.com/FormidableLabs/redux-little-router
// specifically the Link component (https://github.com/FormidableLabs/redux-little-router/blob/master/src/link.js)
const normalizeHref = ({ basename, pathname, search }) =>
`${basename || ''}${pathname}${search || ''}`;
const normalizeLocation = href => {
@ngbrown
ngbrown / FormatterExtensions.cs
Last active June 9, 2022 10:04
NancyFX PartialFileResponse
using System;
using System.IO;
using Nancy;
namespace WebService.Extensions
{
public static class FormatterExtensions
{
public static Response AsPartialFile(this IResponseFormatter formatter, string applicationRelativeFilePath, string contentType)
{
@ngbrown
ngbrown / AboutFramework.cs
Created October 5, 2016 15:58
Display detailed version information about the .NET framework installed
using System;
using Microsoft.Win32;
namespace AboutFramework
{
class Program
{
static void Main(string[] args)
{
GetVersionFromRegistry();
@ngbrown
ngbrown / BowlingKata.cs
Last active September 15, 2016 17:50
Code to read
namespace BowlingKata02
{
public class Scorer
{
private readonly IList<int> rolls = new List<int>();
private int currentRoll;
private int score;
public int CalculateScore()
{
@ngbrown
ngbrown / [WIP] NH-3807 Pull Request.md
Last active August 21, 2016 22:57
NHibernate 5.x Core

This is currently a work in progress. It does compile and I have ran simple programs against it.

A majority of the changes were done to the mainline .NET version so all the mainline tests could be used during development. There are no tests ported to .NET Core yet, and this may be difficult without the dynamic schema support.

By necessity, it includes #241/NH-3431 - Replace System.Data with System.Data.Common and NH-3853 - Switch binary-serialization to an implementation that is supported by CoreClr.

There are a number of compromises that have to take place on .NET Core, chief among them is that there is no GetSchemaTable(). Without this, none of the dynamic schema generation or updates works. The tests, when implemented, will need a static schema c

@ngbrown
ngbrown / GenericEqualityComparer.cs
Created January 27, 2016 21:44
Generic IEqualityComparer implementation
using System;
using System.Collections.Generic;
using System.Linq;
namespace Helpers
{
public class GenericEqualityComparer
{
public static IEqualityComparer<T> Create<T>(params Func<T, object>[] Param1)
{
@ngbrown
ngbrown / database_spaceused.sql
Created November 3, 2015 23:49
Determine table row count and sizes of full database
-- Determine table row count and sizes of full database
-- Inspired from http://stackoverflow.com/a/19916574/25182
SET NOCOUNT ON
DECLARE @TableInfo TABLE (tablename varchar(128), [rows] int, reserved varchar(18), [data] varchar(18), index_size varchar(18), unused varchar(18))
DECLARE @cmd1 varchar(200)
SET @cmd1 = 'exec sp_spaceused ''?'''
INSERT INTO @TableInfo (tablename,[rows],reserved,[data],index_size,unused)
EXEC sp_msforeachtable @command1=@cmd1
@ngbrown
ngbrown / gist:953502517ccabd5bd264
Last active August 29, 2015 14:22
Determine lines of code
Function IIf($If, $IfTrue, $IfFalse) {
If ($If -IsNot "Boolean") {$_ = $If}
If ($If) {If ($IfTrue -is "ScriptBlock") {&$IfTrue} Else {$IfTrue}}
Else {If ($IfFalse -is "ScriptBlock") {&$IfFalse} Else {$IfFalse}}
}
Get-ChildItem -include *.js -exclude *.min.js -recurse | ?{$_.fullname -notmatch "\\node_modules\\?"}
Get-ChildItem -include *.js -recurse | select-string . | Group-Object Path -NoElement | ForEach-Object {IIf($_.Count -le 50) "a. <=50" {IIf($_.Count -le 100) "b. <=100" {IIf($_.Count -le 200) "c. <=200" {IIf($_.Count -le 500) "d. <=500" "e. >500"}}}} | Group-Object -NoElement | Sort-Object Name