Skip to content

Instantly share code, notes, and snippets.

View klumsy's full-sized avatar

Karl Prosser klumsy

  • Pushpay Inc
  • Seattle , WA
View GitHub Profile
@klumsy
klumsy / capitalgainsslate.ps1
Created September 30, 2018 00:32
screwing around with capital gain optomization (only works with input data CSVs in specific format
Enum GainTerm {
Short
Long
}
Enum GainLoss {
Gain
Loss
}
@klumsy
klumsy / out-numbers.ps1
Last active September 16, 2018 06:01
Use Numbers on MacOS to display Powershell Data similar to Out-GridView
function Out-Numbers {
<#
.SYNOPSIS
Converts PowerShell Objects in CSV and opens in Numbers on macOS
.DESCRIPTION
Converts PowerShell Objects in CSV and opens in Numbers on macOS
TODO, maybe allow passing through a filename, an only using temp if not.
then allow certian parameters for export-csv like type, or no clobber or append..
.PARAMETER InputObject
Object to output
module ActiveMerchant #:nodoc:
module Billing #:nodoc:
class FirstdataE4Gateway < Gateway
# TransArmor support requires v11 or lower
self.test_url = 'https://api.demo.globalgatewaye4.firstdata.com/transaction/v11'
self.live_url = 'https://api.globalgatewaye4.firstdata.com/transaction/v11'
TRANSACTIONS = {
sale: '00',
authorization: '01',
module ActiveMerchant #:nodoc:
module Billing #:nodoc:
class FirstdataE4V27Gateway < Gateway
self.test_url = 'https://api.demo.globalgatewaye4.firstdata.com/transaction/v27'
self.live_url = 'https://api.globalgatewaye4.firstdata.com/transaction/v27'
TRANSACTIONS = {
sale: '00',
authorization: '01',
verify: '05',
@klumsy
klumsy / PurgeRabbitQueues.ps1
Created December 5, 2014 22:16
Purge all messages in all RabbitMQ message queues.
$rabbitserver = 'localhost:15672'
$cred = Get-Credential
iwr -ContentType 'application/json' -Method Get -Credential $cred "http://${rabbitserver}/api/queues" | % {
ConvertFrom-Json $_.Content } | % { $_ } | ? { $_.messages -gt 0} | % {
iwr -method DELETE -Credential $cred -uri $("http://${rabbitserver}/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)
}
iwr -Cr $cred "http://${rabbitserver}/api/queues" | % { ConvertFrom-Json $_.Content } | % { $_ } | % {iwr -me DELETE -Cr $cred $("http://${rabbitserver}/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)}
@klumsy
klumsy / extmethods.cs
Created September 30, 2014 20:28
random experimental extension methods
public static class Using
{
public static T Expression<T, T1>(Func<T1> createResourceLamda, Func<T1,T> work)
{
//what using statement generates in IL is equiv to this pattern
//http://msdn.microsoft.com/en-us/library/yh598w02.aspx
T1 usingResource = createResourceLamda();
try
{
return work(usingResource);
${variable:troll .....'',;;::cccllllllllllllcccc:::;;,,,''...'',,'..
..';cldkO00KXNNNNXXXKK000OOkkkkkxxxxxddoooddddddxxxxkkkkOO0XXKx:.
.':ok0KXXXNXK0kxolc:;;,,,,,,,,,,,;;,,,''''''',,''.. .'lOXKd'
.,lx00Oxl:,'............''''''................... ...,;;'. .oKXd.
.ckKKkc'...'',:::;,'.........'',;;::::;,'..........'',;;;,'.. .';;'. 'kNKc.
.:kXXk:. .. .................. .............,:c:'...;:'. .dNNx.
:0NKd, .....''',,,,''.. ',...........',,,'',,::,...,,. .dNNx.
.xXd. .:;'.. ..,' .;,. ...,,'';;'. ... .oNNo
.0K. .;. ;' '; .'...'. .oXX:
@klumsy
klumsy / gist:10952291
Created April 17, 2014 04:11
Using TypeScript in PowerShell with PowerShell.JS
ipmo PowerShellJS -Force
$null = New-JSSession -Name test
Invoke-TypeScript -name test -script "1+1"
Invoke-TypeScript -name test -script "var adder = x => x * x" -NoResults
Invoke-JS -name test -Script "adder(5)"
@klumsy
klumsy / trycatch.cs
Last active December 21, 2015 09:48
try/catch while retraining strongly typed reference to an anonymous object.
public static class TryCatch
{
public static T Expression<T>(Func<T> lamda, Action<Exception> onException)
{
try
{
return lamda();
}
catch(Exception e)
{
@klumsy
klumsy / mustreturnsomething.cs
Last active December 21, 2015 04:48
Example of situations where the compiler is telling you that all code paths need a return value, however by the logic of your code, they all do.. so you end up having to write a return statement (or throw an exception) somewhere that will never go, just for it to compile
public static class Retry
{
public static IEnumerable<T1> Expression<T1>(
int retries,
Func<IEnumerable<T1>> action)
{
if (retries < 1) throw new Exception("must have 1 or more retries");
var iterations = 1;
while (iterations <= retries)