OK, my guess for the rope one. Something like burn one rope from each end, and start the other at one end. When the flames on the first rope meet, that's 30 minutes, which means the other rope has 30 minutes left. set fire to the other end ot the second rope, and when the flames meet that's half of 30 minutes, or 15 minutes, giving 45 minutes in total (not counting the time to set the rope on fire).
How'd I do?