Linux, Fedora or Ubuntu?

February 2nd, 2010

linux
Fedora over Ubuntu Sun, 27 Jan 08
Want to install Fedora 7 or 8 in a virtual machine on Ubuntu Gutsy?
You have tried VMWare and cannot install it? Fedora freeze in loading and/or cannot find virtual disk?
Well, this is my today problem!
It seems that those version of Fedora don’t like too much the buslogic virtual SCSI controller used by qemu and vmware. So, whenever you are using an IDE virtual disk, it still find the virtual controller.

To solve this problem in VMWare, edit the .vmx file of your virtual machine and add

scsi0.virtualdev = “lsilogic”

to use the lsilogic virtual controller, or if you wish to not use SCSI at all add

scsi0:0.present = “FALSE”

to disable any virtual SCSI controller.

linux
Fedora over Ubuntu Sun, 27 Jan 08
Want to install Fedora 7 or 8 in a virtual machine on Ubuntu Gutsy?
You have tried VMWare and cannot install it? Fedora freeze in loading and/or cannot find virtual disk?

Well, this is my today problem!
It seems that those version of Fedora don’t like too much the buslogic virtual SCSI controller used by qemu and vmware. So, whenever you are using an IDE virtual disk, it still find the virtual controller.

To solve this problem in VMWare, edit the .vmx file of your virtual machine and add

scsi0.virtualdev = "lsilogic"

to use the lsilogic virtual controller, or if you wish to not use SCSI at all add

scsi0:0.present = "FALSE"

to disable any virtual SCSI controller.

freebsd tips

February 2nd, 2010

bsd
geli full encrypted system Sun, 30 Dec 07
Here is a guide I made for myself in trying the freebsd geli encryption layer. For more info about geli, see handbook and geli (8).
microgaming casinos

This howto require a computer (obviously), an usb pendrive (to store keys), and a freesbie licecd (needed for install).
At the end of this guide, you’ll have a full-encrypted system with AES at 256 bit, swap with blowfish, key for root as passphrase and keys for other slices (/usr, /var…) splitted in keys in root and keys onto pendrive. So without pendrive you can’t boot, either without passphrase; obviously you may change at your needs this configuration.

start computer with the cdrom; when you reach console, open it as root:
# su -
and start sysinstall
# sysinstall
In sysinstall choose “custom install”.

Options -> modify “Media Type” to point to your nearest ftp server (if you
are using dhcp, the network is already set up, if not in second console use ifconfig)
Also modify “Install Root” to “/mnt”.

Partition -> allocate space for one bsd partition (retain the disk name, like
‘ad10′), quit and install boot manager

(note: my sata drive is called ad10 by the kernel (you will see it in the
partitioning process) but the boot loader found it as disk1 (you read it at
the booting process))

Label -> create following slice scheme:
100MB / ad10s1a (ignore warning)
400MB /boot ad10s1d
1024MB swap ad10s1b
5120MB /tmp ad10s1e
5120MB /var ad10s1f
remaining /usr ad10s1g

(the following step is necessary to fool sysinstall as he doesn’t allow you
to put in slice ‘a’ anything else than / )
Before continuing you have to change mount points names:
/ will be /boot, and /boot will be /

The final scheme have to be like this:
100MB /boot ad10s1a
400MB / ad10s1d
1024MB swap ad10s1b
5120MB /tmp ad10s1e
5120MB /var ad10s1f
remaining /usr ad10s1g

(note: set size of swap, /tmp, /var and /usr at your needs. You maybe want a
separate /home. If you want one big / , set ad10s1d to be large for entire
disk minus the swap space)

Finish editing slices if you are sure that /boot is on slice ‘a’.

Distribution -> select smallest system possible:
- select Custom
- select base, kernels, man

And finally commit.
Once he have done, exit sysinstall and return to the console

Mount the newly created system in the live system:
# mount /dev/ad10s1d /mnt

