Posts RSS Comments RSS 25 Articoli e 6 Commenti fino ad ora

Barcellona!

Alcune foto della gita a Barcellona…

Gita fuori porta

Approfittando del bel sabato mattina, ho portato a fare una gita fuori porta il virus che mi ha incastrato a divano giovedì e venerdì.
La Madonna del Corno e la Croce di Provaglio d’Iseo (il mio paesello) sono sempre due bei posti!


Se qualcuno volesse le fotografie in formato originale, può prenderle da questo corposo file zip.
Alla prossima…

deskbar-applet

Ma perché la finestra delle preferenze della deskbar-applet continua ad andare in crash? Cosa ci vuole nel duemilaecento a correggere un bug del bradvice?

Basta cambiare una cifra in prefs-dialog.ui!

In una distribuzione rpm-based, per trovare il file è sufficiente:

$ rpm -ql deskbar-applet | grep prefs-dialog.ui

Bisogna trovare la linea che contiene l’etichetta “label1315″:

[...]
 <object class="GtkLabel" id="label1315">
[...]

e cambiarla in “label1314″:

[...]
 <object class="GtkLabel" id="label1314">
[...]

Dopo tanta assenza…

ecco alcune fotografie del matrimonio!

Flash e CPU al 100%

Ammetto che il computer di casa non è proprio un giovane marinaio (Athlon XP 2000+ sì, ma con 2 Giga di RAM – mica poca!), però che non riesca a vedere i video di youtube (e mica solo quelli) perché continuano a saltellare-scricchiolare-perderefreims, quello no! Sono filmati flash, diavolo!

È piuttosto schifoso che Adobe rilasci un plugin con queste richieste hardware (prese da qui):

per windows, un processore ad almeno 450 MHz e 128 MB di memoria
per linux, un processore ad almeno 800 MHz e 512 MB di memoria

Il doppio del processore e il quadruplo della RAM! Un plugin ottimizzato come me quando mi alzo alle 5 di mattina.

Comunque, il peggio lo scopro quando vado a vedere chi è il succhiatore di linfa (un bel top in un terminale): npviewer.bin sta andando a braccetto con il plugin flash. Che ragioni ci sono per un pezzo di software che non è nemmeno chiamato in causa? (npviewer non serve a flash).

Disinstallo il pacchetto nspluginwrapper e i maledetti saltellamenti-schricchiolii-perditedifreims si dimezzano. Ma non spariscono. Maledetta Adobe! Se solo gnash funzionasse…

PS: no! non azzardatevi a scrivere che funziona. L’ho già provato e sul mio computer non funziona.
PPS: uno dei video che vorrei vedere è questo…

Decisamente vale la pena di vederlo senza scatti. Alla prossima.

Acer ASPIRE 2920 e Fedora (10 Cambridge)

(Non troppo) recentemente ho acquistato un nuovo portatile: un Acer ASPIRE 2920, dotato di

  • processore Intel Core 2 Duo T7500
  • 2 GB di RAM DDR2
  • disco da 250 GB
  • masterizzatore DVD Dual Layer
  • WiFi Intel PRO/Wireless e scheda ethernet Broadcom Gigabit
  • bluetooth (non meglio identificato)
  • chip grafico Intel X3100
  • monitor WXGA da 12″ con risoluzione massima pari a 1280×800 (rapporto 16:10)
  • webcam Crystal Eye integrata

Acer ASPIRE 2920

Il nuovo portatilino, leggero e contenuto nelle dimensioni, pagherà le marchette per il vecchio Compaq (giunto prematuramente alla fine dei suoi giorni, dopo il sovrautilizzo per la tesi – requiescat in pacem).

Nessun problema di installazione con Fedora. L’hardware è ampiamente riconosciuto e correttamente configurato, ad eccezione di due minuscoli particolari.

Chip audio
L’audio c’è, ma a basso volume, e inserire il cavo delle cuffie non mette a tacere gli altoparlanti esterni (in queste condizioni, guardare un filmato pornografico è estremamente complicato, se si cerca di farlo di nascosto). La soluzione c’è ed è piuttosto banale: basta creare un file /etc/modprobe.d/alsa-base ed inserirvi all’interno

options snd-hda-intel model=acer

Risoluzione del frame buffer
La risoluzione 1280×800 non è contemplata dallo standard VGA. Però c’è un trucco.
E’ necessario installare l’utility vbetest (con yum o il frontend grafico) e impartire l’omonimo comando da terminale come amministratore:

$ sudo vbetest
VBE Version 3.0
Intel(r)GM965/PM965/GL960 Graphics Chip Accelerated VGA BIOS
[352] 1280x800 (256 color palette)
[353] 1280x800 (5:6:5)
[354] 1280x800 (8:8:8)
[261] 1024x768 (256 color palette)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
[274] 640x480 (8:8:8)
[276] 800x600 (5:6:5)
[277] 800x600 (8:8:8)
[257] 640x480 (256 color palette)
[259] 800x600 (256 color palette)
[273] 640x480 (5:6:5)
Type a mode number, or 'q' to quit - q

Al numero riportato tra parentesi quadre va aggiunto il valore 512, per ottenere il testo da inserire dopo vga= in grub.conf. Perciò, se vogliamo la risoluzione massima consentita dal pannello LCD (cioè 1280×800) al numero massimo di colori possibile (5:6:5 darà una profondità di colore di 16bit, mentre 8:8:8 una profondità di 24 bit), dovremo calcolare 354+512=866 e inserirlo in coda alla riga corretta in grub.conf:

[...]
kernel /vmlinuz ro root=UUID=omissis rhgb quiet vga=866

E questo è tutto.
Bye bye.

Indovinello geometrico

Mi sono imbattuto in questo non recentissimo post.

Visto che ultimamente non sto spremendo il mio cervello per problemi di alcuna utilità e sto rischiando sempre più la pesante ricaduta nell’ignoranza di ritorno, ho affrontato il semplice problema esposto:

Qual’è nel cilindro il rapporto tra altezza e raggio che a parità di volume offre la minor superficie esterna?

La mia soluzione, in formato pdf (grazie openoffice!), è qui.

Octave 3.0.0

Dopo molto tempo di assenza, che ha fatto sembrare questo spazio più abbandonato di una città fantasma nel deserto (almeno quella ha le folate di vento e i cespugli secchi che rotolano), l’uscita (non recentissima) di Octave mi dà lo spunto per scribacchiare qualcosa e resuscitare dal torpore in cui i nuovi impegni lavorativi mi avevano fatto sprofondare.

Cosa è Octave?

Octave è:

a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.

cioé:

un linguaggio ad alto livello, pensato innanzitutto per i calcolo numerico. Dispone di una comoda interfaccia a linea di comando per la soluzione di problemi numerici lineari e non-lineari e per effettuare altri esperimenti numerici, con un linguaggio che è per lo più compatibile con Matlab.

Cosa ha di speciale?

Per quanto mi riguarda, innanzitutto, il fatto di essere compatibile con Matlab e di essere rilasciato sotto licenza GPL. In seconda battuta, ha una serie di toolboxes, molte delle quali (“toolboxes” è femminile, o no?) simili (talvolta compatibili) a quelle a disposizione per Matlab; infine possiede delle sufficienti (ed espandibili) capacità grafiche.

C’è anche, fatto non trascurabile, una vasta ed esauriente documentazione, mantenuta da una comunità di utenti molto attenta e attiva.

Personalmente, l’ho usato da studente per sostenere l’esame di Calcolo Numerico durante i passati anni universitari, poi utilizzato qua e là in qualche altro corso.

Dove sta la magagna?

Già! Octave non è tutto rose-e-fiori!
L’aspetto che trovo più fastidioso è quello di non avere un front-end ben curato e confortevole (come appunto Matlab). Ultimamente persino Scilab sembra stia migrando verso un aspetto più moderno e integrato (si può già avere un assaggio provando scilab-gtk). Octave gira all’interno di una sessione di terminale, usa gnuplot (che è straordinario, anche senza caratteri con l’anti-alias) per generare grafici, e emacs (io lo odio!) oppure vim come editor per gli m-files.

Alcune proposte interessanti per Octave

Dal momento che non tutti, me per primo, appartengono alla chiesa dei duri-e-puri (quelli da sessione di X con 50 terminali aperi da cui controllano anche la politica americana), eccomi a proporre alcuni suggerimenti per migliorare “l’usabilità” (concetto davvero relativo) di Octave.

Proposta 1: creare una cartella all’interno della propria home-directory per contenere gli m-files creati con Octave. Il percorso della directory è obbligato: ho provato a dire al programma di salvare i files in posizioni diverse e di mio gradimento, ma lui sembra costantemente infischiarsene. Perciò:

$ mkdir ~/octave

Proposta 2: creare un file .octaverc all’interno della propria home per fare sapere a Octave di cercare i propri m-files in quella directory. All’interno di questo file si possono inserire tutti gli “octave-comandi” che si vogliono fare mangiare al programma prima dell’avvio della sessione di lavoro. In particolare nel nostro ci sarà:

addpath ('~/octave');

In questo modo si possono richiamare i propri m-files senza dovere essere nella directory ~/octave. Tipicamente il comando edit mfile.m salva un nuovo file nella directory citata, ma la directory di lavoro è quella da cui viene avviata l’applicazione (normalmente la propria home se Octave è avviato facendo click su un icona di menu), perciò suggerisco di aggiungere la nostra bella directory al path.
Proposta 3: emacs mi fa schifo, l’ho già scritto! e vim non è abbastanza molle-e-impuro. Perciò, per chi come me, vuole editare i propri m-files con gedit, lo stratosferico editor di testo predefinito di GNOME, può ricorrere ad un trucchetto. Prima di tutto bisogna creare un file eseguibile in una posizione accessibile, che nel mio caso era /usr/local/bin, ma che può essere qualunque:

$ cd /usr/local/bin
$ sudo touch medit
Parola d'ordine:
$ sudo chmod a+x medit

All’interno del file creato bisogna inserire:

#!/bin/bash

OPTS=$@

/usr/bin/gedit $OPTS &> /dev/null &

exit 0

Ed infine, per istruire Octave ad utilizzare il nostro “nuovo” editor, serve inserire nel file ~/.octaverc la linea:

EDITOR ('/usr/local/bin/medit');

D’ora in poi, il comando edit pippo.m permetterà di editare l’m-file con il miglior editor del mondo.

Oltre le proposte

Per espandere le funzionalità offerte da Octave si può ricorrere a due strumenti esterni: QtOctave, un front-end scritto in QT che sembra avere molte qualità, ma che non ho ancora avuto modo di provare; Octaviz, un’estensione per Octave che permette di usare le librerie VTK per disegni e grafici (trovo Octaviz eccezionale).

Per finire…

vi lascio con un’immagine del mio “desktop running Octave”

Octave 3.0.0

Alla prossima!

Di nuovo qui

Torno a casa.
Mia madre ha comprato un vaso.
Lo giro.
Leggo.

Made In China

Ora ho un vaso cinese.

Creative Zen Nano Plus

Il Creative Zen Nano Plus è un piccolo lettore mp3-wma capace di registrare dal microfono incorporato o da un ingresso line-in e dotato di radio FM e euqlizzatore a 5 bande. Ha molti pregi, in primis quello di essere davvero leggero e poco ingombrante, e poi quello di avere una qualità musicale davvero molto buona (risposta da 20 Hz a 20 KHz con una distorsione armonica inferiore a 0,1% e rapporto segnale rumore pari a 90 dB).

Il piccolo lettore multimediale Zen Nano Plus prodotto da Creative

Sotto Linux viene normalmente montato come un dispositivo di memorizzazione di massa usb (cioè come una comune chiavetta), perciò è possibile utilizzare un file-manager per organizzare la collezione di brani sul lettore.

Questo lettorino utilizza il protocollo mtp (media transfer protocolo), quindi è possibile utilizzare anche applicazioni più sofisticate come rhythmbox (la mia preferita), gnomad2 o amarok per gestirne il contenuto.

Purtroppo spesso è necessario compiere alcune operazioni di configurazione, la prima delle quali è installare (se non ancora installate) le librerie libmtp con

$ sudo yum install libmtp

Assicuriamoci ora di far partire l’applicazione desiderata (rhythmbox nel mio caso) quando viene connesso un riproduttore portatile. In GNOME si può controllare questa funzionalità dall’utilità Unità e supporti rimovibili presente nel menu delle Preferenze:

Quando viene inserito un riproduttore portatile viene lanciato rhythmbox

Leggiamo, dopo avere connesso il dispositivo, l’identificativo del produttore e dell’apparecchio con il comando

$ /sbin/lsusb
Bus 004 Device 006: ID 041e:4139 Creative Technology, Ltd Zen Nano Plus

L’identificativo del produttore è 041e, mentre quello del prodotto è 4139.

All’interno della directory /etc/udev/rules.d cerchiamo se esistono regole per lo Zen Nano Plus: se l’esito del comando grep 4139 è vuoto significa che non ci sono istruzioni per udev su come gestire il dispositivo. Possiamo aggiungerle manualmente creando il file ZenNanoPlus.rules (o anche un nome più esplicito, come 60-ZenNanoPlus-libmtp.rules, che indica che il dispositivo deve essere gestito dalle librerie mtp) contenente:

# UDEV-style hotplug map for Creative Zen Nano Plus
# Put this file in /etc/udev/rules.d

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libmtp_rules_end"

# Creative Zen Nano Plus
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4139", SYMLINK+="libmtp-%k", MODE="666"

LABEL="libmtp_rules_end"

Se dopo avere aggiunto queste regole il riproduttore musicale scelto non viene lanciato automaticamente quando lo Zen Nano Plus viene connesso, significa che il demone hal non lo identifica come riproduttore audio portatile, ma come dispositivo di memorizzazione di massa. Per ovviare al problema spostiamoci nella directory /usr/share/hal/fdi/information/10freedesktop e osserviamo se esistono regole per il nostro lettorino:

$ cd /usr/share/hal/fdi/information/10freedesktop
$ grep 4139 *

Se il comando grep non restituisce nulla, allora è necessario creare una regola. All’interno di questa directory, con i privilegi di amministratore, creiamo il file 10-usb-music-players-libmtp-ZenNanoPlus.fdi contenente:

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
    <match key="info.category" string="storage">
      <!-- USB Mass Storage devices that are music players -->
      <match key="@storage.originating_device:info.subsystem" string="usb">
        <!-- Creative -->
        <match key="@storage.originating_device:usb.vendor_id" int="0x41e">
          <!-- Zen Nano Plus -->
          <match key="@storage.physical_device:usb.product_id" int="0x4139">
            <append key="info.capabilities" type="strlist">portable_audio_player</append>
            <merge key="info.category" type="string">portable_audio_player</merge>
            <merge key="portable_audio_player.type" type="string">generic</merge>
            <merge key="portable_audio_player.access_method" type="string">storage</merge>
            <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
            <append key="portable_audio_player.output_formats" type="strlist">audio/x-ms-wma</append>
            <append key="portable_audio_player.output_formats" type="strlist">audio/x-wav</append>
          </match>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

A questo punto, dopo avere riavviato il demone hal con sudo /etc/init.d/haldaemon restart, quando lo Zen Nano Plus viene inserito, dovrebbe essere avviato automaticamente il riproduttore multimediale scelto e sul Desktop dovrebbe essere mostrata il dispositivo con l’icona di un lettore portatile associata.

Pagina successiva »