Lascia un commento

Slides con LaTeX: un template per Beamer

Nei mesi scorsi mi sono trovato a dover prepare qualche presentazione e ho deciso di utilizzare la classe Beamer di LaTeX.

Beamer permette di creare presentazioni molto professionali e senza troppi fronzoli, l’ideale per quello che cercavo io. I temi pero` sono pochi e non troppo curati, dunque ho perso un po’ di tempo per creare un template per le mie slides.

Ho messo a disposizione il codice su GitHub in modo che chiunque voglia avere delle slides un po’ diverse dagli altri (i temi di default sono davvero pochi e poco diversi tra di loro, dunque si rischia di avere tutti le slides identiche o quasi) puo` scaricare il file .tex e usarlo come base per le proprie slides.

Potete trovare il repository QUA.

Buon LaTeX a tutti!

1 commento

Raspberry Pi – Unboxing

Qualche giorno fa vi avevo annunciato che a breve avrei messo le mani su un Raspberry Pi. Bene, nei giorni scorsi l’oggetto è stato consegnato e ho preparato per voi un piccolo video di unboxing.

Spero vi piaccia e che vi faccia rimanere sintonizzati su queste pagine per conoscere tutti gli update su questo fantastico aggeggino!

 

Lascia un commento

dat2LaTeX migra a Git e guadagna una homepage

Ho dovuto imparare a usare Git. Dunque ho sfruttato il mio progetto personale dat2LaTeX per imparare a usarlo. Ve ne ricordate? dat2LaTeX è uno script bash che serve per trasformare un file di dati in una tabella LaTeX da poter facilmente importare nel documento .tex principale.

Da quando ve ne avevo parlato la prima volta lo script è cresciuto molto, visto che non sono solamente io a usarlo, ma sono a conoscenza di un piccolo gruppetto di persone che lo utilizzano per i loro lavori.

Ora lo script si è guadagnato un repository su GitHub. GitHub permette di creare facilmente una pagina personale per l’utente (qui la mia che in questo modo non è più ospitata sul server del dipartimento universitario dove studio) e anche una pagina dedicata al progetto. Dunque dat2LaTeX ha vinto anche una propria pagina personale.

Nella pagina troverete la lista di tutte le versioni stabili che potete scaricare e tutti i riferimenti per raggiungere il repository GitHub del progetto.

1 commento

Raspberry Pi: tra poco nelle mie mani!

Un paio di anni fa avevo parlato del Raspberry Pi (QUI e QUI), un minicomputer con architettura ARM. Finalmente tra poco sarà nelle mie mani!

Ho effettuato l’acquisto ieri su Amazon, dunque entro la prossima settimana mi verrà consegnato a casa.

Se volete procedere anche voi all’acquisto il “pacchetto” che ho comprato io è:

Raspberry Pi modello B, case trasparente ed SD SanDisk da 8 Gb. Mi sembra così di aver coniugato bene il prezzo, la qualità delle componenti (occhio soprattutto ai case, leggete le recensioni dei clienti, alcuni costano molto poco, ma non sono di qualità soddisfacente) e la velocità di spedizione, avendo scelto tutti prodotti se non venduti perlomeno spediti da Amazon.

Per ora ho fatto a meno di acquistare l’alimentatore, ne riciclerò uno di un vecchio cellulare (si alimenta con una microUSB!) dopodiché valuterò se sia il caso di procurarmene uno dedicato.

Questo era solo un piccolo annuncio, appena lo avrò tra le mani scriverò qualche articolo per raccontarvi cosa ci ho fatto, visto che al momento ho qualche idea, ma nulla di ancora ben delineato sullo scopo che può avere per me questo aggeggio.

Rimanete collegati! :^)

1 commento

Crittografia a chiave pubblica per le email: io mi sono deciso a usarla. E voi cosa aspettate?

Il titolo di questo post può sembrare aggressivo. Lo è. Perché in molti si lamentano che su internet si viene spiati, ma se “crittografia a chiave pubblica” è un nome che può sembrare difficile, ci sono strumenti software che gestiscono la faccenda al posto nostro. Noi dobbiamo solamente preoccuparci di capire come funzionano le cose o, in realtà, cosa dobbiamo fare per farle funzionare.

In realtà non dobbiamo fare molto, solo installare un software sul nostro computer e cominciare a usare la crittografia per mandare i nostri messaggi mail. Ci spiega come fare il sempre ottimo Paolo Attivissimo con 4 articoli che trovate qua: 1, 2, 3, 4.

Io da oggi firmerò la maggior parte dei miei messaggi. Potete trovare la chiave pubblica per verificare la mia firma sui server delle chiavi oppure a questo link oppure incollata qua sotto.

Buon divertimento e non fatevi spiare!

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org


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
dt0jt4UZfcK/Dc57kyxIkwl2KX7mcw==
=byH6
-----END PGP PUBLIC KEY BLOCK-----

3 commenti

Whatsapp e` stata comprata da Facebook: tempo di migrazione?

E` di qualche giorno fa la notizia che Mark Zuckerberg ha acquistato Whatsapp per 19 miliardi di dollari americani. Insomma, Facebook ha comprato Whatsapp dopo aver fagocitato Instagram. Cosa comporta questa acquisizione dal punto di vista della privacy e` possibile leggerlo in due articoli molto ben scritti dal sempre ottimo Paolo Attivissimo qui e qui. Io ho un mio personale punto di vista sulla faccenda, ma non e` l’argomento di questo articolo.

Io sono sempre stato “contro” Whatsapp, anche se ne sono utente “per forza” perche` installare (pagando) l’app e` molto piu` semplice che evangelizzare orde e orde di contatti. Sta di fatto che uso quel sistema di comunicazione molto di rado, solamente quando strettamente necessario.

I miei dubbi si fondano sul fatto che Whatsapp ha ben documentati problemi di sicurezza mai ufficialmente risolti, inoltre l’app e` (almeno la versione per iOS) lenta. Non inusabile, ma decisamente piu` lenta che altre messaggistiche. Inoltre vibra troppo. Ora starete sorridendo: ma perche` il mio telefono deve vibrare al momento della notifica della ricezione del messaggio e anche nel momento della sua effettiva visualizzazione facendomi credere che sia capitato qualcos’altro (mail, altro messaggio, ecc…)?

Dunque voglio proporvi qualche app decisamente piu` fruibile e totalmente gratuita. Inoltre io ho un particolare debole per i client per pc: passo molto tempo di fronte al computer e non dover staccare mani e occhi dallo schermo per rispondere ai messaggi e` decisamente comodo. Il fatto che Whatsapp abbia avuto cosi` tanto successo senza possedere un client pc e` un indicatore di quanto la “gente comune” abbia davvero bisogno di un computer. Ma questi sono altri discorsi.

Google Hangouts

Perfettamente integrata nell’ecosistema Google dunque perfetta per gli utenti Android, ma scommetto che anche chi possiede un iPhone ha un account Google. Peccato che anche quest’app sia decisamente un mattone, soprattutto per gli smartphone piu` vecchi, ma se ne esistono di decisamente piu` veloci non vedo perche` i signori di Google non debbano ottimizzare. Almeno un pochettino. Ovviamente esistono piu` soluzione per utilizzare Hangouts dal pc

Voto: 6.5

Viber

App di messaggistica totalmente gratuita e permette anche le chiamate. Ha un client per pc ufficiale per Windows, Mac e Linux che funziona anch’esso molto bene. L’app e` molto snella e ben fruibile.

Voto: 8.5

Telegram

Telegram aveva 200000 utenti prima che Facebook acquistasse Whatsapp. Nel giorno dell’acquisto sono stati attivati 500000 nuovi account. Una migrazione di massa? Presto per dirlo, ma ho testato questo servizio e l’app e` decisamente la migliore tra tutte quelle citate fin qua, in piu` e` completamente grauita e OpenSource. Permette chat “private” che possono essere distrutte a comando oppure dopo un tempo prestabilito che (almeno secondo quanto assicurano gli sviluppatori dell’app) non lasciano traccia sui loro server. Anche in questo caso e` presente un client web per tutte le piattaforme e anche un’app per Google Chrome. Mancano le chiamate.

Voto: 8

Migriamo?

Vi ho convinti? Direi che vi ho dato qualche buon motivo per aiutarmi nella campagna di liberazione degli utenti da Whatsapp. Installate e provate una delle precedenti (o tutte e tre se ve la sentite) e ditemi cosa ne pensate nei commenti qua sotto. Personalmente mi piace molto Telegram sia come interfaccia che come frubilita` del servizio (leggi: app molto snella e veloce), peccato che manchino le chiamate che ogni tanto fanno comodo.

Lascia un commento

Eseguire azioni in automatico su OSX: usare Launchd

Quante volte vi siete trovati a desiderare che il vostro computer eseguisse certe azioni in automatico, senza che voi non dobbiate preoccuparvi di nulla? Insomma, il nostro pc fa tantissima roba senza che noi ce ne accorgiamo, perché in mezzo a questa roba non possiamo metterci anche qualcosa che faccia comodo a noi?

Se usate Windows

Potete cambiare sistema operativo, dopodiché continuare a leggere questo articolo. Penso ci sia un metodo per automatizzare le cose anche nel sistema operativo di Microsoft, ma cambiando sistema avrete mille altri vantaggi, mi ringrazierete!

Se usate Linux

Ci viene fornito lo strumento cron. Di cui non parlerò in questo articolo (magari in uno dei prossimi, chi lo sa?) perché non l’ho mai usato, ma se cercate con Google troverete un sacco di materiale a riguardo.

Se usate OSX

Anche OSX ci fornisce cron, come se fossimo su Linux. Ma ho detto che in questo articolo non parlerà di cron e non mi sono mai occupato di altri sistemi operativi che non ho ancora citato, dunque dove sta l’inghippo?

Apple ci fornisce uno strumento un po’ meno immediato di cron, ma altrettanto utile per schedulare azioni nel nostro sistema operativo: di chiama Launchd e io vi spiegherò come cominciare a usarlo.

