Skip to content

Instantly share code, notes, and snippets.

Figuring it out as I go

Chris Fuller sfaleron

Figuring it out as I go
Block or report user

Report or block sfaleron

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
sfaleron /
Last active Dec 1, 2017
Quickly access directories from anywhere, with a shell function and Python script
from __future__ import print_function
# The definitions are in the file "mydirs.dat" which is in the same directory
# as this file. Lines of this file may be blank or a label/directory pair,
# colon delimited. These can contain just about anything that doesn't confuse
# the shell, except colons and newlines, of course.
# Into your .bashrc, .profile, .zshrc, or whatever:
# cd_()
sfaleron / hexdump.format
Created Sep 24, 2015
Hexdump formatting inspired by old DOS DEBUG command
View hexdump.format
"%04_ax "
2/1 "%02x" " " 2/1 "%02x" " " 2/1 "%02x" " " 2/1 "%02x" "-" 2/1 "%02x" " " 2/1 "%02x" " " 2/1 "%02x" " " 2/1 "%02x"
" |"
16/ "%_p"
sfaleron /
Created Sep 24, 2015
Python function to create a hexdump inspired by old DOS DEBUG command
_fmtinner = ('',' ') * 3 + ('','-') + ('',' ') * 3 + ('','')
_fmtouter = (' ', ' |', '|')
def _mkhex(d, i):
return '%02x' % (ord(d[i]),)
except IndexError:
return ' '
def _mkchar(d, i):
sfaleron /
Created Sep 24, 2015
Quick ln2 function for Python
from math import ceil
# for example, inc=4 gives ln16, or the number of hexadecimal digits
# required to represent n.
def ln2(n, inc=1):
if n<0:
raise ValueError('math domain error')
i = 0
n = int(ceil(n))
sfaleron / classy.js
Created Feb 27, 2017
Making JS classier. Until moving on to something with classiness baked-in that compiles to JS :)
View classy.js
// Requires ES5
// Inheritance pattern inspired by
// instanceOf has the usual straightforward-inheritance-checker problems with iFrames
if (typeof classyJS === 'undefined') {
var classyJS = (function () {
'use strict';
sfaleron /
Last active Nov 2, 2017
Check the current version of maven artifacts at jcenter
# Query the current version of maven artifacts at jcenter
# Current favorites:
# org=org.jetbrains.kotlin pkg=kotlin-runtime
# org=io.kotlintest pkg=kotlintest
# org=no.tornado pkg=tornadofx
import requests
sfaleron /
Last active Jul 30, 2019
Infinite prime number generator for Python3
# Originally from
# Updated for Python3 by Chris Fuller.
# The automated 2to3 translation doesn't work. The tricky bit is the heap item.
# This is a (int, object) tuple in the original module, but the second element
# becomes a map iterator in Python3, which does not compare, so an exception
# is raised when the heap is sorted.
# It turns out that the object in the original tuple is irrelevant to the sort
# (it compares by memory location, which isn't well defined!). The int deter-
sfaleron /
Last active Jul 27, 2018
Return the "bitness" of the Python interpreter. Generally 32 or 64, but this is not presumed.
"""Presumes that the bitness is a power of two. There have been exceptions,
but they are hopefully securely sealed up in the dustbin of history. I
am not aware of any port of Python to such a platform.
Additionally, systems with fewer than eight bits are not handled correctly.
If you find yourself in such a situation, you are presumed to know better
than to rely on this module."""
def pyBits():
sfaleron /
Last active Jul 25, 2018
Queries Windows registry for Python installations, as specified in PEP514. The bitness is determined by invoking it, since only v3.5 and later include that in the registry.
# PEP514 defines these registry entries
from __future__ import print_function
import pybits
import sys
sfaleron /
Last active Jul 30, 2019
Class factory helper; set the attribute dictionary from locals
class NewBinds(object):
"""Copy a dictionary, while retaining only updates.
The intended purpose of this class is to simplify the code
creating attribute dictionaries for class factories, but it
would also work anywhere else a lot of bindings which include
function definitions are bundled into a dictionary.
Example usage: the locals dictionary is passed at instantiation,
additional bindings are made, and then the instance is called with
You can’t perform that action at this time.