I live in the sticks where my options are few. Too far away from anything for cable or DSL and satellite is just a joke. I finally bit the bullet and bought a mobile card from sprint. I plug it into a cradlepoint (mbr1000 cellular, wireless N) router and the mobile card provides wireless service for the house. Yes, there is a 5Gb limit but the service is quite good. 200-300Kb down, 100Kb up on average. Sometimes quite a bit better, occasionally poorer but not often. Streaming video is not terrible and music seems good.
Anyway for rural use it is far and away the best solution
The recurrent cry of "we need more technology in the classroom" is nothing more than a panacea for all things labeled education. Instead of focusing on educational issues, technology is a convenient place to thrown money and "address" the problem. A computer does not make you smarter, does not make you more job worthy, does not make you a better problem solver. It is just a big lump of junk unless someone can teach you how to use it as a tool. Few presently can. Instead, the fact that young people "use" their computers makes educators feel like they are making big progress.
What do young people do with their computers? Read Systems Software is Irrelevant by Rob Pike. Written in 2000 and somewhat dated, the "Grandma" effect is still clear. People, read young people, typically use computers for three things: networking (blogs, web pages, chat, twitter,
I teach introductory computer science and encourage students to bring their laptops. For the small percentage, it works great. Everyone else is off playing around. They may be "literate", but they are not better educated. They are, however, much more distracted. That is what computers have brought this generation
I've noticed several design suggestions in your code.