Visualizzazione post con etichetta Technology. Mostra tutti i post
Visualizzazione post con etichetta Technology. Mostra tutti i post

gli ultimi 2 mesi...

Mi piace pensare che negli ultimi 2 mesi la mia vita ha ingranato una marcia diversa rispetto al solito essere "me".
Tanto per cominciare, nel mese di settembre, mi sono fatto 2 mezze maratone (quella del parco del roccolo e la mezza di monza) , la milano pavia (33km!) e la DeeJay Ten con il mio miglior tempo ufficiale sui 10km in 1h 48minuti.
Il resto riguarda più la vita professionale (che i miei amici ritengono essere fin troppo eccessiva) con cambiamenti a breve e medio termine.
Per anni ho evitato Linkedin (nonostante fossi iscritto da qualche anno ma mai usato veramente) e soprattutto, il più devastante, la miglior bufala di internet che è facebook.
Facebook è il niente. E' il nulla che avanza. E' un enorme baccino di contatti che ti ritrovi (e a volte non sai neanche come fanno a scovarti...) e che per la maggior parte del tempo, ti mandano commenti e giochini fondamentalmente inutili. Facebook è qualcosa che torna dal passato, da quei contatti che non sentivi da anni (e magari un perchè c'era!!). Ora sono di nuovo li, nella tua lista di amici, che sanno quando e quanto tempo passi a cazzeggiare online. Facebook però è bello proprio per quello. E' un social network vero. E' la rete che parla di te. E' internet che non ti lascia stare. E' la coscienza di esistere anche (ma non solo) perchè si è presenti su facebook. Non si può evitare questo concetto. Non sei su internet, allora non esisti. Evitare questo paradigma è anacronistico. Me ne sono reso conto poco tempo fa. Lavoro con internet. Faccio internet. Creo applicazioni web based per internet e pensavo di esserne parte. Il mio vicino di casa, che è su facebook da prima di me, è più in internet lui di me, lui che usa ciò che io gli metto a disposizione. Ho fatto la mia prima applicazione internet (una specie di blog per pochi amici) circa 9 anni fa. Non ho avuto la lungimiranza di svilupparla e diffonderla. Il motivo è che sono (ero) chiuso alla diffusione del mio io in internet. Volevo sentirmi solo mio, ma ciò è anacronistico. Ho conosciuto gente (vedi il gruppo MilanIn) che fa del Business Social Network una filosofia. Vincente. Mi rendo conto che LinkedIn è utile. E' buono. Facebook è interessante. E' buono (se preso nel modo giusto). Sono killer applications. Vengono evangelizzate oltre il loro vero valore, ma nonostante questa eccessiva capitalizzazione dell'utilità di questi social network, esserci è importante. Non esserci è grave. Grazie a tutto ciò, nel giro di una settimana, ho acquisito un nuovo cliente che opera nelle applicazioni di social network. Conosciuto il venerdi in SMAU, abbiamo firmato il contratto la domenica sera successiva (già...qui si lavora sempre!) e dal lunedi stiamo lavorando su progetti interessanti. Tra tutto questo, nella mia vita professionale ci sono anche novità a medio termine, come un cliente istituzionale che, per via della crisi economica mondiale, si trova in restrittezze economiche, ma sull'orizzonte, si profilano nuove ed interessanti sfide, con un nuovo progetto in cui il mio ruolo sarà quello di "architetto" applicativo. Alti e bassi. La mia vita cambia. Il mondo intorno a me cambia. Non mi faccio seminare. Io sono me. Io corro!

Cambio server

Oggi ho cambiato il mio server in housing nella web farm di milano.
Ho spento il glorioso Dell PowerEdge SC1425 in uptime dal 26 Maggio 2006, senza mai fermarsi o guastarsi.
Lo sostituisce un più recente Dell PowerEdge R200 con dischi raid, 4gb di ram e qualcosa in più di prestazioni...e di attese. Spero sarà all'altezza del ferro che va a sostituire, di cui condivide anchel'alias.

nota gastronomica: sono andato a pranzo da Mcdonald's di via novara a milano. Ho mangiato uno tra i più buoni bigMac di sempre (non sono tutti uguali....)

Il Rischio

Mentre ascolto un pò di sano heavy metal e mentre lavoro ad un progetto di ecommerce in java per un cliente (ed è solo martedi sera!), mi rendo conto che parte della mia giornata lavorativa degli ultimi 5 mesi l'ho passata gestendo solo una cosa: il rischio. Il rischio è parte della mia quotidianità. Come gestire il rischio e come applicarlo al test di un software determina il successo o il fallimento di un progetto. Ci sono tre modi per gestirlo.
1) Non esiste la parola "mai". Qualunque cosa succeda, si deve essere pronti a rimodellare le proprie strategie. Il rischio è sempre pronto a far casini e si deve sempre lavorare per minimizzare il suo impatto sul progetto. Qualcosa, prima o poi, sia una nuova funzionalità, una nuova richiesta, nuovi o vecchi bugs, metteranno il progetto a rischio.

2) Ci saranno sempre bugs. Ho trovato tutti i difetti del software? No??? Non importa, perchè è impossibile e non esiste un software bug-free. Perchè? Primo, perchè dal lato dello sviluppo dell'equazione, si deve gestire il cambiamento della tecnlogia, un design o un'architettura complessa, la difficoltà di integrare sistemi diversi, e così via. Secondo, perchè l'errore umano è un fattore critico. Anche se parte del codice te lo genera l'IDE, qualcuno deve sistemare e sviluppare nuovo codice, quindi visto che è umano, genererà degli errori. Visto che devo concentrarmi nel testare un software, devo trovare quelli che mettono il progetto più a rischio. Questo richiede concentrazione.

3) La domanda giusta non è "cos'è il rischio", ma "qual è il rischio oggi?"!!!
Nessun progetto di sviluppo software è statico. Chi pensa di definire a priori uno schema di progetto e non modificarlo più, sbaglia. Rischia. Il progetto è se stesso in continuo cambiamento. Per essere vincenti, si deve saper rispondere alle richieste del cliente e integrare nuove tecnologie. Si può provare ad anticipare tutto in tempo, ma durante i test, si impara sempre qualcosa di nuovo e si deve cambiare piano di lavoro per incorporare nuovi test o migliorare quelli attuali in base al rischio in cui si trova il progetto. Questi rischi cambiano di livello ed importanza in base alla fase del progetto. All'inizio il rischio può essere solo che il software è un pò buggoso, o che le interfacce da e per altri sistemi non siano giuste. Dopo, a progetto avanzato e sviluppo ultimato, il rischio maggiore è che le nuove modifiche rompono le architetture iniziali.

Gestire il rischio di un progetto non vuol dire suddividere le persone tra sviluppatori, testers, application designers, chi fa l'architettura, chi si relaziona con i clienti, chi pulisce i cessi e chi si prende i meriti. Gestire il rischio di un progetto vuol dire anche gestire con flessibilità progettuale le rigidità architetturali. Non è facile. Lo sto imparando ancora adesso. Lo sarà ancora tra parecchi anni, perchè non c'è una regola per fare di un progetto un'avventura vincente. L'importante, è non tirarsi mai indietro davanti ad un problema (tecnologico, di ruolo, personale, di progetto) e fare gruppo. ;)

Fedora 9 installata

La Fedora 9 è già operativa senza problemi, senza intoppi e già personalizzata come piace a me. ...piece of cake! ;)

gparted e qualche problemino con Grub

