lunedì, novembre 5

Agile development & Extreme programming


Ho "qualche" esperienza nello sviluppo del software anche relativamente alla gestione di un gruppo di programmatori e della gestione dei conflitti anche in relazione alle necessità sia del cliente che del committente.
Niente di pauroso, ma le aspettative delle "tre" parti sono sempre diverse, speciali e importanti.

Ho passato diverso tempo a spiegare che la tecnologia "Agile" e l'Extreme programming non sono la soluzione a tutti i problemi, e oggi ho trovato questo. Mi è sembrato utile e interessante, quindi lo riporto.
Sono spiacente per gli eventuali errori di battitura, colpa mia. :)


The Art of Agile Development
James Shore & Shane Warden
O'REILLY - 2008


CHAPTER 1

Why Agile?

Agile development is popular. All the cool kids are doing it: Google, Yahoo, Symantec, Microsoft, and the list goes on. I know of one company that has already changed its name to Agili-something in order to ride the bandwagon. (They called me in to pitch their "agile process" which, upon further inspection, was nothing more than outsurced offshore development, done in a different country than usual.) I fully expect the big consulting companies to start offering Certified Agile Process and Certified Agile Consultant -for astronomical fees, of course- any day now.

Please don't get sucked into that mess.

In 1986 [Harold Brooks] famous predicted that there were no silver bullets: that by 1996, no single technology or management technique would offer a tenfold increase in productivity, reliability, or simplicity. None did.

Agile development isn't a silver bullet, either.

In fact, I don't recommend adopting agile development solely to increase productivity. Its benefits -even the ability to release software more frequently- come from working "differently", not from working "faster". Although anedoctal evidence indicates that agile teams have above-average productivity(1), that shouldn't be your primary motivation. Your team will need time to learn agile development. While they learn -and it will take a quarter or two- they'll go slower, not faster. In addition, emphasizing productivity might encourage your team to take shortcuts and to be less rigorous in their work, which could actually "harm" productivity.

Agile development may be the cool thing to do right now, but that's no reason to use it. When you consider using agile development, only one question matters:
Will agile development help us be more successfull?
When you can answer that question, you'll know whether agile development is right for you.
--------------------------------------------
(1) Various experience reports at the Extreme Programming and Agile conferences.

Link al sito O'REILLY - direttamente al manuale di cui sopra.

domenica, novembre 4

Sviluppare in modo nativo e in C# su Linux

Una delle cose più interesanti/affascinanti del framework .Net è ciò che Microsoft cerca in ogni modo (e accuratamente) di nascondere: il framework .Net è un framework open source.

Ciò posto è possibile usare un linguaggio .Net per sviluppare in sistemi operativi diversi di quelli che ci fornisce mamma MS? La risposta è "ovviamente si".

A me piace C# (lo adoro in realtà) e per VB è pure possibile ma non allo stesso livello.

Ma come si fa a sviluppare software per Linux usando un linguaggio di programmazione Microsoft senza usare emulatori?
Ecco una delle cose che mi è sembrata complicata (oggi) è avere un "ambiente" dove provare. Fino a qualche anno fa, fino a quando esisteva Novell che sponsorizzava il progetto Mono, era facile trovare una virtual machine già pronta. Oggi non c'è.

Allora si segue il giro "standard":andare sul sito di monodevelop, nella pagina download (http://monodevelop.com/Download), scoprire che ci sono delle versioni installabili su determinati sistemi operativi e fare tutto quanto viene indicato... Per verificare infine che non funziona: si installa MonoDevelop e poi premendo sulla finestrella per editare il sorgente, l'ambiente si pianta e si chiude. Miseramente.
Molto Bello.

Io che però non mi arrendo facilmente ho provato di tutto, da aggiornamenti di apt, a speciali configurazioni di yum, a versioni specifiche di linux, quasi sempre senza successo... Fino a quando ieri ci sono riuscito :).
Ecco di seguito i passi che io ho seguito:

1) Ho scaricato VmWare player dal sito:qui

2) Ho scaricato Ubuntu 12.04, virtual machine per VmWare, versione con ambiente grafico e vmware tools già installati:qui

3) Ho dovuto attivare l'utente ROOT per Ubuntu che purtroppo è disabilitato. Perchè ho dovuto farlo? Alcune operazioni di compilazione e debug vanno in eccezione "denied error" e dato che comunque uso un sistema operativo temporaneo e virtuale e mi posso preoccupare poco della sicurezza. (Leggere qui)

4) Ho fatto l'update on line di Ubuntu (463 download! wow, altro che Windows!), usando l'utility standard di sistema.

5) Ho usato uno script che ha scaricato e compilato monodevelop ultima versione sulla macchina virtuale (... Che spettacolo poterlo fare!) trovato su Blog di John Ruiz, vedi quiGRAZIE JOHN!

6) Ho scoperto che qualcosa è imperfetto per XSP e per lo sviluppo web allora ho fatto a mano:
    a) apt-get install mono-xsp
    b) ho usato l'utility di sistema per installare software per scaricare XSP4.

Non riesco a sviluppare in web/XSP4 ma XSP2 mi basta e avanza visto che posso arrivare al .net v3.5

Buon divertimento!

martedì, giugno 19

Ulteriore mazzata a DropBox

Che secondo me Dropbox fosse destinato al declino lo avevo già scritto in questo POST, a Febbraio.

Specie dopo i problemi di sicurezza, il rifiuto di Steve Jobs a comprarli e l'uscita di iCloud.

Più meno due mesi fa (Aprile/12) è stato reso disponibile Google Drive.



SBAM!

Ecco fatto.
In campo IT essere in grado di discernere cosa è un prodotto e cosa non lo è, fa la differenza tra un professionista e un dilettante (e con questa mi sono pure tolto un pò di sassolini dalla scarpa) ;)
Buon web a tutti.


sabato, giugno 9

Volunia atto finale

Marchiori dice di voler/dover andare via dal progetto, sostanzialmente perchè a suo dire ne ha perso il controllo.
Ho scritto un paio di post su Volunia e su entrambi mi sono posto il problema di capire per quale motivo avessero deciso di rifare l'acqua calda, ovvero di scrivere un motore di ricerca nonostante non fosse necessario.
Dalla lettera che Marchiori ha scritto, pubblicata integralmente su WIRED, e che ho letto oggi, ritaglio il seguente passaggio:

Il motore


Il progetto iniziale - per come lo avevo concepito già anni fa - non hai mai avuto un motore di ricerca proprietario.
Il nome in codice era “metamaps”, e la comprensione di tutto sta nel nome, appunto: meta. 
Un metalivello, perché è questa la chiave: essere su di un livello superiore, e riusare l’informazione presente nei livelli sottostanti. 
I motori di ricerca sono stati il primo esempio di metalivello di successo, rispetto al Web. Metamaps doveva andare oltre, essere il “livello 2” e quindi stare sopra al web ed anche ai motori.


Certo, idee per fare un motore di ricerca semantico e non solo, soprattutto diverso da quelli esistenti, le ho da tempo. Ma il progetto metamaps, che ora in una piccola parte conoscete come Volunia, è ambizioso e richede tempo, risorse ed attenzioni. Fare un motore di ricerca proprietario è tutt’altra cosa che necessita di tempo e risorse completamente dedicate, ed ha alti gradi di difficoltà: e non si possono voler fare insieme tutte e due le cose.

E devo dire che questa risposta dà un senso ai miei dubbi...
Però parziale.

Marchiori infatti nella sua lettera lamenta il fatto di non avere la posizione di Amminstratore Delegato ma solo di Direttore Tecnico...
FERMI TUTTI! Non ho capito... Di solito funziona che il Direttore Tecnico litiga con l'AD per farsi dare i soldi per realizzare cose che sono abbastanza delle seghe mentali.

Mi spiego meglio, l'AD fa il lavoro di quello che caccia la minor quantità di soldi possibile perchè di quello sostanzialmente di occupa: amministrare le finanze e governare l'azienda.
Il Direttore Tecnico si occupa invece della parte tecnica e, si sa, i tecnici (come me) spesso sono poco avvezzi alla gestione della pecunia, inoltre pensano in grande e vanno sempre a bussare alla porta dell'AD per avere più soldi. E il giochino è che l'AD gliene dà (quando tutto va bene) meno della metà.

Mai, in tutta la mia vita, ho visto un AD dire a un Direttore Tecnico "Thò il triplo dei soldi che servono ma tu fammi un algoritmo di ricerca nuovo nuovo tutto per me. E anzi, a che ci sei, anche una interfaccia stile anni 80". E se comunque io fossi stato il Direttore Tecnico e l'AD mi avesse fatto una proposta del genere, in quel momento mi sarei preoccupato (e anche tanto) e avrei subito chiamato una ambulanza.

Quanto sbaglio quando credo che solo nella posizione di Direttore Tecnico puoi gestire il tuo giocattolo?
Cioè il codice, l'idea, l'aspetto, il funzionamento, ecc.
Cosa c'è di sbagliato nell'essere "l'ideatore del progetto" e fare "il Direttore Tecnico del progetto" lasciando nelle mani di chi è più esperto in queste patate bollenti "la gestione dell'azienda"?

Non so, credo di non essere così sbagliato io, e sinceramente spero che qualcuno illumini per me la parte che non ho capito della storia.

martedì, maggio 29

Volunia 2/2

< Vai al post precedente (Volunia 1/2)

L'avevo promesso a febbraio ma il tempo è stato riempito dal lavoro. Oggi però avevo 10 minuti e ho fatto nuovamente accesso a Volunia.

E l'ho trovato migliorato:

1. Il motore di ricerca trova le cose che gli si chiedono
Sembra una ovvietà ma non era così tre mesi fa.
Il motore sembra spedito, non so quante ricerche vengano elaborate ogni minuto, ma l'attesa è stata abbastanza breve.
L'elenco dei risultati e un "ranking" differente mi hanno fatto pensare che il motore di ricerca non è un "sottomotore" di Google... (il che mi fa tornare in mente la domanda originale, perchè reinventare l'acqua calda?).

2. L'interfaccia d'uso è ancora complicata ma meno della precedente
Adesso è più intuitiva.
O forse lo è per me che ho cercato di capirlo alla prima versione.

3. L'idea ludica (mappe) e social (discussioni sui link, utenti, barra dei connessi, ecc.) è rimasta
E questo sostanzialmente dovrebbe essere il carattere distintivo del "sistema volunia" rispetto gli altri.
Nel bene e nel male è una differenziazione, che è poi ciò che da senso a un "nuovo prodotto" e visto che il "motore semantico" annunciato non sono riusciti a farlo... va bene così.

4. Aspetto "frame"
Circa dieci anni fa, i siti si disegnavano in "frame" ovvero dividendo la pagina del browser in parti dove venivano caricati i singoli pezzi di html. Questa tecnica creava diversi problemi di comprensione a chi doveva disegnare i siti e le correlazioni tra le pagine quindi dopo un paio d'anni circa questa tecnica venne miseramente abbandonata.
Oggi, sebbene rivista e corretta, ritorna prepotentemente dentro Volunia: se si clicca su uno dei link che ha trovato, il risultato viene visualizzato al centro-sx della pagina perchè Volunia si riserva la testata (per la parte social) e la spalla destra (per la chat).
Questo effetto facebook come a me pare, non so dire se sia bello/utile/apprezzato o meno, però so per certo che a molti (anche non puristi) non piacerà affatto che qualcuno modifichi l'aspetto che ha cercato di dare al suo sito... Addirittura inserendo propri pezzi alla pagina!!! Si urlerà al sacrilegio (spesso giustamente).

Concludo
In soldoni Volunia, sebbene ancora in Beta, a me ha lasciato il tempo che ha trovato: non so se lo userò.
Magari utenti più "social" potrebbero avvantaggiarsene, io al momento trovo ancora utile:
  • il ranking di google 
  • non dovermi per forza autenticare per fare una ricerca

.

martedì, marzo 13

Un pezzetto di javascript che rende felici

Tanti contatti == tanti falsi contatti.
Lo diceva sempre un signore che conosco e che insegnava elettromeccanica e aveva ovviamente ragione.

Oggi abbiamo tanti browser... E parafrasando il prof di elettromeccanica scrivo:
tanti browser = = tanti modi di applicare uno standard

Ogni produttore di browser, da Microsoft a BlackBerry, pensa che nel proprio browser sia "applicato lo standard". Quest'ultimo è ovviamente definito a livello internazionale da un organismo che è (dovrebbe essere) slegato dalle logiche aziendali.
Personalmente credo che questo sia il metodo perfetto, ma pare che poi ognuno abbia "l'implementazione corretta" o se volete "l'implementazione migliore" dello "standard".

Peccato che lo standard normalmente è uno e basterebbe semplicemente applicarlo. Ovviamente.

Dal mio lato, alla stregua di questi produttori, penso che le implementazioni di alcuni script per tecniche conosciute, come l'AJAX, siano piene di buchi di sicurezza. E dato non sono legate a standard e dato che penso di avere la scienza infusa [...], credo che in DocuBox ci dobbiamo scrivere tutto, anche gli script javascript AJAX apposta per noi.

Poi, ovviamente, succede che funzionano sulla maggioranza dei browser. Letteralmente odio scrivere "sulla maggioranza dei"... Porca miseria se esiste uno standard perchè non lo applicano a tutti i browser? #einvece

Beh, dopo giorni di elucubrazioni e prove è nato il pezzetto di script che risolve tutti i problemi e adesso il nostro codice script funziona dalle alpi alle piramidi, dal manzanarre al reno... da Internet Explorer a BlackBerry passando per iOs, senza alcun problema.

Ed ecco al mondo in tutta la sua magnificenza la nostra ricetta segreta:

function DecodeResult(oElement,putText){

var hasInnerText=false;
try {oElement.innerText='ABC';hasInnerText=oElement.innerText=='ABC';}
catch (err){}
[...] 
if (hasInnerText) oElm.innerText=putText; else oElm.value=putText;
[...]  
}

E anche oggi ho dato il mio contributo all'evoluzione del mondo ;)

Enjoy.

lunedì, febbraio 27

Liberate Rossella Urru

Ci sono donne straordinarie che non fanno niente per essere notate e con grande cuore donano la propria vita agli altri.


Manteniamo viva l'attenzione su Rossella Urru, i media non lo fanno, facciamolo noi


Per contribuire alla conversazione su Twitter social network usiamo gli hastag #freerossella  e #freeRossellaUrru




mercoledì, febbraio 22

Il COW Computing

Alcuni mesi fa, alla ricerca di finanziatori mi trovavo a Lussemburgo, insieme ad una serie di persone "del giro" (ormai ci conosciamo tutti hahahah perfino uno dei miei idoli, Rick Salmon, mi ha riconosciuto "Hi Aldo!") e ovviamente quando la compagnia è godibile, si spengono gli accessi a internet dei cellulari e ordinata una buona birra iniziano le conversazioni che amo.

La questione che fu messa sul tavolo in quel momento più o meno suonava come "ma che cavolo è il Cloud Computing?". Bella domanda... "That, is the right question" direbbe l'ologramma del creatore di robot.

Ovviamente nessuno di noi confuse il Cloud con l'housing, l'hosting, l'asp, e tutte le altre sigle che servono a indicare "un costo ripetuto mensilmente per ottenere un servizio". Che sia un server, una applicazione o uno storage, per cui si paga un tot ogni mese, tutti i mesi, lo usi o non lo usi e soprattutto sai dov'è fisicamente, allora non si parla di Cloud computing.

Ce la siamo ovviamente presa col marketing relativamente alla corretta applicazione della parola "Cloud" (ma perchè il popolo alla ricerca di finanziatori è fatto sempre di tecnici?). A parte una breve parentesi in cui mi sono ricordato che in Italia abbiamo servizi chiamati "storm" o "la nuvola italiana", tutti eravamo d'accordo sul fatto che i concetti fossero fumosi (hahahah!) e negativi (la tempesta ad esempio non è esattamente un concetto positivo) trasformando questa opportunità in paura.

Non ricordo dove avevo sentito qualcuno che, non avendo capito bene la parola "Cloud", l'avesse scambiata per "Cow". Qui ( http://youtu.be/Sgb62RQec8Q) oppure ascoltando due persone discuterne: "What did you think about Cloud computing?" "What? Cow computing?".
Però a me l'idea del "Cow computing" convince di più, e come concetto riesco a spiegarlo più semplicemente, quindi buttai sul tavolo il mio punto di vista più o meno in questo modo.


venerdì, febbraio 17

Perchè Dropbox morirà

Purtroppo il nome DocuBox (che ho inventato prima di loro) è molto assonante con Dropbox e molta gente pensa che DocuBox sia uno strumento simile a Dropbox, magari meno figo perchè italiano (grazie Marchiori e Volunia! siete fortissimi in questo!), però la realtà è un pò diversa.

DocuBox è nato con un intento ben preciso: mettere ordine nel caos "personale" non limitato a quello di una persona cioè esteso a più persone, per esempio che lavorano insieme.

Diametralmente opposta la visione di Dropbox, nato con l'obiettivo di trasmettere ovunque, ovvero sui vari pc, tablet, smartphone di una persona i suoi file personali.

In due parole DocuBox concentra in un punto i file di tutti, Dropbox sparpaglia ovunque i file di uno.
Se un obiettivo comune devo trovarci è quello di "permettere di accedere ai propri file personali ovunque io mi trovi" e se devo dirla tutta il mondo va verso il "cloud" che è esattamente l'inverso di Dropbox.

Dropbox è a tutti gli effetti una specie di estensione della "cartella condivisa" che magicamente funziona su tantissimi devices, e questa è sinceramente una bella funzionalità.

Peccato però che -prima o poi- grazie all'idea del cloud computing/cloud storage, questa funzionalità sarà parte integrate di qualsiasi sistema operativo.
Steve Jobs (parlatene bene, parlatene male, ha comunque cambiato il volto del mercato informatico zittendo qualunque superesperto) lo aveva visto bene. Dropbox gli si presentava come startup da acquistare e lui disse "bella questa utility di sistema" e se ne andò.

E adesso abbiamo iCloud.
Cosa è iCloud "una bella utility del sistema operativo Mac" che fa quello che fa Dropbox e anche qualcosa che Dropbox non potrà mai fare, perchè Dropbox non è una vera utility di sistema ma un "intruso", un software installato in un sistema.

L'ho detto un anno fa "ah ma tu sei DocuBox allora" allora che? Che c'entra? Noi facciamo cose diverse. Noi abbiamo un brevetto, Dropbox no, questo significa che almeno una delle cose che facciamo noi non le fa nessun altro, giusto? (Si ok magari si ma noi non gli chiediamo i diritti, il brevetto è stato depositato per proteggere il prodotto dalle brame di alcune grandi aziende italiane e non per fare cassa).

L'ho detto sei mesi fa, poi due mesi fa, poi mi sono stancato, "tanto prima o poi Dropbox sparisce e poi discutiamo" ho pensato.

E Adesso lo dice chi è più credibile di me... www.techcrunch.com
Seconda puntata...

Volunia 1/2

Sono utente autorizzato di Volunia!!!
Beh, finalmente, aspettavo la mail, è arrivata.

Ok, popcorn, patatine, birra, mouse, c'è tutto? Si, iniziamo.

Accedo e mi trovo un "bailamme" di tasti e icone in alto e al centro la textbox per la ricerca.
Bene, scrivo il nome di un sito (il mio)  una sola parola (DocuBox).
Niente, non lo trova, però trova un paio di rivenditori.
Scrivo l'url (l'URL!!! tipo www.docubox.it) e... Niente, non lo trova.

Però funziona benissimo la definizione del mio profilo, posso incontrare persone, fare chat, scambiare informazioni.

Se fosse stato presentato come un nuovo social sarebbe stato ovviamente più interessante... Come motore di ricerca innovativo, italiano, realizzato da uno che ha fatto grande LA Google... sono deluso.

Mi chiedo comunque, e non so quanti con me, quanto senso abbia reinventare l'acqua calda, che senso ha inventare un nuovo motore di ricerca? Si possono usare quelli che ci sono, almeno le cose LE TROVANO, no?
Fino a quando la notizia era "motore di ricerca semantico" aveva senso, adesso invece è il "motore di ricerca dei polli che volano". Mah, probabilmente non sono abbastanza intelligente per capire.

Quando mi sono trovato di fronte al fatto che dovevo realizzare il mio motore di ricerca documentale per DocuBox, giuro che nemmeno per un secondo mi è minimamente passato per la mente di inventarmene uno mio. C'era quello di Google, perchè diventare pazzo?

Questa la mia impressione al primo impatto.
Prometto però un 2/2 dove proverò a produrre almeno un paio di informazioni che possono aiutare i ragazzi di Volunia a migliorare il servizio.

                      Vai al post successivo > Volunia 2/2

giovedì, febbraio 16

Il mio decimo primo post

Saranno almeno una decina i blog che ho fatto partire in giro per la rete e c'è solo il primo post. Sempre.
Questa è almeno la decima volta che scrivo un primo post, e succede ogni volta che mi si rompe un argine che dopo "un pò" si ricompone e i blog rimangono con il solito primo post, punto.
Stavolta è diverso gli argini che si sono rotti sono tanti, e mi chiedo se riuscirà questo a diventare un blog che sarò capace di tenere aggiornato più o meno una volta a settimana.
Non sono un "blogger" quindi non lo so adesso, intanto inizio, poi si vedrà se avrò delle cose interessanti da scrivere, troppi ce ne sono fini a se stessi...

Lode del dubbio

Lode del dubbio

Bertolt Brecht


Sia lode al dubbio! Vi consiglio, salutate serenamente e con rispetto chi come moneta infida pesa la vostra parola!
Vorrei che foste accorti, che non deste con troppa fiducia la vostra parola.

Leggete la storia e guardate in fuga furiosa invincibili eserciti.
In ogni luogo fortezze indistruttibili rovinano e anche se innumerabile era l'armata salpando, le navi che tornarono le si poté contare.

Fu così un giorno un uomo sulla inaccessibile vetta e giunse una nave alla fine dell'infinito mare.

Oh bello lo scuoter del capo su verità incontestabili!
Oh il coraggioso medico che cura l'ammalato senza speranza!

Ma d'ogni dubbio il più bello è quando coloro che sono senza fede, senza forza, levano il capo e alla forza dei loro oppressori non credono più!

Oh quanta fatica ci volle per conquistare il principio!
Quante vittime costò!
Com’era difficile accorgersi che fosse così e non diverso!
Con un respiro di sollievo un giorno un uomo nel libro del sapere lo scrisse.

Forse a lungo là dentro starà e più generazioni ne vivranno e in quello vedranno un'eterna sapienza e spezzeranno i sapienti chi non lo conosce.
Ma può avvenire che spunti un sospetto, di nuove esperienze, che quella tesi scuotano. Il dubbio si desta.
E un altro giorno un uomo dal libro del sapere gravemente cancella quella tesi.

Intronato dagli ordini, passato alla visita d'idoneità da barbuti medici, ispezionato da esseri raggianti di fregi d'oro, edificato da solennissimi preti, che gli sbattono alle orecchie un libro redatto da Iddio in persona, erudito da impazienti pedagoghi,
sta il povero e ode che questo mondo è il migliore dei mondi possibili e che il buco nel tetto della sua stanza è stato proprio previsto da Dio.
Veramente gli è difficile dubitare di questo mondo.
Madido di sudore si curva l'uomo che costruisce la casa dove non lui dovrà abitare.

Ma sgobba madido di sudore anche l'uomo che la propria casa si costruisce.
Sono coloro che non riflettono, a non dubitare mai.
Splendida è la loro digestione, infallibile il loro giudizio.
Non credono ai fatti, credono solo a se stessi.
Se occorre, tanto peggio per i fatti.
La pazienza che han con se stessi è sconfinata. Gli argomenti li odono con gli orecchi della spia.

Con coloro che non riflettono e mai dubitano si incontrano coloro che riflettono e mai agiscono.
Non dubitano per giungere alla decisione, bensì per schivare la decisione.
Le teste le usano solo per scuoterle.
Con aria grave mettono in guardia dall'acqua i passeggeri di navi che affondano.
Sotto l'ascia dell'assassino si chiedono se anch'egli non sia un uomo.

Dopo aver rilevato, mormorando, che la questione non è ancora sviscerata vanno a letto.
La loro attività consiste nell'oscillare.
Il loro motto preferito è: l'istruttoria continua.

Certo, se il dubbio lodate non lodate però quel dubbio che è disperazione!
Che giova poter dubitare, a colui che non riesce a decidersi!
Può sbagliare ad agire chi di motivi troppo scarsi si contenta!
Ma inattivo rimane nel pericolo chi di troppi ha bisogno.

Tu, tu che sei una guida, non dimenticare che tale sei, perché hai dubitato delle guide!
E dunque a chi è guidato permetti il dubbio!