how can i patch something?
It sounds like we have another newcomer to ROM playing! (That's OK actually, nothing wrong with that. :) )
Before anything else, download
IPSWin (I recommend this one for 32-bit systems, but I've also used it on 64-bit - like mine).
Next, you need to find a Ruby ROM. We can't tell you that part. You have to find that part. Google is your friend, and with some research into the ROM number used by the ROM community itself, you'll figure out where a download is with the help of friends like Google.
Assuming you find a Ruby ROM (without which the download on the first page of this thread is useless), download the IPS file.
Now...if you might want to play Ruby itself eventually on the emulator, or play other hacks that use Ruby as a ROMbase, you'll want to make a copy of the ROM so you don't have to go looking for it again in the future. You should be able to do this part within Windows easily.
Once you have your copy made, rename that copy to the same name as the IPS file, or your own name (heck, call it bathroom.gba if you really want to, though I recommend "Pokémon Snakewood Version" - you can omit "Version" if you want, and if your Windows shows extension, make sure the .gba stays!). Open IPSWin and locate the "File to Patch" (the GBA you just renamed) and the "IPS File to Use" (the file you downloaded from this thread). Confirm that all is OK to proceed, and wait. It will tell you when it's done.
At this point, download
VisualBoyAdvance if you haven't already. Make sure the settings in the Options -> Emulator menu when you load for the first time are to allow a Real Time Clock, and a Save Type of 128k Flash (this prevents any problems with saving the games, which would otherwise force you to use save states as your method of saving).
All that's left now is to load VisualBoyAdvance, File -> Open and find the ROM in the folder (hopefully you put the ROM in the VBA folder). At this point, you are playing a ROMhack!
Cyclone