Il mio hard disk è diviso in 7 partizioni:
una per widows sVista (!) e il resto per Linux/Fedora, con una partizione ancora in FAT32 in cui tenere files di scambio con windows se capita.
Decidere quanto spazio assegnare ad una partizione non è cosa facile, soprattutto per l'uso che poi se ne farà nel tempo. Sul mio pc, è risultato che la partizione per "/opt" è praticamente piena e quella di "/" è praticamente vuota. Così come la partizione per sVISTA è sovradimensionata. Si è reso necessario recuperare dello spazio e riassegnarlo. Come? con GParted. Gparted è un tool praticamente identico al vecchio PartitionMagic (ormai inglobato dalla Symantec). Quello che devo fare io, richiede l'esecuzione di Gparted da boot, e quindi ho scaricato la versoine LiveUSB di Gparted e l'ho installata su una chiavetta da 512mb dimenticata sulla scrivania da tempo. Creare una chiavetta bootable mi ha richiesto più del previsto, penso per qualche problema del bios che non la riconosceva correttamete, ma è stata facilmente risolto utilizzando il pratico tool della HP (HP-USB Format Tool ). Fatta la chiavetta e riavvito il pc, mi sono messo a simulare un pò di ridimensionamenti e sono riuscito a recuperare ben 20GB di spazio, principalmente da sVista. Il difficile adesso è riassegnarlo alle partizioni giuste. Per prima cosa ho tolto lo spazio dalla partizione ntfs di vista e l'ho lasciato tra windows e la partizione principale (/) della Fedora, ed ho fatto una prova di riavvio. Tutto ok.
A questo punto ho spostato la partizione Fedora dopo la windows lasciando il blocco del nuovo spazio a destra della fedora, pronto per essere riassegnato.
Tempo di esecuzione: 40minuti! fantastico. La partizione che ho spostato è quella con GRUB e tutti i file principali di Linux, quindi ero un pò preoccupato che qualcosa potesse non funzionare più nel modo corretto, ma i miei timori sono svaniti subito dopo un altro reboot. A questo punto riassegno a tre partizioni (/home, /opt, /mnt) lo spazio necessario recuperando quello che non mi serve. Il processo ci mette due ore (circa 18GB da spostare). Alle 23.30 riavvio e con mia sorpresa, invece di comparire la schermata di Grub, lo schermo si riempe di scritte "grub" bianche su sfondo nero come mostrato in questa raccolta di errori (punto 7). Per risolvere il problema ho cercato prima di capire se le partizioni erano ancora al loro posto e se fosse qualche problema con l'MBR. Ecco quindi che la mia chiavetta d'emergenza USB con Knoppix mi ha confermato che l'hard disk era ancora sano. Il problema è qualcosa legato al Grub. Dopo diversi inutili tentativi, alle 2.30 del mattino ho deciso che era ora di riposare. Il sonno porta consiglio, ed infatti alla mattina ho trovato la soluzione. Ho inserito il cd installante della CentoOS (l'unico che avevo a casa in quel momento) e ho fatto partire l'installazione in modalita linux rescue. Il setup cerca precedenti installazioni di fedora/red hat /centos e le carica in /mnt/sysimage.
Con il comando chroot /mnt/sysimage si accede alla versione già presente e da li con il grub-install /dev/sda ho ripristinato il boot corretto del pc. Tutto si è risolto e il mio hard disk ha nuovo spazio...anche in previsione del prossimo rilascio della Fedora 9 previsto per la fine di aprile.
Comandi per riparare il boot di Fedora:
da boot: linux rescue
chroot /mnt/sysimage

grub-install /dev/sda

spam...

Ho scaricato la posta venerdi sera e sabato mattina, meno di 12 ore dopo, al successivo donwload dei messaggi in arrivo, mi trovo con ben 862 messaggi...di cui il 99% è stato spam! Così è veramente troppo...

VirtualBox under the SUN

SUN ha annunciato l'acquisizione della innotek, società che sviluppa e distribuisce VirtualBox , software di virtualizzazione opensource già comparso tra i post del mio blog. Qui trovate il comunicato ufficiale. Sun ha di recente comprato anche MySQL.
A questo punto mi sembra che SUN si stia muovendo sul mercato nel modo corretto, anche se mi auguro che continui a lasciare alla comunità il libero utilizzo dei suddetti software (anche se già con MySQL è comparso un fastidioso orpello...)

Red Hat e il MEF

