Skip to content

Instantly share code, notes, and snippets.

View TerribleDev's full-sized avatar
🦄
Love Coffee

Tommy Parnell TerribleDev

🦄
Love Coffee
View GitHub Profile
@TerribleDev
TerribleDev / TargetLinkExtension.cs
Created January 22, 2019 00:15
A markdig extension so add target blank to absolute urls
public class TargetLinkExtension : IMarkdownExtension
{
public void Setup(MarkdownPipelineBuilder pipeline)
{
}
public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer)
{
var htmlRenderer = renderer as HtmlRenderer;
@TerribleDev
TerribleDev / createMarkedSelector.js
Last active July 16, 2021 14:53
Wrap reselect's createSelector with a function that measures how long selectors take to run
import {createSelector} from 'reselect';
const hasPerformanceApi =
window &&
window.performance &&
window.performance.measure &&
window.performance.mark;
const createFuncWithMark = (name, callback) => (...args) => {
const startMark = `${name}-Startmark`;
@TerribleDev
TerribleDev / replace
Created January 2, 2019 22:59
Regex to Replace createSelector with createMarkedSelector
const(\s?)(\w*)(\s?)=(\s)createSelector\(
const$1$2$3=$4createMarkedSelector('$2',
@TerribleDev
TerribleDev / exitCode.sh
Created December 14, 2018 12:34
put exit codes in shell
# Custom bash prompt via kirsle.net/wizards/ps1.html
export PS1="\[$(tput bold)\]\$?|\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"
@TerribleDev
TerribleDev / ConsoleAppenderExample.cs
Created October 7, 2017 17:40
The console appender example from apache's log4net site
#region Apache License
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to you under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
@TerribleDev
TerribleDev / ChangeLanguageVersion.cs
Last active October 2, 2017 15:24
Programmatically Set C# Language Version across many projects
using Microsoft.Build.Evaluation.Project;
using System.IO;
void Main()
{
var files = Directory.GetFiles(@"c:\projects\projectRoot\", "*.csproj", SearchOption.AllDirectories);
foreach (var file in files)
{
var project = new Project(file);
project.SetProperty("LangVersion", "6");
project.Save();
@TerribleDev
TerribleDev / TryParse.cs
Last active July 30, 2017 05:18
HowToUseTryParse.cs
string input = "some input";
int output;
if(int.TryParse(input, out output))
{
//it parsed it
// output now equals the value
}
else{
//it did not parse it
@TerribleDev
TerribleDev / delete.cs
Created March 9, 2017 18:38
delete aws instances on a tag
static void Main(string[] args)
{
var t = new Amazon.EC2.AmazonEC2Client("key", "scrt", Amazon.RegionEndpoint.USEast1);
string nextToken = null;
var lst = new List<Instance>();
do
{
var instances = t.DescribeInstances(new Amazon.EC2.Model.DescribeInstancesRequest() { NextToken = nextToken });
nextToken = instances.NextToken;
lst.AddRange(instances.Reservations.SelectMany(a=>a.Instances).Where(a=>a.Tags.Any(b=>b.Key == "key" && b.Value == "value")));
@TerribleDev
TerribleDev / setup-docker-win8-server2012.ps1
Last active January 19, 2017 11:17
setup win8/server2012 with docker-machine
set-executionpolicy unrestricted -Force
dism /Online /Enable-Feature:Microsoft-Hyper-V /All
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install -y docker docker-machine docker-compose
#!/bin/bash
curl -sSL https://get.docker.com/ | sh
curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose