Skip to content

Instantly share code, notes, and snippets.

@greenkey
greenkey / testing_issue.py
Last active March 21, 2024 16:55
An issue I just discovered
import itertools
import pytest
def sum(a, b):
return a + b
def minimum(*numbers):
@greenkey
greenkey / subform.py
Last active January 27, 2023 08:31
how to change one attribute of a Django form field
from django import forms
class MyGenericForm(forms.Form):
valid_from = forms.DateField(
required=False,
label='Validity Start',
help_text="The first date that this rate is valid.",
widget=forms.DateInput(attrs={"placeholder": "YYYY-MM-DD"}, format="%Y-%m-%d"),
input_formats=["%Y-%m-%d"],
)
@greenkey
greenkey / Day_31_Kids_will_be_all_right.md
Last active January 24, 2023 09:58
Day 31: Kids will be all right

Day 31: Kids will be all right

Babbo Natale vuole assicurarsi che ogni regalo possa essere dato ad un bambino.

Ogni regalo ha delle caratteristiche che lo rendono adatto per alcune classi di bambini.

Ad esempio un regalo potrebbe essere adatto ai bambini che amano l’avventura, oppure potrebbe essere adatto solo per bambini con un’eta’ tra 6 e 10 anni.

Le caratteristiche che prende in considerazione Babbo Natale sono:

La Johns Hopkins University ha inviato questo eccellente riassunto per evitare il contagio, condividilo perché è molto chiaro:
* Il virus non è un organismo vivente, ma una molecola proteica (DNA) coperta da uno strato protettivo di lipidi (grassi) che, se assorbito dalle cellule della mucosa oculare, nasale o della bocca, modifica il loro codice genetico. (mutazione) e li converte in cellule di moltiplicatori e aggressori.
*Poiché il virus non è un organismo vivente ma una molecola proteica, non viene ucciso, ma decade da solo. Il tempo di disintegrazione dipende dalla temperatura, dall'umidità e dal tipo di materiale in cui si trova.
* Il virus è molto fragile; l'unica cosa che lo protegge è un sottile strato esterno di grasso. Ecco perché qualsiasi sapone o detergente è il miglior rimedio, perché la schiuma ROMPE IL GRASSO (ecco perché devi strofinare così tanto: per almeno 20 secondi o più, e fare molta schiuma). Dissolvendo lo strato di grasso, la molecola proteica si disperde e si scompone da sola.
@greenkey
greenkey / avoid_memoize_during_test.py
Created May 5, 2017 18:29
how to avoid django-memoize during test
# Supposing you're using the django-memoize package, you could have the
# following view memoized:
# file: your_module/views.py
# ...
@memoize(timeout=60)
def very_heavy_view(request):
time_consuming_function()
# ...
# ...
@greenkey
greenkey / gcj-2017-C.py
Last active April 12, 2017 12:19
My solution for the Problem C of the qualification of 2017's edition of Google Code Jam: Bathroom Stalls
#! /usr/bin/env python
import sys
def progress(s):
print("%-80s\r" % s, file=sys.stderr, end='')
def solve2(line):
@greenkey
greenkey / gcj-2017-B.py
Last active May 31, 2017 16:18
My solution for the Problem A of the qualification of 2017's edition of Google Code Jam: Oversized Pancake Flipper Raw
#! /usr/bin/env python
import sys
def solve(line):
if len(line) == 1:
return line
prev = "0"
for i, digit in enumerate(line):
@greenkey
greenkey / gcj-2017-A.py
Created April 10, 2017 11:56
My solution for the Problem A of the 2017's edition of Google Code Jam: Oversized Pancake Flipper
#! /usr/bin/env python
import sys
def solve(line):
pancake_row = [p == '+' for p in line.split()[0]]
pan_size = int(line.split()[1])
flips = 0
@greenkey
greenkey / tablespace_shrink.sql
Created June 14, 2016 13:49
Shrink an oracle tablespace
/*
It is not possible to shrink a tablespace that's being used, in order to reclaim the unused space you can use this script (remember to change the value of OLD_TBSP variable)
The script essentially does the following:
- create a new tablespace appending "_TMP" at the end, it's going to use a datafile with the same name, adding (or incrementing) an id;
- move all the object from the old tablespace to the new one;
(this means that on the filesystem there should be enough space for the new datafile, consider also the extra space for the index rebuild!)
- prints the commands to execute in order to drop the old tablespace and rename the new.
At the end it is possible that the space on the filesystem is not freed, follow the instructions here: http://serverfault.com/questions/501963/how-to-recover-free-space-on-deleted-files-without-restarting-the-referencing-pr
@greenkey
greenkey / fraction_exercise_generator.py
Last active March 2, 2016 10:58
To help my daughters learn fractions, I made an exercise generator. Now they hate me.
#!/usr/bin/python3
from random import randrange, random
from fractions import Fraction
from functools import reduce
from operator import mul
def pf(f):
'''Pretty print the fraction'''
return "{}/{}".format(f.numerator,f.denominator)