Skip to content

Instantly share code, notes, and snippets.

View mathcass's full-sized avatar
👋

Cass mathcass

👋
View GitHub Profile
@mathcass
mathcass / .direnvrc
Created June 19, 2018 22:43
Direnv function to aid with loading local virtualenv directories
# Usage: layout_virtualenv <path>
#
# Sets and loads a Python virtualenvironment from a local path
# Eg. `layout_virtualenv venv`
layout_virtualenv() {
local venv_path=${1:-venv}
log_status "Loading $venv_path"
load_prefix ${venv_path}
source ${venv_path}/bin/activate
}
@mathcass
mathcass / pandas_write_to_sheets.py
Created May 31, 2018 21:46
Demonstrates how to combine multiple pd.DataFrame objects into an Excel sheet
"""Demonstrate how to save pd.DataFrame objects to named Excel sheets
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html
Requires having openpyxl installed for writing to Excel documents
"""
import pandas as pd
df1 = pd.DataFrame({
@mathcass
mathcass / markdownify.js
Created May 23, 2018 03:44
Bookmarklet to turn a website into Markdown
// Thanks to https://gist.githubusercontent.com/ImJasonH/c00cdd7aece6945fb8ea/raw/220c97f9e756f5f61eb18630fd7943e3a88e2940/
// Copy the start of javascript to the end and paste it into your bookmark.
// Make sure not to have comments
javascript: (function () {
var list= document.getElementsByTagName('link');
for (var i = 0; i < list.length; i++) {
list[i].parentNode.removeChild(list[i]);
@mathcass
mathcass / arxiv.js
Created May 11, 2018 17:21
If someone sends you a Arxiv link and you want to go to the abstract, you can use this bookmarklet
javascript:(function(){
var location = window.location;
location.pathname = location.pathname.replace('pdf', 'abs').replace('.pdf', '/')
})()
@mathcass
mathcass / bookmark-backup.sh
Created May 6, 2018 01:57
Simple BASH script to backup Mozilla bookmarks to script location directory
#!/bin/bash
# The intent here is to copy a daily backup of Mozilla bookmarks. Because the
# SQLITE database file can be as large as 25+ megabytes, if it has been backed up
# within the last day, there's no need to copy it over again.
# If there is a copy of the database already, bail. Otherwise, copy it.
MOZILLA_DIR="$HOME/.mozilla"
DIR=$(dirname $0)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@mathcass
mathcass / json_marshal_example.go
Created April 15, 2018 20:12
Example of unmarshalling a JSON string in Go "lazily" to ensure that you at least decode some of the items in the event of an error.
// Demonstrates how to do "lazy" JSON Unmarshaling if you suspect that the main
// JSON container is formatted correctly but some sub-items may not be formatted
// correctly.
package main
import (
"encoding/json"
"log"
)
@mathcass
mathcass / uninstall_pip.sh
Created March 26, 2018 01:01
Within a Python virtualenv, remote all instlled packages
pip freeze | xargs -L1 pip uninstall -y
@mathcass
mathcass / notebook-name.js
Created March 23, 2018 20:50
Creates a bookmarklet to automatically name your Jupyter notebook according to https://www.svds.com/jupyter-notebook-best-practices-for-data-science/
// javascript:(function(){// your code here })();
// document.activeElement.value = '2018-03-23-cp-.ipynb'
javascript:(function () {
initials = 'cp';
d = new Date();
dateStr = d.toISOString().slice(0, 10);
notebookTpl = dateStr + '-' + initials + '-.ipynb';
@mathcass
mathcass / aliases.sh
Created March 17, 2018 15:07
Default aliases for Ubuntu
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'