Skip to content

Instantly share code, notes, and snippets.

View bskinn's full-sized avatar

Brian Skinn bskinn

View GitHub Profile
@bskinn
bskinn / git-aliases.txt
Last active March 3, 2024 00:02
Various git aliases
# [alias] has been improved to where you don't need explicit sh calls.
# And, as long as you don't need argument processing, you can just
# alias to whatever you would type after 'git'.
[alias]
# Pretty-printed tree view of the commit history
# Can't remember where I found the incantation
logtree = log --graph --all --oneline --decorate=full
# Same as logtree, but adds timestamps for each commit
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@bskinn
bskinn / python_support_email.txt
Created April 1, 2021 14:35
Email requesting consideration of corporate support for Python (Q4 2020)
Dear {recipient},
Given the appreciable business value we have derived from Python and its related scientific tooling over the last few years, at no direct cost to the company, would there be room for {company} to contribute financially to the 501(c)(3) organizations that support these tools?
• Python Software Foundation (supporting the Python language itself): https://www.python.org/psf/
o Q4 2020 funding drive: https://www.python.org/psf/donations/2020-q42020-drive/
• NumFOCUS (supporting nearly all of the scientific packages leveraged in {company} work): https://numfocus.org/
o Currently have an end-of-2020 fundraiser running with a 100% sponsored match: https://numfocus.org/donate-eoy-2020
To note, both organizations have corporate sponsorship programs, which provide defined benefits in exchange for contributions of various sizes:
@bskinn
bskinn / vmake.bat
Created January 19, 2021 16:53
Windows batch file for quick virtualenv creation
@echo off
for /f "tokens=*" %%C in ( 'python3.9 -c "import os, re; print(re.search(r'[^\\]+$', os.getcwd(), re.M).group(0))"' ) do (
set DIRNAME=%%C
)
if [%2]==[] (
python%1 -m virtualenv env --prompt="(%DIRNAME%) "
) else (
python%1 -m virtualenv env --prompt="(%2) "
@bskinn
bskinn / flake8_ext_test.py
Last active September 3, 2022 02:19
Python module designed to raise errors from various flake8 plugins
"""Source file with intentionally broken flake8 things.
Meant to test that various flake8 extensions are correctly installed.
Does NOT rigorously test all errors for all packages!
If you would like an addin or specific error added to this module,
please let me know on Twitter @btskinn.
Invoke with `flake8 --max-complexity 1 flake8_ext_test.py`;
this file should raise AT LEAST the following:
@bskinn
bskinn / flake8_pypi.py
Last active March 19, 2019 14:58
Quick script for listing all "flake8*" packages on PyPI
import json
import re
import requests as rq
pat = re.compile(b'href="/simple/([^/]+)/">')
req = rq.get('https://pypi.org/simple')
for mch in pat.finditer(req.content):
pkg = mch.group(1).decode()
@bskinn
bskinn / scanmerge.py
Last active November 24, 2023 06:45
Helper script to merge two one-sided scan PDFs of a two-sided document into a single PDF, where the odd pages are in order but the even pages are reversed.
#
# Helper script to properly merge two one-sided scans of a PDF,
# where the odd-numbered pages are scanned in order but the
# even-numbered pages are scanned in reverse order.
#
# Requires PyPDF2 ('pip install PyPDF2')
#
# Input PDFs should be named the same thing, with _odd and _even as
# suffixes to the filename (e.g., doc_odd.pdf and doc_even.pdf).
# Pass the base filename into the script,
ANALYZING SYMMETRY OF NORMAL MODES...
FREQUENCIES IN CM**-1, IR INTENSITIES IN DEBYE**2/AMU-ANGSTROM**2,
REDUCED MASSES IN AMU.
1 2 3 4 5
FREQUENCY: 2.81 0.66 0.37 0.17 2.03
SYMMETRY: A A A A A
REDUCED MASS: 9.40532 8.22898 8.71590 8.67428 8.49811
IR INTENSITY: 0.00584 0.00020 0.00001 0.00001 0.00463
@bskinn
bskinn / attrs_warning.md
Created January 10, 2018 16:20
attr DeprecationWarning shown at direct class instantiation, but not when used in an imported module

Environment (Windows 10)

$ pip list
alabaster (0.7.10)
attrs (17.4.0)
Babel (2.5.1)
certifi (2017.11.5)
chardet (3.0.4)
colorama (0.3.9)
coverage (4.4.2)

decorator (4.1.2)

@bskinn
bskinn / ORCA_gbw.md
Created September 18, 2017 13:59
Script by jevandezande for printing ORCA .gbw contents

From here

#!/usr/bin/env python3

import sys
import numpy as np

file_name = sys.argv[1]