mercoledì 29 febbraio 2012

Arduino framework opensource made in Italy per l'apprendimento veloce dei principi fondamentali dell'elettronica.

Arduino è un framework opensource che permette la prototipazione rapida e l'apprendimento veloce dei principi fondamentali dell'elettronica e della programmazione.

È composto da una piattaforma hardware per il physical computing sviluppata presso l'Interaction Design Institute, un istituto con sede ad Ivrea, fondato da Olivetti e Telecom Italia. Il nome della scheda deriva da quello di un bar di Ivrea frequentato da alcuni dei fondatori del progetto.

Questa si basa su un circuito stampato che integra un microcontrollore con PIN connessi alle porte I/O, un regolatore di tensione e quando necessario un'interfaccia usb che permette la comunicazione con il computer.

A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (Linux, Apple Macintosh e Windows). Questo software permette anche ai novizi di scrivere programmi con un linguaggio semplice e intuitivo derivato da C e C++ chiamato Wiring, liberamente scaricabile e modificabile.

Arduino può essere utilizzato per lo sviluppo di oggetti interattivi stand-alone ma può anche interagire, tramite collegamento, con software residenti su computer, come Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider, Vvvv.

La piattaforma hardware Arduino è spesso distribuita agli hobbisti in versione pre-assemblata, acquistabile in internet o in negozi specializzati. La particolarità del progetto è che le informazioni sull'hardware e soprattutto i progetti sono disponibili per chiunque: si tratta quindi di un hardware open source, distribuito nei termini della licenza Creative Commons Attribution-ShareAlike 2.5.

In questo modo, chi lo desideri può legalmente auto-costruirsi un clone di Arduino o derivarne una versione modificata, scaricando gratuitamente lo schema elettrico e l'elenco dei componenti elettronici necessari. Questa possibilità ha consentito lo sviluppo di prodotti Arduino compatibili da parte di piccole e medie aziende in tutto il mondo, e infatti oggi è possibile scegliere tra un'enorme quantità di schede Arduino compatibili. Ciò che accomuna questi prodotti inerenti elettronica sperimentale e sviluppo è il codice sorgente per l'Ambiente di sviluppo integrato e la libreria residente che sono resi disponibili, e concessi in uso, secondo i termini legali di una licenza libera, GPLv2.

Grazie alla base software comune, ideata dai creatori del progetto, per la comunità Arduino è stato possibile sviluppare programmi per connettere a questo hardware più o meno qualsiasi oggetto elettronico, computer, sensore, display o attuatore. Dopo anni di sperimentazione è oggi possibile fruire di un database di informazioni vastissimo.

Il team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis. Il progetto prese avvio in Italia a Ivrea nel 2005, con lo scopo di rendere disponibile, a progetti di Interaction design realizzati da studenti, un dispositivo per il controllo che fosse più economico rispetto ai sistemi di prototipazione allora disponibili. I progettisti riuscirono a creare una piattaforma di semplice utilizzo ma che, al tempo stesso, permetteva una significativa riduzione dei costi rispetto ad altri prodotti disponibili sul mercato. A ottobre 2008 in tutto il mondo erano già stati venduti più di 50.000 esemplari di Arduino.

L'hardware originale Arduino è realizzato dalla italiana Smart Projects. Alcune schede Arduino sono state progettate dalla statunitense SparkFun Electronics.

Una scheda Arduino tipica consiste in un microcontroller a 8-bit AVR prodotto dalla Atmel, con l'aggiunta di componenti complementari per facilitarne l'incorporazione in altri circuiti. In queste schede sono usati chip della serie megaAVR - nello specifico i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560.

Molte schede includono un regolatore lineare di tensione a 5-volt e un oscillatore a cristallo a 16 MHz, sebbene alcune implementazioni, come ad esempio la piccola LilyPad, abbiano un clock di 8 MHz e facciano a meno dello stabilizzatore di tensione.

Fino a oggi sono state commercializzate dodici versioni dell'hardware Arduino.
    Serial Arduino, programmata con una porta seriale DB9. Fa uso del microcontroller ATmega8
    Arduino Extreme, con interfaccia di programmazione USB, facente uso del chip ATmega8
    Arduino Mini, una versione in miniatura facente uso di un ATmega168 a montaggio superficiale
    Arduino Nano, una versione ancora più piccola della Mini, utilizzante lo stesso controller ATmega168 SMD e alimentata tramite USB
    LilyPad Arduino, un progetto minimalista (scheda circolare dal diametro di 50mm, per circa 8mm di spessore), per applicazione su indumenti, con lo stesso ATmega168 in versione SMD[5]
    Arduino NG, con un'interfaccia USB per programmare e usare un ATmega8
    Arduino NG plus, con interfaccia di programmazione USB, con un ATmega168
    Arduino BT, con interfaccia di programmazione Bluetooth e con un ATmega168
    Arduino Diecimila, con interfaccia di programmazione USB e con un ATmega168 in un package DIL28
    Arduino Duemilanove, facente uso del chip Atmega168 (o Atmega328 nelle versioni più recenti) e alimentata in corrente continua tramite USB, con commutazione automatica tra le sorgenti di alimentazione
    Arduino Mega, che fa uso di un ATmega1280 a montaggio superficiale per I/O e memoria addizionale.
    Arduino Uno, evoluzione della Duemilanove, con un differente chip, programmabile e più economico, dedicato alla conversione USB-seriale.
    Arduino Mega2560, che fa uso di un ATmega2560 ed è un'evoluzione dell'Arduino Mega.

Inoltre, il microcontroller della scheda in alcuni case è pre-programmato con un bootloader che semplifica il caricamento dei programmi sulla memoria flash incorporata nel chip.

A livello concettuale, tutte le schede sono programmate attraverso un porta seriale RS-232, ma il modo in cui questa funzionalità è implementata nell'hardware varia da versione a versione. Le schede seriali Arduino contengono un semplice circuito inverter che permette la conversione tra il livello della RS-232 e il livello dei segnali TTL.

