My Whole House Music System

My Whole House Music System

I’ve long been interested in the concept of whole house music systems. Basically, you can start a playlist, streaming radio station, whatever, and have it play throughout your home. The music is syncronized and you don’t have to blast one set of speakers just to hear it. Why would you want this? Imagine if you were throwing a party and had people hanging out in the living room and on your back deck, or your upstairs living space and downstairs recreation room. If you want to play music, but don’t want to run speaker cable all over the place so everyone can hear it, a whole house wireless audio system is the answer. You can even let your guests browse your collection and add music to the playlist. With some systems, they can even play songs from their phones that you don’t have. there are other scenarios for this. Playing music while you do chores without having to wer headphones being one that comes immediately to mind.

You might have heard of systems like Sonos, or the Bose SoundTouch Wi-Fi Music Systems, these are great systems, but didn’t quite do what I wanted for a couple of reasons:

  1. They’re kind of expensive. At a cost of several hundred dollars per room.
  2. At least in the living room, there’s already a sound system connected both to the media PC and the AppleTV. I didn’t really want a solution that would require either a new receiver or another random speaker hanging about. Sonos does have a Sonos receiver that connects to an existing amp, but it’s $350.
  3. I had the idea that this is something that could be combined with a home automation system and the whole house audio could be used for providing alerts from your security system, IP/landline phone, etc. You could even tie it in so when a certain scene is started in your automation system, the lights dim, romantic music starts playing, and the fire in the fireplace turns on ((depending on the extent of your automation system).

For people who want a system that’s set up and go, these are great systems. I’ve played with the sonos and think it’s absolutely wonderful. I figured though, that there was likely a way I could build a similar system with parts I already had, or could obtain pretty inexpensively. Plus, the extensibility and integration mentioned in #3 above.

Warning: the following is extensively geeky, and you might not want to read it if you don’t care about such things. :)

Discover how I built a whole house audio system

Amateur Radio Supports 9-1-1 Outage

Amateur Radio Supports 9-1-1 Outage

This morning on the scanner I heard dispatch advising that people were having trouble calling 9-1-1. Apparently they were getting “circuits busy” messages or just getting cut off. I thought to myself, “hmm, wonder how long that will last. Long enough, and we might see an ARES activation.” (one of the contingency plans stations amateur radio operators at published locations who can relay emergencies from the public to the Emergency Operations Center.) Sure enough, a little while later we got the word that we were being requested to activate. I checked in and asked what I could do (our net control operator wasn’t quite sure what to do with me since most people sit in their cars to stay out of the weather and … I don’t have one). He asked me to go to one of the local hospitals and activate the station there. It took a few minutes to get out there (whatever was affecting 9-1-1 was also causing trouble for my out-of-state number calling into the area). After waiting a few minutes for a security escort, I got to the area where we set up. There was a class going on in the room the antenna connection lives in, and I was asked to wait until the class was done before setting up.

All righty then. You’re our servd agency, so whatever you say goes. Sadly, I couldn’t hit the local repeater from the area with my handheld and had to wait until the room cleared. The promised 10 minutes was more like 15, and I got the radio plugged in and turned on just in time to hear our group being told the situation had resolved itself and advising we could stand down.

I’m thinking we might want to put an extension cord in the cabinet. Both for power and the antenna. That way, if this happens again, someone can slip in, hook up and move out of the way. Oh well, in either event I know where the radio is for next time. :)

Public Safety Christmas Carols, Part 2

Public Safety Christmas Carols, Part 2

I already picked on the dispatchers in my last parody. So, here is the as yet untitled EMS Day carol (to the tune of Jingle Bells). It needs some work in parts, so feel free to chime in in the comments.

Sliding through the snow
in a rig that’s got no breaks
there’s been no time for coffee
we’re both getting the shakes.
Dispatch is on our ass
to clear for another call.
I just wanna clean my rig of this puke and alcohol.

Pager tones,
dispatch drones
tell us where to go.
No time to eat or drink or pee
we’ve gotta hit the road.
L O L says she fell,
your basic lift assist.
My partner’s getting really sad
for the lunch we’re gonna miss.

Restocking in the bay
the Charge Nurse stares us down.
“Get back in your rig
and drive out of my town.
All your bringing me
is crackheads, drunks, and liars.
If I see you two again
I swear I’ll slash your tires.”

Pager tones.
Dispatch drones,
tell us where to go.
No time to eat or drink or pee
we’ve gotta hit the road.
MVC, she tells me
the callers are all pissed.
My partner just broke out in tears
for the lunch that we just missed.

Roll up on the scene.
No patients to be found.
Just some ugly marks,
and a road sign on the ground.
Clear on the MDT.
Head off to McDee’s
Then the stupid robot sqwalks at me
“Incident Assigned!”

Pager tones.
dispatch drones, tell us where to go
No time to eat or drink or pee,
we’ve gotta hit the road
You call we haul
is what we tell ’em all
Not just something that we say.
It’s been fun
now I gotta run.
Hashtag my EMS Day

Public Safety Christmas Carols, Part 1

Public Safety Christmas Carols, Part 1

I’m a pretty big fan of parody music, including certain holiday parodies. From time to time my own creative juices flow. Recently I’ve cooked up a couple parody songs for my friends in public safety. Here’s the first finished one, an ode to a new dispatcher who … needs a little help.

I’m Still A Trainee At Christmas

(to the tune of “I’m Gettin’ Nuthin’ for Christmas”)

I dropped the wrong department’s tones.
Somebody snitched on me.
I disconnected all the phones.
Somebody snitched on me.
Told a caller to grow a pair,
“suck it up man life’s not fair”.
Guess I shouldn’t have gone there,
cuz somebody snitched on me.

I’m still a trainee at Christmas.
My supervisor is mad.
I’m still a trainee at Christmas.
She says I’m the worst one she’s had.

Sent fire to a cat in a tree.
Somebody snitched on me.
Faked warrants in NCIC.
Somebody snitched on me.
Mixed up the disposition codes.
renamed half the county roads.
remote killed the chief’s radio.
And somebody snitched on me.

So, I’m still a trainee at Christmas.
My supervisor is mad.
I’m still a trainee at Christmas.
She says I’m the worst one she’s had.

I won’t be seeing Bonus claus.
Somebody snitched on me.
I won’t get my days off because,
somebody snitched on me.
Next year I will get it right.
Next year they’ll cheer with delight.
Don’t tell ’em I crashed CAD tonight.
Please nobody snitch on me.

Cuz, I’m still a trainee at christmas.
My supervisor is mad.
I’m still a trainee at Christmas.
She says I’m the worst one she’s had.

The preceeding parody is delivered for fun and entertainment. Any resemblance to any person(s) who are now, have ever been, or ever will be engaged in the profession of public safety communications is strictly coincidental, and potentially unfortunate. No disrespect is intended either. I have the highest respect for everyone in the PS field.

Southwest Preboarding

Southwest Preboarding

Some of you may have seen my tweet the other day asking Southwest Airlines about their policy regarding placing passengers with visible disabilities on the preboard list for a flight if there hadn’t been a discussion with an agent about it first. Obviously, Twitter’s character limit necessitated a little more brevity, which may have come across as anger; it was not intended as such. I was quickly contacted by Customer Service Representative Nicole (and several others with their positive experiences) who offered to check into what had happened.

The Story: Karen and I were traveling from Omaha to Baltimore with a connection in chicago. We got out of omaha a little late necessitating hauling a little tail from MDW’s B12 to A4B. As an aside, anyone who has been the the “new gate” knows it’s faster to walk to Indiana. As we were walking the last quarter mile, we heard our names being paged to preboard the flight. We kind of wondered what it was all about, since we hadn’t requested to preboard, and since we didn’t need to preboard we just got in line with our boarding group, in numerical order. (as a second aside, the way the boarding line was set up, it would have been more inconvenient to us and others had we jumped the line)

Neither one of us thought much more about it until we were at the gate Wednesday (having finally secured the world’s best hot cocoa, that from Dunkin Doughnuts), and we got paged to preboard again. Again, we declined to do so, but it was at this point when I decided to engage Southwest and figure out why we were being put on the preboard list.

