Filoweb.it
By Filippo Brunelli


FB TW Pinterest whatsapp RSS FEED News letter

  ► Magazine

Assistenti vocali e privacy
Assistenti vocali e privacy
La mancata consapevolezza dell’uso della tecnologia a volte ci porta a perdere alcuni diritti fondamentali che abbiamo guadagnato come quello alla privacy.
Non è insolito, quando un comune decide di installare delle telecamere di videosorveglianza in una via o in una zona di una qualche città vedere la nascita di comitati contrari che si battono in nome della difesa della privacy dei cittadini. Non meraviglia poi vedere quelle stesse persone che fanno parte dei comitati "dettare" un promemoria o un messaggio da inviare al loro assistente vocale o, una volta rientrate a casa, dire: "Alexa - o Cortana, o google- fammi ascoltare della musica".
Che relazione c’è tra le due azioni? Possiamo dire che entrambe sono un accesso alla nostra privacy, ma mentre nel caso delle telecamere il loro uso è regolamentato da leggi e il loro scopo è quello di una maggior tutela del cittadino, nel caso degli assistenti vocali, invece, non vi è alcuna regolamentazione specifica (se non quella generica sull’uso dei dati personali) e lo scopo è quello di fornirci un servizio personale.
Quello degli assistenti vocali non è un fenomeno nuovo anche se solamente negli ultimi anni ha iniziato a svilupparsi e ad essere veramente funzionale, grazie al miglioramento delle tecnologie di Machine learning e delle intelligenze artificiali.
A memoria di chi scrive già alla fine degli anni ’90 del secolo passato si iniziavano a vedere i primi programmi che permettevano di controllare il computer tramite la voce, aprire chiudere i programmi, dettare una mail, leggere un testo, prendere appuntamenti nel calendario ricordandoli e molto altro ancora. Uno dei primi software a funzionare nei computer domestici fu messo in commercio nel 1997 dalla Dragon System con il nome di "Dragon Naturally Speaking" ed era uno dei più sofisticati programmi di controllo del computer tramite l’uso di un linguagio naturale; la stessa Microsoft nella beta del sistema operativo WindowsNT5 (che poi diventerà windows 2000) aveva preinstallato un assistente vocale che si attivava tramite “Hey computer!” seguito dal comando. Ad esempio si poteva dire "Hey computer! start running word" ed il computer faceva partire il programma word.
Il problema di questi programmi era che avevano bisogno di molto tempo per "imparare" a capire la voce di chi parlava ed i comandi che venivano invocati, oltre a necessitare di molte risorse delle macchine sulle quali giravano.
Oggi ogni smartphone è dotato di assistente vocale, i computer dotati di windows10 hanno anche loro un loro assistente vocale chiamato Cortana, mentre le grandi compagnie del web sviluppano i loro assistenti che si integrano con i device di casa senza bisogno di un classico computer, come ad esempio Amazon Echo, o Google Home.
La prima azienda che nel secondo decennio del nuovo millennio diede un importante contributo alla rinascita degli assistenti vocali ed alla loro evoluzione è stata la Apple che nel 2011 lanciò Siri che ancora oggi è parte integrante dei dispositivi dell’azienda di Cupertino.
La principale differenza tra Siri (così come di tutti i moderni assistenti vocali) ed i programmi della generazione precedente è che la nuova generazione lavora tramite connessione internet in remoto: i comandi non vengono più elaborati dal processore della macchina sulla quale gira l’assistente vocale, ma la voce viene inviata ad un server remoto che la elabora e rimanda all’assistente il comando relativo alla richiesta. In questo modo il dispositivo che viene usato dell’utente diventa un semplice terminale e tutto il carico di lavoro viene relegato ai server, così si può anche evitare il tedioso passaggio del machine learning che viene già eseguito a monte.
Ma la sola intelligenza artificiale presente sui server ed il processo di machine learning dovuto a centinaia di migliaia di utenti che ogni giorno comunicano con il proprio assistente virtuale è sufficiente a creare quella interazione uomo macchina che permette di controllare una casa smart o sviluppare tutte quelle funzioni che offrono Alexa, Ok Google, Cortana e Siri senza sbagliare? Forse no!
Un reportage realizzato dalla televisione pubblica belga Vrt Nws ha messo in luce che Google, Apple e Amazon, con la scusa di migliorare i servizi offerti dagli assistenti vocali, hanno spiato la propria utenza attraverso gli stessi assistenti.
Il canale televisivo Vrt Nws sarebbe entrato in possesso di alcune conversazioni registrate "accindentalmente" senza che venisse attivato l’assistente vocale google piene di dati personali e dati sensibili come i discorsi fatti all’interno di un’ignara famiglia o quelli di un utente che parla della sua vita sentimentale. Il fatto inquietante è che non solo i dipendenti di google hanno accesso alle conversazioni ma anche le aziende partner per permettere di comprendere meglio gli ordini degli utenti. Dal canto suo l’azienda di Mountain View si è giustificata dicendo che "solo lo 0,2% di tutte le registrazioni è accessibile a chi lavora per Google e che i file audio sono comunque privi di informazioni che permettono di identificare l’utente". Mentre l’inchiesta della televisione belga era principalmente incentrata su google, un’ inchiesta del Guardian rivela che un processo analogo è operato anche da Apple tramite Siri e da Amazon tramite Alexa; Bloomberd, invece, racconta come Amazon tramite persone che lavorano anche nove ore al giorno in tutto il mondo e team di aziende appaltatrici che vanno dagli Stati Uniti alla Romania, dall’ India al Costarica, ascolta le registrazioni vocali catturate dai dispositivi Echo, le trascrive, le annota e quindi le inserisce nel software per eliminare le lacune nella comprensione del linguaggio umano da parte di Alexa e aiutarlo a rispondere meglio ai comandi.
Anche Amazon, come Google si è difesa dicendo che il campione di audio che viene ascoltato è molto limitato: "Abbiamo rigorose garanzie tecniche e operative e una politica di tolleranza zero per l'abuso del nostro sistema. I dipendenti non hanno accesso diretto alle informazioni che possono identificare la persona o l'account. Tutte le informazioni sono trattate con alta riservatezza".
In questo contesto non è facile capire se venga o meno violata la privacy dei proprietari dei dispositivi incriminati, ma, sicuramente, la faccenda ha preoccupato il garante della privacy di Amburgo che ha imposto una pausa temporanea alla pratica di 3 mesi a Google e suggerito agli altri big del settore di fare lo stesso, fino a quando non saranno concluse le indagini avviate riguardo l’uso che viene fatto dei dati raccolti: "L’uso di assistenti vocali automatici da parte di provider come Google, Apple e Amazon - evidenzia l’Autority - prova l’elevato rischio per la privacy delle persone coinvolte".
Questa pratica, comunque non è appalto esclusivo degli assistenti vocali. Anche l’azienda Facebook, si è scoperto, tendeva a trascrivere i messaggi audio delle conversazioni degli utenti della chat "messanger" e non è escluso che lo stesso sia stato fatto per whatsapp.
Quando si decide di utilizzare una tecnologia che non sempre è sotto il nostro controllo bisogna sempre considerare la possibilità di dover rinunciare a una parte, più o meno grande, della nostra privacy.
Ma il prezzo che stiamo pagando è giusto?
La risposta la sapremo solo in futuro

Deontologia nei social: obbligo o scelta?
Deontologia nei social: obbligo o scelta?
Troppo spesso ci dimentichiamo che Facebook come la maggior parte dei social network non è un nostro spazio privato ma un luogo pubblico dove chiunque può leggere quello che scriviamo, indipendentemente dal grado di privacy che usiamo. Basta solo che uno dei nostri contatti condivida un nostro post per renderlo pubblico, aumentarne la visibilità e renderlo disponibile per sempre. 
Ma in fondo è questo il motivo per il quale scriviamo i post, la ricerca di visibilità, la caccia ai Like, e rimaniamo profondamente turbati se un nostro post non viene accolto con entusiasmo dato che la maggior parte dei nostri contatti sono affini a noi per idee.
Proprio il fatto che i social network siano uno spazio pubblico ci dovrebbe portare a considerare quello che postiamo prima di pubblicarlo; così come un giornalista o un proprietario di un blog o di un sito è responsabile di ciò che pubblica anche l’accesso ai social network dovrebbe essere subordinato all’uso di una qualche forma deontologica.
Questo non succede!

Jeremy Bentham può essere considerato il padre della deontologia moderna con la sua opera postuma “Deontology or the Science of Morality” del 1834 dove elabora un'etica, chiamata appunto deontologia. 
Lo scopo ultimo di questa scienza è quello di motivare comportamenti che producano la massima felicità nella collettività che, a differenza della legislazione che agisce sugli interessi privati con la minaccia della punizione giuridica, suscita motivazioni basate sull'interesse privato. Le idee di Bentham vengono applicate negli ordini professionali moderni agli avvocati, dagli ingegneri ai giornalisti; e proprio come per questi ultimi anche per quello che riguarda i social network bisognerebbe adottare una qualche forma deontologica per chi vi accede per pubblicare post quando non sono strettamente personali.
Ma le difficoltà che si presentano sono molte e di vario tipo.
Partiamo nel considerare che la rete offre una grande libertà di espressione che si esprime sia nella fruizione dei contenuti e sia nell’espressione che spesso degenera in eccessi; fino a quando c’era quello che comunemente veniva chiamato Web 1.0 ovvero vi erano siti web che pubblicavano contenuti e utenti che vi accedevano e l’interazione era limitata ai forum ed ai newsgroup era abbastanza facile gestire questi eccessi: il proprietario di un sito web era (ed è tutt’ora) il responsabile di quanto vi appare e quindi ha tutto l’interesse a che quello che viene pubblicato rispetti determinate leggi scritte o morali; discorso analogo per i forum dove vi era un moderatore.
Con l’avvento del Web 2.0 le cose si complicano: tramite i social network chiunque può creare un profilo 
( anche falso) e diventare editore e pubblicista, solo che in questo modo si crea un limbo dove è difficile attribuire delle responsabilità; il fatto poi che il profilo venga definito “personale” crea nell’utente la falsa considerazione che tutto sia permetto e lecito sul “nostro profilo personale”.

In realtà le cose non stanno esattamente così. Come abbiamo già detto tutto quello che pubblichiamo diventa subito disponibile e usufruibile da tutti e quindi dovremmo sempre pensare prima di pubblicare qualcosa.
Un esempio è accaduto l’ 8 dicembre del 2014, quando il cantante Mango si accasciò sul palco durante un concerto e vi morì sotto gli occhi dei suoi fan che con smartphone e tablet stavano riprendendo il concerto; nulla di sbagliato se non fosse che nel giro di pochi minuti tutti questi video furono pubblicati sui social e la notizia si propagò, prima di diventare ufficiale e che ne venissero informati i famigliari. Nel caso di un giornalista che fosse venuto a conoscenza della notizia avrebbe dovuto attendere che la famiglia ne fosse informata prima di divulgare la notizia, ma anche i giornalisti, in questo caso, per non “bucare” la notizia si sono visti costretti a pubblicarla.

