Coding_Tools/README.md
2025-02-03 21:07:15 +01:00

2.3 KiB

Coding Tools

Tools that I wrote to help me code faster and more efficiently. All of these require python>=3.6.

Ucompile

Pronounced "you compile", stands for "University Compiler". It is a simple script that compiles and runs programs in one line. It also automatically takes all .in files in the directory and feeds them to the program. It is useful for competitive programming and for testing programs with multiple test cases.

Currently supports:

  • C (.c)
  • Python (.py) (with Python 3 and PyPy3)
  • Java (.java)
  • Haskell (.hs)

Optional arguments:

  • -o checks the output of the program against the .out files in the directory
  • -v, --verbose prints the output of the program
  • -a uses an alternative compiler (e.g. mvn instead of javac)
  • -t, --tests specifies a test case folder (default is ., the current directory)
  • -T, --time prints the time taken to run the program

The program is integrated with temmies for automatic Themis submission.

unifytex

is a script designed to automate the process of generating separate LaTeX include files for .tex files in a directory, making it easier to manage large LaTeX projects. It recursively scans a specified directory and creates consolidated .tex files that include all the LaTeX files within each subdirectory.

(EXAMPLE) If the directory structure is:

/project
   ├── section1
   │   ├── intro.tex
   │   ├── methods.tex
   ├── section2
   │   ├── results.tex
   │   ├── discussion.tex

Running:

python3 unifytex.py /project

Will create:

/project/consolidated
   ├── section1.tex  (contains \input{section1/intro.tex} and \input{section1/methods.tex})
   ├── section2.tex  (contains \input{section2/results.tex} and \input{section2/discussion.tex})

This allows you to include an entire section in your main LaTeX document with:

\input{consolidated/section1.tex}

flatcher

Flask + Catcher = Flatcher. A simple script that runs a Flask server and catches all requests to a specified port, detailing the request method, path, and headers. Useful for debugging and testing webhooks.

Important

This script requires Flask to be installed. You can install it with pip install Flask.