Sunday, 9 November 2008

bridge river

bridge river, inserito originariamente da Vittorio's Photos.

wow, it appears that i managed to shoot a nice pic this time!
unbelievable :p

Saturday, 8 November 2008


This is a test post from flickr, a fancy photo sharing thing.

Tuesday, 21 October 2008

Grenoble gallery + contest

Finally the new album is online!
it contins some pictures i took while visiting Grenoble, in south France! We paid off some our collegues that went studying in this city!
The trip could have gone better, but some pics are nice enough to be view :)

Moreover one of those pictures is taking place in a contest of digital photography:
ok maybe it's not a first class contest, but it's nice to join competition sometimes!
so visit this site and please vote!!! :)


Thursday, 25 September 2008

New year, New art

hi all!
yes i've finally returned back from my holidays, relaxing but way too short!
I started my last year of school just a week ago, but it feels i've been there forever... wait a sec, i HAVE been there all that time :-D

anyway, during this period i fully exploited my SLR Canon and after some training i managed to get some presentable photos! I put some on Flickr and i'll put complete albums in picasa: that's how i intend to organize my "artistic" stuff

Flickr - : best shots only
Picasa - : complete albums
DeviantArt - : drawings (if there will be any)

have a look at them :)

Tuesday, 5 August 2008

GLX 1.0 is out and that means... HOLIDAY!!!

yep it's incredible, but it's here

the rewritten, quick and "dual core" DLX processor has finally reached the world!
ok it's not really dual core, but there are two execution paths, implementig the Very Long Instruction Word support.

For this processor a full physical design has been carried out, which you can find in the source archive.

Now that this processor has been completed, it's finally time for some holiday!!!
No more school untill september! yay!


Tuesday, 29 July 2008

Some pure old Mac fun

So i'm basically worn out of all these projects to hand out, and after an entire day completing the before last report, i've decided to take some free time and play with my Mac

I was so happy with the results that i want to share them with you all

1. Open in Terminal
Sometimes you're browsing with Finder and you find yourself in a relative long path; then you realize that you need to use a shell command on a file in that far away folder! oh the pain!
Open Terminal helps you with this task: if you move it to the application bar it will open a terminal in the folder selected/dragged/present in Finder! it comes with a contexual menu as well!

The only drawback is that it uses horrible icons, but you can change them and use these ones (follow the instructions reported) which are OpenTerminalHere ones

Open Terminal is much quickier than the other "open-here" apps because goes in the background, consuming no more than a Dashboard widget (but it works also without it, and it's alwasy a little faster than the others)

2. Open from Terminal
Here I'm reporting two tricks for when you are in the Terminal
The first one follows the above one: you can create an alias for calling the Open Terminal script that cds to the Finder active folder
alias cdf='eval `osascript /Applications/Utilities/ `'
Put that line in your ~/.profile file and you're done (if you want to use it right away do source ~/.profile)
The second one is for opening the folder of where you are right now (in the Terminal)
open .
really that simple! open is a Mac utility that call the associated application for opening the what is given as argument, very useful; so if you "open file.txt" it will start TexEdit!

3. Cd Up
Last trick for the Terminal: when you are in a very long path (in Macs this happens often) if you go in another folder by mistake, you have to write the whole path again!
However if you put this simple line
alias up='cd "`env | grep OLDPWD | cut -f 2 -d =`" '
in your ~/.profile, you can return to your previous location just by calling up
This works also for any Linux distro :)

4. View in FullScreen
This is a nice AppleScript that opens a Finder Window in full screen in CoverFlow mode!
Very nice, but lacks of a nice icon! Fortunately you can use the lselect one found before.

5. Quicklook for source text files
So as i work mostly with VHDL, i wanted to have a way to have a quick preview of the source file, just like any other .c or .java file!

Well this is possible and it's also rather easy: inspired by this hint i started looking in every Info.plist files until i found the right one! The XCode one!