The Explanation: Nicole did follow up with an e-mail explaining what she found out. The gist of it is the agent at OMA was trying to be helpful when he saw the connection was so tight. I’m not sure if he thought attaching the SSR would trigger someone to meet us and get us to the gate more quickly, or if he thought at least the Ops Agent at MDW would keep an extra eye out for us so we wouldn’t miss the flight. IN any event, his intentions obviously weren’t malicious (nor had we ever really thought they were) and BWI was proactively acting on that SSR.

why did it matter to us? A lot of people probably think, “hey, you had the chance to get on before anyone else and get whatever seat you want. Why on Earth would you not take it?” As it is generally explained, the intent of preboarding is to allow people who need extra time or assistance getting down the jetway and to their seats to get that extra time or assistance. As a generally competant blind traveler* I don’t tend to need either of these accomodations. finding the right spot to stand in the boarding line isn’t difficult, one simply orients oneself the the location of the agent/boarding door, asks a passenger in line what their number is, and moves forward or backward accordingly. Following the group through the jetbridge is likewise not generally dificult. As for finding a seat, it’s pretty easy to either ask a flight attendant, should they offer, if there are empty seats nearby, or simply use the cane to determine if you find legs instead of empty floor space. A possibly daunting task to someone who has never conceptualized or experienced how they would do this as a blind person, but to us this is daily reality.

Anyone who has ever traveled with me on Southwest knows I am incredibly anal about trying to check in as close to that 24 hour pre-flight mark as possible. If I’m traveling alone, I like to sit by the window so I can easily stash my white cane along the bulkhead (it often confuses people when I have to ask them to slide it down there, don’t ask me why), and I’ve never had a problem finding a window seat when I’m in the A or lower numbered B groups. Same thing applies if I’m traveling with someone, we can board early and find seats together. I’m also generally confident that whomever I’m with is not going to get confused by the fact that my cane doesn’t collapse :).

There’s also another reason than not needing the asistance/time. it’s also sometimes a matter of ending up fighting public assumptions about the capabilities of the blind. Sometimes, people do things for you on the assumption that they think you can’t do it any other way. accepting a service you might not need may lead to the subconscious reinforcement of that assumption in someone’s mind. Maybe this doesn’t make any sense to anyone who hasn’t had to dispell numerous public misconceptions about what the blind can and cannot do, (I cite the crock of ridiculousary that is The BrailleWise Aircraft Toilet as a prime example**) but we do live in a world where many people still don’t believe the blind are as capable as sighted people and sometimes the assumption that we need to preboard is just one manifestation of that belief. When asserting that we are as capable as sighted folks, it hurts that assertion to take advantage of something we don’t need. Whether you yourself would think, the next time you are interviewing a blind person to work in a fast-paced environment, “hmmm, the last time I was on a plane, I saw that blind guy preboard. Maybe this guy is going to need more time to do things too,” but some people do hold that opinion. I completely understand how readers may not draw a connection from act A to thought B, but the human brain is a weird place, and my goal is to blend into the rest of you as much as possible.

I begrudge no one, blind or otherwise, from taking the opportunity to preboard if they feel they need it. In the case of blind people, there are those who have not yet learned the skills of blindness, or are not confident in their abilities, and do need extra time and assistance. If boarding my aircraft requires walking out on a noisy tarmac, I have occasionally preboarded if I wasn’t with someone, or didn’t feel I could ask a fellow passenger if I could follow them. However, in most cases, I’m perfectly capable of boarding during my asigned time. My reason for asking the question was to understand the Southwest policy, and what the thinking of the agents was. It was never to get on anyone’s case, raise ruckis because someone violated a federal reg, or be “that passenger”. I simply wanted to bring attention to what had happened, and maybe do a little educating along the way.

I would like to thank Southwest Airlines, Nicole, and the CSR Supervisors and agents she talked to, for your prompt responses. I have long preferred to fly SWA whenever possible because of the excellent customer service I receive, and because the people I have met are genuinely friendly. to the OMA agent who almost always recognizes Karen and me (and who knows Karen’s name), I’m sorry I don’t know yours; that is an oversight I will correct the next time our paths cross. And there will be a next time, because I will still fly SWA first and foremost whenever I can.

  • Disclaimer: this description may not apply on days when I am doggedly sick, or have not slept in the past 24 hours.

