Ultimi 100
Mondo Web - Scaricare colori per Vim
Scaricare colori per Vim

Scaricare colori per Vim

Vim, il famoso editor da riga di comando per Linux, viene con già diversi colori da poter utilizzare. Ma ho scoperto un sito online che ne mette tantissimi a disposizione: Vim Colors!

Javascript - AJAX - Impostare un FileFilter in Electron
Impostare un FileFilter in Electron

Impostare un FileFilter in Electron

Electron arriva provvisto di vari dialog per interagire con il file system sottostante. Quello ci permette di selezionare file /directory si chiama showOpenDialog, ed abbastanza configurabile. Ad esempio io volevo far selezionare solo file con estensione MP3. E' possibile usando FileFilter!

Linux - Ripristinare il file .bashrc di default in Ubuntu
Ripristinare il file .bashrc di default in Ubuntu

Ripristinare il file .bashrc di default in Ubuntu

Il file .bashrc è molto importante per chi usa molto la riga di comando in Linux. Questo perchè è possibile configurare diverse cose senza andare ad intaccare la configurazione globale del sistema. E' comunque possibile fare qualche casino, e voler ripristinare la versione di default.

Javascript - AJAX - Electron drag and drop
Electron drag and drop

Electron drag and drop

Sto sviluppando un programmino con Electron, e voglio poter trascinre i file MP3 sulla finestra. Come posso fare? Impostare il drop su Electron è abbastanza semplice. A livello di init della app non ho cambiato nulla.

HTML - CSS - Bootstrap 4: classi visible e hidden
Bootstrap 4: classi visible e hidden

Bootstrap 4: classi visible e hidden

Sto migrando un sito da Bootstrap 3 a Bootstrap 4, che fornisce anche una pagina apposita per facilitare la migrazione. Ci sono comunque alcune cose un pò oscure. Una di queste riguarda le classi visible e hidden, che in sostanza si occupano di rendere visibile / nascondere dei componenti solo a determinate risoluzioni.

PHP - Download di file txt in PHP
Download di file txt in PHP

Download di file txt in PHP

In pratica, al click su un link, deve partire una elaborazione lato PHP, che deve estrarre dei dati e riempire un file txt. Tale file non deve essere salvato sul server, ma deve essere mandato in output nel browser. Tralascio la parte di elaborazione ed estrazione dati; il file riempito come volete e vi serve.

Linux - Recuperare i file cancellati su Linux con foremost
Recuperare i file cancellati su Linux con foremost

Recuperare i file cancellati su Linux con foremost

Ci sono vari programmi per il recupero dei file cancellati su Linux, ed uno dei più usati è foremost! Il suo uso è abbastanza semplice, e si trova praticamente sempre nei repo ufficiali delle varie distro. Per installarlo su Arch Linux: # pacman -Sy foremost

Javascript - AJAX - Creare scorciatoie da tastiera in Electron
Creare scorciatoie da tastiera in Electron

Creare scorciatoie da tastiera in Electron

In questo articolo avevamo visto come creare un menu personalizzato in Electron. Oggi vediamo come impostare delle scorciatoie da tastiera, modificandole a seconda se siamo su macOs o meno.

Java - Leggere file YAML in Java con Jackson
Leggere file YAML in Java con Jackson

Leggere file YAML in Java con Jackson

Jackson è una delle librerie più conosciute ed usate per il parsing di JSON in Java. Ma in verità questa libreria fa molto di più con le sue estensioni. Oggi vediamo come usarla per fare il parsing di file in formato YAML! Se usate Maven aggiungete questo al vostro pom.xml: <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.1</version> </dependency>

Linux - Trovare la data di installazione del vostro sistema Linux
Trovare la data di installazione del vostro sistema Linux

Trovare la data di installazione del vostro sistema Linux

Non che sia fondamentale sapere quando è stato esattamente installata la nostra distro Linux. Ma può essere interessante. Una prima maniera è visualizzare i log.

Javascript - AJAX - Utilizzare le media queries con Javascript
Utilizzare le media queries con Javascript

Utilizzare le media queries con Javascript

Nel mondo responsive le media-queries sono diventate fondamentali! Attraverso queste regole, possiamo impostare diversi stili CSS a seconda delle dimensioni dello schermo. Ho scoperto che è anche possibile usarle anche attraverso Javascript e l'oggetto window.matchMedia!

Python - Parsing YAML in Python con PyYAML
Parsing YAML in Python con PyYAML

Parsing YAML in Python con PyYAML

La libreria che vi presento oggi, è solo una di quelle disponibili per il parsing dei fila YAML in Python: PyYAML! E' disponibile per entrambe le versioni, e potete installarla così: pip install pyyaml

Linux - Cancellare file in maniera sicura su Linux con wipe
Cancellare file in maniera sicura su Linux con wipe

Cancellare file in maniera sicura su Linux con wipe

Oggi vi presento un altro utile strumento per la cancellazione sicura di file e directory in Linux: wipe! Per installarlo su Arch Linux: # pacman -Sy wipe

Database & Server - Creare tabelle temporanee in Oracle
Creare tabelle temporanee in Oracle

Creare tabelle temporanee in Oracle

Anche Oracle, come praticamente tutti i db server, è in grado di gestire le tabelle temporanee. Queste si cancellano al momento della chiusura della sessione. E questo è l'unico punto che ancora non ho ben capito; perchè alla chiusura e riapertura di SQL Developer, la tabella stava ancora la. Da quanto ho capito le sessioni non scadono subito, ma dopo un tot di tempo; quindi considerate l'eventuale cancellazione della tabella quando avete finito, in modo da non rishciare di incastrarvi.

Mondo Web - Alternative a Google Analytics
Alternative a Google Analytics

Alternative a Google Analytics

Google Analytics lo conosciamo praticamente tutti. E sembra quasi indispensabile averlo. Ma esistono anche delle alternative a questo servizio, ed oggi vediamo quelle che ho testato io. Però lo ammetto, alla fine sempre Google Analytics utilizzo, anche perchè è praticamente obbligatorio agganciare il sito a Google, e diventa praticamente una prassi automatica. Comunque ecco la lista.

Java - Parsing della riga di comando in Java con JCLAP
Parsing della riga di comando in Java con JCLAP

Parsing della riga di comando in Java con JCLAP

Praticamente tutte le librerie per il parsing della riga di comando in Java, sono abbastanza simili. Ce ne stanno alcuni che sono un pò più compatti, e tra c'è JCLAP! Per installarla usando Maven: <dependency> <groupId>net.snaq</groupId> <artifactId>jclap</artifactId> <version>1.4</version> </dependency>

Linux - Visualizzare i pacchetti installati in aptitude
Visualizzare i pacchetti installati in aptitude

Visualizzare i pacchetti installati in aptitude

Non tutti conoscono o usano aptitude, interfaccia di alto livello per i gestori pacchetti basati su DEB; ma io lo trovo molto meglio del classico apt. C'è una cosa un pò scomoda però, che di default non c'è la possibilità di ricercare i pacchetti visualizzando solo quelli installati. E' comunque possibile ovviare impostando dei "filtri" (non saprei come altro definirli) all'interno della ricerca.

Linux - Identificare se la CPU è 32bit o 64bit in Linux
Identificare se la CPU è 32bit o 64bit in Linux

Identificare se la CPU è 32bit o 64bit in Linux

Tendenzialmente dovremmo sapere a priori se il nostro pc monta CPU a 32bit o 64bit. E, sempre in teoria, quelli moderni sono tutti a 64bit. Ma se vogliamo esserne sicuri, vediamo come trovare questa informazione in Linux.

Javascript - AJAX - Creare variabili globali in LoopBack
Creare variabili globali in LoopBack

Creare variabili globali in LoopBack

In ogni programma ci sono valori da dover prendere in più punti. In LoopBack è possibile creare una sorta di variabili globali usando il classico module.exports o il formato JSON. Create un file dentro alla directory server; potete crearlo come file JS o JSON (io ho scelto il primo).

C - C++ - Centrare una QMainWindow in Qt
Centrare una QMainWindow in Qt

Centrare una QMainWindow in Qt

Quando lanciamo la finestra principale da QtCreator, la QMainWindow risulta centrata rispetto al desktop. Poi avviamo il programma senza passare per QtCreator, e la finestra è decentrata. Ho provato a vedere nel relativo file .ui, ma non ho trovato nulla al riguardo.

Javascript - AJAX - Controllare l'access token in LoopBack
Controllare l'access token in LoopBack

Controllare l'access token in LoopBack

LoopBack permette di creare un access toke direttamente dall'explorer. In alto a destra, nella casella di testo, mettete il token che volete e poi cliccate su Set Access Token. A questo punto, supponiamo di voler interrogare un model se e solo se viene passato l'access token. In sostanza, questo è valido: localhost:3000/api/movimenti?access_token=d2cc8dfc45564558bbfc373e8f0adfc1134901f9

Linux - Cancellare file in maniera sicura su Linux con srm
Cancellare file in maniera sicura su Linux con srm

Cancellare file in maniera sicura su Linux con srm

Un programma molto usato per la cancellazione dei file in Linux è srm (Secure-deletetion). Rispetto a shred, è più facile da usare, in quanto ha meno opzioni. Vediamo come usarlo.

Javascript - AJAX - Join tra modelli in LoopBack
Join tra modelli in LoopBack

Join tra modelli in LoopBack

In pratica, nel mio db, ho una tabella movimenti, che ha due FOREIGN KEY su altre due tabelle (causali e conti). Ogni movimento può avere un conto e una causale. Nel momento in cui vado a creare in LoopBack le relazioni, il modello risultante è comunque così: [ { "mov_id": 0, "mov_tipo": "string", "mov_valore": 0, "mov_causale_fk": 0, "mov_conto_fk": 0, "mov_data": "2017-10-06T13:44:32.241Z", "mov_note": "string", "mov_utente_fk": 0, "mov_aggiunta": "2017-10-06T13:44:32.241Z" } ] Come vedete non c'è traccia delle tabelle collegate, mentre io avrei bisogno di vedere anche quei campi.

Java - Intercettare il tasto CANC su una TableView in JavaFX
Intercettare il tasto CANC su una TableView in JavaFX

Intercettare il tasto CANC su una TableView in JavaFX

Abbiamo la nostra bella TableView in JavaFX: <TableView fx:id="tblBooks" BorderPane.alignment="CENTER" onKeyPressed="#deleteBook"/> E vogliamo intercettare il tasto CANC / DEL, e di conseguenza compiere un'azione (generalmente cancellare riga). Come fare?

Linux - Trovare tutti i fonts installati su Linux da riga di comando
Trovare tutti i fonts installati su Linux da riga di comando

Trovare tutti i fonts installati su Linux da riga di comando

Avevo necessità di capire quali fonts fossero installati sul mio server Linux, al quale accedo tramite SSH. Quindi avevo bisogno di comando da terminale. Ho scoperto che esiste e si chiama fc-list!

Mondo Web - JSONbin.io: servizio di storage per JSON
JSONbin.io: servizio di storage per JSON

JSONbin.io: servizio di storage per JSON

In sostanza, JSONbin.io è un servizio in cui è possibile salvare dei dati in formato JSON per condividerli con altri. Una volta sul sito, incollate il vostro JSON, e poi cliccate sul tasto CREATE.

Javascript - AJAX - LoopBack: correggere l'errore 'Unknown column id in field list'
LoopBack: correggere l'errore 'Unknown column id in field list'

LoopBack: correggere l'errore 'Unknown column id in field list'

Sto iniziando a sviluppare un REST service con LoopBack, e sono rimasto veramente estasiato dalle sue possibilità sviluppate in poco tempo! Grazie alla sua CLI, è possibile fare tantissime cose scrivendo poco codice. Ed il fatto che venga messa a disposizione una pagina per testare i servizi in maniera automatica (il cosidetto explorer) mi ha lasciato di stucco! Detto ciò, qualche problematica la sto riscontrando.

Linux - Usare il comando dir in Linux
Usare il comando dir in Linux

Usare il comando dir in Linux

Quando vogliamo visualizzare il contenuto di una directory in Linux, in genere usiamo il comando ls. Ma c'è anche il comando dir che ci permette di visualizzare il contenuto di una directory. Vediamo qualche esempio, partendo dal fatto che se non viene indicata una directory, viene presa quella corrente di default: $ dir client common node_modules package.json package-lock.json README.md server

Java - Parsing della riga di comando in Java con parse-cmd
Parsing della riga di comando in Java con parse-cmd

Parsing della riga di comando in Java con parse-cmd

La libreria che andremo a vedere oggi per il parsing della riga di comando in Java, rispetto alle altre che abbiamo già visto, è formata da una sola classe. Quindi, se volete, potete anche copiarvi direttamente la classe da GitHub invece di includere il JAR. Comunque risulta completa lo stesso, anche se così leggera.

Linux - Cancellare file in maniera sicura su Linux con shred
Cancellare file in maniera sicura su Linux con shred

Cancellare file in maniera sicura su Linux con shred

Se volesismo cancellare uno o più files in maniera sicura su Linux, avremmo diverse alternative. Tra queste c'è shred! In teoria dovrebbe essere già installato. Il suo utilizzo è molto semplice, per questo vi invito a stare attenti a cosa cancellate!

C# - Asp.NET - Integrare Github in C#
Integrare Github in C#

Integrare Github in C#

Attraverso la libreria Octokit, è possibile integrare GitHub nei nostri progetti .NET. Oggi vediamo come usarla in C#. Eseguiremo il login, ed estrarremmo qualche info. Prima di tutto, però, dobbiamo installare la libreria, e possiamo farlo tramite NuGet da Visual Studio.

Java - Leggere file Excel con Java e Apache POI
Leggere file Excel con Java e Apache POI

Leggere file Excel con Java e Apache POI

Abbiamo già visto altre visto la libreria Apache POI, che ci consente di manipolare file MS Office in Java. Oggi vediamo come leggere un file Excel. Se usate Maven, aggiungete questo al file pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency>

Linux - Identificare quale versione del kernel è installato
Identificare quale versione del kernel è installato

Identificare quale versione del kernel è installato

Come non tutti sanno, Linux non è un sistema operativo, ma un kernel sul quale si basano diversi sistemi operativi (dette distribuzioni o distro). Può essere quindi importante sapere quale versione del kernel è installato sul nostro sistema.

C# - Asp.NET - Usare await nel Main in C#
Usare await nel Main in C#

Usare await nel Main in C#

Oggi stavo giocando con una libreria che richiede la chiamata ai metodi con await. Ma in C# non si possono usare direttamente nel Main, e non è possibile rendere il Main async. Quindi come si può aggirare il problema?

PHP - Creare un template per Wordpress
Creare un template per Wordpress

Creare un template per Wordpress

Ho scoperto che creare un template per Wordpress non è una cosa molto difficile. Quanto meno a livello basico. Vediamo i passi da seguire, mettendoci dentro Twitter Bootstrap 4. Considerate che avremo un misto di HTML, CSS e PHP. Do per scontato che abbiate già installato Wordpress; nella cartella di installazione, andate in wp-content/themes, e create una directory che conterrà tutto il necessario (test ad esempio).

Linux - Utilizzare il comando dirname su Linux
Utilizzare il comando dirname su Linux

Utilizzare il comando dirname su Linux

Di sicuro non è tra i comandi più usati e conosciuti in ambito Linux, ma dirname può essere utile in vari contesti. Sostanzialmente questo comando "elimina" l'ultima parte di un path.

Javascript - AJAX - Usare Mustache con Node.js
Usare Mustache con Node.js

Usare Mustache con Node.js

In questo articolo avevamo visto come usare Mustache con Javascript e AJAX. Oggi vediamo un esempio basico con Node.js. Prima di tutto installate la libreria (mu2): # npm install -g mu2

Java - Creare file YAML in Java con YamlBeans
Creare file YAML in Java con YamlBeans

Creare file YAML in Java con YamlBeans

In questo articolo avevamo visto come usare YamlBeans per leggere file YAML in Java. Oggi vediamo come usare la stessa libreria per crearli. Se usate Maven, aggiungete questa dipendenza al pom.xml: <dependency> <groupId>com.esotericsoftware.yamlbeans</groupId> <artifactId>yamlbeans</artifactId> <version>1.06</version> </dependency>

Linux - Aggiornare da Debian 8 a Debian 9
Aggiornare da Debian 8 a Debian 9

Aggiornare da Debian 8 a Debian 9

Ieri ho aggiornato la mia prima Debian 8 Jessie a Debian 9 Stretch; dico la prima perchè ho altri server su cui eseguire l'aggiornamento. La procedura è filata senza problemi, ed è un server di produzione dove tengo uno dei miei siti (matteoferrone.it). Vediamo quali sono i passaggi che ho seguito. Prima di tutto installiamo gli ultimi aggiornamenti: # apt-get update # apt-get upgrade # apt-get dist-upgrade # reboot L'ultimo comando riavvia il server!

News - Running vs Bike
Running vs Bike

Running vs Bike

Oltre che di informatica, sono anche un gran appassionato di sport. E quindi, dopo parecchio tempo, hoi deciso di riportarvi la mia personale esperienza su queste due attività sportive! Partiamo dal presupposto che per anni ho praticato il running; avevo anche cominciato ad allenarmi per la maratona di New York. Fino a che ho scoperto che le mie ginocchia non possono reggere la corsa; con mio grandissimo rammarico ho dovuto smettere.

Linux - Visualizzare la data da terminale in Linux
Visualizzare la data da terminale in Linux

Visualizzare la data da terminale in Linux

Mi è capitato più volte di avere problemi con le date in Linux (soprattutto con i servizi virtuali installati in altri paesei). Se gestiamo i nostri server tramite SSH, abbiamo un ottimo comando per visualizzare la data: date! Per un sysadmin è molto importante conoscere questo comando, anche perchè viene spesso inserito negli script in cui è importante tenere traccia della data.

Database & Server - Come installare PostgreSQL in Debian 9
Come installare PostgreSQL in Debian 9

Come installare PostgreSQL in Debian 9

In genere uso MariaDB come database, ma esplorare anche altre soluzioni non fa male. Oggi vediamo come installare PostgreSQL in Debian 9. # aptitude update # aptitude install postgresql

Software - Pulire la cache DNS in Chrome
Pulire la cache DNS in Chrome

Pulire la cache DNS in Chrome

Ho scoperto che Chrome ha anche una sua cache DNS. Quindi, se abbiamo la necessità di svuotare la cache DNS di sistema per qualche motivo, dobbiamo anche controllare quella di Chrome.

PHP - Usare array_filter in PHP con parametri
Usare array_filter in PHP con parametri

Usare array_filter in PHP con parametri

La funzione array_filter di PHP è molto comoda quando si vuole cercare / filtrare dati in un array senza dover riscrivere tutta la logica. Solo che non è proprio facile da capire, soprattutto quando abbiamo bisogno di più flessibilità rispetto agli esempi standard. Ad esempio, io avevo bisogno di passare un parametro aggiuntivo alla funzione di callback. Ho trovato due soluzioni, in base alla versione di PHP.

Javascript - AJAX - Ottenere le dimenzioni del localStroage in Javascript
Ottenere le dimenzioni del localStroage in Javascript

Ottenere le dimenzioni del localStroage in Javascript

Il localStorage, tra le varie novità rispetto ai cookie, porta una maggior dimensione disponibile per salvare i dati. Dipende un pò dai browser, però possiamo dire che siamo intorno ai 5MB.

Linux - Controllare l'uso della RAM in Linux con ps_mem
Controllare l'uso della RAM in Linux con ps_mem

Controllare l'uso della RAM in Linux con ps_mem

In genere per controllare l'uso della memoria RAM in Linux, usiamo comandi come free o top. Ho scoperto che esiste anche una piccola utility scritta in Python, che può risultare comoda da usare: ps_mem! Per installarla su Arch Linux: # pacman -Sy ps_mem

Database & Server - Eseguire script Python in Apache
Eseguire script Python in Apache

Eseguire script Python in Apache

Su un server con Debian, devo eseguire degli script in Python. Non c'è la necessità di installare tutto un framework, ma mi basta richiamarli al volo. Python rientra negli script CGI, e quindi va configurato.

PHP - Trovare il titolo di una pagina web con PHP
Trovare il titolo di una pagina web con PHP

Trovare il titolo di una pagina web con PHP

In un piccolo progettimo di web scraping in PHP, avevo la necessità di identificare il titolo di una pagina web partendo dal suo url. Usando le funzioni file_get_contents e preg_match è abbastanza facile. La prima funzione si occupa di recuperare il contenuto di quello che gli viene passato in argomento. La seconda esegue una ricerca con le espresisoni regolari.

Linux - Configurare la timezone in Debian
Configurare la timezone in Debian

Configurare la timezone in Debian

Su un servizio VPS dove ho Debian 8, guardando i log, ho scoperto che l'orario era decisamente sbagliato. Infatti avevo una timezone piuttosto esotica per me che abito in Italia: quella americana!

Java - Leggere file Word in Java con Apache POI
Leggere file Word in Java con Apache POI

Leggere file Word in Java con Apache POI

Apache POI è un'ottima libreria per visualizzare e manipolare file di MS Office. Oggi vediamo come leggere file Word (DOC e DOCX). Li specifico entrambi perchè richiedono parti di libreria e classi differenti. Se usate Maven aggiungete queste dipendenze al pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.17</version> </dependency>

Progetti - JImageWatermark: nome del file come watermark
JImageWatermark: nome del file come watermark

JImageWatermark: nome del file come watermark

Ho creato un piccolo programma da riga di comando in Java, che consente di applicare un watermark alle immagini in maniera massiva. L'unica opazione è il path delle immagini, e l'unico watermark applicabile è il nome dell'immagine stessa.

Javascript - AJAX - Download dei file tramite AJAX
Download dei file tramite AJAX

Download dei file tramite AJAX

Javascript nasce come un linguaggio lato client, e quindi non può accedere ed eseguire operazioni lato server (a meno di non usare framework specifici ovviamente, ma non è il nostro caso). La mia necessità è quella di far scaricare agli utenti un file tramite AJAX. Questo perchè il file, prima di essere creato, richiede un pò di elaborazione. Usando un linguaggio lato server (nel nostro caso PHP) è possibile eseguire questa operazione.

Windows - Come identificare il serial number degli hard disk in Windows
Come identificare il serial number degli hard disk in Windows

Come identificare il serial number degli hard disk in Windows

Non sono solito usare la riga di comando in Windows, ma ogni tanto scoprire qualche comando utile può solo che far bene. Vediamo come identificare il seril number degli hard disk (o in generale degli hard drive), sia il volume serial number che l'hard drive serial number.

Java - Leggere file YAML in Java con YamlBeans
Leggere file YAML in Java con YamlBeans

Leggere file YAML in Java con YamlBeans

E' la prima volta che tratto il formato YAML, perchè in genere cerco di usare JSON (o XML al limite). Però ho dovuto mettermi in pari anche su questo formato. Al link postato sopra potete avere una panoramica e qualche esemppio. Qui invece potete vedere una lista di librerie per svariati linguaggi.

Java - Parsing della riga di comando in Java con Argparse4j
Parsing della riga di comando in Java con Argparse4j

Parsing della riga di comando in Java con Argparse4j

Tra le varie librerie che fino ad ora ho testato per fare il parsing della riga di comando in Java, Argparse4j è una di quelle che consiglio. Se usate Maven aggiungete questa dipendenza al vostro pom.xml: <dependency> <groupId>net.sourceforge.argparse4j</groupId> <artifactId>argparse4j</artifactId> <version>0.7.0</version> </dependency>

Linux - Contare le occorrenze di una parola su Linux con grep
Contare le occorrenze di una parola su Linux con grep

Contare le occorrenze di una parola su Linux con grep

grep è sicuramente uno dei comandi più usati in ambito Linux. Questo perchè ha una flessibilità incredibili sulle operazioni che può svolgere. Oggi vediamo un esempio semplice, e cioè contare le occorrenze di una parola in un testo.

Kotlin - Creare file ZIP in Kotlin
Creare file ZIP in Kotlin

Creare file ZIP in Kotlin

Continuando nel mio studio di Kotlin, mi sono imbattutto nella creazione di file ZIP con più files contemporaneamente. Quindi, per fare un esempio basico, partendo da un array di file, vediamo come inserirli in un file ZIP.

Python - Sostituire parole in Python
Sostituire parole in Python

Sostituire parole in Python

Se vogliamo sostituire delle parole in un testo usando Python, possiamo usare la funzione replace! Vediamo un esempio funzionante (e banale): str = "Ciao, questo è il blog di Pippicalzelunghe" print(str.replace("Pippicalzelunghe", "Mattepuffo")) Ciao, questo è il blog di Mattepuffo

Linux - Comparare file ordinati in Linux con comm
Comparare file ordinati in Linux con comm

Comparare file ordinati in Linux con comm

Supponiamo di avere due file, con dati ordinati: $ cat file1.txt 1 4 56 78 980 $ cat file2.txt 2 3 56 58 98

Java - Come risolvere l'errore java.lang.RuntimeException: Could not generate DH keypair
Come risolvere l'errore java.lang.RuntimeException: Could not generate DH keypair

Come risolvere l'errore java.lang.RuntimeException: Could not generate DH keypair

L'altro giorno stavo cercando di eseguire il download da un mio programma in Java da un sito con HTTPS. Cosa già fatta varie altre volte; solo che questa volta, su questo sito, riscontravo questo errore (vi posto una parte del trace): javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair ...... Caused by: java.lang.RuntimeException: Could not generate DH keypair ...... Caused by: java.security.InvalidAlgorithmParameterException: DH key size must be multiple of 64, and can only range from 512 to 2048 (inclusive). The specific key size 4096 is not supported ......

Linux - Installare Latte Dock su Ubuntu
Installare Latte Dock su Ubuntu

Installare Latte Dock su Ubuntu

Latte Dock è una delle dock più apprezzate in ambito Linux. Ed è una di quelle che più si avvicina al concetto di doc di macOS. Solo che non è presente nei repo ufficiali di Ubuntu.

PHP - Generare url codificati da array in PHP
Generare url codificati da array in PHP

Generare url codificati da array in PHP

Ho scoperto una funzione di PHP che ci consente di passare i parametri prendendo i valori da un array: http_build_query! Può essere molto comoda per generare url dinamici partendo da un qualsiasi array (magari anch'esso creato dinamicamente). Vediamo qualche esempio.

Database & Server - Controllare le connessioni attive in Oracle
Controllare le connessioni attive in Oracle

Controllare le connessioni attive in Oracle

In Oracle è abbastanza semplice controllare le connessioni attive interrogando V$SESSION. Ad esempio: SELECT * FROM v$session WHERE username IS NOT NULL ORDER BY username ASC;

Java - Integrare GitHub in Java
Integrare GitHub in Java

Integrare GitHub in Java

Ci sono diverse librerie ed SDK per integrare GitHub nei nostri programmi, per tantissimi linguaggi. Oggi vediamo un esempio in Java usando la GitHub Java API! Se usate Maven, aggiungete questo al vostro pom.xml: <dependency> <groupId>org.eclipse.mylyn.github</groupId> <artifactId>org.eclipse.egit.github.core</artifactId> <version>2.1.5</version> </dependency>

Kotlin - Connessione a MariaDB in Kotlin
Connessione a MariaDB in Kotlin

Connessione a MariaDB in Kotlin

Come già detto più volte, essendo Kotlin basato su Java, è possibile usare le stesse librerie. E così per connetterci ad un database MariaDB (e MySQL) possiamo usare lo standard JDBC! Oggi ne vediamo un esempio basico, giusto per iniziare.

Database & Server - Cancellare le sessioni PHP da Apache
Cancellare le sessioni PHP da Apache

Cancellare le sessioni PHP da Apache

Oggi avevo la necessità di eliminare tutte le sessioni PHP di Apache, senza riavviare il server. Come fare? Quando usate le sessioni in PHP, in accoppiata con Apache, PHP salva diversi file in /var/lib/php5/sessions.

Ruby - Usare Mustache con Ruby
Usare Mustache con Ruby

Usare Mustache con Ruby

Mustache è uno dei template engine più utilizzati, anche perchè supporta una pletora di linguaggi. Oggi ne vediamo un esempio in Ruby! Prima di tutto installiamo la libreria con GEM: $ gem install mustache

Mondo Web - Condividere immagini con Postimage
Condividere immagini con Postimage

Condividere immagini con Postimage

Ho scoperto un ottimo servizio gratuito attraverso è possibile condividere immagini: Postimage.org! Una volta sulla pagina, anche senza aver effettuato il login, potete caricare una immagine scegliendo il tipo di ridimensionamento e la scadenza.

Linux - Eseguire comandi su server multipli in Linux
Eseguire comandi su server multipli in Linux

Eseguire comandi su server multipli in Linux

Se abbiamo più server basati su Linux, dobbiamo collegarci su ognuno singolarmente ed eseguire gli stessi comandi più volte. Fino a che sono un paio, nulla di serio; ma quando magari sono une ventina, può diventare problematico! Ho scoperto, però, DSH, che ci permette di eseguire lo stesso comando su più server contemporaneamente tramite SSH.

Javascript - AJAX - Come installare e usare nodemon con Node.js
Come installare e usare nodemon con Node.js

Come installare e usare nodemon con Node.js

Quando sviluppiamo un programma in Node.js, dobbiamo riavviare il programma ogni volta che effettuiamo una modifica. Alla lunga può essere un pò snervante! Ho scoperto che esiste un modulo apposito: nodemon!

Linux - Visualizzare video in streaming tramite il terminale in Linux
Visualizzare video in streaming tramite il terminale in Linux

Visualizzare video in streaming tramite il terminale in Linux

Specifico subito che si tratta di un programma da lanciare da terminale per Linux, ma che in verità visualizza il video attraverso l'applicazione predefinita di sistema. In pratica, prende in input lo streaming dall'url indicato, e lo invia al riproduttore video di default (VLC ad esempio). Può essere comunque utile in diverse occasioni, quindi diamogli uno sguardo.

Software - Cancellare i dati EXIF dalle immagini con Firefox
Cancellare i dati EXIF dalle immagini con Firefox

Cancellare i dati EXIF dalle immagini con Firefox

Installando i plugin giusti, possiamo trasformare Firefox in un programma tutto fare. Possiamo addirittura ripulire i dati EXIF dalle immagini che abbiamo sul nostro pc. Per dati EXIF si intendono tutti quei metadati salvati nelle immagini.

Java - Parsing della riga di comando in Java con JOpt
Parsing della riga di comando in Java con JOpt

Parsing della riga di comando in Java con JOpt

Ecco un'altra libreria per il parsing della riga di comando in Java: JOpt! Molto semplice da usare, forse più di altre; ma forse anche meno flessibile e completa. Però non mi dispiace, soprattutto se vogliamo qualcosa di semplice e da creare al volo. Se usate Maven aggiungete questa dipendenza: <dependency> <groupId>net.sf.jopt-simple</groupId> <artifactId>jopt-simple</artifactId> <version>5.0.4</version> </dependency>

Kotlin - Leggere l'input dell'utente in Kotlin
Leggere l'input dell'utente in Kotlin

Leggere l'input dell'utente in Kotlin

Senza usare librerie esterne (cosa fattibile visto tutte le librerie disponibili per Java), per intercettare l'input dell'utente in Kotlin possiamo usare sia la classe Scanner che readLine. Io preferisco Scanner, e quindi vedremo un esempio basico usando questa classe.

Java - Come ottenere le proprietà di sistema in Java
Come ottenere le proprietà di sistema in Java

Come ottenere le proprietà di sistema in Java

Java contiente la classe System che ci consente di ottenere diverse informazioni di sistema. Non ci consente di ottenere info di basso livello come ad C++, ma sono comunque utili.

Linux - Comparare file in Linux con cmp
Comparare file in Linux con cmp

Comparare file in Linux con cmp

Oggi ho fatto la scoperta del comando cmp, che in pratica compara due o più files byte byte in Linux. Può essere utile in varie occasioni, e non è una alternativa al comandi diff. Vediamo qualche esempio; ho creato due file con tre nomi ciascuno, con solo l'ultima riga diversa.

Java - Parsing della riga di comando in Java con JewelCli
Parsing della riga di comando in Java con JewelCli

Parsing della riga di comando in Java con JewelCli

Ho scoperto un'altra (l'ennesima) libreria per eseguire il parsing degli argomenti della riga di comando in Java: JewelCli! Abbastanza semplice da usare, ne vediamo un esempio. Se usate Maven, aggiungete questa dipendenza: <dependency> <groupId>com.lexicalscope.jewelcli</groupId> <artifactId>jewelcli</artifactId> <version>0.8.9</version> </dependency>

Linux - Identificare le dipendenze di un programma in Linux
Identificare le dipendenze di un programma in Linux

Identificare le dipendenze di un programma in Linux

Ho sviluppato un programma in Qt con QtCreator, e adesso voglio distribuirlo. Quali dipendenze mi devo portare se voglio usarlo su altre distro Linux? Per trovare possiamo usare ldd! Ovviamente questo comando funziona anche eseguibili non scritti in Qt.

Java - Inviare email con Gmail in Java e Apache Commons
Inviare email con Gmail in Java e Apache Commons

Inviare email con Gmail in Java e Apache Commons

Apache Commons Email è un'ottima libreria per la gestione delle email in Java. E' possibile usarla anche in Kotlin. Oggi vediamo come usare la libreria per inviare email usando l'account di Gmail (come sempre vi ricordo che va sbloccata una impostazione del vostro account per l'uso di applicazioni di terze parti). Prima di tutto installiamo la libreria; se usate Maven: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.4</version> </dependency>

Linux - Convertire PDF in SVG in Linux
Convertire PDF in SVG in Linux

Convertire PDF in SVG in Linux

Vacanze finite, si ritorna a lavoro. Cominciamo con un piccolo programmino che ci consente di convertire i file PDF in SVG. SVG è un formato grafico leggero e flessibile, ed è anche consigliato nello sviluppo di applicazioni web. Su Linux possiamo usare un tool apposito, che guarda caso si chiama proprio pdf2svg!

C - C++ - Avere una sola istanza di un programma in Qt
Avere una sola istanza di un programma in Qt

Avere una sola istanza di un programma in Qt

Ho creato un piccolo programma per la mia azienda, che non deve essere lanciato più di una volta sullo stesso pc. Questo perchè esegue diverse operazioni su database, e non è cosa buona tenere il programma aperto più volte.

Ruby - Usare il pattern Singleton in Ruby
Usare il pattern Singleton in Ruby

Usare il pattern Singleton in Ruby

Volenti o nolenti, il pattern Singleton è molto utilizzato. Oggi vediamo la sua implementazione in Ruby.

Mondo Web - Modificare file Photoshop online con Photopea
Modificare file Photoshop online con Photopea

Modificare file Photoshop online con Photopea

I programmi di grafica non sonon proprio il mio forte. Ma mi capita spesso di imbattermi nei file PSD di Photoshop. Sul mio pc, con Linux, ho sempre Gimp installato; ma può capitare di dover fare una modifica al volo senza avere nessun programma installato.

Java - Impostare il grassetto in Apache POI con Java
Impostare il grassetto in Apache POI con Java

Impostare il grassetto in Apache POI con Java

Quando si crea un file Excel, la maggior parte delle volte si imposta la prima riga come intestazione, e si usa colorarla e metterla in grassetto. Oggi vediamo come fare questo in Java quando creiamo un file Excel usando Apache POI.

Windows - Visualizzare l'utilizzo delle risorse di sistema nella system tray in Windows 10
Visualizzare l'utilizzo delle risorse di sistema nella system tray in Windows 10

Visualizzare l'utilizzo delle risorse di sistema nella system tray in Windows 10

Il Task Manager di Windows funziona effettivamente bene. Ed è uno strumento che la Microsoft ha continuato a migliorare. Quello che però ancora manca, è la possibilità di avere un applet nella system tray per avere sempre a portata di mano le risorse di sistema (cosa che in altri OS esiste da un secolo).

C - C++ - Riempire una QTableWidget da file CSV
Riempire una QTableWidget da file CSV

Riempire una QTableWidget da file CSV

La mia esigenza era quella di riempire una QTableWidget usando un file CSV. Postare tutto il codice è un pò complicato, quindi vi posterò solo ciò che serve.

Python - Usare Mustache con Python
Usare Mustache con Python

Usare Mustache con Python

Mustache è uno dei template engine più utilizzati, anche perchè supporta una pletora di linguaggi. Oggi ne vediamo un esempio in Python; la libreria per questo linguaggio si chiama pystache! Nel tutorial useremo Python 3, ma sono supportate anche le versioni più vecchie.

Linux - Controllare la stato dei server Linux in tempo reale con Linfo
Controllare la stato dei server Linux in tempo reale con Linfo

Controllare la stato dei server Linux in tempo reale con Linfo

Linfo è un'ottima applicazione scritta principalmente in PHP che ci permette di monitorare la status di un server Linux in tempo reale usando il nostro browser. Non richiede un database, ma essendo un linguaggio lato server, richiede che ci sia un server web configurato e funzionante.