You just need to perform these simple steps and you'll be able to use Quicklook for .vhd and practically any other text file format.
  1. open /Developer/Applications/
  2. go to line 1439
  3. insert a line like vhd (replace vhd with the extension you need, i also added .dat and .cmm, but these two don't get highlighted)
  4. save the file and touch the application (touch /Developer/Applications/ to update the preference contents
  5. run a sudo qlmanage -r to restart the Quicklook daemon
6. X11 shorcuts like Mac shortcuts
Well, one of the reasons X11 is denigrated so much is that it has different cut/paste/save shortcuts, no drag and drop and different copy buffers

However this can be resolved very easily: just create a ~/.xmodmap file containg
keycode 63 = Control_L
keycode 60 = Alt_L
keycode 66 = Alt_L
clear mod1
clear Control
add mod1 = Alt_L
add Control = Control_L
In this way Copy and Paste will work like in Mac native apps, Cmd+c and Cmd+v, and all the shortcuts which required Control, will run with Cmd instead!

Well enough fun for now :)
It's time to go back working on GLX

Friday, 25 July 2008

3k-cc BETA 1 released

After almost a month of waiting, it is finally here!
the compiler for the GLE-MiPS family of custom processor!!!! download here!

it is written in Java using JFlex and CUP and it is released as a beta as there might be some akward unexpected condition (have mercy, it was done writing at 6,30 in the morning!)

you know the site

Monday, 21 July 2008

Our newest author with HTML5 paper and slides

Welcome to Alberto Trivero, our new ProjectSymphony author!
He's made to the author level with two interesting computer security documents

they are about HTML5 sheets, explaining the new client storage capability of browser and how to abuse of them :)
doc and slides

good job Alberto

Sunday, 20 July 2008

GLE-MiPS 1.2 - with Pentium4 Technology

A new version of your favourite process has been released today!
The main news is that the adder is now implemented with a Sparse Tree Adder scheme, the same one found in Pentium4 cpus

subsequently all the modules that used an adder (like the multiplier) have been optimized, while simpler modules that didn't need such a complicated device retained their ripple-carry-adder scheme.

Here is the changelog:
  • adder now uses a Sparse Tree adder scheme
  • testbench included by default
  • ROM revisions
  • optimizations for modules using adders
You can download the source code here

Monday, 14 July 2008

QUATTRO 1.0 is out!

And here we have QUATTRO
a new microprocessor design for small embedded systems!

With only 4 bit data, it features a shunk down instruction set of GLE-MiPS 1.1 (from which all the code derived)
with such small amount of speed we can gather a nice 120 MHz processor, big only a few transistors (synthesizes completely on a Spartan 3)

You can grab the code here
and visit the renewed version of the site

Expect some lines for documentation soon :)

Friday, 4 July 2008

GLE-MiPS 1.1

First revision of the stable release! some improvements here and there but the central update is for the multiplier which now explicitly uses the Booth Algorithm

here is the source and the changelog
  • multiplier uses explicitly the booth algorithm
  • control unit revision
  • instruction decode and main architecture cleanup
  • register and multiplexer coding reviewed
  • bugfix in the comparator


Wednesday, 25 June 2008

upside down Webcams? here is the solution for Linux!

Here i'm posting a resolution for a tedious problem that is affecting many laptops in the world!

Some laptops come with an upside down webcam, physically speaking!
then the windows driver takes care of repositioning the stream in the correct position, but this doesn't apply to linux drivers!

Luckily for all of linux people, we've found a solution: one of mine Linux padwan that goes by the name of Marco Argiolas lost sleep to overcome this problem (having just bought a laptop with such nice feature)! He tried every possible howto, many tutorials and suggestions, but what left in the end was to dive in the sourcecode of the driver and patching for it to work!

well, he actually succeeded! now, any upside down webcam using the uvc driver can see it right! he posted the patch to the devel mailing list, but while the devs approve it, you can follow his tutorial at ubuntu forums
in english or
in italian

i'll keep you posted with updates
in the meantime, many compliments to Marco ;)


