Category Archives: Linux

Argomenti riguardanti linux in generale

[Tips and tricks] Chage, manipolare le date delle informazioni utente

In questo breve articolo Tips&Tricks, vi spiego alcuni comandi utili per manipolare le date (scadenza, ultima modifica, etc.) relative alla password del vostro utente linux, mediante il comando chage

Tale comando serve specificatamente per manipolare le informazioni sulle date relative a una password.

Ecco alcune cose che possiamo fare con chage

Continue reading [Tips and tricks] Chage, manipolare le date delle informazioni utente

Introduzione a tmux – Lezione 1

Iniziamo un altra serie di articoli a puntate dedicandoci ad un programma molto utile per chi fa amministrazione di sistema, si tratta di “tmux”. In questo articoli e nei seguenti cercherò di spiegarvi come utilizzare questo strumento.

Tmux è un “Terminal multiplexer”, che permette di dividere lo schermo in tante finestre contenenti contenenti sessioni di terminali separate, ridimensionarle, creare differenti finestre, sessioni, etc.

In questa prima lezione partiremo dai comandi base. Da notare che tmux potrebbe non essere installato di default sulla vostra distribuzione, e quindi assicuratevi prima che sia installato.

Ovviamente occorre come prima cosa lanciare tmux, con l’omonimo comando:

tmux

Una volta lanciato, comparirá in basso a sinistra una sorta di barra di stato:

Screenshot from 2016-04-04 11:33:09

Continue reading Introduzione a tmux – Lezione 1

Creare un video 3d side-by-side con ffmpeg

In questi ultimi tempi, si stanno diffondendo dei nuovi “dispositivi” che permettono di avere un esperienza 3d, molto economici chiamati “VR CardBoard” (il più economico che ho trovato su amazon costa 9.99 euro http://goo.gl/EPBZ9x).

Se non vi è ancora capitato, potete vedere il progetto di google chiamato Google CardBoard (https://goo.gl/PV10cP) dove ci sono le istruzioni per costruirlo.

Questo dispositvo sfrutta una tecnica per il 3d chiamata side-by-side, che in pratica consiste dividere lo schermo in due parti uguali, e in ogni parte riprodurre lo stesso video (questo comando si può usare anche con due video separati).

one-cardboard

Continue reading Creare un video 3d side-by-side con ffmpeg

Android Lezione 18 – Ricevere le coordinate GPS

Dopo aver visto come mostrare una mappa android, ora il prossimo passo è posizionarci con la mappa sulle coordinate gps ricevute dall’app.

In questa lezione vedremo come rilevare la posizione geografica del telefonino, sfruttando il sensore gps. Per fare ciò occorrerá:

  • Aggiornare il file manifest con i permessi per acceere ai sensori di posizione
  • Abilitare e gestire l’evento di ricezione delle coordinate gps.

Inoltre vedremo come inviare coordinate gps all’emultore, per simulane un cambiamento di posizione.

Le classi necessarie per l’utilizzo degli strumenti GPS sono principalmente due:

  • LocationManager
  • LocationProvider

Come per tutti i sensori e altri servizi di android, per accedere al sensore gps, dobbiamo dichiarare una serie di permessi nel manifest:

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Continue reading Android Lezione 18 – Ricevere le coordinate GPS

Mastering vim: pathogen e NerdTree

Vim è uno strumento per molti ostico, ma alcune volte molto comodo da usare.

E che è ricco di plugins (possiamo renderlo un ide con tanto di auto-completion). Oggi vedremo un altro plugin per utilizzare al meglio questo strumento per navigare fra diversi file (e gestire i plugin).

In questo articolo installeremo pathogen, una piccola utility che serve per rendere super semplice l’installazione di plugin per vim ed eseguirli a runtime.

Dopo di che lo utilizzeremo per installare NerdTree un piccolo plugin che invece permette di avere un fileTree nel nostro editor per navigare velocemente fra i files.

Nerdtree in action

Continue reading Mastering vim: pathogen e NerdTree

Android Lezione 14 – I fragment

In questa lezione vedremo una delle feature introdotte con le versioni più recenti di android, per essere precisi con la versione 3. Si tratta dei Fragment, un altro modo per gestire la parte grafica della nostra applicazione, utile sopratutto se abbiamo layout specifici per tablet (ma non solo come vedremo).

Si tratta in pratica (secondo la definizione ufficiale) di una porzione dell’interfaccia grafica di un activity. Possiamo combinare più Fragment all’interno della stessa activity se vogliamo, come possiamo riusare lo stesso fragment all’interno di diverse Activity. In pratica si tratta di un “modulo” dell’activity, di una sotto sezione.

Questa caratteristica lo rende appuntio molto utile per gestire diversi tipi di schermi, rendendo l’interfaccia grafica della nostra applicazione più modulare.

É importante notare, che anche se è stata introdotta a partire dalla versione te, le caratteristiche dei fragment sono sfruttabili anche in versioni precedenti di android, utilizzando le support-library, che sono dei pacchetti jar, che contengono alcune features delle nuove versioni di android, utilizzabili su dispositivi meno recenti (da android 1.6 in su, prossimamente farò una lezione su come includere le support library nel vostro progetto).

In questo capitolo vedremo come sviluppare una applicazione con due layout distinti, uno specifico per smartphone, e uno specifico per tablet. I due layout saranno strutturati nella seguente maniera:

  • La versione smartphone avrà una prima schermata di menù, e poi in base alla selezione dell’utente si apriranno schermate distinte
  • La versione tablet avrá un menù sulla sinistra fisso con tre elementi, e nella parte destra verranno caricate le varie schermate in base alla selezione dell’utente (che avranno al loro interno delle semplici textView).

Quello che avremo sará che il layout per smartphone avrà i due fragment in due schermate distinte, mentre la seconda li conterrá entrambi all’interno della stessa chermata. Graficamente:

Fig 1. Fragments

Continue reading Android Lezione 14 – I fragment

Bloccare le richieste proxy verso apache (provenienti da botnet)

Questo articolo nasce da un esperienza personale, che ha causato diversi problemi al server su cui ospito i miei siti (e anche di altre persone). 

Quindi partiamo dall’inizio, e veniamo alle origini del problema, tutto nasce da una svista, nell’abilitare il mod_ajp sul server apache, abilitiamo per errore il parametro:

ProxyRequest On
DDOS

Continue reading Bloccare le richieste proxy verso apache (provenienti da botnet)

La macchina manocomandata

Approfittando delle feste natalize e un pò di relax,

un piccolo progetto che avevo in mente dai tempi del mouseglove ha preso vita! Ovvero la macchinina manocomandata.

Si tratta di un semplice prototipo basato su arduino e su un accelerometro, che si interfaccia con il telecomando della macchina radiocomandata, e permette di controllarne i movimenti invece che con i classici pulsanti, direttamente con il movimento della mano.

Aggiungendo un nuovo livello di interazione e divertimento 🙂

In questo video vedete in assoluto la prima prova di controllo della macchina con il “ManoComando”.

Pure-ftpd: Gestione utenti con mysql su debian

In questo tutorial vediamo come installare e configurare pure-ftp su una macchina debian e fargli gestire gli utenti mediante un database mysql.

Partiamo dal vedere gli strumenti necessari (abbastanza ovvi):

  • Installazione di mysql server
  • Installazione di pureftpd
  • Installazione di un client mysql (va bene anche phpmyadmin, se non volete usare la linea di comando).

Prima di tutto quindi vediamo di installare i pacchetti necessari (ovviamente dovete essere loggati come utente root):

apt-get install mysql-server mysql-client pure-ftpd-mysql

In questo caso utilizzeremo il client da linea comando di mysql per tutte le operazioni riguardanti il database. In fase di installazione mysql vi chiederá di settare una password per l’utente root del database (N.B: si tratta di un utente diverso dall’utente root della macchina!! Questo serve solo per l’amministrazione del database)

Pureftpd logo

Continue reading Pure-ftpd: Gestione utenti con mysql su debian

Android lezione 13 – A fondo nel manifest

Dopo qualche mese di silenzio, riprendiamo finalmente le lezioni android di italialinux. Questa volta non andremo a  vedere altro codice, ma ci concentremo sul file di Manifest, cercando di spiegare  come comprendere e modificarlo a nostro piacimento. Il file AndroidManifest.xml in realtá è una specie di biglietto da visita dell’applicazione (o forse sarebbe meglio da dire il curriculum 🙂 ), dove specifichiamo tutte le informazioni riguardanti la nostra applicazione, quali:

  • Informazioni di presentazione (quali nome package, versione, numero revisione, etc)
  • Requisiti de sistema android  dell’app
  • Informaizoni grafiche: layout, icona.
  • Informazioni permessi, ovvero a quali servizi la nostra applicazione accede
  • Informazioni riguardanti la struttura delle activity e le azioni alle quali devono rispondere.

Android logo

 

Continue reading Android lezione 13 – A fondo nel manifest