Place booting files in /mnt/mntboot/boot/ and create a link:
# cd /mnt/
# rmdir boot
# mkdir mntboot
# mount /dev/ad10s1a /mnt/mntboot
# cd mntboot
# mkdir tmp
# mv * tmp
# mv tmp boot
# cd /mnt/
# ln -s mntboot/boot boot

Make a backup of our minimal /tmp, /var and /usr:
# cd /mnt
# mount /dev/ad10s1e tmp
# mount /dev/ad10s1f var
# mount /dev/ad10s1g usr
# tar cf back.tar tmp var usr
# umount /mnt/tmp /mnt/var /mnt/usr

Plug in usb pendrive for storing key, it should appear as /dev/da0
# mkdir /mnt/etc/geli
# newfs_msdos -F32 /dev/da0
# mount_msdosfs /dev/da0 /mnt/mnt

Create key-files and initiate encrypted slices for /tmp, /var and /usr
# dd if=/dev/random of=/mnt/etc/geli/TAYGETA_tmp.key1 bs=64 count=1
# dd if=/dev/random of=/mnt/mnt/TAYGETA_tmp.key2 bs=64 count=1
# dd if=/dev/random of=/dev/ad10s1e bs=1m
# cat /mnt/etc/geli/TAYGETA_tmp.key1 /mnt/mnt/TAYGETA_tmp.key2 | \
geli init -e AES -l 128 -s 4096 -P -K – /dev/ad10s1e
# cat /mnt/etc/geli/TAYGETA_tmp.key1 /mnt/mnt/TAYGETA_tmp.key2 | \
geli attach -p -k – /dev/ad10s1e
# newfs -O2 -U /dev/ad10s1e.eli
# mount /dev/ad10s1e.eli /mnt/tmp

# dd if=/dev/random of=/mnt/etc/geli/TAYGETA_var.key1 bs=64 count=1
# dd if=/dev/random of=/mnt/mnt/TAYGETA_var.key2 bs=64 count=1
# dd if=/dev/random of=/dev/ad10s1f bs=1m
# cat /mnt/etc/geli/TAYGETA_var.key1 /mnt/mnt/TAYGETA_var.key2 | \
geli init -e AES -l 128 -s 4096 -P -K – /dev/ad10s1f
# cat /mnt/etc/geli/TAYGETA_var.key1 /mnt/mnt/TAYGETA_var.key2 | \
geli attach -p -k – /dev/ad10s1f
# newfs -O2 -U /dev/ad10s1f.eli
# mount /dev/ad10s1f.eli /mnt/var

# dd if=/dev/random of=/mnt/etc/geli/TAYGETA_usr.key1 bs=64 count=1
# dd if=/dev/random of=/mnt/mnt/TAYGETA_usr.key2 bs=64 count=1
# dd if=/dev/random of=/dev/ad10s1g bs=1m
# cat /mnt/etc/geli/TAYGETA_usr.key1 /mnt/mnt/TAYGETA_usr.key2 | \
geli init -e AES -l 128 -s 4096 -P -K – /dev/ad10s1g
# cat /mnt/etc/geli/TAYGETA_usr.key1 /mnt/mnt/TAYGETA_usr.key2 | \
geli attach -p -k – /dev/ad10s1g
# newfs -O2 -U /dev/ad10s1g.eli
# mount /dev/ad10s1g.eli /mnt/usr

Randomize swap slice:
# dd if=/dev/random of=/dev/ad10s1b bs=1m

Edit file for correct booting process:
# ee /mnt/boot/loader.conf

currdev=”disk1s1a” # current slice containing /boot
rootdev=”disk1s1d” # slice containing / in a way that loader understand
vfs.root.mountfrom=”ufs:ad10s1d.eli” # slice containing / in a way that
kernel understand
geom_eli_load=”YES”

Populate directories:
# cd /mnt
# tar xf back.tar
# rm back.tar
# umount /mnt/tmp /mnt/var /mnt/usr /mnt/mnt /mnt/mntboot

Make a backup of the root
# cd /mnt
# mount /dev/ad10s1e.eli /mnt2
# tar cf /mnt2/back.tar *

