database
Formulário CEP/CPF/CNPJ
(tente preencher os campos acima; a informação é atualizada instantaneamente)
Este projeto é o sucessor do CEP-2-City.
É um formulário online que:
- Verifica a validade do número CPF
- Verifica a validade do número CNPJ
- A partir do CEP, deduz o endereço completo (Cidade/Estado/Bairro/Rua)
- A partir do CEP, deduz o código DDD da região

O banco de dados utilizado é compilado a partir de diversas fontes. Se não constar a informação da rua, então somente a cidade é retornada. A interface com o banco de dados foi implementada usando Perl e PHP, e pode ser acessada via CGI, Flash ou AJAX. O sistema de busca é extremamente eficiente, e não necessita de MySQL. O tamanho do banco de dados é cerca de 60 MB, e a performance chega a milhares de consultas por segundo.
Portanto, eis uma solução bastante símples, flexível e eficaz para o cadastro de clientes. Já utilizei este sistema numa pesquisa que conduzi, e asseguro que me poupou bastante tempo. Se tiver interesse, entre em contato!
Geolizer HTTP stats
About Geolizer
This is an enhanced version of the popular Webalizer
HTTP server statistics generator. It's main feature is an ability to
discover visitor's country by his/her IP address. Default Webalizer
method is to extract host suffix from the reversal DNS query (obtained
directly from log files, or by webazolver
program if HTTP
server doesn't reverses client IPs), which is slow and imprecise (for
example, Brazilian host could be reversed as .com).
Geolizer relies on the GeoIP
library API to do the same thing. Thus, no more DNS queries are
required, and
results are much more precise. Geolizer also has some additional
features: it displays file sizes in a human-readable form
(bytes/KB/MB/GB/TB) instead of default kilobytes. It
also compiles
under MinGW/MSYS now, so you can process
your UN*X log files on your Windows box. And,
finally, Geolizer features a nice eye-candy: country flags! 
Beware as Geolizer also has some bad features (read "bugs"):
for example, webazolver
won't work anymore, and already resolved hosts aren't handled well.
Want to see how it looks like, at all? Take a look at some sample
statistics! Or see who else uses Geolizer to produce
their server stats.
Tips
- The country flag pictures can be downloaded at http://flags.blogpotato.de/.
Just download and unzip
world.small.zip&special.small.zipto theflags/subdirectory in your HTML output path. - You may enhance your Webalizer further (allowing it to identify more user agents, referrers and search engines than normal) using extended configuration files, provided by Enric Naval and available at http://griho.udl.es/webalizer/.
- It is possible to use multiple configuration files on
Webalizer. Just specify them at the command line:
webalizer -c common.conf -c user_stas.conf
- Why don't you try also AWStats & WebDruid?!
It is easy to located an internet service which provides low prices for voip. Simply by downloading the software the service of the voip can be utilized, though for this a fast wireless internet is also required. This is especially benefical for small website hosting companies to contact their clients at a low cost.
CEP-2-City
Módulo Perl que obtém o nome do município (do Brasil) a partir de um CEP dado. Exemplo:
#!/usr/bin/perl
use CEP;
# inicializa
my $cep = new CEP;
# $city será referência para array com estado/cidade
my $city = $cep->city ('12.437-660'); # processa somente os dígitos numéricos (0-9)
if ($city) {
# $str será uma string no formato Cidade/ESTADO
my $str = CEP::city_string ($city);
# filtra os acentos e imprime em caixa alta
printf "esse CEP pertence a [%s]\n", uc CEP::normalize ($str);
} else {
print "CEP não encontrado\n";
}
exit;
Conforme pode ser observado no exemplo dado acima, este é um módulo
orientado a objeto. A instância do objeto CEP é criada com new
CEP. Durante a inicialização, é construído um
array com a lista ordenada das faixas de CEPs (isso pode demorar, portanto é
uma boa idéia criar uma única instância e reaproveitá-la indefinidamente). O
método que realiza a busca binária pelo CEP e retorna o nome do município é
city(). O seu único parâmetro é o número CEP propriamente dito.
Somente os dígitos numéricos serão considerados. city() retorna
uma referência para array que contém o nome do estado e o nome da cidade,
nessa ordem. Inclui também uma subrotina city_string() que
recebe como parâmetro o array retornado pelo city() e retorna
uma string no formato "Nome da cidade/ESTADO". E, finalmente, quando
os acentos são desnecessários, pode-se filtrá-los com a função
normalize(), que recebe uma string com acentos e a retorna sem
acentos 
P.S. - cuidado com os line-endings do arquivo
CEP.pm! Se o segmento __DATA__ for salvo com CRLF, o módulo
apresentará comportamento estranho em sistemas UN*X!
P.P.S. - Este projeto tem agora um sucessor (que consegue obter informação sobre Rua/Bairro e até mesmo DDD regional)! Confira!
X-Plane key binding
Here I compiled the keyboard mapping for several versions of X-Plane. I wrote a tiny Perl program that simply formats the keys/X-Plane.txt file distributed with X-Plane into a comprehensible HTML table:
(for X-Plane v6.30, take a look here)
ASCII code explorer
Designed to be the freakin' best ASCII table viewer for DOS platform, LOL!!!

