GUI
X11 FrontEnd for the Rio Utility

X11 FrontEnd for the Rio Utility v1.07 made by guys from the Snowblind Alliance. Surely not the best nor the most beautiful of all GUIs made to manage the famous Rio MP3 Player, but I tried to implement some of the ideas that the "real" managers doesn't implement. List of some "interesting" features:
- 2 windows side-by-side like in Norton Commander legacy managers
- treats M3U playlists as directories
- displays the space remaining on the device as you select files to upload
- current file & overall progress bars
- realtime display of the transfer speed
rio.exe is OK. You can download it here and test
for yourself! However, I would suggest you to use my Diamond Rio PMP300
FS-plugin for Total
Commander.P.S. - if you get problems downloading files with long names, apply the patch I provided below on the Rio Utility source (not XRio itself!) and recompile it.
tiny HTTP proxy

This is a tiny and highly experimental HTTP/1.0 proxy software that I have written to debug HTTP protocol & it's clients. It is very small and simple, yet useful to reverse-engineering purposes. It's interface is quite obvious. The Server frame controls the IP, port and connection limit of the proxy server. It also shows how many connections are active at moment. The Data Traffic frame shows in/out packets & bytes. Service frame allows you to stop, start and quit the proxy. These are the very minimalist controls for the very minimalist proxy server.
The interesting stuff begins at the Plugin frame. All the packet
passed through this proxy server are forwarded to the selectable plugin
module. By default, it is logger.dll. It simply saves every
single packet into separate file, which uses the following name scheme:
from_IP.from_port-to_IP.to_port.log (for example,
127.0.0.1.4322-127.0.0.1.21.log). The files can be ordered by
their modification date in your file explorer, so you can track the entire
session:

The logger.dll can be set up to include a sequence counter at
the beginning of each packet and to output saved packets into some specific
directory:

Plugin module is also capable of injecting packets. Load the
replicator.dll file and check the setup screen:

When you click the Capture button and then make some action in
your proxied web client, the replicator plugin will prompt you if it got a
corresponding packet. This packet may be resent automatically, at the period
specified in the Period box. You can capture & replicate several
packets, and manipulate their resend period. A very interesting application
of the replicator plugin is to flood web chats and to spin
up web counters. Of course, the right way is to use
logger.dll and to make a clone that imitates the "real" web
client.
The final note: this is, and always will be, an alpha-state code. I do not develop this proxy application anymore. It is useful to me the way it is. But you can grab the source and make a whatever plugin you like, or even rewrite the code entirely. I don't care. Just give me the proper credits!
inPEct .EXE binder

inPEct means "infect", applicable to PE ("Portable Executable") format. It is an executable binder, thus, it's able to join two .exe files in one. Now, why should anyone want to do that, is a question apart (screenshot is self-explanatory 
At the time I've wrote inPEct, most executable binders were similar to
SFX ("Self-Extract") stubs: they simply extracted their content to
somewhere (commonly %TEMP% directory). inPEct is a bit
different, as it expands the host executable and encrypts & inserts
the hosted executable inside it. When someone executes the bound
application, the host executable runs normally, and the hosted
executable is extracted and then executed. inPEct also has a feature to
execute the hosted executable only once ('smart feature'):
if the bound program is executed by user again, hosted file won't be
extracted anymore. And inPEct is very fast and small, as it's
written entirely in pure assembler (in fact, inPEct's loader has only
800 bytes!). It's encryption algorithm is very cheap, but still uses a
random seed. Thus, I expect that inPEct is more stealthy than similar
binders.
Please note that almost every AntiVirus program detects and
quarantines inPEct (and files produced by it)! This shows it's popularity in the past, I guess 
But today it's useful mostly as a pure assembler programming example... And for AntiVirus research, as this paper actually shows.
Diamond Rio PMP300 FS-plugin

Diamond Rio PMP300, with only 32 MB of flash memory, was the second portable MP3 player ever released, in 1998. Unfortunately, such a revolutionary piece of hardware is very painful to interface with: as it is connected through parallel port, highest transfer rates achieved were around 80 KB/s. And the software bundled with it was too primitive. To the luck of thousands of (un)happy Rio owners, The Snowblind Alliance released their Open-Source RIO utility, which became a starting point of several alternative Rio manager interfaces. Mine is just one of them

First of all, there's absolutely no need to write the entire file manager. Total Commander (TC for short) is one of the most feature-rich file managers ever made, and it supports a very extensible plugin API. As a result, one could use TC to manage files directly on the flash memory of his/her Rio! Actually, my plugin supports listing, uploading, downloading & deleting files from Diamond Rio PMP300 internal memory. It also displays the transfer speed and the total/remaining space. Take a look at this screenshot to see it in action. Behind the GUI, my plugin uses the source of the "RIO utility v1.07" by The Snowblind Alliance.
Installation:
Just the same as for many other FS-plugins:- Unzip
rio.wfx&rio.cfgfiles to Total Commander directory - Choose "Configuration => Options => Operation => FS-Plugins"
- Choose
rio.wfx - Click OK.
- You can now access the plugin in the "Network Neighborhood"
- Open
rio.cfgfile and set the correct LPT port address (see below for more details)
Configuration:
In the majority of cases, the plugin may work fine "out-of-the-box". If it doesn't work at all, probably you'll need to discover and specify your PC's parallel port hardware address. Open your system's "Device Manager" (on Windows XP, open the context menu for "My Computer", click "Properties", go to the "Hardware" tab, and click the "Device Manager"). Go straight to "Ports (COM & LPT)". Now locate the port that your Rio device is attached. On my case, it's LPT1. Double-click "Printer port (LPT1)", and go to the "Resources" tab. You need the first one of "I/O Range" numbers:
378 is what you need. Note that this number is in a hexadecimal format. Thus, many programs (like my plugin) may accept it as 0x378. Now, open the
rio.cfg file. It looks like this, by default:# Assume that Rio is connected to LPT1
IOPort 0x378
# default
IODelayInit 20000
IODelayTx 100
IODelayRx 2
# "turbo" mode (UNSAFE!!!)
#IODelayInit 5000
#IODelayTx 1
#IODelayRx 1
IOPort parameter to the value you discovered.Note all that
IODelay* parameters. For the safety reasons,
the delays are high by default, and, consequently, the file transfer is
slow. If you comment out the default values and uncomment the turbo
mode ones, you'll get a great increase in performance! But remember to
only use it when your Rio battery is 100% charged, and when your Rio is
turned on. It may corrupt some bits, through.Micro$oft Messenger Hack

