Skip to content

Instantly share code, notes, and snippets.

View durden's full-sized avatar

Luke Lee durden

View GitHub Profile
@durden
durden / notes.md
Last active July 14, 2021 07:28
Script, Library, or Executable: You can have it all!
@durden
durden / logger_size.py
Created November 15, 2017 10:15
Get size in KB of your logging infrastructure
import sys
import logging
def get_logger_memory_footprint():
"""
Get tuple of (logger names, size in KB)
"""
loggers = logging.Logger.manager.loggerDict
@durden
durden / mock.py
Created November 14, 2017 08:55
Simple mocking in Python
import contextlib
@contextlib.contextmanager
def mock_attr(object_, orig_attr_name, mock_attr):
"""
Temporarily mock object attribute for testing
This is similiar to the unittest.patch.object in Python 3.3 just much
simpler for our limited needs and use in Python 2.7.
@durden
durden / getsizeof_recursive.py
Last active February 13, 2023 13:59
Get size of Python object recursively to handle size of containers within containers
##### Taken from https://github.com/bosswissam/pysize
import sys
def get_size(obj, seen=None):
"""Recursively finds size of objects"""
size = sys.getsizeof(obj)
if seen is None:
seen = set()
@durden
durden / css_edits.diff
Created June 27, 2016 08:05
CSS edits for markdown rendering
diff --git a/pskb_website/static/css/base.css b/pskb_website/static/css/base.css
index 519b677..30dfec1 100644
--- a/pskb_website/static/css/base.css
+++ b/pskb_website/static/css/base.css
@@ -588,7 +588,6 @@ a:hover.emphasize-dark {
}
#article pre, #article blockquote, #article form {
- margin-left: 21px;
word-wrap: break-word;

A common definition of a Python decorator is 'A function that takes a function and returns a function.' This is a straight-forward definition, however, it's a bit inaccurate. In practice, a Python decorator is actually more flexible than simply a function.

Callables

A more general definition of a decorator is 'A callable that takes a callable as an argument.' This is a subtle distinction, but it opens up a few new possibilities. This new definition now leads to another question.

@durden
durden / article.md
Last active October 26, 2015 09:06
Python versioning

Python spelunking

Motivation

I recently spent a little time reviewing a Python bug report and determining if I was running with a fixed version of the Python interpreter. I think this is a useful exercise for someone who is overly curious and not a core developer of the language.

This post is a rundown of my thought process while trying to figure this out.

@durden
durden / mac_defaults.sh
Created October 29, 2014 21:07
Collection of OS X defaults
# Taken from
# https://github.com/MatthewMueller/dots/blob/master/os/osx/defaults.sh
echo "Expanding the save panel by default"
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true
echo "Enabling full keyboard access for all controls (e.g. enable Tab in modal dialogs)"
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3