Skip to content

Instantly share code, notes, and snippets.

@klumsy
klumsy / booksofbible.rb
Created June 11, 2013 02:44
Code i wrote to that the dramatized audio bible (word of promise) i bought and downloaded as MP3 and rename the title to something that can be displayed as a whole on the Iphone , and also generate a CSV file of chapters and minutes for my curiousity.
require "rubygems"
require "mp3info"
require "csv"
chapterarray = []
#Dir.glob("/Users/klumsy/Downloads/bible/01_Genesis/*.mp3") do |f|
Dir.glob("/Users/klumsy/Downloads/bible/**/*.mp3") do |f|
Mp3Info.open(f) do |mp3info|
title = mp3info.tag.title
puts title
@klumsy
klumsy / batchextmethod.cs
Created June 19, 2013 00:12
C# extension method that can take an action that takes in a list.. so f(x) where x is a list, and break it up into batches of a certain size and do that action against each batch, either in serial or parallel.
public static IEnumerable<T1> Batch<T,T1>(
this IEnumerable<T> list,
int batchSize,
Func<IEnumerable<T>, IEnumerable<T1>> action,
bool processInParallel = false)
{
int i = 0;
var grpqry = from item in list
group item by (int)i++ / batchSize
into part
@klumsy
klumsy / Batch2.cs
Created August 5, 2013 20:00
my previous batch function wasn't always in parallel. This one seems to work properly and foces the parallelism plus gives you an option on the parallelism settings.
public static IEnumerable<T1> Batch2<T, T1>(
this IEnumerable<T> list,
int batchSize,
int maxParallelism,
Func<IEnumerable<T>, IEnumerable<T1>> action)
{
int i = 0;
return (
from item in list
group item by (int)i++ / batchSize
@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)
@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 / 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)"
${variable:troll .....'',;;::cccllllllllllllcccc:::;;,,,''...'',,'..
..';cldkO00KXNNNNXXXKK000OOkkkkkxxxxxddoooddddddxxxxkkkkOO0XXKx:.
.':ok0KXXXNXK0kxolc:;;,,,,,,,,,,,;;,,,''''''',,''.. .'lOXKd'
.,lx00Oxl:,'............''''''................... ...,;;'. .oKXd.
.ckKKkc'...'',:::;,'.........'',;;::::;,'..........'',;;;,'.. .';;'. 'kNKc.
.:kXXk:. .. .................. .............,:c:'...;:'. .dNNx.
:0NKd, .....''',,,,''.. ',...........',,,'',,::,...,,. .dNNx.
.xXd. .:;'.. ..,' .;,. ...,,'';;'. ... .oNNo
.0K. .;. ;' '; .'...'. .oXX:
@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);
@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)}
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',