The purpose of this blog is to bridge the gap between my personal life and my work life. You've been here with me when I bought my house, when Mylo came home, and when I got engaged. You'll be there when Will and I get married in 8 days (it's after midnight here). I wanted to update you about a few things going on, and answer some questions I've been getting over on my personal accounts from some of you.

Where am I?
Well, I'm out on disability for a little bit. The entire team is operating on a skeleton crew right now, and I wanted to put out there how amazing they continue to be when faced with unexpected and challenging times. I've had strep AND bronchitis over the last two weeks, though neither are the reason I am away from my work. I'm not going in to the "why" because I choose to keep that personal, and know that you understand and respect that (hey, there's a reason why I say you guys rock). When the Doctor says it's time to come back, I'll be back. No worries!

OMG Isn't your wedding soon?!
OH EM GEE, yes it is! As previously stated, we're down to eight days. My dress is fitted, all of the decorations are made (minus the centerpieces because of the ninja kitty...), and everything is paid off! We're still doing things like figuring out who sits where and what exactly is going on in our ceremony. Oh yeah! The ceremony will still be streamed on Sunday October 10th. Consider this your invitation :) My husband-to-be is stepping up to the plate and really helping to get things taken care of while I've been sick... and that just makes me feel even better about marrying him!

Other business
Being home means I've been watching entirely too much TV for my own good. I wanted to comment on two things. Remember, nothing in this blog is the opinion of my company... they are my own and do not represent blah blah blah. You know the story (it's at the top of this page!). Not that I expect things to be taken the wrong way!

Rick Sanchez from CNN was let go after some comments he made on a radio show. I met Rick at the Shorty Awards last year, thanks to you! He's a pretty cool dude, and I have nothing bad to say about him. I respect his right to voice his opinion, though I wonder if he was a little low on sleep. The poor guy was pretty run-down at the awards :( I wish him the best of luck with whatever he does, and hope he continues to push into new media and test fun new ways of interacting with the audience.

I want to remind you that the internet is a big and permanent place. Pretty much anything you do online is there forever. I remember my parents giving me this speech about privacy and what I put out on the net and going "Jeez, whatever!" Now, I can't thank them enough (Mom is going "I told you so!" secretly as she reads this probably). The reason I mention this now, is because I don't think that message is getting out to kids clearly. The recent tragedy at Rutgers concerning one student filming another without their consent and posting that online leading to a very VERY unhappy ending is why I bring it up. While I realize the circumstances surrounding this particular situation may involve laws broken beyond invasion of privacy, I wonder if that guy ever got that talk from his parents. I don't think I could ever EVER post something online that would potentially ruin someone's life thirty years from now. So, I ask you to mention this to your kids or people who may not realize what their actions might do down the line. It might save a life.

Alrighty, are we all caught up now? I miss you all, and thank you for your well-wishes and concern during a pretty crazy time in my life! <3




Remember the other week when I kept posting about storm mode and outages and all of those crazy things? I eventually got so overwhelmed trying to keep up with the outages, that I just started posting the outage maps that we have access to internally (mind you, the folks on the phones don't typically have this tool. It's meant for the monitoring folks). I had one of those lightbulb moments, and thought to myself... why don't we have this online for the customers? I mean, come on. Wouldn't you like a map? My power company does an excellent job with their outage maps and it saves me from calling them when they're probably already overloaded. Ya know?

So here's an example of one of the maps I posted recently. The black dots mean that commercial power is down. The red dots mean there's a full node outage. The yellow dots mean there's something up with the node, but it might not be an outage... could be a node health issue. I'd probably take out the yellow dots in any sort of public version of the map though. Keep in mind, no commercial power, no cable in a lot of instances. Sometimes, this isn't the case though.

Here's a form I whipped up to see what YOU guys want. Yes, YOU. I want your feedback, because you're the ones who would be using it. I don't have much traction to get this going yet, so anything you want to say SPECIFICALLY about this little project I'm taking on :) The more the better. So, sit back, relax, click some dots, and let me know!

As always, you guys are the reason I do what I do. Keep on rockin' :)


Barns and Stuff

So... some of you may have noticed my tweet about working from a barn for the rest of the week. Well, it's true! from 5-?pm I'll be working at the Salem County Fair in Pilesgrove, NJ. Come visit if you're in the area, there's lots of awesome there... including FUNNEL CAKE (ZOMG). I'll be in the front barn helping folks (note: not selling things) who need it, or who have questions about any number of things.

Why am I doing this? I think it's important to talk to a company you do business with face to face every once in awhile. The only avenue most folks have would be heading to a payment center and trying to talk there. Unfortunately, my area is big with not a lot of people... so we have one office which can take awhile to drive to. I'm going to be at "the" event in the county, and I'm hoping I can meet a lot of our customers face to face to talk to them!

What do you guys think about this? I mean, beyond the fact that I am most likely going to smell like cow for the next week (I think the sheep are closer to my barn though)... and that I'm going to a place where I'll be in my element (see: goat pic from yesterday). I think it'll be a fun experiment, and I hope to see some of you guys there! :) <3



Over the weekend, I was shopping for wedding stuff at the Christmas Tree Shops (no, it's not just christmas stuff) and ran into an old family friend. We were talking shop, and I realized that very day marked my 5th year anniversary at Comcast! I said, HOLY CRAP I'VE BEEN HERE FIVE YEARS! Exact words.

So, dear readers/followers/family/friends... let's recap the rough and tumble life of a ComcastBonnie at Comcast eh? :D

Stardate June 2005 - Bonnie (age 20) gets hired as an ONLINE ONLY CAE. This means I troubleshoot internet issues. That's it. Not billing, not video, not phone (since phone wasn't really around yet with us)... just internet. Back then, we had some pretty awesome homebrew tools that folks would compile around the call center. Maybe we're nerds, maybe we're dedicated, or maybe we just like to build things. Who knows? I wanted to help, and that was that!

November 2005 - Bonnie gets the most amazing and inspiring boss ever. John L. (who will be the speaker at my wedding) understood my quirks, and worked with me to avoid being fired. I'm a loose canon, and @comcastcares can attest to this. John stuck up for me when management balked at things I said to customers. I like to tell you guys how it is, and not sugarcoat it. Ya'll seem to appreciate that, and I'm not one to play things down.

March 2006 - PROJECT TIME! We needed to upgrade our databases to make sure the addresses in our systems matched the right ratecenters established a long time ago. Three arduous weeks later, we had successfully verified hundreds of thousands of accounts! In doing this, I learned a TON about how porting phone numbers works, how rate centers work, and why things are they way they are.

June 2006 - The feared Digital Voice training came. Up until this point, a handful of folks had our Digital Voice product and well... it wasn't all that great. I heard the phone calls where people were screaming about their phones not working and all sorts of weird issues. Growing pains are NO FUN. Learning how to fix those pains was fun though! We got it down to a fine science, diagnosing issues remotely and sending technicians for things that needed techs. Learning new things every day is like... I dunno... Crack. I don't know what crack does other than kill but I do know it's addictive... and learning is VERY addictive.

September 2006 - PROJECT TIME! I was sent to our freshly formed porting department. I learned how to port phone numbers, learned how the process works between us and other providers, followed up on installs to make sure things went ok, and handled emergency situations with the utmost care. This job was awesome because of the customers I got to call. I didn't get calls from them, I called THEM to check up. I was tickled pink when I got to hear outcomes, and also followup with troublesome issues.

August 2007 - Still on that project. Got a little irritated and bored, so I searched around the company for a new gig. That landed me a position as a provisioning analyst at one of our data centers in PA. I spent my days/nights making sure that system remained up and running, and spent MANY 1-6am Sunday mornings up doing maintenances. It was mostly Unix and SQL, both of which I had to pick up along the way. Again, learning is crack.

