iMusic
iMusic is a vertical search engine that Damion Mitchell, Huong Luu, and I are developing as part of CS 511 (Advanced Database Systems) course at UIUC. In this project, we propose the integration of data to produce efficient music queries (i.e., album, artist, and songs) using resources from various websites. Our approach is based on the premise that we can enhance the quality of search results by using a number of available music resources to respond specifically to a user query.
Demo videos
Documentation
- Project proposal
- Project repository at BitBucket (currently set to private)
Cinooka
Cinooka (from "Sinuca", which means billiard in Portuguese) is an open source 3D billiard game that Daniel Beck and I wrote in OpenGL. This was our final project for the "Computer Graphics" course at Universidade Federal do Rio Grande do Sul (UFRGS), Brazil. We received the 2nd best grade for this project in that semester.
Download
- cinooka-v0.1.0-Windows.zip - cinooka binaries and source for Windows.
Documentation
Source Code
- The source code is freely available under the Apache Public License.
Screenshots
Below you find screenshots of a couple of views from the game's two controllable cameras (click to maximize).
Aerial view (Camera 1)
Aerial view (Camera 1)
Aerial view (Camera 1)
Close view (Camera 2)
Close view (Camera 2)
ACM-UVA UFRGS
The acm-uva-ufrgs project is a central repository with solutions for problems from the ACM UVa online judge. These solutions are implemented and maintained by three students from the Informatics Institute at Universidade Federal do Rio Grande do Sul (UFRGS), Brazil.
Documentation
Source Code
- The source code is freely available under the Apache Public License.
SAML Holder-of-Key Single Sign-On for Shibboleth2
This project was developed as part of the Google Summer of Code 2008 Program, for the Globus Alliance. Mentored by Thomas R. Scavo from NCSA, I implemented a Holder-of-Key Single Sign-On profile handler for a SAML Identity Provider (the Shibboleth2 IdP) as part of the GridShib project. With this profile handler, a Shibboleth2 IdP can issue holder-of-key SAML assertions to property authenticated non-browser users. A holder-of-key SAML assertion represents a stronger subject confirmation method which can virtually eliminate the impersonation threat associated with bearer-of-key SAML assertions.
Documentation
- GridShib for Shibboleth2 (version 0.1.0)
- Original project wiki hosted at Globus
Source Code
- The source code is freely available under the Apache Public License.
Related News
- Globus - "Google Summer of Code 2008 accepted students announced"
- NCSA - "Students embark on Google Summer of Code projects with NCSA"
- Supercomputing Online - "Students embark on Google Summer of Code projects with NCSA"
- Google Open Source Blog - "The Globus Alliance's First Google Summer of Code"
- Google Open Source Blog - "Code Conversations # 3" (mentioned as a success story at 7:50" of the YouTube video)
A Lex-based Lottery Results Analyzer
As part of a freestyle project from the "Compilers" lecture at UFRGS, I developed a lex-based lexical analyzer for finding patterns in the results of three famous brazilian lottery games. The lexycal analyzer takes as input an html file containing the complete draw history for the lottery. After scanning the html code for all winning draw numbers, the analyzer outputs a histogram where the x-axis contains all possible numbers, and the y-axis contains the number of times each number has been drawn.
Code for the scanning function is written in Lex syntax, a tool for specifying and generating lexical analyzers. Auxiliary code for counting the frequency of numbers in each lottery result is written in C.
Screenshots
Below you find screenshots of histograms the analyzer has generated for two famous Brazilian lottery games (chart legends are in Portuguese, click to maximize). The analyzer uses Gnuplot for plotting the scanning results.
"Mega Sena" (September 2005)
"Quina" (September 2005)
Documentation
At the time of writing, the only documentation written for this project is comments (in Portuguese) on the source code.
Source Code
The file lex-lottery_analyzer.zip contains all source code for the project, as well as sample inputs and generated outputs.












