You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
6.6 KiB
Markdown
191 lines
6.6 KiB
Markdown
# DM Scripts
|
|
|
|
Questa repository contiene i seguenti script:
|
|
|
|
- `steam-install` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven)
|
|
|
|
Serve ad installare `steam` (o con poche modifiche qualsiasi AppImage) in aula
|
|
3/4, pur non avendo FUSE installato. Per utilizzarlo, basta eseguire il
|
|
seguente comando da terminale:
|
|
|
|
```bash
|
|
curl -L "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/steam-install" | bash
|
|
```
|
|
|
|
- `install-llm-web-interface` —
|
|
[@aziis98](https://git.phc.dm.unipi.it/aziis98)
|
|
|
|
Serve a scaricare una
|
|
[web-ui per usare LLM](https://github.com/oobabooga/text-generation-webui/) in
|
|
locale in Aula 3/4. Per utilizzarlo, basta eseguire il seguente comando da
|
|
terminale
|
|
|
|
```bash shell
|
|
$ curl -LO "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/install-llm-web-interface"
|
|
$ chmod +x install-llm-web-interface
|
|
|
|
# La prima volta che lo si esegue, bisogna installare i pacchetti necessari
|
|
$ ./install-llm-web-interface
|
|
|
|
# Le volte successive, si può eseguire questo per impostare una porta specifica
|
|
$ ./install-llm-web-interface --listen-port 8080
|
|
```
|
|
|
|
Nel frattempo, è possibile usare LLM in locale aprendo il browser
|
|
all'indirizzo `http://localhost:8080` oppure se si sta usando ssh aprendo un
|
|
tunnel con
|
|
|
|
```bash shell
|
|
$ ssh -L 8080:localhost:8080 <username>@a3-dott8.cs.dm.unipi.it
|
|
```
|
|
|
|
e poi aprendo il browser all'indirizzo `http://localhost:8080`.
|
|
|
|
Una volta nell'interfaccia web si può scaricare un modello di LLM (ad esempio
|
|
<https://huggingface.co/TheBloke/Orca-2-7B-GGUF>) andando nella tab "Models"
|
|
ed inserendo l'ID da huggingface (e.g. `TheBloke/Orca-2-7B-GGUF` ed il nome
|
|
del singolo file `orca-2-7b.Q5_K_M.gguf`), poi premere "Refresh" e poi "Load"
|
|
nella lista dei modelli per selezionarlo (conviene tenere sotto'occhio il
|
|
terminare per vedere quando ha finito di scaricare il modello). Una volta
|
|
caricato il modello, si può andare in "Chat" per usarlo.
|
|
|
|
- `printa4` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven)
|
|
|
|
Serve a stampare in aula4 (o qualsiasi altra stampante del dip) dal proprio
|
|
computer, aprendo Okular graficamente da remoto.
|
|
|
|
- `impagina` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven)
|
|
|
|
Impagina un pdf in modo da poi poterlo stampare "a libretto", usando l'opzione
|
|
fronte-retro (lato corto), per poi tagliare e sovrapporre una metà sull'altra.
|
|
|
|
Dipendenze: `pdftk`, `pdfjam` (parte di TeXlive), `groff` (non solo
|
|
`groff-base`)
|
|
|
|
- `bookletify` — [@Fran314](https://git.phc.dm.unipi.it/Fran314)
|
|
|
|
Simile a `impagina`, ma in python. Formatta un pdf in modo da poi poterlo
|
|
stampare "a libretto" tagliando chiudendolo come un libro.
|
|
|
|
Supporta:
|
|
- trim
|
|
- diversi tipi di paper size (A4 di default, per poter mandare in stampa senza
|
|
dover mettere "fit-to-page")
|
|
- aggiunta di un bordo interno (a sinistra per le pagine dispari, a destra per
|
|
le pagine pari) per la rilegatura
|
|
- pipe da stdin / a stdout
|
|
|
|
Dipendenze: `PyPDF2`
|
|
|
|
- `pokepixel` — [@Fran314](https://git.phc.dm.unipi.it/Fran314)
|
|
|
|
Permette di "disegnare" a terminale degli sprite di pokemon presi da
|
|
[questa repo](https://github.com/msikma/pokesprite/)
|
|
|
|
Ad esempio `pokepixel latias.png` cerca un file di nome `latias.png` nella
|
|
cartella corrente. Se lo trova renderizza quello, altrimenti lo cerca nella
|
|
repo linkata. Per ora funziona solo con i pokemon fino alla 7a gen non shiny
|
|
|
|
- `gobbino` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) +
|
|
[@Dilillo](http://poisson.phc.dm.unipi.it/~dilillo/Vario/index.html)
|
|
|
|
Permette di scaricare video e/o pdf di qualsiasi corso presente sul sito del
|
|
professor Gobbino
|
|
|
|
- `pdfcompress` — [@aziis98](https://git.phc.dm.unipi.it/aziis98) (script
|
|
preso in prestito
|
|
[da questa repo](https://git.phc.dm.unipi.it/aziis98/chatgpt-scripts/src/branch/main/bin/pdfcompress2))
|
|
|
|
Comprime un PDF vettorizzato (ad esempio note scritte su un iPad) utilizzando
|
|
poppler (file di ~100MB diventa tranquillamente di ~10MB)
|
|
|
|
- `pptx_to_pdf` — [@lukefleed](https://git.phc.dm.unipi.it/lukefleed)
|
|
|
|
Permette di convertire tutti i file .pptx dentro una cartella in file .pdf.
|
|
Per utilizzarlo, basta eseguire lo script da terminale nella cartella dove
|
|
sono presenti i file `.pptx`
|
|
|
|
I nuovi file `.pdf`verranno salvati nella cartella `pdf` (che verrà creata
|
|
automaticamente se non esiste già). Per poter eseguire lo script, è necessario
|
|
avere installati i seguenti pacchetti (ubuntu):
|
|
|
|
```bash
|
|
sudo apt install libreoffice default-jre libreoffice-java-common
|
|
```
|
|
|
|
- `removeproofs` — [@lukefleed](https://git.phc.dm.unipi.it/lukefleed)
|
|
|
|
Rimuove le dimostrazioni da un file `.tex`, utile per creare piccoli cheat
|
|
sheet da portare agli esami dove è consentito portare materiale di studio.
|
|
|
|
Utilizzo:
|
|
|
|
```bash
|
|
removeproofs <file.tex>
|
|
```
|
|
|
|
Questo script è stato utilizzato per creare dei riassunti di Geometria 2 da
|
|
delle dispense più complete:
|
|
[G2-cheat-sheet](https://github.com/lukefleed/G2-cheat-sheet)
|
|
|
|
- `tex_to_md` — [@lukefleed](https://git.phc.dm.unipi.it/lukefleed)
|
|
|
|
Script che prende in input un file `.tex` da in output un file `.md`
|
|
contenente un elenco puntato di tutte le definizioni, teoremi e proposizioni
|
|
presenti nel file `.tex`. Utile per creare un riassunto degli argomenti di un
|
|
corso da utilizzare per preparare l'orale.
|
|
|
|
Utilizzo:
|
|
|
|
```bash
|
|
tex_to_md <input.tex> <output.md>
|
|
```
|
|
|
|
Qui un esempio di utilizzo:
|
|
[Argomenti di G2](https://git.phc.dm.unipi.it/lukefleed/domande-orali/src/branch/master/geoemtria-2)
|
|
|
|
- `parseunimap` — [@aziis98](https://git.phc.dm.unipi.it/aziis98) +
|
|
[@alberto](https://git.phc.dm.unipi.it/alberto)
|
|
|
|
Script che converte il registro delle lezioni dell'Unipi in markdown
|
|
|
|
Installare:
|
|
```bash
|
|
bun init
|
|
bun install jsdom
|
|
bun install node-fetch
|
|
```
|
|
|
|
Per eseguire:
|
|
```bash
|
|
bun run script.js <registro_link>
|
|
```
|
|
Una volta ottenuto in output il file markdown, è possibile convertirlo in pdf
|
|
utilizzando ad esempio Pandoc tramite il comando
|
|
|
|
```bash
|
|
pandoc fileregistro.md -o fileregistro.pdf
|
|
```
|
|
|
|
- `scritti_ro.sh` [@alberto](https://git.phc.dm.unipi.it/alberto)
|
|
|
|
Scarica tutti i PDF di **Testi** (o **Svolgimenti**) dalla
|
|
[pagina DidaWiki del corso](https://didawiki.cli.di.unipi.it/doku.php/matematica/ro/start)
|
|
e li unisce in un unico PDF.
|
|
|
|
Utilizzo:
|
|
|
|
```bash
|
|
# unisce tutti i PDF dei Testi
|
|
./scritti_ro.sh
|
|
|
|
# unisce tutti i PDF degli Svolgimenti
|
|
./scritti_ro.sh --with-solutions
|
|
```
|
|
|
|
Output: `testi_unificati.pdf` o `soluzioni_unificati.pdf`.
|
|
|
|
Dipendenze:
|
|
|
|
- `curl`, `grep`, `gs` (ghostscript)
|