Skip to content

Instantly share code, notes, and snippets.

View jeffjohnson9046's full-sized avatar

Jefe Johnson jeffjohnson9046

View GitHub Profile
@jeffjohnson9046
jeffjohnson9046 / get-or-default.cs
Last active March 14, 2018 16:19
A .NET equivalent of Java's "GetOrDefault()" method
/// <summary>
/// Get a value <code>V</code> for the specified key <code>K</code>. If there is no value for the specified
/// key, return a default value instead.
/// </summary>
/// <remarks>
/// This code emulates the Java <code>GetOrDefault()</code> method on a <code>Map</code>. It's also a convenient
/// way to "inline" the <code>Dictionary#TryParse</code> and have it return some value in the event the key we're
/// looking for doesn't exist.
/// </remarks>
/// <example>
@jeffjohnson9046
jeffjohnson9046 / spring-cloud-config-decrypt-curl.sh
Last active August 5, 2019 23:38
Use the Spring Cloud Config service to encrypt/decrypt an encrypted value
# Encrypt
curl -sbiL -X POST http://localhost:8888/encrypt -d '[the value you want to encrypt]'
# Decrypt
curl -sbiL -X POST http://localhost:8888/decrypt -d '[the encrypted value, without the "{cipher}" prefix]'
@jeffjohnson9046
jeffjohnson9046 / kill-all-connections-to-db.sql
Created June 18, 2018 18:10
How to kill all connections to a Postgres database
-- Accepted answer from here: https://stackoverflow.com/questions/5408156/how-to-drop-a-postgresql-database-if-there-are-active-connections-to-it
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = '[your database name goes here]'
AND pid <> pg_backend_pid();
@jeffjohnson9046
jeffjohnson9046 / mvc-add-msg-to-validation-summary.js
Last active November 15, 2018 16:33
How to programmatically add an error message to the MVC ValidationSummary
// Set up an associative array for the error messages. The keys must be the exact name of the
// controls that need to have the error message displayed.
var errorArray = {
SomeProperty: "'SomeProperty' has shit the bed",
SomeOtherProperty: "Whoa - TWO errors? You are up the creek"
};
// Show the errors next to their associated controls
$('#form-to-validate').validate().showErrors(errorArray);
@jeffjohnson9046
jeffjohnson9046 / replace-8bit-chars-ascii.py
Created April 8, 2019 05:25
Replace UTF-8 "extended" characters with ASCII equivalents
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import io
"""
Input file might look something like this:
cat input.txt
some ñ thing
foo ñññ
@jeffjohnson9046
jeffjohnson9046 / search-for-commits-in-git.sh
Last active May 28, 2019 17:22
Search for commits in git
# From here: https://stackoverflow.com/questions/2706797/finding-what-branch-a-git-commit-came-from
# First, make sure you have everything locally:
$ git fetch --all --tags --prune
# Show the local branches a commit is on (the "b4f8b91" is the first 7 characters of the commit hash):
$ git branch --contains b4f8b91
develop
* feature/ast-3975
master
@jeffjohnson9046
jeffjohnson9046 / .mongrc.js
Created June 27, 2019 00:17
A prompt for the mongo shell that displays the user you're logged in as and the database you're pointed at.
/**
Set the mongo shell prompt to display [user name]@[database name]. If the user or database name cannot
be captured, then display "<none>" instead.
*/
var prompt = function() {
var user = db.runCommand({connectionStatus : 1}).authInfo.authenticatedUsers[0].user || "<none>";
var dbLabel = db.getName() || "<none>";
return user + "@" + dbLabel + ">";
}
@jeffjohnson9046
jeffjohnson9046 / rename-first-char-to-uppercase.sh
Last active July 30, 2019 17:03
Rename files/directories so that the first letter is upper-case on OS X
# Assume you have a directory structure that looks something like this:
ls -alh /path/to/my/directory
drwxr-xr-x 38 jeffjohnson staff 1.2K Jul 18 11:07 ./
drwxr-xr-x 6 jeffjohnson staff 192B Jun 23 15:00 ../
drwxr-xr-x 10 jeffjohnson staff 320B Aug 28 2017 foo/
drwxr-xr-x 12 jeffjohnson staff 384B Dec 18 2017 bar/
drwxr-xr-x 11 jeffjohnson staff 352B Feb 26 2018 baz/
-rw-r--r-- 1 jeffjohnson staff 1.8M Aug 14 2017 some-update.sql
# list continues...
@jeffjohnson9046
jeffjohnson9046 / .psqlrc
Last active August 3, 2019 18:53
A .psqlrc file gathered from various sources, for use with PostgreSQL
-- Set client encoding
\encoding UTF8
\set QUIET 1
-- print 'NULL' (instead of a blank) for any columns that have a null value
\pset null 'NULL'
-- Do not automatically commit after every statement
\set AUTOCOMMIT off
@jeffjohnson9046
jeffjohnson9046 / create-saml-keystore.sh
Last active June 3, 2021 21:49
Create a SAML keystore for SSO
# Create a password-protected keystore. Change the -keypass value to a password that meets your password policy. LastPass (or some other password generator) can come in handy here for creating a password.
keytool -genkeypair -alias my-service-provider -keypass password -keyalg RSA -keysize 2048 -keystore my-sso-keystore.jks
# Use openssl to get the identity provider's public key as a file named sso.crt.
openssl s_client -connect my-sso-domain.example.com:443 > sso.crt
# Open the sso.crt file in any editor and remove everything around the BEGIN and END lines. If required, concatenate with any intermediate certificates.
vi sso.crt
# When done editing, the file should look similar to this: