Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am kevin-montrose on github.
  • I am kmontrose (https://keybase.io/kmontrose) on keybase.
  • I have a public key ASBfSsLoAg8f9loWcPfL6Xu4l94iqNskiJZc49Xf2epekgo

To claim this, I am signing this object:

@kevin-montrose
kevin-montrose / SecurityCodeScan.config.yml
Created September 23, 2019 20:59
Example SecurityCodeScan configuration file from Stack Overflow codebase
# This is based on https://github.com/security-code-scan/security-code-scan/blob/master/SecurityCodeScan/Config/Main.yml
# IMPORTANT: YML is very strict about indentation and white spaces
Version: 2.1
# Set to 'true' to see more warnings
AuditMode: false
# Allows to define custom anti CSRF attributes and conditions
using System;
using System.Threading;
namespace LearnMeAThing.Utilities
{
/// <summary>
/// An object representing some number of jobs waiting to be completed.
///
/// Once WaitForCompletion() returns, references to this object should be
/// dropped as it may be handed out by it's associated JobRunner again.
using System;
using System.Threading;
namespace LearnMeAThing.Utilities
{
/// <summary>
/// Interface for a re-runnable job, invoked
/// as part of a scheduled
/// </summary>
delegate void JobDelegate<T>(GameState game, T state);
using System;
using System.Threading;
namespace LearnMeAThing.Utilities
{
/// <summary>
/// Handles running pre-registered jobs across some number of threads.
///
/// The idea is:
/// - make a job runner with a certain number of threads and a maximum
@kevin-montrose
kevin-montrose / q48694886.linq
Created February 9, 2018 14:55
Q:48694886 repro
<Query Kind="Program">
<NuGetReference>Jil</NuGetReference>
<Namespace>Jil</Namespace>
<Namespace>System.Runtime.Serialization</Namespace>
</Query>
void Main()
{
var objs = new List<MyBaseClass>();
objs.Add(new MySubClass(new [] { "foo", "bar", 3.0f.ToString() }));
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace LinqAF
{
public static class LinqAFExtensions
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
static void Impl<TItem, TEnumerable, TEnumerator>(List<TItem> list, ref TEnumerable e)
This file has been truncated, but you can view the full file.
// ***** BenchmarkRunner: Start *****
// Found benchmarks:
// OneParam.LinqAF: Job-JNXOUQ(Jit=LegacyJit, Platform=X86, Runtime=Clr, Concurrent=True, Server=True)
// OneParam.LINQ2Objects: Job-JNXOUQ(Jit=LegacyJit, Platform=X86, Runtime=Clr, Concurrent=True, Server=True)
// OneParam.LinqAF: Job-BBJZSD(Jit=RyuJit, Platform=X64, Concurrent=True, Server=True)
// OneParam.LINQ2Objects: Job-BBJZSD(Jit=RyuJit, Platform=X64, Concurrent=True, Server=True)
// Validating benchmarks:
// **************************
// Benchmark: OneParam.LinqAF: Job-JNXOUQ(Jit=LegacyJit, Platform=X86, Runtime=Clr, Concurrent=True, Server=True)
public static bool ContainsTokenMonty(string value, string token, char delimiter = ';')
{
// this code assumes you're running x64
// it _works_ regardless, but some ifdef junk for x32
// would be handy if you care about ideal x32 perf
const int charsPerLong = sizeof(long) / sizeof(char); // 4
const int charsPerInt = sizeof(int) / sizeof(char); // 2
const int bytesPerChar = sizeof(char) / sizeof(byte); // 2
@kevin-montrose
kevin-montrose / gist:cc614baa67e066696352
Created July 25, 2014 20:06
Disabling Pipeline penalty
const string TypeUrl = "your-elastic-type-url-here";
const int NumRequests = 100000;
void Main()
{
var randomIds = Enumerable.Range(0, NumRequests).Select(i => Guid.NewGuid()).ToList();
var pipelined = ProfileRequests(randomIds, Pipelined);
var nonPipelined = ProfileRequests(randomIds, NonPipelined);