Le versioni attuali di Arduino sono gestite via USB: l'ultima versione, la Uno, utilizza un microcontrollore Atmega8U2 programmato come convertitore USB-seriale mentre le precedenti versioni Diecimila e Duemilanove usavano chip adattatori USB-seriale, come gli FT232 di FTDI. Alcune varianti, come la Arduino Mini e la versione non ufficiale Boarduino, usano una scheda o un cavo adattatore USB-seriale staccabile.


Funzionalità di Input/Output.

Per implementare il comportamento interattivo, Arduino è fornita di funzionalità di Input/Output, grazie alle quali essa riceve i segnali raccolti da sensori esterni. In base a tali valori, il comportamento della scheda è gestito dal microcontroller, in base alle decisioni determinate dal particolare programma in esecuzione in quel momento sulla scheda. L'interazione con l'esterno avviene attraverso attuatori pilotati dal programma attraverso i canali di output in dotazione.

Connettori I/O.

A tale scopo, Arduino è dotata di molti dei connettori di Input/Output per microcontroller in uso su altri circuiti. Tutti i pin di I/O sono collocati sulla parte superiore della scheda, mediante connettori femmina da 0,1". Inoltre, sono disponibili commercialmente molte schede applicative plug-in, note come "shields".

Le schede Barebones e Boarduino, due cloni compatibili con la Arduino, sono dotate di connettori maschio sul lato inferiore del circuito in modo da poter essere connesse a una breadboard senza necessità di effettuare saldature.

I/O digitale.

La Arduino Uno, ad esempio, che ha soppiantato la Duemilanove, offre 14 connettori per l'I/O digitale (numerati da 0 a 13). La direzione di funzionamento, input o output, è decisa dallo sketch programmato sull'IDE.

Sei dei canali I/O possono produrre segnali Pulse-width modulation (PWM). Attraverso i segnali PWM è possibile, ad esempio, regolare l'intensità di luminosità di un LED o la velocità di rotazione di un motorino elettrico[6]. L'hardware di tre dei pin di I/O (9, 10 e 11) implementa la possibilità di gestirli direttamente attraverso la funzione analogWrite(), che permette di controllare la PWM del segnale in uscita in maniera efficiente, senza dover eseguire linee di codice appositamente predisposte. La funzione accetta due parametri, il primo dei quali è il pin pilotato mentre il secondo rappresenta l'intensità della modulazione (espressa su una scala da 0 a 255): così, ad esempio, analogWrite(9, 128) attiverà un led collegato al pin 9 al 50% della sua luminosità.

I/O analogico.