And encrypt it. Don’t forget the passphrase you will be asked for!
# cd /
# umount /mnt
# geli init -e AES -l 128 -s 4096 -b /dev/ad10s1d
# geli attach /dev/ad10s1d
# newfs -O2 -U /dev/ad10s1d.eli
# mount /dev/ad10s1d.eli /mnt
# cd /mnt
# tar xf /mnt2/back.tar
# rm /mnt2/back.tar
# umount /mnt2

Finally edit important files to correctly load system:
# ee /mnt/etc/fstab
/dev/ad10s1a /mntboot ufs ro 1 1
/dev/ad10s1b.eli none swap sw 0 0
/dev/ad10s1d.eli / ufs rw 1 1
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
/dev/ad10s1e.eli /tmp ufs rw 1 1
/dev/ad10s1f.eli /var ufs rw 1 1
/dev/ad10s1g.eli /usr ufs rw 1 1

Edit /mnt/etc/rc.conf
# ee /mnt/etc/rc.conf
[add the following line]
geli_swap_flags=”-e Blowfish -l 256 -d”

Manually change /etc/rc.d/geli (change “da0″ with your pendrive partition)
# ee /mnt/etc/rc.d/geli

[in "geli_start()" add before "for provider in ${devices}"]

while(true); do
/sbin/mount_msdosfs /dev/da0 /mnt > /dev/null
if [ $? -eq 0 ]; then
break;
fi
echo “Pendrive missing!”
sleep 3;
done
echo “Pendrive found, initializing slices.”

/bin/cat /etc/geli/TAYGETA_tmp.key1 /mnt/TAYGETA_tmp.key2 | \
/sbin/geli attach -p -k – /dev/ad10s1e
/bin/cat /etc/geli/TAYGETA_var.key1 /mnt/TAYGETA_var.key2 | \
/sbin/geli attach -p -k – /dev/ad10s1f
/bin/cat /etc/geli/TAYGETA_usr.key1 /mnt/TAYGETA_usr.key2 | \
/sbin/geli attach -p -k – /dev/ad10s1g

/sbin/umount /dev/da0 /mnt

[and comment out the rest of geli_start() function]

# umount /mnt
# exit

Reboot computer and remove freebsd cdrom. And make a pendrive copy to put in safe place, maybe bank or more secure :D

Texts, docs

February 2nd, 2010

texts
Wikipedia offline Dec 07
Ho rilasciato il testo della mia tesi di laurea specialistica sotto licenza CC-BY-NC.
Il titolo completo e` Sviluppo di un ambiente software per la consultazione offline di Wikipedia.

E` disponibile il pdf completo e le slides annesse

La tesi verte sui metodi per ottenere una versione offline multipiattaforma di Wikipedia utilizzando software opensource; in particolare e` stato definito un meccanismo di conversione e un’interfaccia per la consultazione offline, incluso un motore di ricerca ECMAscript. Il sistema prodotto puo` essere memorizzato su diversi supporti (dvdrom, pendrive, etc) e accessibili da molti sistemi operativi senza richiedere dipendenze particolari.
Il processo e` applicabile a qualsiasi versione di Wikipedia e con poche modifiche a qualsiasi installazione di MediaWiki. Per motivi di responsabilita` in Italia l’utilizzo del software deve essere personale.
Il nome in codice del progetto e` “WaNDA”, acronimo di WaNDA ancora Non Definitivamente Aggiornata. Gli applicativi prodotti sono situati su Sourceforge con il nome di WaNDA-tools: e` qui disponibile l’ultima versione del pacchetto.
GNU/Linux Nov 07
Slides per il corso base GNU/Linux Netstudent.
Terza lezione: shell, comandi base, struttura del filesystem, permessi.
corsobaselinux_3_nov07.pdf (source)
FLOSS Sep 07
Slides on Free/Libre/Open-Source Software, in italian:
FLOSSeCO.pdf (source)

hardware

February 2nd, 2010

