Arduino Lcd e modulo I2C

Info su display Lcd con modulo I2C

http://arduino-info.wikispaces.com/LCD-Blue-I2C

Sketch di test per LCD



// Programa : Display LCD 16x2 e modulo I2C
// Autor : Arduino e Cia

#include 
#include 

// Inicializa o display no endereco 0x27
LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE);

void setup()
{
lcd.begin (20,4);
}

void loop()
{
lcd.setBacklight(HIGH);
lcd.setCursor(0,0);
lcd.print("Arduino e Ciao!!");
lcd.setCursor(0,1);
lcd.print("LCD e modulo I2C");
delay(1000);
// lcd.setBacklight(LOW);
delay(1000);
}

Perché oggi non andrai lontano se non conosci SQL, Python e JavaScript

linguaggio-programmiQuanto è grave, al giorno d’oggi, non conoscere le basi della programmazione? La risposta la lasciamo a una colossale ricerca effettuata negli Stati Uniti su qualcosa come 26 milioni di offerte di lavoro postate online. L’analisi, diffusa questo mese da Burning Glass e Oracle Academy, ha rivelato che metà dei posti di lavoro al top per retribuzione (dai 57mila dollari in su l’anno) richiede almeno le nozioni di base dei linguaggi di programmazione. In particolare SQL, Java, JavaScript, C# e Python.

Attenzione, perché non stiamo parlando di lavori legati strettamente alla tecnologia digitale. L’informatica è oggi presente in ogni tipo di industria, spiega Alison Derbenwick Miller, vicepresidente di Oracle Academy, e questo significa che saper programmare è un tipo di competenza richiesto in molteplici campi. Chimica, fisica, biologia, marketing, ingegneria, comunicazione, banking, assicurazioni: oggi sono innumerevoli i settori in cui si ha a che fare con i big data, e quindi con nozioni base di “coding”. E saper programmare con i controfiocchi, come sottolinea la ricerca di Burning Glass e Oracle Academy, è fondamentale almeno per sei professioni specifiche: operatori IT, analisti di dati, scienziati, ingegneri, artisti e designer.

Saper fare di “coding” significa anche guadagnare di più. L’analisi condotta da Burning Glass e Oracle Academy sui “big data” delle ricerche di lavoro evidenzia come le professioni che richiedono nozioni di programmazione offrano stipendi superiori di circa 22mila dollari l’anno (84mila dollari in media contro i 62mila dei mestieri “coding free”). Non solo. Le professioni legate in qualche modo alla programmazione – oltre sette milioni di posti nel 2015 solo negli Stati Uniti – crescono secondo la ricerca a una velocità del 12% superiore a quella media di mercato.

Programmare significa automatizzare lavori ripetitivi e trovare soluzioni a problemi ritenuti impossibili da risolvere, spiega Mike Grassotti, capo del settore IT a LiftForward, azienda di New York che offre prestiti a Pmi. «E’ la nuova alfabetizzazione – riassume l’italoamericano – : il “coding” diventerà presto un requisito di base della formazione, proprio come oggi lo è il saper leggere e scrivere».

La morale? E’ che anche stavolta Steve Jobs è stato profetico. In un’intervista televisiva di oltre vent’anni fa il padre della Mela aveva proclamato che «Ogni persona in questo Paese dovrebbe imparare come si programma, perché è qualcosa che ti insegna a pensare». Era il lontano 1995. Un anno e mezzo dopo Jobs sarebbe tornato in Apple, rivoluzionando le nostre vite con l’iMac, l’iPod, l’iPhone e l’iPad.

Fonte: Il Sole 24 ore

Chat di gruppo e chatbot, prepariamoci a usarle anche in azienda

La messaggistica istantanea si candida a diventare una delle tecnologie più interessanti del 2017. È estremamente efficace all’interno delle aziende, a supporto dei processi operativi che coinvolgono diversi gruppi di lavoro e vari programmi software, ma è anche un ottimo strumento di customer service, con i clienti esterni o interni, in ambito HR: con l’intelligenza artificiale sono i computer a rispondere

