Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

Caso pratico - Palmare, Web e organizzazione automobili

Requisiti
3 amici, 3 automobili diverse, stessa città da raggiungere
Orari di lavoro simili
Palmare + PC + qualche competenza C# e PHP

Obiettivi da raggiungere
Ottimizzare costi di benzina
Rispettare il turnover nell'uso dell'automobile

Descrizione
Allora, assumiamo di avere 3 amici (che chiameremo A, B e C). Questi 3 amici lavorano tutti nella stessa città (ad esempio, Paperopoli), hanno tutti gli stessi orari di lavoro (diciamo, 9:00-13:00 e 14:00-18:00). I 3 amici hanno ciascuno la propria automobile, perciò teoricamente ognuno potrebbe andare al lavoro con la sua. L'obiettivo però è quello di applicare una sorta di "rotazione": lunedì si usa l'auto di A, martedì quella di B, mercoledì quella di C e così via. Si spende meno in benzina, per prima cosa, e poi è bello così! :-)
Finchè è così è anche semplice, basta rispettare la rotazione. Poi però magari B sta a casa malato, C ha bisogno ogni tanto di andare diviso dagli altri per andare dal cliente, A non fa il ponte mentre gli altri due sì, bla bla bla. Per cui alla fine, dopo 3 mesi, mettiamo, si perde un po' il conto. Siccome i 3 amici sono 2 sviluppatori e un sistemista, decidono di non darsi per vinti e organizzano qualcosa per gestire e migliorare la situazione.

Risoluzione
L'amico A da parecchio tempo usa un palmare con un organizer. Lo usa per segnare gli impegni, per fatturare alla fine del mese, per organizzare il lavoro. Da quando i 3 amici "ruotano" l'automobile, A segna anche tramite dei flag quale auto viene usata giorno per giorno. Per cui, lunedì attiva il flag "Auto A", martedì "Auto B" e mercoledì attiva il checkbox "Auto C". Il palmare dell'amico A è un Pocket PC, per cui tramite ActiveSync il contenuto dell'agenda viene sincronizzato ogni tanto con il PC desktop di A su Microsoft Outlook. Passano i giorni (supponiamo 77). Adesso il database di Outlook è bello pieno; inoltre, ci sono state delle festività (il ponte del 2 giugno) e l'amico A ha fatto riparare la sua auto (per cui ha dovuto saltare il suo turno), per cui il giro adesso potrebbe essere sballato.
Come facciamo a capire chi ha preso più spesso la sua auto?
Come facciamo a capire a chi tocca domani per "bilanciare" i conti?

L'amico A, che oltre ad avere il palmare, è anche il più furbo di tutti (eh eh eh), decide di scrivere qualche linea di C#. Scopo: automatizzare Outlook, scandire tutti gli appuntamenti inseriti nel calendario e pubblicarli online per mostrare su una pagina web, giorno per giorno, chi ha preso l'auto. Il sito web è su un server Linux, la pagina sarà in PHP e il database lato server è MySQL 4.0.qualcosa. Ok, quindi, il software di A legge gli appuntamenti uno alla volta, fa una INSERT INTO sulla tabella di MySQL scrivendo: data, oggetto e categoria (che contiene una stringa tipo "Auto A", "Auto B" e "Auto C"). Il software è stato scritto in 2 ore circa. Finito il lavoro, sul server Web c'è una bella tabella CarReport con tutte le informazioni necessarie per tirare le somme. Rilanciando il software, la tabella viene droppata e ricreata da zero tutte le volte (ovviamente, migliorabile!!)

L'amico A (ma perchè deve fare tutto lui, questo non l'ha ancora capito!!!), commuta la corteccia cerebrale da C# a PHP (tempo di sviluppo decuplicato). Scrive un file index.php che non fa altro che aprire la tabella CarReport, ordinare i records per data, li mostra nel browser e tiene i conti di chi, giorno per giorno, ha preso la macchina. In fondo, scrive i totali. Risultato: gli amici A e C hanno preso l'auto 8 volte, mentre l'amico B 10 volte. Quindi A e C si alterneranno un paio di giorno per bilanciare i conti.

Conclusione
L'amico A sono io, l'amico B è in realtà mio fratello, l'amico C è un mio amico.
La città da raggiungere è Milano.
Il sistema descritto è stato realizzato tra ieri e oggi usando:
- palmare Asus A620 con bluetooth
- un PC desktop con Outlook 2003 per la sincronizzazione
- un software C# da 30 linee di codice per la pubblicazione online
- un server web Linux con PHP + MySQL
- un file index.php per la visualizzazione

Adesso, ogni giorno in metro segno chi ha preso la macchina, a casa sincronizzo con un paio di click dal palmare (semplicemente attivando BlueTooth) e lancio il mio programma C#. Sul sito finiscono i dati aggiornati.
Non sarò MCP, MCAD o MCSD, però me la cavo eh?
Posso fare anche io una sessione da qualche parte come Lorenzo?
;-))

Print | posted on martedì 14 giugno 2005 15:59 |

Feedback

Gravatar

# re: Caso pratico - Palmare, Web e organizzazione automobili

Benvenuto nel magico mondo del car-sharing, una delle questioni più complicate dell'infomobility (insieme al trasporto a chiamata)... :-)
saluti
14/06/2005 16:31 | Roberto messora
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET