Author Archives: Tony

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

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.

[chorus]
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.”

[chorus]
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!”

[chorus]
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.

[chorus]
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.

[chorus]
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.

[chorus]
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)

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.

Sometimes I’m not Convinced I Grew Up

Sometimes I’m not Convinced I Grew Up

Every once in a while I still feel like a kid being allowed to sit at the grown-ups table instead of the Kiddy table. Case and point, yesterday.

I had to make a trip out of town for work with our President and two of our legal team. At different points throughout the day I:

* Still carry a backpack because I refuse to use a briefcase.
* Was the only one not drinking coffee (apple juice or water instead)
* Was the only one of five people at the table without a law degree (any degree if you want to really get technical)
* Was eating a cheeseburger instead of seafood.

Good thing they pay me for my uber powers of Nerd. 🙂

That Wasn’t Quite the Plan

That Wasn’t Quite the Plan

So, I went back to Best Buy this afternoon and walked out… with a RAM module.

I got the numbers I needed for the store to pull my receipt from the 800 number’s Receipt Department (there’s a whole department for this?). Tech Two, who shall hense forth be known as the Geek Squad Yoda, pulled the receipt and asked if I’d like to pick out a new computer since HAL 9000 said that mine could be taken back as a return since it was quite borked. W00t, okay, new computer for Niner.

GSY hands me off to Computer Sales Dude, who shows me the Asus 1018PB (which I have since learned got CNET’s top back to school netbook rating) and I’m sold. CSG has to hunt down the MOD (Manager [on Duty|of the Day]?) because she has the keys to the storage kingdom. GSY does the exchange and since I have enough return credit, offers to install the 2GB RAM module. I’m annoyed and tired, so I say fine. Good thing I did, because when he pulls the unit out of the box, I realize CSG has pulled the previous model and not the one I wanted. Turns out, after some looking about, that no store in the district has it. The only other netbook in stock that does not have a combined headphone/microphone jack, and can be upgraded to 2 gigs of RAM is a Toshiba. Having had bad luck in the past with Toshiba computers I refused to even touch it. I suggested, and GSY agreed, that it would be just as efficient to give me store credit and I could buy the thing online. So I left the store with two gift cards and the RAM module for the new computer.

Best Buy gift cards and I do not get along. They have those scratch off (sadly not scratch and sniff) stickers on the back that hide the card number and security code. For the second time (ironically the first time was when I bought the original computer) I scratched the cover and the code off. Fortunately a helpful Customer Care rep pulled the number from the computer.

That was a long and boring story to say this. I will have a new computer sometime between tomorrow and Monday. Hopefully, this one won’t blow a fan (or rather, I suppose, have a fan that does blow).

This is why I like desktop computers. If something breaks, you just replace it. Not so easy with tiny little circuits.

A Productive Waste of Time

A Productive Waste of Time

For the past nonzero number of days my netbook’s screen as been flickering like mad after I have left it on for a while. Realizing my warranty expires on the 14th I decided I’d better hoof it to Best Buy and get it repaired or replaced before I was, by virtue of the labor costing half the price of the machine, forced to buy a new one.

I arrived and explained the situation to Tech One. Of course, in the tradition of all computers everywhere, when the guy who could fix the thing was present, it behaved flawlessly. Tech One was convinced that it was probably “a driver issue or something”. I let him run his tests and “check for updates” working in the fact that I work with computers and had already tried that. (I know, I know, I pull the same thing with my users.) Eventually it was his time to book off for the evening and he started what would be, “an hour or so” malware scan for Tech Two to take over.

Two hours later, Tech Two walks back over and says the scan was still running, does a double take, and asks, “What did you say was happening? Cuz I just saw it flicker like mad.” Withholding an I told you so, I pointed out that that was in fact the issue. He said the Graphics Processing Unit fan was definitely toast.

This is the point in the evening when my Total Nutbag Magnet kicks in and some random dude looking for “chiefy”, “you mean Chef?” wanders over and asks, “wait, you’re blind, how do you know the screen was flickering?” I just grimace at him and try to ignore him since he smelled of booze and cigars. Tech Two meanders off to take a phone call (thanks for that) and I am treated to a discertation on how Boozy Cigarface thinks we should use a B52 and carpet bomb the rich so and sos who live in the high feluting water front apartments, including his sister, and oh by the way, he was going to take his 80 year old buddy, who was a world war II vet, trolling for hookers the next time he was in town. If anyone knows how to demagnatize a Total Nutbag Magnet, I’m accepting suggestions.

Tech Two finally returns and spares me from any additional freakery.

Unfortunately, this three and a half hour trip will be supplemented tomorrow by a, hopefully, shorter one since the Best Buy computer can’t find my original receipt and I have to call corporate customer service to pull the transaction details. Ugh.

I was glad I was eventually vindicated because it feels very uncomfortable, being a self proclaimed geek, going to the Geek Squad in the first place and to stand there knowing there is in fact a hardware problem, but your machine isn’t cooperating and showing it. Ah, well, I’m right and will either be getting a repaired computer in a few weeks, or better, a replacement tomorrow.