tag:blogger.com,1999:blog-46824911722849078922024-02-20T17:38:13.315-08:00fondamentalmenteAvventure e disavventure dal mio piccolo universoAnonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-4682491172284907892.post-29993430588908435072011-07-08T14:34:00.000-07:002011-07-08T14:34:09.365-07:00Aiuto: non funziona più la luceSono un felice possessore di un impianto elettrico <a href="http://it.wikipedia.org/wiki/Domotica">domotico</a> ( é un <a href="http://www.vimar.eu/index.php?l=it&module=articles&content=352">By me</a> di Vimar). <br />
Le funzionalità che mette a disposizione sono molte e non tutte sono state attivate, comunque quello che mi piace moltissimo è l'assoluta indipendenza fra gli interruttori e i dispositivi comandati, cioè posso decidere di accendere (o spegnere) una luce in cucina dalla camera da letto semplicemente programmando l'interruttore in camera.<br />
Capisco che ci si possa chiedere a cosa possa servire ma posso assicurare che a me serve e lo uso spesso anche perché non è facile stabilire in fase di progettazione di un impianto l'esatto uso dei punti luce.<br />
<br />
La tecnologia applicata a gesti (ormai) così comuni della nostra vita come accendere o spegnere una luce ha la necessità di avere un'alta affidabilità per poter essere accettata da tutti senza timori, e debbo dire che per gli ospiti è molto più difficile aprire il rubinetto in bagno (meccanico) che accendere una luce (elettronica). <br />
<br />
<br />
Ieri sera tornando a casa però la mia dolce metà mi ha avvertito del fatto che una luce non ne voleva più sapere di accendersi e siccome nel pomeriggio c'erano stati dei lavori in un edificio adiacente, aveva il terrore che avessero danneggiato il nostro impianto elettrico. <br />
<br />
Passato il primo momento di sconforto ho iniziato a fare un veloce debug: gli interruttori programmati sembravano funzionare regolarmente ma non si sentiva alcun "click" del relè elettronico destinato all'attuazione del comando. <br />
<br />
<br />
Per chi non ha idea di come funzioni un sistema del genere: ad ogni luce è associato un unico interruttore elettronico (un relè attuatore); quando si invia un comando, schiacciando l'interruttore della luce, questo arriva alla centralina che lo invia al relè appropriato.<br />
<br />
Non ricordavo l'esatta ubicazione del relè, ma per fortuna chi ha installato l'impianto ha usato giustamente una logica di prossimità per risparmiare anche rame: i relè si trovano nelle scatole degli interruttori più vicine alle luci comandate e effettivamente sia gli interruttori che il relè vicini alla luce non davano segni di vita.<br />
Ho aperto la scatola e con un cercafase mi sono assicurato che fosse presente tensione: fiii.... i vicini che avevano fatto i lavori non avevano assolutamente toccato l'impianto elettrico: si era semplicemente bruciato il relè.<br />
<br />
Ho per fortuna ho alcuni pezzi di ricambio e una veloce ricerca mi ha permesso di trovare un pezzo sostitutivo (<a href="http://www.domuswire.com/search/scheda_prodotto.jsp?cprodotto=vimar%2020525&ccategoria=75">un doppio pulsante con relè</a>); ho escluso l'alimentazione della zona interessata e ho cambiato il doppio "frutto" in meno di 5 minuti.<br />
<br />
A questo punto avevo il nuovo relè che per default è comandato da uno dei due pulsanti sul frutto, quindi ero nuovamente in grado di accedere la luce ma avevo completamente perso gli altri 3 interruttori che comandavano quel relè, cioè la centralina non era più in grado di smistare il comando verso il relè perché era variato e non era quindi più riconosciuto dal sistema.<br />
<br />
<br />
Mi sono quindi spostato sulla centralina per cominciare da zero la programmazione; che in realtà non è proprio una operazione semplice, ma mentre navigavo nei menù mi sono imbattuto in una voce di diagnostica: "ricerca dispositivi guasti". Mmm proviamo...<br />
In circa un paio di minuti il sistema ha individuato che il vecchio relè non rispondeva e mi ha chiesto di sostituirlo, ma io lo avevo già fatto e quindi o confermato immediatamente la sostituzione, la centralina mi ha gentilmente risposto "Ok" e ha riprogrammato autonomamente tutti gli interruttori associati.<br />
<br />
In quel momento ho capito ancora una volta che la mia scelta verso l'impianto domotico si dimostra vincente (in realtà ho pensato: "che figata!"). Poi mi sono chiesto: ma quante persone sono effettivamente in grado di fare un intervento del genere sul proprio impianto elettrico, anche non domotico? Quanto mi sarebbe costato un professionista? Questa tecnologia è realmente adatta a tutti?<br />
<br />
Mo' ci penso un po' e poi vediamo se riesco anche a trovare delle risposte.<br />
<br />
<br />
<br />
Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-26910254570546415932010-03-07T03:01:00.000-08:002010-03-07T03:01:06.883-08:00Piccolo pensiero strategico<blockquote>[..]a business organization cannot improve its long-run financial results by working to improve its financial results. But the only way to ensure satisfactory and stable long-term financial results is to work on improving the system from which those results emerge.</blockquote><br />
<a href="http://www.pdx.edu/sba/fp-h-thomas-johnson">H. Thomas Johnson</a>'s article <a href="http://www.sme.org/cgi-bin/find-articles.pl?&ME06ART83&ME&20061210&&SME&#article">Manage a Living System, Not a Ledger</a>Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-14072009391429843122010-02-17T04:27:00.000-08:002010-02-17T05:44:56.535-08:00La cosa più importanteDurante il Forex ho avuto l'occasione di scambiare quattro chiacchiere con una persona di una azienda la cui offerta è in parziale sovrapposizione con quella della mia (insomma un concorrente). Parlavamo dei problemi che incontramo nel nostro lavoro quotidiano visto che ci occupiamo delle stesse cose. Molto gentilmente mi ha spiegato cosa loro stanno facendo per migliorare il loro processo produttivo, con alcuni spunti interessanti, tipo uso di indicatori e di indici per misurare il lavoro; ad un certo punto mi ha chiesto: <br /><br /><b>"Qual'e' la prima cosa che pensi vada affrontata dal tuo punto di vista?"</b> <br /><br />Non ci ho pensato, ho risposto immediatamente, di getto perché mi ero già fatto questa domanda, la mia risposta non era ancora chiara nella mia mente fino a quell'istante. La mia parte di cervello verbale (L-mode) ha subito approfittato del lavoro svolto in background dalla parte creativa (R-Mode) e la mia risposta è stata: <br /><br /><b>"La motivazione delle persone"</b> <br /><br />Il mio interlocutore, probabilmente, non si aspettava quella risposta e ha subito ricondotto il discorso verso la sua zona di comfort. <br /><br />La mia risposta era in realtà ancora incompleta, ora risponderei: <br /><br /><b>"La motivazione delle persone nel migliorarsi"</b><br /><br />Sono certo che questa sia la prima cosa che non vedo (abbastanza) intorno a me, ma è la più importante. <br />Le persone con cui lavoro sono in grado di affrontare e risolvere problemi complessi e in poco tempo molto meglio di me; alcuni riescono a produrre quantità di codice sufficientemente corretto in tempi incredibili: sono veramente da ammirare. Ma affrontano i problemi a testa bassa uno dopo l'altro. <br /><br />E quindi per migliorare il processo produttivo, ma non solo, occorre alzare la testa, e non basta che uno solo la alzi, occorre creare e sviluppare la motivazione al miglioramento in tutte le figure professionali.<br />Migliorare non vuol dire imparare cose nuove o usare nuove tecnologie, aspetto comunque fondamentale del nostro lavoro, ma soprattutto osservarsi e chiedersi come sia possibile usare i propri strumenti al meglio e il cervello è il primo strumento del nostro lavoro, prima dei tool, dei linguaggi e delle tecnologie e di tutte le buzzword che ci bombardano.<br /><br />Migliorarsi è faticoso, la motivazione al miglioramento non può essere imposta proprio perché è prima di tutto personale, ma se un gruppo può contare su persone che vogliono migliorare è impossibile che il gruppo non migliori.<br /><br />La motivazione nel migliorarsi è per me la cosa più importante.Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-5402711903800504242010-02-02T05:52:00.000-08:002010-02-02T05:58:41.459-08:00Clean CodeHo cominciato a leggere <a href="http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882">Clean Code</a>. Già solo l'introduzione e il primo capitolo valgono il prezzo del libro. Non vedo l'ora di continuare a leggerlo.Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-40372275201949797142010-02-01T04:18:00.000-08:002010-02-01T04:37:55.928-08:00DRY vs SecurityQuando si parla di siti web e security é facile rischiare di essere superficiali o farsi prendere dal panico. A me almeno é capitato. La superficialità ci porta ad esempio a pensare che i tool o i framework ci mettano al riparo dai problemi; il panico ci porta all' overengineering. Il risultato é comunque negativo. <br />Per rispondere coerentemente é necessario coltivare comunque la propria conoscenza; questo non rende il nostro software sicuro in assoluto, beato chi ci riesce, ma ci permette di guardare al problema obiettivamente identificando strategie e principi che minimizzino le <a href="http://en.wikipedia.org/wiki/Attack_surface">attack surface</a>. <br />L'anno scorso mi é stato consigliato un libro illuminante in tal senso (<a href="http://www.amazon.com/Ajax-Security-Billy-Hoffman/dp/0321491939/">Ajax Security</a>). Consiglio a chi ha qualche dubbio di dare una occhiata a questo testo, scoprirà come le paure sono fondate, ma anche che un approccio sistematico all'argomento é fondamentale per ottenere buoni risultati. <br /><br />Programmare orientati alla sicurezza può portare però a violare altri principi di buona programmazione, un esempio che ho vissuto riguarda il DRY. Il principio DRY é in contrasto con un approccio tipo <a href="http://en.wikipedia.org/wiki/Defence_in_depth">defence in depth</a> (DID). Sequendo questo principio ad esempio la sicurezza di ogni layer non può e non deve essere mai delegata ad altri (someone else's problem). La ridondanza, e la duplicazione dei controlli sono quindi un effetto voluto usando un approccio DID. Nella mia esperienza ho adottato un principio importante "Validate Early Validate Often" (VEVO). Ogni layer all'interno del sistema é responsabile della validazione dei parametri che riceve, secondo le sue conoscenze e i suoi scopi. Ovviamente questa non é una risposta ai problemi di sicurezza ma un approccio alla defence in depth. <br /><br />Usando un approccio VEVO e costringendo i membri del team a identificare percorsi diversi alla validazione dei dati, mi sono però scontrato con una certa resistenza dovuta alla duplicazione di logica di validazione, in pratica c'era che si opponeva all'approccio dando come giustificazione il mancato rispetto del principio DRY. Eppure anche quando si parla del principio DRY ( vale anche per Separation of Concers e Once And Only Once), occorre valutare attentamente se esistono dei requisiti in contrasto; a mio parere se la sicurezza é un requisito é possibile che si debbano sacrificare altri principi in suo onore.Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-26637689985269157402010-01-25T07:37:00.000-08:002010-01-25T07:59:48.366-08:00UGI Alt.Net ConferenceSabato scorso ho partecipato alla <a href="http://ugialt.net/V%20UgiALT.net%20Conference.ashx">UGI Alt.Net Conference</a>.<br /><br />La giornata è stata stimolante, non tanto per i contenuti, interessanti anche se affrontati un po’ superficialmente, ma per l’entusiasmo delle persone. Ho con piacere notato che l’<a href="http://davybrion.com/blog/2009/04/at-this-point-id-prefer-java-developers-over-net-developers/">oggettiva situazione</a> sta cambiando grazie anche a movimenti come Alt.Net. <br /><br />Nei giorni scorsi si sono aperte alcune <a href="http://codebetter.com/blogs/ian_cooper/archive/2010/01/19/whither-alt-net.aspx">discussioni </a> attorno ad Alt.Net e alla diminuita forza del movimento, ci sono posizioni ragionevoli e proposte, mi auguro che in Italia ci sia la forza e la volontà di continuare anche con diversi modelli.<br /><br />La mia proposta per la prossima sessione è meno conferenza e più open space, maggiore coinvolgimento delle persone realmente interessate e che hanno qualche cosa da dire.<br /><br />Idealmente mi piacerebbe che gli incontri non abbiano obiettivi puramente divulgativi; mi è spiaciuto sentire nei corridoi che alcuni argomenti trattati erano complete novità per alcuni: trovo questo fatto contrario allo spirito di un simile incontro. Intendiamoci non lo era nell’idea degli speaker e degli organizzatori, ma forse lo era nella testa di alcuni partecipanti.<br /><br />Il mio personale approccio è stato ad esempio di non partecipare ad alcun incontro di cui non conoscessi almeno alcuni cenni, se non addirittura provato sulla mia pelle.<br />Ritengo che ognuno debba portare il suo piccolo contributo, la propria esperienza, anche negativa, per cercare di crescere e di capire come altri abbiano affrontato e superato gli ostacoli. <br /><br />Sto pensando già ad argomenti per la prossima sessione e forse potrei propormi come speaker. Chissà.<br /><br /><br />Ringrazio tutti per le piacevoli ore passate in particolare <a href="http://codeclimber.net.nz/">Simone </a> con cui mi scuso per averlo coinvolto in una piccolo dialogo un po’ senza senso sul futuro di Alt.Net, Omid per la presentazione ma soprattutto per piacevole compagnia durante la cena (assieme agli altri commensali!).<br />Devo citare <a href="http://weblogs.asp.net/chrishardy/default.aspx">Chris </a>e <a href="http://hadihariri.com/blogengine/">Hadi</a> per la loro pazienza nel sopportare senza lamentarsi le conversazioni in italiano. La loro presenza è stata molto bella e Hadi è un comunicatore eccezionale, un vero modello.<br /><br />Naturlamente ringrazio tutti i partecipanti e gli organizzatori per la disponibilità. Alla prossima.Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com2tag:blogger.com,1999:blog-4682491172284907892.post-13035788259397132622010-01-13T04:52:00.000-08:002010-01-13T05:02:22.513-08:00La creatività e il nostro sistema scolasticoUn nuovo <a href="http://vimeo.com/2477975">video </a>molto piacevole che ci invita a riflettere sui noi stessi ma soprattutto su quello che trasmettiamo ai nostri figli.<br /><br />Originally found: <a href="http://www.hrdonline.it/risorsa/videoDetail.action?item=570">http://www.hrdonline.it/risorsa/videoDetail.action?item=570</a><br /><br />Allo stesso indirizzo ho con piacere ed emozione visto anche un video di un discorso <a href="http://www.youtube.com/watch?v=D1R-jKKp3NA">Jobs del 2005</a> (con sottotoli in italiano <a href="http://www.youtube.com/watch?v=nFKY8CVwOaU">1</a> e <a href="http://www.youtube.com/watch?v=G3bCOLl_1NE">2</a>)Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-81365013278677244972010-01-13T01:35:00.000-08:002010-01-13T01:49:35.747-08:00Importante iniziativaTrovo la nuova iniziativa di <a href="http://funkyprofessor.blogspot.com/">Marco</a> molto lodevole, sono convinto che <a href="http://assoprestigio.it/">AssoPrestigio</a> abbia per sua stessa natura un suo spazio nel panorama associativo Italiano. Non pensiamo agli “eletti” quando parliamo di <a href="http://assoprestigio.it/">AssoPrestigio</a>, pensiamo alle persone che per loro stessa natura, inclinazione e arte sono prestigiose, questo è innato: non si compra, non si vende, non si crea. Si possiede e lo si esercita, lo si subisce e se ne viene inebriati.<br />Ma che cos’è il prestigio e perché è così importante da permeare tutta la nostra vita, subito o esercitato?<br /><a href="http://www.etimo.it/?term=prestigio">L’etimologia</a> della parola non chiarisce: “illusione prodotta con destrezza di mano e quindi impostura, fallacia inganno”. Eppure nel nostro <a href="http://it.wikipedia.org/wiki/Prestigio">uso corrente</a> assume una semantica totalmente opposta, e quella che preferisco attribuirgli è la “la capacità di sedurre e di imporsi alla fantasia altrui”.<br />In questo tutta la socialità del prestigio: non si può essere soli nell’esercitarlo occorre una comunità che lo riconosca e lo esalti. Per ciò trovo lo <a href="http://assoprestigio.it/statuto/">statuto </a>tremendamente chiarificante. <br /><br />Auguro a tutti i <a href="http://assoprestigio.it/soci/">soci </a>ogni bene, che ci siano di guida e illuminino con le loro gesta i nostri momenti di buio e sconforto.<br /><br />Grazie <a href="http://friendfeed.com/funkyprofessor">Marco</a> e a presto per nuove iniziative.Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-43650627481359667772009-12-21T03:01:00.000-08:002009-12-21T03:07:51.253-08:00Technical debtIn un mondo perfetto non ci sono Technical Debt (TD). Ma noi non viviamo in un mondo perfetto e e questo non è un male!<br /><br />Le (mie) tre vie al TD:<br /><br /> - Lo si compie inconsciamente e non lo si riconosce <br /> - Lo si compie consciamente e lo si ignora<br /> - Lo si compie consciamente, lo si valuta e lo si annota (è di fatto un bug)<br /><br />Noi viviamo di TD perché se non ci fossero vorrebbe dire semplicemente che abbiamo costruito un sistema perfetto, che non esiste, quindi lo sforzo più grande è capire quando ci si deve fermare. <br /><br />Un esempio di TD ambiguo é secondo legato agli aspetti di Premature Optimization (PO: la radice di tutti i mali); eppure nel fluire del codice dalla nostra mente al nostro editor di fiducia occorre ignorare il TD per non incorrere nella PO.<br /> <br />Certo identificare un TD a livello micro è forse scorretto e va contro la logica del TD, ma la stessa cosa si può applicare salendo di livello al design: se decidiamo di implementare una funzionalità utilizzando una tecnica semplice e inefficiente al posto di una complessa e efficiente (assumendo che l’efficienza sia un requisito) abbiamo un TD, d’altra parte sforzarsi prematuramente per rendere del codice efficiente già a partire dal design ritorna ad essere una PO.<br /><br />La chiave di tutto deve naturalmente essere il contesto e l’analisi dei tradeoff che si hanno quando ci si trova a scegliere una strada piuttosto che un’altra quindi se da una parte occorre combattere l’ignoranza (propria o degli altri) che causa TD senza accorgersene, educare o educarsi all’analisi dei tradeoff è un requisito altrettanto fondamentale.<br /><br /><br /><br />Inspired by:<br /> <a href="http://blog.objectmentor.com/articles/2009/10/15/we-must-ship-now-and-deal-with-consequences">http://blog.objectmentor.com/articles/2009/10/15/we-must-ship-now-and-deal-with-consequences</a><br /> <a href="http://martinfowler.com/bliki/TechnicalDebtQuadrant.htm">http://martinfowler.com/bliki/TechnicalDebtQuadrant.htm</a>l<br /> <a href="http://blog.objectmentor.com/articles/2009/09/22/a-mess-is-not-a-technical-debt">http://blog.objectmentor.com/articles/2009/09/22/a-mess-is-not-a-technical-debt</a><br /><br />Must learn: tradeoff analysisAnonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-8608064466094099172009-12-18T01:43:00.000-08:002009-12-18T01:51:11.621-08:00Feature TeamsIl modello dei Feature Teams (FT) è veramente interessante: l’approccio verticale può dare grandissimi vantaggi eliminando molti problemi che normalmente si hanno utilizzando Component Team / Layer Team.<br />Se i vantaggi sono chiari resta ancora da capire quali sono gli aspetti negativi, soprattutto ad esempio per un’azienda orientata al prodotto. Per cercare di evidenziare i problemi cercando di ragionare ho individuato almeno tre aspetti critici che vanno approfonditi.<br /><br /><br /><span style="font-weight:bold;">Come si relaziona FT rispetto al middleware</span><br /><br />Il middleware dovrebbe essere ragionevolmente intoccabile, se il middleware è esterno la cosa è relativamente banale essendo un componente non ci sono problemi di sorta. Se il middleware è sviluppato internamente si potrebbe essere tentati dal coinvolgerlo nella feature, magari perché una piccola modifica allo stesso potrebbe portare grossi benefici alla feature in termini di design e effort ( a patto che non si carichi il middleware con aspetti funzionali nel qual caso sarebbe comunque un errore). <br />Probabilmente l’approccio più corretto è quello quindi di considerare il middleware un componente chiuso, inserendolo semplicemente nello Stack di progetto e convivendo con i suoi limiti. Ma a questo punto la domanda è come si fa a gestire il middleware con un feature team.<br /><br /><span style="font-weight:bold;">Come si relaziona il feature team rispetto al design del layer / componente</span><br /><br />Ragionevolmente se FT tocca i vari componenti si crea un problema di coerenza a livello di design del layer/ componente. Il problema andrebbe forse contestualizzato maggiormente, ma giusto per fare un esempio, FT potrebbe voler implementare una nuova funzione in un layer, questa funzione potrebbe essere molto vicina ad una già presente ma non sufficientemente generalizzata, FT aggiunge nuovo codice senza conoscere le altre componenti e quindi potrebbe creare una duplicazione di codice inutile al posto di un refactoring che porterebbe maggiori benefici (meno codice, più generalizzato). Si può mitigare il problema definendo un owner del componente che possa sovrintendere la crescita del componente partecipando al FT. Ma mi pare un controsenso, in questo modo si aggiungerebbe uno strato orizzontale portando di fatto ad avere una matrice che difficilmente è produttiva. <br /><br /><span style="font-weight:bold;">Skill del FT</span><br /><br />Il feature team deve ovviamente conoscere bene la funzionalità, questo è un bene, ma come fa a conoscere tutti i tool , gli ambienti di sviluppo, gli hack specifici che solo un component team può conoscere condividere e rinforzare. Ancora una volta la soluzione sembra essere quella di aggiungere una responsabilità orizzontale, tornando al problema di prima.<br /><br /><br /><br />Senza dubbio il concetto dei Feature Teams è molto potente e tende a risolvere un’ampia gamma di problemi (soprattutto di integrazione, ma anche di minore overspecification). Bilanciando la resistenza al cambiamento e la sua forza nel cercare di fare fallire gli stessi rispetto ai benefici non sono ancora certo che si possa applicare facilmente con successo.<br /><br />Prossime letture sull’argomento:<br /><a href="http://www.amazon.com/Scaling-Lean-Agile-Development-Organizational/dp/0321480961/ref=sr_1_1?ie=UTF8&s=books&qid=1261128774&sr=1-1">Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum</a><br /><br /><br />Inspired by: <a href="http://www.infoq.com/articles/scaling-lean-agile-feature-teams">http://www.infoq.com/articles/scaling-lean-agile-feature-teams</a>Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-30019543953867646442009-12-16T07:15:00.000-08:002009-12-18T00:32:52.257-08:00Smettiamo di usare Flash (o almeno usiamolo solo quando serve)Uso un computer piuttosto veloce quindi mi stupisco sempre quando vedo una grossa occupazione di CPU o qualche strano rallentamento. La maggior parte delle volte una veloce verifica, basta il Task Manager, mi porta ad individuare il colpevole: uno dei vari browser che uso abitualmente (almeno 3 diversi con varie finestre aperte). Individuare la pagina responsabile é un attimo basta cercare quelle con le bellissime animazioni Flash che decorano le pagine più visitate sotto forma di ads. Non ho nulla contro gli ads e anzi mi piace molto la loro profilazione , ritengo anche che ricevere pubblicità mirata sia meglio di ricevere pubblicità generalizzata troppo spesso inutile. E mi piace la pubblicità perché è uno dei tanti modi che mi fa scoprire le cose, non è raro che quindi deliberatamente segua e approfondisca alcune indicazioni commerciali.<br /><br />Quindi chiarito fatto che la pubblicità in quanto tale non mi dispiace, arrivo al problema vero: perché la mia CPU deve lavorare al massimo per gestire la pubblicità? NO questo non è accettabile, la CPU mi serve a fare altro e se non mi serve preferisco che rallenti e provi a risparmiare un po’ di energia piuttosto che essere occupata a gestire le animazioni degli ads.<br /><br />Alcuni siti come <a href="http://stackoverflow.com/">StackOverflow</a> espressamente rifiutano inserzioni pubblicitarie animate (grande <a href="http://www.joelonsoftware.com/">Joel</a>! ), questo è encomiabile, ma non basta occorre fare di più. <br /><br />Quindi ora mi sono rotto, e ho deciso di iniziare a usare flash deliberatamente e smettere di subirlo. <br />Non essendo l’unica persona sensibile al problema posso contare sul valido aiuto dei miei compagni di sventura che hanno non solo colto prima di me questo problema ma che si sono anche adoperati per risolverlo.<br /><br />Ecco ciò che ho fatto io con il loro aiuto:<br /><br />Chrome: estensione <a href="https://chrome.google.com/extensions/search?q=kill-flash">Kill-Flash</a>: é la più pratica e funzionale, anche se ovviamente occorre usare una versione di Chrome abilitata alle estensioni (al momento uso 4.0.266.0) <br />Firefox: estensione <a href=" https://addons.mozilla.org/en-US/firefox/addon/433">FlashBlock</a><br />IE 8: <a href="http://flash.melameth.com/">Toggle Flash</a> non é per nulla funzionale ma per ora mi accontento. Se qualcuno ha suggerimenti sono benvenuti.<br /><br />Spero che ora la mia CPU abbia un po’ di pace o, come minimo, che sia io a sfruttarla deliberatamente.<br /><br />Mi piacerebbe lanciare una nuova campagna del tipo:<br /><br /><span style="font-weight:bold;">Stop animated Flash Ads<br />Let your CPU sleep</span><br /><br /><br />Ma mi manca ancora una bella animazione Flash da poter distribuire ……Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-81161934805972365272009-10-29T02:24:00.000-07:002009-10-29T06:30:21.831-07:00People vs ThingsRaramente mi é capitato di assistere ad una "lezione" così emozionante e stimolante.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/GSXXBfE3RAc&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/GSXXBfE3RAc&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object><br /><br />Ringrazio <a href="http://cirillosscrapbook.wordpress.com/">Francesco Cirillo</a> per averlo condiviso.<br /><br />FedericoAnonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-39266209670254357982009-07-18T10:48:00.000-07:002009-07-18T13:51:21.567-07:00I blog che seguo abitualmenteHo iniziato a lavorare agli inizi degli anni '90 (GULP!) e da allora sono cambiate tantissime cose, ogni tanto però quando mi guardo intorno non vedo cambiare molto le persone intorno a me perchè raramente riscontro interessi nel migliorare la propria professionalità. Ho intervistato nella mia vita centinaia di persone e molto poche mi hanno stupito soprattutto perchè troppe persone pensano che siano le aziende a dover formare la professionalità delle persone; penso che non ci sia nulla di più sbagliato le aziendo comprano e pagano (più o meno profumatamente) la professionalità. Più si costruisce la propia professionalità più le aziende sono motivate ad assumere e pagare le persone.<br />La professionalità cresce moltissimo se si approfondiscono argomenti che si trovano particolarmente interessanti e intelletualmente stimolanti (difficile approfondire argomenti nei quali non c'e' un interesse personale), ma non bisogna mai dimenticare di guardare anche cosa fa il vicino, ovvero cercare di trovare altri punti di vista mettendo in discussione le proprie convinzioni.<br /><br />Al momento i miei interessi nel campo della programmazione mi hanno portato a seguire un certo numero di blog. Penso che associare buoni libri a blog di qualità sia un buon modo per accrescere la propria professionalità.<br /><br />Alcuni link interessanti:<br /><br /><a href="http://www.lostechies.com/blogs/">Los Techies</a> <br /><a href="http://elegantcode.com/">Elegant Code</a><br /><a href="http://blogs.msdn.com/ericlippert/default.aspx">Fabulous Adventures In Coding</a><br /><a href="http://blogs.msdn.com/tess/default.aspx">If broken it is, fix it you should</a><br /><a href="http://codebetter.com/">CodeBetter</a>Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0tag:blogger.com,1999:blog-4682491172284907892.post-55677756753463531022009-07-18T09:52:00.000-07:002009-07-18T13:54:11.751-07:00Avventure e sventure nel mondo ITI miei interessi nel mondo IT riguardano in questo momento soprattutto la programmazione in particolare al momento sto cercando di approfondire gli aspetti relativi alle <a href="http://en.wikipedia.org/wiki/List_of_software_development_philosophies">filosofie di software develompment</a> ma in generale nel mio lavoro affronto giornalmente problemi che riguardano divverenti aspetti nel mondo IT, e non solo.<br />Per quanto riguarda il software mi occcupo di molte cose, dal design di database alle ottimizzazioni di codice, lavoro con sistemi in soft realtime e relativi problemi di scalabilità e efficienza. <br />Il software non é l'unico ambito in cui lavoro: affronto problematiche per l'organizzazione di ambienti complessi dalle problematiche di disater recovery alla gestione di infrastrutture di rete complesse con aspetti di sicurezza e load balancing.<br />E quindi?<br />Quindi sento l'esigenza di condividere le mie esperienze e trovare nuove persone con cui confrontarmi.Anonymoushttp://www.blogger.com/profile/11861523383583180770noreply@blogger.com0