domenica 6 ottobre 2013

Programma per la visualizzazione di note condivise


E' da un po' di tempo che sto avendo la fantasia di scrivere un programma per la visualizzazione di note condivise, che permetta di scriversi velocemente una nota, un url, una checklist, e di condividerlo tra i vari dispositivi che quotidianamente usiamo, nella fattispecie il PC di casa con linux, quello dell'ufficio con windows, un telefonino con android.

Ho deciso quindi di scrivere quali potrebbero essere le caratteristiche di un programma di questo tipo, prendendo spunto da internet:
  • uso del servizio Dropbox per la sincronizzazione
  • uso della formattazione markdown: discussione alla libreria di sviluppo cosigliata

Avevo anche trovato un nome: Mark down oltre che indicare il tipo di formattazione, vuol dire appuntarsi, per cui un nome carino in italiano "appuntarsi note" diventa MarkDownNotes.

Ma durante la ricerca di informazioni al riguardo, ho scoperto che tutte queste non sembrano delle idee troppo originali:

Quello che noto è che ci sono un bel po' di applicazioni per IOS ma niente per desktop e/o android, per cui insisto nella mia fantasia. L'utente può prescindere dall'usare il mio programma, perchè la modifica delle note è ottenuta mediante un qualsiasi editor di testo, e la sincronizzazione mediante dropbox.

Il valore aggiunto sarebbe quindi fornito dalle seguenti caratteristiche:
  • cross-platform: windows/linux/android
  • un'icona nella traybar per aprire/chiudere tutte le note, inserire una nuova nota (nella versione desktop)
  • la possibilità di associare una data alla nota in modo da fornire una sorta di promemoria
  • collegamento con google calendar?
  • ?
vedremo...

Accesso automatico via ssh


Questo breve post per indicare i passi per accedere automaticamente ad un server ssh senza dover inserire la password ogni volta:
  1. generare una coppia di chiavi ssh mediante il comando:
    ssh-keygen
  2. copiare la chiave pubblica sul server ssh con il comando:
    scp .ssh/id_rsa.pub utente@server:.ssh/authorized_keys
  3. accedere al server con il comando:
    ssh utente@server
et voilà.

PS: attenzione al comando del passo 2: sovrascrive il file authorized_keys del server.

Il comando ssh-keygen lanciato da solo genera una coppia di file chiave nella cartella .ssh della propria home:
  • .ssh/id_rsa
  • .ssh/id_rsa.pub
Il primo file è la chiave privata, da conservare gelosamente, il secondo è la chiave pubblica, che abbiamo installato sul server di destinazione.
 
Se si usano più client che accedono allo stesso server, per poter avere il login automatico si può:
    o copiare il file .ssh/id_rsa nella home degli altri client;
    o generare una coppia di chiavi per ogni client, e poi appendere in coda al file .ssh/authorized_keys del server i vari file .ssh/id_rsa.pub così generati.

In questo secondo caso la sequenza delle operazioni per ciascun client è la seguente:
  1. generare una coppia di chiavi ssh mediante il comando:
    ssh-keygen
  2. copiare la chiave pubblica sul server ssh con il comando:
    scp .ssh/id_rsa.pub utente@server:
  3. accedere al server con il comando (chiederà la password):
    ssh utente@server
  4. appendere la chiave pubblica del client al file del server con il comando:
    cat id_rsa.pub >> .ssh/authorized_keys