Skip to content

Instantly share code, notes, and snippets.

@jul
jul / todel.py
Last active December 13, 2021 11:21
jeu de la vie (à réécrire (kleenex)) en pavage triangulaire
import PySimpleGUI as sg
from operator import itemgetter
### uitliser ipython -i argv[0] pour être en interactif et faire joujou
can = sg.Canvas(size=(1412,998))
status=sg.Text('status')
win = sg.Window("titre",[[can,],[status,],], finalize=True)
c = can.TKCanvas
from time import sleep, time
from random import randint
from os import system
@jul
jul / goft.py
Created December 12, 2021 12:22
gof triangulaire on the way
import PySimpleGUI as sg
from operator import itemgetter
### uitliser ipython -i argv[0] pour être en interactif et faire joujou
can = sg.Canvas(size=(400,600))
status=sg.Text('status')
win = sg.Window("titre",[[can,],[status,],], finalize=True)
c = can.TKCanvas
from time import sleep
SZ=50
@jul
jul / gof_base.py
Created December 11, 2021 21:02
préparer un jeu de la vie en base triangulaire (les carrés sucent)
import PySimpleGUI as sg
### uitliser ipython -i argv[0] pour être en interactif et faire joujou
can = sg.Canvas(size=(400,600))
win = sg.Window("titre",[[can,],],finalize=True)
c = can.TKCanvas
from time import sleep
SZ=50
ORD=1
def save(canvas, name="save"):
@jul
jul / tr.py
Created December 11, 2021 09:11
dessiner un pavage triangulaire en python en moins de 100 sloc
import PySimpleGUI as sg
### uitliser ipython -i argv[0] pour être en interactif et faire joujou
can = sg.Canvas(size=(400,600))
win = sg.Window("titre",[[can,],],finalize=True)
c = can.TKCanvas
SZ=50
def tr(x,y, up=1,**kw):
""" créer un triangle équilatéral centré en x,y avec une homothétie /
symmétrie sur l'axe des y (up / down) exprimée en coordonnées
@jul
jul / test_fdj.py
Last active January 12, 2021 10:54
simulation de 100 tirages au hasard et mesure des fréquences des gains a Végas
#!/usr/bin/env python3
from archery import mdict
from functools import reduce
from random import randint, seed
from json import dumps
from sys import argv
pp = lambda d:print(dumps(d, indent=4))
_seed = argv[1]
print(_seed)
seed(int(_seed))
@jul
jul / test.sh
Last active November 3, 2020 21:55
checking font substitution on firefox
#!/usr/bin/bash
MIN_FF_OPT=" --headless "
FF="firefox $MIN_FF_OPT"
die() { echo "$@"; exit 0;}
fc-match Andika || die "le test va pas marcher"
echo "basically if I could create profile from scratch I would put only this"
cat <<EOF
user_pref("font.default.x-western", "Andika");
@jul
jul / gnuplot_plot
Last active November 2, 2020 19:19
moving median
#!/usr/bin/env gnuplot
set timefmt '%Y-%m-%d'
set xdata time
set yrange [1<*:]
set format x '%Y-%m-%d'
set xrange ["2020-03-01"<*:]
set datafile sep ','
@jul
jul / control.sh
Last active October 21, 2020 10:14
watchdog in bash
#!/usr/bin/bash
MYPID=$$
watchdog () {
( PID=$1
DONE=0
while [[ $DONE == 0 ]]; do
echo "watchdog running"
if $( kill -0 $PID ); then
sleep 1;
else
@jul
jul / secrets.sh
Last active October 6, 2020 21:56
keeping my secrets in exported variables (CLI on video + k8s, docker, vagrant)
#!/usr/bin/env -S bash -i
STASH=~/.secrets
RZ="\e[0m"
GR="\e[92m"
RD="\e[91m"
HL="\e[1m"
mkdir $STASH &> /dev/null
chmod 700 $STASH
if [ ! -z "$1" ]; then
@jul
jul / calc4-2.py
Created September 8, 2020 12:33
calc v2
#!/usr/bin/python3.7
from functools import reduce
push_to_stack=object()
stack=[]
OP="+/-*"
all_true=lambda x: True
def crush_stack():
global stack