Per prima cosa, il MEF è il Ministero Italiano dell'Economia e delle Finanze.
La notizia risale allo scorso metà dicembre ma vista la mia recente miopia informativa per mancanza cronica di tempo, non ho avuto modo di leggere e raccoglie news come questa. Dunque, sembra che il nostro MEF (una pubblica amministrazione) abbia deciso di affidarsi lle "prestazioni e affidabilità" delle soluzioni Red Hat Enterpriese Linux (RHEL).
Ovviamente il fatto mi riempe di gioia e mi fa quanto meno sospettare che qualcuno nella nostra PA non sia stato definitivamente assorbito dal lato oscuro dell'informatica (scherzo...ovviamente). Non riesco però a capire quanta eco abbia avuto questa succosa notizia. L'unico tg via etere che riesco a seguire è Sky TG 24 (per via del fatto che fa informazioni 24h su 24 e non solo duranti i pasti...) e non mi sembra che ne abbiamo dato riferimento, Comunque, ben vengano progetti come questi. Evviva linux. Evviva una PA sensibile e informaticamente attuale.

Ajax e le sue implicazioni client


Nello sviluppo di applicazioni web, negli ultimi anni, ho cercato di portare il più alto numero possibili di controlli applicativi verso il server e scaricare il browser (client) da problemi di incompatibilità e fragili funzioni javascript. Questo mio ragionamento mi ha portato a creare design semplici, funzionali e liberi da grafica o funzionalità client più o meno complesse. A rafforzo di questa pratica, c'è sempre stato poi l'annoso discorso delle velocità (o lentezza) di caricamento di una pagina, compromessa dalla quantità di immagini, filmati e flusso di dati (ad esempio se si deve visualizzare una tabella complessa con molte colonne e righe). Con l'invio di un form o il click di un link, si server deve rimandare l'intero contenuto della pagina e questo incide sul design, sulla tecnologia adottata, sulle prestazioni del server, sull'occupazione della banda (hai un contratto a traffico? navighi da un pda? da un cellulare? allora sai di cosa parlo...).
Da qualche hanno è stato introdotto il concetto di richiesta asincrona, ossia l'invio di una richiesta inviata al broswer senza che l'intero contenuto della pagina venga aggiornato (sincronia) con la risposta del server. Questo messaggio di ritorno viene gestito in background e poi manipolato apportunamente per poi essere mostrato all'utente. Questa tecnica è chiamata Ajax.
Nelle ultime settimane mi sto dedicando intensamente allo sviluppo di un'altra applicazione web e questa volta ho deciso di sprerimentare anche io, con le mie mani, Ajax ed introdurre alcune funzionalità di sicuro impatto funzionale e di miglioramento dell'usabilità per l'utente.
(nota tecnica: l'applicazione viene sviluppata utilizzando Java, Struts, Hibernate, Postgresql e Ajax).
La decisione di implemetare Ajax sulle pagine, mi sta portando però ad un uso intenso di javascript, con il risultato che molti controlli però li devo portare verso il client. E' una soluzione che non mi rende felicissimo, ma ne sono in qualche modo obbligato, perchè la non sincronia tra le richieste (e quindi la relativa storia temporale) non è facilmente ricreabile e tracciabile (lo sarebbe, ma non voglio appoggiarmi ancora di più su javascript, ne tanto meno usare i cookies). Per questo devo scendere a compromessi applicativi, ma devo dire che l'esperienza generata dall'uso di un'applicazione web in cui si applica Ajax è veramente superiore al piccolo fastidio nel dover cambiare alcuni paradigmi di sviluppo su cui ho basato nell'ultimi anni lo sviluppo delle mie applicazioni.
Visto che ho citato anche Hibernate, ammetto che anche l'utilizzo di questo ORM mi ha semplificato a livelli astronomici lo sviluppo in java e la gestione dei dati.
Ho completamente rivoluzionato il mio modo di scrivere codice. E ne sono contento. :)

Skype 1.4 Nuova versione Skype 1.4 Beta per Linux

Sembra che Skype non sia più in versione beta per Linux...ed è disponibile la versione 1.4.0.118
Le principali novità che mi saltano subito all'occhio sono nella finestra di chat, dove trovano posto i pulsanti "send file" (così è più immediato condividere documenti) e finalmente il "leave chat", così posso anche io scappare dalle lunghe chiaccherate con i colleghi windowsiani :)
Questo il link per il download: http://www.skype.com/intl/en/download/skype/linux/

iPhone

Da oggi l'iPhone è disponibile in UK. A seguire Francia e Germania. Per l'Italia non si sa ancora nulla di certo.
Ammetto che è un oggettino veramente accattivante, e nonostante sia sempre stato un pò allergico all'acquisto del fashion gadget del momento perchè tutti lo hanno, ammetto che questo iPhone mi interessa un pò e un pensierino potrei farcelo :))

