-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Questa è la pagina principale di un insieme di pagine Wiki pensate appositamente per guidarti nella configurazione del tuo PC, in modo che su di esso siano installati e funzionino senza conflitti i vari software necessari per partecipare all'esame di Ricerca Operativa.
Con queste configurazioni potrai inoltre affrontare, già durante il corso e il tutoraggio, alcuni esercizi fac-simile a quelli che ti troverai davanti all'esame, per cui sia già disponibile una forma elettronica. Infatti, la modalità elettronica dell'esame è recente (i.e., l'inizio della transizione dalla modalità cartacea risale al giugno 2020, cambiamento spinto soprattutto dalla pandemia della COVID-19, al momento ancora in corso).
Puoi comunque consultare l'archivio storico di esami scritti, ricompreso nella sezione Esami e Voti del sito del corso, che è molto più ampio e ricco di esempi che andremo a integrare gradualmente (e magari anche con il tuo aiuto).
Ecco i primi consigli generali sulla modalità elettronica degli esercizi (ossia di pertinenza al presente repository) per chi deve seguire il corso di Ricerca Operativa o intende prepararsi all'esame:
Consigli generali per prepararsi all'esame di Ricerca Operativa
A chi segue il corso di Ricerca Operativa o intende prepararsi all'esame raccomandiamo caldamente di:
-
procedere quanto prima a queste installazioni, processo che in base a dove parti potrebbe risultarti un po' lungo (però vorrà dire che imparerai un sacco di cose comunque utili e verrai a conoscere degli applicativi di primo ordine);
-
verificare il corretto funzionamento dei nostri
Jupyter Notebooksdentro l'environment che avrai predisposto per l'esame dentro la tua macchina; -
confrontarti da subito con gli esercizi fac-simile messi a disposizione da questa repo.
Vogliamo essere chiari: l'archivio dei temi cartacei delle edizioni precedenti, con correzioni annesse resta, per estensione oltre che per stabilità, il riferimento più valido per farsi un'idea dell'ampio spettro delle domande che potremmo fare all'esame e delle competenze che potrebbero trovare valorizzazione in punti-voto. Tuttavia, in telematico, cambiano le modalità di interazione sull'esercizio. Noi speriamo che le commesse possano ora diventare più esplicite, ed è chiaro che questo attiva un processo di evoluzione delle stesse anche ove solo nella forma, quindi è opportuno tu tenga l'occhio a quanto proponiamo in questi esercizi per non trovarti spaesato all'esame. Questa repo andrà arricchendosi via via di esercizi facsimile per quello che sarà il tuo tema d'esame. Cercheremo inoltre di migliorare mano a mano la qualità delle interazioni possibili. Idealmente, dato che sosterrai l'esame da PC, vorremo giungere a darti a supporto ogni feedback che non risulti spoilerativo del problema, e darti contenimento ogni dove possibile su quale sia la forma opportuna per rispondere alle domande (dai miei maghi Merlino voglio i certificati).
- Verifica che le caratteristiche da noi introdotte, da quelle base a quelle interattive (ove presenti) funzionino correttamente sulla tua installazione. In caso contrario segnala ogni malfunzionamento e/o chiedi aiuto.
Ti ringraziamo per la tua collaborazione.
Questa Wiki è organizzata su più pagine come da seguente elenco.
Sei sulla pagina Home della presente Wiki (che infatti appare in grassetto). L'indice della presente pagina è in calce al documento.
Se incontri delle difficoltà nell'installazione, o rilevi un problema nell'utilizzo dei notebooks con gli esercizi, o dei malfunzionamenti nel sistema sviluppato per l'esame, o semplicemente ti serve aiuto, scrivi direttamente nel gruppo Telegram dei beta-tester, a cui puoi auto-iscriverti al link:
https://t.me/joinchat/EDaVmBl39deQMumY7g8U8w
Il gruppo Telegram è perfetto soprattutto per le richieste di aiuto, dove potremo essere più pronti a rispondere e avremo anche un contatto diretto e, se del caso, l'aiuto potrà divenire subito individuale.
Per domande che riguardino il come si affronta un esercizio (al di là di quanto concerne questa sperimentazione, per esempio su esercizi in temi prima del 2020), sarà invece preferibile utilizzare il gruppo Telegram del corso:
https://t.me/RicercaOperativa2021
In alternativa, sei incoraggiato a utilizzare i meccanismi predisposti da GitHub per facilitare la collaborazione: puoi aprire una issue nel repo per richiedere le nostre correzioni o integrazioni (vedi la tag "Issues" in cima a questa pagina di GitHub). Se conosci GitHub o ti affascina il mondo dei progetti open o condivisi, puoi fare un passo ulteriore sul piano collaborativo: fai un fork dove proponi le tue correzioni, migliorie o aggiunte, e inserisci una pull request per il deployment del tuo contributo. Attraverso queste modalità potrai anche contribuire a configurare quello che potrà essere l'ambiente entro il quale sarai chiamato ad operare all'esame. A ogni modo, prenderemo in considerazione anche semplici idee e spunti che dovessero venirti in mente nella fatica del lavoro dalla vostra parte del muro (ma se ci aiuti tu nel realizzarle, sarai allora sicuro che riusciremo a farti avere quanto più ti piacerebbe). In ogni caso, vi ringraziamo per ogni spunto, feedback, o richiesta di aiuto.
Ti chiederemo di installarti diverse componenti. Se questo potrà apparirti noioso, ecco due grandi benefit aggiuntivi a questo lavoro:
-
cercheremo di essere chiari non solo sui singoli passi da compiere ma anche su quanto li motiva. Questo percorso potrà quindi facilitare ogni tua futura installazione di pacchetti software sulla tua macchina e nella gestione corretta del tuo sistema. Ti aprirà inoltre la possibilità di gestire progetti condivisi. Potrai meglio accedere al mondo dell'open source, sia come mero fruitore di soluzioni e proposte, sia integrandoti a esso in ruoli anche più attivi.
-
i software che installerai sono strumenti robusti e importanti che danno forma al mondo attuale delle tecnologie informatiche e delle comunità che ruotano attorno ad alcune di esse. Venire a conoscere questi strumenti base è alfabetizzazione che potrà avviare processi di emancipazione.
Il primo consiglio è di installarti git. Se sei su Windows (ossia se già non lo hai nativamente), ti consigliamo fortemente di approfittare di questa occasione anche per installarti un terminale. Se sei su Mac o Linux, di sicuro avrai già il terminale con l'interprete bash, quindi è possibile che anche git si trovi già preinstallato, ma hai idea di cosa questo importante strumento possa fare per te?
Anche solo questo offre un'ottima ragione per leggere le seguenti spiegazioni. Come sempre, chi non ha problemi con l'inglese può avere accesso a riferimenti migliori.
The how and why to get git and its power
Whatever your platform (Linux, Mac, Windows, etc.), the Getting-Started-Installing-Git of the Git Community will give you the best updated instructions on how to install this game changer on your machine. If you are a Windows user, we limit ourselves to remark their suggestion ("We’ll learn more about those things a little later, but suffice it to say they’re things you want.") to get the command-line version of git as well as the GUI.
Even if you do not make any other more advanced use of git, having it installed will simplify other steps in the installation process to follow and, more importantly, will allow you to better connect to the repos with the exercises or other repos of softwares that you actually use. Even if you do not intend to contribute to their ongoing development, this means that it will be easy for you to maintain updated your local version of their contents and get the new exercises and features currently under development. To get the updates, just launch the command
git pullfrom any directory of the repo. In case you have overwritten some files of the repo, then a conflict arises. This prevents the downloading of the new content (otherwise your modifications will go lost). If you are stucked in this situation and do not want to delete your modified files before pulling the official version of the repo, then you can simply move your modified files to some other folder or rename them with new names so that the conflict (the risk of loosing work you have done) will be resolved.
Anyway, we also advise you to get at least a rough idea of what git has to offer you. Again, the Documentation page of the Git community is an ideal place where to get directions.
The main reasons for you to get into git are the following: not only git offers you important (free and robust) facilities, such as backups and working directories (that you can in simplicity share among your devices) and powerful and intrinsically safe time-machines over them and on your work, but it also allows you to share and collaborate on your projects and, in fact, it is the portal to the world of open source projects (git was designed by Linus Torvalds in order to scale up its projects concerning the development of the Linux operating system to a wide collaborative dimension).
Everything in this repo is open source software.
Come e perché installarsi il gioiello git
Come
A prescindere dalla tua piattaforma (Linux, Mac, Windows, etc.), la pagina Getting-Started-Installing-Git della Git Community ti darà le migliori e aggiornate istruzioni su come installare git sulla tua macchina. Se sei su Windows, rimarchiamo il loro suggerimento ("We’ll learn more about those things a little later, but suffice it to say they’re things you want.") di installarti il bundle che include la shell e la versione command-line di git, oltre alle utilities che offrono una GUI.
Le migliori indicazioni sono sempre quelle ufficiali, ma se preferisci l'italiano puoi seguire le Istruzioni per installare git sulla tua macchina offerte dal sito HTML.it
Se sei su Windows, un punto importante da tenere presente nell'installazione è il seguente: è unanime il consenso che se ti installi git su Windows ti convenga scegliere l'installazione che ti offre di avere anche un terminale nello stesso bundle.
Se git ti fa paura, per via del fatto che viene spesso associato all'uso del terminale e tutto questo ti sa di fetish e di retrò (quanto ti sbagli), non ci sentiamo il cuore di nasconderti che l'installazione che include il terminale ricomprende anche le interfacce grafiche che consentono l'uso di git senza passare per il terminale. Altre applicazioni di questo tipo, come ad esempio gitcraken, potranno essere installate separatamente e successivamente se la prima installazione di git sarà stata quella completa.
Non nascondiamo comunque i vantaggi che vengono con l'uso del terminale, sia in generale sia nel nostro contesto.
Perché
Come già saprai, le cose davvero importanti sono gratuite. Fortunatamente, non sarebbe possibile altrimenti. Sfortunatamente, non sempre sappiamo quali esse siano.
In git trovi uno strumento gratuito e open source che, se verrai a conoscerlo, risolve nel modo più semplice e potente molti problemi che potresti altrimenti avere subito nella gestione e condivisione dei tuoi file e progetti (per esempio il backup, mantenere un'unica versione delle tue cose benché su macchine diverse, time machine, sharing, collaborazione su progetti).
Anche se tu non dovessi fare altri usi di git, averlo installato potrà semplificare i passi successivi della presente installazione anche perché facilita l'aggiornamento dei contenuti. Infatti, cosa forse più importante per gli scopi qui di pertinenza, git ti consentirà di meglio connetterti coi repo degli esercizi o ad altri repo di software che magari già usi. Anche se non intendi contribuire al loro sviluppo, ciò significa che ti sarà sempre agevole assicurarti che stai lavorando con l'ultima versione o aggiornarla per ottenere gli ultimi esercizi in vista del tema o le ultime features in continuo sviluppo. Per aggiornare, ti basta immettere il comando
git pullda una qualsiasi directory del repo. Se hai sovrascritto alcuni file (situazione che si presenterà soventemente poichè avrai magari lavorato a degli esercizi, e comunque l'applicazione Jupyter Notebook tende a modificare di suo i file su cui la chiami) allora verranno segnalati dei conflitti. Questo impedirà il downloading dei nuovi contenuti (altrimenti le tue modifiche andrebbero perse). Se ti trovi bloccato in questa situazione e non vuoi cancellare i tuoi file per poter effettuare il pull della versione ufficiale corrente del repo, puoi allora semplicemente spostare i file da te modificati in un altro folder, oppure rinominarli con nomi nuovi in modo che il conflitto (il rischio che del lavoro fatto vada perso) sia risolto.
Opzionale ma caldamente consigliato:
Avere
gite il terminale
Se non li hai, vedi sopra sul come e perché procurarteli.
Non procedere senza:
Avere idea di come si utilizzino gli environment
condae a cosa servano:
Cosa devi sapere prima di installare i seguenti software e pacchetti
La prima cosa che ti chiediamo di fare è comprendere perché l'installazione di pacchetti software è operazione che va fatta con criterio. Fortunatamente, sono necessari pochi e semplici concetti e le conseguenti attenzioni ti eviteranno ogni problema.Cosa devi sapere prima di installare i pacchetti
Quando i software erano pochi non servivano grandi attenzioni, tuttavia la complessità è poi esplosa. Inizialmente si è rimasti un pò impreparati e ci sono stati degli anni di confusione, ma poi vari tipi di soluzioni sono emersi e sono andati a configurarsi.
Qui ci interessano solo quelle soluzioni che possano funzionare senza grandi differenze tra una piattaforma e l'altra (Linux, Mac, o Windows). Ci limitiamo inoltre a soluzioni leggere (non virtual machines e nemmeno containers) e universalmente accessibili dal singolo senza vincolarsi. In particolare, non vogliamo forzare hosting di servizi nel cloud (anche ove fossero oggi gratuitamente disponibili ma senza garanzie per il futuro). Reputiamo inoltre importante che le cose possano sempre girare ed essere sperimentate sulla tua macchina, anche ove isolata.
Stiamo quindi parlando di singoli software, ma articolati in ecosistemi di pacchetti. Specie nel mondo Python, la ragione semplificata per cui ben presto sorgono insanabili conflitti se installiamo più software è la seguente: vari software poggiano su una moltitudine di pacchetti, e più software diversi possono includere lo stesso pacchetto. I vari pacchetti possono avere tante versioni diverse e software diversi sono stati realizzati e funzionano con una certa impronta di versioni di pacchetti e non con altre. Pertanto, quando installi in modo non attento un nuovo software, lui si porta dietro i suoi pacchetti e li sovrascrive su quelli di altri software che, di conseguenza, smettono di funzionare. La situazione si complica presto a tal punto che dovresti re-installare ogni cosa da zero.
La risposta a questo grave problema (chiamato la peste di Python, ma ben presto emerso anche negli altri ecosistemi di pacchetti) viene con gli environment.
Un environment è una bolla protetta e separata entro la quale effettuare le varie installazioni relative a uno stesso progetto o software. I pacchetti installati in tale bolla non andranno a sovrascrivere quelli in altre bolle.
Ci sono vari gestori di pacchetti (tra questi pip è forse il più noto nel mondo python, ma esso è appunto specifico a Python) ed essi consentono la creazione di environment oltre che l'installazione e disinstallazione di pacchetti entro l'environment corrente. Pertanto, quello cui devi abituarti a prestare attenzione è quindi quale sia il tuo environment corrente.
Oggigiorno abbiamo anche grandi distribuzioni di vari software e librerie che possono essere stati scritti anche in linguaggi di programmazione diversi. Come matematici, guardiamo con un certo interesse a SciPy, che contiene una vastità enorme di soluzioni che, per ragioni di efficienza oltre che storiche, sono scritte nei più disparati linguaggi di programmazione. Serve quindi un gestore di pacchetti e un sistema di environments che non sia specifico ad un singolo linguaggio (come pip per Python) ma generico.
La nostra scelta con questo progetto è pertanto di usare gli environments conda e conda come gestore di pacchetti.
conda è offerto in due distribuzioni:
- una si chiama
minicondae praticamente contiene il package managerconda, più un numero ristrettissimo di software e pacchetti di base, ogni altro software dovresti andarlo ad aggiungere separatamente tramite lo strumentoconda; - l'altra si chiama
Anacondae, oltre aconda, offre una grande quantità di software compatibili che sostanzialmente gira su una stessa impronta di pacchetti. Di questi noi ne useremo solo alcuni ma, se non hai problemi di spazio, praticità suggerisce fortemente di installarsi Anaconda (e, anche se non è tutto open source, ti potrà valere la pena esplorarlo). Utilizzeremo poi conda solo per installare i pochi pacchetti aggiuntivi più specifici al progetto.
Per sapere di più su come si crea un environment, su come ci si sposta da un environment all'altro, e su come si installano pacchetti entro un environment, ti rimandiamo alla pagina Utilizzare gli environments (concetti e strumenti salvavita) della presente Wiki.
- Installazione di
Anacondao quantomeno diminiconda.
Se non ti installi Anaconda dovrai installare separatamente il software per i Jupyter Notebook e vari altri pacchetti e componenti, specie se desideri avere un ambiente grafico di supporto.
Consigliamo perciò di installarti Anaconda Individual Edition (che è gratuito) tramite il downloader specifico alla tua piattaforma, oppure parti dal sito home di Anaconda.
Uno strumento incluso in Anaconda che potrebbe rivelarsi il compagno ideale per chi non vuole gestire le cose da terminale è l'Anaconda Navigator. È un ambiente che rende particolarmente agevole gestire gli environment, specie se sei inesperto nel gestire le installazioni, e sperimentare una grande varietà di applicazioni che potrebbero esserti interessanti anche in altre occasioni ed ambiti
Se non vuoi installarti Anaconda perché non hai spazio sul disco, installati allora Miniconda, la sua versione mignon pensata proprio per chi avesse questi problemi. Con essa potrai gestire gli environment conda, che sono quelli che ti consentiranno di meglio isolarti dalle altre installazione sulla tua macchina ma anche di poterti avvalere di ogni package in SciPy, anche quelli con componenti scritte in linguaggi diversi da python. Nel tuo percorso e carriera di matematico potrai trovare facilitazione da queste potenti integrazioni, e anche lo svolgimento di alcuni dei nostri esercizi potrà portare valorizzazione.
- Installazione di
JupyteroJupyterLab
Il tuo esame avverrà dentro dei Jupyter Notebook.
Buona notizia: se hai installato Anaconda, hai già correttamente installato il software che consente di gestire i Jupyter Notebooks e puoi passare allo step successivo.
Altrimenti, se hai rinunciato ad installarti Anaconda, confidiamo allora che:
- tu abbia quantomeno installato il gestore di packages
conda; - tu abbia letto attentamente le nostre (o altre e migliori) spiegazioni sugli environment per gestire correttamente ogni installazione.
Se è così, puoi ora installarti Jupyter seguendo le indicazioni alla pagina del progetto Jupyter Notebook.
Ribadiamo però l'avviso di gestire ogni installazione attraverso l'uso degli environment per non mettere a rischio la stabilità e coerenza delle tue installazioni. Tra i gestori di environment e pacchetti, consigliamo conda per avere accesso a packages da tutto SciPy senza limiti di sorta.
- Esplorazione dei Jupyter Notebooks e potenzialità
Un fatto: come prerequisito, non è sufficiente avere che i Jupyter Notebook girino correttamente sulla tua macchina, bensì è anche utile che tu abbia almeno una vaga idea di cosa puoi farci (utile anche al di là di questo esame) e acquisisca una conoscenza base di come muoversi entro essi.
Al link Jupyter Notebook dato sopra non solo trovi come eseguire l'installazione ma anche dei tutorial da esplorare.
Non esagerare, limitati alla punta dell'iceberg e a quel poco che reputi ti possa servire (come con git i buoni amici hanno pazienza, li potrai venire a conoscere un pò alla volta e saranno lì nel momento del bisogno). Sfrutta però questi pratici materiali per ottenere in tempi rapidi un primo acclimatamento nell'ambiente e comprenderne da subito le potenzialità (per altro i Jupyter Notebooks potrebbero facilmente farti ottimo servizio anche altrove, prima come studente, e poi nella tua carriera od in altre gestioni tue).
Se conosci già l'ambiente dei Jupyter Notebook (col quale comunque ti consigliamo di muovere i tuoi primi passi), appena ti senti abbastanza sicuro e spavaldo, forse potrebbe interessarti utilizzare invece JupyterLab. JupyterLab offre l'evoluzione ufficiale di Jupyter e offre diversi vantaggi in praticità e maggior controllo (ma ha probabilmente una learning curve un pò più steep, meglio aver visto prima la versione classica per comprendere prima i fondamenti ed il senso delle cose senza troppi fronzoli). Anche JupyterLab è comunque incluso nella distribuzione di Anaconda e quindi potrai buttarci l'occhio non appena sarai curioso, e farci sapere se tutto regge anche lì e come (un warning: da Jupyter a JupyterLab cambiano le estensioni).
- Clonazione in locale del presente repo.
I Jupyter Notebooks non girano da remoto ma in locale. Devi pertanto ricopiare in locale il contenuto di questo repo o di altri repo che contengano i materiali di appelli o di facsimili d'esame (esercizi ed infrastruttura di supporto da noi sviluppata).
Se hai git installato e terminale è facile, da terminale portati nella cartella dove desideri collocare questo (o quel) repo come sottocartella ed immetti il comando:
git clone https://github.com/romeorizzi/ROexamTestingSe non hai git devi allora cliccare sul bottone verde in cima alla pagina del presente report ed effettuare un download della cartella compressa. Questo non è il massimo, perché a ogni aggiornamento dovrai ripetere questa operazione e magari anche fare tutto un lavorio per spostare i tuoi file che tu avessi collocato internamente alla cartella decompressa del repo.
Se hai git ma non il terminale, o comunque ti trovi bloccato in qualche modo, vi sono vie alternative spiegate in dettaglio nel file `README.md di questa repo.
- Installazione dei pacchetti necessari per l'esecuzione corretta di nostri Notebooks
Attenzione: non basta scaricarsi in locale i materiali specifici necessari all'esame! Devi anche installare delle librerie che la parte infrastrutturale richiama e settare un ambiente dove mandare in esecuzione il tutto.
Una buona notizia: se per testare le cose avrai effettuato l'installazione delle librerie all'interno un environment, quando sarà il momento del vero esame non dovrai installare nulla. Dovrai solo scaricarti in locale i materiali specifici per l'esame che ti verranno forniti ad inizio dell'appello attivare l'environment, e lanciare Jupyter.
Per procedere in questo passo, è importante tu abbia ben soppesato quanto spiegato nella sezione Utilizzare gli environments (concetti e strumenti salvavita) di questa Wiki. Dopo aver fatto questo, potrai procedere a interpretare le istruzioni di dettaglio fornite nella sezione specifica al tuo sistema operativo. La buona notizia:
compresi i semplici concetti di base (che potranno servirti anche altrove), serve poi solo un pizzico di auto-disciplina a metterli in pratica per evitare ogni possibile difficoltà nelle installazioni;
Resta però importante tu comprenda cosa siano gli environment e che te ne crei uno specifico per l'esame di Ricerca Operativa. In realtà ti converrà avvalerti di questo stesso strumento anche in altri contesti per evitare conflitti tra le librerie che installi sulla tua macchina. Assimilati questi concetti base, potrai seguire le istruzioni passo passo nella pagina Wiki di questo repo senza correre il rischio di fare le cose alla leggera.
- Abilitare le
Jupyter extensions
(ROexam) :path_and_prompt$ conda install jupyter_contrib_nbextensions && jupyter contrib nbextension install --userHo riportato l'intera struttura di come appare il comando al terminale così che, da quanto appare all'estrema sinistra, tu possa vedere come ottenere sempre conferma di essere effettivamente dentro l'environment giusto prima di lanciare un comando. Questo è pensato proprio per evitare che uno possa guastarsi con facilità le installazioni presenti sulla sua macchina.
Nel mio caso, la stringa che qui ho chiamato path_and_prompt di fatto era romeo@romeo-HP-ProBook-450-G4:~/corsi/RO/jupyter/ROexamTesting ma avrei potuto lanciare il comando da una qualsiasi altra cartella. L'importante era essere nell'environment corretto (ROexam) per non guastare i pacchetti di altri software o progetti installati sulla mia macchina, invece che ultimare la configurazione del mio ambiente ROexam.
- Selezionare quali
Jupyter extensionsavere attive
Puoi basarti sulla seguente immagine per individuare quali estensioni abilitare:

Attenzione: Se usi JupyterLab invece di Jupyter purtroppo non vi è attualmente una corrispondenza uno ad uno tra i due set di extensions fornite.
- Ultimi settaggi e testing
Per controllare che l'installazione sia andata a buon fine, sul terminale puoi posizionarti nella cartella ROexamTesting/test_notebook e, dopo esserti assicurato che l'ambiente creato appositamente (ROexam) sia quello attivo su quel terminale, lancia jupyter-notebook e utilizza Jupyter nel browser per visualizzare e testare i notebooks con gli esercizi.
Prima di poter lavorare sull'esercizio, qualora presente, devi allora togliere il check alla voce "disable configuration for nbextensions without explicit compatibility (they may break your notebook environment, but can be useful to show for nbextension development)" che trovi nella scheda Nbextensions (si veda la pagina Wiki).
Nota che Jupyter (come anche JupyterLab) è un' applicazione che gira nel tuo browser. Nonostante questo, stai operando sui file degli esercizi che ti sei scaricato in locale.
Attenzione: all'esame dovrai ricordarti di consegnare questi file col tuo elaborato al fine di completare la tua sottomissione. Non farti ingannare dal fatto di ricevere del feedback di sostegno alla tua compilazione, questo avviene solo localmente e noi non ne abbiamo traccia.
Chi volesse contribuire a questo progetto open source è benvenuto. C'è davvero molto da fare e tante opportunità per progetti interessanti. Ovviamente chi decide di aiutarci e contribuire al progetto, come esame è già passato dall'altra parte del muro (brake-on-through-to-the-other-side, yeah).
Sei sulla pagina Home della presente Wiki. Ecco l'indice della sezioni di questa pagina:
Vai all'elenco della pagine posto ad inizio pagina per la navigazione.