Archive for maggio, 2008

29 maggio 2008

Inceneritori

di Spinus

Incollo dal blog di Beppe Grillo, che a sua volta riporta un articolo di Repubblica del 16 maggio

“…435 (QUATTROCENTO TRENTACINQUE) ricerche scientifiche internazionali provano un aumento di tumori e nascite malformi spaventoso in prossimità dei termovalorizzatori…”

http://www.beppegrillo.it/2008/05/fonte_repubblic.html#comments

Annunci
24 maggio 2008

Pidgin e problemi con i suoni

di Spinus

Non perché ma sul mio computer fisso Pidgin non ne voleva sapere di riprodurre i suoni, così girovagando per la rete ho trovato un trucco semplicissimo per risolvere il problema (su Hardy dovrebbe essere risolto, ma a me continuava a dare problemi).

Soluzione: impostare come comando per l’esecuzione dei suoni

aplay %s

Fonte:
http://blog.turbulentsky.com/2007/12/pidgin-has-no-sound-in-ubuntu-gutsy.html

Tag: ,
15 maggio 2008

Java Jni e MinGW

di Spinus

Per esigenze lavorative mi sono scontrato con Jni, che permette a codice Java di chiamare o di essere chiamato da applicazioni native (scritte in C o C++).
Il procedimento per scrivere una classe che utilizza metodi nativi è un po’ macchinoso, ma è abbastanza semplice:

  • si scrive una classe Java che contiene lo scheletro dei  metodi che dovranno essere eseguiti (questi metodi devono essere preceduti dalla keyword native)
  • si compila la classe:
    javac nomeclasse.java
  • si crea l’header che contiene i prototipi delle funzioni:
    javah -jni nomeclasse
  • si implementano i metodi (aggiungendo tutte le librerie necessarie)
  • si compila il file sorgente e si crea una dll:
    gcc -I"C:\Program Files\Java\jdk1.6.0_02\include" -I"C:\Program Files\Java\jdk1.6.0_02\include\win32" -c nome_scheletro_generato -o nome_file_dll.o
    gcc -shared -Wl,--kill-at -o nome_file_dll.dll nome_file_dll.o eventuale_file.lib
  • si importa la dll nella classe java e da quel momento i metodi potranno essere invocati come fossero metodi di una qualsiasi classe java:static
    System.loadLibrary ("nome_file_dll");

E MinGW cosa centra? Ho avuto un piccolo problema utilizzando MinGW, perché il loader di Java non ne voleva sapere di caricare la dll che avevo creato…dopo un po’ di hacking ho scoperto che MinGW usava un name mangling diverso da quello che si aspettava il loader, quindi ho dovuto aggiungere l’opzione -Wl,–kill-at (per una spiegazione più approfondita vedere i link in nota).

P.S. ho testato questa guida sotto Windows, ma con le opportune modifiche si può utilizzare anche sotto Linux, in questo caso, però, bisognerà controllare il metodo di chiamata di default di gcc (_stdcall)

Riferimenti :
http://www.javaworld.com/javaworld/javatips/jw-javatip23.html

http://www.willus.com/mingw/yongweiwu_stdcall.html

http://forum.java.sun.com/thread.jspa?threadID=5200233

15 maggio 2008

L’inglese, questo sconosciuto

di Spinus

Un sito molto completo per chi deve “scontrarsi” con l’inglese 😛

Si possono ricercare i phrasal verbs, i verbi irregolari, gli idiomi…

14 maggio 2008

Powerset: motore di ricerca semantico

di Spinus

Oggi ho scoperto un’interessante motore di ricerca Powerset, è un motore di ricerca semantico, quindi (almeno in teoria) permette di cercare concetti piuttosto che un insieme di parole: per ora funziona solo con wikipedia, ma sembra promettere bene! Ad esempio è possibile cercare i dipinti di Picasso (“paintings by picasso”), ecco il risultato. Oppure è possibile “estrarre” i fatti da un articolo di wiki riguardante Eintein.

Tag:
14 maggio 2008

Piccola libreria di oggetti per Blender

di Spinus

Ho appena scoperto questa libreria di oggetti per Blender, per ora non ce ne sono ancora moltissimi, ma sono nel formato nativo di blender e, quindi, importabili senza problemi!

Fonte: Blender Nation

Tag:
13 maggio 2008

OpenSSH vulnerability

di Spinus

Scoperta vulnerabilità di OpenSSL su sistemi basati su Debian!

http://www.ubuntu.com/usn/usn-612-2

Altre istruzioni…

http://feeds.feedburner.com/~r/UbuntuTutorials/~3/289661396/

Tag:
13 maggio 2008

WinMerge

di Spinus

Ecco un utilissimo programma per chi sviluppa sotto Windows: Winmerge

Permette di visualizzare graficamente e intuitivamente le differenze tra due file e farne il merge; inoltre può operare ricorsivamente su directory e, quindi, permette di visualizzare tutti i file modificati in progetti di grandi dimensioni!

Vista file:

Vista directory:

13 maggio 2008

OpenOffice 3.0 beta

di Spinus

Logo OpenOffice

La versione beta di OpenOffice 3.0 è uscita da poco, naturalmente si tratta di una versione non adatta all’utilizzo di tutti i giorni (anche se fin’ora non ho trovato particolari problemi nell’utilizzo), ma consiglio a chi ne ha voglia di provarla, per aiutarne il debug!

Novità che mi hanno colpito:

  • supporto multischermo in Impress: in questo modo si può proiettare la presentazione sullo schermo principale e leggere delle note per il relatore nello schermo secondario (mi sarebbe stato molto comodo alla presentazione della tesi .P)
  • migliorata la gestione delle note in Writer: ora sono comodamente leggibili nel margine destro del documento
  • migliorata gestione CSV: ho notato che aprendo un banalissimo CSV viene applicata la formattazione automatica alle celle, in questo modo i numeri con i decimali vengono visualizzati per intero
  • è possibile dividere una cella su più colonne, in modo da dividere i dati che non sono stati importati correttamente
  • ho notato che i menù sono più curati e alcune impostazioni sono state spostate per migliorarne l’accessibilità

Naturalmente i cambiamenti sono molti altri, ecco il changelog completo!

11 maggio 2008

guida a xmonad su ubuntu

di morpheus1820

Breve guida all’uso di xmonad su ubuntu hardy… (più che altro un promemoria)

sudo apt-get install xmonad libghc6-xmonad-contrib-dev dzen2 dmenu

Modificare /usr/share/xsessions/xmonad.desktop nel modo seguente:

Exec=~/startxmonad

Creare il file ~/startxmonad:

~/genstatusmessage | dzen2 -ta l -fg '#ffffff' -bg '#202020' -x 0 -y 782 -w 1280 &
xmonad
wait $!
pkill -HUP dzen2

Creare ~/genstatusmessage:

#!/bin/bash
while true ; do
num=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq`
mem=`free -m| awk '/Mem:/ {printf $4}'`
printf "Cpu: %s | Mem: %s\n" "$num" "$mem"
sleep 20
done

Creare il file ~/.xmonad/xmonad.hs:

import XMonad
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.EwmhDesktops
main = xmonad defaultConfig
{ defaultGaps = [(0,18,0,0)],
terminal           = "xterm"              }

Avviare xmonad da gdm. In questo modo si avrà anche una statusbar con informazioni varie ed un menu per l’avvio dei programmi attivabile con (Mod-p).