The purpose of this repository is to store (both for me and for others) all the various small scripts, macros files, project templates, and whatever else that I often need to comeback to on a regular basis during my day-to-day work.
Feel free to “borrow” anything you like here (it is released under an MIT license), and if you think I should add something to it don’t hesitate to tell me about it!
The py folder contains several python classes that help me when
running some experiments in Python (or, most often SAGE). Some of the
code is written in C++, so it must be compiled with
sage setup.py build_ext --inplace
Here are the modules it provides:
prg- a small SPARKLE512-based deterministic PRNG. It provides
hopefully high-quality random outputs, and its seed must be set by
hand which helps with reproducibility.
It is implemented in C++ and doesn’t seem to bring any time complexity penaly compared e.g. to
random.randint. LogBook- an easy to use class that helps me generate experimental results that are in a usable form: as a human readable report (in the terminal and/or in a file), and as an importable SAGE/Python module file that will simplify post-processing of the result.
The templates folder contains files and folders I end up
copy/pasting often: the idea is that bothered writing some
boiler-plate code once, and don’t want to do it by hand again.
sage-cpp- a whole folder that contains a minimalistic working C++/SAGE project, i.e. a sage script that calls C++ functions (and how to compile the C++ in such a way that it works).
regular-presentation- a whole folder that contains a minimalistic presentation in the semi-handmade beamer style I usually use. It is intended for a medium to longer length presentation (think 20min conference talk or more). The compiled result is provided in this folder if you are curious.
If you want the logbook to read data from the git repository, you need
install the package gitpython (pip install gitpython and
sage -pip install gitpython)