Un altro problema che si presenta con i social network è la loro atemporalità. Il termine virtuale (che oggi è tanto usato) ha origine nel latino medioevale, deriva da “virtù”, e indica ( secondo Tommaso d'Aquino) la potenza attiva in grado di passare all’atto e diventare attuale. Questa è la rete e questi sono i social network dove tutto è attuale sempre e per sempre, dove il virtuale è diventato reale: una notizia o un post di anni fa può essere ripubblicato o ripresentato e ritorna ad essere attuale, decontestualizzato da quelli che sono il tempo e gli avvenimenti che lo hanno generato. I nostri post, una volta pubblicati, rimangono per sempre rendendo difficile l’esercitare il diritto all’oblio (da non confondere con il diritto all’oblio del GDPR).

Gli utenti del web sono sempre più fornitori di informazione e hanno creato una forma depravata di city journalism dove tutti sono fornitori di informazioni ed editori di se stesse senza esserne responsabili.
La mancanza di regole però deve essere riempita. Il solo articolo 21 della costituzione (libertà di espressione utilizzando ogni mezzo) non può essere preso a pretesto per creare l’anarchia informativa.
Quando i legislatori hanno scritto l’articolo 21 i mezzi di comunicazione erano limitati ai giornali, radio e Tv che stava nascendo ma che comunque erano sempre vincolati a degli editori che ne dettavano le linee guida deontologiche. Anche con la nascita delle radio libere degli anni ’70 del ventesimo secolo e delle televisioni commerciali degli anni ’80 c’era sempre un certo controllo deontologico sull’informazione.
Con la diffusione del web negli anni ’90 ed in particolare la nascita del web 2.0 si è diffusa l’idea di diritto alla libertà di espressione per tutti senza doverne avere i doveri.
Mentre per un sito o un blog il proprietario può essere considerato l’editore oltre che il pubblicista e ne risponde nei social network non è così: il social (ad esempio Facebook) diventa coproprietario dei nostri post e li può vendere o condividere a suo piacimento, ma non ne è direttamente responsabile e viene a mancare quello che può essere considerata la figura dell’editore.

La soluzione sarebbe facile, basterebbe che un social network al momento dell’iscrizione facesse accettare delle clausole “morali e deontologiche” che impongano, a chi è fruitore del servizio, di rispettare il diritto alla dignità personale delle persone, alla giusta informazione non decontestualizzata, al rispetto della privacy e all’oblio di altri che vengono nominati, regole simili a quelle deontologiche dell’ordine dei giornalisti per notizie di carattere pubblico, dato che spesso sono assimilabili ad essi.
Bisogna poi che chi si iscrive abbia la coscienza e la conoscenza che entra in un mondo dove tutto è pubblico, ma difficilmente un dodicenne (visto che è l’età minima per iscriversi a Facebook) ha la consapevolezza di ciò; bisogna sapere che il diritto alla deindicizzazione che applicano i principali motori di ricerca non porta automaticamente al far sparire da internet quello che abbiamo scritto, detto o pubblicato.

Quello che serve è uno sforzo comune tra autorità centrali (esempio parlamento europeo) e le grandi aziende del web 2.0 per creare prima delle regole che prima diventano un obbligo in quanto imposte ma poi si trasformano in regole implicite da tenere, sull’uso dei social e di ciò che vi si pubblica.
In realtà l’Italia ha già iniziato un processo per la regolamentazione deontologica di internet: nel 2015 viene redatta dal consiglio dei ministri la “Dichiarazione dei diritti in Internet” dove nell’articolo 9 comma 1 dichiara :” Ogni persona ha diritto alla rappresentazione integrale e aggiornata delle proprie identità in Rete”. Quando parliamo di identità intendiamo non solo l’aspetto fisico, il nome ed il cognome ma anche le opinioni, i valori e quant’altro identifichi una persona nella sua completezza in quel determinato periodo e luogo; estrapolare, tagliare o riproporre post, frasi o immagini senza tener conto di questo è una violazione di quanto sopra.
Ancora più interessante è l’articolo 11 nella sua interezza: “1. Ogni persona ha diritto di ottenere la cancellazione dagli indici dei motori di ricerca dei riferimenti ad informazioni che, per il loro contenuto o per il tempo trascorso dal momento della loro raccolta, non abbiano più rilevanza pubblica. 2. Il diritto all’oblio non può limitare la libertà di ricerca e il diritto dell’opinione pubblica a essere informata, che costituiscono condizioni necessarie per il funzionamento di una società democratica. Tale diritto può essere esercitato dalle persone note o alle quali sono affidate funzioni pubbliche solo se i dati che le riguardano non hanno alcun rilievo in relazione all’attività svolta o alle funzioni pubbliche esercitate. 3. Se la richiesta di cancellazione dagli indici dei motori di ricerca dei dati è stata accolta, chiunque può impugnare la decisione davanti all’autorità giudiziaria per garantire l’interesse pubblico all’informazione.” Quando noi riproponiamo un post di 10 anni fa, senza nessun collegamento a vicende attuali, solo per screditare questa o quella persona violiamo questo articolo.
Nell’articolo 12 poi si parla di obblighi da parte delle piattaforme digitali nei confronti degli utenti, mentre nell’articolo 14 al comma 1 si legge:” Ogni persona ha diritto di vedere riconosciuti i propri diritti in Rete sia a livello nazionale che internazionale.”; la dichiarazione finisce con il comma 7 che mette in evidenza la necessità di creare strutture nazionali e sovranazionali: ”La costituzione di autorità nazionali e sovranazionali è indispensabile per garantire effettivamente il rispetto dei criteri indicati, anche attraverso una valutazione di conformità delle nuove norme ai principi di questa Dichiarazione.”
Per chi volesse approfondire il testo integrale è disponibile sul sito della camera dei deputati.

Come si vede in Italia il problema di una forma di regolamentazione è molto più sentito che in altri paesi ( come ad esempio gli Stati Uniti) dove prevale il principio di libertà di espressione sopra ogni altro.
Per adesso, comunque, per quanto ci riguarda anche quando pubblichiamo qualcosa su un social network dobbiamo ricordarci sempre che siamo vincolati alle leggi del nostro paese in materia, quindi esiste il codice civile e penale, bisogna rispettare le regole sui diritti d’autore, sull’implicito consenso se pubblico foto che raffigurano in primo piano una persona, se posto dei fotogrammi tratti da un film non devono essere della scena madre, se posto un concerto o una rappresentazione teatrale non superare i 3 minuti, quando cito qualcuno o parte di un libro mettere sempre la fonte e i riferimenti senza decontestualizzare la frase e tutte le altre regole che esistono per l’editoria classica anche se sono un semplice utente di facebook.
Siti web ikea vs artigianali
Siti web ikea vs artigianali

Quando si decide di fare un sito web, per prima cosa bisogna decidere il tipo di "stumento" da utilizzare. Principalmente ci si orienta tra l'affidarsi ad un CMS e l'affidarsi a un Frameworks1 ( tralasciamo i classici  siti web statici fati solamente in HTML e CSS in quanto obsoleti). Per capire di cosa stiamo parlando iniziamo con il dire che i CMS (Sistemi di gestione dei contenuti) riducono, per l'utente che lo usa, la necessità di avere conoscenze specifiche di programmazione, mentre un frameworks fornisce una serie funzionalità che è possibile utilizzare per creare un sito personalizzato.


Cosa sono i CMS
I CMS, come abbiamo detto sopra, sono un sistema che permette di gestire i contenuti senza la necessità di una conoscenza specifica.  Tra i Content Management Systems più famosi spiccano Wordpress, Joomla!, Drupal, Magneto, Wix.
Le caratteristiche di ogni CMS sono diverse ma il loro nucleo e metodo di utilizzo è suppergiù il medesimo:

  • l'utente installa sul suo server il CMS tramite semplici passaggi (solitamente 1 o 2)
  • sceglie un template2 tra quelli disponibili
  • Inserisce i contenuti
  • Attiva eventuali Plug-in3

Da questi passaggi si evince che un CMS non necessita di nessuna conoscenza di programmazione in quanto si bassa su moduli preinstallati.


Cos'è un Frameworks
Un framework è un'architettura logica di supporto su cui un software può essere progettato e realizzato (quindi non è un linguaggio di programmazione!). La sua funzione è quella di creare una infrastruttura generale, lasciando al programmatore il contenuto vero e proprio dell'applicazione. Lo scopo di un framework è infatti quello di risparmiare allo sviluppatore la riscrittura di codice già scritto in precedenza per compiti simili.
Un Framework permette di interagire con un linguaggio di programmazione (e, come nel caso di .Net, di compilarne il codice).
I frameworks più famosi per la creazione di applicazioni web sono:

  • .Net ,che può interagire con diversi linguaggi che vanno dal C# al Vb.Net
  • Laravel e Symfony, che interagisce con PHP
  • Angular e Node.js, ottimi per Jscript
  • Django, creato per Phyton
  • Ruby on Rails, ottimo per usare Ruby

Si capisce subito che utilizzare un Frameworks richiede conoscenze specifiche e necessita di più tempo per la realizzazione di un progetto.


Personalizzazione
A chi utilizza principalmente i CMS per creare siti web piace molto il motto "perché reinventare la ruota se esiste già?" per riferirsi al fatto che per i CMS esistono centinaia di migliaia di templates disponibili (gratis o a pagamento)  tra i quali scegliere e quindi non ha senso sforzarsi nel creare del nuovo codice e dei nuovi layout per un progetto web. In realtà la maggior parte di chi utilizza i CMS non ha molte conoscenze di programmazione e tende a nascondersi dietro questo modo di pensare.
Tramite un CMS, infatti si hanno a disposizione, come già accennato sopra, tutta una serie di strumenti, tools e plug-in tra i quali scegliere e facilmente installabili e configurabili ma…
Potrebbero insorgere complicazioni quando è necessario che il sito web si adatti alle proprie esigenze specifiche.
Con un framework, invece, si deve creare un progetto da zero, il che porta a realizzare caratteristiche uniche e distintive: i framework sono altamente personalizzabili mentre un  CMS ha in genere dei limiti.
Con un CMS, ad esempio,  non è possibile modificare la funzionalità di base o non si aggiornerà correttamente, mentre un framework non ha limiti!
La realizzazione di un progetto web tramite un frameworks anziché di un CMS comporta, quindi, dei tempi di lavorazione più lunghi (tenendo conto della progettazione, debug4, ecc.) ma un grado di personalizzazione maggiore.


Sicurezza
Sucuri (azienda leader nel monitoraggio e protezione dei siti web) ha rilevato che nel 2018 la maggior parte dei siti web hackerati (90%) erano fatti tramite Wordpress (che è il CMS più utilizzato), seguiti da Magneto e Joomla!.
Gli esperti hanno rilevato che la maggior parte degli attacchi avvenivano tramite plug-in o non aggiornamenti dei sistemi stessi.
Il motivo di questa grande quantità di attacchi è presto chiarita: i CMS ed i relativi Plug-in, sono per la maggior parte progetti Open Source5 e quindi chiunque ne può vedere il codice sorgente ed eventualmente le vulnerabilità (così come chiunque può correggerle!)
Un progetto che utilizza un frameworks, invece, è quasi sempre scritto tramite un codice personalizzato e specifico da chi lo crea e quindi (a parte le vulnerabilità delle infrastrutture) risulta meno soggetto ad attacchi hacker.
Un framework ben sviluppato è molto più sicuro di un CMS generico, anche se i sistemi di gestione dei contenuti hanno spesso plug-in scritti per rafforzare la loro sicurezza.


Flessibilità
Indipendentemente dal tipo di progetto che si vuole creare può nascere la necessità di dover integrare lo stesso con delle funzionalità non previste come ad sistemi di  CMR (customer relationship management ovvero la gestione dei rapporti con i clienti) che possano interagire con altri strumenti e/o siti, come nel caso di Salesforce6.
Un progetto sviluppato tramite un framework sarà benissimo in grado di integrarsi e modellarsi con ogni necessità, mentre un progetto creato tramite un CMS dovrà "adattarsi" in base ai plug-in disponibili oppure affidarsi alla realizzazione dei plug-in personalizzati tramite un programmatore o un' agenzia con costi molto elevati.
Certo esiste anche la possibilità di creare progetti personalizzati che si basano sul core di un CMS ma in questo caso i costi partono, spesso, dai 5.000 euro superando, a volte, i 10.000, quindi non molto lontani (a volte anzi superiori) da quelli della realizzazione di una piattaforma web tramite l'uso di un frameworks.
Quando si parla di flessibilità, quindi, un frameworks offre un grado di libertà a 360° a fronte di costi di sviluppo più alti, mentre un CMS risulta molto più limitato con un costo minore.

 

Cosa segliere?
I CMS ed i Frameworks cono strumenti completamente diversi e la scelta di utilizzare l'uno anziché l'altro dipende da vari fattori. Prima di scegliere quale metodo di sviluppo scegliere è bene considerare alcuni punti:

  • La quantità di tempo che si è disposti a investire su di un progetto
  • La quantità di soldi che si possono/vogliono investire sullo stesso
  • L'unicità del progetto ed il suo grado di flessibilità
  • Il target al quale il progetto è destinato
  • Il grado di sicurezza di cui si necessita

Sicuramente per il blog personale che non necessita di troppe visite o anche di un semplice negozio sotto casa l'utilizzo di un CMS può rappresentare una scelta oculata, laddove, nel caso ci si affidi ad un azienda o a un professionista, i costi non siano troppo elevati.
Se il progetto riguarda invece un progetto web che deve interagire con i clienti, presentare prodotti e come target si designi traguardi elevati è meglio iniziare subito con un Frameworks ( meglio se .net) onde evitare poi di dover ricominciare tutto da capo.
Ricordiamo, infine, che pochissimi degli utenti che accederanno ad un sito web sono in grado di capire con quale tecnologia sia stato sviluppato, ma prestano più attenzione alla fruibilità del sito, ai contenuti e a quanto sia conforme alle sue necessità.


1 Per una spiegazione di cosa sia un frameworks si consiglia di leggere il precedente articolo "Php o .Net? Facciamo Chiarezza" 
2
 Il template nel web è un modello usato per separare il contenuto dalla presentazione grafica, e per la produzione in massa di pagine Web. 
3 Con il termine plug-in, in questo caso, ci si riferisce a programma non autonomo che interagisce con un altro programma per ampliarne o estenderne le funzionalità originarie. 
4Nella programmazione informatica il debug è l'attività di ricerca e correzione degli errori (bug) in un programma. 
5 Letteralmente "sorgente aperta", indica un software il cui codice sorgente è rilasciato con una licenza che lo rende modificabile o migliorabile da parte di chiunque. 
6 Salesforce è la più importante piattaforma per la gestione delle relazioni con i clienti (CRM)

  ► Luoghi

Matera (mt)
Matera La Capitale Europea della Cultura 2019
Matera è una città che è rimasta immutata nei tempi e visitare la città è come entrare in un presepe tanto che nel 2004 Mel Gibson decise di girare qua il suo film “The Passion of Christ”; ma quello di Gibson non è ne il primo ne l’ultimo dei film girati in questa città. Negli anni altri famosi registi hanno ambientato i loro capolavori in questa città tra questi ricordiamo “La Lupa” del 1956 di Lattuada, “Anni ruggenti” di Luigi Zampa del 1962, “Il vangelo secondo Matteo” di Pasolini del ’64, “Cristo si è fermato a Eboli” di Rosi nel  1979, “L’uomo delle stelle” di Tornatore (1995), il remake di “Ben Hur” del 2015, per finire nel 2019 con “No Time to Die” l’ultimo film della saga di 007.
Questa luna lista di film severe solo per dare un’idea di come sia speciale la città dei sassi dove, fino agli anni ’50, la maggior parte della popolazione viveva ancora nelle case grotte come ai tempi dei primi insediamenti. 

Matera è una città nata nel tufo, che i geologi chiamano calcarenite, un materiale friabile e adattabile che i maestri artigiani del luogo hanno imparato a lavorare con grande maestria e, mentre scavavano per estrarre il tufo, alla gente del luogo sembrò normale crearsi l’abitazione all’interno di quelle rocce. Piano piano il numero delle abitazioni è cresciuto e nella stesa roccia vennero scavate viuzze, chiese, piazze creando la struttura urbana della città che conosciamo oggi e che diede il soprannome a Matera di città dei Sassi.

Negli anni ’50, per proteggere gli abitanti dalle malattie dovute alla scarsa igiene nella quale vivevano il governo italiano creò la città nuova dove vennero fatti spostare gli abitanti dei sassi: dopo la Seconda Guerra Mondiale, con la denuncia di Carlo Levi, Matera fu presa a modello di quello che era l’arretratezza e la povertà dell’Italia meridionale. I Sassi erano un groviglio di case sovraffollate, sporche, in cui mancano le più elementari condizioni sanitarie per vivere degnamente, a partire dalla mancanza di fogna e di acqua corrente, tanto che la mortalità infantile era una delle più alte in Italia (su 1000 bambini nati 463 nascevano morti, contro la media nazionale ferma a 112).
Per volere di Adriano Olivetti (all’epoca presidente dell’Istituto Nazionale dell’Urbanistica) nacque la “Commissione per lo studio della città e dell’agro di Matera”, con lo scopo di avviare un’indagine per conoscere a fondo le condizioni di vita degli abitanti dei Sassi e successivamente proporre soluzioni per trasferirli in quartieri nuovi. Nel maggio 1952 lo Stato Italiano, con l’allora presidente del consiglio Alcide De Gasperi e con il ministro Colombo, tramite la “Legge Speciale per lo sfollamento dei Sassi” impose a circa diciassettemila persone, di abbandonare le proprie case per trasferirsi nei nuovi rioni.
I Sassi divennero così una città fantasma e gli ex abitanti ottennero case nuove pagando canoni di affitto irrisori in cambio della cessione delle loro vecchie dimore al demanio. Il degrado e l’abbandono si impossessarono delle grotte e delle chiese rupestri, mentre la città si espandeva nei quartieri nuovi secondo il Piano Regolatore.
Nel 1986, grazie alla Legge Speciale n. 771, si autorizzò i cittadini a tornare nei vecchi rioni in tufo per farli rivivere, invertendo quello che era stato il flusso forzato verso i nuovi quartieri; questo periodo rappresenta l’inizio di una nuova alba per i Sassi e per la città trasformando quello che era chiamato la “Vergogna nazionale” in uno dei centri storico culturali più importanti ed unici del mondo.
Bisogna però aspettare il 9 dicembre del 1993 affinché l’UNESCO dichiarasse i Sassi “Patrimonio Mondiale dell’Umanità”, facendone il sesto sito italiano ad entrare a far parte di questo speciale elenco, ed il primo dell’Italia meridionale.
Negli anni seguenti la città è cresciuta e con essa anche il turismo vedendo la nascita di numerosi ristoranti, hotel e b&b.

Tra i luoghi da visitare nella città dei sassi sicuramente non bisogna perdere il “Palombaro lungo”, la grande cisterna che si trova sotto la centrale piazza Vittorio e che venne utilizzata fino ai primi anni del ‘900 per la raccolta dell’acqua potabile. Per visitare questo luogo esiste un suggestivo percorso, la cui visita deve essere prenotata, che permette di osservare questa incredibile cisterna scavata nella roccia che è una tra le più grandi al mondo.
Per chi visita Matera, poi, imperdibile è la visita a una delle tante casa-grotta scavate nella roccia che sono state oggi recuperate e trasformate in musei dove è stato ricostruito il tipico ambiente nel quale vivevano i materani fino alla metà del secolo scorso; così come imperdibile risulta la visita alle chiese rupestri.

Da un punto di vista enogastronomico Matera è una città dalla tradizione culinaria molto antica basata sulla semplicità dei piatti che fanno largo uso di portate a base di formaggi, legumi, carni e verdure, il tipico Pane di Matera nonché i rinomati peperoni cruschi che consigliamo vivamente di mangiare sulle bruschette; oltre che sul pane questi peperoni, dolci e croccanti, sono usati anche per condire i piatti di pasta fresca come i cavatelli, la tipica pasta preparata con farina di grano duro, acqua e sale e poi tagliata a pezzetti.
Questi piatti tipici vanno accompagnati con uno dei vini DOC del luogo come il Matera Rosso, oppure un "Matera" Primitivo od il "Matera" Rosso Jonico; se si preferiscono i vini bianchi, invece, segnaliamo il "Matera" Greco ed il "Matera" Bianco.

Matera, come Venezia, è una città unica nel suo genere che merita di essere visitata almeno una volta nella propria vita.
Loreto (an)
Loreto Loreto: tra fede e spiritualità
Loreto è un comune anconetano che sorge sulla sommità di una modesta altura e circondata da un'ampia campagna.
La principale attrazione è il Santuario della Santa Casa di Loreto intorno al quale tutta la città si è sviluppata.
Secondo la tradizione il santuario ospita la celebre reliquia della Santa Casa di Nazaret, ovvero la casa dove la Vergine Maria nacque, visse e ricevette l'annuncio della nascita miracolosa di Gesù: sempre secondo la tradizione, quando i crociati furono espulsi definitivamente dalla Palestina, le pareti in muratura della casa della Madonna furono trasportate "per ministero angelico", prima Illiria in e poi nel territorio di Loreto. La tradizione racconta che “più di settecento anni fa la gente del luogo, ancora immersa nel sonno, venne destata da una luce immensa ed improvvisa che dal cielo illuminava il paesaggio sottostante: tutti uscirono dalle case per ammirare lo straordinario avvenimento, senza però poter capire la fonte di quella luminosità, che sembrava essersi stabilita ne pressi di Recanati, in mezzo ad un bosco infestato dai briganti. Allorché il sole sorse dal mare, l’arcano fu svelato: una casetta, tenuta sospesa da bellissimi angeli, si librava nell’aria fino a posarsi su un colle coperto da un bosco di lauri. A tutte le persone accorse sul posto apparve la casa di Nazareth, quella che Gesù aveva abitato per trent’anni; tutt’intorno era ancora profumo di fiori e si diffondeva un canto melodioso e celestiale.

La piazza che dà accesso alla basilica è sicuramente una delle più belle delle Marche. Al centro della piazza si staglia la mirabile Fontana Maggiore, capolavoro barocco di Carlo Maderno e Giovanni Fontana, mentre sul lato sinistro del sagrato si scorge il monumento a Papa Sisto V.
La città, che circondata da una cinta muraria eretta a partire dal XIV secolo come difesa dalle incursioni turche, racchiude un piccolo borgo molto suggestivo pieno di negozi e locali.
La città di Loreto è anche profondamente legata all'aeronautica militare tanto che attualmente è sede della Scuola Lingue Estere Aeronautica Militare e all'entrata della città si vede un MB339 PAN esposto.

Nel settembre del 1995 Loreto ospitò “Eurhope” (Europe + hope) un grande incontro europeo dei giovani con il Papa Giovanni Paolo II che, davanti a più di 400.000 persone, disse: “Ecco la vostra Casa, la Casa di Cristo e di Maria, la Casa di Dio e dell’uomo!"

"La Santa Casa di Loreto è il primo Santuario di portata internazionale dedicato alla Vergine e vero cuore mariano della cristianità" (Giovanni Paolo lI).
Folgaria (tn)
Folgaria La Base Tuono
Situata tra cime delle montagne trentine, prospicente un laghetto artificiale, a Passo Coe (1600 s.l.m.) si trova la Base Tuono, un'ex base militare missilistica, del tempo della guerra fredda rimasta in attività dal 1966 al 1977.

Iniziato nel 2010 la costruzione del museo è un monumento al periodo in cui si pensava che un conflitto tra super potenze potesse avvenire. Nel 2013 la Base Tuono ha ufficialmente ottenuto il riconoscimento come sito museale rappresentativo del sistema d’arma Nike-Hercules dallo Stato Maggiore dell’Aeronautica; all'interno del perimetro che delimita la base si trovano esposti, infatti, gli ultimi missili terra-aria Nike-Hercules (ovviamente disarmati) esistenti in Italia.

Per chi visita la base è consigliato approfittare delle visite guidate che non solo spiegano il sistema d'arma di cui facevano parte i missili Nike-Hercules, ma racconta anche il clima geo-politico che ha condizionato la storia mondiale per più quasi mezzo secolo. La prima parte della visita inizia, infatti, con un'introduzione storica che illustra il periodo della Guerra Fredda nel contesto internazionale per proseguire con il sistema di difesa missilistico italiano, il dispiegamento delle basi missilistiche, l'operatività dei missili Nike-Hercules e le caratteristiche tecniche di questi ultimi.

Si passa poi nell’hangar, dove è esposto un missile Nike-Hercules adagiato su rotaia al quale sono state applicate delle finestrelle per guardarne i componenti interni; parte della visita sono anche i carri BCVan e RCVan che espongono i sistemi di controllo e tiro dei missili originali di quegli anni.
La visita finisce con il bunker sotterraneo dove viene illustrata la sequenza di lancio dei missili.
L'ultimo missile Nike-Ercules in Italia venne sparato venerdì 24 novembre 2006 in un poligono della Sardegna.

A chi fosse interessato si consiglia di consultare prima il sito web (www.basetuono.it) della base per verificare i giorni e gli orari d'apertura. Il prezzo del biglietto è basso e nei paraggi si presentano molte escursioni interessanti da fare.

  ► Ricette

Spaghetti con i gamberoni al mojito
Spaghetti-con-i-gamberoni-al-mojito
Dosi e ricetta per 2 persone.
Pulire i gamberoni e sgusciarli ( tenerne 2 per con il carapace per decorare), quindi metterli a marinare per almeno 1 ora i gamberoni con il lime, la cachaca e la menta a pezzetti; la quantità di menta dipende dai gusti.

Mettere a scaldare l’acqua per la pasta e quando bolle buttare gli spaghetti. Mentre si cuoce la pasta mettere a scaldare 1 spicchio d’aglio con l’olio d’oliva, quindi aggiungere i gamberoni e farli rosolare. Aggiungere la marinatura e finire di cuocere i gamberi.
Rimuovere quindi i gamberi e mettere a cuocere, nella stessa padella ed assicurandosi di mantenere la marinatura i pomodorini.
Quando la pasta è pronta, prima di scolarla, aggiungere nella padella calda, insieme ai pomodorini i gamberoni ed in fine la pasta scolata.

Impiattare e servire caldo!

Ravioli di gamberetti al profumo d'agrumi
Ravioli-di-gamberetti-al-profumo-d-agrumi
Con l'avvicinarsi dell'estate un piatto che rinfrescherà le serate con gli amici: i ravioli di gamberetti al profumo d'agrumi

Per il ripieno:
In una padella mettere a scaldare un cucchiaio di olio d’oliva con 1 spicchio d’aglio.  Quando inizia a soffriggere l’aglio aggiungere i gamberetti (sgusciati), il prezzemolo a piacere, salare e  sfumare con il vino bianco.
Quando saranno cotti tritarli e mettere il tutto a riposare.

Per la pasta
Per preparare la pasta bisogna ricordare che ci vogliono circa 100gr di farina per ogni uovo, in questa ricetta la porzione è per 2 persone quindi abbiamo usato 200gr di farina e due uova.
Mettere la farina"00" sul tavolo o su di una spianatoia formando una fontana, con le dita si crea una cavità simile a un cratere. Si passa poi a spolverare il  tutto con un po’ di sale e ci si sguscia al centro della farina le uova.
Si inizia poi ad incorporare un po’ di farina presa dai bordi del cratere e  si prosegue a lavorare gli ingredienti con le dita fino a quando non si sarà raccolta tutta la farina.
Dopo aver impastato almeno 10 minuti in modo energico si forma una palla, la si  avvolge nella pellicola e la si lascia riposare l'impasto per almeno 10-15 minuti.
Trascorso il tempo si prende l'impasto lo si  appiattisce con le mani per conferirgli una forma a disco e lo  si stende sul tavolo o sulla spianatoia (sempre ben infarinati).
Con l'aiuto di un mattarello partendo sempre dal centro e facendolo scorrere in tutte le direzioni in modo da ottenere una sfoglia dallo spessore uniforme la si spiana. Quando la sfoglia comincia ad allargarsi la si gira, avvolgendola sul mattarello e la si ruota di 90°. 
Continuare a stendere la sfoglia fino a raggiungere lo spessore desiderato. 
Una volta ottenuta una bella sfoglia con l’aiuto di un bicchiere o di uno strumento apposito si ritagliano dei dischi ed al loro centro si depone il ripieno fatto con i gamberetti. Li si richiude avendo l’accortezza di bagnare leggermente i bordi in modo da far aderire bene i due lembi di pasta.

Preparare poi il sugo.
Sia dall’arancio che dal limone togliere delle striscioline di buccia (attenzione a rimuovere il bianco) che andranno ad essere usate come guarnizione nel piatto, quindi si spremono i succhi di entrambi gli agrumi in una bacinella, vi si aggiunge 1 cucchiaio di farina e una presa di sale e si mescola il tutto fino a togliere ogni grumo.
In una padella si mette a sciogliere una noce di burro, quando inizia a friggere si aggiunge il succo degli agrumi e si lascia condensare.
Nel mentre si mette a bollire una pentola d’acqua con del sale grosso e, quando l’acqua bolle, si immergono i ravioli. Cuocerli per 3 o 4 minuti ( o di più nel caso, dipende dallo spessore della sfoglia) quindi, delicatamente, li si estrae dalla pentola e li si mette nella padella con il sugo bello caldo e li si mescola.
Servire accompagnandoli nel piatto con le scorze degli agrumi e, a piacere, con una spruzzata di aceto balsamico



Vellutata funghi e speck
Vellutata-funghi-e-speck
Cosa c’è di meglio, per finire l’inverno, che una bella vellutata di funghi?
La ricetta è facilissima ed il risultato è un piatto che scalda non solo lo stomaco ma anche l’ambiente.
Per preparare la vellutata bisogna prima di tutto tritare il porro , sbucciare le patate e tagliarle a pezzettini,
pulire i funghi eliminando la parte terrosa dal gambo e lavarli delicatamente sotto l’acqua corrente fredda, quindi tagliarli a fette sottili.
In una pentola mettere a scaldare il brodo.
In una pentola mettere a imbrunire la cipolla con due cucchiai di olio d’oliva, quindi aggiungere le patate a cubetti e mescolare per insaporite, quindi coprire con il brodo.
Intanto in una padella cuocere i funghi con un po' di burro e prezzemolo.
Nel frattempo, in una padella, mettere a rosolare lo speck tagliato a pezzettini.
Lasciare cuocere, aggiungendo nel caso del brodo se si asciuga troppo, fino a quando le patate non iniziano a disfarsi, aggiungendo sale e pepe. Quando iniziano a disfarsi le patate aggiungere i funghi ed il latte e lasciare condensare.
Con un frullatore ad immersione frullare il composto fino ad ottenere una vellutata morbida. 
Servire calda aggiungendo i pezzettini di speck e il pane abbrustolito.

  ► Gallery

Primavera 2019 (126)
Primavera 2019
Brasile 2019 (140)
Brasile 2019
Inverno 2019 (69)
Inverno 2019

  ► Curiosità

Chi ha inventato l' F-16?
Chi ha inventato l' F-16?
Innanzitutto l’F-16 e’ nato da un TEAM, e ripeto TEAM di ingegneri.
Alla guida del team c’era Robert H. Widmer (1916-2011).Nato nel New Jersey, Widmer si laurea al Rensselaer Polytechnic Institute e ottiene un master’s degree al California Institute of Technology (il Cal Tech). Non riuscì ad arrivare al Ph.D perchè nel 1939 venne reclutato dalla Consolidated di San Diego, dove si occupo’ di PBY, PB2Y e B-24, l’aereo da combattimento americano maggiormente prodotto durante la Seconda Guerra Mondiale. Presso la Convair, Widmer fu responsabile dei test in galleria del vento del B-36 Peacemaker e come dello sviluppo del B-58 e F-111. Nel 1970 fu promosso vice-presidente per la ricerca e sviluppo degli impianti di San Diego e Fort Worth.
Widmer inizio’ a lavorare all’embrione dell’F-16 in gran segreto e senza informare i vertici della General Dynamics in quanto questi ultimi ritenevano che un aereo del genere non avrebbe avuto mercato.
Harry Hillaker, conosciuto anche come il “Padre dell’F-16”. Come Widmer, anche Hillaker all’epoca lavorava alla Convair con la qualifica di vice-capo ingegnere del programma Lightweight Fighter. Praticamente era il numero due subito dopo Widmer. Verso la fine degli anni sessanta Hillaker entro’ a far parte della Fighter Mafia.
Pierre Sprey non ha inventato l'f-16 (come spesso si sente dire). Sprey era semplicemente un’analista di sistemi presso l’Office of Secretary of Defense (OSD), nonche’ membro della famigerata "Fighter Mafia" (un ristretto gruppo di ufficiali USAF e civili noto negli anni settanta per ssere stato uno dei piu’ influenti think tank militari in campo aeronautico)
Il Piano Bernadotte
Il Piano Bernadotte Nell'estate del 1948, il Conte Folke Bernardotte fu inviato dalle Nazioni Unite in Palestina per mediare una tregua e tentare di negoziare un compromesso. Il piano di Bernardotte chiedeva allo Stato ebraico di consegnare il Negev e Gerusalemme alla Transgiordania in cambio della Galilea occidentale. Questo piano era simile ai confini che erano stati proposti prima del voto sulla spartizione, e che tutte le parti avevano rifiutato. Ora la proposta veniva offerta dopo che gli Arabi erano andati in guerra per impedire la spartizione ed era stato dichiarato uno stato ebraico. Sia gli Ebrei che gli Arabi rifiutarono il piano.
Ironicamente, Bernardotte trovo' tra gli Arabi poco entusiasmo per l'indipendenza. Egli scrisse nel suo diario:
"Gli Arabi palestinesi al momento non hanno una volontàloro. Ne' hanno mai sviluppato un nazionalismo palestinese specifico. La domanda di uno stato arabo separato in Palestina e' pertanto relativamente debole. Semberebbe proprio che nelle circostanze attuali gran parte degli Arabi palestinesi sarebbe alquanto contenta di essere incorporata nella Transgiordania
Il fallimento del piano Bernardotte giunse quando gli Ebrei cominciarono ad avere maggior successo nel respingere le forze arabe d'invasione e nell'espansione del loro controllo sui territori esterni ai confini della spartizione.
Il falso logo CE
Il falso logo CE Il logo CE indica la “conformità europea” del prodotto (risponde ai requisiti di sicurezza comunitari) e non "prodotto in Europa". Occhio: un altro marchio CE segnala invece la provenienza cinese (sta per China Export) senza dare alcuna garanzia. Nell’originale – ideato dal disegnatore Arthur Eisenmenger che inventò pure il simbolo € – la C e la E sono ricavate da due cerchi che si sfiorano, mentre nella versione cinese sono più vicini

  ► Aerei

Saab JAS 39 Gripen
Saab JAS 39 Gripen Tipo: Caccia multiruolo
Ruolo: Caccia, Appoggio, Attacco, Bombardamento , Antinave
Nazione di Origine: Svezia
Armamento: 1 cannone Mauser BK-27 da 27 mm. Bombe caduta libera: Mk 82. Bombe a grappolo: Bk.90. _x000d_ Bombe Paveway: GBU-10 Paveway II,GBU-12 Paveway II. Missili aria aria: AIM-9 Sidewinder, _x000d_ IRIS-T, AIM-120 AMRAAM, MBDA MICA, MBDA Meteor. Missili aria superficie:AGM-65 Maverick, _x000d_ Taurus KEPD 350. Missili anti nave:_x000d_ RBS-15

Prestazioni: Velocità massima 2 Mach (2470 km/h in quota). Autonomia 3200 km. Raggio di azione 800 km. Tangenza 15240 m
Hispano Aviación HA-1112
Hispano Aviación HA-1112 Tipo: Caccia
Ruolo: Caccia
Nazione di Origine: Spagna (su licenza tedesca)
Armamento: 2 mitragliatrici MG 131 calibro 13 mm, 1 cannone un MG 151/20 calibro 20 mm o 1 MK 108 _x000d_ calibro 30 mm

Prestazioni: Velocità massima 675 km/h. Velocità di crociera 605 km/h. Autonomia 767 km. Tangenza 10200 m
Panavia Tornado IDS
Panavia Tornado IDS Tipo: Aereo per l'attacco al suolo
Ruolo: Appoggio, Attacco, Bombardamento , Antinave
Nazione di Origine: Italia, Germania, Regno Unito
Armamento: 2 cannoni Mauser BK-27 da 27 mm. Bombe a grappolo: BL755, JP233, Bombe guida GPS: JDAM, _x000d_ HOPE/HOSBO. Bombe Paveway: 1ª, 2ª generazione. Bombe nucleari: B-61. Missili antinave _x000d_ Kormoran

Prestazioni: Velocità massima 1.9 Mach (2337 km/h in quota). Velocità di salita 76,7 m/s. Raggio di azione 640 Km dalla base. Tangenza 15240 m

  ► Tutorials

Simulare Carica Altro con Jquery

I siti web moderni preferiscono all’impaginazione dei risultati delle query il caricare sulla stessa pagina altri risultati (il famoso Carica altro) tramite la pressione di un tasto/link o tramite il raggiungimento della fine pagina.
Tra i vari metodi disponibili il più semplice lo si ottiene tramite jquery e si può adattare a molti script e linguaggi.
Per fare questo usiamo due metodi che ci offre il frameworks jquery: .append e .load.
Il metodo .append serve per poter accodare un contenuto all’interno dell’elemento al quale è associato.
Il metodo .load carica, invece, il contenuto di un file all’interno di un div.
Per quanto riguarda l’html sarà sufficiente creare un div al quale assegnamo l’id “contenuto” all’interno del quale carichiamo la nostra pagina con i dati aggiuntivi.

<div id="contenuto"></div>

Per quanto riguarda lo script ci limitiamo a scrivere la funzione che carica la pagina dentro contenuto:

<script>
function aggiungi (pag) {
$('#contenuto').append($("<div>").load("caricaaltro2.aspx?id="+pag));
}
</script>

Nello script abbiamo aggiunto una variabile che passa il numero di pagina nel caso dovessi caricare più pagine.
Posso anche aggiungere la funzione che nasconde il div che mi mostra “carica altri”:


$("#linnk").click(function() {$(this).hide();});

Nella pagina caricata mi limiterò a inserire lo stesso script e lo stesso div.


 

Script completo prima pagina 

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="utf-8" %>

<!doctype html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>


<style type="text/css">
body { color: #000; text-align:center; background-color: #FFF; }
.quadrati { width:200px; height:200px; margin:2px 2px 2px 2px; display:inline-block; border:#354D46 1px solid; }
img { height:100%; width:auto; max-width:190px; }
</style>
<%dim pag = 2%>
</head>

<body>
<p>CARICA ALTRO ESEMPIO</p>

<div class="quadrati">
<img src="https://www.filoweb.it/galleria2015/foto/R06939V9BEM0AWYTUVM5VOQMEP0Q9O.jpg" >
</div>

<div class="quadrati">
<img src="https://www.filoweb.it/galleria2015/foto/LN6VNQDBH_NH77SWWRRBP6YJX7BDMQ.jpg" >
</div>

<div class="quadrati">
<img src="https://www.filoweb.it/galleria2015/foto/LVXNE6SIG86TAO8YBPBK3Q6A9D5VAF.jpg" >
</div>

<div id="contenitore" style="width:100%;">
<div id="contenuto" style="width:100%;"></div>
</div>

<div id="blinnk"><a href="javascript:aggiungi(<%response.write(pag)%>);" id="linnk" style="width:100%; background-color:#354D46; text-align:center; color:#FFF;" title="Carica tutti" >CARICA ALTRI</a></div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$("#linnk").click(function() {$("#blinnk").hide();});

function aggiungi (pag) {
$('#contenuto').append($("<div>").load("caricaaltro2.aspx?id="+<%response.write(pag)%>));
}
</script>

</body>
</html>


 

 

Script completo 2° pagina

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="utf-8" %>

<!doctype html>
<html >
<style type="text/css">
body { text-align:center; }
.quadrati { width:200px; height:200px; margin:2px 2px 2px 2px; display:inline-block; border:#354D46 1px solid; }
img { height:100%; width:auto; max-width:190px; }
</style>

</head>
<body>
<%
dim pag
pag=request.QueryString("id")
pag=pag+1
%>

 

 

<div id="contenitore">
<h3> questa è la pagina <%response.write(pag)%></h3>
<div class="quadrati">
<img src="https://www.filoweb.it/galleria2015/foto/YLAUXHFWF52IBFJC7TJAZ_Z9ESH799.jpg" >
</div>

<div class="quadrati">
<img src="https://www.filoweb.it/galleria2015/foto/PA8I4_C_J8GFA808JSS4QVQT9NK2FH.jpg" >
</div>

<div class="quadrati">
<img src="https://www.filoweb.it/galleria2015/foto/YLAUXHFWF52IBFJC7TJAZ_Z9ESH799.jpg" >
</div>

<div id="blink<%response.write(pag)%>" style="width:100%; background-color:#293343;"><a href="javascript:aggiungi(<%response.write(pag)%>);" id="linnk<%response.write(pag)%>" style="width:100%; background-color:#354D46; text-align:center; color:#FFF;" title="Carica tutti" >CARICA ALTRI</a></div>

<div id="contenitore" style="width:100%;">
<div id="contenuto" style="width:100%;"></div>
</div>

</div>

<div id="contenitore" style="width:100%;">
<div id="contenuto" style="width:100%;"></div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$("#linnk<%response.write(pag)%>").click(function() {$("#blinnk<%response.write(pag)%>").hide();});
function aggiungi (pag) {
$('#contenuto').append($("<div>").load("caricaaltro2.aspx?id="+<%response.write(pag)%>));
}
</script>
</body>
</html>

Installazione offline di Visual Studio 2017

Visual Studio è un ambiente di sviluppo integrato sviluppato da Microsoft, che supporta attualmente (2018) diversi tipi di linguaggi come il C, il C++, il C#, il Visual Basic .Net, l’ Html, il JavaScript e molti altri. Visual Studio permette la realizzazione sia di applicazioni che di siti web, web application e servizi web di varia natura.
L'attuale distribuzione di Visual Studio (la 2017), che rappresenta l’ultima versione dopo 20 anni di evoluzione, è disponibile in 3 versioni:



• Community
• Professional
• Enterprise


Una delle novità più importanti riguarda la versione Community che è disponibile completamente gratuita e può essere scaricata e utilizzata liberamente.


Per installare la versione community (come anche le altre) è sufficiente scaricare il file di installazione, lanciarlo e decidere quali componenti installare. Il processo può risultare molto lungo, a seconda della lingua; un’altra soluzione consiste nello scaricare sempre il file di installazione e scaricare tramite uno script i file di setup da conservare per eventuali nuove installazioni.
Il processo risulta sempre lungo, ma una volta fatto ho i file sempre pronti.
Per fare questo per prima cosa devo scaricare il file di installazione da:
https://www.visualstudio.com/it/ e quindi salvarlo in una cartella.

Apro quindi il prompt dei comandi (cmd.exe) e mi posiziono nella cartella dove ho copiato il mio file di installazione (vs2017.exe) e scrivo il comando:



vs2017.exe --layout c:\vs2017setup --lang it-IT


In questo modo creo una cartella chiamata vs2017setup dove verranno scaricati tutti i file per l’installazione offline della versione in italiano (lang it-IT) di visual studio 2017.
Visto che in totale verranno scaricati più di 30Gb ci vorrà tempo ed una connessione veloce ( non obbligatoria ma consigliata).


Una volta terminato sarà sufficiente andare nella cartella di installazione ed eseguire il file di setup.

Note: Posso anche scaricare la versione non localizzata in italiano, ma con tutte le lingue disponibile, in questo caso devo prepararmi a scaricare più di 65Gb!!.

Iframe ad altezza variabile

Premetto che non sono un amante degli iframe (non più almeno) perché oltre ad essere deprecati nell’HTML5 fanno sembrare il sito più vecchio di almeno 6-7 anni dando un’idea di poca professionalità. Inoltre gli iframe sono stati creati per visualizzare pagine esterne al proprio sito web, all'interno dello stesso anche se spesso sono stati usati in maniera errata. Quindi si se si vogliono usare per includere pagine esterne, no per quelle interne meglio usare altri metodi come include, o jquery).

Dopo questa lunga e doverosa premessa passiamo ai fatti. Chi usa il tag iframe spesso ha la necessità di adattarne l’altezza in base al contenuto che viene caricato. I metodi che si trovano in rete sono molti ed io voglio qua proporre la mia personale soluzione in pochissime righe di codice: leggo l’altezza dell tagdel contenuto che carico e tramite jquery assegno l’altezza all’ iframe.
Certo posso scegliere anche il tago altro ma in questo mio esempio preferisco usarevisto che tutto il contenuto visibile in una pagina è racchiuso lì dentro.



Definiamo lo stile per il nostro iframe tramite css:
#mioiframe { width:100%; border:#293343 1px solid; height:300px; }



Scriviamo il nostro iframe.



<iframe src="pg.html" id="mioiframe" class="mioiframe" scrolling="no" frameborder="0" name="contenuto" onload="caricato()"></iframe>

Definiamo il nostro script che verrà chiamato al caricamento del contenuto dell’iframe:
function caricato() {
var mioif = $("#mioiframe").contents().find("body");
var h = mioif.height();
$("#mioiframe").height(80+h+"px");
};


Infine la chiamata alle pagine:


 <a href="pg1.html" target="contenuto" class="menu"> pagina 1 </a>
<a href="pg2.html" target="contenuto" class="menu"> pagina 2 </a>


Come si vede è tutto molto semplice, veloce e leggero…

  ► Varie

Appunti: Introduzione alla programmazione con l'uso di C# II° Parte
Realizzare un sito web II° parte
Pamphlet: Bufale online
Bufale Online
Templates
Templates
FB TW Pinterest whatsapp RSS FEED News letter

filoweb.it è il sito personale di Filippo Brunelli
(c) 2017 Filippo Brunelli
Le immagini ed i testi contenuti nel sito sono di proprietà di Filippo Brunelli salvo diversamente indicato.
L'uso delle immagini e del testo è gratuito per uso personale ed è subbordinato alla citazione della fonte.
Brunelli Filippo declina ogni responsabilità per l'uso che viene fatto delle informazioni presenti nel sito.