Skip to content

Instantly share code, notes, and snippets.

Avatar

Matt Ralston MatthewRalston

View GitHub Profile
@MatthewRalston
MatthewRalston / sysinfo.txt
Created Mar 28, 2021
Arch linux Steam sysinfo
View sysinfo.txt
Computer Information:
Manufacturer: Unknown
Model: Unknown
Form Factor: Desktop
No Touch Input Detected
Processor Information:
CPU Vendor: AuthenticAMD
CPU Brand: AMD Ryzen Threadripper 3960X 24-Core Processor
CPU Family: 0x17
View cacheremove.hook
[Trigger]
Operation = Remove
Type = Package
Target = *
[Action]
Description = Clearing cache...
When = PostTransaction
Exec = /home/<user>/.local/bin/tools/removehook
@MatthewRalston
MatthewRalston / peerj.tex
Created Jan 14, 2021
DCNorris' Peerj Latex template
View peerj.tex
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
$if(fontfamily)$
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
$else$
\usepackage{lmodern}
$endif$
% Originally coded by Matt Ralston, Jan 14 2021
% Alex Ball's tutorial LaTeX code for making a bibLaTeX oxyear style (biblatex-oxref)
% Bibliography.
@MatthewRalston
MatthewRalston / root_logger.py
Created Nov 19, 2020
Root_logger boto update
View root_logger.py
def get_root_logger(level):
levels=[logging.WARNING, logging.INFO, logging.DEBUG]
if level < 0 or level > 2:
raise TypeError("{0}.get_root_logger expects a verbosity between 0-2".format(__file__))
logging.basicConfig(level=levels[level], format="%(levelname)s: $(asctime)s %(funcName)s L%(lineno)s| %(message)s", datefmt="%Y/%m/%d %I:%M:%S")
root_logger = logging.getLogger(__name__)
for name in logging.Logger.manager.loggerDict.keys():
if ('boto' in name) or ('urllib3' in name) or ('s3' in name):
logging.getLogger(name).setLevel(logging.ERROR)
return root_logger
View trump-bot-twiml.xml
<Response>
<Say voice="alice">Hi, I'd like to say on behalf of democracy that your behavior is unpatriotic, undemocratic, and your allegations have all been debunked. Check the debunking megathread on Twitter by Isaac Saul. Your actions are shameful and undermine democracy. Furthermore, you're wasting Republican money by keeping this line open. So I will continue to waste your time. Someone has to listen to this stuff anyways. Trump failed. Trump is supported by racists and xenophobes. Trump has hurt American health. Trump has hurt the economy through trade wars. Trump is friends with dictators. Trump was installed through election interference. Trump is a sexual predator. And you are supporting him. Trump failed. Trump is supported by racists and xenophobes. Trump has hurt American health. Trump has hurt the economy through trade
@MatthewRalston
MatthewRalston / reader.py
Created Jun 22, 2019
Fasta + Bam file validation with S3 support
View reader.py
import os
import sys
import gzip
import io
import tempfile
from Bio import SeqIO, bgzf
import pysam
import boto3
# Logger
@MatthewRalston
MatthewRalston / setup.py
Last active Jun 22, 2019
Example setup.py
View setup.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import io
import os
import sys
from shutil import rmtree
from setuptools import find_packages, setup, Command
View webdocs.el
;; Add this to your favorite html/jekyll configuration elisp file
;; Replace $IMG with the relative path to your websites image folder (e.g. img/)
(defun add-popover (link imagepath caption linktext)
"Generate an html popover.
-- Downloads an image file to your website/blog (etc.) image folder.
-- Generate a Bootstrap HTML popover link at the cursor position with caption.
"
(interactive "MImage link:\nFImagepath:\nMCaption:\nMLink text:\n")
(url-copy-file link imagepath)
@MatthewRalston
MatthewRalston / difflib.patch.py
Last active Nov 4, 2018
difflib.SequenceMatcher.get_matching_blocks() doesn't return all results
View difflib.patch.py
# get_matching_blocks returns non-overlapping matches: https://bugs.python.org/issue35079
# the incomplete result is considered a feature
def get_matching_blocks(s1, s2, overlap=True):
if type(s1) is not str:
throw TypeError("get_matching_blocks() expects a string as its first positional argument")
if type(s2) is not str:
throw TypeError("get_matching_blocks() expects a string as its second positional argument")
if type(overlap) is not bool:
throw TypeError("get_matching_blocks() expects a bool as the named argument 'overlap'")
@MatthewRalston
MatthewRalston / Makefile
Created Apr 18, 2018
Python project Makefiles
View Makefile
.PHONY: test docs
install:
pip install -r reuqirements.txt;
docs: docs/Makefile
cd docs; $(MAKE) docs
test: test/Makefile
cd test; $(MAKE) test