Saturday, November 30, 2013

Comcasts bandwidth notice breaks everything

It was 2 days before the end of the month of November 2013 when I first approached the 300 gig bandwidth limit imposed by Comcast. My daughter has been watching a lot of Dr Who on netflix to try to get caught up for the Day of the Doctor and thats the only thing I can think of that is different than any other month. I’ve never come even remotely close before and certainly do not run any file sharing or other such systems here.

They alert you by sending you an email, but they also start actively filtering your web traffic and inserting code that creates a popup window in every browser session that you try to create. This window will not go away until you log into your comcast account and acknowledge the fact that they are about to start charging you extra.

This altering of the HTML code coming from every server is a huge problem. It will wreck havoc on the “internet of things” and other such devices that happen to communicate on port 80. All of a sudden my internet thermostats were not parsing the fact that they were connected to their service, my phillips hue bridge complained that it had lost internet connectivity, my iDevices would not load any web content at all. The HTML was so broken that I got only a white page with nothing displayed at all.

I finally resorted to rebooting my router and power cycling the hubs that the hue bridge was connected to all without an improvement in what was going on, yet some other things were working so I knew I wasn’t just offline.

I finally logged into my actual desktop computer and got the popup and was able to log into my account and turn it off. But you can’t opt out of the popups entirely, they are “required” for 100% of the usage, though you can turn them on for other amounts.

Net neutrality aside (bandwidth spent watching netflix or hulu counts against my usage, but bandwidth used watching their xfinity app does not, thats cheating Comcast) the implications of their ability to watch not just caching server logs of my html traffic but actually insert code into it, code that is malicious in how bad it is even if it’s purpose is not actually to do harm, is huge. They could alter anything, change what adds are being displayed, silently filter things they dont like. Forcing all port 80 traffic to have this popup inserted even when many devices making such connections dont have the ability to display any such popup and are not sophisticated enough to realize that their JSON or SOAP or XML or other documents have been totally corrupted by Comcast shows a real lack of thought went into this.

Obviously they wish to make sure you know that you’re about to be charged extra so that you can’t get mad at them later when I claim I never got their email. I wish to opt out of your corrupting the HTML data flowing into my home and yet I cannot.

Overall I’ve had very little difficulty with Comcast and the service. It is not overpriced, at least not by the standards of other internet service in America, and it has been reliable. But I will be watching as technology continues to render their privileges of easements to run their wires less important. When other ways of getting connected are available to me I will remember how you broke my house for no good reason and how you filter and insert things into the packets coming into my house.

Wednesday, October 16, 2013

Thoughts upon returning from a short vacation at Disney World


Reviewing the various features and foibles of Disney World is a full time job for an army of bloggers and review sites. Though this is just a single breath in a veritable hurricane of writing on the internet, it is my breath.

We went for just 3 days. My children are 9 and 13 as of this writing and had a wonderful time. It's not necessary or even enjoyable to spend a full week there.  You run out of steam and blister bandaids too quickly. Especially with smaller kids, a couple of days is plenty and take them again in a couple of years instead of blowing all your dough in one huge vacation that they will be too tired to enjoy.

We stayed in the park for the first time this time. Previous visits we've rented a small house somewhere nearby and driven in (and saved THOUSANDS of dollars). Disney runs the best managed and accessible parking lots in world. Do not be afraid to drive in, you will not be delayed. We stayed at the lower tier "resort" The Art Of Animation. I was not initially filled with love and happiness when I first got a look at the industrial big square box buildings with a few lion sketches on the side and a couple of decorations on the endcaps. but they are really OK. The room we had was very nice, with a sofabed and a Murphy bed for the kids in the main room and a separate master bedroom and bath for us to actually close the door and get some sleep. If you're staying in the hotel to make use of "extra magic hours" make sure they actually fit into your schedule. The parks we were visiting never overlapped with an extra magic hour that we could actually visit, so that was a wash.

There is no good way to unload your luggage at these resorts. There are bellhops with trollies at the main checkin but not enough of them and you'll wait for a long time. Or you'll carry your own which is what we did. The parking is very close to some of the buildings, and very far away from others. There is no door to the building facing it either. You pretty much have to walk all the way around to get to the elevators, or use the stairs. Your wristband wont open the doors by the stairs though even if you wanted to use them until you've used it to open your room door which unlocks it for other uses. So you have to walk around to the main entrance which is in the middle of the complex of buildings at least the first time.

