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 

sabato 31 agosto 2013

Guardare la TV in streaming


Per guardare la tv in streaming via internet ci sono un bel po' di soluzioni, ma c'è parecchia confusione perchè se un giorno una di esse funziona, il giorno dopo scompare il sito, o si è spostato, o lo stream dà errore in VLC.

Riporto qui qualcuna delle soluzioni trovate, ma so che non funzioneranno più nel giro di qualche mese...

http://belpaese-tv.blogspot.it raccoglie un po' di link ai canali nazionali, con l'esclusione delle reti mediaset. Provando a lanciare Rai1, il sito rimanda ad un altro sito, http://www.cloud-tivu.net ma lo stream della rai non si può vedere a meno che uno non abbia installato Silverlight.

Per poter vedere i canali rai senza Silverlight, è possibile installarsi un plugin di firefox, chiamato raismth. Questo plugin fa uso del software mplayer, che va altresì installato.

Un ottimo sito che ad oggi riesce a mostrare in streaming i canali rai senza Silverlight è questo. Mancano però i canali mediaset o la 7.

Riporto i link funzionanti oggi:

RAI 1



domenica 28 luglio 2013

L'OFM definitivo


Dopo anni di ricerche, sfociate in un post scritto nel 2009, finalmente posso dire di aver trovato un OFM che mi aggrada! Stiamo parlando di Double Commander!

Facendo seguito al post di ieri riguardo ai colori per tipi di file, ho configurato Double Commander all'uopo, ed il risultato mi soddisfa alquanto!


Per ottenere questo risultato bisogna andare nel menù Configurations→Options e scegliere Colors→File types, ottenendo una schermata di questo tipo:



Ho creato una serie di categorie, indicato per ciascuna l'estensione o le estensioni a cui applicare il colore selezionato.

E' possibile indicare se alla categoria appartengono solo i file "-*", solo le cartelle "d*", solo i file con attributo eseguibile "-??x*" o file e cartelle "*", tutte strighe da inserire nel campo Category attributes.

E' un programma multi-piattaforma che gira anche sotto windows, per cui potrebbe avere senso cominciarlo ad usare anche di là. Vedremo...

sabato 27 luglio 2013

Colorare i file in base all'estensione


Avere la lista dei file colorata per estensione è una gran comodità, come si evince dal seguente confronto:


Obiettivo di questo post è quello di identificare le estensioni utili e i colori da usare, e di tentare di impostare il tutto nei vari applicativi usati (total commander sotto windows, ls colorati nei terminali linux, ecc).

Estensioni e colori

Ecco un possibile esempio di associazione di colori:

default: ciano
eseguibile: verde
immagine: rosa
audio: fuxia
testo semplice: grigio
documento: bianco
archivio: rosso
il giallo verrà usato dagli applicativi OFM ad indicare i file selezionati

Impostare i colori per il comando ls nella shell

Il comando
dircolors --print-database > .dircolors
invocato nella cartella HOME genera un file che verrà letto dallo script .bashrc (almeno in ubuntu) nelle righe:
 
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi 

Per sapere quali colori sono a disposizione nella shell e quali codici usare, viene in aiuto un simpatico script recuperato da questa pagina, la cui esecuzione fornisce il seguente risultato:


Il risultato dell''esecuzione dello script dipende dalla configurazione del PC in uso, per cui su un'altra macchina con lubuntu, il risultato è il seguente:



Si impostano quindi i colori che vogliamo nel file .dircolors; si riavvia la shell (o si esegue il comando eval evidenziato in viola nello script precedente) e si verifica il risultato.

Oltre ai colori ANSI riportati con lo script precedente, è addirittura possibile impostare colori a 8 bit. Eseguendo il secondo script della pagina indicata prima, si ottiene la seguente schermata:


Per usare tali colori bisogna inserire la stringa
.ext 38;05;val
dove ext è l'estensione da colorare, val è ad esempio (232+35=267) per il verdino in basso a destra.

Qui il risultato sul secondo PC:


Il problema con questo sistema è che non è compatibile con gnome-commander, per cui si consiglia di non usarlo.

Dopo la scelta dei colori, ecco il contenuto del mio file .dircolors:
# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# Copyright (C) 1996, 1999-2008
# Free Software Foundation, Inc.
# Copying and distribution of this file, with or without modification,
# are permitted provided the copyright notice and this notice are preserved.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM eterm-color
TERM gnome
TERM gnome-256color
TERM jfbterm
TERM konsole
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM putty
TERM rxvt
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM screen
TERM screen-256color
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
FILE 01;36 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
 # numerical value, the color is as for the file pointed to.)
HARDLINK 44;37 # regular file with more than one link
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# If you use DOS-style suffixes, you may want to uncomment the following:
#.cmd 01;32 # executables (bright green)
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
# Or if you want to colorize scripts even if they do not have the
# executable bit actually set.
#.sh 01;32
#.csh 01;32
 # archives or compressed (bright red)
.tar 01;31
.tgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.lzma 01;31
.zip 01;31
.z 01;31
.Z 01;31
.dz 01;31
.gz 01;31
.bz2 01;31
.bz 01;31
.tbz2 01;31
.tz 01;31
.deb 01;31
.rpm 01;31
.jar 01;31
.rar 01;31
.ace 01;31
.zoo 01;31
.cpio 01;31
.7z 01;31
.rz 01;31
# image formats
.jpg 38;05;219
.jpeg 38;05;219
.gif 38;05;219
.bmp 38;05;219
.pbm 38;05;219
.pgm 38;05;219
.ppm 38;05;219
.tga 38;05;219
.xbm 38;05;219
.xpm 38;05;219
.tif 38;05;219
.tiff 38;05;219
.png 38;05;219
.svg 38;05;219
.svgz 38;05;219
.mng 38;05;219
.pcx 38;05;219
.mov 38;05;219
.mpg 38;05;219
.mpeg 38;05;219
.m2v 38;05;219
.mkv 38;05;219
.ogm 38;05;219
.mp4 38;05;219
.m4v 38;05;219
.mp4v 38;05;219
.vob 38;05;219
.qt 38;05;219
.nuv 38;05;219
.wmv 38;05;219
.asf 38;05;219
.rm 38;05;219
.rmvb 38;05;219
.flc 38;05;219
.avi 38;05;219
.fli 38;05;219
.flv 38;05;219
.gl 38;05;219
.dl 38;05;219
.xcf 38;05;219
.xwd 38;05;219
.yuv 38;05;219
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 01;35
.anx 01;35
.ogv 01;35
.ogx 01;35
# audio formats
.aac 38;05;201
.au 38;05;201
.flac 38;05;201
.mid 38;05;201
.midi 38;05;201
.mka 38;05;201
.mp3 38;05;201
.mpc 38;05;201
.ogg 38;05;201
.ra 38;05;201
.wav 38;05;201
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa  00;36
.oga  00;36
.spx  00;36
.xspf 00;36

# Zac ext
# eseguibili
.exe 01;32
.run 01;32
.bat 01;32
.sh  01;32
# documenti
.xls  00;01
.xlsx 00;01
.doc  00;01
.pdf  00;01
# documenti ascii
.txt 00;37
.c   00;37
.cpp 00;37
.h   00;37
.hpp 00;37
# moduli musicali
.s3m 38;05;201