Skip to content

Instantly share code, notes, and snippets.

View tweakimp's full-sized avatar
🏠
Working from home

FW tweakimp

🏠
Working from home
View GitHub Profile
@tweakimp
tweakimp / cached.py
Created December 15, 2019 16:08
Cached
import weakref
class Cached(type):
"""
Metaclass.
Only allows the creation of one type of instance, all other instances
with the same initialization variables return the same instance of the
first creation.
@tweakimp
tweakimp / singleton.py
Last active December 15, 2019 14:02
Singleton
class Singleton(type):
"""
Metaclass.
Only allows the creation of one instance, all other tries return
the same instance of the first creation.
Use:
class Test(metaclass=Singleton):
...
@tweakimp
tweakimp / deco.py
Last active November 25, 2019 07:38
decorator magic
import functools
import inspect
import time
import cProfile
import time
from contextlib import contextmanager
import pstats
import sys
@tweakimp
tweakimp / pip_updater.sh
Created September 24, 2019 05:36
pip updater
#!/usr/bin/env bash
echo "PIP PACKAGE UPDATER"
going=true
while $going
do
read -n 1 -p "`echo $'\n[1] Force update all packages'``echo $'\n[2] Check for updates'``echo $'\n[5] Update packages considering dependencies'``echo $'\n[9] Force reinstall all packages'``echo $'\n[Q] Quit'``echo $'\n> '`" ans;
echo $'\n'
case $ans in
1)
echo $'Force updating all packages...\n'
@tweakimp
tweakimp / settings.json
Last active December 28, 2019 09:38
vscode settings
{
"editor.cursorBlinking": "phase",
"editor.fontFamily": "Fira Code Retina, 'Courier New', monospace",
"editor.fontLigatures": true,
"editor.fontSize": 16,
"editor.minimap.enabled": false,
"editor.suggestSelection": "first",
"extensions.autoUpdate": false,
"files.exclude": {
"**/.pyc": true,
@tweakimp
tweakimp / multiplicative_persistance.py
Last active April 29, 2019 17:38
multiplicative persistance
# time everything precisely
from time import perf_counter_ns
from multiprocessing import Pool
from functools import partial
def persistance(n, minimum=10, sequence=False):
if sequence:
print(f"Started with {n}")
depth = persinstence_rec(n, sequence=sequence)
# only print numbers with a persistance greater than 10
@tweakimp
tweakimp / time_this.py
Last active September 25, 2019 17:00
Time code blocks
import time
from contextlib import contextmanager
@contextmanager
def time_this(label):
start = time.perf_counter_ns()
try:
yield
finally:
@tweakimp
tweakimp / a_star.py
Last active December 17, 2018 21:12
A* pathfinding in starcraft
"""
A* pathfinding starcraft in python
How can I optimize create_path?
"""
import heapq
import random
import time
import sc2
from sc2 import Race, maps, run_game
@tweakimp
tweakimp / theme.jsonc
Created October 16, 2018 20:36
VS Code Theme
{
"colors": {
"activityBar.background": "#1E2428", // standard background
"activityBar.border": "#000000", // standard border
"activityBar.dropBackground":"#3E4246", // drag and drop
"activityBar.foreground": "#dcdcdc",
"activityBar.inactiveForeground": "#BCBDBE",
"activityBarBadge.background": "#0F1519",
"activityBarBadge.foreground": "#dcdcdc",
"badge.background": "#3E4246",
@tweakimp
tweakimp / line_count.py
Last active January 16, 2019 15:23
code statistics
import glob
import os
total_code_lines = 0
total_blank_lines = 0
total_comment_lines = 0
total_functions = 0
total_async_functions = 0
total_classes = 0
file_count = 0