Giudoku Official Site
This section contains the code for some personal or university-related projects.

Image Rectification
Written in Matlab. Link redirects to the Bitbucket repository.
This implements image rectification.

Semantic Similarity
Written in Java. Link redirects to the Bitbucket repository.
Trains a model for computing the semantic similarity of two tweets, and applies it to a validation set of tweets retrieved from the Twitter API. Prints the degree of accuracy reported on the validation set. Based on a pre-existing algorithm.

Syntax Sugar
Written in PHP.
Highlights and shows your code on your webpage!

Giudoku
Written in C and GTK+.
A small program which solves Su Dokus puzzles.

Play Python Poker
Written in Python and Qt.
Play poker with your computer.

File baker
Written in C and GTK+.
Find files on your hard drive.

JFileBaker
Written again in Java and Swing.
Does the same thing as above, although it's not quite completed it does its job.

Sha Matrix
Written in Python.
Compute the product of two matrices.

DeathSwing
Written in Java and Swing.
Computes the determinant of a matrix using a recursive Laplace formula.
Not the most efficient algorithm, but I wanted to have fun with recursion a bit. Now with a GUI!

Turtle graphic
Written in C.
A simple implementation of the turtle movement in a room, resembling the old Turtle Graphic.

Shainer's Clock
Written in C and OpenGL.
A little simulation of an analogic clock. You can give the starting hour as a command-line argument.

Expression Parser (looking for a better name)
Written in C.
An expression parser implementing the Operator Precedence parsing algorithm (see Algorithms section for an explanation).

T9 LookAlike
Written in Python.
A T9 interpreter to print out words matching numbers like for mobile phone buttons. You can find the Italian dictionary to test it here.

WeightedAverage
Written in Python and Qt.
Simple script to compute a weighted average for an university student.

DPLL
Written in Java.
An implementation of the DPLL algorithm for the SAT problem (see Algorithms page).