proj-hw
3Nitro 2006
WiFi 2.4 GHz +12dbm N connector
It’s a revision of Nitro II
Antenna 3Nitro
Nitro II 2006
WiFi 2.4 GHz +10dbm N connector
Antenna Nitro II
Nitro 2006
Introducing Nitro, a low cost hand-made wifi antenna +8-10 dbm @ 2.4GHz

Antenna Nitro
Faxe 2006
this is faxe, the very first wifi antenna i’ve done, made from a low-cost beer can :P

multimedia

February 2nd, 2010

proj-mm
xdm skin 2004
When I was used to start in graphical mode, I’ve made an XDM graphical template:
skins ~2000
When I was young I’ve done some skins, compatible with Winamp 2.x, audacious, XMMS, beep-media-player, etc…

The coolest is this:

Look also at the beatmasters skin:

And finally the first ever done, very ugly ;p

software

February 2nd, 2010

proj-sw
phperr Dec 07
I forgot to link here the humble CMS running this site, called with fantasy phperr.
You can get it here (version 0.5); keep in mind that is very my-site oriented, but the code lines are few and it can be easily more developed.
Contents are stored in text files (no database required) and are edited in html stile blog; it support upload and management of remote files. The number of pages are unlimited and created as you access them (in wiki stile). Border menus are are also remotely editable in php.
WaNDA-tools Dec 07
The WaNDA Project has reached a stable status. It allows you to generate a multiplatform offline version of Wikipedia. More info are available at the project page on Sourceforge, where you can get it.

There’s also a page at Politechnic of Turin, linux@studenti, and my MSc thesis in italian about it, here available in texts section.

The code is a mix of PHP for processing and multiplatform ECMAscript for consulting the offline content.
Ermes 2006
“Ermes” is a Windows multicast network application for video conferencing; using video compressions techniques, it streams a desktop area from a server machine to unlimited numbers of clients.

The communication is done with two streams: the audio stream has priority over video, so position of mouse cursor is included with it for improved clearness of speech. The video stream compression is settable to suit situation needs. The programs should run on all Windows NT family (XP, etc..). It works in either client or server mode.
Full sources for Visual Studio 2005 (.NET) are released under GPL v2; the software is mainly written in C# with managed C++.

Sources: Ermes_v0.4.5.zip
Brief documentation in italian with schemes of components: Ermes.pdf
zenzero 2005
“zenzero” e` il nome in codice di un breve progetto per il controllo di un autoveicolo.
Il veicolo e` costruito con Lego Mindstorms, il software di controllo e` basata su Statetra e LegoStatetra.

La documentazione del progetto: zenzero.pdf
Il sorgente Statetra del sofware di gestione: zenzero_str.tar.bz2
8051 microcontroller 2004
Microcontrollore 8051: un testo in italiano che contiene sia un’esaustiva descrizione dell’architettura che una guida alla programmazione in assembler su processori embedded di questo tipo.
La piattaforma di sviluppo di riferimento e` il Keil A51, l’integrato ed i compenenti annessi e` della Phytec.

Il testo e` presente qui Microntrollore_8051.pdf
Gli esempi inclusi nel testo sono disponibili qui 8051_code_examples.zip

