venerdì 20 novembre 2009

MATLAB 2007a con JRE 1.6 per risolvere il problema con "INCOLLA TESTO"

Ciao a tutti!

Dopo molti post eccoci di nuovo a parlare di MATLAB R2007a, gloriosa versione del famoso ambiente per la programmazione scientifica della Mathworks.

Questa versione di MATLAB è un po' vecchia, ma molte università e quindi professori, team di ricercatori e studenti la usano tutt'ora. Anche il mio altrettanto famoso "vicino di casa" ha ancora installato questa versione che usa con la sua fantastica licenza, ed è sempre molto gentile da lasciarmela usare. In cambio gli mantengo aggiornata e funzionante la sua macchina Linux. ;-)

Nei vecchi post ho già scritto di alcune soluzioni a problemi riguardanti questa versione di MATLAB rispettivamente nei tempi in cui era "troppo nuova" o "troppo umile" per pensare di sfoggiare al meglio le sue finestre con gli effetti di Compiz... Questo è, penso, il primo post che parla di un problema causata dal fatto che questa versione sta ora diventatndo "troppo vecchia".

Ultimamente per necessità di alcuni pacchetti sono passato, su Archlinux, da openjdk alla versione non open di Java.

Nel frattempo stavo giocando con Emacs e quindi decisi di cambiare le scorciatoie da tastiera anche in MATLAB in modo da imparare meglio quelle di Emacs (che poi sono quelle di default di MATLAB).
Una volta cambiate le scorciatoie con quelle di Emacs... potei constatare come non funzionassero correttamente, in particolare il comando "Incolla".
Comunque, dopo un secondo che mi trovavo a fare questi esperimenti ho improvvisamente avuto bisogno di essere più veloce con i copia e incolla, e quindi sono tornato ai windowsiani CTRL-X CTRL-V e CTRL-C.

Ma che sorpresa quando ho scoperto che nella Command Window e nel MATLAB Editor il comando "Paste" era permesso letteralmente solo una volta per sessione 8-|

Dato che ero stato stupido a giocare con i tasti del Copia e Incolla, spesi ore a controllare, patchare, eliminare e rigenerare da default i file delle impostazioni di MATLAB in modo da riportare l'intero "Universo del Copia e Incolla" alla sua precedente "Freccia del Tempo"!

Dopo settimane usando un editor esterno, ora ho scoperto un altro errore che ha a che fare con una chiamata al carattere Helvetica (font che io non ho impostato in alcuna preferenza)... ho quindi lanciato MATLAB con l'opzione debug e ho cercato come al solito qualche soluzione nei forum per questo ulteriore problema.

Mentre leggevo tra le soluzioni dei vari utenti frustrati, ne ho trovata una che suggeriva di usare il JRE nativo del sistema invece di quello contenuto in MATLAB stesso. E allora si è accesa la lampadina: "Vuoi vedere che è proprio la versione di JRE di MATLAB a fare casino tanto con i font in generale quanto con il Copia e Incolla?"
Ho quindi controllato che versione di Java era inclusa in MATLAB R2007a e ho scoprto che è la 1.5

In conclusione, dopo tutta questa bella storia, ecco come ho sistemato tutti i veri misteriosi errori che si erano palesati dal passaggio da openjdk a Java closed:

Vi basterà creare uno script vostro per lanciare MATLAB in modo da non modificare lo script nativo di lancio (anche se è comunque possibile):

#!/bin/sh

# Questa variabile andava settata per i casini
# con Compiz ma al momento non mi serve
# export AWT_TOOLKIT=MToolkit

# Questa è la magica variabile d'ambiente che dice
# a MATLAB di usare l'installazione di Java della
# vostra distribuzione invece della sua embedded
# Mettete quindi la cartella dove avete installato jre
# per Archlinux con Java closed il valore è questo
export MATLAB_JAVA=/opt/java/jre

# Questo è il mio comando per lanciare MATLAB
# con il percorso completo perchè ho preferito non
# assegnarne la cartella bin al path... sul vostro
# sistema è probabilmente il solo "matlab -desktop"
/opt/matlabR2007a/bin/matlab -desktop


È tutto, se lanciate MATLAB con la variabile d'ambiente MATLAB_JAVA che punta alla cartella di Java della vostra distro risolverete tutti i problemi causati dalla vecchia versione 1.5 di Java inclusa nella versione R2007a e usata altrimenti di default.

Per me ha funzionato dato che il programma non ha mostrato più alcun problema di Copia - Incolla e nemmeno lo strano warning sul font Helvetica all'avvio.

Spero che possa esservi utile in qualche modo ;-)

Keep on hackin'

mercoledì 18 novembre 2009

Awesome: quando si impara a usare un tiled window manager

Awesome è un ottimo window manager per X, altamente configurabile ed estremamente leggero. Ci sono molte possibilità che lo troviate già pacchettizzato nella vostra distribuzione.
Awesome è un "tiled window manager" anche se ha una più classica modalità "float". In ogni caso nelle sue impostazioni di default non troverete dei veri e propri titoli delle finestre con le loro funzioni abituali poichè le finestre sono posizionatre automaticamente per garantire il miglior uso possibile dello schermo. In questa modalità avrete un'interfaccia grafica che potrete controllare completamente senza staccare le mani dalla tastiera.

Per acquisire una qualche "produttività" usando Awesome l'utente deve sicuramente abituarsi ai comandi e configurare lui stesso le scorciatoie da tastiera e le funzioni che ritiene opportune, dato che le impostazioni di default non coprono tutto (e questa è una caratteristica esplicita di Awesome che pone l'accento sulla personalizzazione).

Nel corso dei prossimi post tratterò dei risultati dei miei "esperimenti di usabilità" con questo "awesome" window manager ;-)

Per prima cosa mi sono creato la mia configurazione personalizzata da modificare copiando il file di configurazione rc.lua di default nella cartella ~/.config/awesome/ (nella mia home quindi).

Lì ho messo anche la copia della cartella themes con quello di default e quello che avevo intenzione di usare, ottenendo la seguente struttura delle cartelle:
~/.config/awesome/themes/default (con tutti suoi files e sottocartelle)
~/.config/awesome/themes/sky (il tema che ho scelto con tutti i suoi files e sottocartelle)

Quindi ho cominciato con la personalizzazione e ho sistemato il problema che ha Java con i "non-reparenting" windows manager tra i quali Awesome stesso appunto. Senza questo fix si hanno problemi nel disegno delle GUI Java tra cui ovviamente quella di MATLAB in primis.

Nei prossimi giorni proverò a spiegare meglio i vari passi che mi hanno portato alla mia configurazione attuale.

Se volete potete dare già un'occhio ai miei file di configurazione andando sulla pagina seguente sul mio sito di supporto al blog per quanto riguarda i download:


Keep on hacking! ;-)

lunedì 16 novembre 2009

Come abilitare KMS su una Intel GM45 X3500HD

Ciao a tutti!

Ecco l' "ennesimo How-To" per abilitare KMS su una scheda Intel ;-)
... su ArchLinux certo... ma le istruzioni possono essere facilmente adattate ad altre distribuzioni

La procedura per atticare i driver grafici sulla scheda direttamente durante il caricamento del kernel è semplice:
  • modificate il file /etc/mkinitcpio.conf avendo le stringa MODULES così
MODULES="intel_agp i915"
  • modificate la linea del kernel di ArchLinux nel file /boot/grub/menu.lst ottenendo:
kernel /boot/vmlinuz26 root=/dev/sd[x][n] ro i915.modeset=1
dove /dev/sd[x][n] corrisponde alla vostra partizione / e l'opzione i915.modeset=1 sostituisce ogni qualsivoglia opzione vga=NNN o video=.... che non sono più supportata da KMS in quanto trova egli stesso automaticamente la risoluzione corretta anche per il terminale.

È tutto qui! Ora dovreste vedere le primissime linee dei messaggi di post al caricamento del kernel nel usuale e orribilmente grande "carattere standard delle console", ma appena più tardi il tutto assumerà la risoluzione corretta (e autorilevata).
In più anche lo switch tra le Virtual Consoles e il server X sarà molto più immediato di prima.

Allora godetevi le capacità della vostra scheda Intel grazia al nuovo Kernel Mode Setting che avete appena configurato sulla vostra "box".

Keep on hacking! ;-)

lunedì 9 novembre 2009

Happy Carl Sagan's Day

Ora guardate di nuovo quel puntino. È lì. È la nostra casa. Siamo noi. Su quel puntino tutti quelli che ami, tutti quelli che conosci, tutti quelli di cui hai mai sentito parlare, tutti gli esseri umani che ci siano mai stati, hanno vissuto le loro vite. Tutto l'insieme delle nostre gioie e sofferenze, migliaia di "infallibili" religioni, ideologie, e dottrine economiche, ogni cacciatore e ogni agricoltore, ogni eroe e ogni codardo, ogni creatore e ogni distruttore di civiltà, ogni re e ogni contadino, ogni coppia di giovani innamorati, ogni madre e ogni padre, ogni bambino pieno di speranza, ogni inventore, ogni esploratore, ogni modello di moralità, ogni politico corrotto, ogni "superstar", ogni "leader supremo", ogni santo e ogni peccatore nella storia della nostra specie ha vissuto lì – su un granello di polvere sospeso in un raggio di sole.
La Terra è un palcoscenico microscopico in una vastissima arena cosmica. Pensate ai fiumi di sangue rovesciati da tutti quei generali e imperatori in modo che, in gloria e trionfo, loro potessero diventare i momentanei signori di una frazione di un puntino. Pensate alle crudeltà senza limiti provocate dagli abitanti di un angolo di questo pixel contro i praticamente identici abitanti di un qualche altro angolo dello stesso pixel, quanto frequenti i loro fraintendimenti, e quanto desiderosi, loro, di uccidersi l'un l'altro, quanto ferventi i loro rancori.
Le nostre esagerate prese di posizione, il nostro crederci importanti, l'illusione di avere una qualche posizione privilegiata nell'Universo, sono messe in discussione da questo puntino di luce pallida. Il nostro pianeta non è che un puntino solitario nel grandioso buio cosmico che ci racchiude. In tutta questa oscurità, in tutta questa vastità, non c'è alcun indizio, che ci arriverà un aiuto da chissà dove per salvarci da noi stessi.
La Terra è finora l'unico mondo conosciuto che ospiti la vita. Non c'è nessun posto, almeno nel prossimo futuro, in cui la nostre specie possa migrare. Fare una visita, certo. Stabilirsi, non ancora. Che ci piaccia o no, per il momento la Terra è il posto in cui resistiamo.
Si dice che l'astronomia sia un'esperienza di umiltà e che fortifica il carattere. Non c'è forse nessuna migliore dimostrazione della follia delle concezioni umane che questa immagine distante del nostro piccolo mondo. Per me questo sottolinea la nostra responsabilità nel rapportarci più amichevolmente l'uno con l'altro, e nel preservare e tenerci caro il pallido puntino blue, l'unica casa che abbiamo mai conosciuto.