Moodle: Email-based self-registration with admin confirmation module
Moodle is a very nice open-source Learning Management System with a great modular structure. This module of mine addresses the need expressed by some people to have the new user account confirmed by the administrator instead of the user himself. It has not been approved yet, but you can download the source from here.
Learning some HTML5 was on my to-do list for some time. While doing some shopping, I saw one of those artistic photo booths showing a sample pencil sketch animation and I thought, "hmm, I could probably do that in HTML5"...
This is a multiuser board game I made along with my friend and former work pal Eduardo Poyart. It's based on Ataxx which is similar to Othelo. Poyart actually created a pseudo-language called Ziglog to make his multi-language support to the game more, uhm, useful. His own words were: "Ziglog exists! It's a language that has never been used and never will be... but still an existing language". Note that since it run at home, it may be sometimes offline.
I've noticed that many people come
here looking for an Othelo implementation. Well, a friend of mine has one
and is willing to share.
It uses IUP library and supports one player (vs. the computer) or two players. The
computer moves are done using Fuzzy Logic.
Send me a message indentifying yourself and I
may arrange it for you.
I wanted to make my own web greetings card, so I made this Java applet to animate images, sounds and musics. You'll find all you need to customize it to your own needs. Requires Java, obviously.
Light and Shadow Rendering Algorithm O(n2)
In November 2002 I spent some weeks with my friend Eduardo Poyart at Santa
Monica and in the meantime I had an interview with Don Likeness, from Treyarch.
As part of the interview I was requested
to implement either an A* algorithm or a light and shadow renderer. I chose
the A* and made it sucessfully, even though I had some trouble getting used
to the Windows API in time. Don suggested me to do the light and shadow
renderer as an exercise, to improve my knowledge. I
thought I could make a Java Applet to show it off and here it is. It runs
quite as fast as the C++ implementation, as long as you either use SUN's
official latest JVM or have your M$ JVM set to use the JIT compiler.
CVS Change Log Plug-in v.0.6.0 for Eclipse 3.1
This is a great plug-in maintained on Sourceforge.net, but since Eclipse 3.1 came out it stopped working. Because it's undergoing some major rewriting, they are not willing to fix this bug for this version and users are left without any other option. So when we upgraded our Eclipses at work, I decided to fix it myself and this is the plug-in package. Its usefulness today is uncertain, but if you wish to install it, unzip the file under your Eclipse's Plugin directory. If you want to generate the new plugin yourself, you'll find the decompiled and fixed ChangeLog class inside the JAR file. You can then get the original plug-in and replace the ChangeLog class yourself.
How to configure the CD/DVD buttons on Toshiba A70
After many desperate hours of searching and messing up with the registry, I figured out how to make those damned buttons work with my Winamp 2 and this is the How-to.
One of my first projects done from scratch: a sequential based, regex search
engine which had its first version done with a lot of work from Fabio Mathias, one
of my great friends and former work pal. Since then it had many improvements
such as a spider bot, cache and the use of HTML templates for the results document. After many years serving as the University's local search engine, it had finally been replaced by a commercial solution.
I may consider providing this toolset upon request (if I can still find it).
MailQuota
A nice C program for Unix (AIX?) to help keeping users' mails under control.
It reads user data from a text database which specifies logins and groups,
puts these informations into an alphabetic tree with a parallel sequential
list, then it iteracts through the list and checks each mailbox within the
spool to see if it's over the quota, if there are expired (un)read mails and
if appropriate it removes the oldest mails off and produces a small warning mail
telling the user about it. It works with a configuration file to specify
where's the spool, where's the text database and what are the quotas (group
based). It also provides the possibility to specify special accounts that shall
not be checked. I may consider providing this toolset upon request (if I can still find it).
This is something that someone from EFnet known as doogie suggested me (or was
it the email I got from Undernet refusing to link PUC-Rio's server?) to
do as a contribution to the IRC community. I liked the idea and here it is.
Most likely the first translation of the IRC Primer to Portuguese.
Hamna Hamna Lycanthrope MUD
The Multi User Dimension I used to maintain and run in the University. It
was my first C language programming experiment and it was very instructive.
I may send the source code upon request. Many people contributed to this MUD
but unfortunally I remember very few real names: Bruno Lima, Flavio Graf von
Koenigsmarck, Fabio Mathias...
HTML: Building Webpages
Study material that used to be given to my students when they took my HTML class. I
pretty much redid the one we had, made by friends and former work
pals that used to give these classes before me such as Alberto Levy Macedo and
Magno Araujo Filho. It's in Portuguese and I may
send the DOC file upon request (if I can still find it!).
A little joke that me and Eduardo Poyart made
during a lunch break
about the once famous search engine AltaVista using JavaScript. Try out the
many Language options : )
I've done some good code contributions to this nice MUD. My troubleshooting
skills greatly increased with that. I feel like I can extinguish any bug now
: )
Utilizando JNI para Adicionar Implementação Nativa C ou C++ a Programas JAVA (Using JNI to Implement Native Functions C or C++ in JAVA Programs)
Published paper in association with professor Arndt von Staa about how to
use C/C++ implementations to improve performance on JAVA programs. This work
started as a Programming Project in year 2000 with professor Arndt being my
advisor, then he suggested that we could improve it and turn it into a paper.
Took some time, but here it is : )
Active Suspension Control Prototype using Fuzzy Logic
A final project I did for the Fuzzy Logic class. It came out very nicely,
considering that I made it using an old Turbo C++ -- it seemed to be the
easiest way to do graphic animations without prior graphic environment
experience. Unfortunally I lost the instruction document, so if you think
it's worth the try you may have to find out the key commands on the C
source code : þ Anyway, this prototype allows the user to change the
suspension rules on-the-fly or by specifying a text file with rulesets.
It then creates a bump ground and moves it against the tire. The user can
also vary speed, bump frequency and strength. The package comes with an
unpublished article in Portuguese about this project.
Fingerprint Matching
One of my undergrad researches.
Genetic Algorithms and Graph Colorization
Another undergrad research. This is an interactive Excel example but it
also requires the Evolver tool from
Palisade Software,
an Excel plug-in. It graphically shows the evolution of one of the best
solutions for the Graph Colorization problem. You can set as many conenctions
as you want, but you can use only a maximum of 25 elements. You may also set
the cost of a particular connection (if I remember it right) and some other
small nifty things. The process is done using a genetic evaluation function
made in VB (macro).
Modified Furbot 1.65H (H from Hrimhari)
Intended to be used in Furcadia, Furbot
has lost many opportunities of being up-to-date, and according to it's own
programmer, Sanctimonius, it has been discontinuated and he doesn't expect
any credits for modifications, so I bashed my head at the monitor a few
times and managed to change the EXE code to add a very important feature
that will certainly solve most of everyone's problems: an action called
"Send Raw Command". With that action you can make use of features such as
gomap and summon/join, for example. Unfortunately you need the original install package to make it work (which I no longer have) and even then I'm pretty sure it won't work with the latest Furcadia version. But remember! Sanctimonius made everything
in his power to keep us without these features!