La tecnologia che farà vincere sul mercato i fornitori di soluzioni per il business negli anni a venire? Non è il cloud e nemmeno l’intelligenza artificiale: sarà invece la chat. Sì perchè già oggi le persone usano più le chat dei social network, ed è facilmente prevedibile che questa abitudine varcherà presto le porte delle aziende. Lo sostiene anche un’analisi del Wall Street Journal secondo cui la messaggistica istantanea potrebbe rivelarsi più significativa di molte altre tecnologie per la produttività perché mette insieme efficacemente sia le persone che diversi programmi software.

Una previsione che fa il paio con quella che riguarda le chatbot, parola che nasce dall’unione di chat e robot, ovvero la messaggistica che grazie all’intelligenza artificiale, o machine learning, non sono gestite da umani ma da computer, in grado sia di interpretare le domande, sia di dare una risposta appropriata. Sono sempre più utilizzate per il customer care (qui il caso Burberry), ad esempio per rispondere a informazioni su orari di partenza e arrivo dei treni, e se ne prevede un uso in azienda a breve, ad esembio nell’ambito dei sistemi HR. Oracle è una delle aziende che sta puntando su queste nuove soluzioni all’interno delle suite HCM (Human Capital Management), per rispondere a domande del tipo: mi è stato pagato lo stipendio? oppure Quanti giorni di ferie ho ancora a disposizione? Dato che sono giovani sviluppatori a programmare le chatbot, il loro uso può anche risultare divertente: le risposte sono generalmente informali e scanzonate.

Tutto più veloce e sincronizzato: l’esempio di una concessionaria di auto

Gli esempi non mancano. L’IT manager di una concessionaria di una piccola cittadina americana nel Maine, sostiene che la sua società oggi non potrebbe esistere senza HipChat, la chat di gruppo di Atlassian: prima per sostituire un pezzo occorreva una richiesta stampata di un rappresentante del servizio clienti e una visita di persona al magazzino ricambi, dove bisognava aspettare che un meccanico controllasse la disponibilità del pezzo richiesto. Ora con la chat di gruppo tutte le operazioni sono online e istantanee. Miller dice che la chat è superiore ad altri canali di comunicazione perché può essere sia sincrona, come un meeting o una telefonata, sia asincrona, come un’email. In più può mettere insieme software diversi dentro la app, come quello che avvia la ricerca online del pezzo di ricambio.

Facebook e Microsoft nell’arena

Non a caso anche i colossi di Internet e dell’hitech si sono messi a sviluppare chat di gruppo: Facebook ha introdotto Workplace by Facebook, la versione business della piattaforma social, e Microsoft ha da poco lanciato la sua funzionalità di group chat Microsoft Teams all’interno della suite per la produttività Office 365. Ma i prodotti sono tanti e alcuni ben posizionati sul mercato, come il citato HipChat e Slack, che conta 4 milioni di utenti attivi quotidiani ed è valutata 3,8 miliardi di dollari.

Il nuovo trend: ChatOps

La novità che sta emergendo e che fa salutare la chat di gruppo come una delle tecnologie chiave per il 2017 è la sua capacità di coordinare le Operations nel business. Il trend è stato ribattezzato “ChatOps”; gli early adopters sono stati gli sviluppatori di software, che hanno integrato le chatbot in Slack o HipChat per informare gli amministratori di sistema di eventuali problemi; computer possono cioè mandare notifiche agli sviluppatori oppure gli sviluppatori possono mandare comandi ai sistemi.

Ora anche professionisti di settori non tecnici cominciano ad apprezzare la ChatOps perché consente di integrare in una sola finestra – la chat – tutte le funzioni di cui hanno bisogno per svolgere il loro lavoro, centralizzando sia i compiti da svolgere che le comunicazioni su questi compiti e aumentando la produttività. “La chat fa il lavoro di 100 finestre del browser aperte”, afferma Steve Goldsmith, general manager di HipChat.

Casi d’uso, dal crowdfunding agli alberghi

Il manager di una piattaforma di crowdfunding per società no-profit, racconta: “Dovevo risolvere un problema tecnico su un sistema a Vancouver: l’administrator era a Washington D.C. e io mi trovavo in un taxi a Nairobi. Anziché infilarmi in una serie infinita di email, telefonate e documenti da guardare che mi avrebbero fatto perdere giorni, ho risolto tutto rapidamente con la chat”.

Infine alcuni hotel hanno connesso i loro dipendenti con le app di chat e creato delle chat room per ogni stanza che permette di tenere sempre sotto controllo se è libera o occupata, se è stata pulita, e così via. Anche Ibm usa Slack per il suo team di design: si tratta di 1.300 persone, che usano la chat per discutere e votare rapidamente i progetti da mandare avanti.

Fonte: Digital4

Un classico malware dietro il cyberspionaggio che ha colpito i palazzi del potere

Secondo la Polizia Postale, i fratelli Occhionero avrebbero organizzato un attacco ATP ai danni di enti e istituzioni. Partendo dallo scaricamento di un semplice allegato

Diverse volte abbiamo messo in luce l’importanza della sicurezza informatica e della sofisticatezza degli attacchi del cybercrime. Mai come in queste ore la cronaca sta evidenziando come questi allarmi non fossero esagerati e interessino da vicino l’Italia: la Polizia postale ha infatti arrestato i fratelli Giulio e Francesca Occhionero, noti personaggi dell’alta finanza capitolina, con l’accusa di aver messo in piedi una botnet con finalità di cyberspionaggio a danno di istituzioni e pubbliche amministrazioni, politici di spicco (si è parlato anche degli ex premier Renzi e Monti, ma la notizia non è confermata), studi professionali e soggetti di rilievo nazionale. Manco a dirlo, detentori di informazioni particolarmente sensibili e strategiche o di particolare valore per il mondo finanziario.

L’indagine ha preso le mosse dalla segnalazione al C.N.A.I.P.I.C. (Centro Nazionale Anticrimine Informatico per la Protezione delle Infrastrutture Critiche della Polizia Postale) dell’invio di una mail, indirizzata a un amministratore di rilievo di un’infrastruttura critica nazionale (si parla dell’Enav), contenente il malware EYEPYRAMID. Un malware già noto dal 2008, ma ancora efficace grazie a una serie di aggiornamenti non noti. Che si è diffuso più o meno come fanno tutti i malware, ossia attraverso lo scaricamento di un allegato (forse un pdf) contenuto in una mail di un mittente credibile. Grazie a questo troyan i due fratelli sarebbero riusciti ad accedere da remoto ai Pc delle vittime, intercettando mail e persino conversazioni via chat.

Un lavoro non certo limitato, tanto che la polizia ha trovato un elenco di 18.327 username (di cui 1.793 corredate da password e catalogate in 122 categorie’ che indicano la tipologia di target (politica, affari, etc…), per complessivi 87GB di dati sottratti, secondo una stima del vendor di sicurezza Trend Micro. I dati sensibili sottratti, sarebbero poi stati custoditi su impianti informatici statunitensi, già sequestrati dagli operatori della Polizia Postale, grazie all’ausilio dell’F.B.I. statunitense e persino criptati. Insomma un vero e proprio attacco informatico del tipo APT (Advanced Persistent Threat), ingegnerizzato ad hoc sfruttando un malware capace di far acquisire da remoto il controllo del sistema informatico bersaglio, e consentire la sottrazione dei contenuti dei pc colpiti.

Un attacco che però, a prima vista, non appare particolarmente elaborato o sofisticato, ma che eppure si è dimostrato capace di bucare le protezioni di difesa dei massimi vertici politici ed economici italiani. Quello che appare poco chiaro è che, a quanto pare, l’indagine andava avanti da marzo, ma soltanto adesso si è arrivati ai provvedimenti di custodia cautelare e dunque allo stop delle presunte attività illecite della coppia di fratelli. Forse una sottovalutazione della portata dell’inchiesta, tanto che – a poche ore dall’esplosione del caso – il Capo della polizia, Franco Gabrielli, ha disposto la rimozione del responsabile della polizia postale, Franco Di Legami. Un’altra domanda – per ora insoluta – a cui dovranno rispondere gli inquirenti è, naturalmente, chi sono gli acquirenti di questi dati sottratti. Quel che è certo è che l’indagine dimostra, qualora ci fossero ancora dubbi quanto sia importante difendersi dalle minacce del cybercrime.

Fonte: Digital4

Come installare una nuova libreria Arduino

Installare una nuova libreria Arduino è molto semplice, seguite i seguenti passi:

  1. Localizzate la directory in cui si trova l’eseguibile Arduino (APPDIR)
  2. Copiate la nuova libreria all’interno di APPDIR/libraries
  3. Riavviate l’IDE Arduino

Il primo punto dipende dal tipo di sistema operativo che state usando:
In Linux/MacOS, se non conoscete l’APPDIR, usate il comando seguente:

$ which arduino

Questo vi aiuterà a sapere dove si trova lo script principale che fa partire l’IDE di Arduino. Supponiamo il comando vi ritorni “/usr/bin/arduino”.
Eseguite ora il comando:

$ cat /usr/bin/arduino | grep APPDIR

il quale vi restituirà l’APPDIR desiderata.

Nota:
Prima di copiare la libreria (per esempio con il comando sudo cp in Linux), cercate di familiarizzare con la struttura delle directory all’interno della cartella “libraries”. Da notare che ogni libreria deve essere memorizzata in cartelle differenti e che i file sorgenti (.cpp e .h) devono avere lo stesso nome della cartella.

Ssh e autenticazione tramite chiavi

Fonte: http://guide.debianizzati.org/index.php/Ssh_e_autenticazione_tramite_chiavi

== Introduzione ==
Quando ci si deve connettere molto spesso ad un server (o a molti server) tramite ”'[[SSH]]”’, può essere tedioso dover inserire ogni volta la password.

Un modo sicuro per ”aggirare” questo problema è basato sull’autenticazione tramite una coppia di chiavi (privata e pubblica).

Il concetto alla base di questo sistema di autenticazione è semplice: si demanda il compito di verificare i dati di autenticazione direttamente alle chiavi ssh, rimuovendo la richiesta della password (meno volte viene digitata, più è difficile che qualche utente male intenzionato la riesca a capire) che viene, eventualmente, sostituita dalla richiesta di una passphrase di sblocco della chiave.

== Configurazione ==
=== Generazione delle chiavi ===
Per poter gestire questo processo di autenticazione è necessario generare una coppia di chiavi (pubblica e privata). Il comando è semplice:

$ ssh-keygen 

Si può voler scegliere una lunghezza maggiore (default 2048) con

$ ssh-keygen -b 4096

L’uso dell’opzione '''-t''' per indicare il tipo di chiave è [[OpenSSH#Configurazione_Client|fortemente sconsigliato]].

Durante la generazione delle chiavi ci viene chiesto dove salvarle (normalmente è ~/.ssh/id_rsa): il valore di default va bene.

Per quanto riguarda la passphrase richiesta, sempre durante la generazione delle chiavi, ci sono due opzioni, entrambe con pregi e difetti:
* inserire una passphrase: dal punto di vista della sicurezza, è ottimo; dal punto di vista pratico, però, si è di fronte al problema che è necessario inserirla ad ogni connessione (nel caso di più host, comunque, rappresenterebbe un sistema molto comodo di accesso tramite la stessa ”passphrase”, invece di una password diversa per ogni host)
* inserire una passphrase vuota: dal punto di vista della sicurezza lascia un po’ a desiderare, in quanto il furto della chiave permetterebbe l’accesso incondizionato agli host; dal punto di vista pratico, invece, è comodissimo, in quanto slega l’accesso alla macchina remota dalla richiesta di password.

In realtà questo discorso può valere in caso di utilizzo non interattivo come ad esempio in uno script, negli altri casi si può ricorrere a ssh-agent per mantenere in cache la passphrase per la sessione corrente:

$ ssh-add ~/.ssh/id_rsa

=== Copia manuale della chiave pubblica ===
La chiave privata, come illustrato nel funzionamento, viene utilizzato dal computer che richiede la connessione (client), mentre quella pubblica deve essere salvata sul computer al quale connettersi (server).

Prendiamo, ad esempio, la seguente chiave pubblica (contenuta nel file ~/.ssh/id_rsa.pub presente sul client):

ssh-rsa AAAAB3NzaC1kc3MAAACBAPe/PbwWkXR7qI8hcbxLRUS0/fIul0eUiSvu/hnXZXZDIZjVi1VlIbipff6n7Z6vF0hJRg6l
[cut]
gjLLTka0/QF8SP4JYFKs0Iasdju6y1slmx9IdzQt+hvMqF2+PPchCWcyBP3S5Zje4T6Az1MgrvuwCXIW6oUZXCA== user@host

Copiamo il contenuto nel file ~/.ssh/authorized_keys presente sul server, nella home relativa all’utente usato su quella macchina e salviamo il file.

=== Copia automatica della chiave pubblica ===
Alternativamente, è possibile usare lo script ”ssh-copy-id” in questo modo dal client:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub utente@server

oppure ancora utilizzando scp:

$ scp -P  ~/.ssh/id_rsa.pub @:~/.ssh/authorized_keys

I permessi sulla directory remota ~/.ssh devono essere settati a:

drwxr-xr-x 2 utente utente  4096 30 dic 00:31 .ssh

mentre sul file ~/.ssh/authorized_keys:

-rw-r--r-- 1 utente utente  610 30 dic 00:17 authorized_keys

== Configurazione del server ==
Sul server, in cui deve essere già presente un’installazione di base funzionante di SSH, aggiornate il file /etc/ssh/sshd_config e settate i campi:

HostbasedAuthentication yes
RSAAuthentication yes
PubkeyAuthentication yes

Riavviate il servizio:

# /etc/init.d/ssh restart

e verificate di essere in grado di autenticarvi tramite chiave:

$ ssh utente@server

{{Box|Consiglio:|se ”’non”’ volete permettere il login tramite password, ma solo attraverso public key, settate anche le opzioni:

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

Da non usare se avete utilizzato una passphrase nella generazione della chiave.}}

”’Attenzione”’: in caso di autenticazione tramite chiavi, nel file di configurazione del server non va utilizzata la direttiva AllowUsers.

Per un’installazione di base di SSH si veda ad esempio la guida [[OpenSSH: file di configurazione]].

== Test di funzionamento ==
Se tutto è stato eseguito correttamente, sarà possibile connettersi al server tramite un semplice:

$ ssh utente@server

Se è stata inserita, durante la generazione delle chiavi, una passphrase, sarà necessario usarla per completare il processo di autenticazione, altrimenti apparirà direttamente il prompt della macchina remota.

== Approfondimenti ==
* [http://www.debian.org/doc/manuals/reference/ch06.it.html#_the_remote_access_server_and_utility_ssh La guida Debian: SSH]

[[Categoria:SSH server e amministrazione remota]]

write a shell script

To successfully write a shell script, you have to do three things:

  1. Write a script
  2. Give the shell permission to execute it
  3. Put it somewhere the shell can find it

Now, fire up your text editor and type in your first script as follows:

#!/bin/bash
...the script

And after saving you must make it executeable.

sudo chmod +x <path>
sudo chmod 755 <filename>

Note that it is a good idea to put your scripts in one place, so you can run them without requiring a path. If you create a bin directory in your home ( mkdir ~/bin ) the next time you login, that will automatically be included in your PATH.

mkdir ~/bin
chmod 755 ~/bin

Edit : If you want the script to be available to all users, place it in /usr/local/bin and have it owned by root with rx access by others sudo chown root:root /usr/local/bin/your_script ; sudo chmod 655 /usr/local/bin/your_script

gksudo gedit ~/.bashrc

Add the following to the end of .bashrc and save:

if [ -d $HOME/bin ]; then
PATH=$PATH:$HOME/bin
fi

 

Bloccare l’accesso di un programma alla rete

Su Windows esiste la possibilità di bloccare l’accesso di un programma alla rete. Questa cosa può sfuggire perchè è quasi nascosta, infatti nella schermata principale del firewall ci viene proposto solo di sbloccare i programmi per essere accessibili dalla rete. Vediamo specificatamente come bloccare una connessione in uscita di un programma, che come esempio è Firefox.

  1. Clicchiamo su Start
  2. digitiamo nella casella di ricerca “firewall”
  3. selezioniamo Windows Firewall
  4. nel menu a sinistra clicchiamo sulla voce “Impostazioni Avanzate”
  5. Nella nuova finestra spostarsi alle “Regole connessioni in uscita”
  6. Creare una nuova regola
  7. Lasciare il check su Programma e avanti
  8. Selezionare firefox.exe da c:\program files(x86)\Mozilla Firefox e sempre avanti fino a definire il nome della regola che sarà a piacere in genere si mette il nome del programma
  9. fine

La regola è stata creata e il programma non può accedere alla rete.

Creating a bootable USB drive from an ISO image

Using isohybrid + dd

The isohybrid tool in the syslinux package will convert ISO images into a USB flash drive compatible format:

# apt-get install syslinux
# isohybrid path/to/image.iso

Use lsblk to identify the device path (e.g., /dev/sdX) of your USB drive:

# lsblk
sde                                     8:64   1   7.4G  0 disk  
└─sde1                                  8:65   1   7.4G  0 part  /media/usbdrive

Use too:

# fdisk-l

If it’s been automounted, as is the case above, unmount it first:

# umount /media/usbdrive

Use dd to write the ISO image to the disk path. That’s /dev/sde NOT /dev/sde1:

dd if=path/to/image.iso of=/dev/sde status=progress bs=4M
Things to keep in mind:
  • bs=dimensioni(bytes)
    Legge e scrive dati in blocchi delle dimensioni specificate
  • Root access is required: You will need to perform the above commands as root. On Ubuntu prepend the commands with sudo (e.g., sudo apt-get install syslinux)
  • dd will completely overwrite your USB drive: Any data on it will be lost so if you use this method you’ll want to use it with a dedicated USB device.
  • dd needs to write to the disk path, not the partition path: in the above example /dev/sde is the disk path device, /dev/sde1 is the partition path (e.g., sde1 is the first partition on sde). You need to write to the disk path because isohybrid prepends a partition structure to the ISO.
  • status=progress (like the sentence itself say) show the progress of copy

How isohybrid works

Starting in version 3.72, ISOLINUX supports a “hybrid mode” which can be booted from either CD-ROM or from a device which BIOS considers a hard disk or ZIP disk, e.g. a USB key or similar.  These isohybrid images contain in addition to the normal CD-based ISO9660 filesystem, a valid-looking DOS-style partition table. So if you simply “raw” copy an isohybrid processed image to a USB flash drive, the BIOS will boot the image directly.

iso2usb.py helper script

The ‘dd’ command has always scared me. One wrong keystroke and you can overwrite the wrong hard disk. To make things a little less scary and safer, I wrote iso2usb:
Syntax: iso2usb.py iso_path usb_device
iso2usb: Create a bootable USB flash drive containing ISO image

Arguments:
    iso_path        Path to ISO (e.g., product.iso)
    usb_device      USB device path (e.g., /dev/sdc)

Options:
    --force         Not implemented, interactive confirmation required
iso2usb will do its best to verify that the usb_device is actually a USB device, and prompt for confirmation with device information before doing anything dangerous:
# iso2usb.py turnkey-core-13.0-wheezy-amd64.iso /dev/sdc
****************************************************************************
iso: turnkey-core-13.0-wheezy-amd64.iso (hybrid: False)
usb: disk/by-id/usb-SanDisk_Cruzer_Blade_200601650311ADD19323-0:0 (/dev/sdc)
****************************************************************************
Is the above correct? (y/N):

Additionally, iso2usb will check whether the ISO image has been pre-processed with isohybrid, and if not it will process the image before writing it.

Once completed, the USB flash drive should now boot directly, showing exactly the same bootup screen as if you’d written the image directly to a CD.

The old pre-isohybrid version of iso2usb

If for some reason your ISO isn’t using ISOLINUX as the bootloader you might want to try the old pre-isohybrid version of the iso2usb.py script which I wrote a few years ago. It extracts the ISO to the USB drive together and then installs syslinux. Recently I tried using it but hit issues related to changes in isolinux, which has since introduced the new isohybrid method.

The future

All future TurnKey ISO’s will be pre-processed with isohybrid, making it that little bit more TurnKey for installing ISO’s to USB flash disks.

Django e Python – risorse rapide

Cosa succede quando qualcuno richiede un sito Web dal tuo server?

Quando una richiesta arriva al web server, viene passata a Django che prova a capire che cosa é stato veramente richiesto. Django prende l’indirizzo della pagina web e cerca di capire cosa deve fare. Questa parte viene svolta da Django urlresolver (nota che l’indirizzo di una pagina web si chiama URL – Uniform Resource Locator -per cui il nome urlresolver acquista significato). Non é molto intelligente -ha bisogno di una serie di schemi e in seguito prova a far corrispondere l’URL. Django controlla questi modelli o schemi da cima a fondo e se qualcosa corrisponde a quel punto Django passa la richiesta alla funzione associata (che si chiama view).

Immagina un postino con una lettera. Sta camminando per la strada e controlla ogni numero civico mettendolo a confronto con quello sulla lettera. Se corrisponde, mette lì la lettera. Questo è il modo in cui l’urlresolver funziona! Continue reading

Open Migration

openmigration
Open Migration è un progetto ma è anche un percorso nonché un obiettivo. È un progetto di informazione aperto, orizzontale sul tema delle migrazioni. Non è informazione per soli specialisti. Non vuole essere informazione di tipo retorico. Non deve essere informazione fondata su pregiudizi o stereotipi altrimenti non avrebbe la forza per scardinare i pregiudizi e gli stereotipi prevalenti e pericolosi che sono usati dai media e da talune forze politiche quando viene affrontato il tema dell’immigrazione. Open Migration è dunque un progetto che usando competenze, dati, conoscenze vuole contribuire a formare le opinioni e le coscienze sulle migrazioni. Continue reading

il Colosseo non basta più, ci vuole il digitale

colosseoAsami ha 25 anni e vive a Tokyo. Appassionata di arte e di viaggi, ha da sempre un sogno nel cassetto: visitare l’Italia. La cultura e la storia italiana sono le sue fonti di ispirazione. Da quando era piccola vorrebbe venire in Italia per poterne ammirare i monumenti, perdersi tra le strade di Trastevere, degustare un bicchiere di vino in Toscana, visitare piazza San Marco a Venezia e fare shopping a via Monte Napoleone a Milano. Come tutte le ragazze della sua età, Asami utilizza internet ogni volta che cerca informazioni e ovviamente anche per organizzare le vacanze. È una tipica turista 2.0: assidua frequentatrice del web, spesso incollata al suo smartphone, quando vuole viaggiare non si affida alle agenzie ma confronta le offerte, chiede consigli online agli amici e condivide le proprie esperienze sui social network.

Continue reading

BASH Frequently Asked Questions

Here Bash Faq & Bash Guide

These are answers to frequently asked questions on channel #bash on the freenode IRC network. These answers are contributed by the regular members of the channel (originally heiner, and then others including greycat and r00t), and by users like you. If you find something inaccurate or simply misspelled, please feel free to correct it!

All the information here is presented without any warranty or guarantee of accuracy. Use it at your own risk. When in doubt, please consult the man pages or the GNU info pages as the authoritative references.

BASH is a BourneShell compatible shell, which adds many new features to its ancestor. Most of them are available in the KornShell, too. The answers given in this FAQ may be slanted toward Bash, or they may be slanted toward the lowest common denominator Bourne shell, depending on who wrote the answer. In most cases, an effort is made to provide both a portable (Bourne) and an efficient (Bash, where appropriate) answer. If a question is not strictly shell specific, but rather related to Unix, it may be in the UnixFaq.

This FAQ assumes a certain level of familiarity with basic shell script syntax. If you’re completely new to Bash or to the Bourne family of shells, you may wish to start with the (incomplete) BashGuide.

If you can’t find the answer you’re looking for here, try BashPitfalls. If you want to help, you can add new questions with answers here, or try to answer one of the BashOpenQuestions.

Chet Ramey’s official Bash FAQ contains many technical questions not covered here.

Adwcleaner – Rimuovere programmi indesiderati e toolbar inutili

Una volta rimossi i programmi indesiderati con Malwarebytes, suggeriamo di scaricare ad avviare Adwcleaner. Il software, una volta effettuata la scansione, si fa carico di eliminare tutte le barre degli strumenti sospette o conosciute come pericolose dal sistema Windows in uso.
Sarà così possibile rimuovere elementi residui rimasti sul sistema dopo l’analisi di Malwarebytes ed eliminare quei programmi ancora sconosciuti agli autori del noto antimalware. Continue reading