November 2008 - @comcastcares and @comcastgeorge thought it'd be an awesome idea if I came over and interviewed for the team. Keep in mind, I didn't apply for this. I had emailed Frank awhile back telling him how awesome it was that he was keeping tabs on Consumerist and reaching out to folks online. For the longest time, we were strictly forbidden from such things. This was a HUGE sign that things were changing within the company. I wanted to be part of that change, and move things in a new direction.

Present Day - I've been tweeting since January of 2009. I have over 70k tweets, a New York Times article, a Shorty Award, 4k+ AWESOME FOLLOWERS, and the best job on earth. I'm able to do things I'd never thought possible before. I'm helping to make a difference in people's lives by bringing a tiny ray of sunshine to an otherwise dark day. This whole team is committed to bringing change within our organization. We're committed to you, the Customer. We're committed to our Employees. We're committed to making this the best place it can be. Engineers, techs, phone reps... all of us.

I know you're scoffing and saying "Sure... yeah right. I'll believe it when I see it" and you have every right to! Change of this magnitude is not something that can happen overnight. When I started tweeting a year and a half ago, I saw a positive tweet maybe once a month. Skip forward to now, I'm seeing at LEAST five a day. Now, it might seem insignificant... but that's a huge deal to me. We're starting to make that change, and it's becoming noticeable.

We've still got a long way to go, but you know what? I'm in this for the long haul, and more importantly I'm in this for you.

Cheers, to all of my new friends and family. Without your understanding and patience, I wouldn't be here today and who knows what mischief I'd be getting myself in to :) <3 you all, and I mean it.


I don't normally write up a blog post as to the reasoning behind me taking a half day from work. Why should you care, and why should I write it up? Exactly :) Today is a special exception though.

I think all of us have had a teacher that impacted our lives. Some have simply encouraged us to be all we can be, others completely blew away our notions of how the world works. My case involves an orchestra director named Mrs. Kille. She not only encouraged me to be all that I could be, but also helped me grow as a person, a musician, and a teacher.

Some of you know that I was a music education major prior to joining Comcast. I've been playing Cello for 16 years, and teach Violin, Viola, and Bass (beginners only). I also have a penchant for percussion (marimbas are sexy). Music is a huge part of my life!

Mrs. Kille is the reason I am able to fill you guys in on how stuff works. Her unique teaching style and fun attitude made learning easy as pie. It made me want to teach others. While my music teaching career didn't pan out (no money, no jobs), I fell back on my other love in life... Technology.

ANYWAY, here I am present day teaching you fine folks about the complexities of cable, the trials and tribulations of computers, and having a whole heck of a lot of fun in the process. I hope you're having some fun too :) I hope to be teaching for a long time, be it online or in a classroom. The impact you make on a person's life when you teach is huge. Teach your students well, and they'll remember you for it.

SO, Mrs. Kille, you rock my socks. You're the reason I'm the person I am today. You've taught so many, given so much of yourself, and carried on in the face of budget cuts, personal losses, and anything else life threw at you. Your passion for music is reflected in all of the students who had the pleasure of being taught by you, and they pass that passion on to their students, children, neighbors, customers, co-workers, and anyone who carries a tune in their heart.

When I sit at your final Spring concert this evening, I'll remember playing all of the corny Christmas music, the 7am rehearsals, the crazy jam sessions, teaching you how to use the computer (do you still have the 18 zillion sticky notes?), and most importantly the passion you displayed day after day for well over 30 years.

Here's to you, Sue.

Got a story about a teacher who changed your life? Let the world know below!


Save The Date!

Hello Internets!

So you all know at this point that I'm engaged to Will, your friendly resident technician (if you live out on Cape Cod). Love is a crazy thing, I tell ya. Social Media brought us together! A random facebook update saying I was in Boston for a wedding in October caused him to respond, and subsequently drive allllll the way out to see me (after work, no less!). The universe works in mysterious ways sometimes.

In any case, I'm neck deep in wedding planning now. It helps that I've done enough weddings to make a wedding planner blush. The quartet I play in has been playing weddings since I was in 10th grade! Of course I'm looking to keep things as low-cost as possible, so I headed over to VistaPrint and got 100 free postcards! I only have about 85 people coming, so this worked out splendidly!

Because this is going to be a geek wedding, I designed the post cards to reflect the theme. I know those of you who read XKCD will recognize this design :)

They came in the mail yesterday, and look MUCH better in person. Very excited :) The back side of the postcards look pretty good too (again, image quality much different in person).

For those of you wanting to watch, we'll be streaming the wedding live at 3:30-4ish in the afternoon. I'll post more fun stuff as I figure things out :)



So... You've all been seeing me tweet about the dog saga. I wanted to bring you up to speed on what the heck has been going on. Tweets are confusing when you only have so many characters to explain what's going on!

Cooler, the Great Dane/Black Lab mix, is 12-13 years old. He's got arthritis in his back hips and an issue with panic attacks (I also suffer from these, it's not fun.) when people leave him alone at home. Last week, after getting his sedative, he collapsed in the backyard. He wouldn't get back up. His breathing was shallow and you could hear/feel the congestion in his chest. Will and his mother thought that this was his last call. I rushed up to Cape Cod to be with my now fiancee and be a helping hand in a sad time.

Little did we know that he would pull out of his funk following a very thorough visit to the vet the next day! He's got an issue called Megaesophagus. The issue caused him to aspirate on his food, which introduced moisture into his lungs causing pneumonia. The very cool vet sent us home with Cipro (that'll kill Anthrax, ya know), instructions for loosening up the goop in his chest, and told us to keep careful watch over him. Thankfully, my very awesome employer lets me work from home... even if home happens to be 400 miles away for a few days. I kept watch over a very GROSS dog (you know they eat uh... things... they've already eaten), and watched him improve 100%!

Today, I get a very flustered IM from Will saying the dog couldn't breathe, and this was most likely the end. Cooler couldn't stand, and the vet had to get this massive dog on a gurney and into the office. His blood/oxygen level was super low, tongue was blue, and it really didn't look good. They put him on O2 and an IV drip of a sedative. After a few hours, they reduced the O2 and watched him without the help of the stuff. He's groggy, but alive. He had a panic attack, which in conjunction with the Megaesophagus, caused his Larynx to swell up and yeah, not able to breathe.

Right now, the game is: Watch him over the weekend. Carefully try different doses of his sedative. If things aren't better on Monday, decisions will be made. I've been through this decision too many times, and it's not easy. Cooler is the last link Will and his mom have to his step father (who passed away from pancreatic cancer), which makes this decision especially hard for them. I can only stand by and offer support to them in this really awful sad time.

So, there's the update. I hope things make a little more sense now, and why this is such a rollercoaster ride for everyone involved. We (Will, his mom, and myself) want to thank you all so much for your kind words of support. I want to thank you for being patient with me when I get these frantic calls and IM's. There's a reason I call you all the best customers in the world, and you constantly prove this to me. Thanks guys, you really are the best!


I would like to share a drink with all of my favorite people! If you have a webcam, join in! 10:30pm sharp! (EST)


Shorty Awards

Well, I guess I'm overdue for a new blog post eh? Been a little busy helping out all of you and preparing for my excursion to New York for the Shorty Awards. I'm sure you've all heard me talking about them on Twitter enough, so I'll spare you the story. I wanted to put up all of the photos and video in one place. Guess this is a good a place as any, eh? :)

Here's the video of me getting the award:

And on to the pics! :)

That's me! OMG!

The SPEECH. You guys wrote this! :)

Makers Mark sponsored. A mighty fine hard cider!

O.M.G. IT'S GROVER!!!!!!!!!!!!

@Thinkgeek on the left, her boss, TIMMY, and GROVER!

And let's not forget our host for the evening, @ricksanchezcnn who assured me he did NOT pre-game before the awards ceremony. He had "been on a plane since 5 a.m.". Rick, it's ok. I won't tell :P

Now, remember guys. NONE OF THIS WOULD HAVE HAPPENED WITHOUT YOU! I can't stress enough how much of a pleasure it is to work with you and guide you through life's little cable troubles. Or talk about the odd and random. Or anything. It doesn't matter, because you all ROCK MY HELLO KITTY SOCKS!