Java - Parsing della riga di comando in Java con args4j
Parsing della riga di comando in Java con args4j

Parsing della riga di comando in Java con args4j

args4j è una delle varie librerie per eseguire il parsing della riga di comando in Java. Se usate Maven aggiungete questo al vostro pom.xml: <dependency> <groupId>args4j</groupId> <artifactId>args4j</artifactId> <version>2.33</version> </dependency>

Java - Eseguire richieste HTTP in Java con Fuel
Eseguire richieste HTTP in Java con Fuel

Eseguire richieste HTTP in Java con Fuel

Fuel è una delle tante librerie per Java per eseguire richieste HTTP. E' abbastanza semplice da usare, e per certi versi mi ricorda la sintassi di Javascript. Se usate Maven, aggiungete queste dipendenze: <dependency> <groupId>com.github.kittinunf.fuel</groupId> <artifactId>fuel</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>com.github.kittinunf.result</groupId> <artifactId>result</artifactId> <version>1.1.0</version> </dependency> Compilate il progetto per scaricare la libreria.

Linux - Accedere a Google Drive da Linux
Accedere a Google Drive da Linux

Accedere a Google Drive da Linux

Google non ha mai dato un grandissimo supporto a Linux per quanto riguarda Google Drive. Ci sono dei programmi per usarlo, ma nessuno ufficiale (o almeno così ho capito). Tra i più usati c'è Google-Drive-Ocamlfuse!

Kotlin - Usare il pattern Singleton in Kotlin
Usare il pattern Singleton in Kotlin

Usare il pattern Singleton in Kotlin

Partiamo dal presupposto che in Kotlin non esiste il concetto di statico. Quindi è possibile usare il pattern Singleton, ma in maniera un pò differente da Java. Avremmo sempre il costruttore (primario) privato, e al posto di metodi statici useremo i companion object.

Java - Parsing JSON in Java con Jackson
Parsing JSON in Java con Jackson

Parsing JSON in Java con Jackson

Jackson è una delle varie librerie con cui eseguire il parsing del JSON con Java. Nel mio caso l'ho dovuta usare per eseguire il parsing senza sapere a priori la struttura del JSON (quindi senza sapere quanti campi per record, e di che tipo sono). Diamo a Cesare quel che è di Cesare, e quindi vi link la discussione sul forum HTML.it.

Javascript - AJAX - Inviare email con Node.js
Inviare email con Node.js

Inviare email con Node.js

Inviare email in Node.js è abbastanza semplice usando il modulo nodemailer! Cominciamo con package.json: { "name": "TestEmail", "version": "1.0.0", "keywords": [], "author": "Mattepuffo", "contributors": [], "dependencies": { "nodemailer": "*" } }

Java - Creare file Excel in Java con Apache POI
Creare file Excel in Java con Apache POI

Creare file Excel in Java con Apache POI

Apache POI è una libreria per Java per la manipolazione dei file di MS Office. Oggi vediamo un esempio su come creare un file Excel. Se usate Maven, aggiungete questo al vostro pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version> <type>jar</type> </dependency>

Network & Sniffing - Estrarre il nome di dominio da terminale su Linux
Estrarre il nome di dominio da terminale su Linux

Estrarre il nome di dominio da terminale su Linux

In pratica, dato un url qualsiasi, vogliamo estrarre il nome di dominio usando il terminale in Linux. Possiamo ottenere questo risultato sia con AWK che con SED. Ovviamente possiamo usare questi esempi anche dentro a degli script.

Java - Parsing della riga di comando in Java con Commandline
Parsing della riga di comando in Java con Commandline

Parsing della riga di comando in Java con Commandline

Commandline è una delle tante librerie per Java per il parsing della riga di comando. E' abbastanza semplice da usare, anche se al momento non rientra tra le mie preferite. Vediamo un esempio in cui impostiamo due opzioni: nome, di tipo stringa vebosità, di tipo booleano L'esempio è basico, e sul sito ci stanno diversi esempi avanzati.

Linux - Creare una lista dei pacchetti installati in Debian
Creare una lista dei pacchetti installati in Debian

Creare una lista dei pacchetti installati in Debian

Supponiamo di reinstallare Debian, e di voler reinstallare tutti i pacchetti presenti precedentemente. Come possiamo fare? Prima di tutto possiamo creare la lista in maniera semplice: $ dpkg-query -f '${binary:Package}n' - > pacchetti.txt

Linux - Cambiare priorità dei processi in Linux con ionice
Cambiare priorità dei processi in Linux con ionice

Cambiare priorità dei processi in Linux con ionice

Ci sono alcune operazioni per le quali sarebbe meglio cambiare la priorità, in modo da usare al meglio le risorse di sistema. Su Linux possiamo cambiare priorità ad un processo usando ionice! Facciamo un esempio reale: vogliamo cancellare da riga di comando file molto grandi (anche 300GB), senza bloccare il pc.

Kotlin - Eseguire richieste HTTP in Kotlin con Fuel
Eseguire richieste HTTP in Kotlin con Fuel

Eseguire richieste HTTP in Kotlin con Fuel

Fuel è un'altra libreria per eseguire richieste HTTP in Kotlin. Di base ha due dipendenze; se usate Maven: <dependencies> <dependency> <groupId>com.github.kittinunf.fuel</groupId> <artifactId>fuel</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>com.github.kittinunf.result</groupId> <artifactId>result</artifactId> <version>1.1.0</version> </dependency> </dependencies>