Ultimi 100
Java - Leggere file temporanei in Java
Leggere file temporanei in Java

Leggere file temporanei in Java

Continuiamo il nostro mini tutorial sulla manipolazione dei file temporantei in Java. Oggi vediamo come leggere il file, dopo averlo creato e riempito. Aneh in questo caso, useremo oggetti standard: BufferedReader FileReader

Linux - Attivare il TRIM su Archlinux
Attivare il TRIM su Archlinux

Attivare il TRIM su Archlinux

Da Wikipedia: Il comando TRIM permette a un sistema operativo di indicare i blocchi che non sono più in uso in un'unità a stato solido (o "SSD"), come per esempio i blocchi liberati dopo l'eliminazione di uno o più file. Generalmente nell'operazione di cancellazione eseguita da un Sistema Operativo (OS) i blocchi data vengono contrassegnati come non in uso. Il TRIM permette all'OS di passare questa informazione al controller dell'SSD, che altrimenti non sarebbe in grado di sapere quali blocchi eliminare. Diciamo che quindi TRIM andrebbe attivato, ma sempre con cautela.

Java - Scrivere dentro file temporanei in Java
Scrivere dentro file temporanei in Java

Scrivere dentro file temporanei in Java

In questo articolo abbiamo visto come creare un file temporaneo in Java. Oggi vediamo come scriverci dentro. In realtà per la scrittura (ed anche per la lettura) usiamo gli oggetti standard: BufferedWriter FileWriter

Linux - Modificare i metadata dei PDF con Linux e PDFtk
Modificare i metadata dei PDF con Linux e PDFtk

Modificare i metadata dei PDF con Linux e PDFtk

Abbiamo già parlato di PDFtk, tool molto potente e versatile per Linux per manipolare i file PDF. Oggi vediamo come usarlo per cambiare i metadata. Prima di tutto accertiamoci di averlo installato: # aptitude install pdftk

Java - Creare file temporanei in Java
Creare file temporanei in Java

Creare file temporanei in Java

I file temporanei sono molto utilizzati nei sistemi operativi. Soprattutto in ambito Linux (che tra l'altro ha una directory apposita). Java può facilmente manipolare i file temp, in quanto possiede dei metodi della classe File appositi.

News - Nuovo strumento Country code
Nuovo strumento Country code

Nuovo strumento Country code

Aggiunto un nuovo strumento nei Toolset: Country code!

Database & Server - Come installare Cassandra in Debian
Come installare Cassandra in Debian

Come installare Cassandra in Debian

Apache Cassandra è uno dei databse NoSQL più utilizzati. Le motivazioni sono tante, e quindi ho deciso di testarlo sulla mio server di test con Debian (8). Vediamo i passaggi per installarlo.

C - C++ - Come ottenere le dimensioni del monitor in Qt
Come ottenere le dimensioni del monitor in Qt

Come ottenere le dimensioni del monitor in Qt

Dovendo posizionare un widget Qt a seconda della dimensione del monitor, avevo necessità di identificarla in fase di esecuzione del programma. In verità la cosa è stata abbastanza semplice, e senza includere librerie di nessun tipo.

Apple - Cambiare la directory di salvataggio degli screenshots in macOS
Cambiare la directory di salvataggio degli screenshots in macOS

Cambiare la directory di salvataggio degli screenshots in macOS

Quando facciamo uno screenshot su macOS, l'immagine viene salvata automaticamente in una directory senza chiedere quale preferiamo. Se non ci piace la directory di default, ne possiamo impostare un'altra directory seguendo questi step. Aprite il terminale (Terminal.app dentro Applicazioni).

Linux - Copiare un file in più directories contemporaneamente con Linux
Copiare un file in più directories contemporaneamente con Linux

Copiare un file in più directories contemporaneamente con Linux

L'altro giorno dovevo copiare un file in diverse directories contemporaneamente sulla mia distro Linux. Le directories erano anche parecchie, e non avevo voglia di farlo a mano. Girovagando, ho capito che è possibile farlo usando il terminale.

Linux - Come trovare da quanto tempo è accesso il pc in Linux
Come trovare da quanto tempo è accesso il pc in Linux

Come trovare da quanto tempo è accesso il pc in Linux

Capita di lasciare il pc acceso per parecchio tempo, soprattutto quando si scaricano parecchie cose in contemporanea. E questo vale ancora di più per un server (perchè io spero che i server li facciate su Linux!). Controllare questa cosa in Linux è veramente semplice: ci basta usare il comando uptime!

Javascript - AJAX - Integrare Framework7 e Google Charts
Integrare Framework7 e Google Charts

Integrare Framework7 e Google Charts

Da un pò di tempo sto usando con soddisfazione Framework7 al posto di jQuery Mobile (che è da un bel pò che non è più aggiornato). Avevo la necessità di creare dei grafici all'interno di una pagina, prendendo i dati da un database remoto. Mi hanno consigliato Google Charts (già usato in precedenza, ma non su un sito mobile) e devo dire che sta venendo abbastanza bene. Quindi vediamo come integrare i due.

Windows - Come aprire la PowerShell in una specifica directory in Windows 10
Come aprire la PowerShell in una specifica directory in Windows 10

Come aprire la PowerShell in una specifica directory in Windows 10

Windows 10 punta molto sull'uso della PowerShell rispetto al classico prompt dei comandi. Anche perchè la Microsoft ci ha investito parecchio, ed in effetti è molto più potente. Oggi vediamo un piccolo trucco: come aprirla in una determinata directory. In questo modo non ci dovremmo spostare con il classico comando CD.

HTML - CSS - Applicare filtri alle immagini con i CSS
Applicare filtri alle immagini con i CSS

Applicare filtri alle immagini con i CSS

Ho scoperto che con i CSS è possibile applicare filtri alle immagini in maniera molto semplice. Questi sono i filtri disponibili: filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url(); A parte il filtro url() gli altri hanno una sintassi molto semplice, e sono tutti filtri "pre-impostati".

Linux - Come creare password sicure in Linux
Come creare password sicure in Linux

Come creare password sicure in Linux

Per creare password sicure, ho imparato che non ci dobbiamo affidare a noi stessi. Nel senso che tendiamo a mettere password sempre abbastanza simili, cambiando magari solo alcune lettere / numeri. Certo, mettendo minuscole, maiuscole, numeri e caratteri, potrebbero essere comunque difficili da individuare. Però possiamo fare di meglio, usando alcunii strumenti: pwgen openssl gpg

Database & Server - Visualizzare le connessioni attive in MariaDB
Visualizzare le connessioni attive in MariaDB

Visualizzare le connessioni attive in MariaDB

Per visualizzare le connessioni attive in MariaDB (e a MySQL) abbiamo due possibilità. In entrambi i casi eseguendo una query con il comando SHOW. Se andate sul link postato, vedrete che SHOW ci permette di avere praticamente qualsiasi info.

News - Mattepuffo.com versione 5
Mattepuffo.com versione 5

Mattepuffo.com versione 5

Tempo di cambiamenti per il blog. Dopo essere passato ad HTTPS, oggi online la nuova versione. Cambia l'aspetto grafico, ma ho anche aggiunto altri strumenti.

Network & Sniffing - Ottenere i nomi NetBIOS in rete con Linux
Ottenere i nomi NetBIOS in rete con Linux

Ottenere i nomi NetBIOS in rete con Linux

Soprattutto se siamo in una rete multi sistema, può essere importante identificare i NetBIOS aperti connessi in rete. Su Linux, molti file manager non funzionano sempre bene. Ma è possibile usare un tool da riga di comando: nbtscan! Per installarlo su Archlinux: # pacman -Sy nbtscan

Mondo Web - Creare infografiche online
Creare infografiche online

Creare infografiche online

Quella delle infografiche, è un'altra moda scoppiata nel 2016. Rispetto a tante altre novità, è passata "giustamente" inosservata ai più. Però sono comunque nati diversi servizi online per crearle. In questo articoli ne vediamo qualcuno.

C# - Asp.NET - Connessione ODBC in C#
Connessione ODBC in C#

Connessione ODBC in C#

Su Windows uso molto ODBC per connettermi a database non Microsoft (Oracle, Informix, ecc). Quindi, volendo connettere una mia applicazione in C# al db Oracle, posso direttamente usare la connessione ODBC installata sul pc. Oggi vediamo proprio un esempio di codice per eseguire questa operazione.

Software - Usare Jetty in Netbeans
Usare Jetty in Netbeans

Usare Jetty in Netbeans

Quando programmiamo una web application in Java, siamo abituati a pensare di usare Tomcat o GlassFish come server. Ma in vertià ce ne sono altri a disposizione, tipo Jetty! Oggi vediamo come usarlo in Netbeans e Maven. Iniziamo con il creare il progetto: scegliete Maven -> Web Application.

Python - Connessione ODBC in Python
Connessione ODBC in Python

Connessione ODBC in Python

La necessità è quella di connettere Python a un database Oracle, su piattaforma Linux. Avendo già installato unixODBC, ho deciso di usare quella connessione. Per sapere come installare e configurare unixODBC su Linux per un db Oracle potete vedere qua. Do quindi per scontato questo passaggio.

Apple - Visualizzare l'indicatore della batteria in macOS 10.12.2
Visualizzare l'indicatore della batteria in macOS 10.12.2

Visualizzare l'indicatore della batteria in macOS 10.12.2

A quanto pare, dalla versione 10.12.2 di macOS Sierra, la Apple ha levato l'indicatore di rimanenza della batteria. Certe cose non le comprendo, ma almeno ho scoperto che si può rimediare usando un'applicazione di terze parti: CoconutBattery! Una volta scaricata ed installata, potete vedere la percentuale di rimanenza della batteria nella barra del menu.

C# - Asp.NET - Trovare i files con una certa estensione in C#
Trovare i files con una certa estensione in C#

Trovare i files con una certa estensione in C#

Per un programmino che sto facendo in C#, ho la necessità di indentificare tutti i files con una certa estensione in una determinata directory (file doc e docx per la precisione). Per ottenere questa lista, abbiamo diverse possiblità, sempre usando DirectoryInfo e FileInfo. Una prima possibilità è usare il metodo GetFiles, che restituisce un array di FileInfo. Però non mi piace un granchè, perchè lo trovo poco flessibile nel caso di più estensioni (soprattutto quando non simili come nel mio caso).

Java - Creare un client REST in Java
Creare un client REST in Java

Creare un client REST in Java

Per creare un client REST in Java, ci sono vari modi. Oggi ne vediamo uno semplice, che richiede queste librerie: Apache HttpClient Apache HttpCore Apache CommonsIO Json Library org.json

Linux - Configurare la rete in Debian
Configurare la rete in Debian

Configurare la rete in Debian

Nello specifico parliamo di configurare la rete se non usiamo NetworkManager. In genere io lo uso, ma non sulla installazione Debian sul server in ufficio. Qui ho preferito non usarlo, ma avevo comunque la necessità di avere un indirizzo locale statico.

C - C++ - Esportare una QTableWidget in CSV
Esportare una QTableWidget in CSV

Esportare una QTableWidget in CSV

Oggi vediamo un semplice metodo per esportare una QTableWidget in CSV. Sarà un esempio basico, nel senso che ci limiteremo a buttare dentro dati estratti, senza nessun tipo di formattazione. Io mi sono creato una classe apposita (SaveTable) che in input si prende il path di salvataggio del file, e la QTableWidget de leggere. Questo il file di intestazione: #ifndef SAVETABLE_H#define SAVETABLE_H#include <QObject>#include <QTableWidget>#include <QFile>#include <QDir>#include <QTextStream>class SaveTable {public:    SaveTable(QString strFile, QTableWidget *tbl);    virtual ~SaveTable();};#endif // SAVETABLE_H Abbiamo solo il costruttore, dove andremo a svolgere le operazioni.

Database & Server - Abilitare CORS su Apache
Abilitare CORS su Apache

Abilitare CORS su Apache

CORS (Cross-Origin Resource Sharing) è una specifica per effettuare richieste su domini diversi (detta un pò all'italiana). Di default, infatti, non è possibile effettuare richieste da un dominio ad un altro. In sostanza, si tratta di attivare un nuovo header per effettuare queste richieste solo se si ha il permesso (che in genere non si ha).

Linux - Identificare i servizi di rete attivi su Linux
Identificare i servizi di rete attivi su Linux

Identificare i servizi di rete attivi su Linux

Usando netstat, è facilissimo identificare tutti i servizi di rete attiva sulla nostra macchina Linux. Andiamo a vedere due esempi, usando i seguenti switch: -t: seleziona i servizi TCP -u: seleziona i servizi UDP -a:visualizza sia i socket in ascolto che non -p: visalizza il PID e il nome del programma al quale appartiene il socket

Software - Applicare lo zoom a un tab specifico in Chrome
Applicare lo zoom a un tab specifico in Chrome

Applicare lo zoom a un tab specifico in Chrome

Come tutti i browser, anche Chrome ha ovviamente la possibilità di impostare lo zoom su una pagina web. Solo che lo zoom viene applicato a tutti i tab. Si può ovviare usando una estensione specifica: W Zoom!

Linux - Disegnare box ASCII su terminale con Boxes
Disegnare box ASCII su terminale con Boxes

Disegnare box ASCII su terminale con Boxes

Oggi vi presento un programmino multi-piattaforma che ci permette di creare dei box ASCII intorno al testo sul terminale: Boxes! Il programma è molto simpatico, e se usiamo spesso script da terminale può risultare anche utile. Per installarlo su Debian: # aptitude install boxes A questo punto facciamo qualche esempio.

Windows - Impostare differenti sfondi sui desktop virtuali in Windows 10
Impostare differenti sfondi sui desktop virtuali in Windows 10

Impostare differenti sfondi sui desktop virtuali in Windows 10

Windows 10 ha finalmente aggiunto il supporto per i desktop virtuali (cosa disponibile da anni su Linux e macOS). Di default, non è però possibile settare differenti sfondi. Non che la cosa sia fondamentale, ma può risultare anche comoda se se ne usano molti.

Windows - Copiare testo senza formattazione in Windows
Copiare testo senza formattazione in Windows

Copiare testo senza formattazione in Windows

Quando copiamo del testo, ad esempio dal web, e lo copiamo su un editor di testo tipo Word, abbiamo tutta la formattazione completa di link, grassetto, ecc. Molto spesso è un comportamento che non ci piace e non ci serve, e siamo costretti a passare per un editor tipo Notepad per ovviare al problema.

Javascript - AJAX - Esportare moduli in Javascript
Esportare moduli in Javascript

Esportare moduli in Javascript

Su praticamente qualsiasi linguaggio, siamo abituati ad includere moduli / librerie con istruzioni come include, import, require, ecc. Su Javascript è possibile ottenere lo stesso risultato, ma in maniera un pò differente. Prima di usare require, dobbiamo usare exports sul modulo da importare.

Mondo Web - Visualizzare Netflix in HD
Visualizzare Netflix in HD

Visualizzare Netflix in HD

Di default, Netflix, non usa l'HD. Anche perchè richiede un plan specifico, oltra ovviamente ad una banda adeguata. Comunque, supponendo che voi abbiate sia il planning adeguato, che una banda decente, in molti casi il video parte comunque non in HD.

Linux - Cambiare estensione ai files in Linux
Cambiare estensione ai files in Linux

Cambiare estensione ai files in Linux

Ieri avevo la necessità di cambiare l'estensione di file da .JPG a .jpg sulla mia macchina con Linux.. Girovagando, ho trovato una semplice riga di comando che fa questo in automatico. Dovrebbe funzionare anche in macOS. Ovviamente state attenti a cambiare le estensioni: alcuni cambiamenti potrebbero rendere illegibile il file (ad esempio da PDF a XLS).

Database & Server - Installare Nginx con PHP su Debian 8
Installare Nginx con PHP su Debian 8

Installare Nginx con PHP su Debian 8

Nginx è uno dei server web più utilizzati, in stretta competizione con Apache. Oggi vediamo come installarlo e configurarlo con PHP. Iniziamo con l'installare il server: # aptitude update# aptitude install nginx

Java Android - Richieste HTTP in Android con Volley
Richieste HTTP in Android con Volley

Richieste HTTP in Android con Volley

Oggi vediamo qualche esempio introduttio alla libreria Volley, una delle librerie più usate per richieste HTTP in Android. E' talmente usata, che ha anche una pagina sulla documentazione ufficiale di Android. Per installare la lilbreria, se usate Android Studio, aggiungete questa riga al file build.gradle (Module: app): dependencies {     ..............     compile 'com.android.volley:volley:1.0.0'     .............. } Bene, a questo vediamo un esempio banale di richiesta GET.

Java - Copiare un array in Java
Copiare un array in Java

Copiare un array in Java

Per copiare un array in Java, ci sono diversi modi. Personalmente ne conosco 4 (e mezzo se contiamo due metodi molto simili); tra questi ce ne è uno sbagliato: rendere il secondo array uguale al primo (pratica sbagliata) usando il metodo clone di Object; in Java gli array sono oggetti usando Arrays.copyOf o Arrays.copyOfRange usando System.arraycopy A me personalmente piace di più usare i metodi della classe Arrays. Comunque vi posto tutti i metodi, che eseguono le stesse identiche operazioni.

Linux - Installare le VirtualBox guest additions in Apline Linux
Installare le VirtualBox guest additions in Apline Linux

Installare le VirtualBox guest additions in Apline Linux

Ho provato Alpine Linux su VirtualBox, incuriosita dal suo approccio per Docker. Però, non è proprio una distro facile da usare su VBox. Infatti, l'installazione delle guest addittions, richiede qualche passaggio. Che adesso vedremo.

Linux - Cambiare la shell di default in Linux
Cambiare la shell di default in Linux

Cambiare la shell di default in Linux

Su Linux è possibile usare diverse shell. La bash è tra le più usate, ma anche la zsh sta prendendo parecchio piede. Oggi vediamo come: identificare la shell usata identificare le shell disponibili a sistema cambiare shell

Java - Estrapolare i database metadata con JDBC in Java
Estrapolare i database metadata con JDBC in Java

Estrapolare i database metadata con JDBC in Java

Usando JDBC, è abbastanza semplice identificare i metadata di un db. Ogi vediamo qualche esempio, in cui andremmo a prendere diverse info su db e tabelle. Ovviamente dovete aggiungere il driver JDBC al vostro progetto; se usate Maven aggiungete questo al vostro pom.xml:         <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.6</version>        </dependency> Bene, vediamo due metodi: nel primo tireremo fuori le info generali sul db nel secondo, estrapoleremo info su una tabella passata come argomento.

Apple - Rimuovere tutti i pacchetti obsoleti in Homebrew su macOS
Rimuovere tutti i pacchetti obsoleti in Homebrew su macOS

Rimuovere tutti i pacchetti obsoleti in Homebrew su macOS

Sul MAC, sono solito usare Homebrew per installare diversi pacchetti non presenti di default. Lo trovo molto comodo come gestore pacchetti. Ad esempio, parliamo di cURL, del quale ci sono diverse versioni.

Java Android - Richieste HTTP in Android con OkHttp
Richieste HTTP in Android con OkHttp

Richieste HTTP in Android con OkHttp

Nelle ultime versioni dell'SDK, sono state fatte pesanti modifiche a tutta la parte che riguarda le richieste HTTP. Ma, a quanto pare, ancora non si è raggiunta l'efficienza di alcune librerie esterne. Oggi ne vediamo una, con un esempio easy: OkHttp! Per usare la libreria, potete scaricare il jar dal sito ufficiale, oppure usare Gradle. In questo caso aggiungete questa riga nel build.gradle (Module: app): dependencies {     ................    compile 'com.squareup.okhttp3:okhttp:3.5.0'     ................}

Python - Identificare l'estensione dei file in Python
Identificare l'estensione dei file in Python

Identificare l'estensione dei file in Python

Vediamo un piccolo snippet di codice in Python per identificare l'estensione di un file. Sicuramente ci sono vari modi per farlo, ma usando il modulo os.path è molto semplice. Possiamo usare la funzione splitext, che in pratica spezza in due il risultato: il nome del file completo di path l'estensione del file

Java - Salvare posizione e dimensione di un JFrame in Java
Salvare posizione e dimensione di un JFrame in Java

Salvare posizione e dimensione di un JFrame in Java

Ebbene, le vacanze sono finite ! Ricominciamo con un argomento easy. Vogliamo salvare dimensione e posizione di un JFrame quando viene chiuso, in modo che, alla riapertura, abbia dimensione e posizione precedenti. Salveremo tutto in un file di properties.

Software - Migrare Wordpress su HTTPS
Migrare Wordpress su HTTPS

Migrare Wordpress su HTTPS

Una volta tanto una operazione su Wordpress che non toglie giorni di vita. Migrare un sito fatto con questo CMS su HTTPS si è rilevato poco problematico. Ovviamente dovete avere un certificato valido..... Prima di tutto andate nel pannello di controllo -> Impostazioni -> Generali.

Python - Ridimensionare immagini con Python e Pillow
Ridimensionare immagini con Python e Pillow

Ridimensionare immagini con Python e Pillow

Per ridimensionare le immagini con Python, tutti consigliano l'uso di PIL / Pillow. Pillow, in realtà, è un fork di PIL, e funziona bene anche con Python 3. Oggi vediamo qualche esempio di utilizzo. Prima di tutto installiamo la libreria: $ sudo pip install pillow

C - C++ - Filtrare i risultati di una QTableWidget con una QLineEdit
Filtrare i risultati di una QTableWidget con una QLineEdit

Filtrare i risultati di una QTableWidget con una QLineEdit

In pratica, abbiamo una QTableWidget piena di righe, e vogliamo cercare al suo interno scrivendo in una QLineEdit. Non è molto difficile ottenere questo risultato! Prima di tutto aggiungiamo un SLOT nel file di intestazione del nostro QWidget: private slots:    void txtSearch(QString search);

News - Mattepuffo.com è su HTTPS
Mattepuffo.com è su HTTPS

Mattepuffo.com è su HTTPS

Qualche giorno fa ho letto una comunicazione che diceva, più o meno, che dal prossimo anno Google avrebbe iniziato a segnalare tutti i siti senza HTTPS. Ad Aruba, dove risiede anche il mio blog, devono essere fischiate le orecchie. Nel senso che non è prevista la possibilità di usare HTTPS su servizi di hosting condiviso, creando ovviamente una spece di fuga.

Software - Impostare i permessi corretti in Wordpress
Impostare i permessi corretti in Wordpress

Impostare i permessi corretti in Wordpress

Leggendo in giro, ho visto che i permessi corretti da impostare per Wordpress sono: 755 per le directories 644 per i files Ovviamente, con questi permessi, stiamo parlando di sistemi Linux o affini. Su Windows questi problemi non ci sono.

PHP - Debug delle funzioni in PHP con debug_print_backtrace
Debug delle funzioni in PHP con debug_print_backtrace

Debug delle funzioni in PHP con debug_print_backtrace

Per eseguire il debug in PHP, generalizzando, siamo soliti usare la funzione var_dump. Ma ha dei limiti, in quando esegue il dump solo di ciò che gli è passato come argomento. Se vogliamo fare il debug di una funzione, andando a vedere anche da dove è stata chiamata inizialmente, possiamo usare un'ottima funzione: debug_print_backtrace! Vediamo due esempi banali.

Windows - Abilitare la richiesta di salvataggio in Edge
Abilitare la richiesta di salvataggio in Edge

Abilitare la richiesta di salvataggio in Edge

Devo dire che Edge non è male; pare che finalmente siano riusciti a creare un browser decente alla Microsoft. Oggi vediamo un piccolo tip. Di default, Edge, ti permette di scegliere la directory dove salvare i download; ma non c'è la possibilità di decidere dove salvarli ogni volta. Per ottenere questo comportamento, impostabile in praticamente qualsiasi browser, dobbiamo agire sul registo di sistema. Date un TASTO_WIRDWS + R e scrivete regedit.

Database & Server - Esportare database MySQL in SQLite
Esportare database MySQL in SQLite

Esportare database MySQL in SQLite

Avevo la necessità di replicare la struttura di un database MySQL in SQLite. Questo db mi serviva per una app, e non avevo voglia di ricreare tutta la struttura. Girovagando sono incappato in uno script shell che è in grado di fare esattamente questa operazione: MySQL to SQLite converter! Il suo utilizzo è abbastanza semplice.

HTML - CSS - Usare CSS flexbox con Flex Layout Attribute
Usare CSS flexbox con Flex Layout Attribute

Usare CSS flexbox con Flex Layout Attribute

Flexbox è un nuovo tipo di layout da usare con CSS3. In pratica permette di creare dei layout "flessibili" e facilmente responsive in breve tempo. Da quanto ho capito, anche Twitter Bootsrap 4 lo userà come base per il suo nuovo layout system. Per usarlo in maniera più semplice, esiste un helper HTML: Flex Layout Attribute! In pratica è un semplice foglio di stile.

Java - Convertire oggetti Java in JSON e viceversa con Gson
Convertire oggetti Java in JSON e viceversa con Gson

Convertire oggetti Java in JSON e viceversa con Gson

Abbiamo già visto Gson precedentemente: ottima libreria per Java per manipolare JSON. Oggi vediamo due esempi: il primo ci permetterà di convertire un oggetto in JSON il secondo ci permetterà di creare un oggetto da una stringa JSON

Database & Server - Redirect su HTTPS in Apache
Redirect su HTTPS in Apache

Redirect su HTTPS in Apache

Quando attiviamo l'HTTPS su un sito web, non ha molto senso lasciare la versione non "secure". Quindi, la cosa migliore, è fare in modo che qualsiasi richiesta venga rimandata su HTTPS. Ci sono varie modalità per fare questo, ed una comprende l'uso delle regole su htaccess.

Linux - Calcolare da quanto tempo è attivo un processo in Linux
Calcolare da quanto tempo è attivo un processo in Linux

Calcolare da quanto tempo è attivo un processo in Linux

Qualche tempo fa, avevo sempre un problema con un processo che ad un certo punto si bloccava. E mi serviva sapere da quanto tempo era attivo, in quanto sarebbe dovuto "durare" circa un minuto (e non ore....). Capire da quanto tempo un processo è attivo, su Linux, è abbastanza semplice usando ps.

Java - Connessione a MySQL con Java e MyBatis
Connessione a MySQL con Java e MyBatis

Connessione a MySQL con Java e MyBatis

MyBatis è un framework di persistenza che si "frappone" tra strumenti completi come Hibernate, e l'usare JDBC e scrivere tutto da zero. In sostanza ci leva alcune operazioni che dovremmo fare usando JDBC, ma ci lascia un pò più di flessibilità rispetto ad Hibernate. Oggi vediamo un esempio abbastanza completo. Partiamo dal db; abbiamo un database test, con una tabella utenti con questi campi: id (PK AI) nome cognome email Tutti campi VARCHAR.

C - C++ - Usare il pattern Singleton in C++
Usare il pattern Singleton in C++

Usare il pattern Singleton in C++

Personalmente trovo Singleton utile in alcuni casi. E quindi continuo ad usarlo anche se a molti non piace. Ne abbiamo visti diversi esempi in vari linguaggi, ed oggi aggiungiamo l'esempio in C++. Abbiamo tre file: singleton.h singleton.cpp main.cpp

Linux - Trovare file di grandi dimensione in Linux
Trovare file di grandi dimensione in Linux

Trovare file di grandi dimensione in Linux

Il comando find in Linux, è molto versatile, e ci permette di eseguire ricerche di praticamente qualsiasi tipo. Ieri avevo la necessità di trovare nella mia home file più grandi di una cerca dimensione. Con find ci sono riuscito abbastanza facilmente.

Database & Server - Usare l'istruzione MERGE in Oracle
Usare l'istruzione MERGE in Oracle

Usare l'istruzione MERGE in Oracle

Una delle cose che più mi piacciono di MySQL / MariaDB è l'istruzione ON DUPLICATE KEY! Esegue in automatico un sacco di controlli, levando quindi al programmatore l'onere di scrivere codice / controlli in più. Ho scoperto che anche in Oracle c'è una instruzione simile: MERGE!

Mondo Web - Com'è costruito un sito web?
Com'è costruito un sito web?

Com'è costruito un sito web?

Diciamo che il reverse engineering dei siti web non è mai stata cosa più di tanto complicata, in quanto basta visualizzare il codice della pagina visualizzata. Inoltre, ad oggi, i browser mettono a disposizione degli strumenti per sviluppatori davvero fantastici (soprattutto Chrome e Firefox). Ed infine esistono anche estensioni come Wappalyzer, che fanno proprio questo. Oggi vi aggiungo anche degli interessanti servizi web per ottenere infomrazioni sui siti web che vi interessano. Io ho effettuato vari test, sia con siti che usano CMS, che non.

Ruby - Creare file in Ruby
Creare file in Ruby

Creare file in Ruby

Per creare file in Ruby abbiamo almeno due modalità differenti: usando File.new usando File.open La differenza tra i due è che File.open può essere usato in un blocco di codice, mentre File.new no.

HTML - CSS - Validazione dei form in HTML
Validazione dei form in HTML

Validazione dei form in HTML

In genere è sempre buona norma validare i dati di un form sia lato server che lato client. Per quanto riguarda il client, ci siamo sempre avvalsi di Javascript (o di uno dei milioni plugin per jQuery). Ma con HTML 5 possiamo farne a meno. Anche se il supporto dei browser non è al 100%, ci rimane comunque la parte server; quindi, per quanto mi riguarda, preferisco evitare l'uso dei plugin o di Javascript per fare questo (almeno quando possibile).

Software - Pulire la cronologia di un tab in Firefox
Pulire la cronologia di un tab in Firefox

Pulire la cronologia di un tab in Firefox

Firefox già permette di pulire la cronologia in maniera abbastanza flessibile. Ma usando un add-on specifico, possiamo pulire la cronologia di un singolo tab: Forget Tab! Dopo averlo installato, verrà aggiunta un'icona a forma di pennello.

Linux - Ridurre la dimensione dei PDF su Linux
Ridurre la dimensione dei PDF su Linux

Ridurre la dimensione dei PDF su Linux

In questo articolo avevamo visto come comprimere i PDF su Linux usando Shrinkpdf. Oggi vediamo come possiamo ottenere lo stesso risultato usando solo Ghostscript. Prima di tutto installiamolo (anche se sono abbastanza sicuro che già lo sia): # aptitude update && aptitude install ghostscript --> Debian # pacman -Sy ghostscript --> Archlinux

C - C++ - Impostare l'uppercase su una QLineEdit
Impostare l'uppercase su una QLineEdit

Impostare l'uppercase su una QLineEdit

La necessità è quella di fare in modo che in una QLineEdit il testo sia sempre in maiuscolo. Ci sono varie modalità per ottenere questo risultato, ed io ve ne presento una abbastanza semplice da mettere in pratica. Aprite il file di intestazione del vostro widget e aggiungete uno SLOT: private slots:     void toUpper(const QString &text); A questo punto passiamo al file di implementazione.

Linux - Identificare il PID di un processo in Linux
Identificare il PID di un processo in Linux

Identificare il PID di un processo in Linux

Oggi ho scoperto un utile comando su Linux, che in pratica ci permette di sapere il PID di un processo indicandone il nome: pidof! Certo, la stessa cosa si potrebbe ottenere anche con il comando ps. Ma ps da tantissime informazioni, e non è sempre di facile lettura.

Software - Disconnettere tutte le sessioni di Skype
Disconnettere tutte le sessioni di Skype

Disconnettere tutte le sessioni di Skype

Sostanzialmente, può capitare di dover usare un nostro account su un device che non ci appartiene (e questo in generale, non solo per Skype). Se ci dimentichiamo di eseguire il logout, potrebbero essere dolori (e di storie non abbiamo sentite ultimamente). Come possiamo eseguire il logout remoto da tutte le sessioni di Skype in una volta sola?

Mondo Web - Disattivare le notifiche dei video in diretta su Facebook
Disattivare le notifiche dei video in diretta su Facebook

Disattivare le notifiche dei video in diretta su Facebook

Sarò anche un asociale, ma me dei video in diretta su Facebook non me ne importa nulla! Penso che ogni tanto facciano delle aggiunte che sono solo più invadenti che altro. Se anche voi volete levare queste notifiche, dovete solo seguire questi passi.

Linux - Comprimere immagini JPEG su Linux con Jpegoptim
Comprimere immagini JPEG su Linux con Jpegoptim

Comprimere immagini JPEG su Linux con Jpegoptim

Ho scoperto un utile programma che ci permette di comprimere facilmente le immagini JPEG su Linux: Jpegoptim! Ovviamente non è l'unico programma su Linux per effettuare una operazione del genere. Ma è sicuramente molto facile da usare. Prima di tutto installiamolo.

Javascript - AJAX - Connessione a MongoDB con Node.js
Connessione a MongoDB con Node.js

Connessione a MongoDB con Node.js

Oggi vediamo come connettere Node.js a MongoDB. Useremo anche Express; ormai è diventato praticamente un modulo standard. Partiamo dal classico package.json: {    "name": "NodeB2B",    "version": "1.0.0",    "keywords": ["util", "functional", "server", "client", "browser"],    "author": "Matteopuffo",    "contributors": [],    "dependencies": {        "express": "*",        "mongodb": "*"    }} Come dipendenze indichiamo di prendere le ultime versioni di entrambi i moduli.

Java - Parsing dei file in Java con Apache Tika
Parsing dei file in Java con Apache Tika

Parsing dei file in Java con Apache Tika

Per parsing dei file intendo: estrarre i metadati estrarre il contenuto visualizzare le immagini (se usiamo un componente grafico) tutto ciò da tantissimi tipi di file Questo è possibile attraverso una magnifica libreria: Apache Tika! Oggi vi posto un estratto di un programmino che sto facendo in Java, e che prima o poi metterò sul mio canale di GitHub. In questo esempio non ci sono componenti grafiche, quindi non potete visualizzare le immagini. Ciò non toglie che potete aggiungere voi i componenti che vi servono. Inoltre ho usato Maven, in quanto Apache Tika richiede diverse dipendenze. Infine, per il design delle classi, ringrazio i suggerimenti del forum HTML.it.

Javascript - AJAX - Come risolvere l'errore JavaScript heap out of memory in NPM
Come risolvere l'errore JavaScript heap out of memory in NPM

Come risolvere l'errore JavaScript heap out of memory in NPM

L'altra settimana stavo combattendo con Node.js ed NPM. In pratica ottenevo sempre questo errore: $ npm search mongo npm WARN Building the local index for the first time, please be patient [..................] | : WARN Building the local index for the first time, please be patient          [12455:0x23175c0]    73384 ms: Mark-sweep 1038.6 (1354.9) -> 1032.1 (1351.0) MB, 808.4 / 0.0 ms  allocation failure GC in old space requested [12455:0x23175c0]    74196 ms: Mark-sweep 1032.1 (1351.0) ->     1031.9 (1314.0) MB, 811.6 / 0.0 ms  last resort gc  [12455:0x23175c0]    75024 ms: Mark-sweep 1031.9 (1314.0) -> 1031.9 (1307.0) MB, 828.2 /     0.0 ms  last resort gc           ==== JS stack trace =========================================          Security context: 0x1301816c0d11         1: fromString(aka fromString) [buffer.js:217] [pc=0xd2afa68dcae](this=0x130181604311 ,string=0x2c89d250c589 ,encoding=0x1301816c9921 <String[4]: utf8>)         2: from [buffer.js:114] [pc=0xd2afa691090](this=0x12c0d1a860b1 ,value=0x2c89d250c589 ,encodingOrOffset=0x1301816...          FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory  1: node::Abort() [npm]  2: 0xf4e4cc [npm]  3: v8::Utils::ReportOOMFailure(char const*, bool) [npm]  4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [npm]  5: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [npm]  6: v8::internal::String::SlowFlatten(v8::internal::Handle, v8::internal::PretenureFlag) [npm]  7: v8::internal::String::Flatten(v8::internal::Handle, v8::internal::PretenureFlag) [npm]  8: v8::String::WriteUtf8(char*, int, int*, int) const [npm]  9: node::StringBytes::Write(v8::Isolate*, char*, unsigned long, v8::Local, node::encoding, int*) [npm] 10: node::Buffer::New(v8::Isolate*, v8::Local, node::encoding) [npm] 11: node::Buffer::CreateFromString(v8::FunctionCallbackInfo const&) [npm] 12: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo const&)) [npm] 13: 0x7f1698 [npm] 14: 0x7f1a30 [npm] 15: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [npm] 16: 0xd2afa1063a7 Annullato (core dump creato)

Database & Server - Installare MongoDB su Debian 8
Installare MongoDB su Debian 8

Installare MongoDB su Debian 8

Installare MongoDB su Debian non è una operazione complicata. Solo che abbiamo due possibilità. La prima è quella di usare la versione nei repo di Debian, che però è indietro di qualche versione. Per farlo: # aptitude update# aptitude install mongodb

Software - Disabilitare il PDF viewer in Chrome
Disabilitare il PDF viewer in Chrome

Disabilitare il PDF viewer in Chrome

Chrome ha un visualizzatore di PDF già installato. Ma non a tutti piace questa funzione, ed in effetti a volte può risultare scomoda. E tra l'altro, anche se funziona generalmente bene, rallenta nel caso di PDF di grandi dimensioni. Vediamo come disabilitare questa funzione.

Javascript - AJAX - Visualizzare i valori dei parametri di una funzione in Javascript
Visualizzare i valori dei parametri di una funzione in Javascript

Visualizzare i valori dei parametri di una funzione in Javascript

L'altro giorno stavo combattendo con una funzione in Javascript di quelle che non voleva proprio funzionare. Alla fine avevo capito che il problema era nei parametri passati alla funzione, ma non mi andava di controllarli uno per uno. Cercavo un modo per fare un debug diretto di tutti i parametri (un pò tipo la func_get_args di PHP). Alla fine ci sono riuscito usando la propretà Array.prototype.

Apple - Entrare in Recovery Mode su iPhone 7
Entrare in Recovery Mode su iPhone 7

Entrare in Recovery Mode su iPhone 7

La Apple con l'iPhone 7 ha portato diverse novità. Una di queste riguarda il pulsante home, che non va più premuto, ma è praticamente touch. E questo comporta che non è più possibile entrare in Recovery Mode.

Database & Server - Generare stringhe random in MariaDB
Generare stringhe random in MariaDB

Generare stringhe random in MariaDB

MariaDB (come anche MySQL ovviamente) disponde di una funzione per generare valori che si chiama RAND(). Però questa funzione genera dei valori float. Se volessimo generare delle stringhe casuali come possiamo fare? Un primo metodo consiste in un piccolo trucco: calcolare l'hash del valore random.

Software - Identificare il tipo di spazio colore di una immagine con ImageMagick
Identificare il tipo di spazio colore di una immagine con ImageMagick

Identificare il tipo di spazio colore di una immagine con ImageMagick

ImageMagick è un programma di una potenza incredibile! Ed il fatto che è disponibile per diverse piattaforme (iOS compreso a quanto pare) lo rende ancora più incredibile. Oggi vediamo due semplici comandi per identificare lo spazio colore di una immagine. In pratica andremo a verficiare se è RGB o CMYK, con eventuali varianti.

Progetti - MarziaFerrone.com versione 2
MarziaFerrone.com versione 2

MarziaFerrone.com versione 2

Versione 2, e responsive, del sito MarziaFerrone.com. Rispetto alla prima versione è cambiato poco graficamente.

C - C++ - Determinare il sistema operativo in Qt
Determinare il sistema operativo in Qt

Determinare il sistema operativo in Qt

Qt, essendo un framework multipiattaforma, esegue già dei controlli / operazioni sul sistema sottostante, comportandosi di conseguenza. Ad esempio impostando il path separator in maniera differente tra Windows e Linux / macOS. E questo giusto per fare un esempio "banale". Inoltre i programmi scritti con Qt possono essere compilati ed eseguiti anche su Android e iOS, in quanto è supportato anche il touch.

PHP - Copiare file con PHP
Copiare file con PHP

Copiare file con PHP

Se volete copiare file con PHP, potete usare una funzione apposita: copy! La funzione è molto semplice da usare. Nel caso più semplice bastano due parametri: copy('file_da_copiare.txt', 'copia.txt');

Linux - Identificare la tecnologia di virtualizzazione su Linux
Identificare la tecnologia di virtualizzazione su Linux

Identificare la tecnologia di virtualizzazione su Linux

Supponiamo di avere dei server Linux virtuali a disposizione. E di volere verificare che tipo di virtualizzazione viene usata. Come possiamo fare? Semplicemente usando virt-what! Il nome è già abbastanza esplicativo direi.

News - Mattepuffo è su GitHub
Mattepuffo è su GitHub

Mattepuffo è su GitHub

Alla fine mi sono deciso anche io di aprire un account su GitHub. Quindi metterò i vari programmi direttamente la.

Database & Server - Passare da MySQL a MariaDB su Debian 8
Passare da MySQL a MariaDB su Debian 8

Passare da MySQL a MariaDB su Debian 8

Dopo che ho visto che in moltissimi forum consigliano il passaggio a MariaDB, mi sono deciso di farlo anche sui miei server con Debian 8. Inoltre su molte distro è diventato il db di default, e MySQL a volte non è neanche presente. Su Debian 8 MariaDB è già presente nei repo alla versione 10, cioè l'ultima. Visto che questa versione rappresenta un punto di svolta, in quanto ha iniziato a prendere una sua strada dal fork iniziale, direi che è anche il momento ultimo più appropriato per farlo.

Python - Array multidimensionali in Python
Array multidimensionali in Python

Array multidimensionali in Python

L'altra settimana un utente mi ha scritto che su Python non ho fatto molte guide basiche. In effetti ha ragione; la verità è che Python non lo uso molto. Però, visto che aveva qualche problema con gli array multidimensionali, oggi ne vediamo qualche esempio. Per creare un array multidimensionale basta questo: number_sets = [[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]

Software - Informazioni su file audio e video con MediaInfo
Informazioni su file audio e video con MediaInfo

Informazioni su file audio e video con MediaInfo

MediaInfo è un bel tool multi-piattaforma per ricavare informazioni audio e video. E' disponibile in una versione CLI e in una versione con GUI. Se vogliamo installare il tutto su Archlinux: # pacman -Sy medianfo mediainfo-gui

Javascript - AJAX - Esportare una tabella in Excel con Javascript
Esportare una tabella in Excel con Javascript

Esportare una tabella in Excel con Javascript

Se usate jQuery DataTable o simili, probabilmente avete già una funzione di esportazione della tabella in Excel. Ma se avete una semplice tabella da esportare al volo, potete usare un semplice plugin per jQuery che si occupa di fare solo quello: jQuery table2excel! Il suo utilizzo è molto semplice: includete jQuery includete la libreria impostate un id su un bottone impostate un id sulla tabella impostate qualche riga di codice per attivare il tutto

Windows - Eliminare la notifica Ottieni Windows 10
Eliminare la notifica Ottieni Windows 10

Eliminare la notifica Ottieni Windows 10

In ufficio ho solo Windows 7, e per il momento non ho nessuna intenzione di passare a Windows 8 o 10. Il problema è che ogni tanto esce la notifica di aggiornamento a Windows 10, anche adesso che il periodo di passaggio gratuito è finito. Ma ho scoperto che è molto semplice eliminare questa notifica.

Linux - Installare l'Oracle Instant Client su Debian
Installare l'Oracle Instant Client su Debian

Installare l'Oracle Instant Client su Debian

Installare l'Oracle Instant Client non è proprio una passeggiata (a meno che non stai su Archlinux ). Su Debian, poi, le cose si complicano ulteriormente. A quanto pare non esiste un repo, e sul sito non ci sono installer; o scaricate i sorgenti o i file RPM. Ma non è tutto perduto, se seguiamo questi passi. Prima di tutto scaricate tutto ciò che vi serve dal sito ufficiale; scaricate i file RPM, li convertiremo.

Javascript - AJAX - Usare il pattern Singleton in Javascript
Usare il pattern Singleton in Javascript

Usare il pattern Singleton in Javascript

Alcuni lo considerano cattiva programmazione, altri no, altri sono più moderati. Ma come la metti la metti il pattern Singleton continua ad essere molto utilizzato in tutti i linguaggi. Abbiamo già visto qualche implementazione, ed oggi aggiungiamo un esempio in Javascript. Per chi non sa ancora cosa sia Singleton, vi riporto la definizione di Wikipedia: Il singleton è un design pattern creazionale che ha lo scopo di garantire che di una determinata classe venga creata una e una sola istanza, e di fornire un punto di accesso globale a tale istanza.

PHP - Modificare il post_max_size in PHP
Modificare il post_max_size in PHP

Modificare il post_max_size in PHP

La necessità di oggi è quella di modificare il valore post_max_size. Banalmente ho provato a mettere questa riga di codice in testa allo script: ini_set('post_max_size', 0); Ma ho scoperto che post_max_size, rientra in quei valori non modificabili attraverso ini_set. Quindi le soluzioni sono due: cambiare il valore direttamente in php.ini usare un file htaccess

C - C++ - Impostare lo stile in una TableView in QML
Impostare lo stile in una TableView in QML

Impostare lo stile in una TableView in QML

Impostare lo stile in una TableView QML non è difficile, ma neanche così immediato. Nel senso che bisogna impostare alcune cose, e soprattuto ricordarsi di fare questo import: import QtQuick.Controls.Styles 1.4 A questo punto possiamo procedere con il resto!

Linux - Installare Node.js 7 su Debian 8
Installare Node.js 7 su Debian 8

Installare Node.js 7 su Debian 8

Essendo Debian stable una versione stabile, e non sempre aggiornata all'ultima versione di qualsiasi pacchetto / software, ogni tanto si crea un pò di confusione. Ne è un caso tipico Node.js. Nel mio caso specifico il problema è questo: su Archlinux, il pc di sviluppo, ho la versione 7 di Node.js, e devo installare la stessa versione su Debian 8.

Software - Wordpress rallentato a causa di WooCommerce
Wordpress rallentato a causa di WooCommerce

Wordpress rallentato a causa di WooCommerce

Purtroppo, come dico sempre, i CMS sono degli ottimi prodotti, ma hanno anche parecchi lati oscuri. Dopo aver usato WooCommerce per un bel periodo su un sito con molto traffico, ci siamo resi conto che era tutto rallentato. E girovagando abbiamo visto che non eravamo gli unici ad avere questo problema. Comunque la soluzione l'abbiamo trovata, e consiste nel ripulire la tabella wp_options.

Apple - Usare cURL con HTTP/2 in macOS
Usare cURL con HTTP/2 in macOS

Usare cURL con HTTP/2 in macOS

cURL è un programma molto usato da sviluappatori e sysadmin, sia in ambito Linux che in macOS. Ma la versione installata di default sul sistema Apple non supporta HTTP/2. Infatti: $ curl -I --http2 https://www.google.it/ curl: (1) Unsupported protocol Ma la soluzione è abbastanza semplice: bisogna cURL con nghttp2.

Linux - Colorare le pagine man
Colorare le pagine man

Colorare le pagine man

In questo articolo avevamo visto come avere le pagine man colorate usando most, un file pager simile a less o more. Oggi vediamo come ottenere lo stesso risultato senza most.

C - C++ - Intercettare il tasto ENTER su una QLineEdit
Intercettare il tasto ENTER su una QLineEdit

Intercettare il tasto ENTER su una QLineEdit

Ho scoperto che il sitema dei connect in Qt può essere molto flessibile! Vi posto il mio esempio. Ho un QPushButton collegato ad un evento: void Articoli::on_btnCollezione_clicked() { ............................... }