I follow @MajorNelson to keep up with the latest Xbox news and cool stuff (not to mention I keep a keen eye out for service issues), and noticed he posted this AWESOME link to the new Xbox Engineering Blog. I read through the newest information about Netflix and Xbox, and noticed a fancypants section about Netflix and streaming.

I am reposting this section with permission from Xbox to shed some light about how this process works, and how Xbox is working to improve the experience for you! Also, I have to throw in the comment about us "throttling" Netflix to keep competition away. This simply isn't the case, and I think the snip from the article below will help clarify what's actually going on. Enjoy!

Special thanks to the Xbox Live Team for putting this up! Remember, the full blog can be reached here!

Streaming Video

One of the major challenges of streaming video is adapting to changes in available bandwidth. In the first version of Netflix, we saw a number of users experience downgrades in their video quality, accompanied by the “Your Internet connection has slowed” message, shortly after starting playback. This was often due to an ISP boosting available bandwidth for brief periods of time in order to make individual downloads faster. Since we decide which quality level of the content your Internet connection can handle by measuring bandwidth at the very beginning of a download, this boost effect causes the client to believe there is more bandwidth than actually available. Accordingly, we picked a quality level whose bitrate was too high to sustain once the boost ended and the connection reverted to its typical bandwidth characteristics. This resulted in a rebuffering event, otherwise known as a “starvation.”

We’ve done a number of things in this release to reduce the frequency of starvations:

  • We have switched to using Netflix’s new, more advanced VC-1 encodings when available. The VC-1 streams are much more efficient than their visually-comparable WMV9 counterparts. This allows us to better utilize available bandwidth by buffering more of the feature in less time.
  • We have implemented something we are calling “Seamless Stream Switching.” In the past, a starvation meant having to wait while the app rebuffered a new stream. Now, we have the ability to detect a dip in bandwidth that would cause a starvation, and react before we actually starve. Instead of forcing you to wait while the speed test and buffering is redone, we can prepare the new stream behind the scenes while playing out the old one. See the next section for details on how it all works.
  • Courtesy of Seamless Stream Switching, you can now switch up to a higher quality stream. Previously, you would always be locked in to the lower bitrate stream if your bandwidth had degraded during playback. Now, if your bandwidth improves sufficiently, your content bitrate could be upgraded as well.

(Mostly) Seamless Stream Switching
As mentioned above, we can now be proactive about switching to a new stream before a starvation occurs. Here’s some information on how the process works:

Like with the first version of Netflix, a quick speed test is done first to figure out what the Internet connection is capable of. Based on these results, a stream of an appropriate bitrate is chosen - one that should give you the highest video quality possible while still being likely to play back without interruptions (aka starvations).

Unlike the first version of Netflix, the client will continuously monitor the current streaming bandwidth and also the buffer level during playback. The buffer level is how much data has been read ahead from the network connection and buffered up in memory.

If the buffer level falls below a certain threshold–i.e., the buffer level falls into the starvation danger zone–then we start to get interested, algorithmically speaking. At this point, the client looks at several samples of bandwidth measurements to see how the Internet connection is performing, and we’ll also see if buffer levels have been declining. It might seem like a silly thing to do, but the reason we check the latter is that, directly after a seek or after playback starts, buffer levels could technically still be in the red zone; however, as long as they are still increasing, there should be no need for alarm. On the other hand, if buffer levels have been declining, and bandwidth measurements indicate that the client could be in danger of starving, then the client will initiate a switch downwards to a lower bitrate stream. More about that in a moment.

