View NullCheckExtensions.cs
public static class NullCheckExtensions
public static bool IsNullOrEmpty(this string value) => string.IsNullOrEmpty(value);
public static bool IsNullOrWhitespace(this string value) => string.IsNullOrWhiteSpace(value);
public static bool IfNotNull<T>(this T value, Action<T> trueAction)
if (value == null) return false;
View usermacro.html
## Macro title: UML Sequence Diagram
## Macro has a body: Y
## Body processing: Unrendered
## This macro allows use of js-sequence-diagrams from
## Developed by: Greg MacLellan
## Date created: 2015-09-15
## 2015-09-21: Added suppor for displaying parse errors while rendering
## Installed by: Greg MacLellan
View gist:977437ce7fd49d7a0475

For my own reference, settings that are necessary to make Windows 8/8.1 nice.

Start menu

StartIsBack or Start8. Either work, and this is absolutely essential.

Disable forced auto-update

This inevitably happens during something important. Glad to see MS forces updates -- but... I will restart when I restart.

View signtool.msbuild.tasks
Sign .exe files using signtool.exe.
(c) 2014 Greg MacLellan, Licensed under MIT
* Hides password from being displayed in build output
* Retries against multiple timestamp servers if the server returns an invalid response (fairly common)
View jira-paste-tablizied.js
Listens for a paste event into a JIRA wiki textarea
If there is at least one tab and newline in the pasted text,
and then every line contains the same number of tabs,
it is turned into a table using JIRA wiki markup syntax.
By Greg MacLellan, 2014-04-09. BSD License.
jQuery('').live('paste', function() {
var self = jQuery(this);
var originalText = self.val();
View gist:10157265
-- Returns the same results of MS SQL Server sp_spaceused, but in a single result set
-- from first result set of 'exec sp_spacedused'
db_name() as [database_name]
,ltrim(str((convert (dec (15,2),sf.dbsize) + convert (dec (15,2),sf.logsize)) * 8192 / 1048576,15,2) + ' MB') as [database_size]
,ltrim(str((case when sf.dbsize >= pages.reservedpages then
(convert (dec (15,2),sf.dbsize) - convert (dec (15,2),pages.reservedpages))
* 8192 / 1048576 else 0 end),15,2) + ' MB') as [unallocated space]
View SingleCall.cs
/// <summary>
/// Creates a wrapper that ensures a passed method can only be invoked once, even if
/// called on multiple threads. If invocation has already started by another thread,
/// blocks until that the actual call is complete.
/// </summary>
public class SingleCall
private readonly object _lock = new object();
private bool called = false;
View CallTargetsParallel.tasks
Licensed under BSD (
Copyright (c) 2014, Greg MacLellan
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
View error.php
$http_codes = array(
100 => 'Continue',
101 => 'Switching Protocols',
102 => 'Processing',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
203 => 'Non-Authoritative Information',

Want to fork your own gists? No fork button? No problem!

Install this Gist by saving to disk (click "Raw"), and then locate it on your machine, and drag it to your Extensions tab in Chrome.