Skip to content

Instantly share code, notes, and snippets.


Jim Dennis JimDennis

View GitHub Profile
JimDennis /
Last active Aug 10, 2017 — forked from anonymous/
Mystery Python code from G+
#/usr/bin/env python
from __future__ import print_function
import random
list1 = list('abc') # We can expand strings into lists with this:
list2 = list1[:] # Makes a (shallow) copy of the list
letter_counts = dict()
#!/usr/bin/env python2
''' Eratosthenes sieve
from __future__ import print_function
import array
import time
start = time.time()
JimDennis /
Created Feb 19, 2018
Rot-13 in Python
#!/usr/bin/env python
from __future__ import print_function
from string import uppercase
key = dict()
for plain,code in zip(uppercase, uppercase[13:]+uppercase[:13]):
key[plain] = code
key[plain.lower()] = code.lower()
def rot13(msg):
results = ''.join([key.get(c,c) for c in msg])
View parse_iwinfo_scan.awk
# Take output from iwinfo "$INTERFACE" scan command
# ... combine each stanza (record) into a single line and
# prefix with hostname
# Call with -v h="$HOSTNAME"
BEGIN {h=sprintf("%s:\t", h); line=h};
/^[^ ]/ {print line; line=h};
/^ / {line=sprintf("%s %s", line, $0)};
END {print line}
JimDennis /
Created Jun 23, 2019
Python Regular Expression: Validate American Style Comma Separated Integers
# Regular expression to validate if a string is a valid integer with
# commas separating thousands, millions, billions and so on
import re
# start with some test cases:
good_tests = ['1', '12', '123', '1,234', '12,345', '123,456',
'1,234,567', '12,345,678', '123,456,789']
fail_tests = ['1234', '1,2345', '12,34', '1,2', '1,23', '1.2', '1,234.5']
# implement a test harness
JimDennis /
Created Jul 20, 2019
Example of a naïve decorator function
def prefixer(fn, prefix):
'''Return a wrapper which prefix first (string) argument with prefix'''
def wrapper(output, *args, **kwargs):
output = '%s%s' % (prefix, output)
return fn(output, *args, **kwargs)
return wrapper
## Example of a decorator WITHOUT using the @wrapper syntactic sugar
## (to save ref to print if we want to use it later: old_print = print)
JimDennis /
Created Sep 10, 2020
Example of a problem importing the "responder" package
#!/usr/bin/env python3.8
import responder
# Raises: ModuleNotFoundError: No module named 'responder'
JimDennis / nixos-install-suggestion
Created Dec 25, 2020
Suggestions for NixOS developers
View nixos-install-suggestion
Offer nixos-enter after nixos-install as Per
After one has installed NixOS as per the instructions at:
consider prompting the user and offering to perform nixos-enter to chroot into /mnt.
This can allow the new user to explore their new installation before reboot; but it also teaches them how they might later
use the nix-enter command for rescue perposes.
Of course getting value of this is in providing enough information in the prompt to inform the user of the option,
offer them more info, and showing them what it's doing (much as the web page is already doing; but presented there
dic = {}
for idx, char in enumerate (string):
if char! =' ':
if char not in dic:
dic [char] = [idx]
dic [char].append(idx)