Visualizzazione post con etichetta tips. Mostra tutti i post
Visualizzazione post con etichetta tips. Mostra tutti i post

venerdì 3 maggio 2019

Tips: Unigram

Non c’è dubbio che Telegram sia una piattaforma di gran lunga migliore di WhatsApp, soprattutto perché è basata su un’architettura cloud “vera” (che gli permette di essere multi-device) e non sul database di messaggi e immagini immagazzinato sul telefono dell’utente.

Particolarmente comoda è l’esistenza di molte diverse applicazioni (mobile, web, desktop) tutte sempre sincronizzate ed intercambiabili: https://telegram.org/apps

In mobilità utilizzo l’applicazione Android, mentre quando sono in ufficio utilizzo l’applicazione nativa (quella presente sul Windows Store).

L’applicazione Android ha la capacità di supportare nativamente più account diversi, permettendo così di gestire diversi profili e cambiare rapidamente tra di essi. L’applicazione desktop ufficiale, invece, non ha questa capacità.

Si trovano diverse guide per permettere di attivare diverse istanze di Telegram Desktop in parallelo, ciascuna su un profilo diverso, ma è una soluzione pesante in termini di risorse e tutto sommato poco elegante.

Ma il fatto che (1) esiste un problema e (2) il protocollo e le API di Telegram sono pubbliche, fanno sì che gli sviluppatori si diano da fare e trovino delle soluzioni al problema. Le API aperte vincono sempre!

Ed infatti esiste Unigram, che è un clone praticamente identico di Telegram (tra l’altro, open source) che ha implementato la funzionalità multi-profilo. Per la massima comodità, anche Unigram è disponibile sul Windows Store.

lunedì 7 gennaio 2019

Tips: Dizionario italiano in JetBrains

Gli IDE prodotti da JetBrains sono ottimi strumenti per lo sviluppo di applicazioni nei più disparati linguaggi. Inoltre, le versioni professionali degli IDE sono gratuite per studenti e docenti. In particolare, uso molto spesso PyCharm per programmare in Python.

Nella scrittura del codice, PyCharm segnala non solo (ovviamente!) gli errori di sintassi, semantica e stile nel codice, ma anche gli errori di ortografia (spelling) contenuti nei nomi delle variabili, delle funzioni, e nelle stringhe di testo.

Il controllo ortografico avviene normalmente in lingua inglese, ma è possibile aggiungere dizionari anche di altre lingue. Ad esempio, spesso noi italiani utilizziamo un misto di italiano ed inglese sia come identificatori di variabili e funzioni, sia come messaggi in output.

La procedura per installare nuovi dizionari è ben documentata in questa pagina della documentazione ufficiale JetBrains. e vengono supportati sia dizionari sotto forma di lista di parole (una parola per linea, con estensione .dic), sia dizionari nel formato Hunspell (composti da un elenco di parole .dic ed una serie di regole di modifica .aff), che però richiedono l’installazione di un plugin aggiuntivo.

Personalmente propendo per la maggior semplicità del semplice elenco di parole. Il passo successivo è: dove si trova un elenco (completo, aggiornato) di parole italiane? La cosa più semplice è fare riferimento ai dizionari ridistribuiti dall’editor WinEdt, che sono scaricabili da questa pagina.

mercoledì 5 settembre 2018

Tip: Open Live Writer

Da parecchio tempo questo blog era fermo. Il motivo principale (oltre alla pigrizia, sempre presente) è che Windows Live Writer (l’ottimo programma della suite Windows Live Essentials di Microsoft pensato per scrivere i post) non è più aggiornato da tempo, ed ha smesso di funzionare su blogger.com per via di una nuova modalità di autenticazione sui server Google.

L’interfaccia nativa di Blogger è troppo spartana ed irritante (oltre a non essere disponibile offline), ed il suo utilizzo supera già la “soglia di sbattimento”. Per cui, piuttosto che adattarsi ad un’interfaccia antipatica, non scrivo. Tanto per ricordarci quanto sia importante l’usabilità di una qualsiasi interfaccia.

Oggi qualcosa è cambiato: ho letto un articolo di PC Professionale (di Antonio Maruccia, disponibile qui) in cui si racconta che la suite Windows Live è ormai scomparso (non più supportato e non più scaricabile dai server di Microsoft). Ma la buona notizia è che l’articolo citava Open Live Writer, un’alternativa open source che raccoglie l’eredità del prodotto Microsoft abbandonato. O, come dicono gli autori: An open source fork of Microsoft's Windows Live Writer.

Adesso, con uno strumento finalmente comodo e flessibile, mi rimane solamente la pigrizia come scusa per non scrivere. Chissà se riuscirò a vincerla?

lunedì 16 febbraio 2015

Tips: emClient

La posta elettronica è sacra, per molti di noi è una parte essenziale, critica e condizionante della nostra vita lavorativa. Proprio per questo, le modalità di gestione della propria posta elettronica sono affrontate con approcci spesso infervorati, quasi religiosi.

C’è chi preferisce gestire la propria posta su un servizio ‘cloud’ (ad esempio, l’ottimo e diffusissimo gmail), e chi invece preferisce utilizzare un programma installato sul proprio PC (e qui il mondo si divide tra i sostenitori di Outlook e quelli di Thunderbird).

Poi c’è chi, come me, vuole il meglio dei due mondi: un servizio in cloud (accessibile ovunque, supportato da device mobili, affidabile nella gestione dei dati), ma che sia utilizzabile anche da un client su PC (che normalmente ha più funzioni, è più veloce, e permette di lavorare anche in modalità offline).

Anzi, questi due mondi devono fare i conti con il fatto che ormai la posta elettronica non può più essere un servizio a sé stante, ma deve necessariamente essere integrata con il calendario e con i contatti. Non è un problema per i servizi cloud (offrono tutto loro, sui loro server), ma è una complicazione per i client, che devono interfacciarsi con servizi diversi mediante protocolli diversi.

Il mio motto è: back-end sul cloud, front-end ovunque (client mobile, client windows, interfaccia web, …).

Lo storico Thunderbird è eccellente per la gestione della posta elettronica, è sufficiente/discreto nella gestione del calendario (attraverso l’estensione Lightning), ma è assolutamente inesistente per la condivisione dei contatti.

emclient-logoDa un paio d’anni ho trovato, ed utilizzo regolarmente, un programma poco noto ma estremamente completo come funzionalità: si tratta di eM Client.

Il proncipale vantaggio di eM Client è che permette di impostare un account di un provider in cloud (nel mio caso, gmail), e di lavorare localmente sincronizzando tutte le informazioni: cartelle, messaggi, calendario e contatti. In aggiunta, integra anche una funzione di chat. Il setup è di una facilità incredibile (altro che lottare con le extension di Thunderbird), le funzioni implementate sono complete (compresa la posta cifrata con s/mime, la gestione degli eventi ricorrenti, l’allineamento bidirezionale dei contatti, tutte cose critiche per i molti client che ho provato).

Ci sono ovviamente alcuni difetti, come “falsi allarmi” sui contatti (spesso il programma crede che un contatto sia stato modificato, e chiede conferma per poterlo sovrascrivere), la mancanza di scorciatoie da tastiera (questa la soffro moltissimo). Altro difetto: esiste solo per Windows, per cui i miei amici Mac e quelli Linux dovranno cercare altrove.

La versione gratuita è limitata ad un uso personale ed al massimo di 2 account, ma è più che sufficiente per un utilizzo normale. Suggerimento: provate a scaricarla da http://www.emclient.com/ e ad utilizzarla per alcuni giorni.

mercoledì 2 aprile 2014

Tips: CSVed per manipolare file CSV