** A famous NonyRant is forthcoming on this topic this weekend, I assure you.

What Are Twitter chats? A Fireside Conversation With…Myself

What Are Twitter chats? A Fireside Conversation With…Myself

I’ve been participating in, or monitoring, a few Twitter chats lately (#brlchat and #a11ychat to be specific), and I’ve observed some people have questions about what a Twitter chat is, how to participate, and why you’d even want such a thing. So, here’s one Geek’s thoughts on the subject.

My Thoughts on Twitter Chats (long post, it’s behind this link)

Moving Lessons

Moving Lessons

I’ve learned a few things in the cross-country move I did back in February.

1. When the pod that shows up is a whole 105 cubic feet smaller than the website claimed (I read 5x8x7, I got 5x5x7) emergency “do I really need this?” must take place.
2. A third flor walk-up is great, until you have to haul things up said three flights of stairs. Thanks friends for the help!
3. It’s hard to decide whether the crok-pot surviving the move, only to be destroyed in a three foot fall when the box topples over is sad, hillarious, or a little bit of both.
4. Bringing an unassembled piece of furniture with you, only to have it self-destruct (read gravity and I have different beliefs about how that assembly process should have worked) while being put together makes you want to cry.
5. And probably the most bizarre lesson. Hanging file folders can shrink.

See, I was unpacking boxes to clear out my bedroom so the furniture people have somewhere to put the new bedroom set. When I emptied the box of files into the filing cabint… they didn’t fit. Who knew you could starve cardboard?

McDonald’s Is Anti-Pedestrian

McDonald’s Is Anti-Pedestrian

It was a dark and stormy night in the lnk. [Yeah, yeah, it’s a clichet, but it’s the truth, deal.] I’m hanging out with Karen: she studying, me alternating between homework and the job that pays for the homework. I’m also monitoring the #lnk hashtag on Twitter and listening to the scanners when @bburket21 innocently asks, “McDonalds or Amigos?” which plants the seed of “I want a chocolate strawberry shake”. I, being the wonderful and thoughtful friend that I am, plant a similar seed in Karen’s mind.

Once we both wrap up our respective projects we decide to run over and get a shake and some fries. However, the storm really decides to cut loose and we go back inside. See, we both paid attention that day in elementary school when they told you not to play outside in the lightning unless you wanted to find out what becoming KFC extra crispy felt like.

An hour passes, the storm warning expires, the clock hits 1:15. We’re still wide awake and both ridiculously hungry now, so we venture out again.

The rain has tapored off, and there’s only a litle lightning far off in the distance. Nothing to worry about.

We walk the half-mile to our local McDonalds only to find that the 24-hour restaurant has locked both its doors. Not being ones to give up and go home quite that easily, we decided to try this experience from the prospective of your average motorist. We wander around the building a bit, locating what I think might be the drive-in speaker, but apparently the little scensor dealy is smart enough to realize that making haunking and vroom-vroom noises doesn’t make me a car. Which begs the question “If computers are really that smart, why can the Amtrak lady never understand a word I say?” As it turns out, we weren’t at the speaker, blind fail.

After locating the drive-in window and not receiving any kind of acknowledgement of our presence from inside Ronald’s Nugget Castle, we proceeded to stand there like two monkeys trying to figure out how to open a can of baked beans:

*knock* *knock*
“They’re not answering us.”
“I know they’re in there, I can hear them.”
“Me too. I want my food.”
“I did not come all this way to be denied my chicken nuggets and shake.”
*knock* *knock*
“*growl* Heeeeeelllllllloooooooo?”
“Do ou feel that?”
“What? The water drippping from the sky? No, I refuse to. Fore I do not yet have my chicken nuggets and shake”

Finally, a nice young lady slides open the window.

“Weeee,” says me.

“Hi, walkups we do not take,” says she.

“But your lobby is locked,” points out Karen.

I, being full of snark and, well at this point nothing else because I am hungry, simpy hold up my white lance and smile, “yeah, I tried that. didn’t make it out of the garage. Also, i tried to be a car, but your censor didn’t like my impression.”

“Oh, no,” bubbles the Nugget Princess, “that’s because you’re not big enough.”

I manage to bite back the obvious, “because I avoid the super size,” and simply smile.

She tells us she’ll make a one-time exception, but the specialty drink machine is closed for the evening. So no chocolate strawberry shake.

We leave with our food, and a great deal of bafflement. How is it that a 24-hour restaurant can ignore the possibility of walk-up clients. I realize there are some security concerns, and they may not want to keep the lobby open and encourage anyone to hang out all night. However, we cannot be the only people interested in a late-night snack who don’t have a four-wheeled conveyance with which to lower the magical drawbridge that apparently gets erected at the witching hour. So, McDonalds, I’m willing to be reasonable. I suggest that we sit down at the big MacTable of Chicken McCompromise and work out a fair and equitable solution. I propose one of the following: a( you allow your employees to take walk-up clients unless they are feeling unsafe or threatened by the individual; or b) you buy me an NFB Blind Driver/Google Car and two chocolate strawberry shakes.

No, seriously. we want our shakes.

So.. I Did This Thing

So.. I Did This Thing

and I’m pretty proud of it.

Our local transit agency Startran has a website where you can track buses. Take a look at that and tell me what you see. I’ll give you a hint, it’s a map. A map with no textual data. Bad for blind users. Sure, if you’re using IE, turn on the reading of untagged graphics, and hunt around you can kind of find the pop-up label for the bus you want and see what the next two stops are, but seriously, that’s annoying, stupid, and not everyone knows how to do it (also, that trick doesn’t work on my iPhone). There has to be a better way.

After my e-mail to the company who makes the AVL software went unanswered, I did what all good geeks do: I solved the problem myself.

Enter, the Startrancker (an awful Portmanteau of Startran and tracker, the renaming contest begins now in the comments.

Basically, I repurposed some of the code from the original scripts to get the data (a fake json object that is converted into a real json object in the scripts) from the Startran website, pull it into an array, and display the WebLabel for each vehicle. The WebLabel contains the route name, and the next two “time marking” stops, along with the estimated time of arrival. I took this a step farther in order to provide blind users an idea of the vehicle’s actual location. After each vehicle’s WebLabel there is a link to track that specific vehicle. If a rider locates the route they want to travel, then the vehicle on that route (some routes have more than one vehicle running them at a time) and activates the tracking link, the display changes to show the WebLabel of the vehicle, and the approximate street address provided by reverse geocoding the latitude and longitude. Both displays refresh every 45 seconds and are only approximations of actual vehicle location, so I’m not responsible if you miss your bus because you were only relying on my interface :).

This is still very beta, and there’s probably improvements that can be made, but it seems to be working decently for now.

If you go to the site when there are no vehicles in service (like say between 19:00-06:00 central Mon-Sat and all day Sunday) the site will just show a heading for the title, because I have to add in a handler for no data.

I had originally tried putting the locations of all vehicles on the single display, but the Google Maps interface got pissed off at the number of requests. I decided also that I could use an ARIA alert (if a screen reader user leaves their browser open on a tracking screen, the updated vehicle location will be automatically announced) if I did it this way.

There’s also some weird bug with my anonymous function doing the reverse geocoding that wont let me update the array with the vehicle’s location, so it’s simply appended to the div and not put in the array (lazy, but it works until I figure out why the real thing isn’t).

it’s ugly, I know, it’ll get styled later.

Oh, and finally, all the code needed to trigger the single display of a vehicle is an onclick and not a registered handler the way I wanted. This:

$(‘.trackVehicle’).click(function() {
…code goes here…

failed to attach a click event to every member of the trackVehicle class the way I intended.

All-in-all, I’m happy with the way the project turned out. I learned a bunch of stuff about a few things I didn’t know before, and I’m still going to be learning as I debug the parts that i’m not happy with.

Head, Meet Desk

Head, Meet Desk

Some of you who are intimately familiar with my eating habbits routinely mock me for not trying new places/foods. You want to know why I don’t? Because of things like this.

I have some time to kill before my first SxXSWI panel, soI ran into a random restaurant… that serves nothing but seafood. I had already ordered a drink and felt awkward leaving. So, I’m eating a hot dog, that I garentee you is off the childrens’s menu.

I don’t ever want to hear another mocking comment about my food preferences from any of you, ever again!