Friday, 20 June 2008

GLE-MiPS stable and lots of documents!!!

And we finally got it to the STABLE!!!
this project has been already awarded with a fantastic 30/30 mark (equivalent to an A)!!!

grab it here!

and if you are looking for documentation, we have two options:
either the wiki page at googlecode's
or the scribd pubblication

in any case, i hope you find it useful :)

while on the subject of cpu, i'm also posting a report of an (unsuccessuful) project of testing the cache in OpenSPARC T1 processor; it proved quite too hard for us and so we had to stop at a certain degree
however it might be useful for people involved in research like this
written by Matteo Ainardi, Matteo Bosio, Salvatore Campione, Vittorio Giovara and Alberto Grand

while speaking of documents, i also found out why some documents in Scribd were seen just as like they were printed by Gutenberg himself! It's all cause of the T1 font encoding, that even if may result more pleasant in file version, caused several glitches with the online view! Now all the affected documents (basically this one, this and this) are corrected

Tuesday, 17 June 2008

Firefox Download Day

Could we mess such an event???

Today is Firefox Download Day! Help this browser enter the Guinness Record!!!

official link
discuss in twitter

Tuesday, 10 June 2008

Tiba overload!!!

And while one of our documents has reached the Hot List for (no particular reason :D)

our great and only Tibia provides us with 3, and i say THREE, new documents
what to say...
very very very good job :)

Monday, 2 June 2008

GLE-MiPS - second beta beta!

and we made it to the second beta!
Just after a couple of days we've managed to add
  • 64 bits extension
  • integer modulo/division
  • data cache implementation
I must point out that the 64-bit extension is partial, because it is just an addon to the current 32bits architecture; so for now it is useful only for working on 64bits numbers and nothing else.
For the data cache there is a very strict size constrain as it requires several thousands of flip flops and most synthetisors can't handle such big numbers.

So, if you want to take a peek at the source, grab it here!

Saturday, 31 May 2008

GLE-MiPS - reaching beta!

hi all!
I'm pleased to announce that the project has reached the BETA status!
It should work as the blueprints says, but i need to thoroghly test it!

if you want to check it out it's here.

the good news now is that there are many fellow students who like this project and are quite willing to help!
Moreover we're forming a group for building a compiler of an Assembly-like language for this processor! So it appears that the project might be something successful in the end...

let's hope so

Tuesday, 27 May 2008

Second Project: GLE-MiPS

Well, it's time to start another project, this time a little more serious!

we have to design a fully working MIPS-like processor!
After weeks of hard work finally we arrive to a very alpha stage... that means one thing: publishing!!! it's OpenSource obviously!

so i set up a google code account and stasted svnning! if you litterally check out, do
svn checkout gle-mips
if you want to browse the source (and help me find bugs btw :D) you can have a look here!

be careful that this is still very alpha, and not ready for submission anywhere; the single modules work, but the whole processor needs to be tested (heavily tested i might say)

that's all for now!

Sunday, 25 May 2008

OpenSSL is hot!

Wow! it appears that my document of some time ago
OpenSSL - User Manual and Data Format
has made it to the hot list of Scribd!

well i'm excited, it's the first time something like that happens!!!
I might consider reworking on it (as soon as i complete this semester projects)

thanks a lot to whoever viewed and liked this document!

Thursday, 8 May 2008

The three betas of my life

ok today i litterally had a cut to some of my lifestyles (namely my hair)
so i took the occasion to go somewhat extreme with the current sowftware i had installed!

by a strange stroke of luck 3 new betas of popular software was released out today

ok the last was hasn't really come out today but as i said i wanted to go a little extreme with new stuff and firefox2 was giving me some headache (dunno why)

the use of the Aqua interface for ooo3 and ff3 is really one big hit and you can actually feel the increased perfomance boost! Unitiy in VMware is still a little buggy but it can work fine and gives hope that linux support will be carried on by the vmware team!

with all these betas installed i feel like living some months forwards :D

