Italian - ItalyEnglish (United Kingdom)
Home Hacking Progetti Software

Progetti Software

Inutile dire che mi piace sviluppare ... Ecco una sezione didicata alla mia voglia di programmare!

Web Kronos Management 2.0

Progetti Software
There are no translations available.

Ed ecco la nuova versione del sito Web sviluppato per i cronometristi di Alessandria.

Di seguito l'articolo scritto per descrivere in cosa consiste.

 

Web Kronos Management 2.0

Nato nel 2009 il sito web dei kronos di Alessandria ( http://www.alexandriakronosport.it ) è diventato molto di più che un sito vetrina di Associazione, ma un vero gestionale per unire le esigenze di un pubblicoclientecon le esigenze operative di una Associazione di cronometristi.

Parlando ormai di piattaforma web essa è arrivata alla versione 2.0, recentemente revisionata graficamente e potenzialmente migliorata, di seguito una breve presentazione .

Le principali aree e caratteristiche di base

E' composta da una area pubblica ed una privata accessibile solo da utenti registrati ( attualmente i cronometristi di Associazione ).

La parte pubblica è composta dalla sezione contenente notizie relative agli eventi sportivi a cui l'Associazione partecipa. Comunicazioni e notizie sportive hanno una sezione dedicata insieme alla rassegna stampa e le notizie pubblicate dalla FICr ( Federazione Italiana Cronometristi ) . Seguono una sezione dedicata ai risultati delle manifestazioni ed una sezione di contatti per dare la possibilità ai visitatori del sito di far pervenire alla Associazione una richiesta di servizio o di chiedere semplicemente informazioni.

La parte privata è diversa in base alla tipologia di utente collegato. Un utente amministratore potrà gestire le notizie, le manifestazioni, consultare le disponibilità registrate dai cronometristi intenzionati a svolgere un servizio. Potrà anche estrarre alcuni resoconti sui rimborsi richiesti ed eventualmente amministrare le pagine web del portale.

Un utente cronometrista potrà visualizzare le future manifestazioni e dare la propria disponibilità per parteciparvi e in seguito richiedere il rimborso e consultare il suoconto apertocon l'Associazione.

La piattaforma si basa su un CMS ( Content Management System ) sviluppato in PHP ( linguaggio di programmazione software ) da terze parti su cui sono state fatte le personalizzazioni necessarie per la parte gestionale privata ma sfruttando le integrazioni e caratteristiche già presenti. Si è utilizzata la gestione degli utenti, gruppi e livelli di accesso alle singole sezioni, il supporto di temi grafici personalizzabili per singola realtà, supporto del multilingua ed ulteriori moduli funzionali come per esempio la galleria di foto e forum.

La base di dati è di tipoflat( basato su file XML, eXtensible Markup Language ) ma può essere cambiata utilizzando un DBMS ( DataBase Management System ) come MySQL .

Flussi di funzionamento

I principali flussi procedurali sviluppati integrano funzionalità per l'Addetto Stampa, per un cronometrista amministratore, per la segreteria e per un normale cronometrista.

Le esigenze comuni in qualsiasi Associazione normalmente possono essere riassunte in questa breve sequenza di eventi :

  1. Ricevuta la richiesta di servizio bisogna pubblicizzarla, compito dell'Addetto Stampa

  2. Bisogna trovare le persone per gestire il servizio, se ne occupa un cronometrista designato come Capo Servizio

  3. Attraverso riunioni o telefonate si avvisano tutti i cronometristi di associazione i quali dichiareranno le loro disponibilità a svolgere il servizio

  4. Effettuato il servizio ogni cronometrista richiederà il rimborso che verrà calcolato dalla segreteria della Associazione

  5. A fine anno è necessario chiudere un bilancio , calcolare i rimborsi di tutti e capire l'andamento della Associazione

La piattaforma permette di gestire queste procedure attraverso l'area privata gestionale e creando in automatico notifiche per avvisare cronometristi, segreteria ed amministratori in automatico.

Di seguito uno schema riassuntivo delle varie iterazioni

Flussi operativi e notifiche

L'amministratore cronometrista potrà creare un evento sportivo composto da un numero variabile di servizi, se necessario potrà predisporre anche un'area riservata alla pubblicazione a fine gara dei risultati, ovviamente nella sezioneRisultati.

Ad ogni creazione di un evento sportivo oltre alle notifiche via E-mail ( o in futuro via SMS, Short Message Service) viene anche creata in automatico una notizia generica con le informazioni di base dell'evento e pubblicato sul sito web, l'Addetto Stampa potrà integrarlo in seguito. C'è anche la possibilità di mandare una E-mail personalizzata alla redazione della FICr comemini notizia.

Ricevute le notifiche di una nuova manifestazione i cronometristi interessati potranno registrare le proprie disponibilità.

Effettuato il servizio la richiesta di rimborso verrà fatta compilando un modulo di inserimento dati con orari, chilometri, note aggiuntive. Confermato l'inserimento verrà notificato alla segreteria.

Nella piattaforma è possibile configurare regole di calcolo in funzione delle convenzioni vigenti per ogni sport. Per esempio impostando una regola per calcolare la diaria fissa a 10E per i servizi di Pallamano, al momento della compilazione del rimborso, al cronometrista non verrà richiesto l'orario di servizio ma si sommeranno i 10E alle altre spese richieste.

Vengono gestiti anche alcuni parametri, come il costo al kilometro con la gestione del cambiamento del valore nel tempo, in modo da poter ricalcolare i rimborsi in qualsiasi momento.

Ogni cronometrista avrà quindi il suoconto onlineper rendersi conto delle attività svolte e per tener traccia di quali rimborsi gli sono già stati pagati e quali no.

Infine è possibile estrarre resoconti riassuntivi per poter effettuare dei calcoli solitamente fatti a fine anno per capire i servizi effettuati e totali dei rimborsi compilati.

Conclusioni

La piattaforma è diventata per la nostra Associazione non uno strumento opzionale, ma uno strumento essenziale.

L'utilizzo del sito web come vetrina si è dimostrato utile visto il numero di servizi richiesti in crescita ed i contatti avuti con persone da prima sconosciute che hanno poi deciso di diventare cronometristi.

La provincia di Alessandria ha una superficie quadrata molto estesa, grazie alla piattaforma si sono ridotte il numero di riunioni e di conseguenza le spese sostenute da ogni singolo cronometrista per parteciparvi. Si sono anche ridotte il numero di telefonate sostituite dalle notifiche della piattaforma.Poche pagine descrittive non riescono a raccontare tutte le funzionalità della piattaforma ed è per questo che è stato sviluppato un manuale di oltre 50 pagine per poterla utilizzare nella sua completezza.

L'idea per il futuro è di incrementare e migliorare procedure e prestazioni. Per l'area pubblica si vuole interagire sempre di più con il pubblico, per esempio attivando una newsletter o un feed RSS ( Really Simple Syndication ). Per l'area privata sarà la parte sull'estrazione di dati ad essere espansa, poichè sempre più importante.

Last Updated (Thursday, 17 May 2012 20:20)

 

Check bookmarks Script

Progetti Software
There are no translations available.

Check bookmarks Script 1.0

Questo script ti permetterà di controllare i tuoi bookmarks, o link preferiti ... accumula accumula link e poi scopri che quel sito ormai non c'è più, ecco uno script per semplificarti la vita, per eliminare o segnare link inesistenti.

Dipendenze:

Attualmente lo script scritto in Bourne Again SHel ( Bash ) utilizza un secondo script ( check_url.py ) scritto in python [ Python 2.3.5 (#2, May 4 2005, 08:51:39) ]. I bookmarks compatibili sono quelli generati da Firefox 1.0 o superiori, basta dare impasto allo script il file bookmarks.html, normalmente si trova in:
home_utente/.mozilla/firefox/lettere e caratteri casuali.default/
lui farà il check degli url e chiederà se tenerli o cancellarli ed il gioco è fatto. Nessuno vieta di provare i formati generati dal browser Internet Explorer ( exporta preferiti ) o quelli di Mozilla e Netscape.

Installazione:

Scompattare il tar file Check_bookmarks.tar
tar xvf Check_bookmarks.tar
entrare nella cartella creata
cd Check_bookmarks
eseguire lo script nel seguente modo
./Check_bookmarks.sh $HOME/.mozilla/firefox/e6qv9xdg.default/bookmarks.html
dove $HOME/.mozilla/firefox/e6qv9xdg.default/bookmarks.html è un esempio di file bookmarks.html
rispondere alle domande ...

Futuro:

L'autore si è preposto i seguenti futuri obbiettivi:
- riuscire a poter ordinare i vari link in base al nome o url del link
- fare un uniq ( eliminazione doppioni ) in base al nome o link
- poter avere piu' scelta su cosa fare del url fasullo ( per esempio modificarlo invece di cancellarlo )
Gli script sono rilasciati con licenza CopyLeft copiabili e modificabili da chiunque lo volesse fare, sono accettati consigli e idee .

Attachments:
FileFile size
Download this file (Check_bookmarks.tar)Check_bookmarks.tar20 Kb

Last Updated (Sunday, 24 January 2010 21:26)

 

Generatore di Meta tags

Progetti Software
There are no translations available.

Meta tag Script 1.0

Tutti si domandano sempre .... come si fa a far rilevare ai motori di ricerca il proprio sito ? Bene esistono due strade:

1) ti registri nei vari motori di ricerca ... piu' paghi e piu' sei in alto .. o cosi' dicono, il mio consiglio e' registrarsi ma gratuitamente e' sempre utile e alcuni motori lo permettono ...

2) mettere del codice all 'interno della pagina html e farsi trovare ... infatti la maggior parte dei motori di ricerca analizza la rete attraverso dei programmi chiamati spider che analizzano periodicamente con una frequenza variante e si annotano le varie pagine che incontrano ma ( e qui viene il bello ) se nelle pagine incontrate non ci sono istruzioni per loro be' non si segnano la pagina e passano al sito successivo ..... i meta tag sono istruzioni per gli spider o robots ... non mi addentro nella spiegazione di ogni meta tag ma lascio qualche link a siti che si occupano di questi argomenti.

http://www.html.it/guida/html_58.htm

http://www.webfract.it/GUIDA/metaname.htm

http://www.webaiuto.it/guide/meta/index.php

http://www.mitama.it/marketing/i_meta_tag.shtml

http://www.turismo.veneto.it/avm/modules.php?name=News&file=article&sid=39

.. bene dopo esservi documentati capirete l'importanza di inserire i meta tag giusti ... e la cosa migliore e' inserirli in ogni pagina del sito ... nel mio caso avevo una 30ina di pagine da modificare e manualmente veniva lunga la cosa ed ecco l'idea .... creare uno script che calcoli alcuni meta tag in base al contenuto della pagina e sono rispettivamente ...

titolo della pagina
META NAME="TITLE" CONTENT= ....

descrizione della pagina ( lo script ricava le prime parole per un massimo di 100 caratteri )
<META NAME="DESCRIPTION" CONTENT=....

parole chiavi che gli utenti possono ricercare per trovarci ( lo script analizza il testo della pagina e ricava tutte le parole maggiori o uguali a tre caratteri escludendo le parole con caratteri di punteggiatura o simili , inoltre crea una seconda lista di parole ma raggruppate 2 a 2 prima partendo dalla prima parola e poi dalla seconda per capirci ecco un esempio ( o guardate l'html di questa pagina :) ...........

Testo: "Ciao sono maurizio e cerco nei motori di ricerca parole"
lista di parole: ciao, sono, maurizio, cerco, nei, motori, ricerca, parole, ciao sono, maurizio cerco, nei motori, ricerca parole, sono maurizio, cerco nei, motori ricerca, parole

in questo modo siamo trovati se qualcuno cerca due parole di senso compito con le virgolette tipo "ricerca parole" )
<META NAME="KEYWORDS" CONTENT=

Diversi meta tag sono sempre uguali per tutte le pagine tipo l'autore, frequenza di passaggio per lo spider o robots, indicazione per lo spider se fermarsi a quella pagina o proseguire per tutte le pagine linkate ec.. e quindi ecco l' esigenza di creare un file contenente i meta tag fissi da aggiungere a quelli dinamici, io ho messo questi:

<META HTTP-EQUIV=reply-to CONTENT=" This e-mail address is being protected from spambots. You need JavaScript enabled to view it ">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<META NAME="MSSmartTagsPreventParsing" CONTENT="true">
<META NAME="PRAGMA" CONTENT="no-cache">
<META NAME="RATING" CONTENT="General">
<META NAME="ROBOTS" CONTENT="index,follow">
<META NAME="LANGUAGE" CONTENT="Italian it">
<META NAME="REVISIT-AFTER" CONTENT="1 day">
<META NAME="OWNER" CONTENT="Boymix81">
<META NAME="AUTHOR" CONTENT="boymix81.altervista.org">
<META HTTP-EQUIV="CHARSET" CONTENT="ISO-8859-1">
<META NAME="COPYRIGHT" CONTENT="2004 boymix81.altervista.org">
<META NAME="CLASSIFICATION" CONTENT="Informatica, Internet">

e' abbastanza intuitivo il loro significato.

Se esistono già dei meta tag questi verranno sostituiti, l' unico caso in cui questo procedimento non verra' fatto sara' nel caso in cui il meta sara' un refresh .

Quello che ho voluto fare e' piu' di uno script ma uno strumento utile per chiunque ... mai usato i fogli di stile ? Poichè lo script una volta lanciato analizza tutta la cartella e sotto cartelle in cerca di file htm o html , ho pensato di centralizzare l' uso dei fogli di stile e cosi' ogni pagina analizzata conterra' un collegamento ad un unico foglio di stile, se volete togliere questa opzione bastera' cancellare qualche riga di codice nello script.

Gli spider o robots cercano sempre anche un particolare file chiamato robots.txt all 'interno della radice del sito, lo script si preoccupa di crearlo se non c'e' mettendo del codice che specifica quali motori di ricerca non accettare, ovviamente lo script accetta qualsiasi motore di ricerca.

Lo script e' fatto in bash scripting io lo avvio da una shell linux ( Debian ) , al suo interno contiene anche sottoscript in AWK e poiche' non sono riuscito a farlo in altro modo per togliere dei caratteri di ENTER inutili ho fatto un programmino in C

add_meta.sh -> scripting da lanciare nella root del sito ( in locale )

cut_enter.c , cut_enter -> sorgente in C e rispettivo file compilato eseguibile ( gcc -o cut_enter.c cut_enter da shell per compilare ) del programmino che toglie gli ENTER utilizzato per non avere enter nei meta tag

meta -> file di configurazione per i meta statici

per far funzionare lo script copiare i tre file nella radice del sito ed eseguirlo

#sh add_meta.sh

Ora che avete aggiornato le vostre pagine non dimenticate di scaricarle sul server !

In allegato tutti i sorgenti ...

Attachments:
FileFile size
Download this file (meta_tag_files.gz)meta_tag_files.gz4 Kb

Last Updated (Sunday, 24 January 2010 21:17)

 

Kernel For Me

Progetti Software
There are no translations available.

Dopo la mia tesi ( I moduli in Linux ) pensavo a come facilitare la compilzione del kernel in Linux .. ed ecco che nasce Kernel For Me ... E' stato pensato per semplificare la compilazione del kernel, parte importantissima e cuore di qualsiasi sistema operativo. Avere sempre il proprio kernel aggiornato e'importante per sfruttare al massimo le potenzialita' della propria macchina, ma con la poca esperienza e per chi si avvicina per la prima volta ad un sistema Linux puo' diventare difficile conoscere tutti i comandi da lanciare per la ricerca di un kernel, la sua compilazione, installazione e l'aggiornamento per il suo uso effettivo.

Nato per uso personale l'autore ha deciso di potenziare un semplice programmino in linguaggio Bash Scripting ( GNU Bourne-Again SHell ) compatibile con la maggior parte delle distribuzioni Linux, in una serie di script combinabili tra di loro con una intefaccia testuale semplice per qualsiasi utente che abbia un minimo di manualita' con il PC.

Guida alla installazione:

  1. Scaricare il programma e salvalo in una directory a tuo piacimento
  2. entra nella directory dove hai scaricato il file e da terminale o console esegui il comando
    tar -xvzf kernel4me1.4.tar.gz kernel4me
  3. se e' la prima volta che installi il programma si sara crea una directory " kernel4me ", se esistera' gia' i file verranno aggiornati. Per entrarci
    cd kernel4me
  4. leggi il file README.txt
  5. avvia il programma
    ./kernel4me

 

AGGIUNTE DALLA VERSIONE 1.3

  • Nella visualizzazione del file di log Errori.log si utilizza il programma less, leggendolo partendo dal fondo

 

ERRORI CORRETTI DALLA VERSIONE 1.3

  • Quando non si voleva scaricare l'ultimo kernel il programma si basava sull'ordine alfabetico dei nomi dei file, quindi linux-2.6.8 veniva dopo linux-2.6.7 e quindi era piu' recente ma veniva dopo anche alla versione linux-2.6.8.1 sbagliando. Ora il programma si basa sulla data di uscita del file
  • Aggiunto controllo per avviare solo una programma alla volta, non è piu' possibile avviarne piu' di uno contemporaneamente poiche' i secondi potevano cancellare o modificare dei file utili al primo programma avviato causando degli errori

 

AGGIUNTE DALLA VERSIONE 1.2

  • E' stata riprogrammata la parte per poter compilare un kernel con la configurazione uguale o simile a quella di un kernel compilato precedentemente e funzionante, è stata rifatta la parte per compilare il kernel nella modalita' oldconfig e aggiunto uno script per copiare le impostazioni vecchie. E' anche possibile ricavare la configurazione dal kernel caricato al momento della compilazione del nuovo
  • Ora vengono anche riconosciuti i kernel con la versione composta da piu' di tre cifre
  • Se dal menu' principale si sbaglia a digitare il numero del comando corrispondente il programma non esce ma lo richiede

 

ERRORI CORRETTI DALLA VERSIONE 1.2

  • Quando si compilava il kernel nella modalità oldconfig veniva editato il file di configurazione, ora invece viene richiesto qualche file di configurazione vecchio ( old ) si vuole riportare nel nuovo
  • Quando non si voleva scaricare l'ultimo kernel il programma non usciva correttamente dallo script download_kernel ora invece si

 

AGGIUNTE DALLA VERSIONE 1.1

  • Se si inserisce una directory inesistente il programma non esce ma la richiede nuovamente

 

ERRORI CORRETTI DALLA VERSIONE 1.1

  • Soltanto qualche errore grammaticale nei menu'

 

AGGIUNTE DALLA VERSIONE 1.0

  • Riconoscimento della distribuzione linux usata per creare i corretti link simbolici
  • Possibilita' di non scaricare l'ultimo kernel se per esempio lo si possiede gia'

 

ERRORI CORRETTI DALLA VERSIONE 1.0

  • A mio malgrado non scaricava mai l'ultimo kernel disponibile a causa di un ping nella verifica rete, errato oltre che a errorini di vario tipo in download_kernel.sh che sono stati corretti
  • Per le distribuzioni che non sfruttano libc6 non si creavano i link simbolici 'include' e 'asm'

 

Attachments:
FileFile size
Download this file (kernel4me1.4.tar.gz)kernel4me1.4.tar.gz8 Kb

Last Updated (Thursday, 21 January 2010 20:41)

 

Gioco del Lotto per Windows

Progetti Software
There are no translations available.

Anno della maturità, non sapendo cosa fare come progetto d'esame, io e altri miei due compagni di classe, Viso e Pio, abbiamo pensato.......
Perché non fare "il gioco del Lotto" versione

Il lotto non alle otto ma quando vuoi

Windows???? Abbiamo imparato il Visual Basic in 5° superirore e così...... L'abbiamo realizzato!
Ci siamo divertiti un sacco ed il programma è venuto abbastanza bene. I suoni favolosi! 2 versioni divertenti o tradizionali, il programma è pignolo e non accetta errori da parte dell'utente, un solo problema.. se lo volete provare dovrete chiedermelo, tiene un cd e sarebbe un po' lungo da scaricare!!
ATTENZIONE !! I tempi sono cambiati e dal CD ecco come allegato il programma da scaricare ....
Attachments:
FileFile size
Download this file (Il Nove.zip)Il Nove.zip59449 Kb

Last Updated (Friday, 18 June 2010 18:44)

 

Telnetauto - Telnet automatizzato

Progetti Software
There are no translations available.

Mentre frequentavo il Poli e studiavo "Reti di Calcolatori 1" pensai ad un programmino client che si collegasse ad un server che forniva qualche servizio e che potesse inviargli un insieme di comandi presi da un file di testo... e così iniziai a fare Telnauto arrivato alla versione 1.1 poi ho abbandonato il progetto per questioni di studio ... In allegato i sorgenti con le istruzioni ed un esempio su come mandare una email di testo collegandosi ad un server smtp ... ovviamente sotto Linux !
Ma ecco tutti i dettagli:
Per iniziare ecco la mia iniziativa su come automatizzare telnet, noto programma per la connessione ad un server e usufruire o accedere ai servizi che offre con comandi particolari. L'idea è partita chattando con un mio amico ]-[acKeY che mi ha lanciato l'idea quasi come sfida nell'automatizzare questo programma utilizzando come comandi le righe di un file precedentemete editato in modo opportuno. Bene da quella sera è partito il mio progetto e non trovando il modo per farlo direttamente con la versione di telnet per linux (se che si può fare mettendo i comandi nel file ~/.telnetrc ma non so come accetto suggerimenti ... ) ho modificato il sorgente di un socket client TCP / IP e il gioco ha funzionato! Ovviamente sono all'inizio e si riesce solo a connettersi a server che aspettano comandi ( senza login ) come ad esempio un server smtp. Bene i miei studi andranno avanti ma per gli interessati ho deciso di creare una mailing-list per avere collaboratori con cui scambiare idee.
Ora qui di seguito la versione 1 ( al momento sto creando la 1.1 con alcune migliorerie) dove vi sono sorgenti e spiegazioni sul progetto. Leggete il file README e seguindo l'esempio potrete già mandare una email (come volete voi... ) collegandovi direttamente al server! La versione è solo per utenti LINUX cerco collaboratori per creare la versione Win!
NEW versione 1.1 (clie6 l'ultimo)
Mailing-list: This e-mail address is being protected from spambots. You need JavaScript enabled to view it (manda una mail vuota a: This e-mail address is being protected from spambots. You need JavaScript enabled to view it ne riceverai un'altra .. replicala al mittente e sei iscritto )
Con l'occasione ho imparato a usare le mailing list di yahoo WOWWO!
Attachments:
FileFile size
Download this file (telnauto1_1.tar.gz)telnauto1_1.tar.gz14 Kb

Last Updated (Wednesday, 20 January 2010 21:47)

 

Gioco del Lotto per MS-DOS

Progetti Software
There are no translations available.

Stagione da panettiere, in una località turistica Champoluc (AO) dal mitico Marco P. nelle ore in cui non sapevo che fare, ho pensato di realizzare un gioco, in C++ , imparato in 3° superiore... Volevo sbizarrirmi, con le miei conoscenze e così l'ho realizzato, un mucchio di fogli di brutta di idee buttate lì, fino a quando finii la stagione e realizzai "Il gioco del Lotto" versione per dos!! Un vero e proprio simulatore del gioco italiano. Con tanto di tabellone a 10 ruote e 5 numeri per riga .. fai la tua giocata! E il sistema genera in modo random il tabellone delle ruote ...
Queste le particolarità:
  • Utilizzo della grafica "graphics.h" con effetto di cornice rotante sulla textbox dove inserire i numeri da giocare... in contemporanea l'algoritmo ruota i colori del triangolo ( per evidenziare la casella selezionata ) e cattura i numeri digitati.. nel 2010 è una cosa normale ma nel 1998 in DOS è stata una impresa e una soddisfazione!
  • Mi sono ricavato la tabella per le quote da pagare con la relativa matrice moltiplicatrice tra numeri indovinati e punti giocati
  • Utilizzo dello speaker con frequenze diverse per gli effetti sonori
Consiglio di giocarci ...
Attachments:
FileFile size
Download this file (Lottoman.zip)Lottoman.zip165 Kb

Last Updated (Wednesday, 20 January 2010 21:56)

 

Sondaggio

Google o Bing ?
 

Google Search