Skip to content

Instantly share code, notes, and snippets.


Abe Flansburg aflansburg

View GitHub Profile
aflansburg /
Last active Apr 22, 2021
Plots a series using the Seaborn histogram plot with kde and, mean, mode, and median lines in Jupyter / iPython
## handy multi-plot function for showing mode, median, and mean lines in a distplot
## (but using histplot since distplot is deprecated)
## Author - Abram Flansburg
## Intended for use in Jupyter / iPython
def skewness_plot(series):
Plots a series using the histogram plot with kde and plots, mean, mode, and median lines.
*** Dependencies ***
Series must be a pandas.Series
Seaborn must be imported as sns
aflansburg / lambda_cloudwatch_slack.js
Created Apr 20, 2021
Node.js Lambda to decompress and parse Cloudwatch Log Event gzipped data and send to Slack
View lambda_cloudwatch_slack.js
// In this scenario - a Cloudwatch Subscription Filter is hooked up to a Node.js lambda's ARN
// (see AWS docs around Log Group subscription filters)
// Will need a webhook for the appropriate Slack channel
const https = require('https');
const zlib = require('zlib');
const options = {
hostname: '',
aflansburg /
Last active Apr 15, 2021
Tabular Null Value Check display Function for Pandas Dataframe
# Not my original function - looking for citation
def missing_check(df):
null_val_sum = df.isnull().sum()
total = df.isnull().sum().sort_values(ascending=False) # total null values
percent = (null_val_sum/df.isnull().count()).sort_values(ascending=False)
missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])
return missing_data
aflansburg / plot.rb
Last active Apr 7, 2021
Ruby Modules, require, module_function, and Rails
View plot.rb
# imagine this lives at app/lib/complicated_data
module ComplicatedData
def generate_complicated_plot_data(start_date: 30.days.ago, end_date:, type: nil)
# implementation
# module_function ensures the method cannot be overridden or extended
module_function :generate_complicated_plot_data
aflansburg / haversine.rb
Last active Apr 6, 2021
Haversine - Straight Line Distance Between Two Sets of Geographical Coordinates (Latitude, Longitude)
View haversine.rb
# radius of earth in meters
R = 6371000;
def haversine(coord1:, coord2:)
# first add our own radians function since Ruby Math does not have one
radians = -> (degrees) { degrees * (Math::PI / 180)}
# convert latitude degrees to radians
phi_1 =[:latitude]);
phi_2 =[:latitude]);
aflansburg / haversine.js
Created Apr 6, 2021
Haversine - Straight Line Distance Between Two Sets of Geographical Coordinates (Latitude, Longitude)
View haversine.js
// see the Haversine formula description here
function haversine(coord1, coord2){
// radius of earth in meters
const R = 6371000;
// convert latitude degrees to radians
const phi_1 = Math.radians(coord1.latitude);
const phi_2 = Math.radians(coord2.latitude);
aflansburg / Password.js
Last active Jul 1, 2020
Very basic JS password strength test
View Password.js
class Password {
this.password = password;
this.getPassword = () => password
length: 8,
alpha_numeric_count: 8,
spec_char_count: 1,
aflansburg / cyberpunk_vaporwave.itermcolors
Created Jan 13, 2020
Vaporwave / Cyberpunk 2077 iTerm Color Theme/Scheme
View cyberpunk_vaporwave.itermcolors
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">
<key>Ansi 0 Color</key>
<key>Alpha Component</key>
<key>Blue Component</key>
aflansburg / chinaFriendlyCaptcha.js
Last active Sep 15, 2020
Creating a China friendly captcha w/ Jquery & Rails view
View chinaFriendlyCaptcha.js
function getCnNumber(x){
if (x > 10 && x <= 20){
const ch = '零一二三四五六七八九十'.split('').map((c, i) => x === i && c).find(s => s);
return '十' + ch;
return '零一二三四五六七八九十'.split('').map((c, i) => x === i && c).find(s => s);
function solveHuman(ans){
aflansburg / user-actions.rb
Last active Sep 9, 2020
simple ruby console app example - user auth
View user-actions.rb
# simple user class
class User
def initialize(user_name, password)
@user_name = user_name
@password = password
attr_accessor :user_name
attr_accessor :password