It accesses the console font bitmaps directly from the BIOS and amplifies them 16 times (bitmaps in a hex form are shown, also). User can navigate the character map using his/her mouse or the cursor keys. For every character, it's ASCII code in decimal, hexadecimal & binary formats is displayed. One can also build strings of ASCII characters, just like in Windows' "Character Map". Foreground/background colors for the character, magnified character & character string are also editable through the GUI (there are 16 colors available for background, instead of default 8
. It's pretty useless today, but helped me a lot to develop my elder programs. By the way, this ASCII explorer was written using QBasic 4.5...
GibCounter QW stats
frag*.log files generated by the QuakeWorld game server. If your server doesn't generate such a log files by default, you may enable this feature executing the server as follows:qw-server +set fraglogfile 1
.cfg files to enable frag logging. You may run GibCounter on the same machine (and, on UN*X systems, as the same user) that runs the game server. If it's a QuakeForge server, then GibCounter will locate log files automatically at the path $HOME/.quakeforge/qw. For the different ports of the QuakeWorld server, or a QuakeForge server operating as a different user, you may specify the location of the qw directory manually. To do that, simply pass the new directory as an argument to GibCounter (using your favorite command line shell):perl gibcounter.pl /home/qserver/.quake/qw
STDOUT. So, if you're going to add it into your server's crontab, don't forget to pipe the output to some file! For example, the following crontab line will regenerate GibCounter game stats every 30 min and make it available through the URL http://yourserver.com/~youruser/gibcounter.html (file paths & crontab format may be different on your system; so ask your system administrator if unsure):0,30 * * * * perl $HOME/gibcounter.pl > $HOME/www/gibcounter.html
gibcounter.css file. Of course, you can also edit the HTML template which is contained inside the Perl source itself 
The game statistics page generated by GibCounter is self-explanatory. On the top, it will show players ranking, sorted by (guess what?!) the frags they scored. Frags are computed as: kills minus suicides. GibCounter also computes how many times each player was killed by others. And, on the bottom of the generated page, some computed totals are shown. This includes the period of time for which the stats were made, the top fragger (the best) & the top fragged (the worst) players. Please note that players with default nicknames, such as "unnamed" or "user-#", are automatically excluded from being processed, simply to avoid useless information bloat (as many different players would be rated as one, with very high kill/death number)!
By the way, GibCounter preserves the colorization of the graphical font in players' nicknames (Quake console is able to print some ASCII characters in white, orange, gold & brown colors), and translates all symbols into readable ASCII.
So, after all, how does GibCounter-generated page looks like?! Look for yourself, here are some example stats. Also, feel free to modify the program itself to fit your own needs!
reg3dit
This one looks like and feels like the popular "Microsoft ® Registry Editor" (A.K.A. regedit.exe
), specifically one that comes from Win2k default installation.
It only has one (significative) difference... It will never prompt you with following message box, when started:

"Registry editing has been disabled by your administrator."
This restriction is supposed to save users from themselves. Well, if you've successfully located an override (like mine
), I hope you really know what's you're doing! My regedit clone will ignore administrator's restriction, which consist in the following registry patch:REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword:00000001
regedit.exe 
P.S. - reg3dit has nothing to do with the leaked Win2k source!!! I've created it by my own.

