mercoledì 6 agosto 2014

SD Card su CentOS 7

Al momento di inserire un SD Card nel lettore del mio IBM T61 mi sono accorto che la CentOs 7 non mi mostrava il dispositivo ed ovviamente non lo montava



dal comando lspci il lettore risulta essere un Ricoh

15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)

La soluzione e' quanto mai semplice
Basta digitare

modprobe sdhci

per fa comparire sul desktop l'icona della SD Card

martedì 5 agosto 2014

Filezilla e Chrome OS su CentOs 7

Per installare Filezilla su CentOs 7 si devono aggiungere i repository mediante il comando
rpm -Uvh http://epel.mirror.net.in/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

fatto cio' si puo' installare il programma semplicemente con
yum install filezilla


Per Chrome la procedura e' leggermente piu' complicata (il supporto di Chrome a CentOs e' limitato alla versione 7)
da linea di comando si crea e popola il file google-chrome.repo

cat << EOF > /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome - \$basearch baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub EOF
per installare il browser si digita quindi il comando
yum install google-chrome-stable

lunedì 4 agosto 2014

LAMP su Centos 7

Mi sono trovato a dover sostituire un server basato su una obsoleta Ubuntu server che era stato bucato e dato l'uso professionale ho cercato di installare un sistema di impostazione piu' seria con un supporto di sicurezza prolungato nel tempo.



Nonostante non lavori su RedHat dal lontano 2004 ho voluto provare CentOS 7 nella speranza di aver un sistema solido (sicuramente la politica di partire da una installazione minimale con tutti i servizi da abilitare e le porte del firewall da aprire a mano ti rende consapevole di cio' che stai facendo). Questa scelta la ho pagata perche' alcuni aspetti di CentOS sono piuttosto peculiari (per esempio lanciare il comando ifoconfig ed avere a che fare con il nuovo firewall basato su firewall-cmd al posto di iptabls)..in ogni caso nel giro di un paio di ore il sistema era in linea

Dopo l'installazione minimale ho controllato la configurazione della rete con
/usr/sbin/ifconfig (non ifconfig, si deve richiamare tutto il path)

per installare i servizi base si usa
yum -y install httpd (per apache)
yum -y install mariadb-server mariadb (per mysql)


si installa php e qualche modulo
yum install php php-mysql php-gd php-pear -y

a questo punto per fare in modo che il servizio http si riavvi al prossimo reboot si deve specificare enable
systemctl enable httpd.service

La porta 80 e' chiusa di default e deve essere abilitata esplcitamente. Per rendere la modifica alle regole del firewalle permanente si deve usare lo switch permanent
firewall-cmd --permanent --add-service=http

Poi si abilita Mysql (solo il pacchetto si chiama MariaDb, i comandi sono i classici mysql)
systemctl enable mariadb.service
e si configura la password di root del server Sql
mysql_secure_installation 

per installa PhpMyAdmin si devono aggiungere i repository di rpmforge con il seguente comando
rpm -Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
e poi installare phpMyAdmin
yum install phpmyadmin

sempre con il concetto di chiusura la pagina di phpmyadmin e' di default visibile al solo localhost. Si deve quindi editare il file 
nano /etc/httpd/conf.d/phpMyAdmin.conf
per permettere l'accesso ad altre macchine


yum install net-tools (netstat)
yum install ntfs-3g  (per il supporto ad ntfs)
yum install mc (midnight commander)

mercoledì 30 luglio 2014

Powerbook 150

Ho aspettato 7 anni prima di poter aggiungere questo calcolatore alla mia collezione ma ne e' valsa la pena.
La macchina e' completamente funzionante (per quanto lo possa essere una macchina vecchia 20 anni) e monta un glorioso System 7.1.1 con ben 4 Mb di ram





Insieme al computer mi e' stata donata anche la scheda di conversione Ethernet




martedì 29 luglio 2014

Eclipse ADT su Mac Os X 10.9

Mi sono trovato a dover spostare parte dello sviluppo su una macchina Mac ed ho provato ad installare Eclipse ADT per la parte Android

Al momento di aprire i progetti (gia' funzionanti su altra macchina) mi sono trovato un segno esclamativo su ogni progetto con l'errore

JRE System Library, I can't find the 1.7 (there is only option for it : JavaSE-1.7 (unbound)

Dopo un po' di ricerche ho visto che oltre ad installare la JRE si deve andare in Preferenze (Mela+virgola), Preferenze (Properties), Java, Installed JRE ed inserire il path

/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home



giovedì 24 luglio 2014

Actionbar su Android

Agli albori di Android era presente un tasto fisico di menu assieme agli attuali tre pulsante in fondo allo schermo. Dalla versione 3 questo e' stato superato dalla ActionBar, una sorta di menu che si trova nella parte alta dello schermo in prossimita' del nome dell'applicazione (indicata dai tre quadratini sovrapposti)






per popolare questo componente si edita il file xml che ha lo stesso nome della Activity e che si trova nelle risorse del progetto (normalmente e' /res/menu/main.xml)

per generare l'esempio mostrato nella figura soprastante
--------------------------------------------------------------------------------
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.luca.innocenti.ibea2.MainActivity" >
    <item android:id="@+id/it" android:title="@string/it" android:checked="true" android:checkable="true"></item>
    <item android:id="@+id/uk" android:title="@string/uk" android:checked="false" android:checkable="true"></item>
</menu>
--------------------------------------------------------------------------------

Per rendere interattivo il menu si agisce sulla funzione onOptionItemSelected
In questo caso si eliminano prima tutti i segni di spunta, poi viene settata la variabile della lingua, aggiunge il segno di spunta al menu premuto e si mostra un toast
--------------------------------------------------------------------------------
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
menu.getItem(0).setChecked(false);
menu.getItem(1).setChecked(false);

switch(id){
case R.id.it:
lingua  = 1;
Toast.makeText(getApplicationContext(), "Adesso impostato in italiano", Toast.LENGTH_SHORT).show();
 if(item.isCheckable()) {
           item.setChecked(!item.isChecked());
       }
break;
case R.id.uk:
lingua = 2;
Toast.makeText(getApplicationContext(), "Now Set in english", Toast.LENGTH_SHORT).show();
 if(item.isCheckable()) {
           item.setChecked(!item.isChecked());
       }
   
break;
}
return super.onOptionsItemSelected(item);
}
--------------------------------------------------------------------------------

Di seguito un breve filmato per vedere come funziona il menu appena impostato



mercoledì 23 luglio 2014

A volte ritornano (Clone S4)

A volte ritornano e non sono proprio sani....

Avevo gia' avuto per le mani questo clone di Samsung S4 ed adesso mi e' stato regalato. Il motivo e' chiaramente spiegato dalla foto sottostante


a dispetto delle condizioni del vetro il telefono funziona diciamo al 95% delle proprie possibilita'
L'unica cosa che e' veramente impossibile da fare e' trascinare in quanto si incontra quasi sempre qualche cricca del vetro e il digitizer interpreta come se si sia staccato il dito


Opencv camera calibration in cpp

Oltre che con uno script Python come visto qui la calibrazione della camera si puo' fare anche con il programma in CPP Questo il proce...