"Micro$oft Messenger Hack" (MSMH for short
is a GUI alternative to the command line "net send",
with some nice additional features. Please remember that "Messenger"
referred here is a Windows NT/2k/XP system service, that "Transmits net send and
Alerter service messages between clients and servers. This service is
not related to Windows Messenger.". Messages transferred using this service looks
just like this one:
MSMH is able to send the same message as above example. It lists machines on the local network, so you won't mistype host names anymore. It can send messages multiple times, also (just imagine yourself flooding
"*"
. And, using "WinPopup" method, both "From" and "To" fields can be spoofed. By the other side, "net send" method can send messages beyond your LAN, given the IP address of the remote host.MSMH executable is very small, as I programmed it in assembler language. But beware: Service Packs make the Messenger service disabled by default, and firewalls won't allow remote host to receive your messages. Well, MSMH was much funnier when I wrote it a long time ago

ToFroWin CR/LF converter

It simply converts between the text line endings of UN*X (CR or
"\n") and DOS (CRLF or "\r\n") systems. Actually this is a Win32 GUI port of Tofrodos Ver 1.7
by Christopher Heng. ToFroWin is also able to convert files in batch:
just select multiple files and convert them with one click. Beware to
not corrupt binary files!Installation:
ToFroWin is too small and too simple to make a self-installation for it. It can be easily installed "by hand".
Extract archive to any directory (
"C:\Program Files\"). Then go to this
directory and execute "install.bat". To uninstall execute
"uninstall.bat" and then simply delete ToFroWin files.
Starting an internet business can turn to out to be very beneficial. Through a free software one can create the web design of the site. The domain web hosting can be bought for a very cheap rate. It would be advisable to use budget web hosting in the start though.
digitalized GPS-calibrated maps
Essa é uma versão digitalizada e calibrada por GPS do mapa rodoviário do estado de São Paulo. Para exibir esse mapa (e navegar através dele), é necessário ter instalado o software OziExplorer.
Como criei esse mapa? Primeiro, precisei de um mapa bastante detalhado que poderia ser exibido pelo meu Pocket PC. E não estava disposto a pagar por um, como o do Apontador Duo. O jeito é partir pra gambiarra, então

O mapa que eu queria carregar no meu bolso estava disponível para download no site oficial do DER-SP, em formato PDF. Porém esse formato vetorial era pesado demais para ser carregado no meu iPAQ h4355. Aliás, até o mapa vetorial do MapSource, da Garmin, é relativamente pesado para ser manipulado até no PC de grande porte. Aliás, o problema não era de carregar, mas de deslizar o mapa pros lados, de dar zoom, etc. Essas operações se processam melhor em imagens bitmap (ou raster). O problema da imagem bitmap é que ela não caberia na memória RAM por inteira. Bom, daí pesquisei, pesquisei, e me deparei com ele: o OziExplorer! Ele funciona no PC e no Pocket PC. Ele manipula os mapas bitmap. Além disso, ele as compacta. E o melhor: ele consegue trabalhar com fragmentos de um mapa bitmap. Assim, somente o(s) fragmento(s) atualmente exibido(s) são carregados na memória, o que a poupa bastante.
Ótimo; tendo nas mãos o mapa e o software, eu tinha que converter o mapa no formato aceitável para a importação pelo software. Ou seja: precisei converter de
.pdf para .bmp. Para isso, me utilizei do Ghostscript (na realidade usei a interface GUI para o mesmo, o GSview). E o imenso bitmap resultante joguei direto no Img2ozf, que acompanha o OziExplorer.Em seguida calibrei o mapa, usando a opção "Polynomial Calibration" do OziExplorer. Isso por que o mapa do site do DER não era linear, isso é, as linhas da latitude e longitude eram curvas. Calibrei o mapa pelos 30 pontos de intersecção de linhas de latitude e de longitude. Então especifiquei o datum como o padrão "WGS 84".
E o resultado de todas essas operações está disponível para o download no final dessa página

Também fiz uma versão do mapa da cidade de São Carlos/SP. A diferença é que esse mapa estava originalmente num formato de AutoCAD, e que ele é linear, portanto pôde ser calibrado com apenas 2 pontos. O legal do OziExplorer é que ele pode trabalhar com os dois mapas, o do estado e o da cidade, paralelamente. Assim que você sai da área de cobertura do mapa da cidade, o mapa do estado se ativa automaticamente!
Nos screenshots acima, a linha azul é um caminho (track) gravado com meu Garmin eTrex Venture. Como se vê, ele se sobrepõe quase perfeitamente sobre a estrada representada no mapa. Porém um aparelho GPS não é necessário para usar esses mapas: você pode usá-los como consulta ou "guia rodoviário", tanto no Pocket PC quanto num laptop, por exemplo... Ou então pode aproveitar a calibração para obter coordenadas precisas de um ponto estratégico, e aí visualizá-lo pelo serviço Google Maps.
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...
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.