Sempre sulla Uno, sono presenti altri 6 connettori specificamente dedicati a ingressi di segnali analogici, cioè valori di tensione letti da sensori esterni i cui valori, fino a un massimo di 5 Volt, sono convertiti in 1024 livelli discreti (da 0 a 1023). Questi 6 connettori possono essere riprogrammati (sempre dal codice dello sketch sull'IDE) per funzionare come normali entrate/uscite digitali.
fonte: Wikipedia




Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
 

Gwenview visualizzatore di immagini predefinito dell'ambiente desktop KDE.

Gwenview è il visualizzatore di immagini predefinito dell'ambiente desktop KDE. La parola "Gwen" nella lingua bretone significa "bianco", ed è comunemente usata come nome.

Già presente in KDE 3 come applicazione extragear, nel passaggio a KDE 4 è entrato a far parte del modulo kdegraphics.

Nella versione per KDE 4 si presenta con un'interfaccia semplificata e migliorata che rende più agevole e rapida l'esplorazione delle immagini e la loro visualizzazione, possibile anche in modalità slideshow a tutto schermo.

Il suo sviluppo è attualmente curato da Aurélien Gâteau.

Funzioni e caratteristiche:

  • Barra degli indirizzi cliccabile: come in Dolphin, il file manager di KDE 4, è possibile accedere direttamente ad ogni cartella che compone l'indirizzo di quella correntemente visualizzata.
  • Pagina iniziale, è suddivisa in 2 riquadri, il principale, a sinistra, presenta 2 schede:
  • "Cartelle recenti" che elenca le ultime cartelle aperte visualizzandole in una vista ad icona arricchita dalle anteprime delle immagini in esse contenute;
  • "URL recenti" che raccoglie gli URL visualizzati più recentemente.
A destra, invece, il riquadro presente fornisce altre 2 schede:
  • "Risorse" che elenca le cartelle principali, definibili dall'utente, per una veloce navigazione tra le cartelle;
  • "Etichette" che mostra l'elenco delle etichette disponibili, un clic su una di esse permette di visualizzare tutte le immagini associate a quella etichetta, questa possibilità è resa disponibile quando NEPOMUK è attivato.
Vista cartella: selezionata la cartella che si desidera visualizzare, il contenuto viene mostrato con ampie anteprime di dimensioni regolabili a piacere, al passaggio del mouse ogni elemento mostra 4 pulsanti per
  •     selezionare o deselezionare l'elemento, come avviene in Dolphin;
  •     visualizzare a tutto schermo l'elemento se questo è un'immagine;
  •     ruotare a sinistra l'elemento se questo è un'immagine;
  •     ruotare a destra l'elemento se questo è un'immagine.

L'operazione di rotazione dell'immagine è subito applicata all'anteprima, una barra superiore non intrusiva consente poi di rendere effettiva la modifica dell'immagine. È possibile inoltre ruotare più immagini per poi confermare tutte le modifiche con un solo click.

Visualizzazione immagine: facendo click su un'immagine questa viene naturalmente aperta singolarmente. È possibile visualizzarla a piena grandezza, adattata alla finestra o ad un ingrandimento personalizzabile liberamente. In questa modalità inoltre è possibile visualizzare la Barra delle miniature, un pannello sul lato inferiore o destro dello schermo contenente le anteprime delle immagini presenti nella medesima cartella, consentendo così una rapida selezione di un'altra immagine.

Gwenview in modalità a tutto schermo

Barra laterale: è disponibile una barra opzionale sul lato sinistro che consente di accedere alle più comuni operazioni suddivise in 3 schede:

    Cartelle: visualizza l'albero delle cartelle.



    Informazioni:

  •     la sezione Informazioni aggiuntive, dal contenuto configurabile, mostra i dati generali del file (nome, dimensione, data e ora, risoluzione), ma anche dati Exif e IPTC qualora presenti;
  •     la sezione Informazioni semantiche consente di assegnare un voto, una descrizione e delle etichette all'immagine se NEPOMUK è abilitato.


    Operazioni:
  • La sezione Operazioni sulle immagini offre strumenti per ruotare, rispecchiare, ribaltare e ridimensionare l'immagine;
  • La sezione Operazioni sui file permette di creare una nuova cartella, copiare o spostare o creare un collegamento all'immagine in un'altra cartella, inviare l'immagine al cestino o eliminarla direttamente. Inoltre è possibile aprirla con un'altra applicazione selezionabile con un menu a tendina ed aprire la finestra delle proprietà del file (comune a Dolphin).
  • Modalità a tutto schermo: l'immagine viene mostrata su sfondo nero con un pannello a scomparsa superiore che consente di uscire da questa modalità, iniziare la presentazione delle immagini o slideshow, navigare manualmente da un'immagine alla successiva o alla precedente, ruotarla, configurare la modalità a tutto schermo e visualizzare anteprime selezionabili delle altre immagini. La velocità della presentazione è regolabile così come l'altezza del pannello a scomparsa ed alcune altre ulteriori opzioni.
Formati file supportati: 

Oltre ai più comuni formati file per immagini è in grado di visualizzare anche i video grazie a Phonon, l'infrastruttura multimediale di KDE 4. Inoltre supporta anche il formato vettoriale SVG.

Plugin:

Le sue funzionalità sono estendibili grazie al supporto ai plugin KIPI.

Download.

Installazione.

Per installarlo in ubuntu aprite il terminale da

applicazioni-accessori-terminale

e digitate
sudo apt-get install Gwenview

oppure con Ubuntu Software Center (da Ubuntu Karmic Koala in poi) basta cercare la parola Gwenview e cliccarci sopra.



Screenshots.


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
 

Guida a Vi editor di testo per la shell di Linux per eccellenza.

Il programma vi ( Visual Editor ) è stato originariamente scritto da Bill Joy, in pratica è un’interfaccia visuale per la shell di Linux con capacità di editing di testo.

Gli utilizzatori di Linux più incalliti lo conoscono bene, perché con questo editor di testo si fanno molteplici operazioni, ma è complicato tanto quanto potente.


Vi è un editor modale, questo significa che quando si è in modo “comandi” i tasti eseguono operazioni sul buffer e quindi salvataggi, aperture e tante altre cose, mentre quando è in modalità “inserimento” consente di inserire e modificare il testo.


Quando il programma viene avviato è in modalità comandi, ci sono molti comandi per entrare in modalità inserimento, tra questi “i” è il più elementare, per ritornare in modalità comandi basta fare Esc. In modalità inserimento premere “x” per cancellare il carattere sul cursore e spostare il resto della riga a sinistra, “dd” per cancellare l’intera riga sul cursore.


Per sostituire un carattere non è necessario cancellare il carattere e riscriverlo, ma posizionarsi con il cursore sul carattere da modificare e poi premere “r” ed inserire il nuovo carattere.


Per uscire da vi salvando le modifiche nel file basta entrare in modo comandi e premere “ZZ“. Se in modalità comandi inseriamo i due punti ( : ) è possibile dare altri comandi come w ( write ), q ( quit ) ed il punto esclamativo per uscire senza salvare il buffer anche se è stato modificato.


  Lo screen editor "vi" viene lanciato con il seguente comando:

     vi [-r] [+comando] [file1 [file2 ... filen]]  
  dove:

     -r         opzione da utilizzare dopo un crash del sistema 
  (per recuperare le modifiche non memorizzate 
  relative al file);
     +comando apre la sessione dell'editor eseguendo il "comando" 
  (sono significativi solamente i comandi di editor di 
  linea).

  Nel caso in cui si specifichino più nomi di file da editare, 'vi' 
  entra in editing sul primo file indicato, e su richiesta (comando 
  ':n') passerà in ordine ai successivi. 

  Questo editor visualizza una schermata di file alla volta, 
  permettendo di indirizzare il cursore con appositi comandi al 
  punto (carattere, parola, frase, paragrafo, riga, ...) dove si 
  vuole inserire o aggiornare il testo.

  Per un corretto funzionamento è indispensabile conoscere l'esatto 
  tipo del terminale su cui si sta lavorando. Verrà quindi settata 
  la variabile TERM con la sintassi propria del sistema su cui si 
  lavora; per default, la sintassi standard è:

      TERM=type ; export TERM 

  dove "type" corrisponde ad un nome di terminale (con tutte le 
  funzionalità ad esso legate) descritto nella libreria "terminfo".

  In fase di entrata in "vi", compariranno sullo schermo le prime 24 
  righe del file richiamato (con "~" come primo carattere sulle righe 
  vuote), e ci si troverà in COMMAND MODE.

  Quest'ultimo è uno dei tre possibili stati dell'editor "vi".

  COMMAND MODE      Il cursore è posizionato sul testo, la tastiera 
      è utilizzabile solo per richiedere l'esecuzione 
                    di comandi, e non per introdurre testo. 
      I caratteri digitati non vengono visualizzati.

  INPUT MODE        Tutti i caratteri digitati vengono visualizzati 
      ed inseriti nel testo. Si passa in input mode ad 
      ogni richiesta di inserimento di testo.

  DIRECTIVE MODE    Ci si trova (tramite ":") posizionati con il 
      cursore nella linea direttive (l'ultima linea del 
      video) e si possono richiedere a "vi" tutti i 
      comandi per il controllo del file.

  I passaggi di stato avvengono con i seguenti caratteri:

  DIRECTIVE MODE -----> COMMAND MODE         <RET>
  COMMAND MODE   -----> INPUT MODE           oORia
  INPUT MODE     -----> COMMAND MODE         <ESC>
  COMMAND MODE   -----> DIRECTIVE MODE       :/?

  All'interno del "vi" si è in grado di lanciare comandi appartenenti 
  alla shell da cui è stato richiamato il "vi" stesso, tramite 
  l'apposito escape alla shell (questo comando verrà trattato meglio 
  più avanti):

      :!comando

  Per quanto riguarda le cancellazioni, 'vi' ha un singolo buffer 
  senza nome, nel quale viene salvata l'ultima porzione di testo 
  cancellata, nove buffer numerati (1 2 ... 9) ed un insieme di 
  buffer individuati dalle lettere dell'alfabeto (a b ... z) a 
  disposizione dell'utente. I buffer, in caso di editing di più 
  file in successione, non vengono cancellati nel passare da un file 
  all'altro, permettendo così spostamenti di parte di testo tra 
  file diversi. Naturalmente possono anche essere utilizzati per 
  cancellazioni e ripristini o per spostamenti di parti di testo
  all'interno di uno stesso file.

  È importante ricordare che per 'vi':
  • una parola è una qualsiasi sequenza di caratteri chiusa da uno spazio;
  • una frase di testo è una qualsiasi sequenza di caratteri chiusa da '.', '!' oppure '?' seguiti da newline o da due spazi;
  • un paragrafo è invece delimitato da una linea vuota.