problemi di sign-on con Skype

Nelle ultime 48 ore skype ha avuto un "major problem" con il suo sistema di sign-on. Il risultato è che nessuno è riuscito a loggarsi per quasi 2 giorni. Sembra esserci stato qualche bug nel loro algoritmo di autenticazione, problema quindi direttamente legato alla loro piattaforma, impossibilitando tutta l'utenza all'uso di skype. Loro parlano di circa 220 milioni (!!!) di utenti in tutto il mondo. Oggi, sabato 18 agosto, il servizio sembra essere tornato allo stato normale delle cose.

Skype 1.4 Beta Nuova versione Skype 1.4 Beta per Linux

E' stata rilasciata la versione 1.4.0.94 di Skype 1.4 Beta per linux.
Disponibile a questo link: http://www.skype.com/intl/en/download/skype/linux/

altra domenica di lavoro...

Anche questa domenica mattina mi ritrovo in ufficio a lavorare. Devo finire di implementare il pagamento con carta di credito passando dal servizio PayPal.
La mia piattaforma di ecommerce è stata inizialmente sviluppata solo con i semplici sistemi di pagamento tramite bonifico e contrassegno. La funzionalità con carta di credito (lo so...a chi serve un sito di ecommerce senza carta di credito???) l'avevo schedulata come sviluppo successivo, per concentrarmi inizialmente solo sulla gestione del carrello, dei clienti, degli ordini, degli sconti (che ho scoperto essere complicatissimi!!) e tutto quello che serve per avere nella piattaforma le funzionalità di backoffice di un medio ufficio contabile/amministrativo/commerciale. Ora è tempo di aggiungere anche la carta di credito...e così oggi mi ritrovo qui a ragionare sulle variabili paypal...
Buona domenica.

WinZip e Corel

Oggi ho scoperto che la Corel, nel 2006, ha acqisito la Winzip Computing, la società che sviluppa il famosissimo tool di compressione.
Conosco la Corel da tanti anni, dalle prime versioni di Corel Draw. Ho partecipato anche al gruppo di beta testing della versione 8 (ai tempi era stato un onore per me!).
Non so perchè, ma questa notizia mi ha sorpreso parecchio!!

encoding java da Windows a Linux

Sto migrando tutti i miei progetti java da Windows a Linux. In questi giorni devo fare una modifica su un paio di classi e questa è l'occasione buona per riconfigurare l'ambiente di sviluppo migrandolo da windows a linux.
Installare Eclipse ed Exadel è un giochetto da ragazzi, così come riconfigurare i vari build path necessari ai progetti.
Al primo tentativo di build con Ant però mi sono trovato con una lista infinita di warninigs. Ok, il build è andato a buon fine, ma quei messaggi sono un pò fastidiosi.
il messaggio dice: "warning: unmappable character for encoding UTF8".
Urca! ma che scherziamo?? Io parlo l'iso-8859-15, mica il povero e ridotto utf8 :)
Come mai quando compilavo su Windows questo messaggio non compariva?

Google-izzo il problema e capisco che il problema dipende dall sequenza di byte specifici del set di caratteri iso8859-1 con cui il file è stato scritto e che non trovano una corrispondenza con i caratteri utf8 del nuovo sistema (anche se i pacchetti iso-8859.1 sono stati installati). Ad esempio, i caratteri accentati vengono trasformati con un punto di domanda su sfondo scuro.
La soluzione è molto semplice: specificare ad Ant, anzi, per essere precisi al Javac, l'encoding di riferimento. Nel build.xml si deve indicare l'attributo encoding="iso8859-1". Il mio è:

<javac srcdir="${src.dir}"
destdir="${build.dir}"
debug="on"
deprecation="on"
target="1.5"
encoding="iso8859-1">
<include name="**/*.java">
<classpath refid="project.class.path">
</javac>


Per i curiosi: target="1.5" mi serve per un problema di incompatibilità tra java 1.5 e 1.6...ed essendo il server di produzione ancora 1.5 (magari lo upgrado...) devo dire anche qui a Javac come comportarsi.