Tuesday, 29 April 2008

Monday, 21 April 2008

JPEG 2000 vs H.264 -- FIGHT!

here is the Video Communication project from our dear Vittorio Picco and fresh Giacomo Campieri from the telecomunication team!

They thoroughly analized two very popular compression format, jpeg2000 and h264, providing several images as example.

check it out!

Thursday, 17 April 2008

Presenting some slides

Right in the middle of our exams, here we provide you the mithical slides we used for presenting our works from previous times!

About Computer Systems Security

and one we forgot to upload about the famous division algorithm

all in pdf so you can read them anywhere without problems ;)
more to come in the following weeks
bye for now!

Friday, 4 April 2008

20s boot

Finally i had some time to play with Gentoo on the Toshiba M200 i bought from the USA.
this time i wanted to tune every possible bit of the kernel in order to obtain a quickest boot as possible! i seem to have managed to fullfill my plans!

here is a couple of hints i can share (some of them might a little bit risky)
  • first of all, i tried to make the kernel as small as possible, totally moduable a very little built in! i believe there's now only the pci, ide, generic x86 istructions and the root fs support, while all the rest gets loaded at boot.
  • to know which modules are absolutely necessary, take a look at the udev printing! move all the modules it loads to /etc/modules.autoload/kernel-2.6 and then disable the RC_COLDPLUG variable in /etc/conf.d/rc.
  • while in /etc/conf.d/rc you can also set the PARALLEL stuff in order to speed up services starting, but it's not very effective
  • i shrunk the root partition so that the checkroot service will take much less time for controlling the filesystem. While here i also modded the init script to hdparm the drive before performing the scan.
Well that's more or less what i tried to do, and everything seems to work fine!
next target: create an initramfs to load the modules for an even faster boot :)

Monday, 24 March 2008

Howto install KILE on Mac OS X natively

Mission: install Kile on Mac OS X, natively, no X11 emulation
Even though kde4 made me reconsider positively the gnome desktop environment, the aspect i like most is the possibility of installing kde apps on non linux systems!
and one of the aspects i love of mac is that almost any linux program can be installed!
However when you use a lot a program it can become annoying that you have to run X11 first, then start the app from command line and in the end you get a program not very well integrated with the system.
So i though i could compile the necessary libs for installing my favourite kde application: KILE
which for me is the _best_ latex editor.
You can use it with X11 all the way, but if you want more, follow this guide.

0. The easy wayThere is a shortcut to almost all the procedure described, that is, download and install the snapshots of Racoon Fink and compile kile like in section 3; however the svn versions usually work better when they are all svn, mixing version may produce unexpected surprises.
So if you want the quick (so to speak since you're gonna download ~3GB from torrents) and easy way follow the guide located here and proceed to section 3; for the bravest of you out there continue reading.
If you wish, you can test both methods on the same machine as they won't interfere.

1. Requirements
If you want the latest release of kde, you are very brave, or you want to learn something, this is the right path!

1.1 Fink
So first of all you need fink which is a nice easy and clean way to obtain all the basic dependecies we need. As a general rule, when you're missing some program or lib, just type

fink install
and you are ready to go!
I'm not covering how to install fink (because it is really simple) nor which dependency you actually need (because i don't know, as i believe i've installed almost any packet fink offers :P) [but you can see here some hints]

1.2 QT (updated)
Then you surely need QT-4.4, which recently exited beta, any previous version won't work. To make things easier you can directly take the qt-copy package, a patched version of qt for compatibility with KDE.
So obtain the patches from svn with
svn co svn://
Access the directory and then compile and install
./configure -dbus-linked -no-accessibility -no-qt3support -optimized-qmake -no-3dnow -qt-gif -release -prefix /opt/qt4.4 -openssl make sudo make install
I put quite parameters trying to tweak performance a little bit. If you want to go in details:
  • -dbus-linked is needed by latest release, or kdelibs will complain
  • -no-accessibility since we're install qt for kile we can set this off, but it can be useful for some other applications
  • -no-qt3support as qt3 works with X11 only, it's something we can deactivate
  • -optimized-qmake should turn on some random optimizations
  • -no-3dnow only available in AMD cpu
  • -qt-gif was present in the official guide, so it shouldn't be harmful :P
  • -release removes unnecessary debug symbols (don't do this if you want to develop on the qt!)
  • -prefix /opt/qt4.4 i want third party stuff installed in /opt to resemble a Linux fs :)
  • -openssl for some strange reasons, kdelibs won't start compiling if openssl not enabled in this way
1.3 CMake
One last requirement is CMake (>2.7) that you can obtain with the following commands
(if asked for a password type "cmake")
cvs -d login cvs -d co CMake
and compile as usual
cd CMake ./configure --prefix=/opt/kde4-deps-svn make sudo make install
2. Installing KDE4 You need a couple of packets before we can install kile: kdelibs, kdepimlibs and kdebase.Optionally you can install kdesupport which contains soprano, strigi and some other dependency we might need later. One important step is to configure correctly the necessary environment variables. As a minimum you need to do
export PATH="/opt/qt4.4/bin:/opt/kde4-svn/bin:/opt/kde4-deps-svn/bin:/opt/fink/bin:$PATH" export CMAKE_LIBRARY_PATH="/opt/kde4-deps-svn/lib:/opt/fink/lib" export CMAKE_INCLUDE_PATH="/opt/kde4-deps-svn/include:/opt/fink/include" export PKG_CONFIG_PATH="/opt/qt4.4/lib/"
(i installed fink in /opt/fink, change your variables accordingly) 1.1 kdelibs For me kdelibs was the most difficult part of the whole process because for some reason it did not compile easily; however after some checkouts later it did compile with no problems. As usual perform
svn co svn://
and in the same directory where you run that command
because cmake wants to build stuff in a separate folder from the source and the .build will keep spotlight indexing away. Now run
cd cmake ../kdelibs -DCMAKE_INSTALL_PREFIX=/opt/kde4-svn -Wno-dev -DCMAKE_BUILD_TYPE=Release sudo make install
1.2 kdepimslibs Then the other parts are quite straightforward, apart some dependecy missing. So let's fix them first: do
fink install gpgme11 boost1.33
while the rest is just like before
svn checkout svn:// mkdir cd kdepimlibs.buildcmake ../kdepimlibs -DCMAKE_INSTALL_PREFIX=/opt/kde4-svn -Wno-dev -DCMAKE_BUILD_TYPE=Release sudo make install
1.2 kdebase This one was a little tricky because for a bug it says Blitz is missing while in reality it wants qimageblitz!If you installed kdesupport you should already have this, but for all the others, do
svn checkout svn:// mkdir cd qimageblitz.buildcmake ../qimageblitz -DCMAKE_INSTALL_PREFIX=/opt/kde4-deps-svn -Wno-dev -DCMAKE_BUILD_TYPE=Release sudo make install
Note that this is being installed in the -deps folder; if you want to use the whole kdesupport, remember to install it there! For those who didn't install kdesupport, remember that strigi and soprano are required for this packet! Now we can install our nice kdebase, the last requirement for Kile! We don't need it whole, just the runtime and optionally the apps part! Just perform
svn checkout svn:// mkdir cd kdebase-runtime.buildcmake ../kdebase/runtime -DCMAKE_INSTALL_PREFIX=/opt/kde4-svn -Wno-dev -DCMAKE_BUILD_TYPE=Release sudo make install cd .. mkdir cd kdebase-apps.buildcmake ../kdebase/apps -DCMAKE_INSTALL_PREFIX=/opt/kde4-svn -Wno-dev -DCMAKE_BUILD_TYPE=Release sudo make install
and you can successfully proceed to step 3! 3. Kile, finally! Now that we've got everything we need, we can happy download and install Kile natively, without X11 emulation! The svn reported on the website is for the stable branch, we're going to need something more extreme! Obtain the source from
svn co svn://
and compile it like you did with every packet till now
mkdir cd kile.buildcmake ../kile -DCMAKE_INSTALL_PREFIX=/opt/kde4-svn -Wno-dev -DCMAKE_BUILD_TYPE=Release sudo make install
Now go to /opt/kde4-svn/bin and there you will find your Kile app, ready to be run! You can move it into the Application folder to get along with the other apps and use this nice icon to flavor it up! 4. Be happy (almost) We're done! we have our favourite app running natively on our computers! Wait something is missing! The quickbuild & co. don't seem to work! Yep that's because mac are a little different from linux apps and it's more difficult to set up a correct environment for them! But do not worry! there is a solution for anything! Download and install Platypus from here. This tool is a wrapper for mac application to behave like real bsd programs! I'll describe the simple step to make our kile fully running, for more information, visit the site at the end of this guide. Open Platypus, give a name to the application (namely, Kile), select Shell script type and choose a new Script Path. In the editor that appears you have to write your path you have set in the everyday bash (echo $PATH) and the command line call for kile. Since we're going to use this script for launching kile i suggest you move the Kile app in the Application folder to somewhere you don't visit often, like Utilities/TeX (at least, that's were i put it mine). Now write in the editor
#!/bin/bash export PATH="(your path here)" /Applications/Utilities/TeX/
ans press Save. Now, before clicking Create, select the option "Runs in background" so we won't have the script icon hanging in the Dock. All done! Click Create, put a nice icon to the script (the one of before) and here we go! A fully working Kile editor! Remember that there's still some tuning to do, like setting the Preview application instead of kpdf, but after compiling half kde i'm sure you're willing to perform this last step :) Hope you enjoyed this little guide and if you liked it, you can publish it anywhere you want as long as you link it here! If you find some errors or don't like something, please contact me or leave a comment! PS Credits: here is the two guides i took most of for writing mine