COMANDI OPERATIVI





  Tutti i comandi di spostamento si richiedono da COMMAND MODE.

 
  SPOSTAMENTI DI BASE

    h 1 spazio a sinistra (come backspace) l 1 spazio a destra (come space) k 1 linea sopra (stessa colonna) j 1 linea sotto (stessa colonna) (in sostituzione di questi quattro caratteri, si possono anche utilizzare le frecce per spostarsi nelle diverse direzioni) G posizionamento sull'ultima linea del testo #G
OPERAZIONI SUL VIDEO
    ^G mostra lo stato del file corrente (informazioni varie) := mostra il numero di linee del file :.= mostra il numero della linea corrente ^L refresh del video ^D si posiziona mezza pagina avanti (in INSERT MODE shifta indietro di un TAB) ^U si posiziona mezza pagina indietro ^F si posiziona sulla pagina successiva ^B
{ sposta il cursore all'inizio del paragrafo
    $ si posiziona alla fine della linea ^
ESC ESCAPE: fa uscire dall'INPUT MODE, per terminare
    ZZ aggiorna sempre il file ed esce (da COMMAND MODE) :[#,#]w[!] [filename] WRITE: scrive senza uscire (nel file "filename", se viene specificato, altrimenti nel file corrente); vengono utilizzati "#,#" per specificare gli indirizzi 'from' e 'to' (da/a), e "!" (bang) per forzare la scrittura (cioè per riscrivere) Esempi: :1,5 w abcd scrive le linee da 1 a 5 nel file abcd :/from/,/to/ w efg scrive da 'from' a 'to' nel file efg :/from/,+5 w hij scrive da 'from' a 5 linee dopo nel file hij :x WRITE and QUIT: aggiorna, se necessario, ed esce :wq WRITE and QUIT: aggiorna ed esce :w !UNIX-CMD WRITE: scrive l'output e lo passa attraverso una pipe ad un comando UNIX Esempio: :1,10 w !lpr manda le prime 10 linee alla stampante :q[!] QUIT: esce senza salvare le modifiche (! 'bang' forza l'uscita)
UNDO
    u UNDO: annulla l'ultima modifica U UNDO: annulla tutte le modifiche fatte alla linea corrente fino a quando il cursore non è stato spostato dalla linea "[1-9]PASTE utilizza un comando PASTE per incollare uno dei buffer numerati; i buffer numerati immagazzinano le ultime 9 cancellazioni effettuate, con il metodo "first in last out". Solitamente si utilizzano per riportare sul file porzioni testo precedentemente cancellate Esempi: "1P "2p
CUT
    #dd DELETE: cancella "#" linee, di default una linea (quella corrente) d<movesrch> DELETE: cancella fino a dove viene specificato da "move" o "search" Esempi: dfe cancella fino a quando trova 'e' dta cancella fino a quando trova 'a' d20| cancella fino alla 20esima colonna d#move DELETE: cancella fino a dove viene specificato da "#move" Esempio: d3k cancella 3 linee al di sopra della linea corrente e questa inclusa dw cancella la parola corrente rispetto alla posizione del cursore d/<pattrn> DELETE: cancella fino a quando viene trovato "pattern" (in avanti) d?<pattrn> DELETE: cancella fino a quando viene trovato "pattern" (in dietro) d'<chr> DELETE: cancella fino al mark 'chr' (vedere la miscellanea per imparare come creare dei mark) D DELETE: cancella dalla posizione corrente fino alla fine della riga #x X-OUT: cancella un carattere sotto al cursore (oppure "#" caratteri) #X X-OUT: cancella un carattere prima del cursore (oppure "#" caratteri)
YANK
    y<movesrch> esegue uno YANK fino a dove specificato da "move" o "search" Esempi: yw yank di una parola yfg yank fino a quando trova 'g' y#move esegue uno YANK fino a dove specificato da "#move" Esempio: y3j esegue lo yank di 3 linee verso il basso oltre alla linea corrente di partenza y/pattern/ esegue uno YANK fino a trovare 'pattern' (in avanti) y?pattern? esegue uno YANK fino a trovare 'pattern' (in dietro) y'<chr> esegue uno YANK fino al mark 'chr' (vedere la miscellanea per imparare come creare dei mark) Y, yy esegue uno YANK di una linea (quella corrente) #Y, #yy esegue uno YANK di "#" linee sottostanti "[char]YANK copia lo YANK in 'char'
PASTE
    P PASTE: incolla il contenuto del buffer prima del
    f char FIND: cerca la successiva occorrenza di 'char'








COMANDI PER IL CONTROLLO DEI FILE





  Si tratta di un approfondimento dei comandi dati da DIRECTIVE MODE 
  (":").

  Nota: se in fondo al video compare un prompt ":" e non si riesce a
        lavorare con vi, può significare che si è entrati 
 nell'editor di linea "ed". Digitare 'vi' al prompt per 
 rientrare in editor "vi" (è possibile invece confermare 
 l'entrata in "ed" digitando ^$).
  
  :#,#<command>[!][filenm]   formato generale; gli '#' 
      rappresentano comandi di movimento, 
      oppure numeri di linea per 
      indicare le posizioni da/a.
      Uno dei '#' può essere:
      +# #sotto          -# #sopra
      .  linea corrente  $  ultima linea 
  
  :s/<search>/<replace>/[#gc]     SUBSTITUTE: sostituisce <search> 
      con <replace> una volta in una 
      linea, se è specificato 'g'
      allora sostituisce tutto 
      all'interno della linea. 
      'c' serve per la conferma, '#' 
      serve per sostituire in "#" linee. 
      Vedere <SEARCH> e <REPLACE> per 
      maggiori informazioni su 
      questi comandi
  
  <SEARCH>     <SEARCH> può avere sub-espressioni, 
  \(exp1\)[junk]\(exp2\)   definite con una coppia di "\(" e 
      "\(" (fino a 9 espressioni)
  
  <REPLACE>     <REPLACE> può avere descrittori 
  \# junk \# \# junk    delle espressioni, definite da un 
      "\#", dove '#' è un numero 1 - 9
      Esempio:
         s/\(.*\)=\(.*\)/\2 = \1/
            scambia LHS con RHS di un 
     segno 'uguale a'
            in una linea con il formato:
            [something] = [something]
  
  :#1,#2g/<search>/<ex command>   questo comando cercherà ogni 
      occorrenza di <search> compresa 
      tra le linee #1 e #2 ed eseguirà 
      il comando <ex command>. 
      L' "ex command":
         s//<replace>/[gc]
      cercherà <search> (// significa 
      l'ultima ricerca) e lo sostituirà con 
      <replace>.
      Utilizzare altri comandi come 
      elencato sotto, quali "p" o "d".
  
  #1,#2 c <text><.>    CHANGE: cambia le linee da #1 a #2 
      con <text>; per uscire da questa 
      modalità, digitare un '.' (period) 
      da solo all'inizio di una linea.
  
  :#1,#2 co #3     COPY: copia linee nello stesso 
      modo descritto sopra
  :#1,#2 t #3     comando corrispondente a 'co'
  
  :#1,#2 d     DELETE: cancella le linee da 
      #1 a #2
      Esempio:
         :'a,'bd
            cancella le linee dal mark 
     'a' fino a 'b'
  
  :#1,#2 y "<alpha>    esegue lo YANK di linee nel buffer 
      con nome <alpha>; se viene utilizzato 
      l'alfabeto maiuscolo, allora yank 
      aggiungerà al buffer
  
  :e[!] [filename]    esegue l'EDIT del file corrente("!" 
      indica una forzatura, per editare 
      'filename' se viene specificato); 
      nel caso in cui non sia presente la 
      forzatura, se si vuole editare un
      nuovo file e quello corrente non è 
      stato salvato, viene rilasciato un 
      avvertimento ed il nuovo edit non 
      viene eseguito (sarà quindi 
      necessario salvare, oppure editare 
      con la forzatura; in quest'ultimo 
      caso vengono persi i cambiamenti 
      fatti nel file corrente)
  
  :e#      esegue l'EDIT alternativamente di 
      due file (è necessario editare un 
      altro file, e poi usare l'"e#" per 
      editare nuovamente il primo file)
  
  :e #       esegue l'EDIT del file alternato e 
      riprende all'ultima posizione del 
      cursore
  
  :#1,#2 m #3     MOVE: sposta le linee tra #1 e #2 
      e le posiziona a #3
      Esempi:

         :10,15m25    sposta 5 linee 
        (comprese tra
        la 10 e la 15) 
        alla linea 25
  
            :1,.m $   sposta alla fine 
        del file le 
         linee comprese tra 
        la linea 1 
        e quella corrente 
  
  :#1,#2 p     PRINT: stampa le linee indicate 
      (senza fare alcun cambiamento al 
      file)
  
  :#1r[!] [filename]    READ: legge il file corrente 
      (applicando le opzioni sopra 
      descritte); se sono specificati
      il "filename" e "#1", allora 
      inserisce il file alla posizione 
      "#1" (l'inizio del file è la
      linea 0, e la fine è $)
      Esempio:
         :r pippo
     carica il file 'pippo' nella 
     posizione in cui si trova 
     attualmente il cursore
  
  :r !UNIX-CMD     READ: legge l'output del comando 
      UNIX 'UNIX-CMD' come input al file,
      caricandolo nel buffer
  
  :n[filenames][!]    NEXT: edita il file successivo 
      nella lista degli argomenti; se 
      viene messa la forzatura '!',
      non aggiorna il file corrente. 
      Nel caso in cui sia stato 
      specificato un elenco di file da
      editare, vi edita i file uno alla 
      volta
      Esempio:
         :n a.c b.c c.c d.c
            edita 4 file, cominciando 
     con a.c
         e successivamente:
         :n e.c f.c
     aggiunge i file e.c ed f.c 
     alla lista, andando in 
     editing di e.c
      Nota: con vi è possibile editare 
     molteplici file già con il 
     comando di lancio dell'editor 
            Esempio:
        vi *.c
     
  :args      mostra i file che 'vi' stà 
      attualmente editando; dopo il 
      comando ":n" sopra riportato 
      nell'esempio, digitando ":args" 
      comparirà
         [a.c] b.c c.c d.c
      dove le parentesi [] includono il 
      file corrente
  
  :rew [!]     REWIND: ricomincia ad editare i 
      file a partire dal primo file 
      della lista; vedere il comando ":n"
  
  :st[op]     STOP: blocca il 'vi' ed esce alla 
      shell; per rientrare in 'vi', 
      digitare "fg" al prompt di UNIX
  
  :sh      lancia una shell (solitamente una 
      bourne shell); si ritorna 
      nell'editor con ^d 
  
  :!<command>     esegue un comando UNIX, indicato 
      con 'command', all'esterno del 'vi'
      Esempio:
         :1,10 w !lpr
            invia le prime 10 linee alla 
     stampante senza che sia 
     necessario creare un altro
            file (cioè utilizza il file
     senza causarne variazioni)

  :!!      ripete l'ultimo comando 
      ':!<command>'

  #!!<command>       esegue il comando shell indicato 
      con 'command' e sostituisce il
      numero di linee specificato
      con '#' con l'output del comando;
      se non viene specificato '#', il 
      default e' 1. Se il comando UNIX 
      si aspetta uno standard input,
      allora le linee specificate 
      verranno usate come input
      Esempio:
         10!!sort
            sorta le 10 linee successive 

  !$lt;lines><command>    funziona come il precedente
      comando '#!!<command>', tranne che
      per il fatto che 'lines' è un 
      indirizzo di linea, o delimitatore, 
      necessario per poter eseguire
      il comando.
      Esempio:
         !Gsort
     sorta le rimanenti linee 
     del file
      Il testo compreso tra la posizione
      corrente del cursore ed il 
      delimitatore 'lines' è dato
      in input a 'command' (ad esempio,
      sort) e viene poi sostituito con
      l'output del processo 'command' 
      lanciato. Delimitatori validi 
      possono essere, ad esempio, ')' 
      o '}' per dare in input a 
      'command' una frase o un 
      paragrafo. 
      Si noti che solo quando viene 
      digitato il delimitatore (che 
      può essere anche un
      secondo punto esclamativo) 
      il cursore si posiziona sulla 
      linea delle direttive,
      visualizzando '!'

  &      esegue solamente l'ultima ricerca-
      sostituzione

  %      corrisponde a "1,$", cioè:
         :%s/a/b/
      sostituirà la prima occorrenza di 
      'a' con 'b' attraverso tutto il file

  Alcuni simboli speciali includono:

  &      propriamente, la parola chiave 
      ricercata
      Esempio:
         :s/tr/&ace
            sostituisce 'tr' con 'trace'

  \U      trasforma in lettere maiuscole ciò
      che lo segue
      Esempio:
         :s/case/\U&/
            cambia 'case' in 'CASE'

  \u      trasforma in maiuscolo solamente 
      il primo carattere
 
  \L      converte in lettere minuscole

  \l      converte in minuscolo solamente 
      il primo carattere
 
 
  ESEMPI DI RICERCHE GLOBALI

  Con i comandi EX abbiamo già visto come sia possibile effettuare 
  delle ricerche globali, che agiscono sull'intero file editato.

  :g/bad/d     cancella tutte le linee che 
      contengono la stringa 'bad'

  :g/bad/p     stampa tutte le linee che 
      contengono la stringa 'bad'

  :g/bad/co $     copia tutte le linee che 
      contengono la stringa 'bad' 
       alla fine del file (per 
      invertire il comando, e 
      quindi aggiungerle all'inizio 
      del file, lanciare il comando 
      con '1' invece di '$')

  :g/hello/ y"A     esegue uno YANK di tutte le 
      occorrenze di 'hello' nel 
      buffer con nome 'a'. 
      È importante notare 
      la lettera maiuscola nel 
      nome del buffer; se viene 
      utilizzata la lettera 
      minuscola, dopo aver 
      eseguito il comando nel 
      buffer esisterà 
      solamente l'ultima 
      occorrenza della parola


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
 

gPodder è un'applicazione pensata per cercare, aggiungere e gestire qualsiasi tipo di podcast.

gPodder è uno strumento per ricevere/prendere podcast. Ci si può iscrivere a feed ("podcast") e scaricare automaticamente nuovi contenuti audio o video.

Questi ultimi possono essere riprodotti sul computer o sincronizzati su iPod, lettori basati su MTP, lettori MP3 basati su file system e telefoni cellulari Bluetooth. Sono gestiti anche feed per video di YouTube.

gPodder è un programma di scaricamento gratuito, di rapida installazione e semplice utilizzazione. In realtà, non richiede d’installazione tradizionale ma scarichi l'archivio compresso in formato zip, l'estrai ed esegui il programma dall'applicazione.

Aprendosi l'interfaccia del programma appaiono due opzioni per elencare il tuo podcasts: scegliere di una lista di esempi o scarica direttamente le tue firme dal sito di gPodder.

Benché l'applicazione acceda di forma rapida ad una selezione dei podcasts popolari, tu stesso puoi scegliere quelli che desideri aggiungere manualmente.

Con gPodder potrai sottoscriverti a determinati canali audio e video e stare al tanto degli aggiornamenti. Potrai anche sincronizzare questi aggiornamenti con altri dispositivi come riproduttori MP3, iPods e telefoni mobili intelligenti.

gPodder non è solo un programma che si incarica di rivedere i podcasts al quale ti sia abbonato, ma lo aggiorna anche, scaricando i capitoli più nuovi.

Con questo programma potrai anche aggiungere e portare sul tuo podcasts mediante RSS od OPML, cercarli in YouTube e nella lista di gPodder. Puoi configurare il programma per limitare il numero di scaricamenti simultanei come definire il tempo che il podcast deve rimanere conservato nel tuo computer.

Installazione:

Basta andare in Ubuntu Software Center e l'installazione è molto semplice (per tutte le versioni di Ubuntu posteriori a Ubuntu 9.10 Karmic Koala).

Se invece siete degli "ubuntiani classici" (leggere vi piaceusare il terminal):

sudo apt-get install gpodder

Ecco le novità della nuova versione stabile rilasciata 3.0  "397/D" tratte dal sito del produttore:

This is the release you have been waiting for for nearly a year - gPodder 3.0.0, the first release of the "tres" branch is out and ready for you to give it a test drive. There are too many changes to list them one by one, so I'll just give you a high-level overview of what's in for you:
  • Device synchronization removed: We have removed the ability to sync to iPod, MTP and filesystem-based MP3 players. You can store your gPodder data on your mobile device directly for now (using $GPODDER_HOME) or wait for someone to implement a syncing plugin.
  • New on-disk structure: Instead of having "gpodder-downloads" in your home folder, and the database and settings hidden away in another folder, all gPodder data is now stored in "gPodder" in your home directory (on Linux) or in "gPodder" in you "My Documents" folder (on Windows) or on the mass storage (MyDocs partition) on the N900 and N9. The database format has also been overhauled, you can use the "gpodder-migrate2tres" script to convert your gPodder 2 data to gPodder 3. Because all data is now stored in one folder, you can now use the Desktop version of gPodder to work on e.g. the gPodder downloaded data on your mobile device by pointing the $GPODDER_HOME environment variable to the storage device.
  • EQL: The so-called "Episode Query Language" allows you to write queries against your podcasts. For example, you can use "(audio and downloaded and minutes < 10)" to show all downloaded audio files that are shorter than 10 minutes to listen to. This is very powerful, and can currently be used in the episode list of the GTK UI using "search-as-you-type".
  • Improvements to the GTK UI, including support for showing the duration in the episode list, and hiding of columns in the episode list.
  • New QML-based touch UI: In addition to the GTK UI and the command-line interface, gPodder 3 contains a QML UI for use with PySide. This UI can be used on touch-enabled netbooks/laptops and on mobile devices. The QML UI is the only mobile UI supported in 3.0.0 (replacing the Hildon UI in previous releases).
  • Web UI: While this is still in its early stages, there is a small Web UI included that (when complete) will make it possible to manage gPodder via a web browser (with the help of a local, embedded web server).
  • Refined backend / data model: The codebase has been cleaned up and restructured, so it should be easier to maintain and add to in the future.
  • Support for Woodchuck: Neal Walfield has contributed a plugin for his Woodchuck framework. With Woodchuck installed, your device can detect which podcasts you like and automatically download the right episodes.
  • Better support for Windows: The Windows launcher has been refined, and Windows users can now also use the CLI in addition to the GTK GUI. The new version will also use a system-wide installation of Python 2.7 and PyGTK, and auto-download the installers for these dependencies if they are not found. This means smaller package sizes and better disk usage.
  • Dropped support for Maemo 4 (N800, N810) and Maemo 5 Hildon (N900)
  • Added support for Maemo 5 QML (N900) and MeeGo 1.2 Harmattan (N9)

Per altri versioni:

Ubuntu 9.04 Jaunty Jackalope:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com --recv-key 0xc18dc20e89617f48 && sudo echo "deb http://ppa.launchpad.net/thp/gpodder/ubuntu jaunty main" | sudo tee -a /etc/apt/sources.list && sudo apt-get update

Ubuntu 8.10 Intrepid Ibex:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com --recv-key 0xc18dc20e89617f48 && sudo echo "deb http://ppa.launchpad.net/thp/gpodder/ubuntu intrepid main" | sudo tee -a /etc/apt/sources.list && sudo apt-get update




Screenshots.


Ricerca personalizzata





Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
 

Nginx web server leggero ad alte prestazioni rilasciato sotto licenza BSD-like.

Nginx è un web server / proxy inverso leggero ad alte prestazioni, è anche un server  di posta elettronica (IMAP / POP3) proxy, rilasciato sotto licenza BSD-like. Funziona su Unix, Linux, varianti di BSD, Mac OS X, Solaris.

Nginx fornisce rapidamente i contenuti statici con un utilizzo efficiente delle risorse di sistema. È possibile distribuire contenuti dinamici HTTP su una rete che utilizza i gestori FastCGI per gli script, e può servire come un bilanciatore di carico software molto capace.

Nginx utilizza un approccio asincrono basato su eventi nella gestione delle richieste in modo da ottenere prestazioni più prevedibili sotto stress, in contrasto con il modello del server HTTP Apache che usa un approccio orientato ai thread o ai processi nella gestione delle richieste.

In origine, nginx è stato sviluppato per soddisfare le esigenze di vari siti gestiti da Rambler (un portale russo), per il quale ngnix serviva 500 milioni di richieste al giorno a partire da settembre 2008.
Secondo il Web Server Survey Netcraft di maggio 2011, nginx è risultato essere il terzo server web più utilizzato in tutti i domini (7,50% dei siti esaminati) e il quarto server web più utilizzato per tutti i siti "attivi" (8,23% dei siti esaminati). Secondo BuiltWith, è utilizzato dal 9,92% del primo milione di siti web e la sua crescita all'interno dei primi diecimile, centomila ed un milione è in aumento.


Caratteristiche HTTP di base:

    Gestione dei file statici, file di indice, e auto-indicizzazione
    Reverse proxy con caching
    Bilanciamento del carico
    Tolleranza agli errori
    Supporto SSL
    Supporto FastCGI con il caching
    Server virtuali basati su nome ed IP
    Streaming FLV
    Streaming MP4, utilizzando il modulo streaming MP4
    Autenticazione di accesso nelle pagine web
    Compressione gzip
    Capacità di gestire più di 10000 connessioni simultanee
    Riscrittura degli URL
    Log personalizzato
    include server-side
    WebDAV



Caratteristiche come mail proxy:

    Proxy SMTP, POP3 e IMAP
    Supporto per STARTTLS
    Supporto SSL



Screenshots. (installazione)


Aggiornamenti:

Ultime versioni pubblicate:

2011-11-01nginx-1.0.9 stable version has been released.
2011-10-31nginx-1.1.7 development version has been released.
2011-10-17nginx-1.1.6 development version has been released.
2011-10-12NGINX, Inc. has announced its Series A funding.
2011-10-05nginx-1.1.5 development version has been released.
2011-10-01nginx-1.0.8 stable version has been released.
2011-09-30nginx-1.0.7 stable version has been released.
New HTTP MP4 module included.
2011-09-23nginx was imported to OpenBSD src tree.
2011-09-20nginx-1.1.4 development version has been released.
Support of persistent connections with upstream servers.
2011-09-14nginx-1.1.3 development version has been released.
New HTTP MP4 module.
2011-09-05nginx-1.1.2 development version has been released.
2011-08-29nginx-1.0.6 stable version has been released.
2011-08-22nginx-1.1.1 development version has been released.
2011-08-03We are happy to announce trac.nginx.org.

Ricerca personalizzata



Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
 

venerdì 10 febbraio 2012

Tre diverse soluzioni per ripristinare il Grub.

Questa guida contiene tre diverse soluzioni per ripristinare GRUB a causa di:
  • Sistemi in dual-boot in cui Windows è stato installato dopo Ubuntu.
  • Problemi di Windows che hanno obbligato a una sua reinstallazione.
  • Tecniche di recupero di Windows che comportino il "ripristino" del MBR.
  • Errori nell'installazione di GRUB.
Tutti e tre i metodi qui descritti richiedono l'utilizzo del CD Live.

Primo metodo

Il primo metodo è una procedura molto semplice e prevede l'utilizzo del terminale. Questa procedura dovrebbe funzionare a patto che la struttura delle partizioni del disco contenente GRUB non sia stata modificata tramite programmi come gparted, Norton Partition Magic: in tal caso è necessario controllare il file /etc/fstab.
  1. Avviare il CD Live
    Per sistemi installati su file system ext4 è necessario avviare un Live Cd di Ubuntu 9.04 o superiore.
  2. Digitare il seguente comando in una finestra di terminale:
    sudo grub

  3. Determinare la partizione di boot in cui è stato installato Ubuntu digitando:

    find /boot/grub/stage1
     
  4. Verrà data una risposta del tipo hdX o (hdX,Y), dove X e Y indicano rispettivamente il disco e la partizione su cui è installato GRUB. Per esempio, se GRUB è installato nella partizione /dev/sda3, il comando precedente darà come risposta (hd0,2). Nei seguenti comandi verrà usato come esempio (hd0,2): adattare quindi i comandi alla risposta ricevuta dal comando precedente.

  5. Digitare:
    root (hd0,2)

    per indicare a GRUB la partizione da cui leggere il file menu.lst.

  6. Questo è il passaggio chiave. Digitare:
    setup (hd0)

    per installare GRUB nel MBR del primo disco fisso (di solito il disco che parte al boot).

  7. Infine digitare:

    quit

  8. Riavviare il sistema e rimuovere il CD Live.

Secondo metodo

Questo metodo viene eseguito direttamente dal sistema operativo lanciato, per esempio, con il CD Live di Supergrub o con un altro strumento.
  1. In un terminale digitare:

    sudo fdisk -l 

    per scoprire il disco su cui è installato GRUB. Un esempio di output potrebbe essere il seguente:

    Dispositivo Boot      Start         End      Blocks   Id  System
    /dev/sda1   *          63   153597464    76798701    7  HPFS/NTFS
    /dev/sda2       153597465   419842709   133122622+   7  HPFS/NTFS
    /dev/sda3       419842710   487219319    33688305   83  Linux
    /dev/sda4       487219320   488392064      586372+   5  Esteso
    /dev/sda5       487219383   488392064      586341   82  Linux swap / Solaris

  2. Per installare GRUB digitare:

    sudo grub-install /dev/sda 

  3. Se il comando precedente non dovesse andare a buon fine, digitare:

    sudo grub-install (hd0)

  4. Infine, per aggiornare il menù di GRUB, digitare:

    sudo update-grub
In questo modo viene installato GRUB sul disco posto sul canale primario master.

Se la procedura appena utilizzata non dovesse funzionare, seguire il primo metodo.

Terzo metodo

È il metodo più laborioso, ma nel caso il pacchetto GRUB non sia installato o sia necessario reinstallarlo a causa di qualche file danneggiato, se eseguito correttamente, dà la certezza di successo. Procedere come segue:
  1. Inserire il CD Live nel lettore CD, riavviare il computer e attendere il caricamento del sistema operativo dal CD.
  2. Una volta avviato il sistema, aprire un terminale.
  3. È ora necessario diventare l'utente root. Dal terminale digitare:

    sudo -s

  4. Individuare la partizione in cui è installato Ubuntu con uno dei seguenti comandi, come descritti nei metodi precedenti:

    find /boot/grub/stage1

    oppure

    sudo fdisk -l 
  5. Creare i punti di mount necessari:

    mkdir /mnt/work


  6. Eseguire i seguenti comandi per caricare il file system e alcune informazioni che possono servire a GRUB. In questo esempio viene usato sda4:

    mount /dev/sda4 /mnt/work
    mount -o bind /dev /mnt/work/dev
    mount -o bind /proc /mnt/work/proc
    cp /proc/mounts /mnt/work/etc/mtab

  7. Digitare quindi:

    chroot /mnt/work/ /bin/bash
    grep -v rootfs /proc/mounts > /etc/mtab

  8. Da questo punto in poi si sta lavorando direttamente sulla versione installata di Ubuntu, muoversi con cautela. Seguire quindi una delle due strade indicate di seguito: il ripristino automatico o il ripristino manuale.
All'interno dell'ambiente chroot è inoltre possibile effettuare qualsiasi operazione da riga di comando come: aggiornare il sistema o installare/rimuovere applicazioni e kernel con gli strumenti come apt, dpkg, ecc...

Ripristinare GRUB automaticamente

Se si ha una partizione /boot separata, è possibile visualizzare quale sia il device con punto di mount /boot.
  1. Dal terminare digitare:

    cat /etc/fstab

    per vedere il device che viene montato come /boot.

  2. Ipotizzando che il device sia /dev/sda3, digitare il seguente comando:

    mount /dev/sda3 

  3. A questo punto, installare, reinstallare o ripristinare GRUB è facile. È comunque consigliato reinstallare GRUB. Dal terminale, digitare:

    sudo apt-get install --reinstall grub

  4. Per completare l'installazione sul MBR, digitare:

    grub-install /dev/sda oppure
    grub-install (hd0)
    update-grub
Se la procedura appena utilizzata non dovesse funzionare, è necessario ripristinare GRUB manualmente.

Ripristinare GRUB manualmente

  1. Eseguire i passi del primo metodo all'interno dell'ambiente chroot.

  2. Al termine, digitare:

    exit

    per uscire dall'ambiente chroot e riavviare il computer.

Alternativa

È disponibile un CD Live in grado di riparare automaticamente GRUB dopo l'installazione di Windows, ed è molto facile da utilizzare. Per scaricare il CD di «Super Grub Disk», consultare: 


Una volta scaricato e masterizzato il CD, avviare il computer con il CD inserito e scegliere: Italian -> Linux -> Fix Linux Boot (GRUB). Al termine dell'operazione si riceverà il messaggio: SGD has done it!!!. In questo modo GRUB verrà ripristinato e sarà di nuovo possibile avviare sia Linux che Windows. 

Ricerca personalizzata



Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog: