Thursday, February 10, 2011

FOSTERING SCOUT - THE ROOMBA INCIDENT


Todd and I took on fostering Scout, a handsome fawn/brindle greyhound with expectations that he would not be able to ride in a car due to car sickness (and significant difficulty getting him loaded), that he would have chronic diarrhea and some barking issues. A few days into the fostering and a couple car rides later, Scout proved to be a real trooper. He didn't have any problems with stairs or hard surface floors; he was unphased by our floor sweeping robot Roomba (a.k.a. Rosario); he didn't have any problems with riding, in fact he laid right down and enjoyed himself. No problems with diarrhea either! We thought we hit the rich with Scout and that his issues were all greatly exaggerated.

When I came home from work that first day (Monday), Scout barked a little when I pulled into the garage but otherwise seemed quite together. After an inspection of the house and not finding anything askew I was reassured that this dog was an ideal pet. When I sat on the couch, I noticed spittle on the window. I suspected it might be from barking so I set up a "nanny cam" to listen and watch Scout throughout the day.

Day two; we leave for work and I proceed to listen to the activity at home from my office. Occasionally, I hear a little howling and then some barking, and more barking. So I go home at lunch and let him out and try to get him to calm down by quietly sitting with him in the living room. All was a success; but when I got back to work I could see that the anxiety returned with more non-stop barking for almost two hours. That night Todd and I discussed what we might be able to do to help Scout and decided that we would give him more exercise, leave the radio on and leave the basement door to the Family Room open. Our hope was that Scout would go downstairs and sleep without all the distractions of people walking on the street, neighbors waiting on the school bus and oil delivery men.

Queue up day 3. I check the camera and sure enough, the barking has subsided a bit, while he is still barking and howling, the duration is far less significant with only 2-5 minute spells. Scout seems to be more relaxed and he is even off camera much of the day (presumably in the basement napping). I come home to a happy dog.

I took Scout outside to potty and waited for him to poo, but he didn't go, which was uncharacteristic of him. Upon coming back into the house, I began walking down the hall and could smell something faintly in the air. Scout must have stepped in some poo outside I thought, so I inspected his paws and found nothing. Hmm ... maybe he had an accident down the hall. I checked it out, but nothing, although the smell was stronger. So I decided to see if there was anything in the family room downstairs. As I started walking down the stairs the smell got stronger and stronger, almost overwhelming. Oh crap, I thought ... I am going to have a mess to clean up. I had NO idea.


As I approached the bottom steps, I glanced over the railing to a basement floor where I saw "mud" smeared over much of the floor (in a random pattern). As I glanced over to the sitting area, I saw Rosario, stopped in the middle of the floor with her lights flashing and "mud" (Scout's poo) mounded up in front of her. She had ran into the mess and continued to happily sweep along and bounce around the basement, banging into walls and furniture like a blind cat after a night of drinking. There were poo streaks on the baseboard, furniture legs and the floor; and poor, poor Rosario was so gummed up with the stuff, she couldn't move any more. What a horrendous mess! Thankfully, she did not make it to the area rug!

That evening Scout quietly waited on his bed for me to clean the basement and Rosario. Fortunately Rosario's "cousin" Scuba is a floor washing robot and Scuba assisted in the cleanup. I learned a couple very valuable lessons; 1) Schedule Rosario to start earlier in the day so she is done before Scout gets too anxious and 2) DON'T let Scout in the basement.

I am happy to say that Scout has not had any more accidents. We continue to try different things to help him deal with his anxiety. Keeping the doors open (not the basement door) so he can look around and see out the windows, which seems to be helping. If nothing else, it keeps him busy walking around to check all the rooms constantly. We continue to ignore him when he gets too excited and give him plenty of love when he is calm and relaxed. When I come home, before I enter the house, if Scout is barking, I tell him to "go lay down" through the garage door and I confirm that he has followed the command (by looking at the camera via my phone) before I enter the house. That has seems to keep him from getting so excited when I walk in, and it gives me an opportunity to take my coat off and go over to see him while he is more relaxed. We are still only a few weeks in but I am confident Scout will become more confident and settle in and appreciate having his day to nap in great comfort.

Wednesday, November 10, 2010

How Email Delivery Works

Below is some information regarding how email is delivered and reasons it could be delayed.  This may help you better understand what happens when you press Send and why there can be delays in the delivery of email messages.


This is not intended to provide an all inclusive look at the details and terms regarding email delivery, but rather the basics as they apply to typical email deliveries.

There are two fundamental parts to an email message, the header and the body.
  1. The header includes information relating to the delivery of the message, such as:
    • The address to reply to (Reply-To) (most often your own email address)
    • The Sender (your own email address)
    • Who it’s going to (To; CC; BCC)
    • The Subject
    • The Date
    • Any flags, priorities, confirmations, etc.
    • Sending server
    • Message-ID
    1. The body includes the content of a message and any attachments, links and text. 
    There are a few key elements necessary to facilitate the creation and delivery of email, they are:

    • A client used to compose an email message (the client could be on the web (Gmail, Hotmail, Yahoo!, etc), on a computer (Outlook, Thunderbird, etc.) or on a device (Andriod, i-Phone, Windows Mobile phone, etc.)). 
    • Sending email server (your work connection, Gmail, Hotmail, Yahoo!, etc.)
    • A network connection
    • Receiving email server
    • Receiving email client (work connection, Gmail, Hotmail, Yahoo!, etc.)

    Ok, we now have the basics.  Now I will walk through the steps of email creation and delivery.  I will group the steps by "points of failure" to illustrate where delays and/or failures can happen.  So let's create and follow the life-cycle of an email message. 


    THE FIRST POTENTIAL POINT OF FAILURE:  First a message has to be created on a client, the client could be on the web (Gmail, Hotmail, Yahoo!, etc), on a computer (Outlook, Notes, Thunderbird, etc.) or on a device (Andriod, i-Phone, Windows Mobile phone, etc.).  Oftentimes, these email messages can be created without being actively connected to the sending server (your email server).  What this means is that you can create your message (let's say in Outlook) and when you click Send, it sits in your Outbox until your server (the sending server), becomes available again.  Your own sending server may not be immediately available due to a number of reasons such as:

    • a misconfiguration on your client
    • a problem with your network connection to the sending server
    • the sending server itself could be down
    • your connection may require you to make a manual connection to send the email (pressing Send/Receive)

    It is important to understand that because you are able to compose a message and click Send, it does not mean that your sending server is available.  In any case, the inability to transfer the message from your client to your server represents the first potential point of failure.



    THE SECOND POTENTIAL POINT OF FAILURE:  So your message has made it to your sending server, that server will now look at your header information to find out to what server your message should be sent.  To do this it looks at the domain name of the email address you used, so let's say you were sending the message to a Hotmail address, your server is going to look for hotmail.com's email servers and their server addresses.  It does this by performing a lookup in a DNS database which simply identifies hotmail.com to an IP address.  If this DNS lookup fails because there is no internet connection, the DNS cache has not been updated, the DNS server information is misconfigured or down, the email can't be immediately delivered and remains in queue.  Your email server will hold your message in queue until it has been able to resolve the recipient server information, or it will return the message to you.  To summarize, the second potential point of failure is that the sending server is unable to complete the DNS resolution or the sending server does not have an active outbound network connection.


    THE THIRD POTENTIAL POINT OF FAILURE: So now the sending server has a connection with the internet and the DNS resolved ok.  Now the sending server sends the header information to the receiving server's address and waits for a response from the receiving server.  If the receiving server is offline, the message can't be processed any further and either remains in queue on the sending server (for a period determined by the sending server) or it is returned to you with a message stating that it was unable to deliver the message.  In some cases, you will get an informational message back stating that message delivery has been delayed, but that your server will continue to retry the message for a period of time.  Here we have the third point of failure being that the receiving server is not available to receive the message.


    THE FOURTH POTENTIAL POINT OF FAILURE: Now we have a receiving server which is online and ready to receive your message.  Your server re-tries sending the message header (only the header at this point, not the body of the message); the receiving server now reviews the header information to determine whether or not it will accept the rest of the message.  This determination is made based on details like, does the name of the recipient exist on the receiving server, the name and reputation of your sending server (for example, is your sending domain on a white list, local black list, or is it known to send out spam (typically identified with a DNSBL (DNS Blacklist))).  These basic checks represent the fourth potential point of failure because failure to be accepted by the receiving server results in your message being returned to you by your sending server with a message detailing (often in an unclear way) why the message was not accepted by the receiving server.


    THE FIFTH POTENTIAL POINT OF FAILURE:  The receiving server has reviewed your header and decided to accept your message and the sending server has delivered it. The sending server is now done with the process and takes no other action as a sending server.  The receiving server now looks over the content of your message to look for keywords which are often related to spam, or are not allowed because of rules.  It also reviews the links in your message to see if they are related to a site which is known for undesirable activity.  It may also look at your attachments to see if they exceed an acceptable size, if they are disallowed for security reasons or if they contain a virus.  The receiving server now makes some decisions; A number of things can happen here.  The message could be:

    • placed in a quarantine for review by a human
    • delivered to the recipient with content or attachments stripped out
    • delivered to the recipients junk email folder
    • marked as a junk or marketing message and delivered
    • delivered to an alternate recipient for review
    • put in a hold queue for future delivery
    • returned to the sender with notification of delivery failure and cause
    • delivered to the recipient unaltered
    This verification process is the final step before your message is accepted or rejected.  Passing this fifth potential point of failure is the last step before delivery to the end client.

    THE SIXTH POTENTIAL POINT OF FAILURE: The last point of failure is the recipients client.  This client must have access to the server, it must make a request to receive the message (in some cases) and it must be configured properly.  Presuming that all these items are in check, the recipient will receive your email message.

    While this whole process from send to receive often takes just a couple seconds, the reality is that there are multiple places in the delivery process which can cause delays (in some cases of up to 24 hours or more) for a message to reach its destination.  Email is very reliable, but with anything which may be time sensitive, a follow up is always a best practice.

    Wednesday, November 25, 2009

    ICE Your Cell Phone

    It is recommended that you mark entries in your cell phone with ICE (In Case of Emergency) for any contacts who should be called in an emergency. 

    Emergency responders look through your cell phone for ICE contacts to reach if you are unable to respond.  These contacts should be people who have Medical Power of Attorney for you, or that can provide responders with medical information about you.

    It might be wise to have two contacts in there and have one of them be a person who is not likely to be with you during an accident.


    There are two ways you can do this. 
    1. Create a contact in your cell phone with the name ICE and add the phone number(s) of the person/people that should be contacted in an emergency. 
    2. Edit an existing entry and modify their name to begin with ICE (on some cell phones this may be their first name while others it may be their last.  The objective is to be able to alphabetically scroll through your contacts to an entry which reads ICE.) i.e., It might read "ICE Jack Spratt" or "ICE Spratt, Jack".
    It is recommended that you place a sticker or marking on your phone that indicates that you have an ICE contact. Here is a link to a company that sells the stickers. 

    Here is an article on WebMD regarding this topic ... and another article in Wikipedia.


    Had you heard of this before?  Are you going to do it?  Leave a comment and let me know.

    Tuesday, October 06, 2009

    Password Security

    OK, so my Hotmail account has been hacked and used by spammers, my website has been hacked and redirected visitors to a porn site and my Twitter account was hacked and used by spammers … learn from me … don’t presume your password is secure enough.
    Below are some suggestions on how to make your passwords secure and less likely to be cracked as well as some tips on what not to do and tips on how to remember your passwords.

    UNDERSTANDING PASSWORDS
    All you need to remember is that you want a strong password. A strong password is a password which is not found in a dictionary, it is not a name (human or pet), and it contains 3 of the following 4 characteristics:
    Truly strong passwords should be 12-14 characters, however many websites do not allow you that many characters. My experience has shown that 8 characters is the magic number for most every website.

    CREATING PASSWORDS
    First create 2 passwords and labels for your passwords:
    My experience is that most all websites typically allow 8 characters in a password. Typically the more characters, the more secure the password. I label my passwords as follows: “Secure” and a “More Secure”. For example, my “More Secure” password might be 0ApR1fuL while my “More Secure” password would be 7o’c1dEC. I now only need to remember my two passwords, April Fools Day (0ApR1fuL) and 7 O’clock on December 1. These might look little confusing because they are foreign to you, but you can easily create a couple basic passwords which you use globally for all your sites.
    An alternate way of creating passwords is to use common phrases and select characters from the phrase … such as “There’s a hole in the bucket” and the password might be T’saHiTb … this would be a strong password, but easy to remember.
    When to use each password:
    Whenever setting up a password, always use your “More Secure” password, particularly on a financial site. If it doesn’t work because of restrictions by the site, use your “Secure” password.

    REMEMBERING/STORING PASSWORDS
    We have a LOT of passwords to remember, I have more than 155 at home an additional 127 here at work. I find it easiest to maintain a spreadsheet where I store each site name, site address, the associated email address, username and password label; never enter your password with your username, use the label instead.

    HERE'S WHAT NOT TO DO
    • Don’t use anyone’s name or nickname.
    • Don’t use your pets name
    • Don’t use your car’s make, model, etc.
    • Don’t use words found in the dictionary
    • Don’t spell common words backwards
    • Don’t end your passwords with numbers (some sites won’t even allow it)
    • Don’t use the names of sport figures or teams
    • Don’t use default passwords
    • Don’t use your license plate number
    • Don’t simply replace L’s with 1’s and O’s with 0’s, etc.
    • Don’t use common sequences such as qwerty or 12345
    • Don’t use your phone number, or any sequence of numbers alone
    • Don’t use your Social Security Number
    • Don’t use any part of your real name or user name in the password
    • Don’t use your birthday, anniversary, etc.
    • Don’t presume your password is secure