Pages

Monday, November 18, 2013

entitlement

I complain about blogger a lot for a guy who pays nothing for the service. I know that. The main thing about it that gets at me isn't really Blogger's fault. It's that the web page works poorly on the iPad. George W. Bush was fond of the phrase 'soft bigotry of low expectations'. Blogger didn't set out to make a web page that worked poorly. I guess they just lost sight of the fact that the web can be really good and let their preconceptions be their default.


John Gruber is one of many luminaries who enable this bigotry. I have blogged before about this post of his. I think my real objection is to his claim "Today, in 2013, even the best-crafted mobile web apps come nowhere near the quality of experience of the best native apps". The claim bothers me but I can't really disagree. I know the many technical limits of 2013-era web apps. My problem with Gruber's line is the leap many make by asserting that the technical limits of the browser are the same limits that separate the best web apps from the best native apps. This is not the case.

One non-technical problem with web apps is that it's difficult to charge money for the app. That's not the biggest problem. The biggest problem is that web apps have to come from somewhere.

I know many folks who have built a forge in their backyard, or at least dream of it. I know nobody who wants to do their own colonoscopy. The intrinsic joys of running an SMTP server seem closer to the colonoscopy and the joy of running a public facing web server is headed in the same direction.

I don't really want to run a web server. I don't want to maintain an SQL database or apply software updates or even deal with the e-commerce site of a web hosting provider. I don't even really want to hassle with the domain name system. If I just give Apple their $99 and send my apps their way, then I don't have to do any of that.

What I do want to do is write Javascript. I love it. I love the browser. The combination feels to me like the ultimate victory of the LISP machine. Apple, Google, Mozilla, Opera, Microsoft, and others have all actually done a lot for the world by rowing in more or less the same direction with this technology. As large as their differences have seemed, I think they are all more interoperable than were the LISP or UNIX machines and dialects of the '80s.

I have written apps with Cordova. I admire that project but I don't think of it as a cross-platform development tool. I think of it as a tenacious effort to keep the Javascript/DOM platform relevant. I admired Palm's WebOS more. I already feel sad about the pending failure of FirefoxOS. I like the web, I think it's important, but I love a good browser.

I wrote previously about developing and deploying an HTML5 web audio app using Kiosk Pro on iOS.

I would like to share that serverless app with you but the the logistics are frustrating. Blogger won't host the files. Dropbox won't serve up a web app. I found a LifeHacker post from last year about serving web apps out of Google Drive. I uploaded a simple web app I built for my kids to my Google Drive account. The Google Drive iOS app doesn't seem to let me make a folder public. Google themselves provide some notes on this topic, though their notes do not work on iOS. They work a little better whenever you can find a link that lets you opt-out of 'mobile view'.

I'll keep trying. If I can figure out a way to anonymously serve a couple of files for less than the cost of my lifetime AdSense earnings to date (about seven dollars) then I'll share some web apps.

I wrote this post in 'blogsy' for iOS on my iPad. Five bucks. It's better than the free Blogger app. It supports hyperlinks -- a critical feature that somehow didn't fit the Blogger app view of the world. I think it's better also than the Blogger web interface. I think the blogsy people just cared more. I'm about to publish but I have some trepidation. Blogsy looks like it may attach 'Posted with Blogsy' to the bottom of the post. It's a waste of five dollars if that is the case.

Saturday, November 16, 2013

haiku part II

(This is part two of a three part review. Blogger has reorderd them. They now appear to run two, three, one)

The fan is dead! Long live the fan!

Last week saw the execution of my old Honeywell ceiling fan. The crime? Conspiring with a known bad in-wall control unit. Sending secret radio messages. Total dereliction of duty.

I chortled in my joy as I surfed, now in the dark, for a replacement fan. I scanned the entire collection at Vintage Fans. I ran through the entire online collection of Hunter fans. That site actually generates new fan combinations randomly as you ask for each page. I found sizeable collections of fan porn in the pages of Pinterest and Houzz. In all, I put together a list of about 25 fans and passed it on to my wife.

I expected her to quickly ratify my top choice -- the Hunter Hotel Original with Adaptair. I thought I would pair it with a set of custom fan blades in maple from C&R Woodcrafters. It was going to be great. I'd be able to believe I was cool in summer. The fan would work well and look good. No stinking digital controls.

My wife got back to me in a flash. She said "I was imagining something more awesome." That knocked me out of balance, like a fan that has thrown a blade. I had no backup plan so I googled "awesome ceiling fan" and used image search. I discounted novelty fans and props left over from Terry Gilliam movies. I found the answer on the first page. The 'Haiku' by Big Ass Fans.

I also found Virginia H. S********, Air Force Civilian. She has no part in this story except that the Google image search results for fans turned up a cute snap of her cat, Tabbie, staring at the ceiling fan while tugging on her badge for work. Her badge is readable in the photo. Tabbie looks like a cat caught in the act. I wonder who he really works for.

Back to fans. I hated the old fan from the first day I bought the house. I was having a fight with it only minutes after closing when I was interrupted by a knock. The knock was from my new tenant. He had just returned home from a backpacking trip to Paraguay. I had never met the man. This stranger announced that he had lost his keys in Paraguay and asked me for mine. I didn't know if his story was authentic but I was sure that his stink was. I gave him my key to the basement apartment.

He returned my key in the little paper bag from the hardware store that had held the copies he had made. It said 'Qty 3'. He came up about an hour later to tell me that his Ukranian girlfreind would be arriving imminently and moving in. I said I already knew. When he asked how, I told him that I knew he had made three copies of the key. He said "Huh. Have to practice better information management in this town." Virginia should take this advice to heart.

Really back to fans this time. Haiku by Big Ass Fans. I remember a years-ago BAF ad. Got a Big Ass Room? Get a Big Ass Fan. The have brought the line down to medium ass rooms by licensing a novel, modern fan design from a Kiwi and marketing it under their brand.

The Haiku fan is the more awsome that my wife was looking for.

The old Honeywell unit was a five bladed fan that spanned about 54 inches. The Haiku spans 60 with three blades. The blades look purposefully aerodynamic. Mine are molded bamboo. I wondered immediately why I couldn't think of an Eames piece in bamboo. Maybe Nixon visited China too late for them. The humble downrod is clad in sleek fairings. The mount was utter simplicity. Everything about the fan is beautiful.

Blogger's iPad app still doesn't allow me to insert hyperlinks in posts. It turns out that hyperlinks, not W3C browser-based DRM protected video, are the defining feature of the web. If you revived Vannevar Bush to show him the Blogger app, he would be completely blown away... by the lack of hypertext. I have to circle back to the web interface after writing these posts to touch them up with actual hyperlinks. I'll try preparing the next installment in a different environment. Maybe wordpress. Maybe a typewriter. Maybe a typewriter emulator app for Chrome running on a Google Pixel. Stay tuned.

Wednesday, November 13, 2013

haiku part III

A Haiku fan now reigns over my living room where a Honeywell fan once spun. I like the fan.

There are some brighter spots and darker spots in the experience. One dark spot is the lack of a built-in lamp. Big Ass Fans offer a light kit as a partial remedy. The kit is $95. That's cheap only compared to the $825 base price for the Haiku.

Darker a spot than the lack of light is the light itself. The fixture installs pretty easily over the hub of the fan. It connects to the main fan circuit board with a short cable. The lit portion is about six inches across and studded with a ring of about twenty LEDs surface mounted on a printed circuit board. The fixture is surrounded by an attractive metal heatsink casting which adds several extra inches to the overall diameter of the fixture.

The ring of LEDs is covered with a choice of either a frosted white lens or a dark smoke lens. The white lens filters little enough light that it is still easy to get an unpleasant eyeful of LED. The lens does take what would be twenty sharp spot beams and blends them into a uniformly dim and harsh light. It would take a naked forty watt bulb hanging from the ceiling to achieve the same effect. Kudos to Big Ass Fans for managing that with such efficiency.

The remote is another sore point. Credit card sized remotes were pretty cool in 1993 when the Macintosh TV came out. They were still a bit cool in the late nineties when Bose bundled them with Wave Radios. In 2013 they are just cheap and nasty. You can buy essentially the same remote from dozens of alibaba vendors for a couple of dollars. The remote battery tray interchanges with the cheap remote included with my kids' color-change novelty lightbulb ($5.97).

The fan side of the remote is not so bad. Blue LEDs illuminate for a short time to indicate what fan speed is now active. this is especially helpful when you want to be sure the unit is off, not just very very slow. It also beats pull chain systems that cycle back from high to off. That would be a real pain with the Haiku's seven speeds.

Worse than the cheap remote is the cheaper wall bracket for the remote. The bracket looks like some type of one time use medical thing. Maybe it started life as a complimentary floss cutter to be given out twice yearly by dentists. The sharp edges on the inexpensive part could manage that well.

Hunter remotes frequently hang on a hidden bracket that allows the remote to be used as a wall control when docked. The Haiku fan bracket covers at least five of the ten remote buttons. The light controls are completely obscured.

Big Ass Fan's answer to this criticism might be to point to the available wall control unit. That unit adds an additional $175 to the fan price. Worse, it dumps me back where I started with Honeywell -- a hard-wired unit that collaborates secretly with a fan over an RF link. No thank you.

Neither of these stories provides any good options for integration into a home automation system, unless the RF module supports an open standard and bi-directional communication.

I watched the online installation video for the RF module. The fan does not ship with the RF receiver. The small receiver board ships together with the wall unit. I imagine that this is for regulatory reasons  as much as cost.  It is a tiny board that plugs into the main fan board with a single row pin header with few pins. Maybe another module could install there. Maybe a wifi module. Maybe an Arduino. If Nest can solve the user interface challenge of configuring a wifi smoke detector on your ceiling, then it must be possible for a ceiling fan.  


Tuesday, November 5, 2013

haiku


seasons turn slowly /
honeywell fan slower still /
leaves and fan come down

I live in an old house without central air conditioning. Just before I bought it, the house was subject to a thoughtful remodeling undone only by poor judgement and shoddy workmanship. The house gained all of the bulk and ugliness of central air conditioning with almost none of the benefit. The previous owners installed a useless central fan with ducted registers throughout the house. I suspect that it would all have to go in order to properly install a central air system.

I prefer to pretend that it is not hot. In winter, we heat with cast iron radiators and a hot water boiler. We love them. I support my summer comfort fantasy with a variety of window and portable air conditioners and ceiling fans.

The previous owners took the no-AC dividend -- probably ten thousand dollars -- and plowed a hundred dollars of it directly into one of the worst ceiling fans that they could buy. That fan hung in my living room until last week. I had hoped it would be difficult to buy a fan that bad by accident but these appear to be the new default.

The fan was tied to an Honeywell branded in-wall combination light and thermostatic fan control. It had five buttons for fan control, a thermostat slider for automatic operation, and a single button to control the fan light. The thermostat never did anything but turn the fan on at unwelcome moments. The light switch was the real problem. It was never easy to operate. Near the end of its life, the rubbery button required more than 50 pounds of force for the unit to register a press. That's 1% of the thrust produced by the Garrett (now Honeywell) ATF3 turbofan.  The wall switch had none of the familiar roundness of Honeywell's most beloved products.

Honeywell products (above: HFT7000) should be round
Photo courtesy Honeywell
50 pounds of force seems like a lot for a computer scientist to muster but this wasn't even the worst problem. The switch included a dimmer function. Once you jammed a stick into the button and pressed hard enough to engage the switch, you had about two microseconds to let go before the built-in dimmer started dimming the fixture. Once dimming started, you have to press and hold until the dimmer reaches bottom and then starts to rise. You have to let go just when it reaches its apex.

I finally ripped this control out of the wall and I expected to install a SmartHome FanLinc Insteon controller in the fan canopy. When I got the control out of the wall, I saw many fewer wires than I expected. I took the fan apart and found out why. The in-wall control is really an RF control that matches a large honeywell fan/light control mounted in the motor housing of the fan. The fan does not want to be controlled by anything but its module. I didn't want to map out the tangle of wires to adapt another control to this motor.

All gone. Fan, module, control, everything. Gone.

This scheme of hard-wired controller and proprietary RF protocol is depressingly common. My module is labelled Honeywell, but similar units are labelled Hunter, Westinghouse, Hampton Bay, Litex, or Craftmade. I wouldn't buy any of them. I have other variations on this theme throughout the house.

Wireless fan control by Hunter
Photo courtesy Hunter


I give the nod to Hunter for the ease with which neighbors can turn on your fan. Ever left for vacation and wondered if you remembered to shut the fan off? No problem with Hunter. Your neighbors need try only sixteen DIP switch combinations before they shut the fan for you.

I've put up with flakey home automation devices for many, many years. Even the worst of the bad X10 devices was more reliable than these fan units.

I would like my excellent Nest thermostat to control my fans. Nest has expanded their lineup recently with the Nest Protect smoke and carbon monoxide detector. Maybe Nest can expand their ceiling-based lineup with a few spinning blades and make a great fan. I think there is room in the market for it. There is certainly room in my house for it.



Monday, November 4, 2013

plan


It was chilly today. I threw on a fleece vest that I hadn't worn in a while. Huh. What's that bulge in the pocket? Oh. A roll of duct tape. I had to go through a Secret-Service-type checkpoint the last time I wore the vest. Same bulge.

It had been at a children's Halloween party downtown. The burly dude at the magnetometer said "Sir, what is your plan for this duct tape?" This was the best question anyone has asked me since. My plan was to use it to patch my daughter's home made foam rubber pumpkin costume. They didn't completely like that answer. I said "I'm a man. I fix things with duct tape."

With that restatement of the obvious, all was fine.

All security questions should be asked this way -- not "What is this?", not "What is this for?". I'm sure this prompt is rooted in some delicate and beautiful point of criminal psychology that I don't understand.

I think this question should be deployed in realms beyond security. Imagine what life could be like if the Radio Shack clerk was required to ask you this. I would have a much less serious ewaste problem if I had to articulate, aloud, a reasonable plan for a gadget.

Him: Sir, what is your plan for this $35 power supply?
Me: I will use it as a replacement for a lost power supply for a camera worth $15.
Him: Sir, step away from the counter.

That dialogue would have saved me $35 but it's probably too intrusive for the American people. I'm sure the $35 adapter would be closer to $100 if we had to send all the clerks to elite training schools.

I think we could get most of the benefit from this just by getting people to answer the prompt without a burly armed dude and consequences that would go down in our permanent record. Brian Wansink banged out a pretty great book "Mindless Eating: Why We Eat More Than We Think". It's the kind of book that you'll later recall was by Malcom Gladwell.

Wansink writes:

... Over coffee, a new friend commented that he'd lost 30 pounds within the past year. When I asked him how, he explained he didn't stop eating potato chips, pizza, or ice cream. He ate anything he wanted, but if he had a craving when he wasn't hungry he'd say -- out loud -- "I'm not hungry but I'm going to eat this anyway."
  Having to make that declaration -- out loud -- would often be enough to prevent him from mindlessly indulging ...

I could lose thirty pounds of gadgets in a year if I used the same trick at the point of purchase. I think I'll try. Worry not, dear readers. That still leaves about a hundred pounds a year for me to write about.

Wednesday, October 30, 2013

another bad habit

I have terrible discipline. I use this blog partly to conquer my fears of writing and finishing things. I think my fear of finishing things is the greater one.

Many posts here sit half-written as drafts until I have something else I want to say. Only then do I slap an ending on the previous thought and shove it out the door. Today is one of those days.

'tunes' was hustled onto the site because I had a flat tire this morning. I used my Ryobi cordless inflator for the first time and I wanted to share my thoughts about it.

I was already late getting the kids to school this morning when I spotted the flat. I grabbed the inflator from the spare tire well, slapped a battery into it, and set it up. Where did the battery come from? From a cordless impact driver rattling around the trunk, of course.

This device is not by itself a rescue inflator. It doesn't have a reflector or flashlight. It does not have a battery charger. It does not have a 12V cable. You turn up with a charged Ryobi battery, keep a charged battery installed, or keep a 12V Ryobi battery charger around. I had the inflator in my trunk only because it had been there since I bought it.

With that caveat aside, I was rescued. The charger seemed quieter and more powerful than the 12V cigarette inflators I've used before. The charger took my 205/55R16 Dunlop from 12.5 psi to 32 psi in  what seemed like a couple of minutes. My guess is that 12V compressors are probably limited to about 5 amps (for 60W total) from the cigarette lighter socket. I used the Ryobi with a 1.5Ah lithium battery that could probably supply 250W. I have no idea what the compressor actually draws.

The built-in digital pressure gauge was backlit and easy to read. The air hose was a bit short. You could comfortably inflate the 22 inch rubber on your dub ride only with the valve stem near the ground. The chuck seemed a bit cheap.

The inflator, with lithium battery, weighed less than some corded inflators I have owned. The assembly weighs far less than many junky cordless inflators built around a heavy lead acid battery.

I have no dissatisfaction with this unit but I wish Ryobi would build a box that combines the inflator with a 12V charger and a 12V jumpstarter. I think my ideal device would probably charge and hold two Ryobi One+ batteries.

I'm publishing this post the same day it was written. I wish it was because I sat down, wrote it, and published it in a fluid motion. It's not. I have to tell you about a time lapse shutter gadget I'm building for my daughter. I can't start writing that until this goes out the door.

tunes

I told you last episode about buying a used car. I got the car I wanted. Getting it was half the effort. Getting it home was the other half.

I got several estimate from car haulers who asked between one and two dollars a mile to collect a car and bring it to your door. I thought those offers were fair, but they meant completing the transaction on the car sight unseen. If Amazon offered free Prime shipping, I might have gone for it. Instead, I found a flight for just over a hundred bucks. The seller picked me up at the airport in the car. Very smooth.

When the deed was done, I set off for home. A half an hour into a long drive, the guy called and wanted to know if he had left his magnetic dealer tag on the back. A half an hour after that, I set out again.

The drive was pleasant and the car seemed almost factory fresh. I was transported back to 2001. In 2001, people still apparently listened to music on round shiny things called CDs. The factory put a hole in the dashboard just for these things. My digital tunes don't fit in the hole. My long drive was going to be quieter than I expected.

The hole in the dash is actually part of what we used to call a radio. Kids these days call that a 'head unit'. The head unit does usually contain a radio. Mine contains the CD player as well, and the interface electronics needed to speak to a remote CD changer.

I guess that these interfaces were common in factory radios from about 1995 to 2005. Hundreds of hobbyists have leapt to the same conclusion over that period -- pretend to be a cd changer and send digital tunes in that way.

Some hobbyists have even turned this little trick into a business. I remember that one of the first products to pull this emulation trick was the PhatBox. ZD ran a review of that device in 2000, not long after its introduction. The product was discontinued by 2005. The review was amazingly detailed. It said the box ran Linux on a Cirrus EP7212 SoC and managed the CD changer interface with a dedicated 8051 microcontroller.

The PhatBox product tried to solve two problems. It did a great job delivering audio to the dashboard. I think it stumbled by trying to solve the storage problem. The Phat solution was laptop hard disk drives wrapped in a proprietary cartridge. Phat didn't know about the coming iPod. They didn't know that only Apple gets to mark up commodity storage and live to tell about it.

Several firms took up the CD emulation challenge post-iPod. Many automakers got in on the act themselves. DICE electronics (now Audiovox) still sells an aftermarket unit.

Even that business is now in decline. Finally. I can leap in with both feet now that this
technology has hit bottom. I decided to build a CD changer emulator for my car.

This path is a well travelled for BMW cars of the era. These cars hide two connectors for a CD changer in the trunk. One is a three pin connector for power and data, the other is a six pin connector for analog audio. I hear that some fancy cars have only digital audio. Mine isn't one.

The three pin power/data connector provides constant +12V, ground, and a serial data line. This scheme is called 'ibus' in BMW circles. The same thing is called 'kbus' among MINI cognoscenti. The technology shows up in some Rolls Royce cars from the same era. I'm sure it has no name there. Gentlemen don't talk about data busses. Whatever the name, the bus runs at 9600 baud with 1 start bit, eight data bits, an even parity bit, and a stop bit. The bus is pulled up externally to 12V.

Most folks building amateur CD changers for these cars are using an interface built by Rolf Resler. You can get one here. I didn't. The interface, plus shipping from Germany, cost more than the Radio Shack retail price for an Italian Arduino.

Resler's interface is probably wonderful, but it is just an IBUS to RS232 (or serial over USB) adapter. There is no logic to spare in that interface for the CD changer emulator. By contrast, an Arduino has enough logic for the job and enough spare capacity to run the ibus interface as well.

You could probably connect the ibus directly to an Arduino I/O pin for a while without smoking the Arduino. You can run an Arduino directly from the 12V line though 12V is at the upper end of the range for the Arduino's linear supply. I used one of the 'TX' halves of a Sparkfun bi-directional level converter breakout board for my bus interface. Sparkfun has revised these boards recently to eliminate the distinction between 'RX' and 'TX' lanes.

These level converters are used mostly for 5V <-> 3.3V level shifting but the BSS138 MOSFETs around which they are built are rated for 50V.

My Arduino code is available here. I have used it on a Duemilanove and an Uno R3.

This sketch doesn't actually jam any audio into the car. It just pretends to be an attached CD changer. If the BMW head unit sees an attached cd changer, it will let you jam your own audio into the audio pins in the trunk. I leave that as an exercise to the reader. I used the same Tunelink reviewed here last year.