Il progetto e` stato sviluppato per la laurea di primo livello in collaborazione con fosk.
hchlib 16 Mar 04
Http CHannel LIBrary: an useless generic HTTP network layer.
It permits point to point communication using HTTP and MIME, encoding data with Quoted Printable or Base64.

From the SF page:
Http_channel_lib is a UNIX library to establish a client/server communication trought HTTP/1.0 and MIME. It can encode data (base64, quoted printable) and it’s compliant with RFCs 821, 1945, 2045. Included full documentation in italian.

The library sources are also available here: hchlib_1.0.tar.gz
In the package is included as documentation the list of API and slides on how-it-works, both in italian: HTTP_adaptation_layer_API.pdf HTTP_adaptation_layer_SLIDES.pdf

The project was developped with fosk.

Linux, Fedora or Ubuntu?

February 2nd, 2010

linux
Fedora over Ubuntu Sun, 27 Jan 08
Want to install Fedora 7 or 8 in a virtual machine on Ubuntu Gutsy?
You have tried VMWare and cannot install it? Fedora freeze in loading and/or cannot find virtual disk?
Well, this is my today problem!
It seems that those version of Fedora don’t like too much the buslogic virtual SCSI controller used by qemu and vmware. So, whenever you are using an IDE virtual disk, it still find the virtual controller.

To solve this problem in VMWare, edit the .vmx file of your virtual machine and add

scsi0.virtualdev = “lsilogic”

to use the lsilogic virtual controller, or if you wish to not use SCSI at all add

scsi0:0.present = “FALSE”

to disable any virtual SCSI controller.

linux
Fedora over Ubuntu Sun, 27 Jan 08
Want to install Fedora 7 or 8 in a virtual machine on Ubuntu Gutsy?
You have tried VMWare and cannot install it? Fedora freeze in loading and/or cannot find virtual disk?

Well, this is my today problem!
It seems that those version of Fedora don’t like too much the buslogic virtual SCSI controller used by qemu and vmware. So, whenever you are using an IDE virtual disk, it still find the virtual controller.

To solve this problem in VMWare, edit the .vmx file of your virtual machine and add

scsi0.virtualdev = "lsilogic"

to use the lsilogic virtual controller, or if you wish to not use SCSI at all add

scsi0:0.present = "FALSE"

to disable any virtual SCSI controller.

freebsd tips

February 2nd, 2010

bsd
geli full encrypted system Sun, 30 Dec 07
Here is a guide I made for myself in trying the freebsd geli encryption layer. For more info about geli, see handbook and geli (8).
microgaming casinos

This howto require a computer (obviously), an usb pendrive (to store keys), and a freesbie licecd (needed for install).
At the end of this guide, you’ll have a full-encrypted system with AES at 256 bit, swap with blowfish, key for root as passphrase and keys for other slices (/usr, /var…) splitted in keys in root and keys onto pendrive. So without pendrive you can’t boot, either without passphrase; obviously you may change at your needs this configuration.

start computer with the cdrom; when you reach console, open it as root:
# su -
and start sysinstall
# sysinstall
In sysinstall choose “custom install”.

Options -> modify “Media Type” to point to your nearest ftp server (if you
are using dhcp, the network is already set up, if not in second console use ifconfig)
Also modify “Install Root” to “/mnt”.

Partition -> allocate space for one bsd partition (retain the disk name, like
‘ad10′), quit and install boot manager

(note: my sata drive is called ad10 by the kernel (you will see it in the
partitioning process) but the boot loader found it as disk1 (you read it at
the booting process))

Label -> create following slice scheme:
100MB / ad10s1a (ignore warning)
400MB /boot ad10s1d
1024MB swap ad10s1b
5120MB /tmp ad10s1e
5120MB /var ad10s1f
remaining /usr ad10s1g

(the following step is necessary to fool sysinstall as he doesn’t allow you
to put in slice ‘a’ anything else than / )
Before continuing you have to change mount points names:
/ will be /boot, and /boot will be /

The final scheme have to be like this:
100MB /boot ad10s1a
400MB / ad10s1d
1024MB swap ad10s1b
5120MB /tmp ad10s1e
5120MB /var ad10s1f
remaining /usr ad10s1g

(note: set size of swap, /tmp, /var and /usr at your needs. You maybe want a
separate /home. If you want one big / , set ad10s1d to be large for entire
disk minus the swap space)

Finish editing slices if you are sure that /boot is on slice ‘a’.

Distribution -> select smallest system possible:
- select Custom
- select base, kernels, man

And finally commit.
Once he have done, exit sysinstall and return to the console

Mount the newly created system in the live system:
# mount /dev/ad10s1d /mnt

Place booting files in /mnt/mntboot/boot/ and create a link:
# cd /mnt/
# rmdir boot
# mkdir mntboot
# mount /dev/ad10s1a /mnt/mntboot
# cd mntboot
# mkdir tmp
# mv * tmp
# mv tmp boot
# cd /mnt/
# ln -s mntboot/boot boot

Make a backup of our minimal /tmp, /var and /usr:
# cd /mnt
# mount /dev/ad10s1e tmp
# mount /dev/ad10s1f var
# mount /dev/ad10s1g usr
# tar cf back.tar tmp var usr
# umount /mnt/tmp /mnt/var /mnt/usr

Plug in usb pendrive for storing key, it should appear as /dev/da0
# mkdir /mnt/etc/geli
# newfs_msdos -F32 /dev/da0
# mount_msdosfs /dev/da0 /mnt/mnt

Create key-files and initiate encrypted slices for /tmp, /var and /usr
# dd if=/dev/random of=/mnt/etc/geli/TAYGETA_tmp.key1 bs=64 count=1
# dd if=/dev/random of=/mnt/mnt/TAYGETA_tmp.key2 bs=64 count=1
# dd if=/dev/random of=/dev/ad10s1e bs=1m
# cat /mnt/etc/geli/TAYGETA_tmp.key1 /mnt/mnt/TAYGETA_tmp.key2 | \
geli init -e AES -l 128 -s 4096 -P -K – /dev/ad10s1e
# cat /mnt/etc/geli/TAYGETA_tmp.key1 /mnt/mnt/TAYGETA_tmp.key2 | \
geli attach -p -k – /dev/ad10s1e
# newfs -O2 -U /dev/ad10s1e.eli
# mount /dev/ad10s1e.eli /mnt/tmp

# dd if=/dev/random of=/mnt/etc/geli/TAYGETA_var.key1 bs=64 count=1
# dd if=/dev/random of=/mnt/mnt/TAYGETA_var.key2 bs=64 count=1
# dd if=/dev/random of=/dev/ad10s1f bs=1m
# cat /mnt/etc/geli/TAYGETA_var.key1 /mnt/mnt/TAYGETA_var.key2 | \
geli init -e AES -l 128 -s 4096 -P -K – /dev/ad10s1f
# cat /mnt/etc/geli/TAYGETA_var.key1 /mnt/mnt/TAYGETA_var.key2 | \
geli attach -p -k – /dev/ad10s1f
# newfs -O2 -U /dev/ad10s1f.eli
# mount /dev/ad10s1f.eli /mnt/var

# dd if=/dev/random of=/mnt/etc/geli/TAYGETA_usr.key1 bs=64 count=1
# dd if=/dev/random of=/mnt/mnt/TAYGETA_usr.key2 bs=64 count=1
# dd if=/dev/random of=/dev/ad10s1g bs=1m
# cat /mnt/etc/geli/TAYGETA_usr.key1 /mnt/mnt/TAYGETA_usr.key2 | \
geli init -e AES -l 128 -s 4096 -P -K – /dev/ad10s1g
# cat /mnt/etc/geli/TAYGETA_usr.key1 /mnt/mnt/TAYGETA_usr.key2 | \
geli attach -p -k – /dev/ad10s1g
# newfs -O2 -U /dev/ad10s1g.eli
# mount /dev/ad10s1g.eli /mnt/usr

Randomize swap slice:
# dd if=/dev/random of=/dev/ad10s1b bs=1m

Edit file for correct booting process:
# ee /mnt/boot/loader.conf

currdev=”disk1s1a” # current slice containing /boot
rootdev=”disk1s1d” # slice containing / in a way that loader understand
vfs.root.mountfrom=”ufs:ad10s1d.eli” # slice containing / in a way that
kernel understand
geom_eli_load=”YES”

Populate directories:
# cd /mnt
# tar xf back.tar
# rm back.tar
# umount /mnt/tmp /mnt/var /mnt/usr /mnt/mnt /mnt/mntboot

Make a backup of the root
# cd /mnt
# mount /dev/ad10s1e.eli /mnt2
# tar cf /mnt2/back.tar *

And encrypt it. Don’t forget the passphrase you will be asked for!
# cd /
# umount /mnt
# geli init -e AES -l 128 -s 4096 -b /dev/ad10s1d
# geli attach /dev/ad10s1d
# newfs -O2 -U /dev/ad10s1d.eli
# mount /dev/ad10s1d.eli /mnt
# cd /mnt
# tar xf /mnt2/back.tar
# rm /mnt2/back.tar
# umount /mnt2

Finally edit important files to correctly load system:
# ee /mnt/etc/fstab
/dev/ad10s1a /mntboot ufs ro 1 1
/dev/ad10s1b.eli none swap sw 0 0
/dev/ad10s1d.eli / ufs rw 1 1
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
/dev/ad10s1e.eli /tmp ufs rw 1 1
/dev/ad10s1f.eli /var ufs rw 1 1
/dev/ad10s1g.eli /usr ufs rw 1 1

Edit /mnt/etc/rc.conf
# ee /mnt/etc/rc.conf
[add the following line]
geli_swap_flags=”-e Blowfish -l 256 -d”

Manually change /etc/rc.d/geli (change “da0″ with your pendrive partition)
# ee /mnt/etc/rc.d/geli

[in "geli_start()" add before "for provider in ${devices}"]

while(true); do
/sbin/mount_msdosfs /dev/da0 /mnt > /dev/null
if [ $? -eq 0 ]; then
break;
fi
echo “Pendrive missing!”
sleep 3;
done
echo “Pendrive found, initializing slices.”

/bin/cat /etc/geli/TAYGETA_tmp.key1 /mnt/TAYGETA_tmp.key2 | \
/sbin/geli attach -p -k – /dev/ad10s1e
/bin/cat /etc/geli/TAYGETA_var.key1 /mnt/TAYGETA_var.key2 | \
/sbin/geli attach -p -k – /dev/ad10s1f
/bin/cat /etc/geli/TAYGETA_usr.key1 /mnt/TAYGETA_usr.key2 | \
/sbin/geli attach -p -k – /dev/ad10s1g

/sbin/umount /dev/da0 /mnt

[and comment out the rest of geli_start() function]

# umount /mnt
# exit

Reboot computer and remove freebsd cdrom. And make a pendrive copy to put in safe place, maybe bank or more secure :D

Texts, docs

February 2nd, 2010

texts
Wikipedia offline Dec 07
Ho rilasciato il testo della mia tesi di laurea specialistica sotto licenza CC-BY-NC.
Il titolo completo e` Sviluppo di un ambiente software per la consultazione offline di Wikipedia.

