Skip to content

Instantly share code, notes, and snippets.


Jim Dennis JimDennis

View GitHub Profile
JimDennis /
Created Dec 4, 2022
How to use gists for discussion of Python code
# Nostr posting: My first ever python script I wrote almost two years ago.
# This program will take user inputs and output the caloric intake required as stated in the insanity elite nutrition guide
print('Welcome to the Insanity Calorie calculaor \n');
# Step #1 Use the Harris Benedict Equation:
# First ask what the weight height, and age
print('Please answer each question \n')
weight = float(input("Please enter your weight in pounds: \n"))
dic = {}
for idx, char in enumerate (string):
if char! =' ':
if char not in dic:
dic [char] = [idx]
dic [char].append(idx)
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
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 /
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 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
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 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])
#!/usr/bin/env python2
''' Eratosthenes sieve
from __future__ import print_function
import array
import time
start = time.time()
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()