Skip to content

Instantly share code, notes, and snippets.

Living the dream

Adam Ralph adamralph

Living the dream
Block or report user

Report or block adamralph

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
adamralph / DumpPalette.cs
Created Aug 26, 2019
For use in Bullseye Palette.cs when tuning for CI systems
View DumpPalette.cs
adamralph /
Last active Sep 9, 2019
My current assessment of SaaS CI systems

This assessment is performed with respect to the requirements of the .NET community open source projects which I maintain. It is restricted to the free tier provided by each system.

Only the drawbacks are listed, which makes the assessment sound a bit negative, but it's relative to a baseline functional expectation:

  • Linux and Windows
  • Fast provisioning
  • Concurrent builds
  • Common build properties surfaced as env vars (e.g build number)
  • Readable, copyable, and line-linkable log output, supporting ANSI colour codes and code page 437
adamralph / bullseye-custom-args-system.cs
Last active Aug 11, 2019
Using Bullseye with custom args with System.CommandLine.Experimental
View bullseye-custom-args-system.cs
// dotnet add package System.CommandLine.Experimental
using System.CommandLine;
using static Bullseye.Targets;
class Program
static void Main(string[] args)
var cmd = new RootCommand { TreatUnmatchedTokensAsErrors = false };
adamralph / ConcurrencyThrottlingByMessageType.cs
Created Dec 10, 2018
Throttling concurrency by message type in NServiceBus
View ConcurrencyThrottlingByMessageType.cs
using NServiceBus.Pipeline;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
internal class ConcurrencyThrottlingByMessageType : IBehavior<IIncomingLogicalMessageContext, IIncomingLogicalMessageContext>
private static readonly Dictionary<Type, Throttle> throttles = new Dictionary<Type, Throttle>
adamralph / UdiWorld.cs
Created Oct 22, 2018
My solution to the saga homework for
View UdiWorld.cs
namespace UdiWorld
using System;
using System.Threading.Tasks;
using NServiceBus;
public class UserBecamePreferred
public Guid UserId { get; set; }
adamralph / bullseye-custom-args-mcmaster.cs
Last active Aug 11, 2019
Using Bullseye with custom args with McMaster.Extensions.CommandLineUtils
View bullseye-custom-args-mcmaster.cs
// dotnet add package McMaster.Extensions.CommandLineUtils
using System.Linq;
using McMaster.Extensions.CommandLineUtils;
using static Bullseye.Targets;
class Program
static void Main(string[] args)
View twitter-home-hider.js
// ==UserScript==
// @name Twitter Home hider 323465
// @version 1
// @grant none
// @include*
// ==/UserScript==
document.getElementById("global-nav-home").style.display = "none";
adamralph / search-package-usage.linq
Last active Nov 10, 2017
A LINQPad script to search GitHub repos for package usage (and potentially other things)
View search-package-usage.linq
<Query Kind="Statements">
// I wrote this script to help me find out where my NuGet packages are being used.
View .editorconfig
root = true
charset = utf-8
end_of_line = crlf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 120
trim_trailing_whitespace = true
adamralph / build.cmd
Last active Nov 17, 2017
Standard build boostrapper
View build.cmd
@echo Off
cd %~dp0
setlocal EnableDelayedExpansion
set CSI_VERSION=2.4.0
set SCRIPT=%~n0.csx
set PACKAGES_CONFIG=packages.config
set PACKAGES_DIR=packages\
You can’t perform that action at this time.