My total code + static web page storage (in a small external flash) is around 196KB. That isn't anywhere near 32MB.
I'm in the process of moving to a PIC32 platform to be able to support HTTPS and IPv6, along with a lot of other functionality that needs to be in the next version of this product. This is still going to have a code size of well under 1MB (and probably more in the 3-400K range). So I'm not sure where people get off with saying that 32MB is "extremely resource constrained".
When you look at the output code from a C compiler, it tends to be small and fast, and relatively light on resources. In many cases, with modern compiler optimizations, the resulting code can actually be smaller and faster than all but assembly code written by someone who really knows how to optimize for a specific machine. Almost all embedded development work is done in either C or assembly, and C tends to be faster to write, and portable - so you can move the code to the next project if necessary.
Using any 'modern' object oriented language immediately adds a level of bloat which is generally not acceptable in places where C still shines. These modern programming languages are written for environments where a few extra bytes or a few extra cycles isn't going to cause a problem. When working on a resource-limited platform (aka where you'd kill for a few hundred KB of code space, and more than a few thousand bytes of ram) you're just not going to be able to use a modern language because of the overhead of an object oriented language.
I'd actually predict C is going to grow in the near term, just because of the growth of internet-connected low-resource devices. I actually develop products on a platform which has a complete TCP/IP stack (including web server and SNMP) running in less than 128KB (yes K not M) of memory. These and other similar small platforms are going to be the basis of the 'things' half of the internet of things, all of which are going to have C code at their base.
To handle people with disabilities, we have machines which mark an identical ballot using a special voting-machine like device. This allows those who can't mark a paper ballot to vote, yet still results in an auditable, paper, ballot.
Personally, I think we need to abolish electronic voting in any form which doesn't result in an auditable, verifyable, paper, ballot for each voter.
At one spot in the store, I stopped and picked up a device I hadn't seen for years, and thankfully haven't had to touch one for much longer than that. And then realized that many of my younger networking peers wouldn't have a clue what the heck it was.
What was it you ask? A thicknet (10Base5) ethernet transciever.
I personally use insteon for most everything, other than those things which seem better for m-wave - in my case, I use m-wave for door locks, thermostats, etc., which are somewhat slim picking on the insteon side. I like how the insteon works for power control, and m-wave seems way expensive and weird for that stuff.
I haven't yet purchased it so I can't say how it works, but I'm about ready to spring for a Elk M-1 panel in combination with a ISY-994i with their new (beta) m-wave radio. Looks like it should work great.
This helps future-proof the house.
I'd also consider/ensure the following:
1) Make sure there is a NEUTRAL at EVERY electrical box, including switches. Makes things lots easier. I've also gotten in the habit of using an additional conductor from the lightswitch to the light in case I decide to install a fan or similar.
2) Have the electrical contractor use the biggest box that will fit in the wall space. None of these cheap 2" deep things. 22 cubic inches is the size for a single gang box. They are roughly 3.5" deep (the width of a 2x4 wall stud). This is to accomodate the much larger volume of a home-automation switch and/or outlet.
3) Consider truss construction in spaces you'll have to run lots of wires through - it solves the issue with too many holes weakening the structure.
4) Take the advice of others on the thread, and do go ahead and install boxes with conduits on at least each wall. The conduits should be at least 3/4" - 1" would be better. If you've got a dropped ceiling or similar, they just need to be stubbed out into the ceiling/attic area. If you're enclosing, then they need to be run to a central closet or similar.
5) Don't forget satellite, cameras, etc. etc. etc. - run boxes/conduits for them as well.
6) In bedrooms, think about where the bed might be placed and make sure you have outlets on both sides of each bed position. In the master, if you know where the bed is going to be placed, consider adding nightstand height switches and/or boxes for automation controllers, cell chargers, etc.
I probably could keep coming up with other ideas, but that are the main ones...
Because of the work I do I have a collection of test gear I've accumulated over the years. The things which get the most use? The variable DC power supplies, the multimeters, and yes, the oscilloscope.
The oscilloscope occupies the spot right above where the target sits most of the time. I find it to be very useful to troubleshoot digital realm issues, including things which one would seem to think a logic analyzer would be perfect for. If I'm having a hard time getting two things to talk, say over an I2C bus, I reach for the scope first, since I can see whether or not the lines are toggling as expected. And if they're at the right voltages, and so on. I can also tell if the clock edges are correct and similar. This accounts for like 99% of the problems I run into that I need an external test instrument for.
Yes, I do have various logic analyzers. Two USB ones, a big one I'm about to sell on ebay, and a few more specialized ones (serial protocol analyzer, USB protocol analyzer). Most of the time they sit in their cases on the shelf.
There's a jules verne short story called "in the year 2889" which is a very interesting read as well.. . I'd say in many ways he was describing 2013, not 2889...
Definitely worth the 5-10 minutes to read.
Some links which will help you find people who are doing this already, and are more than willing to help you start down this path follows. Believe it or not, most operators in the WISP industry are pretty friendly and more than willing to help a new wisp get started with advice and the like.
I'm sure there are others. I'd start by reading what I can, probably joining the (free) email lists on a couple of the sites above, and asking questions. Everyone in the industry was a newbie sometime, and most of us remember what it was like to start out, often with about as much knowledge as you have.
An inclined plane is a slope up. -- Willard Espy, "An Almanac of Words at Play"