Skip to content

Instantly share code, notes, and snippets.

View boechat107's full-sized avatar

Andre Boechat boechat107

View GitHub Profile
@boechat107
boechat107 / cache_with_schedule.py
Last active March 22, 2020 17:58
A Python decorator to cache functions and clear the cache as scheduled
from datetime import datetime as dt
from croniter import croniter
from functools import wraps
from typing import Dict, Any
def cache_with_schedule(schedule: str):
"""
Decorator to cache the results of a function "f(x)" and clear the cache as
scheduled.
@boechat107
boechat107 / git-mr-cherry-pick.sh
Last active February 15, 2022 16:22
Bash function to update a branch based on a just merged to "master" branch
#!/bin/bash
# This script is useful to update branches that are based on a branch
# that was just merged to "master".
#
# As an example, suppose you have an open Merge Request based on branch "B1"
# and, while you are waiting for reviews, you start working on another
# branch, "B2", which is created directly from "B1".
# After a few commits on "B2", your MR gets reviewd and "B1" is merged to
# "master".
# Now your code on "B2" is ready for review and you want to create a new
@boechat107
boechat107 / multiple_knapsacks_problem.py
Last active March 17, 2022 21:35
Multiple knapsacks problem
"""
Knapsacks have weight capacity; items have weight and value.
We want to find the allocation of items which maximizes the total
carried value.
"""
from typing import List, Set, Tuple