E` disponibile il pdf completo e le slides annesse

La tesi verte sui metodi per ottenere una versione offline multipiattaforma di Wikipedia utilizzando software opensource; in particolare e` stato definito un meccanismo di conversione e un’interfaccia per la consultazione offline, incluso un motore di ricerca ECMAscript. Il sistema prodotto puo` essere memorizzato su diversi supporti (dvdrom, pendrive, etc) e accessibili da molti sistemi operativi senza richiedere dipendenze particolari.
Il processo e` applicabile a qualsiasi versione di Wikipedia e con poche modifiche a qualsiasi installazione di MediaWiki. Per motivi di responsabilita` in Italia l’utilizzo del software deve essere personale.
Il nome in codice del progetto e` “WaNDA”, acronimo di WaNDA ancora Non Definitivamente Aggiornata. Gli applicativi prodotti sono situati su Sourceforge con il nome di WaNDA-tools: e` qui disponibile l’ultima versione del pacchetto.
GNU/Linux Nov 07
Slides per il corso base GNU/Linux Netstudent.
Terza lezione: shell, comandi base, struttura del filesystem, permessi.
corsobaselinux_3_nov07.pdf (source)
FLOSS Sep 07
Slides on Free/Libre/Open-Source Software, in italian:
FLOSSeCO.pdf (source)

hardware

February 2nd, 2010

proj-hw
3Nitro 2006
WiFi 2.4 GHz +12dbm N connector
It’s a revision of Nitro II
Antenna 3Nitro
Nitro II 2006
WiFi 2.4 GHz +10dbm N connector
Antenna Nitro II
Nitro 2006
Introducing Nitro, a low cost hand-made wifi antenna +8-10 dbm @ 2.4GHz

Antenna Nitro
Faxe 2006
this is faxe, the very first wifi antenna i’ve done, made from a low-cost beer can :P

multimedia

February 2nd, 2010

proj-mm
xdm skin 2004
When I was used to start in graphical mode, I’ve made an XDM graphical template:
skins ~2000
When I was young I’ve done some skins, compatible with Winamp 2.x, audacious, XMMS, beep-media-player, etc…

The coolest is this:

Look also at the beatmasters skin:

And finally the first ever done, very ugly ;p

software

February 2nd, 2010

proj-sw
phperr Dec 07
I forgot to link here the humble CMS running this site, called with fantasy phperr.
You can get it here (version 0.5); keep in mind that is very my-site oriented, but the code lines are few and it can be easily more developed.
Contents are stored in text files (no database required) and are edited in html stile blog; it support upload and management of remote files. The number of pages are unlimited and created as you access them (in wiki stile). Border menus are are also remotely editable in php.
WaNDA-tools Dec 07
The WaNDA Project has reached a stable status. It allows you to generate a multiplatform offline version of Wikipedia. More info are available at the project page on Sourceforge, where you can get it.

There’s also a page at Politechnic of Turin, linux@studenti, and my MSc thesis in italian about it, here available in texts section.

The code is a mix of PHP for processing and multiplatform ECMAscript for consulting the offline content.
Ermes 2006
“Ermes” is a Windows multicast network application for video conferencing; using video compressions techniques, it streams a desktop area from a server machine to unlimited numbers of clients.

The communication is done with two streams: the audio stream has priority over video, so position of mouse cursor is included with it for improved clearness of speech. The video stream compression is settable to suit situation needs. The programs should run on all Windows NT family (XP, etc..). It works in either client or server mode.
Full sources for Visual Studio 2005 (.NET) are released under GPL v2; the software is mainly written in C# with managed C++.

Sources: Ermes_v0.4.5.zip
Brief documentation in italian with schemes of components: Ermes.pdf
zenzero 2005
“zenzero” e` il nome in codice di un breve progetto per il controllo di un autoveicolo.
Il veicolo e` costruito con Lego Mindstorms, il software di controllo e` basata su Statetra e LegoStatetra.

La documentazione del progetto: zenzero.pdf
Il sorgente Statetra del sofware di gestione: zenzero_str.tar.bz2
8051 microcontroller 2004
Microcontrollore 8051: un testo in italiano che contiene sia un’esaustiva descrizione dell’architettura che una guida alla programmazione in assembler su processori embedded di questo tipo.
La piattaforma di sviluppo di riferimento e` il Keil A51, l’integrato ed i compenenti annessi e` della Phytec.

Il testo e` presente qui Microntrollore_8051.pdf
Gli esempi inclusi nel testo sono disponibili qui 8051_code_examples.zip

Il progetto e` stato sviluppato per la laurea di primo livello in collaborazione con fosk.
hchlib 16 Mar 04
Http CHannel LIBrary: an useless generic HTTP network layer.
It permits point to point communication using HTTP and MIME, encoding data with Quoted Printable or Base64.

From the SF page:
Http_channel_lib is a UNIX library to establish a client/server communication trought HTTP/1.0 and MIME. It can encode data (base64, quoted printable) and it’s compliant with RFCs 821, 1945, 2045. Included full documentation in italian.

The library sources are also available here: hchlib_1.0.tar.gz
In the package is included as documentation the list of API and slides on how-it-works, both in italian: HTTP_adaptation_layer_API.pdf HTTP_adaptation_layer_SLIDES.pdf

The project was developped with fosk.