I would advise against trying to do a grid-tie-in as a hobbiest. It would introduce legal liabilities that you really don't want. That said, there is nothing to prevent you from using alternative energy to power devices locally and reduce your dependence on the utility provider. It is unlikely that it will be cheaper initially so I doubt that you will get net savings in the short-term but any device you take off of the grid will stop contributing to your utility bill.
You can do this by using alternative energy sources to charge batteries and then using an inverter to power an isolated set of outlets into which you can plug whatever you have the capacity to power (based on your average charge and discharge rates). This would provide uninteruptable power as well and would be well-suited to your computer and related peripherals. How much you "save" (ignoring installation costs) depends on how much power the devices you place on your alternative "grid" consume. Note that local storage is a practical requirement for most alternative energy systems since they typically have variable output during the course of a day. Grid-tie systems avoid this by supplying utility power to make up for shortfalls and typically will not be eligible for utility subsidies if storage is present at the time of installation.
You can also use a "tranfer box" which is a switch which allows connecting your "sub-grid" to either your back-up or utility power but never both. This allows the sub grid to use utility power if consumption exceeds capacity temporarily.
I agree that gaming is likely to be the best motivator for learning to program for most children as well as some adults. I have 5 children and four of them love to play computer or video games and will tolerate a lot of repetition and difficulty to do so. Ask them to spend that much time doing similarly repetative household tasks and you will be faced with open revolt.
For almost any endevor, learning is a side effect of trying to do something you want or need to do. To try to learn without any interest in the outcome is a very difficult proposition.
I am an acoustical engineer (although my degree is in art and I am also a musician) and I only program occassionally (typically as required by my job). I work mostly in various "macro" languages such as application basic and some of the proprietary basic languages used for testing electronic and acoustic hardware (such as Audio Precision's macro language). Even now, I learn what I need to to do the job then move on to other activities (maybe after trying out a few things that perk my curiosity as well). I believe that while this is the natural way to learn for people who have a variety of interests, it is not well supported by academic institutions. Our community college has a math prerequisite for an introductory C++ class. I fail to see why any math should be a prerequisite (although it may be occasionally useful) and this inhibits people who might want to learn programming but aren't interested in math. If the required math were taught in the process of learning how to program, it would be easier to learn the math. In general I would say that you shouldn't try to teach something until the student understands why it is useful.
I have one son who would be a natural programmer (based on a little bit of Visual Basic programming that we did when he was younger) but he has difficulty applying himself when it is not obvious what the benefit will be in the short term. In trying to build a simple game I rapidly ran out of expertise and found that there is a real dearth of information on how to get started on programming anything interesting.
For example, trying to find out how to play a wave file programmatically was ridiculously difficult. Lots of references to opening the media player to play the sound but nothing on having an event trigger a sound. All the emphasis is on using applications, not really on making them.
There are also very few books aimed at teaching programming to children (or others with relatively short attention spans). 25 years ago (when my first kid was born) there were many more selections aimed at this market. I'm sure that they weren't all good but at least it seemed as if there was interest in teaching children to be producers rather than just consumers.
Part of the problem may be that programming languages are a moving target. There was a book which was almost good enough (The Black Art of Game Programming In Visual Basic) but the language was in transition when it was written and as far as I know it wasn't revised to keep it up to date. This wouldn't be a problem if the language was provided with the book and all the reference material required was included, but there were enough things for which other references were required that it rapidly became difficult to find the supplemental material. The apparent pace of change limits the willingness of authors and publishers to provide the necessary materials.
What is needed is an approach that breaks down the complexity into managable chunks that result in programs that are obviously related to your final goal and which can be easily modified to emphasize the amount of control the programmer has. I wouldn't care if it uses the most up-to-date language or results in spectacular games, but it should bear enough of a ressemblance to a "real" game to make it seem relavent to the unsophisticated.
I have thought that Half-Life 2 (or similar game engine) mods might be a place to start, but even though there is a lot of informat
I would advise against trying to do a grid-tie-in as a hobbiest. It would introduce legal liabilities that you really don't want. That said, there is nothing to prevent you from using alternative energy to power devices locally and reduce your dependence on the utility provider. It is unlikely that it will be cheaper initially so I doubt that you will get net savings in the short-term but any device you take off of the grid will stop contributing to your utility bill. You can do this by using alternative energy sources to charge batteries and then using an inverter to power an isolated set of outlets into which you can plug whatever you have the capacity to power (based on your average charge and discharge rates). This would provide uninteruptable power as well and would be well-suited to your computer and related peripherals. How much you "save" (ignoring installation costs) depends on how much power the devices you place on your alternative "grid" consume. Note that local storage is a practical requirement for most alternative energy systems since they typically have variable output during the course of a day. Grid-tie systems avoid this by supplying utility power to make up for shortfalls and typically will not be eligible for utility subsidies if storage is present at the time of installation. You can also use a "tranfer box" which is a switch which allows connecting your "sub-grid" to either your back-up or utility power but never both. This allows the sub grid to use utility power if consumption exceeds capacity temporarily.
I agree that gaming is likely to be the best motivator for learning to program for most children as well as some adults. I have 5 children and four of them love to play computer or video games and will tolerate a lot of repetition and difficulty to do so. Ask them to spend that much time doing similarly repetative household tasks and you will be faced with open revolt.
For almost any endevor, learning is a side effect of trying to do something you want or need to do. To try to learn without any interest in the outcome is a very difficult proposition.
I am an acoustical engineer (although my degree is in art and I am also a musician) and I only program occassionally (typically as required by my job). I work mostly in various "macro" languages such as application basic and some of the proprietary basic languages used for testing electronic and acoustic hardware (such as Audio Precision's macro language). Even now, I learn what I need to to do the job then move on to other activities (maybe after trying out a few things that perk my curiosity as well). I believe that while this is the natural way to learn for people who have a variety of interests, it is not well supported by academic institutions. Our community college has a math prerequisite for an introductory C++ class. I fail to see why any math should be a prerequisite (although it may be occasionally useful) and this inhibits people who might want to learn programming but aren't interested in math. If the required math were taught in the process of learning how to program, it would be easier to learn the math. In general I would say that you shouldn't try to teach something until the student understands why it is useful.
I have one son who would be a natural programmer (based on a little bit of Visual Basic programming that we did when he was younger) but he has difficulty applying himself when it is not obvious what the benefit will be in the short term. In trying to build a simple game I rapidly ran out of expertise and found that there is a real dearth of information on how to get started on programming anything interesting.
For example, trying to find out how to play a wave file programmatically was ridiculously difficult. Lots of references to opening the media player to play the sound but nothing on having an event trigger a sound. All the emphasis is on using applications, not really on making them.
There are also very few books aimed at teaching programming to children (or others with relatively short attention spans). 25 years ago (when my first kid was born) there were many more selections aimed at this market. I'm sure that they weren't all good but at least it seemed as if there was interest in teaching children to be producers rather than just consumers.
Part of the problem may be that programming languages are a moving target. There was a book which was almost good enough (The Black Art of Game Programming In Visual Basic) but the language was in transition when it was written and as far as I know it wasn't revised to keep it up to date. This wouldn't be a problem if the language was provided with the book and all the reference material required was included, but there were enough things for which other references were required that it rapidly became difficult to find the supplemental material. The apparent pace of change limits the willingness of authors and publishers to provide the necessary materials.
What is needed is an approach that breaks down the complexity into managable chunks that result in programs that are obviously related to your final goal and which can be easily modified to emphasize the amount of control the programmer has. I wouldn't care if it uses the most up-to-date language or results in spectacular games, but it should bear enough of a ressemblance to a "real" game to make it seem relavent to the unsophisticated.
I have thought that Half-Life 2 (or similar game engine) mods might be a place to start, but even though there is a lot of informat