I must take a moment and talk about the toilets installed in this hotel. They are obviously air pressure driven and are the loudest flushing toilets I have ever encountered in my life. The first few times you flush them they will make you jump, it takes getting used to. You can also hear every other person in your side of the building when they flush, just as I'm sure everyone could hear you. The volume level is truly impressive. I would also hang onto small children if they are standing nearby when you flush else they be sucked down. These are powerful turbo-charged toilets.

Food service at the hotel was adequate. Disney does everything as good as can possibly be done, and even they can only do just better than passable food service on this scale. The food was not bad, but it was impossible to get your tray and your kids tray definitely from another separate line through checkout and to a table while your food was still warm.

If you buy into the food service plan do the research ahead of time and know what you get and get it before reaching the register. If you're lucky enough to have a cashier that knows what you're entitled to you'll end up going back to get a different drink or another pack of grapes or carrots or a dessert. If you're cashier doesn't know then you just wont get those things that meal. In either case you'll be unhappy.

We also bought the infinitely refillable cups which were a waste of money. They can only be refilled at the resort that you're staying at, there is no point in carrying them to the parks with you as they wont work there. So we bought them and used them the first night we were there. Then the next morning we didn't carry them with us to breakfast because we were going to the parks without returning to the room which is what we then did the rest of our visit. I believe I used them 3 times while we were there. Not worth the money unless you are going to be hanging around the pool at the resort a lot or are willing to walk from your hotel building over to the cafeteria a lot, which can be quite a little walk. After coming back from the parks and taking off my aching shoes the last thing I wanted to do was walk back to the cafeteria to get soda, we just got ice from the ice machine down the hall and had nice cold water.

The cups are interesting from a technological standpoint. They have an RFID chip in the base that has to be programmed or read from the register. There is a reader under every single spigot in the pop dispensers and you have to set it down and wait a heartbeat before you try to fill it. That way there is no black market in used cups as they are programmed only to work while you're there. But nobody really explains how to use them and that you have to set them down, I watched many frustrated people holding them under the spigot and nothing would work till you set them down. Disney is going all RFID for everything and it's not going completely smoothly yet. I'll take the chip out of my cup soon and post some takeapart picts to try to figure out just what the system is based on.

We got "Magic Bands!" which are a cool idea, no more being afraid of losing your card, they easily stay around your wrist (but you'll keep looking at them trying to find the watch face to tell you what time it is, now THAT would be an upgrade to them :) When they say "near" field what they really mean is touching. the range on them is such that if you even press them a little out of perfectly on the front of the sensor they dont work. At least on your hotel door, other readers at the park may be higher power. The absolute best use of this technology is when you combine it with being able to schedule your fast passes on the iPhone app before you even get to the park. This is so fantastic I can't even rave about it enough. Schedule your visits to the 3 biggest rides you want to see before you even leave for the park, or better yet if it's something like soarin do it the day before. At 10am there was already a 2 hour wait in the standby line for soaring the day we were there. We walked right on with a scheduled visit. I really think that the technology is there to schedule more and more of the visits and reduce the walk in line considerably. This would be great, standing in line sucks, just tell me when to come back thats fine. I don't understand why every person in the park isn't doing this.

We visited Blizzard Beach the first day there, then spent that evening at Hollywood Studios because there were only a couple of things we wanted to see there (hello, fast pass!) The second day we spent at epcot and lastly at the Magic Kingdom and that evening did Mickey's not so scary halloween party which is fantastic but you have to book 6 months or more in advance if you want to get in. They sell out regularly now.

At Blizzard Beach the first day we managed to get our first and only minor injury of the trip. My daughter managed to fall off her float on the lazy river and scrape her hand up pretty good trying to hold onto the side. There is an application for nano tech out there somewhere for someone to invest a coating for the bottom and sides of swimming pools so that you have some traction but not so that it rips up your hands and the bottom of your feet while you're playing in it. In any case the very sympathetic life guard handed us a couple of bandaids and we were back on our way. (I think he was glad she hadn't hit her head as he told of witnessing several such events, probably the most dangerous ride at the park because people try to stop themselves and the tubes want to keep going and they flip over into the side of the embankment!)

Epcot has some great stuff too, but it's a LOT more walking than any of the other parks. Epcot though serves beer for just walking around. Which is great in theory, but it means that older "children" end up there behaving like "children" sometimes too which is never pretty.



Our only real negative was trying to find a space around the halloween parade route. Disney has adult fans so rabid that they wont step back 2 feet and let your kids sit on the ground in front of them. So my kids can't see as grownups without any children in tow snap flash pictures in the dark that will never come out of chip and dale dancing to "this is halloween" really people. You could see over my kids, my kids can't see over you. We've had to work around people like this at every parade at Disney that we've ever been too. Thats not to say that we've not met hundreds of perfectly nice and happy to help out or move over people too, but it's the jerks that you remember.