Wednesday, 20 February 2008

documents documents and documents

ahh the exams session has finished FINALLY
and i can publish all the stuff i wrote

let's start with the big one
Techniques and Solutions for Storage Encryption
for the Computer System Security course: it concerns with current and available implementation of the modern storage encryption technology, presenting some benchmark test for performance impact.

other homework reports
my homework report for the Digital Systems Design
previouse homework of Microprocessor-Based Systems, team with Alberto Grand

and then we have a bunch of homework essay by my classmates! happy reading
by Alberto Grand
by Vittorio Picco
by Vittorio Picco and Lorenzo Peraldo
by Lorenzo Peraldo

Thursday, 3 January 2008

Peer guardian 2 and Nintendo WFC

while in christmas holidays i had time to play with the Nintendo WFC!
I set up my mac airport, share the network connection and configure the dhcp (actually this was the most difficult part)
It didn't work! the AP was found and everything but i continuously got disconnected!
And the wifi was working as i tested the connection with programs like SvSIP (fantastic) and DSorganize browser

Then i remember that i'm behind a gateway in which is installed peer guardian 2 (privacy is important) and that poor guy is blocking the outgoing connections!
Apart from discovering that the WFC service make numerous connections to foreing server, like
GameSpy (nomina sunt consequentia rerum)
IGN Entertainment
Nintendo Of America Inc (well, that's ok)
and a couple of others, all this connections are required for the WFC to work, and so we have to allow them!
the problem is that nintendo servers are quite a lot! luckily there's this one guy, "fakhir" from the Phoenix Labs, who took the list of all the nintendo services and put it in one file, updated as soon as new servers are discovered

you have to add this url:
into the Allow list and things will start working!

actually for me it didn't work completely, because i had to add a range of ip server from ign (from to, but I'm sure they'll get them added in the list quite soon!

happy new year btw :)

All the projects here are under a Creative Commons 3.0 licence! You can use and distribute them as you like (just quote the author so he knows his work is not useless)!

If you wish to get in touch with me write at