Skip to content

Instantly share code, notes, and snippets.

@ptaylor
ptaylor / camel_ftp_output_stream.groovy
Created September 28, 2015 08:15
Output stream what writes to a FTP file via Camel.
class ExampleCamelFtpStream {
static void main(String[] args) {
new ExampleCamelFtpStream().run()
}
void run() {
try {
@ptaylor
ptaylor / logging-smtp-server
Last active March 1, 2022 10:17
SMTP server that writes emails to the console and appends to a log file.
#!/bin/sh
cat << __EOF__ | sudo /usr/bin/env python3
from smtpd import SMTPServer
import asyncore
import datetime
PORT=25
HOST='localhost'
@ptaylor
ptaylor / console-smtp-server
Last active March 1, 2022 10:17
SMTP server that writes emails to the console.
#!/bin/sh
cat << __EOF__ | sudo /usr/bin/env python3
PORT=25
HOST='localhost'
import smtpd, asyncore
server = smtpd.DebuggingServer((HOST, PORT), None)
print(f"[SMTP {HOST}:{PORT}]")
@ptaylor
ptaylor / byte_array_to_ascii_ebcdic
Created January 20, 2017 12:34
Convert a byte array to a readable string with ASCII and EBCDIC characters
def bytes2String(byte[] bytes) {
long count = 0
long max = 16
def dump = '\n POS | DATA | ASCII | EBCDIC'
def curHex = ''
def curChars = ''
def curCvtChars = ''
@ptaylor
ptaylor / git-grep-all
Created January 20, 2017 14:12
Run git grep for all repositories under the current directory
#!/bin/sh
#
# Grep all git repos under the current directory.
#
# Usage: git-grep-all <exp>
#
# Examples:
#
# git-grep-all Foo
#
@ptaylor
ptaylor / random-password.py
Created March 4, 2017 14:53
Generate random password
import random
import string
import sys
import time
import os
args = sys.argv[1:]
SLEEP_TIME = 0.01
LIMIT = 10
@ptaylor
ptaylor / merge-dicts.py
Created March 5, 2017 11:04
Python merge two dicts
def merge(a, b):
c = {}
for k in a:
c[k] = a[k]
for k in b:
if k in c:
v1 = c[k]
v2 = b[k]
if isinstance(v1, dict) and isinstance(v2, dict):
@ptaylor
ptaylor / TlsHttpBuilder.groovy
Created April 6, 2017 15:52
Groovy HTTPBuilder supporting TLS 1.2
import groovyx.net.http.HTTPBuilder
import org.apache.http.client.HttpClient
import org.apache.http.impl.client.DefaultHttpClient
import org.apache.http.impl.conn.PoolingClientConnectionManager
import org.apache.http.impl.conn.SchemeRegistryFactory
import org.apache.http.params.HttpParams
import javax.net.ssl.SSLContext
import javax.net.ssl.SSLSocket
import java.security.SecureRandom
@ptaylor
ptaylor / ElapsedTimeLogger.java
Last active December 20, 2017 17:14
Java 8 elapsed time logger
package org.example.utils;
import lombok.extern.slf4j.Slf4j;
import java.util.function.Supplier;
/**
* Log elapsed time for a function.
*
* Usage:
@ptaylor
ptaylor / RandomCodeGenerator.java
Created November 10, 2017 14:21
User friendly random code generator
import java.security.SecureRandom;
import java.util.Random;
public class RandomCodeGenerator {
static final SecureRandom RANDOM = new SecureRandom();
static final char[] LETTERS = "ABCEFGHJKMNPQRSTWXYZ".toCharArray();
static final char[] NUMBERS = "0123456789".toCharArray();
static final int DEFAULT_NUM_CODES = 20;