The new Fantasy land in the Magic Kingdom wasn't finished yet, they are still building the new dark ride, I think based on snow white? but the new Little Mermaid rid was up and running and was definitely worth the walk around the back of the new area. The animatronics have made huge leaps and it's amazing stuff. Ariel even had animated hair so that it looked like it was floating around under water. A little bit freaky but just so cool. I felt the ride was a little rushed though, it could have run slower and let us enjoy the details a bit more. It also felt a little sterile to me, there wasn't as much detail to see and it was all very brightly lit. I suppose it will gather details and upgrades over the years, but it's still definitely worth the trip. I think it could have used one more story setting, it went right from Ursela using her voice to woo Eric to the real Ariel's wedding scene. I would have loved to see Eric empaling Ursela on the sailing ship, but I suppose that would be too dark even for a dark ride? In any case, it was a great new ride and you should go on it (unlike the nemo mini-ride they built into the sea, that is totally lame)

The haunted mansion has undergone some updates. Some interactive things to play on in the queue are there now and I think a welcome improvement. The insides as well seem to have been constantly updated and replaced over the years, everything is still there but there is more and more to see. I love it. Same with Pirates which has lost some of it's rather overt movie themeing. Capt Jack is still all over, but the mist screen with the nasty from the movie right before the initial fall is gone (or wasn't working when we were there) making it more like it was prior which I liked better.



Disney theme parks are awesome. Take your children for a couple of days, not when they are too little or they wont like the dark rides and loud noises. (bring earplugs for anyone who might be startled! It makes a huge difference in their enjoyment) Take them back to the hotel in the heat of the afternoon and come back in the evening after you've rested up. Even if you hate corporate Disney and the stupid that is the Disney Channel and the stupid that is Disney sponsored tween targeted rock and roll. The parks are wonderful.

Thursday, October 10, 2013

Larson Scanner Hat for Halloween


one Larson Scanner from Evil Mad Science but instead of mounting the LED's to the board I glued them to my hat. I spend so much time helping the kids with their costumes that I dont normally get to wear anything fun myself, but at least this year I'll have a Cylon hat!

Tuesday, October 8, 2013

XTension saves my crawlspace

What is home automation good for other than remote control of your lights is an oft asked question. I collect a lot of data about things, especially things I can't see easily without it and good information is hidden in there.

I have a very fancy and expensive encapsulated crawlspace under this house. It's one of my favorite things. No longer is it moist, and moldy and wet and full of bugs under there. It's sealed up and dehumidified and it's so clean we could have tea under there when you come to visit.

One of the things I monitor is the duty cycle of the dehumidifier. That device has a dedicated circuit that runs under the house to power it so just outside the electric box I added some monitoring equipment. Since the dehumidifier has a passive humidistat it's almost totally off when it's off so that makes it easy to tell if it's on or not. I used a 120v HVAC sensor. They are for turning on a booster fan when the main blower turns on. You just pass one wire of the feed to the main blower through it's sensor loop and it will switch on it's load when that load reaches a certain point. You can't really adjust them so they aren't useful for things with a more complicated power usage structure (like the sump pump down there which I also tried to do this with but which never worked because the charger circuit on the battery backup pump kept it on all the time) So I used that HVAC switch to control a 120v relay which provides a dry contact which you can read into XTension in many ways. Mine is connected to a weeder digital card.

The duty cycle of that has been around 4% since a few weeks after it had been installed and dried out the space under there. I still display it on my Web Remote because that number going up could mean equipment problems or some other issue under there.

Yesterday I noticed that the duty cycle was at 15% and knew there was a problem. Sure enough the little hooks that held the access panel in place from the outside had finished rusting through and the door had fallen open. It had probably been open only a few hours before I noticed it and was able to fix it keeping me from having bugs and skunks and god knows what move in under the house.

I think I'll place a door sensor on the access panel now too.  You can't get from there into the house without a sawzall but still it would be good to know if the door comes open.

Friday, October 4, 2013

creating an applescript record with user defined labels in Xojo

Perhaps this really is documented somewhere, but I couldn't find it. Or perhaps it's so obvious that everyone else has been doing it for a decade but I just figured it out.

In Xojo (IDE previously known as REALbasic) you can create enumerated records with 4 byte codes that are translated into labels by the applescript dictionary.

dim MyRecord as new AppleEventRecord

MyRecord.StringParam( "xxxx") = "my data here"
and if you have an enumeration for the xxxx in your dictionary that says it means "cool stuff" then you can access that record in applescript by saying

set myThing to cool stuff of ThatRecord