Condividere un calendatio con Thunderbird, Sunbird e Google Calendar

Si può integrare il Google Calendar in Mozilla Sunbird (o in Thunderbird tramite il plugin Lightinig).
Io preferisco la soluzione Sunbird + Google Calendar, più leggibile e pratico invece di avere il calendario installato come plugin in Thunderbird.
Ecco cosa serve:
- Mozilla Calendar (latest nightly build scaricabile da qui)
- Provider for Google Calendar (add-on per Sunbird)
- Account di Google Calendar (www.google.com)

Prima di procedere, si deve ricavare l'url del Google Calendar.
Accedendo all'account del Google Calendar, si seleziona il calendario che si vuole condividere con Sunbird e nella impostazioni, visualizzare il link esterno del calendario cliccando sull'icona XML. Copiare il link (che sarà del tipo http://www.google.com/calendar/feeds/your-google-account/public/basic).

Scompattate Sunbird in una cartella ed avviatelo.
Installate l'add-on Provider (tools -> add-on)
Create un nuovo calendario (file -> new calendar):

  • tipo di calendario "on the network"
  • tipo "Google Calendar"
  • copiate il link del google calendar nel field "location"
  • date un nome al vostro calendario
Se come me utilizzate anche le task, dovete creare un altro calendario (in locale) e creare le task su questo calendario perchè il Google Calendar non supporta la creazione di record del tipo task (ma solo del tipo event).

Microsoft Surface

Finalmente Microsoft mi stupisce con qualcosa che sembra essere veramente innovativo.
Ho sempre considerato MS una società capace di inventare bellissime copie di tecnologie già sperimentate da altre perchè il suo valore aggiunto è basato su codice proprietario, quindi, gestito da un piccolo gruppo di menti e questo, nel settore tecnologico, può essere un freno alla fantasia e alla sperimentazione, oltrettutto perchè prima di tutto si devono fare i conti con i guadagni e costi.
Sembra però che, nonostante tutto questo, la prima "rivoluzione" (esagerato?) dell'interfaccia con cui operiamo con le tecnologie, possa arrivare da un loro prodotto chiamato "Surface".
Guardate qui: http://www.microsoft.com/surface/
Il richiamo a "Minority Report" è anche fin troppo banale, ma sicuramente l'idea di base, la ricerca
e gli investimenti hanno crato qualcosa che sembra essere molto interessante.

-24 ore a Fedora 7

Eccomi nuovamente alle prese con quel senso di infantile desiderio per il nuovo giocattolo tipico della vigilia di natale in giovane età. Lo so, ogni volta che la data della GA per la Fedora arriva, io entro in trepida attesa già 48 ore prima e devo ossessivamente controllare tutti i mirrors ufficiali almeno ogni 72 minuti (non so il perchè, ma statisticamente ho rilevato questo delay nel mio comportamento compulsivo).
Stasera sono comparsi i primi link alle directory di donwload della Fedora 7 ma ovviamente o sono vuote o non si hanno i diritti di accesso.
Immagino già nella mia fervida fantasia milioni (o forse miliardi) di pacchetti tcp che viaggiano felici attraverso i router, i dns, le dorsali oceaniche facendo rotta verso un file system di qualche remoto server già configurato per accettare richieste http/ftp da centinaia di migliaia di fan della Fetora (non è un refuso...come disse il Diego) allo scoccare delle 23.59 UTC del 31.05.2007
E il count down continua...

Thudnerbird 2



ECCOLA!!!
La thunderbird 2 è stata rilasciata ed ovviamente stamattina l'ho subito installata.
La nuova release si installa direttamente sulla precedente, senza bisogno di fare nulla di più. Mantiene tutte le precedenti impostazioni, non si perde niente per strada e funziona alla perfezione.
Le novità sono un sistema di tagging dei messaggi, due pulsanti Avanti e Indietro che si ricordano la sequenza dei messaggi letti, un sistema di ricerca on the fly e alcuni improvements per la sicurezza della posta. Ci sono altre funzioni che devo scoprire e appena avrò una visione più dettagliata provvederò ad aggiornare il post.
Ciao.