Now if, instead of falling, the buffer level actually rises above a certain threshold, then the client will look at several history samples of bandwidth measurements and see if the Internet connection really can take it to the next level. If so, then the client will initiate a switch up to a higher bitrate stream. Note: To avoid ping-ponging between higher and lower bitrate streams, a backoff period is enforced before switching up if there has been a previous switch down during the playback session. The backoff period increases substantially the more times a downward switch occurs. For example, suppose client starts out playing a piece of content at 2 quality bars, but then bandwidth drops and the client switches down to a lower bitrate stream. At this point, even if the connection improves to the point where the client could technically switch up again, the client will wait an additional period of time before allowing the switch to occur. If the client subsequently performs another switch down during that streaming session, then the backoff time before allowing an up-switch would be longer still. The basic idea is to avoid a cycle where fluctuations in connection bandwidth cause the client to continually vacillate between content quality levels.

Performing the Switch: The Seam
Once a stream switch is kicked off, several things happen. First, the client stops reading any data from the network for the old stream; it plays out whatever buffer has been accumulated for the old stream from here on out. Simultaneously, the newly-freed network resources immediately start grabbing data for the new stream. Once all the data from the old stream has been played, the client will hot-swap to the new stream.

Perhaps this is a good time to confess that it’s not completely accurate to call this process “Seamless Stream Switching.” As it turns out, there is a seam, but it’s very slight and consists of the screen below.

The graphic at the upper right shows you the quality level for the new stream you’ll be watching. You’ll see this screen very briefly (typically, for a second or less) during the switch over from old to new. During this time, the video pipeline is being reinitialized for the new stream. We’ve done as much of the work as we could ahead of time, but there are some things, like initializing the Direct3D device in accordance with the new video resolution, that need to happen right then. This process is fairly snappy but it’s not instantaneous, which is why this small delay exists.

Sometimes the client is unable to adequately buffer up the new stream before the buffer for the old stream runs out. This may happen, for example, if there was a sudden extreme drop in bandwidth or if the Internet connection is not capable of sustaining uninterrupted playback of the lowest bitrate stream. In these cases, you will unfortunately still have to wait to rebuffer while viewing the “Your Internet connection has slowed” starvation screen.

Streaming and Party Mode
The most important thing about the streaming experience in Party Mode is that the video stays in sync among people watching the content. We felt strongly that it would not be a great experience if your buddy laughed at a joke two seconds before you actually saw the funny part of the movie. Because we were optimizing for keeping everybody at the same place in the content, streaming in Party Mode behaves a little differently than streaming in solo mode:

  • There is no Mostly Seamless Stream Switching in Party Mode. The seam during the switch, slight as it is, could be enough to throw synchronization off beyond the 500 millisecond threshold that we deemed our maximum allowed drift between participants.
  • The headroom that we require for Party Mode playback is higher than for solo mode. For context, headroom is the amount of space required between your measured bandwidth and the selected content bitrate. In other words, for a Party Mode headroom value of say, 30% (hypothetically speaking), your measured bandwidth would need to be at least 1429 Kbps for us to select a 1000 Kbps content stream. This is Bandwidth * (1.0 – Headroom). Now, the reason why we require more headroom in Party Mode is because a starvation in Party Mode affects not only your user experience, but also that of everybody else in your party. When one person starves, everybody else in the party has to wait for that person to rebuffer to keep everyone in sync. We want to make sure that this is very unlikely to occur.

Inside Tips and Tricks for Tweaking Your Netflix Streaming Experience
Since you now know some details of how our streaming system works, there are a couple of things you can do to potentially make the system work better for you.

First off, if you absolutely hate Mostly Seamless Stream Switching, you can prevent us from using it by watching all your content in Party Mode. This works whether you watch by yourself or with others. All you have to do is start a Netflix party. If you choose to do this and don’t want to see your Avatar, then use the On-Screen display and use Display Mode to switch.

Secondly, if you have a spiky or otherwise unstable Internet connection, the Pause button is your best friend. Remember how I mentioned that the client will only consider switching down if 1) the buffer falls below a certain threshold, and 2) the buffer level had been decreasing over the last few seconds? Well, when playback is paused, we will continue to read data from the network, but the buffer can’t decrease since playback has been halted. Therefore, hitting the pause button right after playback starts and leaving the content paused for a short while (30 seconds, a minute or two, see what works best for you) is a cheap and easy way to force the buffer level to increase and potentially avoid a downward switch to a lower bitrate stream.