and you'll get that data out again. But in order for that to be useful you have to know what those labels are ahead of time. In a script itself you can create a record with labels defined at runtime like:

set myRecord to {label1:"value1", label2:"value2", etc...}

and then you can access them via those label names

set myString to label1 of myRecord

but until yesterday I've never been able to create a record that had user defined labels in Xojo code. It's a simple matter of creating a AppleEventDescList with alternating label/value pairs in it and then placing it inside an AppleEventRecord with the 4 byte code of "usrf"

dim theRecord as new AppleEventRecord
dim theList as new AppleEventDescList

theList.appendString( "label1")
theList.appendString( "value1")
theList.appendString( "label2")
theList.appendString( "value2")
etc...

theRecord.DescListParam( "usrf") = theList

now if you return that record from an event the calling script will be able to treat it like a user defined list and use it the same way like:

set myString to label1 of TheRecord

Specifically i'm using this in a JSON parser where you just wont know the labels before hand so there is no chance to pre-build them as enumerations into the scripting dictionary.

Monday, September 9, 2013

adding animated weather radar to your XTension Web Interface pages

Another monday another tutorial on the Mac Home Automation site. This time how to embed data from other sources into the displays, for example animated gif's of weather maps.



http://machomeautomation.com/doku.php/webremote/radar

These instructions apply to what I do at my day job as a programmer for the Macintosh based home automation software XTension and the new WebRemote system.

Monday, August 19, 2013

xBee battery powered motion sensor, part the second.

This is a followup to an earlier post as came out in the comments you can't wake up an xBee directly with the output from the motion sensor, it's the wrong polarity. It connects to Vcc when motion is detected and floats when there is no motion. Just adding a pulldown and a transistor didn't work at all to connect it to ground and wake up the xBee. Too many timing issues.

So I decided to go with an ATTiny85 chip that can sleep most of the time and be woken up itself when the sensor goes high, and it can then handle the timing of waking up the xBee and having it sample it's pins and send the data. This actually worked lovely until I tried to add back in the motion sensor.

It turns out these motion sensors just dont work below 3v or so. They have an onboard voltage regulator for the 3.3v that they need to work so you really must power them with 5v to get them going. There is some talk on teh intertubes that you can just short across the regulator on the board. I think those instructions were written before they switched to all surface mount parts on these boards which makes it much more difficult. I did try doing that though and it did work then at 3.3v quite well.


you can see my tiny little wire loop across the voltage regulator. Unfortunately at about 3v and lower it stops behaving at all which means that 2AA batteries are not going to power it for very long. And it also stops behaving above 4.5v which means that 4 batteries are a no go. The ATTiny has a good range of voltages in this area which makes it excellent for a long term battery operated product but the xBee is very sensitive to voltages above 3.3 volts. I wouldn't want to run it on 3 batteries without a regulator. Which means that would require a regulator which would waste a lot power and significantly reduce battery life.

I've looked around quite a bit, and there are some excellent canned solutions to motion sensing out there, including some fantastic chip/sensor combinations from Zilog (who also offer an SMT version of the Z80 CPU chip which somehow I find funny :) but they use too much current and still dont operate at a low enough voltage for a good battery operated project.

So we're left with separate power supplies for the sensor and the xBee or regulators or rolling it from scratch. I might experiment with a 3AA battery system where the sensor runs with it's regulator off 3 batteries and see what the current usage is and tap just 2 of the batteries to power the xBee. They will run down out of sync but that might still work and 3 batteries in the device isn't out of the question. Or it really might be time to start studying how these sensors work and roll one from scratch. The otherwise quite good except in radio range and reliability X10 motion sensors work for years on 2AAA batteries. I've glanced at their insides and I think they do a op amp comparitor thing between the 2 outputs of the motion sensor and then have a tiny PIC to make decisions on the output.

At least I understand why the newer ZWave motion sensors are so expensive and why the battery life in them sucks so badly overall.

But all this does mean that without the motion sensor the combination of an ATTiny and an xBee radio work great. So other sensors should be a piece of cake, something like a door/window contact closure device that might also sample temperature and light levels on a regular basis should be quite possible. I might concentrate on that for the moment and stew over the motion sensor problems a little longer.
.code { background:#f5f8fa; background-repeat:no-repeat; border: solid #5C7B90; border-width: 1px 1px 1px 20px; color: #000000; font: 13px 'Courier New', Courier, monospace; line-height: 16px; margin: 10px 0 10px 10px; max-height: 200px; min-height: 16px; overflow: auto; padding: 28px 10px 10px; width: 90%; } .code:hover { background-repeat:no-repeat; }