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). 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.







