Heat rocks aren't very good to use, that's correct.
This'll be kind of long, but hopefully will answer any questions for your garter snake.
However, a ten gallon tank is not adequate for a garter or ribbon snake when it's fully grown. These are very active snakes with a usual length of 2.5-3ft. A 20 gallon long (30 in. long) is suitable, but bigger is always better for any snake.
For heating (and yes, it's very beneficial to ANY snake for heat- to digest food) a heat pad that you can buy at any pet store in the reptile section works very well, though it's recommended to use a thermostat to prevent it from being too hot. Just make sure you place it on one side, never the middle, to provide a thermal gradient. Place this under the tank on the outside, not on the inside.
For lighting, no snakes do not require any type of UV lighting, and if you want to light the cage, any old lightbulb will do the trick. So yes, you can use the canopy, just please make sure you have your mesh top under the light so that the bulbs are out of reach of the snake- they will wrap up around or next to them and can cause severe burns, so just make sure the snake can't get to the actual lighting.
Make sure that no matter what you keep your snake in, make sure there is ventilation (a glass aquarium top is NOT adequate, commercial or home made mesh tops work very well), and make sure it can not come off unless YOU take it off. Snakes are escape artists, and will find any way to get out, so make sure it is locked down (even placing something like a large book or brick on top will work) and that the mesh is not big enough for them to fit through, or that here are no holes for them to go through.
As far as substrate goes (the stuff on the bottom for them to crawl around on and burrow in) you can use anything. I use fine coconut fiber because I like the way it looks. (Bed-A-Beast, Eco Earth, etc). You can use sterile (make sure NOTHING is added- just plain, clean dirt) potting soil or peat moss, bark, shavings, newspaper, papertowels, pretty much anything. Just don't use cedar or pine shavings (or anything with an real odor to it for that matter) it can hurt the animal. If you are scared of impaction that's easily remedied by feeding the snake out of its cage or on a paper towel, plastic lid, etc. Though I've found snakes are generally pretty good at removing stuff from what they eat.
For food- do not feed goldfish, rosy red (fathead) minnows, and the like. These have thiaminase which prevents vitamin B-1 from being absorbed and will lead to death for your snake due to neurological reasons over time. Your best bet is a mix of (frozen and thawed) pinkie mice(chopped up for a baby) or fuzzy mice for an adult, mixed with worms, and pieces of frozen/thawed fish fillet pieces (best option if you stick with fish only- but you need to use calcium and vitamin supplements once a month if only on fillet). Good fillet choices are tilapia, salmon, and trout, and is pretty cheap to boot.
For a baby, about 3 times a week feeding is good, but you can feed him as soon as he doesn't look like he has a bulge anymore, until he's older. For older snakes slowly reduce how much you feed. Do not wait more then a week to feed your snake if you can help it (unless they don't feel like eating), that is a practice you should not force upon an snake- always offer food unless they don't want it at their designated feeding time. You can either give them a lot once a week, or give them a moderate amount multiple times in a week. Personally, I like multiple times- just feels better to me.
Other than that, provide plenty of hiding spaces(I don't recommend the half-logs you see at pet stores, they don't give really enough feeling of security. Anything they can smoosh themselves under and surrounds them works well, flower pot sauces do wonders), a water bowl big enough for him to put his whole body in, and some things to climb on and you'll have a very happy snake!