Il formato CSV (comma separated variables) è un formato testuale, utilissimo per scambiare informazioni tra basi dati di tipo diverso. E’ un formato accettato da Microsoft Excel, Microsoft Access, OpenOffice/LibreOffice Calc, e dalla maggior parte dei server SQL. Molti siti Internet (soprattutto intranet) permettono di scaricare tabelle di dati in formato Excel o CSV.
Tecnicamente, si tratta di un formato testuale, i cui ciascuna riga contiene un “record” di informazione (es. una riga di Excel), ed i diversi “cambi” (es. le colonne) sono riportati sulla stessa riga, separati da un opportuno carattere.
La semplicità del formato, tuttavia, lascia spazio a molte “varianti”. Ad esempio, il carattere separatore può essere la virgola (“comma”, da cui il nome CSV), il punto e virgola (più utilizzato in Italia, per evitare confusione con la virgola decimale), o più raramente il carattere di tabulazione od il simbolo di barra verticale (|). I campi di tipo stringa possono a loro volta essere demarcati da virgolette doppie (“…”), apici semplici (‘…’) o nulla. La prima riga del file può contenere già il primo record, oppure può contenere i nomi dei campi. E così via, le varianti sono moltissime.
Se dobbiamo leggere, modificare ed agire sul formato di file di tipo CSV, ci viene in aiuto un piccolo programmino gratuito (freeware) denominato CSVed, reperibile al sito http://csved.sjfrancke.nl/ e sviluppato dall’olandese Sam Francke.
CSVed-screenshot
Il programma CSVed permette di gestire file CSV con qualsiasi variante di formato, e di eseguire una serie di operazioni di manutenzione (aggiungere, eliminare, spostare, rinominare, unire, dividere colonne) e di modifica (inserimento, aggiornamento, cancellazione, ordinamento di righe).
L’utilizzo del programma non è molto intuitivo, e l’usabilità dell’interfaccia non è tra le migliori. Superato questo ostacolo di usabilità, tuttavia, lo strumento si rivela potente e completo.

lunedì 9 settembre 2013

Tips: Non solo Dropbox

Tutti ormai conosciamo, ed in buona parte siamo dipendenti, dai servizi di sincronizzazione di file come Dropbox o i molti servizi alternativi dello stesso tipo. Sono servizi fantastici, in quanto la loro natura set-and-forget permette di avere sempre i propri file sincronizzati su una o più macchine, e/o con i propri collaboratori, senza alcuno sforzo aggiuntivo.

In alcuni casi, però, si vorrebbe avere un maggior controllo sui propri file: il “cloud” è bello, ma cedere la gestione dei propri file ad un’azienda esterna a volte può essere preoccupante, soprattutto se si tratta di documenti aziendali di carattere riservato.

ownCloud logoUltimamente sto sperimentando, per ora su piccola scala, un prodotto che si chiama ownCloud, e che ha il vantaggio di poter essere installato sul proprio server. Essendo open source, è compatibile con molte delle distribuzioni linux, ed in oltre si iniziano a trovare dei server che fanno hosting del servizio. In particolare, su OpenSUSE 12.3 l’installazione è stata condotta il 30 secondi utilizzando il pacchetto di installazione.

La modalità di funzionamento è simile a Dropbox, dove i propri dati sono salvati su un server (e sono accessibili anche via web, con tanto di accesso alle versioni precedenti ed ai file cancellati), mentre sulle proprie macchine occorre installare un piccolo “client” di sincronizzazione (disponibile per tutti i sistemi operativi, compresi quelli mobili, anche se per questi ultimi è a pagamento).

Oltre al fatto di poter decidere dove memorizzare i propri dati (eventualmente su un proprio server aziendale, assumendosi ovviamente la responsabilità della gestione e dell’integrità degli stessi), un altro vantaggio è dato dalla possibilità di definire molte cartelle di sincronizzazione indipendenti, e non necessariamente solamente il contenuto di un’unica cartella. Le funzioni di condivisione sono anche più avanzate in quanto prevedono la nozione esplicita di “gruppi”.

Il client è molto essenziale ed un po’ immaturo, ma l’impressione è che lo sviluppo proceda rapidamente (da pochi giorni è disponibile una nuova versione sensibilmente modificata).

Sicuramente un prodotto da tenere sul radar e continuare a provare.

lunedì 20 maggio 2013

HeidiSQL: front-end MySQL leggero e completo

Nello sviluppo di applicazioni, soprattutto Web, il database open source più utilizzato è certamente MySQL,distribuito dalla Oracle.

Nello specifico, il prodotto è chiamato “MySQL Community Server” ed è, appunto, un server: non dispone di interfaccia grafica vera e propria, ma viene utilizzato attraverso comandi SQL inviati sulla porta TCP/IP 3306.

Per facilitare la gestione e l’amministrazione dei database, nonché per lo sviluppo e debugging delle query, esistono però strumenti interattivi, dotati di interfaccia grafica, che semplificano la vita.

I due più noti sono:

  • MySQL Workbench: distribuito dalla Oracle insieme al server stesso. Sostituisce i più obsoleti “GUI Tools”, che però rimpiango ancora per la loro semplicità e leggerezza. Tuttavia integra un ottimo editor grafico per la progettazione degli schemi del database, prima della creazione delle tabelle stesse.
  • PhpMyAdmin: la notissima interfaccia web, scritta in PHP, che consente l’amministrazione praticamente completa di un server MySQL. Il principale svantaggio è che è scritto in PHP, pertanto richiede l’installazione di un server web (apache httpd con modulo mod_php), ed il funzionamento delle funzioni più complesse richiede la configurazione di alcune tabelle di appoggio. Solitamente si fa più in fretta ad installare un pacchetto all-in-one come XAMPP per avere il tutto funzionante al primo colpo.

heidisql_logoRecentemente ne ho scoperto un terzo, oggetto di questo post, dal nome un po’ ridicolo per le persone della mia generazione: HeidiSQL.

A parte il riferimento al cartone animato di Heidi, che non riesco a scacciare di mente, questo è un software open source scritto da Ansgar Becker, ed è abbastanza completo e, soprattutto, molto leggero (il file di installazione è circa 3,3MB ed una volta installato è intorno agli 8MB, contro gli oltre 100MB del Workbench) e veloce. Ultimamente, lo preferisco rispetto al MySQL Workbench soprattutto per via dei minori tempi di avvio.

Il difetto principale è che sia disponibile solamente per sistema operativo Windows (o linux+wine), il che ne impedisce l’utilizzo al crescente numero di utenti Mac.

Tutto sommato, mi sento di consigliarlo tra gli strumenti immancabili di uno sviluppatore. Tra l’altro, HeidiSQL viene distribuito anche insieme alla distribuzione binaria per Windows di MariaDB (la versione non-Oracle, totalmente open source, di MySQL Server, che si sta rapidamente diffondendo nelle distribuzioni linux).

martedì 5 febbraio 2013

pdftk: per il maneggio dei PDF

Oggi inauguro una nuova categoria di post: i “tips”, ossia suggerimenti, indicazioni, trucchi che utilizzo regolarmente nella mia attività, e che mi sembrano sufficientemente utili e sufficientemente sconosciuti da meritare di essere condivisi.

Parto da un’esigenza che non mi succede spesso, forse una volta al mese: devo costruire dei documenti PDF, magari mettendo insieme spezzoni proveniente da diverse fonti.

Un esempio pratico: a fine corso solitamente svolgo in aula esercizi d’esame. Affinché lo svolgimento sia più realistico, lo faccio “a mano”, scrivendo su fogli di carta (con la mia terribile grafia, ma su questo non posso farci molto…), anziché usare il PC come faccio per tutto il resto del corso. Al termine della lezione, posso scansire i fogli di carta e distribuire agli studenti il PDF. In questa fase sarebbe utile poter facilmente ruotare il file PDF scansito (di solito scrivo in modalità landscape (foglio orizzontale), ma lo scanner lavora in portrait (verticale)). Magari non tutto il file, ma solo alcune pagine, perché altre sono state scritte in modalità verticale. Inoltre, farebbe comodo aggiungere all’inizio il testo dell’esercizio, che ovviamente proviene da un altro file PDF. E magari interpolare in mezzo alcune pagine provenienti da file (frammenti di codice, disegni, appunti scritti a PC, …). In un caso lo scanner aveva erroneamente acquisito il documento in modalità doppia faccia, per cui ho dovuto estrarre le sole pagine dispari (corrispondenti alle facciate su cui avevo scritto).

Serve quindi uno strumento che, partendo da uno più file PDF in ingresso, permetta di selezionarne delle pagine, eventualmente ruotarle, ed assemblare un unico file complessivo, nel giusto ordine.

Ci sono diversi strumenti grafici reperibili in rete, ma quasi tutti sono limitati nelle funzionalità (le versioni complete sono di solito a pagamento).

Per questi compiti trovo insostituibile un piccolo programmino, eseguibile da linea di comando, che è totalmente gratuito e senza limitazioni di sorta, ed è disponibile per Windows, Mac e Linux. Sto parlando di pdftk (PDFtk Server - the PDF toolkit), utility scaricabile dal sito www.pdftk.com. Non c’è interfaccia grafica (motivo per cui è denominato ‘Server’), c’è solo un piccolo eseguibile di meno di 3MB che fa tutto!

pdftk-logo

La documentazione essenziale (sintetica, ma completa) si ottiene semplicemente attivando il programma con l’opzione –help:

pdftk –help

Diversi esempi d’uso sono altresì disponibili sul sito web. L’unica avvertenza è che il programma deve essere attivato esclusivamente dalla linea di comando (o Command Prompt, o DOS Prompt, o Terminale, come lo vogliate chiamare). Quindi un po’ di dimestichezza con le finestre di comando è indispensabile, e ringraziate che al primo anno di corso insistiamo sul farvele utilizzare…

Come dice la documentazione, con pdftk si possono fare diverse operazioni:

  • Merge PDF Documents
  • Split PDF Pages into a New Documen
  • Rotate PDF Documents or Pages
  • Decrypt Input as Necessary (Password Required)
  • Encrypt Output as Desired
  • Fill PDF Forms with X/FDF Data and/or Flatten Forms
  • Generate FDF Data Stencil from PDF Forms
  • Apply a Background Watermark or a Foreground Stamp
  • Report PDF Metrics such as Metadata and Bookmarks
  • Update PDF Metadata
  • Attach Files to PDF Pages or the PDF Document
  • Unpack PDF Attachments
  • Burst a PDF Document into Single Pages
  • Uncompress and Re-Compress Page Streams
  • Repair Corrupted PDF (Where Possible)
  • La sintassi di utilizzo non è del tutto intuitiva, ma una volta compreso il principio, si rivela decisamente potente.

    pdftk screenshot

    Alcuni esempi?

    Esempio 1: estrarre solo le pagine dispari da un file:

    Si usa il comando ‘cat’ (copia e concatena), specificando che interessa copiare dalla prima all’ultima pagina (1-end, opzionale), ma solo quelle dispari (odd).

    pdftk file1.pdf cat odd output estratto.pdf

    pdftk file1.pdf cat 1-endodd output estratto.pdf

    Esempio 2: ruotare di 90° un file:

    Altra variante del comando ‘cat’, dove questa volta specifichiamo la rotazione a destra (right) o sinistra (left).

    pdftk file1.pdf cat 1-endright output ruotato.pdf

    Esempio 3: unire due file, inserendo dopo la terza pagina del primo file l’intero secondo file, ruotato:

    In questo caso conviene dare dei nomi (A= e B=) ai file, in modo da poterli citare agevolmente in seguito. Poi il solito comando ‘cat’ specificherà le prime 3 pagine di A, poi tutto B (ruotato, a sinistra tanto per cambiare), poi dalla pagina 4 in poi di A

    pdftk A=file1.pdf B=file2.pdf  cat A1-3 Bleft A4-end output unione.pdf

    Altri esempi si trovano sul sito.

    A volte il vino buono si trova proprio nella botte piccola: piccoli programmini pieni di risorse e di flessibilità.

    L’unica cosa che non è in grado di fare, e che sarebbe utilissima, è di unire più pagine in una sola (come 4 pagine per foglio, o 6, utile per risparmiare carta). Ufficialmente, si parla di “PDF imposing” o “n-up collating”. Qualcuno conosce comode e semplici soluzioni (open source) che funzionino anche con file di grandi dimensioni (pensiamo alle 1000 slide di un corso, ad esempio….).