Condizioni iniziali

Io vi farò un esempio particolare per spiegarvi l’uso di questo strumento, poi sarete voi a dovervi inventare un utilizzo che sia intelligente per voi, eventualmente cercando altre funzioni di Launchd che io non ho trattato in questo articolo per pigrizia o perché non le ho cercate/trovate, probabilmente perché non mi servono oppure di nuovo per pigrizia.

Nello scorso articolo vi ho raccontato che ho scritto uno script bash per effettuare il backup che utilizzo per effettuare il backup di un disco esterno. Mi piacerebbe adesso che questo script venisse eseguito in automatico a intervalli regolari, in modo che io non mi debba interessare più di tanto alla faccenda e non debba lanciare lo script a mano.

Dunque abbiamo uno script bash, la volontà di eseguirlo in automatico a intervalli regolari e uno strumento per farlo. Una volta imparato a usare lo strumento dovremmo essere a posto, no?

Il file .plist

Per prima cosa dobbiamo scrivere un file con estensione .plist. Questo file conterrà le informazioni da dare a Launchd, per esempio qual è lo script che vogliamo eseguire e quanto spesso. Il nome di questo file di solito somiglia a un URL web scritto al contrario. Il nome del mio somiglia a it.nomeHost.smartBackup.plist; io non so se questa cosa sia una regola da seguire assolutamente, immagino di no, ma ho visto che tutti utilizzano questo metodo dunque immagino ci sia un motivo, fosse anche solo il sentirsi fighi per chiamare i files come gli sviluppatori veri. Vi incollo il file che ho utilizzato io che poi potete copiare e modificare a vostro piacimento (dopo lo commenteremo assieme).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

<dict>
<!-- Contains a unique string that identifies your daemon to launched. This key is required. -->
<key>Label</key>
<string>it.hostname.smartBackup</string>
<!-- Contains the arguments [to exec()] used to launch your daemon. This key is required.  -->
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Users/username/bin/smartBackup.sh</string>
</array>
<!-- This optional key specifies the user to run the job as. This key is only applicable when launchd is running as root. -->
<!-- <key>UserName</key>
<string>username</string> -->
<!-- When to run -->
<!-- <key>StartInterval</key>
<integer>43200</integer> -->
<key>StartCalendarInterval</key>

<dict>
<key>Minute</key>
<integer>05</integer>
<key>Hour</key>
<integer>20</integer>
</dict>
</dict>
</plist>

Secondo me questo linguaggio somiglia molto all’XML se proprio non è lui (non conosco l’XML dunque non mi azzardo a dire che non sia un qualcosa di strano che ci somiglia molto). Dunque possiamo dire che se conoscete l’XML siete avvantaggiati, se non lo conoscete ma decidete di leggere queste poche righe di codice vedrete che non è così difficile capire dove stiamo andando a parare.

Ora commentiamo le diverse sezioni del file.

Dopo un po’ di header che lasciamo perdere c’è la label dove possiamo scrivere il nome del nostro servizio. Dopodiché dobbiamo inserire il percorso dove Launchd deve andarsi a prendere lo script da eseguire. Usiamo il percorso assoluto, dopo vedremo il perché.

Dopo aver scritto il cosa è il momento di scrivere il quando. Nella sezione StartCalendarInterval possiamo inserire l’ora e il minuto in cui vogliamo che ogni giorno sia eseguito il nostro script. Per altre opzioni vedere le varie guide reperibili online. Come per esempio QUESTA.

Fatto tutto ciò salviamo il nostro file e chiudiamo l’editor. Il più è fatto.

Far eseguire le azioni

Perché il sistema operativo esegua queste nostre istruzioni dobbiamo copiare questo file .plist in una specifica cartella. In realtà le cartelle sono due e sono:

$HOME/Library/LaunchAgents/

oppure

/Library/LaunchAgents

questo perché possiamo decidere se eseguire l’azione solo quando è loggato il nostro utente oppure se eseguirlo per tutti gli utenti del sistema.

A questo punto basterà un reboot del sistema per avere il nostro servizio attivo! Buon divertimento e lasciatemi nei commenti l’azione che avete automatizzato usando questa mia guida perché le possibilità di utilizzo di questo servizio hanno i limiti solamente della nostra fantasia!

Perché Launchd e non cron?

Un’ultima nota: all’inizio dell’articolo ho detto che anche OSX ci mette a disposizione cron, dunque perché utilizzare qualcosa d’altro? Me lo sono chiesto anche io e cercando in rete pare che Launchd sia progettato per eseguire le azioni programmate anche quando il Mac è in stato di sleep (non so se corrisponda allo stato di stop, ma credo di no) e inoltre se il computer è spento al momento di eseguire l’azione questa viene eseguita nonappena il computer viene acceso. Detto ciò vedete voi se utilizzare Launchd che funziona solamente sui sistemi Apple oppure se imparare a usare cron in modo da fare il lavoro una volta sola per quando utilizzerete Linux (sempre che già non lo facciate).

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 133 follower

%d blogger cliccano Mi Piace per questo: