Skip to content

Instantly share code, notes, and snippets.

@PM2Ring
PM2Ring / tk_photoimage_pixels2.py
Created May 15, 2017 12:06
Illustrate PhotoImage pixel-plotting slowdown
#!/usr/bin/env python3
''' Use a PhotoImage to plot single pixels in a Tkinter Label
Written by PM 2Ring 2017.05.13
'''
import tkinter as tk
from time import perf_counter
import sys
@PM2Ring
PM2Ring / 64-65_paradox.svg
Created May 15, 2017 13:12
An SVG animation of the classic 64/65 Fibonacci paradox
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@PM2Ring
PM2Ring / tk_orbit.py
Created May 26, 2017 14:04
Simple orbits in Tkinter, using Leapfrog integration.
#!/usr/bin/env python3
''' Simple orbit sim
Uses a PhotoImage to plot single pixels in a Tkinter Canvas
Built from tk_photoimage_pixels3.py
Written by PM 2Ring 2017.05.20
'''
@PM2Ring
PM2Ring / xrange_sum_speed_test.py
Created June 4, 2017 21:47
Compare the speed of sum(xrange()) to sum(range())
#!/usr/bin/env python
""" Compare the speed of sum(xrange()) to sum(range())
Written by PM 2Ring 2017.06.05
"""
from timeit import Timer
cmds = {
@PM2Ring
PM2Ring / digit_substrings.py
Created June 6, 2017 16:55
Hackerrank digit substring puzzle
n = '12345678901234567890'
total = units = a = sum(map(int, n))
for k, d in enumerate(n[:-1], 1):
units -= int(d)
a = (a - int(n[-k:])) * 10 + units
total += a
print(total)
@PM2Ring
PM2Ring / shuffle_speed_test.py
Created June 9, 2017 12:59
Compare speed of random.shuffle with sort using a random key
#!/usr/bin/env python3
''' Compare the speeds of random.shuffle
with sorted using a random key function
Written by PM 2Ring 2017.06.09
Python 2 / 3 compatible
'''
@PM2Ring
PM2Ring / batman1-GoLprinter.rle
Created June 17, 2017 11:36
Batman logo generated by a Game of Life pattern
x = 1968, y = 926, rule = B3/S23
1046b2o$1046bo$1038bo5bobo$1038bobo3b2o$1021bo17bobo$1021b2o16bo2bo$
1012b2o2b2o4b2o15bobo$1012b2o2b2o4b3o13bobo5b2o12b2o$1016b2o4b2o7bobo
4bo7bo13b2o$1021b2o9b2o10bobo13b2o$1021bo10bo11b2o14bo$1059bobo$1059bo
bo$1039b2o19bo$1038bobo$1040bo$1057b2o3b2o$1057bobobobo57b2o$1058b5o
58bo$1028bo7b2o21b3o51bo5bobo$1028b2o6b2o22bo52bobo3b2o$1027bobo66bo
17bobo$1096b2o16bo2bo$1087b2o2b2o4b2o15bobo$1087b2o2b2o4b3o13bobo5b2o
12b2o$1091b2o4b2o7bobo4bo7bo13b2o$1096b2o9b2o10bobo13b2o$1020b2o35bobo
36bo10bo11b2o14bo$1021b2o34b2o75bobo$1020bo37bo75bobo$1114b2o19bo$
1047b2o64bobo$1047b2o12b3o51bo$1060bo3bo67b2o3b2o$1013bo37bo7bo5bo66bo
@PM2Ring
PM2Ring / dump_html.py
Created June 20, 2017 14:00
Show the structure of an HTML file (or part thereof) in the shell
#!/usr/bin/env python3
''' Show HTML file structure
Written by PM 2Ring 2017.06.19
'''
import sys
from html.parser import HTMLParser
@PM2Ring
PM2Ring / parse_SO_chat.py
Created June 20, 2017 14:13
Display a Stack Overflow chat room transcript in the shell, with ANSI color codes. Work in progress.
#!/usr/bin/env python3
''' "Simple" parser to extract & print the messages from
an SO chat room transcript file or URL
Work in progress, but usable. I think. :)
Written by PM 2Ring 2017.06.20
'''
@PM2Ring
PM2Ring / packbits_speed_test.py
Created June 29, 2017 16:26
Bit packing speed tests: Numpy vs pure Python 3.
#!/usr/bin/env python3
''' Test speeds of several bit packing algorithms
Written by PM 2Ring 2017.06.29
'''
import numpy as np
from timeit import Timer