Skip to content

Instantly share code, notes, and snippets.

Stephan Sokolow ssokolow

Block or report user

Report or block ssokolow

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
ssokolow /
Last active May 20, 2019
GIMP Plugin for automating the boilerplate involved in colorizing manga pages my way
"""Simple GIMP helper to automate the boierplate of my approach to colorizing
manga pages.
1. Run this plugin from "Image > Start Colorizing..."
2. Select the regions to be colored using whatever approach you find works
best. This script will preserve the original image as the bottom layer
(hidden below a solid white layer) so it can easily be used as input for
selection methods which don't play nicely with transparency.
ssokolow /
Last active May 1, 2019
Examples of Name-Based Mockery in Harry Potter Fanfics

Examples of Name-Based Mockery in Harry Potter Fanfics


  • Un-cited examples are grandfathered in and new ones are only accepted from people I trust.
  • Contributions of citation links for existing entries or new entries with citation links are welcome from anyone (but I can't guarantee GitHub will send me a notification, so it may take time for me to notice and respond)
  • Ideally, I'd like to cite the sources where I saw the grandfathered-in entries so I may keep them in the TODO list if a citation is given that points to a story I haven't read.
  • Note that, when the chapter numbers given by the author and the site disagree, the author's numbering scheme is used in the titles for citations.


ssokolow /
Created Mar 4, 2019
A one-off script for converting a specific dump of the SDL wiki into a Dash/Zeal docset... in case it's useful to someone
#!/usr/bin/env python
"""Quick script to generate a Dash/Zeal docset from the SDL 2 wiki.
- Python 2.x (3.x may work, but it's untested)
- LXML (for parsing the non-XML HTML used in the pages)
- Pillow (for converting favicon.ico into icon.png)
ssokolow /
Last active Jul 23, 2018
Quick semi-hack to provide a means to serde-serialize file modification times prior to UNIX_EPOCH
use std::time::{Duration, SystemTime, UNIX_EPOCH};
use std::panic::catch_unwind;
/// Variation on `std::time::Duration` that sacrifices a bit of precision on the positive
/// side of the in order to provide a nicely serializable form for `SystemTime` values.
/// (Workaround for
#[derive(Eq, PartialEq, Debug, Serialize, Deserialize)]
pub struct Timestamp {
ssokolow /
Last active Feb 23, 2018
Spell-checked QPlainTextEdit for PyQt 5.x using PyEnchant
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""QPlainTextEdit With Inline Spell Check
Original PyQt4 Version:
Copyright 2009 John Schember
Copyright 2018 Stephan Sokolow
ssokolow /
Last active Mar 25, 2019
Refactored version of Bill Mill's printable calendar code
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""Generate a printable calendar in PDF format, suitable for embedding
into another document.
Tested with Python 2.7.
- Python
- Reportlab
ssokolow / 99-rfid-scanner.rules
Created Nov 2, 2017
Demonstration of using a cheap chinese RFID reader from a background application without messing up foreground ones
View 99-rfid-scanner.rules
# Use `udevadm info -a -n /dev/input/whatever` to look up ATTRS{name}
SUBSYSTEM=="input", ATTRS{name}=="HID 04d9:1400", MODE="0666"
ssokolow / screenshot.png
Last active Jun 6, 2018
Simple script to streamline the process of updating a Retrode's firmware on Linux
ssokolow / Cargo.toml
Last active Oct 9, 2018
Simple example of getting the rust-cpython and setuptools-rust examples working together
View Cargo.toml
name = "unimportant_if_subsumed_by_setuptools"
version = "0.1.0"
authors = ["Your Name Here <>"]
name = "unimportant_if_subsumed_by_setuptools"
crate-type = ["cdylib"]
You can’t perform that action at this time.