<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6708129048153680588</id><updated>2025-12-12T07:03:58.919-05:00</updated><category term="Thoughts on Life"/><category term="About Me"/><category term="Christianity"/><category term="Technology"/><category term="Reviews"/><category term="Family"/><category term="Programming"/><category term="Heard Around the House"/><category term="Perspective"/><category term="ASP.NET"/><category term="Art"/><category term="Teaching"/><category term="Business"/><category term="Quotes"/><category term="Bedtime Stories"/><category term="Computing"/><category term="Photography"/><category term="Activities"/><category term="Comics"/><category term="Kids"/><category term="Windows 8"/><category term="Accidents"/><category term="C#"/><category term="Cooking"/><category term="DC"/><category term="DVD"/><category term="Diet"/><category term="Dry Ice"/><category term="Environment"/><category term="Fmily"/><category term="Food"/><category term="Games"/><category term="Home"/><category term="Music"/><category term="Organization"/><category term="Programs"/><category term="Security"/><category term="Software"/><category term="Stories"/><category term="Travel"/><category term="WPF"/><category term="Washington"/><category term="Windows"/><category term="Writing"/><category term="toolkits"/><title type='text'>Tom Squared</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>280</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-2787546297849602559</id><published>2025-12-06T23:01:00.007-05:00</published><updated>2025-12-06T23:33:37.101-05:00</updated><title type='text'>Using an Array of Objects in C++</title><content type='html'>&lt;p&gt;&amp;nbsp;I&#39;ve been programming for years (over 35 at this point, which is &lt;i&gt;crazy&lt;/i&gt;&amp;nbsp;to think about). My career right now is much more Software Architecture, and much less Software Developer, but I still get some time to write out GraphQL APIs in TypeScript, Vue 3 UIs, GitLab pipelines, and just generally making &quot;big&quot; decisions and helping make them a reality.&lt;/p&gt;&lt;p&gt;It&#39;s nice every now and then to come across different articles and ideas that get me to remember life in college when I was using C++. Who would have thought C++ was the &quot;hot new thing&quot; right now (though I suppose it&#39;s more like Rust and Go, both great languages as well).&lt;/p&gt;&lt;p&gt;One of the things I find frustrating with most technical posts is where they focus on the &quot;how do I build an app&quot; and not so much on &quot;how do I do this one slightly useful thing&quot;. I figured I&#39;d throw one together what was front of mind, using user attributes for permissions (i.e., Attribute Based Access Control - ABAC) to check permissions.&lt;/p&gt;&lt;p&gt;Our classes look like the following.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;
// Attribute defines a user&#39;s attributes (often also thought of as permissions)
class Attribute
{
private:
    string id;
    string name;

public:
    Attribute(string id, string name)
    {
        this-&amp;gt;id = id;
        this-&amp;gt;name = name;
    }

    string getId()
    {
        return id;
    }

    string getName()
    {
        return name;
    }
};

// AttributeGroup defines a group of attributes (often also thought of as a role)
class AttributeGroup
{
private:
    string id;
    string name;
    // Use a vector since we don&#39;t know how many attributes will be added
    vector&lt;attribute&gt; attributes;

public:
    AttributeGroup(string id, string name)
    {
        this-&amp;gt;id = id;
        this-&amp;gt;name = name;
    }

    string getId()
    {
        return id;
    }

    string getName()
    {
        return name;
    }

    void addAttribute(Attribute attribute)
    {
        attributes.push_back(attribute);
    }

    vector&lt;attribute&gt; getAttributes()
    {
        return attributes;
    }
};

// U.S. Mailing Address information
class Address
{
private:
    string street1;
    string street2;
    string city;
    string state;
    string postalCode;
    bool international;

public:
    Address()
    {
        this-&amp;gt;street1 = &quot;&quot;;
        this-&amp;gt;street2 = &quot;&quot;;
        this-&amp;gt;city = &quot;&quot;;
        this-&amp;gt;state = &quot;&quot;;
        this-&amp;gt;postalCode = &quot;&quot;;
        this-&amp;gt;international = false;
    };

    Address(string street1, string street2, string city, string state, string postalCode, bool international = false)
    {
        this-&amp;gt;street1 = street1;
        this-&amp;gt;street2 = street2;
        this-&amp;gt;city = city;
        this-&amp;gt;state = state;
        this-&amp;gt;postalCode = postalCode;
        this-&amp;gt;international = international;
    };

    // getAddress returns a formatted address natching the U.S. or international standard.
    string getAddress()
    {
        if (international)
            return street1.append(&quot;\n&quot;).append(street2).append(&quot;\n&quot;).append(city).append(&quot; &quot;).append(postalCode);

        return street1 + &quot;\n&quot; + street2 + &quot;\n&quot; + city + &quot;, &quot; + state + &quot; &quot; + postalCode;
    };

    void setAddress(string street1, string street2, string city, string state, string postalCode, bool international = false)
    {
        this-&amp;gt;street1 = street1;
        this-&amp;gt;street2 = street2;
        this-&amp;gt;city = city;
        this-&amp;gt;state = state;
        this-&amp;gt;postalCode = postalCode;
        this-&amp;gt;international = international;
    };
};

class User
{
private:
    string id;
    string name;
    Address address;
    // Use a vector since we don&#39;t know how many attributes will be associated with the user
    vector&lt;attribute&gt; attributes;
    // Use a vector since we don&#39;t know how many groups will be associated with the user
    vector&lt;attributegroup&gt; attributeGroups;

public:
    User()
    {
        this-&amp;gt;id = &quot;&quot;;
        this-&amp;gt;name = &quot;&quot;;
        this-&amp;gt;address = Address();
        this-&amp;gt;attributes = vector&lt;attribute&gt;();
        this-&amp;gt;attributeGroups = vector&lt;attributegroup&gt;();
    };

    User(string id, string name, Address address)
    {
        this-&amp;gt;id = id;
        this-&amp;gt;name = name;
        this-&amp;gt;address = address;
        this-&amp;gt;attributes = vector&lt;attribute&gt;();
        this-&amp;gt;attributeGroups = vector&lt;attributegroup&gt;();
    };

    User(string id, string name, Address address, vector&lt;attributegroup&gt; attributeGroups)
    {
        this-&amp;gt;id = id;
        this-&amp;gt;name = name;
        this-&amp;gt;address = address;
        this-&amp;gt;attributes = vector&lt;attribute&gt;();
        this-&amp;gt;attributeGroups = vector&lt;attributegroup&gt;();

        for (AttributeGroup attributeGroup : attributeGroups)
        {
            addAttributeGroup(attributeGroup);
        };
    };

    User(string id, string name, Address address, vector&lt;attribute&gt; attributes)
    {
        this-&amp;gt;id = id;
        this-&amp;gt;name = name;
        this-&amp;gt;address = address;
        this-&amp;gt;attributes = attributes;
        this-&amp;gt;attributeGroups = vector&lt;attributegroup&gt;();
    };

    User(string id, string name, Address address, vector&lt;attributegroup&gt; attributeGroups, vector&lt;attribute&gt; attributes)
    {
        this-&amp;gt;id = id;
        this-&amp;gt;name = name;
        this-&amp;gt;address = address;
        this-&amp;gt;attributes = attributes;

        for (AttributeGroup attributeGroup : attributeGroups)
        {
            addAttributeGroup(attributeGroup);
        };
    };

    string getId()
    {
        return this-&amp;gt;id;
    }

    string getName()
    {
        return this-&amp;gt;name;
    }

    Address getAddress()
    {
        return this-&amp;gt;address;
    }

    void addAttribute(Attribute attribute)
    {
        this-&amp;gt;attributes.push_back(attribute);
    };

    /**
     * addAttributeGroup adds an attribute group to a user, and assigns the permissions to the user&#39;s attributes.
     * attributeGroup is the grouping of attributes to add to the user.
     */
    void addAttributeGroup(AttributeGroup attributeGroup)
    {
        this-&amp;gt;attributeGroups.push_back(attributeGroup);
        for (Attribute attribute : attributeGroup.getAttributes())
        {
            this-&amp;gt;attributes.push_back(attribute);
        };
    };

    /**
     * getAttributeGroups returns all attribute groups assigned to the user.
     */
    vector&lt;attributegroup&gt; getAttributeGroups()
    {
        return this-&amp;gt;attributeGroups;
    };

    /**
     * getAttributes returns all attributes assigned to the user.
     */
    vector&lt;attribute&gt; getAttributes()
    {
        return this-&amp;gt;attributes;
    };

    /**
     * hasAttribute checks if a user has a specific attribute.
     * attribute is the attribute to check for, matching on their id or name.
     */
    bool hasAttribute(string attribute)
    {
        // If the attribute is entirely empty, then return false since the user must not have it.
        if (attribute == &quot;&quot; &amp;amp;&amp;amp; attribute == &quot;&quot;)
        {
            return false;
        };

        for (Attribute att : attributes)
        {
            if (att.getId() == attribute || att.getName() == attribute)
            {
                return true;
            };
        };
        return false;
    };
};
&lt;/attribute&gt;&lt;/attributegroup&gt;&lt;/attribute&gt;&lt;/attributegroup&gt;&lt;/attributegroup&gt;&lt;/attribute&gt;&lt;/attributegroup&gt;&lt;/attribute&gt;&lt;/attributegroup&gt;&lt;/attributegroup&gt;&lt;/attribute&gt;&lt;/attributegroup&gt;&lt;/attribute&gt;&lt;/attributegroup&gt;&lt;/attribute&gt;&lt;/attribute&gt;&lt;/attribute&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The actual function to create some dummy users and then use the attributes (permissions) of the logged in user (here the `runningUser`) to see if the person running the program has permission to retrieve the groups of the user.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;
// Set a fixed array length to make accessing users more predictable.
#define userSize 3

array&lt;User, userSize&gt; getUsers(AttributeGroup adminGroup, AttributeGroup userGroup, Attribute queryGroupsAttribute)
{
    array&lt;User, userSize&gt; users;

    // Initialize users with sample data
    users[0] = User(&quot;1&quot;, &quot;Alice&quot;, Address(&quot;123 Main St&quot;, &quot;&quot;, &quot;Anytown&quot;, &quot;CA&quot;, &quot;12345&quot;, true));
    users[0].addAttributeGroup(adminGroup);
    users[0].addAttributeGroup(userGroup);

    users[1] = User(&quot;2&quot;, &quot;Bob&quot;, Address(&quot;456 Elm St&quot;, &quot;&quot;, &quot;Othertown&quot;, &quot;NY&quot;, &quot;67890&quot;));
    users[1].addAttributeGroup(userGroup);

    users[2] = User(&quot;3&quot;, &quot;Charlie&quot;, Address(&quot;789 Oak St&quot;, &quot;&quot;, &quot;Somewhere&quot;, &quot;CA&quot;, &quot;54321&quot;, false));
    users[2].addAttribute(queryGroupsAttribute);

    return users;
}

int main()
{

    Attribute queryGroupsAttribute = Attribute(&quot;1&quot;, &quot;QUERY_GROUPS&quot;);

    Attribute mutateCreateGroupAttribute = Attribute(&quot;2&quot;, &quot;MUTATE_ADD_GROUP_ATTRIBUTE&quot;);

    Attribute queryUsersAttribute = Attribute(&quot;3&quot;, &quot;QUERY_USERS&quot;);

    AttributeGroup adminGroup = AttributeGroup(&quot;1&quot;, &quot;Administrator&quot;);

    adminGroup.addAttribute(queryGroupsAttribute);
    adminGroup.addAttribute(mutateCreateGroupAttribute);

    AttributeGroup userGroup = AttributeGroup(&quot;2&quot;, &quot;Basic User&quot;);

    userGroup.addAttribute(queryUsersAttribute);

    array&lt;User, userSize&gt; users = getUsers(adminGroup, userGroup, queryGroupsAttribute);

    string runningUserId;
    cout &lt;&lt; &quot;Which user will be running the user access request? (1, 2, or 3): &quot;;
    cin &gt;&gt; runningUserId;

    User runningUser;
    for (User u : users)
    {
        if (u.getId() == runningUserId)
        {
            runningUser = u;
            break;
        };
    };

    string userId;
    cout &lt;&lt; &quot;Which user would you like to view? (1, 2, or 3): &quot;;
    cin &gt;&gt; userId;

    if (!runningUser.hasAttribute(&quot;QUERY_USERS&quot;))
    {
        cout &lt;&lt; &quot;User does not have access to query users.&quot; &lt;&lt; endl;
        return 0;
    }

    User user;
    for (User u : users)
    {
        if (u.getId() == userId)
        {
            user = u;
            break;
        };
    };

    cout &lt;&lt; &quot;User ID: &quot; &lt;&lt; user.getId() &lt;&lt; endl;
    cout &lt;&lt; &quot;Name: &quot; &lt;&lt; user.getName() &lt;&lt; endl;
    cout &lt;&lt; &quot;Address: &quot; &lt;&lt; user.getAddress().getAddress() &lt;&lt; endl;

    if (!runningUser.hasAttribute(&quot;QUERY_GROUPS&quot;))
    {
        return 0;
    }

    cout &lt;&lt; &quot;User has access to query groups.&quot; &lt;&lt; endl;

    for (AttributeGroup group : user.getAttributeGroups())
    {
        cout &lt;&lt; group.getName() &lt;&lt; endl;
    }

    return 0;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I assume the comments are pretty clear what&#39;s going on. But to be clear...&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Attributes hold the list of user attributes (permissions) that a user has to determine what they can do.&lt;/li&gt;
  &lt;li&gt;Attributes are linked to a user, and access checks are &lt;strong&gt;never&lt;/strong&gt; done directly done on a group, instead always an attribute.&lt;/li&gt;
  &lt;li&gt;To make lives easier for an administrator or stakeholder to assign attributes to a user, attributes can be grouped together in an AttributeGroup (often called a role).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this example, when an attribute group is assigned to a user we roughly loop over each of the attributes and add them to the user. In the real world the attributed on the group might change over time, so the user attributes would also need to reflect these changes. So a better `hasAttribute()` function would loop over the attributes in the group and the attributes on the user. We wouldn&#39;t normally just add every attribute to the user since that&#39;s just a snapshot in time.&lt;/p&gt;
&lt;p&gt;Full code&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/2787546297849602559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/2787546297849602559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/2787546297849602559'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/2787546297849602559'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2025/12/using-array-of-objects-in-c.html' title='Using an Array of Objects in C++'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-5295830229284124539</id><published>2015-08-23T08:55:00.000-04:00</published><updated>2015-08-23T08:55:42.933-04:00</updated><title type='text'>Mitigating Spamming</title><content type='html'>I&#39;ve had yet another person get stuck with a spammer using their contact list and sending spam task though they were the person. It happens so much, and the Internet seems to have so many different answers, I figured I&#39;d send this consolidated list over to him, and share here.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Short answer&lt;/h3&gt;
A few big spam companies get your email list from finding the email addresses of your friends on Facebook that publicly list their email address. They also get it from forums you post to, your blog (emails are often listed there) and forwarded messages from someone else. Those spammers then sell the email lists to other people.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Change your password often. It’s not foolproof, but is a good idea. Also make your email password different from all other passwords you use on the web.&lt;/li&gt;
&lt;li&gt;When registering for sites, use a throw-away email address and some password.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Or make your current email a throw-away and make a new email account that you tell your friends to use (I made my Yahoo a throw-away that I check at most a few times a week and have friends email me at Hotmail).&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Encourage your friends to not make their email available publicly (ideally not even to friends) on Facebook.&lt;/li&gt;
&lt;li&gt;Where possible, send messages using the &lt;b&gt;bcc&lt;/b&gt; field instead of the normal &quot;&lt;b&gt;To&lt;/b&gt;&quot; field&lt;/li&gt;
&lt;li&gt;Additionally, set Facebook so that people who are not your friends can see your friends.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;In Facebook hit the Security icon&lt;/li&gt;
&lt;li&gt;Select &lt;b&gt;See More Settings&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;b&gt;Followers&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Set &lt;b&gt;Who Can Follow Me&lt;/b&gt; to &lt;b&gt;Friends&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;In &lt;b&gt;Timeline and Tagging&lt;/b&gt; make sure everything is set for &lt;b&gt;Friends&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;In &lt;b&gt;Privacy&lt;/b&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;b&gt;Who Can Look Me Up&lt;/b&gt; to &lt;b&gt;Friends of Friends&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Set &lt;b&gt;Do you want other search engines to link your timeline&lt;/b&gt; to &lt;b&gt;No&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;This will make your profile harder to find. Since yours is really public, you may not want to make the changes I mentioned in privacy. &lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;h3&gt;
Detailed Answer&lt;/h3&gt;
So, here’s some information that explains how the spamming works, both how they get emails, and how it looks like it came from you.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;The very easy way spammers get emails to send from (and send to)&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://krebsonsecurity.com/2011/04/where-did-that-scammer-get-your-email-address/&quot;&gt;http://krebsonsecurity.com/2011/04/where-did-that-scammer-get-your-email-address/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Possibly the worst formatted page, but explains how a spammer makes an email and puts in your “from” address.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://askbobrankin.com/spammer_using_my_email_address.html&quot;&gt;http://askbobrankin.com/spammer_using_my_email_address.html&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;You’re emails already hacked, but here’s some advice on how to handle keeping your account safe in the future. &lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://askleo.com/how_do_i_protect_my_email_address_book/&quot;&gt;https://askleo.com/how_do_i_protect_my_email_address_book/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The best recommendation here is to change your password at least once a year&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;This is how the scammer lists in item 1 get your email. We have tried to make your email more obscure on the website, but that doesn’t stop the other places you subscribe to.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnet.com/forums/discussions/how-do-spammers-get-another-person-s-email-address-and-172427/&quot;&gt;http://www.cnet.com/forums/discussions/how-do-spammers-get-another-person-s-email-address-and-172427/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;div&gt;
Peace,&lt;/div&gt;
&lt;div&gt;
Tom&lt;/div&gt;
&lt;ol&gt;&lt;ol&gt;
&lt;/ol&gt;
&lt;/ol&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/5295830229284124539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/5295830229284124539' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/5295830229284124539'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/5295830229284124539'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2015/08/mitigating-spamming.html' title='Mitigating Spamming'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-1071057044436317823</id><published>2013-03-09T00:00:00.000-05:00</published><updated>2013-03-09T00:00:00.170-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>AutoMapper from a List to Class Properties</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZAfOQhLCV6Pdkf4loVVRZdyF0eE1JnaB6furo2u3Gh6lyvI0UYW4kOIfrtLh3xquOMDkA9OzuUMbvC7zKf71bQO3ZZ15_vpfMyw9wKwMZwkf-2QcmhaPVYOs5t4NldOynFvHi1zjvQi9/s1600/fw_convert2_icon.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZAfOQhLCV6Pdkf4loVVRZdyF0eE1JnaB6furo2u3Gh6lyvI0UYW4kOIfrtLh3xquOMDkA9OzuUMbvC7zKf71bQO3ZZ15_vpfMyw9wKwMZwkf-2QcmhaPVYOs5t4NldOynFvHi1zjvQi9/s1600/fw_convert2_icon.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I just found &lt;a href=&quot;http://automapper.org/&quot;&gt;AutoMapper&lt;/a&gt;, a tool I wish I&#39;d had years ago. This can take any of you classes and translate them into another class. This would have been especially useful when I&#39;ve had to get an object out of and EntityFramework, and add in additional properties before display, which happens quite often. The code for this is pretty simple, an well defined on their site.&lt;br /&gt;
&lt;br /&gt;
I came across AutoMapper from my wife last week, and found it to be a perfect fit for on of my current issues. We&#39;re getting data from a Web service that has an Object and a lit of properties with their values, like the following.&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/anonymous/5104816.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
I needed to easy map each property to my display object type. There is the option of using reflection (&lt;a href=&quot;http://www.codeproject.com/Articles/206999/Looping-through-Objects-properties-in-C-Sharp&quot;&gt;Looping through Object&#39;s properties in C#&lt;/a&gt; is an excellent example), and looping over each of the properties in my destination object, and filling them from values in the source object. Honestly, I did head down this path a bit, but realized I needed a more flexible solution.&lt;br /&gt;
&lt;br /&gt;
It turns out our Web service may change in the next year or two where it returns properties in the same way my display object uses properties, but may have different names. AutoMapper makes it easy to put the translation logic in one place, and changes in the future will be minimal, and all take place in one location.&lt;br /&gt;
&lt;br /&gt;
I&#39;m now using the following to make the mapping work pretty easily:&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/anonymous/5104878.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
The AutoMapper configuration should occur I one location, such as application start. Once we switch the Web service, the mapping can remove the specific property names, and only cover the properties where the display property name is different from the data source.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/1071057044436317823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/1071057044436317823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/1071057044436317823'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/1071057044436317823'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/automapper-from-list-to-class-properties.html' title='AutoMapper from a List to Class Properties'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZAfOQhLCV6Pdkf4loVVRZdyF0eE1JnaB6furo2u3Gh6lyvI0UYW4kOIfrtLh3xquOMDkA9OzuUMbvC7zKf71bQO3ZZ15_vpfMyw9wKwMZwkf-2QcmhaPVYOs5t4NldOynFvHi1zjvQi9/s72-c/fw_convert2_icon.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-4498425447203409153</id><published>2013-03-08T00:00:00.000-05:00</published><updated>2013-03-08T00:00:06.697-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dry Ice"/><category scheme="http://www.blogger.com/atom/ns#" term="Home"/><title type='text'>Dry Ice</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXopDa5p9pMpjUm3F5gCJHJuCPsRYrLCW_-eU_BTAIAXqSlWd_8X6GD4N5oyNMm06IOLtHZhBO7phxai9NSdqP0Q4hS-IC9ZaZVKhLPePn5J03yRau6MCl__5IQzR1A8MQSJZ6jB0xlpk0/s1600/PenguinBox.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXopDa5p9pMpjUm3F5gCJHJuCPsRYrLCW_-eU_BTAIAXqSlWd_8X6GD4N5oyNMm06IOLtHZhBO7phxai9NSdqP0Q4hS-IC9ZaZVKhLPePn5J03yRau6MCl__5IQzR1A8MQSJZ6jB0xlpk0/s200/PenguinBox.jpg&quot; width=&quot;173&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
What does Dry Ice evoke in you? For me I remember clearly selling popsicles at my middle school Fall festival and being reminded constantly not to touch the dry ice, sine I would burn myself. How could ice burn? At some point I did touch my arm, and man it hurt. At the same time, this was the greatest stuff ever, ice that didn&#39;t melt into water, and that could burn. Is there anything it couldn&#39;t do? Heck, I just read an article about the &lt;a href=&quot;http://www.digitaltrends.com/lifestyle/what-is-this-crazy-waterless-washing-machine-concept/&quot;&gt;Orbit&lt;/a&gt;, a portable washing machine that is in development and uses dry ice to clean clothes. It also smokes and makes crazy awesome bubbles in milk and soda.&lt;br /&gt;
&lt;br /&gt;
About last Spring I started following the &lt;a href=&quot;http://www.dryiceideas.com/&quot;&gt;Penguin Dry Ice&lt;/a&gt; blog. This s a great place to get information about how you can actually use dry ice. For example, it&#39;s a great alternative to regular ice for any coolers, so long as you separate the ice from the food. I had food on top of the ice, and it froze. Turned into freeze dried fruit.&lt;br /&gt;
&lt;br /&gt;
I&#39;d never considered it before since I assumed it was expensive. But, turns out dry ice is about $1 per pound, less than the cost of regular ice in the store. On top of it, 5 pounds of dry ice is much smaller than 5 pounds of regular ice.&lt;br /&gt;
&lt;br /&gt;
You can get it at most grocery stores. All of our local Harris Teeters have it, but you need to show ID and be over 18 to get it.&lt;br /&gt;
&lt;br /&gt;
So, with it being so great, here are the down sides:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;It only lasts about 24 - 48&amp;nbsp;hours in the freezer. So you have to buy it about when you plan to use it.&lt;/li&gt;
&lt;li&gt;It can burn, so it&#39;s not for kids to use.&lt;/li&gt;
&lt;li&gt;You can&#39;t put it in a cup as regular ice. It turns into carbon monoxide, which won&#39;t kill you, but can give you a headache. You can put you cup in another cup, and have the second cup with dry ice.&lt;/li&gt;
&lt;/ul&gt;
It&#39;s definitely worth trying out dry ice. It was excellent for our last camping trip.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/4498425447203409153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/4498425447203409153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4498425447203409153'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4498425447203409153'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/dry-ice.html' title='Dry Ice'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXopDa5p9pMpjUm3F5gCJHJuCPsRYrLCW_-eU_BTAIAXqSlWd_8X6GD4N5oyNMm06IOLtHZhBO7phxai9NSdqP0Q4hS-IC9ZaZVKhLPePn5J03yRau6MCl__5IQzR1A8MQSJZ6jB0xlpk0/s72-c/PenguinBox.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-7513135409194293598</id><published>2013-03-07T00:00:00.000-05:00</published><updated>2013-03-07T00:00:07.989-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Accidents"/><category scheme="http://www.blogger.com/atom/ns#" term="Kids"/><title type='text'>Potty Accidents</title><content type='html'>While we still struggle with accidents, we&#39;ve tried a lot of different ideas, therapists, doctors, tests, anything. While we still haven&#39;t nipped this in the bud, we do seem to be making progress. A lot of this is thanks to reading &lt;span id=&quot;btAsinTitle&quot;&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/B007M5PIZS/ref=oh_d__o03_details_o03__i00?ie=UTF8&amp;amp;psc=1&quot;&gt;It&#39;s No Accident: Breakthrough Solutions to Your Child&#39;s Wetting, Constipation, UTIs, and Other Potty Problems&lt;/a&gt; by Steven Hodges and Suzanne Schlosberg.&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;It&#39;s no secret, they believe most (almost all) kids who have accidents at night or&amp;nbsp;during the day are due to constipation. More specifically, our kids aren&#39;t getting enough fiber in their diets (all kids really) and so a lot end up with poop stuffed all in the their colon and the intestines, never really clearing out. So even though kids poop daily, it still doesn&#39;t ever clear out.&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;We haven&#39;t gotten to doing an enema or Miralax yet, we really need an X-Ray anyway and to see&amp;nbsp;the doctor again. But adding fiber has definitely made a different for both kids. If you are jut beginning potty training, or still having accidents, I can&#39;t recommend enough how useful this book was.&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;Peace.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/7513135409194293598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/7513135409194293598' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/7513135409194293598'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/7513135409194293598'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/potty-accidents.html' title='Potty Accidents'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-6615480980488657708</id><published>2013-03-06T00:00:00.000-05:00</published><updated>2013-03-06T00:00:08.971-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Activities"/><category scheme="http://www.blogger.com/atom/ns#" term="DC"/><category scheme="http://www.blogger.com/atom/ns#" term="Travel"/><category scheme="http://www.blogger.com/atom/ns#" term="Washington"/><title type='text'>Best Free (or really cheap) Activities in DC</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4OKqz4kj6PlFNakiPKyY-4DNp4EGLtVARFgyCF_IGusKHL6nQrQER93FzeKeKqRLgIQhgofAtfj7Sz3IgBK8-M2opQpYKIKCIkfwNjhHZyau857PVOYqLRB_btkJN0uzZ4_rimGTxPau/s1600/800px-Uptown_theater_DC.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4OKqz4kj6PlFNakiPKyY-4DNp4EGLtVARFgyCF_IGusKHL6nQrQER93FzeKeKqRLgIQhgofAtfj7Sz3IgBK8-M2opQpYKIKCIkfwNjhHZyau857PVOYqLRB_btkJN0uzZ4_rimGTxPau/s200/800px-Uptown_theater_DC.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Growing up in DC, I had a LOT of time to wander the city, by foot, car and Metro. Here are&amp;nbsp;some of the most memorable things I recommend everyone does. I still don&#39;t get tired of doing them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Smithsonian&lt;/h2&gt;
It wasn&#39;t until College when I spent a semester in London that I realized all museums were not free. This is because everything at the Smithsonian is free. It is, without a doubt, the most complete education you can get for free. History, Culture, Art, Nature, Space, Technology... everything is covered. And it isn&#39;t just pictured on the walls, they have activities for kids, family and adults all the time.&lt;br /&gt;
&lt;br /&gt;
While there are obvious options, like the Zoo or the Natural History Museum, I and my kids definitely recommend the following places to visit. The kids are still talking about some.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Natural History Museum&lt;/h3&gt;
I know I mentioned it as obvious, but I can&#39;t overstate how incredible this place is. You should definitely check out the&amp;nbsp;insect exhibit, with LIVE insects. They also have a great butterfly exhibit, but you have to get tickets for a set time. You could spend days seeing everything.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Hirshorn&lt;/h3&gt;
The &lt;a href=&quot;http://www.hirshhorn.si.edu/collection/home/&quot;&gt;Hirshorn&lt;/a&gt; Museum is the best lace for anyone even slightly interested in art. They have a lot of modern art, but also exhibits that will really change your way of seeing the world. Colin and Rachel were really taken by the Andy Warhol: Shadows exhibit, where a painting of the same thing was done in 100 panels, all with different color or lighting. Colin, at 4, wanted to get home so he could color one himself. Rachel wanted a picture of a metal doll, so she could draw it. They were both so taken by the art that they wanted to make it themselves. It was incredible.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Sackler&lt;/h3&gt;
I bet you don&#39;t even know this exists. The &lt;a href=&quot;http://asia.si.edu/&quot;&gt;Sackler&lt;/a&gt; gallery has Asian art, with another museum across the garden for African art. What&#39;s always interesting about these is that the museum entrance is above ground, but the rest of the museum is set like a silo down 60 feet or so underground. While the exhibits are good, the real difference with the Sackler is that they have a lot of events for kids and families. We went with the in-laws and kids&amp;nbsp;and spent 2 - 3 hours jut taking stamps of the word Love in different languages on Valentine&#39;s day in 2012. It doesn&#39;t sound great, but it really is an amazing time.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Holocaust&lt;/h3&gt;
The &lt;a href=&quot;http://www.ushmm.org/museum/&quot;&gt;Holocaust museum&lt;/a&gt; always changes my outlook on what we can do as humans. It will be the most depressing thing you do, and you&#39;ll remember it for years. It&#39;s worth doing, but not with young kids, and generally not unless you&#39;re at a place where the depression won&#39;t hit you. Remember to get &lt;br /&gt;
tickets.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Aquarium&lt;/h3&gt;
Did you even know there was&amp;nbsp;the &lt;a href=&quot;http://www.aqua.org/visit/dc&quot;&gt;National&amp;nbsp;Aquarium&lt;/a&gt; in DC? I think it costs $10 per person, and is very small. It&#39;s also all underground and well hidden. It also often has pop-up events. We saw and touched different bones of fish and amphibians that they brought out on a rolling table.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Memorials&lt;/h3&gt;
If you find a nice day, you should walk the mall, from the Washington Monument (definitely get tickets to go up, but there are more impressive high-up places to visit) past the reflecting pool to the Lincoln Memorial, then around Independence Avenue to the George Washington and MLK Memorials.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Off the Mall&lt;/h2&gt;
Nearby the Washington Mall, but not part of the Smithsonian, is the &lt;a href=&quot;http://www.oldpostofficedc.com/&quot;&gt;Old Post Office Pavilion&lt;/a&gt;. It has a foo court, which is perfect for a cheap lunch instead of buying in the museums. But also check out the bell tower. It&#39;s free, and a simple elevator ride up. In my opinion, it has a much better view of the Mall over what the Monument can offer.&lt;br /&gt;
&lt;br /&gt;
You should also go to the &lt;a href=&quot;http://www.nationalcathedral.org/&quot;&gt;National Cathedral&lt;/a&gt; (did you know it&#39;s Episcopal, we Episcopalians&amp;nbsp;do know how&amp;nbsp;to go big and get the prime real estate). The garden is awesome for a walk or picnic, and check out the towers, they are the absolute best views of DC.&lt;br /&gt;
&lt;br /&gt;
If you&#39;re at the Zoo, or just nearby, make time to see a movie at &lt;a href=&quot;http://en.wikipedia.org/wiki/Uptown_Theater_(Washington,_D.C.)&quot;&gt;The Uptown&lt;/a&gt;. It&#39;s one of the most impressive movie theaters I have ben to. Lots of history, and I love that t has a balcony. I remember my dad taking me there to see Star Wars A New Hope (Episode IV) when I was really young.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/6615480980488657708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/6615480980488657708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/6615480980488657708'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/6615480980488657708'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/best-free-or-really-cheap-activities-in.html' title='Best Free (or really cheap) Activities in DC'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4OKqz4kj6PlFNakiPKyY-4DNp4EGLtVARFgyCF_IGusKHL6nQrQER93FzeKeKqRLgIQhgofAtfj7Sz3IgBK8-M2opQpYKIKCIkfwNjhHZyau857PVOYqLRB_btkJN0uzZ4_rimGTxPau/s72-c/800px-Uptown_theater_DC.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-2768022293590195699</id><published>2013-03-05T00:00:00.000-05:00</published><updated>2013-03-05T00:00:06.899-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Activities"/><category scheme="http://www.blogger.com/atom/ns#" term="Family"/><category scheme="http://www.blogger.com/atom/ns#" term="Kids"/><title type='text'>Kids Activities</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5qHEZKQmR7ygr_fWLunSYfJUA64suiPXTzQSIXkVDIRogV0cT2ZBcsBYZTnS5lvXvMJJVXO9sPoNstEqFD7zULdrGuF2HGQhsrVSBt3VOebE4FaSryKpp830Szi7nvilm-fRPGO3dlpBe/s1600/kids.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5qHEZKQmR7ygr_fWLunSYfJUA64suiPXTzQSIXkVDIRogV0cT2ZBcsBYZTnS5lvXvMJJVXO9sPoNstEqFD7zULdrGuF2HGQhsrVSBt3VOebE4FaSryKpp830Szi7nvilm-fRPGO3dlpBe/s200/kids.jpg&quot; width=&quot;133&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I find myself often in a situation where it&#39;s some morning, I have the kids for the afternoon, and I&#39;m not sure what to do with them. We could go to a movie, or play Legos, but living near Washington, DC, I want the kids to love the museums as much as I do, or to see what else is going on.&lt;br /&gt;
&lt;br /&gt;
This Sunday, while my wife was travelling, I took the kids to the Chocolate Festival in Old Town Fairfax. I didn&#39;t even know there wad an Old Town Fairfax, much less a chocolate festival. It was okay overall, but the best was seeing any type of chocolate you could imagine, and letting the kids pick something for themselves and their teacher.&lt;br /&gt;
&lt;br /&gt;
For finding cheap or free stuff&amp;nbsp;going on nearby with the kids, I have to say &lt;a href=&quot;http://about.com/&quot;&gt;About.com&lt;/a&gt; has consistently been the best. I tried &lt;a href=&quot;http://si.edu/&quot;&gt;si.edu&lt;/a&gt; (the Smithsonian Website) which is also good, but a little hard to navigate, partly because they have so much going on. At About I did a search of what to do with my kids this weekend, and a bunch of items came up. &lt;a href=&quot;http://dc.about.com/&quot;&gt;dc.about.com&lt;/a&gt; is really the best place to go.&lt;br /&gt;
&lt;br /&gt;
I&#39;ll write about some specific things you must do if you&#39;re in DC. These are things I have shared with kids, teens and adults for years, and everyone is always impressed.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/2768022293590195699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/2768022293590195699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/2768022293590195699'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/2768022293590195699'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/kids-activities.html' title='Kids Activities'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5qHEZKQmR7ygr_fWLunSYfJUA64suiPXTzQSIXkVDIRogV0cT2ZBcsBYZTnS5lvXvMJJVXO9sPoNstEqFD7zULdrGuF2HGQhsrVSBt3VOebE4FaSryKpp830Szi7nvilm-fRPGO3dlpBe/s72-c/kids.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-4916571047532856052</id><published>2013-03-04T00:00:00.000-05:00</published><updated>2013-03-04T00:00:07.848-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Comics"/><title type='text'>Comic Book Storage</title><content type='html'>After you get into comic books, you quickly come to realize you need some way to store them. There are a lot of details on exactly how to store comic books to&amp;nbsp;last years. Heck,&amp;nbsp;there are even companies that you can mail your comic boo to, and will put it I a clamshell to last years.&lt;br /&gt;
&lt;br /&gt;
Honestly, I get comic books to read them, share them with others, and get my kids into them. Some might be worth money, but we&#39;re talking about maybe $20 for a few comics, and pennies for others. I would never make back the money I spent. At the same time, I do want then to look brand new for as long as possible. So, focusing on someone who doesn&#39;t want to spend much, and keep them safe but accessible, here&#39;s what the&amp;nbsp;comic store has taught me.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Bags (Sleeves)&lt;/h2&gt;
You need to get comic book bags. These are plastic (polypropylene) bags. You should get the &lt;strong&gt;Golden Age&lt;/strong&gt; size. Comics today are more narrow than they used to be, so the Golden Age size doesn&#39;t give you a snug fit. But it does give you room to store actual&amp;nbsp;graphic novels or comic books that are thicker than normal.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Boards&lt;/h2&gt;
The bags are good to keep dust off, but they won&#39;t give you support to hold the comic up. It would still flop around, and the spine could crack if the comic was on an uneven surface. So, along with a pack of 100 bags, you also need to buy a pack of 100 board backs.&lt;br /&gt;
&lt;br /&gt;
My&amp;nbsp;comic book store sells a bag and board for 20 cents per comic. Personally I buy a pack of 100 sleeves and 100 backs, since it&#39;s a bit cheaper (about $16 total) and lasts a while.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Boxes&lt;/h2&gt;
To store comics, they have boxes made specifically to store comics. These are called long or short boxes. A long box is twice as long as a short box. I had a coupe short boxes starting out, and now have two long boxes. Most of them are 1/2 - 3/4 full, so I have a lot of room. A long box is really pretty big.&lt;br /&gt;
&lt;br /&gt;
Again, these are pretty inexpensive. About $7 - $12 each. It&#39;s definitely worth picking up a small box. Even if you only get a few, you can box them up, put the lid on, and shelve them without worrying what might happen to the comics over time.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Storage&lt;/h2&gt;
The&amp;nbsp;recommendations I&#39;ve read is to use a dry, warm environment. Essentially, keep them readily available to read, or at worst in a basement. Light will obviously fade them a bit. But I&#39;m no where close to this being a problem since I&#39;m so new. While a closet shelf would be best, I&#39;m now using the floor in my office.&lt;br /&gt;
&lt;br /&gt;
Have fun keeping the comics forever!&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/4916571047532856052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/4916571047532856052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4916571047532856052'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4916571047532856052'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/comic-book-storage.html' title='Comic Book Storage'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-5979410682992974540</id><published>2013-03-03T00:00:00.000-05:00</published><updated>2013-03-03T00:00:05.548-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="DVD"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><title type='text'>Backing Up Movies</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyPDARBp-wt2O136anrLFjOOLl3l-yOEU0rEvWs620l6yP3BdHkHb2XUD-rzw5gRcwZsCwgkblG1MH6EzTpW7NpoQKmPC3_1BoxlUepBSGPKxk_BVFR9SFS9yvM1TsF86potIpsaPznN4_/s1600/boxshot_clonedvdmobile_new.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;154&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyPDARBp-wt2O136anrLFjOOLl3l-yOEU0rEvWs620l6yP3BdHkHb2XUD-rzw5gRcwZsCwgkblG1MH6EzTpW7NpoQKmPC3_1BoxlUepBSGPKxk_BVFR9SFS9yvM1TsF86potIpsaPznN4_/s200/boxshot_clonedvdmobile_new.gif&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I have quite a few DVDs at this point, and a lot of devices (my Surface Pro and iPods) which can&#39;t play them (no DVD player built in). So I find I&#39;m nervous about having the DVDs just laying around and would prefer to back them up. A few movies are coming out now with a digital download option, which I have found confusing to use (and you only have a year to download the movie), but it&#39;s better than nothing. So I find I really need some way to back up my movies on the computer so that if they were somehow lost, I could get them. On top of it, I would like the ability to bring my movies with me on the iPods or trips. To be clear, I wouldn&#39;t want to share the movies with people (beyond my kids), but I do find I need a way to back up DVDs.&lt;br /&gt;
&lt;br /&gt;
After doing a bit of research and working with other options, the best and easiest option I have found is a mix of SlySoft &lt;a href=&quot;http://www.slysoft.com/en/anydvdhd.html&quot;&gt;AnyDVD&lt;/a&gt; and SlySoft &lt;a href=&quot;http://www.slysoft.com/en/clonedvd-mobile.html&quot;&gt;Clone DVD Mobile&lt;/a&gt;. I know there are a lot of other options out there, but I really find SlySoft to be the easiest to use for cloning movies. It&#39;s worth mentioning that there is ALWAYS a 20% off sale on the site, so don&#39;t feel pressured to buy it immediately.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s how it all works. SlySoft AnyDVD scans any disc you put in the computer, and removes and copy protection. It doesn&#39;t copy movies or anything, and it&#39;s clearly stated to use only for backups of movies. But all by itself AnyDVD isn&#39;t going to copy movies.&lt;br /&gt;
&lt;br /&gt;
After you have AnyDVD running (it always runs in the background) you can use any program to back up your video. I prefer Clone DVD since it seems to be the easiest one, and the files that it makes are pretty small. I generally choose the iPod format, ten use the defaults for the rest of the options. It takes about a hour to coy each DVD, but then you can store it safely.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/5979410682992974540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/5979410682992974540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/5979410682992974540'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/5979410682992974540'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/backing-up-movies.html' title='Backing Up Movies'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyPDARBp-wt2O136anrLFjOOLl3l-yOEU0rEvWs620l6yP3BdHkHb2XUD-rzw5gRcwZsCwgkblG1MH6EzTpW7NpoQKmPC3_1BoxlUepBSGPKxk_BVFR9SFS9yvM1TsF86potIpsaPznN4_/s72-c/boxshot_clonedvdmobile_new.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-4944114881299847745</id><published>2013-03-02T00:00:00.000-05:00</published><updated>2013-03-02T00:00:03.878-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Programs"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><title type='text'>Securing Your PC</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvJSZTm36MxCk3eIk9XHLiIjtGUo5K9Nq81jg3mkZJGGNK4MClEWFM2thrWecMILbeVieTx9i-3BwvrHcJ-OmJD1J5C9JhPR-cibc35f0dmpaOiRja4yTWVwQjhiyfTxl9JBgttSwYQw6w/s1600/secure_passwords.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvJSZTm36MxCk3eIk9XHLiIjtGUo5K9Nq81jg3mkZJGGNK4MClEWFM2thrWecMILbeVieTx9i-3BwvrHcJ-OmJD1J5C9JhPR-cibc35f0dmpaOiRja4yTWVwQjhiyfTxl9JBgttSwYQw6w/s200/secure_passwords.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
One of the biggest questions I get from people is what they should do to secure their computer. The Conversations go something like this:&lt;br /&gt;
&lt;br /&gt;
Phone: ring... ring... (btw, it&#39;s the middle of the day while I&#39;m working without Internet access)&lt;br /&gt;
Me: Hey, how are you doing?&lt;br /&gt;
Family member: Fine, but I had a quick question... I keep getting pop-ups that say my computer s infected, and my antivirus is out of date, so I should open the window and buy the clean-up service. Does this make sense?&lt;br /&gt;
Me: Do you have any security software installed now?&lt;br /&gt;
Family Member: The computer had something installed when it came, so I&#39;ve just kept using that...&lt;br /&gt;
&lt;br /&gt;
This then leads to some emergency troubleshooting, and the computer somehow ends up at my house while I try to get it fixed that evening, so the person isn&#39;t without a computer for a day.&lt;br /&gt;
&lt;br /&gt;
Typically most of my family members also don&#39;t want to pay the annual fee for some service, so they try to find free alternatives, which seem to sometimes be worse than having nothing. Or a lot of programs I&#39;ve used have really slowed down my PC. I remember one program that billed itself as having the smallest impact in system performance, but every now and then it would run and get stuck, using so many resources my whole computer was slower than dirt until I rebooted.&lt;br /&gt;
&lt;br /&gt;
After a lot of reading of reviews, and finally pulling the trigger myself for my new computer,&amp;nbsp;I recommend the following.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Free&lt;/h2&gt;
If you&#39;re cheap, or jut very low on funds, Microsoft has it&#39;s own &lt;a href=&quot;http://windows.microsoft.com/en-us/windows/security-essentials-download&quot;&gt;Security Essentials&lt;/a&gt; which I have used for a few years and it&#39;s excellent. Microsoft makes clear that it will protect you, but it&amp;nbsp;would be better to get a paid program. But I never had performance issues nor viruses or adware with this running. So it&#39;s a great free alternative, just make sure you are careful what sites you visit (no downloading BitTorrents).&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Paid (Best)&lt;/h2&gt;
&lt;a href=&quot;http://www.pcmag.com/&quot;&gt;PC Magazine&lt;/a&gt; has had consistently great reviews of software products. Based on their reviews, and reading user reviews on Amazon, &lt;a href=&quot;http://www.pcmag.com/article2/0,2817,2409925,00.asp&quot;&gt;Norton Internet Security&lt;/a&gt; is the best option (&lt;a href=&quot;http://www.pcmag.com/search_redirect/?qry=norton+360&amp;amp;searchSection=0&amp;amp;site=3&quot;&gt;Norton 360&lt;/a&gt; is also excellent, but the difference is it includes cleaners for your computer, which I never use. The price on Amazon is close to Internet Security, so I chose whatever was cheaper that day).&lt;br /&gt;
&lt;br /&gt;
I&#39;ve been running Norton 360 on two computers, and it has been excellent. Very easy to use, and generally runs in the background.&lt;br /&gt;
&lt;br /&gt;
The one thing I recommend is checking Amazon each year when your renewal is up. The annual renewal through Norton is something like $70 per year, which seems crazy, even for 3 PCs. On Amazon &lt;a href=&quot;http://www.amazon.com/Norton-Internet-Security-2013-Download/dp/B008SCMUUA/ref=sr_1_3?ie=UTF8&amp;amp;qid=1362085850&amp;amp;sr=8-3&amp;amp;keywords=norton+360&quot;&gt;Norton&amp;nbsp;Internet Security&lt;/a&gt;&amp;nbsp;is $22, so the next year you can buy Norton again, then put in the key to get another year of service. It&#39;s more work, but saves you about $40 per year.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/4944114881299847745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/4944114881299847745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4944114881299847745'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4944114881299847745'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/securing-your-pc.html' title='Securing Your PC'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvJSZTm36MxCk3eIk9XHLiIjtGUo5K9Nq81jg3mkZJGGNK4MClEWFM2thrWecMILbeVieTx9i-3BwvrHcJ-OmJD1J5C9JhPR-cibc35f0dmpaOiRja4yTWVwQjhiyfTxl9JBgttSwYQw6w/s72-c/secure_passwords.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-3465737698437465211</id><published>2013-03-01T00:00:00.000-05:00</published><updated>2013-03-01T00:00:03.787-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fmily"/><category scheme="http://www.blogger.com/atom/ns#" term="Games"/><category scheme="http://www.blogger.com/atom/ns#" term="Stories"/><category scheme="http://www.blogger.com/atom/ns#" term="Writing"/><title type='text'>Thinking Games</title><content type='html'>One of the things I’ve been blessed enough to get to do is read to my daughters class. In Second grade this was the highlight of my month. I got to pick any book I wanted, usually something a little off-normal, and watch the kids actual;y be interested in the story. In almost all cases I left the books behind so the kids could borrow them throughout the year.&lt;br /&gt;
&lt;br /&gt;
I remember clearly how I read &lt;a href=&quot;http://www.amazon.com/Crazy-Hair-Neil-Gaiman/dp/0060579080/ref=sr_1_1?ie=UTF8&amp;amp;qid=1362008558&amp;amp;sr=8-1&amp;amp;keywords=Crazy+Hair+gaiman&quot;&gt;Crazy Hair&lt;/a&gt; by Neil Gaiman (picked up that morning in a rush from the Comic Book Store… They saved the day). After that I mentioned that there was another book, &lt;a href=&quot;http://www.amazon.com/Wolves-Walls-Neil-Gaiman/dp/0380810956/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1362008602&amp;amp;sr=1-1&amp;amp;keywords=gaiman+wolves+walls&quot;&gt;The Wolves in the Walls&lt;/a&gt;, but it was kind of scary, so I didn’t bring it. They unanimously decided they wanted The Wolves in the Walls, and asked me about it the next month. That book went over really well with them.&lt;br /&gt;
&lt;br /&gt;
I usually got 15 minutes, and a book would take maybe 5 – 10 minutes, so I always had a few minutes left over to fill. At those times it’s always worth having a set of &lt;a href=&quot;http://www.storycubes.com/&quot;&gt;Rory’s Story Cubes&lt;/a&gt; handy. They have a set of things (vowels) and verbs (actions). You just roll a set and make up some story based on the pictures that come up.&lt;br /&gt;
In the class I would roll and make up the story for the kids. But at home or with friends we split the dice, so each person adds to the story. It’s similar to being at camp, where you go around the circle, each person adding to a story, but a little more directed which helps move things along.&lt;br /&gt;
&lt;br /&gt;
For example, with this roll:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzLpe8USMpmeopLBP-YTPkY1qi5LLf9KxByAIpOHASMHNqog_Xuxk_jQLS1aLXNFWHeZoWnp1LS6Cdu29JtJFnRMeYXKTm-SWX21yZNY5pcfAsZe3yO3o-dUb51Gne7t5ZRgUf6tgiwc3F/s1600/picture000.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzLpe8USMpmeopLBP-YTPkY1qi5LLf9KxByAIpOHASMHNqog_Xuxk_jQLS1aLXNFWHeZoWnp1LS6Cdu29JtJFnRMeYXKTm-SWX21yZNY5pcfAsZe3yO3o-dUb51Gne7t5ZRgUf6tgiwc3F/s320/picture000.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I get:&lt;br /&gt;
&lt;br /&gt;
Once there was a boy who was in love with apples. He was drawn to them like a magnet to steel, nothing could keep them apart. He could sniff out an apple no matter where it was, his nose was an apple compass. He loved apples so much, his mother decided to take him to an orchard, where he had a great time pointing out apples that had fallen among the flowers.&lt;br /&gt;
&lt;br /&gt;
While he was pointing out one specific, beautiful apple, a swarm of bees came down on him. The swarm landed on him like a star falling from the sky. He was quickly burning everywhere from the stings.&lt;br /&gt;
&lt;br /&gt;
The boy hadn’t realized that he had accidentally stepped on a bee hive. In case you didn’t know, the bee hive is like a pyramid, a sacred shrine that they also get to call home and work in, alongside their queen. This specific bee sat upon her throne, ruling over her subjects while she devoured everything in her path, like a swarm of beetles protecting the throne and burrowing under the skin of anyone who comes near, devouring them from the inside out.&lt;br /&gt;
&lt;br /&gt;
Anyone else have a simple, fun thinking game?&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/3465737698437465211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/3465737698437465211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/3465737698437465211'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/3465737698437465211'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/03/thinking-games.html' title='Thinking Games'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzLpe8USMpmeopLBP-YTPkY1qi5LLf9KxByAIpOHASMHNqog_Xuxk_jQLS1aLXNFWHeZoWnp1LS6Cdu29JtJFnRMeYXKTm-SWX21yZNY5pcfAsZe3yO3o-dUb51Gne7t5ZRgUf6tgiwc3F/s72-c/picture000.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-842139243320181635</id><published>2013-02-28T00:00:00.000-05:00</published><updated>2013-02-28T00:00:04.928-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cooking"/><category scheme="http://www.blogger.com/atom/ns#" term="Diet"/><category scheme="http://www.blogger.com/atom/ns#" term="Food"/><title type='text'>The Best Tuna</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wildplanetfoods.com/store/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/a/l/albacore_4_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;http://www.wildplanetfoods.com/store/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/a/l/albacore_4_1.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I’ve been on a diet for the past few months where I can eat anything I want for 4 days of the week, but for three I have a very strict diet. In that lunch every day is tuna fish, with very little seasoning. It’s safe to say that over the past 4 months I’ve become somewhat of an aficionado of tuna fish, at least what I can get at the store.&lt;br /&gt;
&lt;br /&gt;
It was pretty funny actually, I recall clearly one Friday evening out with the family and in-laws, and saw a Gold Box deal (between November 1st and Christmas they have hourly deals of almost anything, but they only come up at certain times and sell out quickly for popular stuff) for, you guessed it, tuna fish. More specifically, 24 cans of &lt;a href=&quot;http://www.amazon.com/gp/product/B001NO6EA2/ref=oh_details_o00_s00_i00?ie=UTF8&amp;amp;psc=1&quot;&gt;Crown Prince Tuna&lt;/a&gt;. My wife thought I was crazy, but it was pretty good. Over the next three months I single handedly worked my way through the box, and decided to see what else was available, so I’ve gone through a few different store brands and commercial brands like Star Kist, Star Burst (okay, maybe tune flavored Star Burst?), Chicken of the Sea, some Tuna in oil (packed like sardines, it was pretty good, but $4 – $6 per can), and even Sashimi tuna (think sushi without the rice). &lt;br /&gt;
&lt;br /&gt;
Yesterday I tried one of the last brands, and I was stunned. This was, without a doubt, the best tuna I had ever eaten. &lt;a href=&quot;http://www.wildplanetfoods.com/&quot;&gt;Wild Planet&lt;/a&gt; tuna is excellent! It’s definitely cheaper in the grocery store than on Amazon. I was reading the can later, and saw they use sashimi grade tuna. Really though, it’s been over a day and I’m still thinking about it and telling other people about it.&amp;nbsp; If you’re looking for some excellent tuna, Wild Planet is the way to go.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/842139243320181635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/842139243320181635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/842139243320181635'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/842139243320181635'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/02/the-best-tuna.html' title='The Best Tuna'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-6905935641122889244</id><published>2013-02-27T00:30:00.000-05:00</published><updated>2013-02-27T00:30:00.175-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 8"/><title type='text'>Windows 8: Day 1</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk0alrned99c88hJL_k5efShI-P1ObJeQj83oiQeusvDCkRyGWWwOWTp4fmXbFXdjYYNYOff9DO72ZhHpA3rCiQtaZ0RzpypF7fMbuzb7EnTbjMraS4xkneBIrtW0s3SGLlI3ZP7GpRZJ6/s1600/Screenshot+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;112&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk0alrned99c88hJL_k5efShI-P1ObJeQj83oiQeusvDCkRyGWWwOWTp4fmXbFXdjYYNYOff9DO72ZhHpA3rCiQtaZ0RzpypF7fMbuzb7EnTbjMraS4xkneBIrtW0s3SGLlI3ZP7GpRZJ6/s200/Screenshot+(2).png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
So, you decided to get a Windows 8 laptop with a touch screen. Or you upgraded your old compute to Windows 8. It’s worth noting your experience with just a mouse will be somewhat different from using a touch screen. I find the touch screen more intuitive overall, but the mouse does work.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Getting Started&lt;/h2&gt;
While I rarely read the manual for things, I definitely recommend you first step be to read &lt;a href=&quot;http://windows.microsoft.com/en-US/windows-8/get-started&quot;&gt;Microsoft’s Getting Started&lt;/a&gt; page. There are a lot of tips on how to use the windows, close programs, and how to use the mouse. &lt;br /&gt;
&lt;br /&gt;
The best option, if you have a &lt;a href=&quot;http://content.microsoftstore.com/home.aspx?WT.mc_id=onlinestore_footertray&quot;&gt;Microsoft Store&lt;/a&gt; nearby, is t stop in and let a dales person help. All the people I talked to were excellent, and explained first thing some of the most useful things they have found.&lt;br /&gt;
&lt;br /&gt;
The most useful things I’ve found are:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Search: On the tile screen, just start typing and your apps will search. You can also press Internet Explorer to search the Web.&lt;/li&gt;
&lt;li&gt;Switch to last program: Swipe from the left side of the screen. &lt;/li&gt;
&lt;li&gt;Select from all running programs: Swipe from the left, drag the window back to the left side.&lt;/li&gt;
&lt;li&gt;Close an app you are using: Slide your finger from the top of the screen to the bottom.&lt;/li&gt;
&lt;li&gt;Close an app you’re not using: Slide from the left side, pause for a half-second in the middle of the screen, then drag it down.&lt;/li&gt;
&lt;li&gt;Log in: Swipe right and choose &lt;strong&gt;Settings&lt;/strong&gt; –&amp;gt; &lt;strong&gt;Choose PC Settings&lt;/strong&gt;. Select &lt;strong&gt;Users&lt;/strong&gt; and check out the login options. You can set up a PIN, or a Photo Password. Right now I love the photo password, though you definitely need to get it right.&lt;/li&gt;
&lt;/ul&gt;
In all cases, when I say slide from the right or top of the screen, I mean put your finger off of the screen, and slide onto it. The Microsoft page has some good detail here.&lt;br /&gt;
&lt;br /&gt;
As I blog I find myself writing in one app, swiping from the left to bring up IE and find a link or information, copy it, swipe from the left, going back to Live Writer, and pasting in. It’s a great way to swap between two windows quickly.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Live (Hotmail) Account&lt;/h2&gt;
If you didn’t set up a Microsoft account when you set up Windows 8, you certainly need to wen buying apps in the Microsoft Store. One of the nice things here is that your account gets you 7Gb of storage on SkyDrive, where you can share photos. It will also share some of your settings, including letting you use you Microsoft password on any computer where your account has been set-up. &lt;br /&gt;
&lt;br /&gt;
We have two Windows 8 PCs at home now, so I have an account on my wife’s computer, and she has one on mine. She just added my Email to the computer, and now I can use my password on both computers, and get most of my settings. It won’t automatically download and show all my apps, which is a bummer, but at least when I download them in the App store I don’t have to pay again, and it keeps my settings.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Family Safety&lt;/h2&gt;
If you have kids, it’s worth getting them Email accounts. We set one up for each kid, and have begun talking about internet safety. With their Email set up, we were able to add them as child users on each laptop. Again their password and settings are shared. But more importantly, online we can work with Microsoft’s Internet Safety. We can limit what the kids do, how much time they spend in apps, and we get a weekly Email of how much time thy have spent.&lt;br /&gt;
&lt;br /&gt;
The only down side to them having their own account is that if you bought an app for yourself, you will have to buy it again for each kid. We’re using this as an opportunity for them to understand how much things cost, and use their own allowance, or as a special gift for being good.&lt;br /&gt;
&lt;br /&gt;
Setting this up was incredibly easy. Swipe from right and choose &lt;strong&gt;Settings&lt;/strong&gt; –&amp;gt; &lt;strong&gt;Change PC Settings&lt;/strong&gt;. Select &lt;strong&gt;Users&lt;/strong&gt; and scroll down and select &lt;strong&gt;Add User&lt;/strong&gt;. If the kids don’t have an account, you can just type one in for them, and you’ll get a screen to fill in more information. You will have to get you credit card charged once for 50 cents to confirm you are an adult, but once you do it once you don’t need to for additional kids.&lt;br /&gt;
&lt;br /&gt;
After it’s all set up you can change permissions and settings on the Web from any computer at the &lt;a href=&quot;https://familysafety.microsoft.com/safety/default.aspx&quot;&gt;Family Safety&lt;/a&gt; site. Their &lt;a href=&quot;http://www.microsoft.com/security/default.aspx&quot;&gt;Internet Safety&lt;/a&gt; site is great, and well worth looking over to discuss with your kids.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Most Under-appreciated app&lt;/h2&gt;
The best built-in, under-appreciated app is Music. It’s like Spotify, where you can plan any song, album, or set up playlists. What Music does better than Spotify is easily show new albums, and they have absolutely anything you could want available the day it goes live. There are a few albums you have to pay for, or wait a few weeks. But you’d have the same problem with Spotify. The user interface with Music is incredible, and very simple to use.&lt;br /&gt;
&lt;br /&gt;
Peace.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/6905935641122889244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/6905935641122889244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/6905935641122889244'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/6905935641122889244'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/02/windows-8-day-1.html' title='Windows 8: Day 1'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk0alrned99c88hJL_k5efShI-P1ObJeQj83oiQeusvDCkRyGWWwOWTp4fmXbFXdjYYNYOff9DO72ZhHpA3rCiQtaZ0RzpypF7fMbuzb7EnTbjMraS4xkneBIrtW0s3SGLlI3ZP7GpRZJ6/s72-c/Screenshot+(2).png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-1211786589129347138</id><published>2013-02-26T00:30:00.000-05:00</published><updated>2013-02-26T00:30:01.976-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 8"/><title type='text'>What laptop should I get?</title><content type='html'>&lt;h1&gt;
&lt;/h1&gt;
&lt;h1&gt;
Assumptions&lt;/h1&gt;
Admittedly, this is as question asked all over the place, and the answer is always “it depends”. So, I’m going to make some assumptions:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;You’re a normal person, not a programmer like me. &lt;/li&gt;
&lt;li&gt;You understand what being online is, but you aren’t overly technical.&lt;/li&gt;
&lt;li&gt;You don’t want to spend a ton of money, but you want something that will last for the next 5 years if possible, 2 years at a minimum.&lt;/li&gt;
&lt;li&gt;You think Windows is confusing, and have heard the Mac is easy and more secure, but you could go either way, since cost is a factor.&lt;/li&gt;
&lt;li&gt;How much can I expect to pay?&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
Tablets&lt;/h1&gt;
To be clear, it’s very possible you don’t need a laptop at all. A lot of people can get by with a tablet that has the a ability to offload pictures from your camera, copy music from your CDs or download music online, write Emails, surf the Web (and it is Web with a capital W, though more and more that is falling out of favor… dumb English as an evolving language), and play games, both online and on your computer. The iPad or Microsoft Surface RT would do all of these things (it’s slightly more difficult to get music and photos onto an iPad, but it’s possible if you do everything online, or have an old computer laying around to store files). I’ll make clear right now, I’m not a fan of Android, tablets or phones. While they are highly customizable, they are also highly confusing for a normal person, and almost everyone I know well that has an Android phone has had problems with it. So, find a Google fanboy to get recommendations there, but the Galaxy Note might be my only recommendation.&lt;br /&gt;
&lt;h1&gt;
Laptops&lt;/h1&gt;
This is easier than it may sound. Be ready to pay about $700 – $1,200 for a laptop. &lt;br /&gt;
There are a lot of cheaper options out there, but you absolutely, without a doubt, must get a laptop with a touch screen. Everything with a touch screen right now (except for tablets) are a minimum of $700. This will come down though if you’re patient. Within the next year (two at most) Apple, Google and Microsoft will all have operating systems which will be significantly harder to use without a touch screen.&lt;br /&gt;
This touch screen requirement also means Apple is probably out of the running. There are rumors the next MacBook will have a touch screen, as well as Google’s Chromebook, so you could wait. The Chromebook will be cheap, but run nothing you really want except for things you can consume, like games and surfing the Web. Apple’s will be hugely expensive, and probably have an interface similar to the iPhone/iPad. To be clear, these are all my guesses from what I’ve read recently, I may be entirely wrong.&lt;br /&gt;
With that said, right now I’d highly recommend &lt;a href=&quot;http://www.microsoft.com/Surface/en-US/surface-with-windows-8-pro/home?WT.mc_id=MSCOM_EN_US_HP_FEATURE_133F2ENUS37332&quot;&gt;Microsoft’s Surface Pro&lt;/a&gt;, or another “convertible” Microsoft laptop running Windows 8. If you’re lucky enough to have a &lt;a href=&quot;http://content.microsoftstore.com/home.aspx?WT.mc_id=onlinestore_footertray&quot;&gt;Microsoft Store&lt;/a&gt; nearby, I’d recommend going in. They have a bunch of different laptops (of course including their own Surface Pro on prominent display), and I really liked &lt;a href=&quot;http://www.samsung.com/us/computer/tablet-pcs&quot;&gt;Samsung’s ATIV&lt;/a&gt; with a detachable keyboard. Lenovo also has the &lt;a href=&quot;http://www.lenovo.com/products/us/tablet/ideatab/lynx-k3011/?ipromoID=bannerLynx&amp;amp;&quot;&gt;Ideatab&lt;/a&gt; that looks excellent.&lt;br /&gt;
On top of it, the Microsoft sales staff are excellent! We went in before the Surface Pro came out, just to look at RT and get a feel for the keyboards. I and the sales guy got into a somewhat techie conversation, and he showed us every oddity you can do to make the Windows 8 tile interface usable. We talked and looked at their laptops, but he didn’t try and push anything on us, knowing I was not buying anything that day.&lt;br /&gt;
Best Buy may have more laptops to look at, and may be your only option if you’re not near a Microsoft Store, so it’s worth checking there as well. But the staff and offers by Microsoft couldn’t be beat. We even got the damage warranty there since the reviews were so good on their repair service, and it was cheaper than anywhere else by $150 (the warranty is 2 years for $99 right now, but will go up to $150). I don’t know if this will apply to other laptops or just Surfaces.&lt;br /&gt;
Full disclosure her, I have a Surface Pro. I love it, bought it the week it came out, but not the day (they sold out, and I drove store people nuts calling everyday) and can’t recommend it enough. It is either $900 or $1,000 depending on the hard drive size, but this is exactly what I want in a laptop. I so still need to buy an external drive to store my growing 500 Gb collection of photos, music, videos and documents.&lt;br /&gt;
You could also go with a laptop that doesn’t detach from the screen. One of the biggest reasons for this is you would probably have the ability to get a bigger hard drive, add RAM later, replace components (I mean, have your tech savvy sibling, son, daughter or in-law replace components). It will also mean the keyboard is heavier than the screen (the ones that detach all the computer innards are behind the screen, so it will be a little top heavy). Having the keyboard be heavier will feel more natural, but you will also get used to a heavier screen, we already do with tablets.&lt;br /&gt;
As a side note, the Surface Pro is the only laptop I know of which has a pen for input. Windows RT does NOT support pen, which is unfortunate. The &lt;a href=&quot;http://apps.microsoft.com/windows/en-us/app/fresh-paint/1926e0a0-5e41-48e1-ba68-be35f2266a03&quot;&gt;FreshPaint&lt;/a&gt; app is stellar, and I’d think anyone into painting or drawing would love a Surface Pro with FreshPaint. Of course I jut saw Microsoft published FreshPaint, so I inadvertently seem like even MORE of a Microsoft fan boy. It is the closest thing I’ve seen to really painting on a laptop.&lt;br /&gt;
&lt;h1&gt;
&lt;/h1&gt;
While Windows 8 is INCREDIBLY different from other versions of Windows, I am finding I prefer living with the tiles for everything, and don’t like going to the desktop as much. But those are details for another day.&lt;br /&gt;
&lt;h1&gt;
Things to Look For&lt;/h1&gt;
Here’s the low-down on what you should be looking for in you next laptop. If you want to avoid the jargon, and just get something simple, check out Widows RT or Windows 8. I promise, if you don’t know whether processing speed, RAM or hard drive contribute most to performance, you’ll probably be happy with either of these. But if you do want to compare, here’s what you should know:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Minimum of 4Gb RAM, I doubt you could find on with less&lt;/li&gt;
&lt;li&gt;Any CPU on the market today will be fine&lt;/li&gt;
&lt;li&gt;Solid State Hard Drive (it doesn’t have any moving parts, so less chance to fail – still BACK UP- and faster than any normal hard drive, but also smaller)&lt;/li&gt;
&lt;li&gt;Something you are comfortable with. Not wither Windows is different from Mac, but something you like holding, it’s light, and you feel like you could carry it anywhere. Something you want to show off to your friends.&lt;/li&gt;
&lt;/ul&gt;
I hope this helps. If you were in my family, this is what I’d recommend, but I’m always open t having my mind swayed.&lt;br /&gt;
Peace,   &lt;br /&gt;-Tom</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/1211786589129347138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/1211786589129347138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/1211786589129347138'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/1211786589129347138'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/02/what-laptop-should-i-get.html' title='What laptop should I get?'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-1631392265481869747</id><published>2013-02-25T00:30:00.000-05:00</published><updated>2013-02-25T00:30:01.964-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Comics"/><title type='text'>Is It Wednesday Yet?</title><content type='html'>About a year and a half ago I read an article about &lt;a href=&quot;http://www.dccomics.com/graphic-novels/dc-comics-the-new-52&quot;&gt;DC Comic’s New 52&lt;/a&gt;, where DC would reset all of their comics, and restart at #1. I’d never bought comics before, and generally considered them to be for teenage boys, and not overly interesting. I mean, why look at a book with little text and lots of pictures, when you can read a novel with a deep story and visualize the story yourself? What I found surprised me, a lot.&lt;br /&gt;
&lt;br /&gt;
I’ve mainly been taken by the art, which is incredible. This is definitely not the comic book you saw in the 70’s – 90’s, with the very cartoony characters.&lt;br /&gt;
&lt;br /&gt;
I’m also finding I love the long stories where we get to meet and learn about characters and be a part of their lives. It feels a lot like watching a TV show, where you have some ongoing stories as well as short, quick stories to keep things interesting.&lt;br /&gt;
&lt;br /&gt;
So, if you are jut getting started with comics, there are things I wish I knew. But I’m last least glad the staff and owners of &lt;a href=&quot;http://www.laughingogrecomics.com/wordpress/&quot;&gt;Laughing Ogre Comics&lt;/a&gt;, my local comic book store, let me do my own thing, but explained every question I had.&lt;br /&gt;
&lt;br /&gt;
While I am by no means an expert, I still don’t know the names of almost any writers or artists, I can share what I know.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Stories&lt;/h2&gt;
There are a ton of different stories, by a bunch of publishers. The main ones are DC, Marvel, Valiant (run by DC but had grittier, more adult – not sexual - comics), IDW (more independents, but great stories with Star Trek, Dr. Who, Star Wars, Transformers, TMNT and Ghotsbusters and others), Dark Horse Comics, Icon, and others I can’t think of off the top of my head. Needless to say, there are a lot of publishers, and even more series.&lt;br /&gt;
&lt;br /&gt;
Mainly you’ll start reading comics based on your favorite super hero, but then you may find yourself gravitating toward other stories with no super heroes at all. Colin, my 5 year old, loves super heroes, but now is also reading &lt;a href=&quot;http://www.amazon.com/The-Stuff-Legend-Book-Dark/dp/0345521005&quot;&gt;The Stuff of Legend&lt;/a&gt;, a dark book about stuffed animals who enter “The Dark” where no animal has returned to rescue their owner, the boy, and get into some epic plot. If you have young kids, I strongly recommend the two issue book &lt;a href=&quot;http://fairyquestbook.com/&quot;&gt;Fairy Quest&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Some comics have very short stories that don’t really overlap. Dr. Who (IDW) is like this, with maybe three comics telling one story, then you move on. Most though have an ongoing story, like Supergirl (DC Comics) where she misses home, doesn’t feel comfortable on earth, is slowly making friends, but never fits in. While this is going on there may be a story three comic books long about her fighting some monster or her finding remnants of Krypton.&lt;br /&gt;
&lt;br /&gt;
Some heroes will have multiple comics. There are a million X-Men comics. A Superman, Action Comics Superman, and Smallville, all with completely different stories. There are apparently 12 comics in the Batman universe, 5 or 6 starring Batman. So if you like Batman, check out a few and pick one.&lt;br /&gt;
&lt;br /&gt;
Depending on the publisher, the comic will be different. I prefer DC Comics, I find the art to be more deep (maybe just 3D feeling), and the stories better. Marvel has more text, and the art is different, relying a lot on long term stories. Its worth checking out comics in a store if possible.&lt;br /&gt;
&lt;br /&gt;
For a quick overview:&lt;br /&gt;
DC Comics: Batman, Flash, Green Arrow, Green Lantern, Superman, Justice League, Wonder Woman&lt;br /&gt;
Marvel: Captain America, Captain Marvel, Avengers, X-Men&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Wednesdays&lt;/h2&gt;
Each comic series is published monthly. So, if you read Wonder Woman, a new Wonder Woman comic will come out once a month. Some comics may be every two weeks (new comics seem to do this sometimes), and others (usually independent comics) come out less often, possibly every few months.&lt;br /&gt;
&lt;br /&gt;
Every week I look forward to Wednesdays. This is the day new comics come out. Think of it like Tuesdays for music (you knew new music albums come out on Tuesdays, right)? So, every Wednesday a batch of new comics come out. That’s when you’ll find me (and a lot of other people) at the comic book store.&lt;br /&gt;
&lt;br /&gt;
If you are wondering when you next comic is coming up, there are a few lists you could follow. Personally I subscribe in an RSS feed to &lt;a href=&quot;http://www.comiclist.com/index.php/lists/&quot;&gt;Comics List&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Cost&lt;/h2&gt;
It’s very cheap to start with comics, they cost between $3 – $4 for a monthly comic. But it’s worth realizing this can add up quickly. I subscribe to about 30 comics, which comes out to about $200 per month. My wife prefers this to me getting jumping stilts or shooting bows and arrows, so we’ve got it now I the budget.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Subscriptions&lt;/h2&gt;
Most comic book stores (and some online) will let you subscribe to a comic. So, say you like Wonder Woman (she’s one of the best, strong, non-sexualized female characters I know). You can subscribe, and every time Wonder Woman comes comes out, the store will set it aside for you. That way you don’t HAVE to go every Wednesday, you can go once a month and just pick it up.&lt;br /&gt;
In some cases you may even get a discount. At my store, I you subscribe to 10 monthly comics, you get 10% off everything you buy.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Where&lt;/h2&gt;
I can’t recommend enough going to your local comic book store. You can find them at &lt;a href=&quot;http://www.comicshoplocator.com/Home/1/1/57/575&quot;&gt;Comic Shop Locator&lt;/a&gt;. If you don’t have a comic store nearby, you can subscribe online at &lt;a href=&quot;http://www.tfaw.com/&quot;&gt;tfaw&lt;/a&gt; or &lt;a href=&quot;http://www.midtowncomics.com/&quot;&gt;Midtown Comics&lt;/a&gt;. I haven’t used any of these, so I have no idea.&lt;br /&gt;
&lt;br /&gt;
I recommend local both because it supports to local store, but also be cause it’s really the best place to find new stuff. Every week at my store they highlight new comics on the shelves and by the counter. They also notice if my comic has a wrinkle, and puts it away and gets me a new one. I know the staff ad people, a little about their life, but also about their passion for comics. Rob at my store knows what I like, and will often put new comics similar to my tastes into my box each week.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Big Bang Theory&lt;/h2&gt;
Okay, this has almost nothing to do with comics. But they do spend time in the comic book store a bit, and even have recent comics on the shelves. It’s great to laugh at them. Bu they do have a $1 section, I’d love that sometimes :)&lt;br /&gt;
&lt;br /&gt;
Peace</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/1631392265481869747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/1631392265481869747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/1631392265481869747'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/1631392265481869747'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/02/is-it-wednesday-yet.html' title='Is It Wednesday Yet?'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-8638299003481816806</id><published>2013-02-24T00:19:00.000-05:00</published><updated>2013-02-24T00:19:03.424-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Music"/><title type='text'>It’s My Party and I’ll Cry if I Want To</title><content type='html'>Today is my birthday! Honestly, I’ve never been much into birthdays and parties. Even now, if you ask me how old I am, I have to do math… What year is it now? 2013… so…&lt;br /&gt;
&lt;br /&gt;
2013 – 1975 = 38&lt;br /&gt;
&lt;br /&gt;
Really I make it more difficult. I know the decade, I’m on my 30’s. So, then I take the year (13) – 5 (the year in the 70’s) and add that to 30.&lt;br /&gt;
&lt;br /&gt;
30 + (13 – 5) = 38&lt;br /&gt;
&lt;br /&gt;
I’m sure I could also use lunar cycles, or division. Let’s see:&lt;br /&gt;
&lt;br /&gt;
(the number of leap years between my 1975 and 2013) * 4 + (the number of years since the last leap year) = 38 (I hope)&lt;br /&gt;
&lt;br /&gt;
Every year since I was about 16 I get the song “&lt;a href=&quot;http://www.youtube.com/watch?v=XsYJyVEUaC4&quot;&gt;It’s my Party and I’ll Cry if I Want To&lt;/a&gt;” by Leslie Gore in my head. No idea why, but it got me thinking about how we can best listen to music. But… it’s my birthday, and I’m keeping this short.&lt;br /&gt;
&lt;h2&gt;
Music Discovery (replacing the radio)&lt;/h2&gt;
&lt;a href=&quot;http://www.blogger.com/www.slacker.com&quot;&gt;Slacker&lt;/a&gt; to find music. I loved &lt;a href=&quot;http://www.pandora.com/&quot;&gt;Pandora&lt;/a&gt; for a while, but Slacker, with humans making stations, and even DJs on some stations, along with the ability to skip songs and favorite them, and even make a station based on an artist, and choose to hear all, some or little of that artist are jut incredible options that no one else offers. It’s what I use in the car and at work all day. I do pay $4 a month since I like listening to music offline on my phone, I like unlimited skips and I like their ABC News. The free version is fine for most people.&lt;br /&gt;
&lt;h2&gt;
Specific Albums&lt;/h2&gt;
If you have Windows 8, use &lt;a href=&quot;http://windows.microsoft.com/en-us/windows-8/music#1TC=t1&quot;&gt;Windows 8 Music&lt;/a&gt;. It has any dong you could ever want, the interface is excellent, and the ads are infrequent. If you want to skip ads, and listen on your Widows 8 Phone, it’s $100 a year (cheaper than Spotify or anyone else sine they’re $9 a month… do the math).&lt;br /&gt;
My choice before getting Widows 8 was &lt;a href=&quot;http://www.blogger.com/www.spotfy.com&quot;&gt;Spotify&lt;/a&gt;. It’s free, you can listen to just about anything, and their apps are incredible. I had a bunch, some which showed lyrics as the song played, found playlists of others I could follow, and had a nice interface. It really is a great service, and I had been a subscriber for a year or so, paying the $9 a month. I left though since I mostly listen to music on my phone, and their Windows Phone 7 app was only okay, and they took months to make a Windows Phone 8 app that was identical to the old one. Also, to listen on the phone you have to pay the $9 per month.&lt;br /&gt;
&lt;h2&gt;
Final Decision&lt;/h2&gt;
My final music decision is that I pay $4 for Slacker for car ride and all day listening. I listen to new albums that come out in Windows 8 Music (Spotify stinks at showing you newly released albums you might like) for free. If I find n album I really like I buy it on Amazon (cheaper than anywhere) and use their Cloud player or download the album locally. This has the added benefit of supporting the musician and the publisher (a dubious benefit there), where streaming services, even paid, give almost nothing to the artist. This &lt;a href=&quot;http://www.informationisbeautiful.net/2010/how-much-do-music-artists-earn-online/&quot;&gt;Visualization&lt;/a&gt; is excellent.&lt;br /&gt;
&lt;br /&gt;
Through this post I’ve been listening to “It’s My Party” in Widows 8 Music.</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/8638299003481816806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/8638299003481816806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/8638299003481816806'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/8638299003481816806'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/02/its-my-party-and-ill-cry-if-i-want-to.html' title='It’s My Party and I’ll Cry if I Want To'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-3698822151904254818</id><published>2013-02-23T22:56:00.001-05:00</published><updated>2013-02-23T22:56:17.593-05:00</updated><title type='text'>Rebooted</title><content type='html'>&lt;p&gt;It’s been quite a while, and I must say that I’ve missed blogging. Really, more specifically, creating and building instead of consuming all of the time. Of course, I get to build and contribute a lot at work, and that has really become incredibly rewarding over the past year. I also stopped blogging because it felt like I really didn’t have anything more to say at the time.&lt;/p&gt;  &lt;p&gt;I was talking about my relationship with God, and how we can live our relationships with each-other. Incredibly important conversations, but nothing that other people aren’t already taking about. And it’s really just more useful to have those conversations in person whenever possible.&lt;/p&gt;  &lt;p&gt;Recently thought I’ve really felt God pushing me toward contributing again, but in a different way from what I had done before. I’m finding that a lot of things I assume others know from just listening to the news, or searching (I prefer Bing, so I won’t say “Googling” but I’ll NEVER say “Binging”), really no one knows.&lt;/p&gt;  &lt;p&gt;So, this Lent, I’ll be posting each day on something people have been asking about, or I think people really need to know. These aren’t current events or anything, but focused on things I have really learned over the years about living with computers, or life with kids (though I’ll focus more on the concrete technical stuff whenever I can).I plan to talk about things like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What type of laptop should I buy if I were buying right now?&lt;/li&gt;    &lt;li&gt;I just got a Windows 8 laptop (or installed Windows 8), what now?&lt;/li&gt;    &lt;li&gt;How do I protect my PC, or remove a virus?&lt;/li&gt;    &lt;li&gt;What cool thing have you done while programming (admittedly, this would be a small audience)?&lt;/li&gt;    &lt;li&gt;What’s a great best game for building stories, or for family time?&lt;/li&gt;    &lt;li&gt;My kid has accidents, how can I help?&lt;/li&gt;    &lt;li&gt;I want to get into Comic books, how do I start?&lt;/li&gt;    &lt;li&gt;I never thought about comic books, convince my why I’m misguided?&lt;/li&gt;    &lt;li&gt;I’m cheap, what are some great Web comics to read?&lt;/li&gt;    &lt;li&gt;I’m cheap, what’s the best way to listen to music?&lt;/li&gt;    &lt;li&gt;Over the air radio is so repetitive, what can I do to make my drive more interesting?&lt;/li&gt;    &lt;li&gt;I want to cut the cord with Cable, how can I do it, or what are the trade-offs?&lt;/li&gt;    &lt;li&gt;What’s a good way to spend time with God outside church (okay, so it’s not ALL concrete stuff)?&lt;/li&gt;    &lt;li&gt;What’s the best song of all time (we did this in church last week, and they got it wrong),and how can I listen to it for free?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Feel free to let me know what you’d like me to talk about first, if you have a preference. Or is there anything you’ve been dying to ask me that I haven’t answered before?&lt;/p&gt;  &lt;p&gt;Peace,   &lt;br /&gt;-Tom&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/3698822151904254818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/3698822151904254818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/3698822151904254818'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/3698822151904254818'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2013/02/rebooted.html' title='Rebooted'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-877720503556888579</id><published>2011-05-02T09:12:00.000-04:00</published><updated>2011-05-02T09:24:01.411-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="toolkits"/><title type='text'>.Net Web Toolkits/Frameworks</title><content type='html'>I was looking over Rick Strahl&#39;s blog post on &lt;a href=&quot;http://www.west-wind.com/weblog/posts/2011/May/02/ASPNET-GZip-Encoding-Caveats?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+RickStrahl+%28Rick+Strahl%27s+WebLog%29&quot;&gt;ASP.NET GZip Encoding Caveats &lt;/a&gt;and came across this reference to the &lt;a href=&quot;http://www.west-wind.com/WestwindWebToolkit/&quot;&gt;West Wind ASP.Net Web/AJAX Toolkit&lt;/a&gt;. While I&#39;m not interested necessarily in starting to implement this framework, but wondered if you all had experiences with other frameworks around .Net Web development. One thing I found interesting in this one was their Data Binding, where it puts behind the scenes a TwoWay binding for data elements (so you have a selection list, when the value changes it automatically calls the application and updates in the DB instead of waiting for submit or coding your own Ajax.jQuery call for it). Also, the Business layer implementation is interesting, where it will take your EF model and build out stubs for CRUD operations in a business layer.&lt;br /&gt;&lt;br /&gt;I also saw that Telerik seems to have a framework, but its not quite the same as some more simple, common utilities. DevExpress has their XAF framework which is around using the entire tool to build applications, but its pretty expensive, at $2K per developer (Telerik has similar pricing). Im not quite as worried about price, more just wondering what experiences you all might have had, or your thoughts on using them.&lt;br /&gt;&lt;br /&gt;So, has anyone else used some .Net frameworks, and what do you think?</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/877720503556888579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/877720503556888579' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/877720503556888579'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/877720503556888579'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2011/05/net-web-toolkitsframeworks.html' title='.Net Web Toolkits/Frameworks'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-128204214583808447</id><published>2009-09-17T20:34:00.001-04:00</published><updated>2009-09-17T20:34:50.261-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Heard Around the House"/><category scheme="http://www.blogger.com/atom/ns#" term="Reviews"/><title type='text'>Sucks being duped.</title><content type='html'>&lt;p&gt;I’m in a little bit of a mood today. It could be because my daughter beat on some kid and had to get sent home early, or it could just have been my irritation with a product which was too expensive to begin with.&lt;/p&gt;  &lt;p&gt;I purchased the grammar checking tool &lt;a href=&quot;http://www.whitesmoke.com/&quot;&gt;WhiteSmoke&lt;/a&gt; about two months ago. This is essentially the Word grammar checker on steroids, and works in any text editor. Truly, it’s a pretty good tool. You highlight your text, hit F2 and it’ll open in an editor and either automatically fix errors, or show them and recommendations to fix. The recommendations are far better than Word recommends, and it’s great to have grammar and spell checking in every text box, no matter what program you use. There are only a few down sides I’ve seen:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;It works in it’s own editor. I’d rather it let me edit directly in the text box. &lt;/li&gt;    &lt;li&gt;It doesn’t work in Microsoft Word when track changes are on. It sees deleted/changed text as regular text, and messes up pasting and such. After contacting support the answer was they they don’t support it. Personally I’d rather it replaced my Word grammar checker. &lt;/li&gt;    &lt;li&gt;They don’t support Windows 7. Again, contact support, I finally got it fixed myself by uninstalling and installing the newest version. &lt;/li&gt;    &lt;li&gt;It requires Internet access. If I’m not on the Internet it doesn’t work since it gets the grammar rules and dictionary from there each time I need it. Essentially this is a client and the checking occurs online, which makes me wonder a little at the safety of grammar checking private or secure content. Though in general I do trust companies like this to not store any of the information. &lt;/li&gt;    &lt;li&gt;Their ads are incredibly misleading. I ended up somewhat impulse buying this because I thought it was a big sale through a newsletter I read for just that day. Went back the next day, and the next, and even today, to see the same sale price that will expire at the end of the day “today” which I find incredibly misleading. &lt;/li&gt;    &lt;li&gt;There’s no real way to write a review. I ended up buying it because I trusted all the other ads I’d seen in the newsletter and the CNN etc. reviews on their site, though I’ll be even more careful now. &lt;/li&gt;    &lt;li&gt;It’s expensive. I got the executive version on sale for around $110 or something. But notice in the screen, it says clearly on the order page that purchases are one time purchases, good for a lifetime and include all updates. So if I never have to pay again, it’s probably worth it. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/tlbignerd/3930446506/&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;WhiteSmoke Sale&quot; border=&quot;0&quot; alt=&quot;WhiteSmoke Sale&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS7ysiKJ-Y3_Slciv28iNAu6cEFeShMjyg43UpC9-b8a13MKiwBStoYOBylxaEzuRNo1isC-gOGZyFhQQdF_qi4w6QvH8Wglq5-8B4fUaN5a9w8-kBrMMthTYip7Vlnep8Q4tzrf0Whg8m/?imgmax=800&quot; width=&quot;435&quot; height=&quot;259&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Overall I kind of regretted the purchase, but enjoyed having it, especially when writing Amazon reviews or other things online where the built in spell checker just doesn’t do it.&lt;/p&gt;  &lt;p&gt;Then I got an email from them about &lt;a href=&quot;http://www.whitesmoke.com/products.html&quot;&gt;WhiteSmoke Writer 2010&lt;/a&gt;, the new version. I popped online to get it since my “lifetime updates” covered the new features that were so great, though so far I haven’t seen anything to tell me the difference. I couldn’t get the download to come. I finally started a live “chat” which really just sent an email to support yesterday, and today got the call back just before a meeting. I couldn’t talk long, but the short answer was that “updates” is not the same as “upgrades.” So I get the grammar updates automatically, but if I want the next version I need to pay &lt;strong&gt;another&lt;/strong&gt; $70 to upgrade… so there will likely be a new upgrade every year. Sorry, $70 a year plus the ~$120 up front is just ridiculous (and those were the sale prices, and this was within two months), and I have to think the reviewers were checking out a free version not knowing the cost. Also, that’s for one computer, the support person was happy to try and sell me, for $10, a license for a second computer, even before making clear the upgrade issue.&lt;/p&gt;  &lt;p&gt;Don’t get me wrong, I appreciated the somewhat quick call back, and the grammar checking is excellent. Functionally I only have a few minor gripes. But after the phone call with support I was more that a little ticked, and let him know quickly that I’m not paying for the upgrade and will be uninstalling what I have based on our conversation.&lt;/p&gt;  &lt;p&gt;So I came off that call feeling entirely duped and a bit scammed.&lt;/p&gt;  &lt;p&gt;Then I finally went to unsubscribe from a Six Flags mailing list, and got this “success” message:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/tlbignerd/3929667245/&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;SixFlagsUnsubscribe[1]&quot; border=&quot;0&quot; alt=&quot;SixFlagsUnsubscribe[1]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxIM-NVU60_mp7N6AhVBDtzO6ocgnHMLFg1Vz-gDYleT64Kbb-76XlNSt9z1eROynvkVZgwPdymna-YIo1kzEiN4dPpcUILW3k7Ysrfh8jNPmmJhsFAKhpmKU5wjt1YH3EEPCqtrJFFkJy/?imgmax=800&quot; width=&quot;440&quot; height=&quot;322&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You’ll notice I will “no longer &lt;strong&gt;knowingly&lt;/strong&gt; receive future emails” which makes me wonder how they send the ones that I don’t know about, and why they might want to do that. Made me laugh, I was still a little irritated such a huge company let that slip.&lt;/p&gt;  &lt;p&gt;Then I have this conversation:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Rachel: Daddy, could you stop typing so fast? Just push the letter that you need one at a time, one at a time, so you don’t do it so fast.&lt;/p&gt;    &lt;p&gt;Me: That’s how I do it.&lt;/p&gt;    &lt;p&gt;Rachel: Today try something different. Then you can do it slower. Here, I’ll show you.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;At which point she typed the words “Me: That’s” over the period of about a minute, and it makes the day all better.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Peace,    &lt;br /&gt;+Tom&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/128204214583808447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/128204214583808447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/128204214583808447'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/128204214583808447'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/09/sucks-being-duped.html' title='Sucks being duped.'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS7ysiKJ-Y3_Slciv28iNAu6cEFeShMjyg43UpC9-b8a13MKiwBStoYOBylxaEzuRNo1isC-gOGZyFhQQdF_qi4w6QvH8Wglq5-8B4fUaN5a9w8-kBrMMthTYip7Vlnep8Q4tzrf0Whg8m/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-7824382923911132603</id><published>2009-08-13T21:49:00.001-04:00</published><updated>2009-08-13T21:50:33.033-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Rounding to quarter hours with a solution in SQL Server</title><content type='html'>&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWaJMY0nCZN61UfKMbqxQfXTxONEKIrDHjeZtsmQGDWAmw_LXFsRWkp4KavP-roXR257YX34FopZ76A2O31rOMJ5PXrnXv3FEt_jAzpD862KqFAXnWWy16SbzbMRGGsdhiBOu541ybb-lg/s1600-h/Quarter_before_nine_by_rodneymarin%5B1%5D%5B5%5D.jpg&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;Quarter before nine by ~rodneymarin&quot; border=&quot;0&quot; alt=&quot;Quarter before nine by ~rodneymarin&quot; align=&quot;left&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf126GKk2YtMzIGWmGOVrIZ05l7DVHLTSJJB7M8ew6zf3L_b1zxUBYtFn6ovgeijMCHSu4ZbZij0OoTzKAVrbs3gMIpoXJ01NKNrPeQ5mYnnLyLdpPuz3U5xKYj8LCm4SWxWBzjz2YSQqv/?imgmax=800&quot; width=&quot;154&quot; height=&quot;154&quot; /&gt;&lt;/a&gt; A co-worker asked me the other day about an application where they want to sum values and round them to a quarter of a while number. In this case we had a time entry tool where users entered time in any format, not specifically quarter of hours, but it needed to be summed and rounded to the quarter hour.&lt;/p&gt;&lt;p&gt;For example, I have a number 6.6143 and it needs to be rounded to 6.5. Looking around I just couldn’t find an example where pure math was used, the best were some general rounding to different values using a case statement.&lt;/p&gt;&lt;p&gt;In the end I took this approach, throwing together a quick SQL Server function to get the results. the solution essentially takes the number, removes the whole digits, rounds to two decimals, then checks if those two decimals all in a range.&lt;/p&gt;&lt;div style=&quot;BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; DIRECTION: ltr; MAX-HEIGHT: 200px; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px; BACKGROUND-: 20px 0px 10pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:#f4f4f4;&quot; id=&quot;codeSnippetWrapper&quot;   &gt;&lt;div style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot; id=&quot;codeSnippet&quot;   &gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum1&quot;  style=&quot;color:#606060;&quot;&gt;   1:&lt;/span&gt; &lt;span style=&quot;color:#008000;&quot;&gt;-- =============================================&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum2&quot;  style=&quot;color:#606060;&quot;&gt;   2:&lt;/span&gt; &lt;span style=&quot;color:#008000;&quot;&gt;-- Author:        Tom Leary&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum3&quot;  style=&quot;color:#606060;&quot;&gt;   3:&lt;/span&gt; &lt;span style=&quot;color:#008000;&quot;&gt;-- Create date:   8/13/2009&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum4&quot;  style=&quot;color:#606060;&quot;&gt;   4:&lt;/span&gt; &lt;span style=&quot;color:#008000;&quot;&gt;-- Description:   Rounds the given number to a quarter of an hour.&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum5&quot;  style=&quot;color:#606060;&quot;&gt;   5:&lt;/span&gt; &lt;span style=&quot;color:#008000;&quot;&gt;-- =============================================&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum6&quot;  style=&quot;color:#606060;&quot;&gt;   6:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;CREATE&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;FUNCTION&lt;/span&gt; dbo.GetRoundedTimePeriod&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum7&quot;  style=&quot;color:#606060;&quot;&gt;   7:&lt;/span&gt; (&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum8&quot;  style=&quot;color:#606060;&quot;&gt;   8:&lt;/span&gt;       @WholeValue &lt;span style=&quot;color:#0000ff;&quot;&gt;decimal&lt;/span&gt;(20,4) &lt;span style=&quot;color:#008000;&quot;&gt;-- TODO: Set this to your field type.&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum9&quot;  style=&quot;color:#606060;&quot;&gt;   9:&lt;/span&gt; )&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum10&quot;  style=&quot;color:#606060;&quot;&gt;  10:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;RETURNS&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;decimal&lt;/span&gt;(20,2)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum11&quot;  style=&quot;color:#606060;&quot;&gt;  11:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;AS&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum12&quot;  style=&quot;color:#606060;&quot;&gt;  12:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;BEGIN&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum13&quot;  style=&quot;color:#606060;&quot;&gt;  13:&lt;/span&gt;       &lt;span style=&quot;color:#008000;&quot;&gt;-- Declare the return variable here&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum14&quot;  style=&quot;color:#606060;&quot;&gt;  14:&lt;/span&gt;       &lt;span style=&quot;color:#0000ff;&quot;&gt;DECLARE&lt;/span&gt; @RoundedValue &lt;span style=&quot;color:#0000ff;&quot;&gt;decimal&lt;/span&gt;(20,2)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum15&quot;  style=&quot;color:#606060;&quot;&gt;  15:&lt;/span&gt;  &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum16&quot;  style=&quot;color:#606060;&quot;&gt;  16:&lt;/span&gt;       &lt;span style=&quot;color:#008000;&quot;&gt;-- Add the T-SQL statements to compute the return value here&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum17&quot;  style=&quot;color:#606060;&quot;&gt;  17:&lt;/span&gt;       &lt;span style=&quot;color:#0000ff;&quot;&gt;SET&lt;/span&gt; @RoundedValue = &lt;span style=&quot;color:#0000ff;&quot;&gt;CASE&lt;/span&gt; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum18&quot;  style=&quot;color:#606060;&quot;&gt;  18:&lt;/span&gt;                               &lt;span style=&quot;color:#0000ff;&quot;&gt;WHEN&lt;/span&gt; (Round(@WholeValue, 2) - Floor(@WholeValue)) &lt;span style=&quot;color:#0000ff;&quot;&gt;BETWEEN&lt;/span&gt; 0 &lt;span style=&quot;color:#0000ff;&quot;&gt;AND&lt;/span&gt; .12 &lt;span style=&quot;color:#0000ff;&quot;&gt;THEN&lt;/span&gt; Floor(@WholeValue)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum19&quot;  style=&quot;color:#606060;&quot;&gt;  19:&lt;/span&gt;                               &lt;span style=&quot;color:#0000ff;&quot;&gt;WHEN&lt;/span&gt; (Round(@WholeValue, 2) - Floor(@WholeValue)) &lt;span style=&quot;color:#0000ff;&quot;&gt;BETWEEN&lt;/span&gt; .13 &lt;span style=&quot;color:#0000ff;&quot;&gt;AND&lt;/span&gt; .37 &lt;span style=&quot;color:#0000ff;&quot;&gt;THEN&lt;/span&gt; Floor(@WholeValue) + 0.25&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum20&quot;  style=&quot;color:#606060;&quot;&gt;  20:&lt;/span&gt;                               &lt;span style=&quot;color:#0000ff;&quot;&gt;WHEN&lt;/span&gt; (Round(@WholeValue, 2) - Floor(@WholeValue)) &lt;span style=&quot;color:#0000ff;&quot;&gt;BETWEEN&lt;/span&gt; .38 &lt;span style=&quot;color:#0000ff;&quot;&gt;AND&lt;/span&gt; .62 &lt;span style=&quot;color:#0000ff;&quot;&gt;THEN&lt;/span&gt; Floor(@WholeValue) + 0.50&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum21&quot;  style=&quot;color:#606060;&quot;&gt;  21:&lt;/span&gt;                               &lt;span style=&quot;color:#0000ff;&quot;&gt;WHEN&lt;/span&gt; (Round(@WholeValue, 2) - Floor(@WholeValue)) &lt;span style=&quot;color:#0000ff;&quot;&gt;BETWEEN&lt;/span&gt; .63 &lt;span style=&quot;color:#0000ff;&quot;&gt;AND&lt;/span&gt; .87 &lt;span style=&quot;color:#0000ff;&quot;&gt;THEN&lt;/span&gt; Floor(@WholeValue) + 0.75&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum22&quot;  style=&quot;color:#606060;&quot;&gt;  22:&lt;/span&gt;                               &lt;span style=&quot;color:#0000ff;&quot;&gt;ELSE&lt;/span&gt; Floor(@WholeValue) + 1&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum23&quot;  style=&quot;color:#606060;&quot;&gt;  23:&lt;/span&gt;                         &lt;span style=&quot;color:#0000ff;&quot;&gt;END&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum24&quot;  style=&quot;color:#606060;&quot;&gt;  24:&lt;/span&gt;  &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum25&quot;  style=&quot;color:#606060;&quot;&gt;  25:&lt;/span&gt;       &lt;span style=&quot;color:#008000;&quot;&gt;-- Return the result of the function&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum26&quot;  style=&quot;color:#606060;&quot;&gt;  26:&lt;/span&gt;       &lt;span style=&quot;color:#0000ff;&quot;&gt;RETURN&lt;/span&gt; @RoundedValue&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum27&quot;  style=&quot;color:#606060;&quot;&gt;  27:&lt;/span&gt;  &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum28&quot;  style=&quot;color:#606060;&quot;&gt;  28:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;END&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Once the function is implemented it can be used in any view or select statement with the following:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; DIRECTION: ltr; MAX-HEIGHT: 200px; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px; BACKGROUND-: 20px 0px 10pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:#f4f4f4;&quot; id=&quot;codeSnippetWrapper&quot;   &gt;&lt;br /&gt;&lt;div style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot; id=&quot;codeSnippet&quot;   &gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum1&quot;  style=&quot;color:#606060;&quot;&gt;   1:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;SELECT&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum2&quot;  style=&quot;color:#606060;&quot;&gt;   2:&lt;/span&gt;       dbo.GetRoundedTimePeriod(&lt;span style=&quot;color:#0000ff;&quot;&gt;SUM&lt;/span&gt;(EmployeeTime)) &lt;span style=&quot;color:#0000ff;&quot;&gt;AS&lt;/span&gt; EmployeeTime&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum3&quot;  style=&quot;color:#606060;&quot;&gt;   3:&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;FROM&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; DIRECTION: ltr; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0pxfont-family:&#39;Courier New&#39;, courier, monospace;font-size:8pt;color:black;&quot;   &gt;&lt;span id=&quot;lnum4&quot;  style=&quot;color:#606060;&quot;&gt;   4:&lt;/span&gt;       EmployeeTimeSheet&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Obviously this function could be implemented in .NET in some common utilities class as well, or really any language.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Any thoughts? If you know how to do this mathematically I’d love to hear it.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Peace,&lt;br /&gt;&lt;br /&gt;+Tom&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/7824382923911132603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/7824382923911132603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/7824382923911132603'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/7824382923911132603'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/08/rounding-to-quarter-hours-with-solution.html' title='Rounding to quarter hours with a solution in SQL Server'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf126GKk2YtMzIGWmGOVrIZ05l7DVHLTSJJB7M8ew6zf3L_b1zxUBYtFn6ovgeijMCHSu4ZbZij0OoTzKAVrbs3gMIpoXJ01NKNrPeQ5mYnnLyLdpPuz3U5xKYj8LCm4SWxWBzjz2YSQqv/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-8268727414069331872</id><published>2009-06-24T09:01:00.001-04:00</published><updated>2009-06-24T09:01:16.040-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Zoho for SharePoint</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://www.zoho.com/&quot;&gt;&lt;img style=&quot;margin: 0px 5px 0px 0px; display: inline&quot; align=&quot;left&quot; src=&quot;http://blogs.zoho.com/image/13000000193021/zohoforsharepoint.png&quot; width=&quot;154&quot; height=&quot;47&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.zoho.com/&quot;&gt;Zoho&lt;/a&gt;, the online document collaboration tool, now has an add-on to SharePoint that will allow users to edit documents online, behind the network firewall without having to install separate software. It also allows users to edit documents collaboratively in real-time, though we have a lighter version of that using LiveMeeting.&lt;/p&gt;  &lt;p&gt;It’s worth noting that while you edit documents behind the firewall, when they are opened, they are copied to the Zoho server during editing, then discarded. So it is clearly not for secret information, but that information shouldn’t be on an unsecured SharePoint in any case. The main benefit is that, when allowed by the agency, users can edit Office documents, and do that collaboratively, without installing the latest version of Office, though they will still need a Zoho license.&lt;/p&gt;  &lt;p&gt;Check out some more details here: &lt;a href=&quot;http://blogs.zoho.com/general/introducing-zoho-office-for-microsoft-sharepoint&quot;&gt;http://blogs.zoho.com/general/introducing-zoho-office-for-microsoft-sharepoint&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Peace,   &lt;br /&gt;+Tom&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/8268727414069331872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/8268727414069331872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/8268727414069331872'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/8268727414069331872'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/06/zoho-for-sharepoint.html' title='Zoho for SharePoint'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-7104670389883164176</id><published>2009-06-22T22:49:00.001-04:00</published><updated>2009-06-22T22:49:03.822-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Reviews"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Dropbox Limerick</title><content type='html'>&lt;p&gt;It’s funny, but I never really get to rhyme much in my daily life. I remember a year or so ago having dinner with our extended family, aunts and uncles at Red Robin, and somehow deciding the rhyme everything I said during the entire meal. It’s pretty amazing how quickly you can come up with rhymes, though they sure aren’t immensely clever.&lt;/p&gt;  &lt;p&gt;I’ve been using Dropbox for a while now and fallen in love with it. Essentially you have a folder on your desktop and anything you put in it gets uploaded to a shared directory. You can share individual files, or make a public folder. While it’s a little less intuitive than YouSendIt for e-maling files, I’ve found I really prefer using Dropbox for simply copying a file to a folder and copying the public link, as well as having the file sit up there as long as I want. Plus I find YouSendIt to be pretty expensive for just e-mailing files.&lt;/p&gt;  &lt;p&gt;To kick off them having a million users, and a new 50GB storage option, they opened a forum for people to win a 50GB storage, with bonus points to a limerick. I know you were wondering what rhyming had to do with Dropbox. So, here’s what I threw together.&lt;/p&gt;  &lt;p&gt;One million users   &lt;br /&gt;is an amazing spree    &lt;br /&gt;while I&#39;m but a lone soul    &lt;br /&gt;with no space left free.&lt;/p&gt;  &lt;p&gt;While two gigs is far more   &lt;br /&gt;than my Apple IIGS could store,    &lt;br /&gt;I find it&#39;s not enough    &lt;br /&gt;since sharing huge files is tough.&lt;/p&gt;  &lt;p&gt;Sharing my data and saving to the cloud   &lt;br /&gt;would make my family incredibly proud,    &lt;br /&gt;but how could I, with just one try,    &lt;br /&gt;ever hope I&#39;d be a five in a million guy. &lt;/p&gt;  &lt;p&gt;If you are looking for a simple online backup or sharing of your files, Dropbox is great. And they plan to release a iPhone/iPod touch app soon, even better. Oh, but let me know so I can refer you and get a little more free space.&lt;/p&gt;  &lt;p&gt;Peace,   &lt;br /&gt;+Tom    &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/7104670389883164176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/7104670389883164176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/7104670389883164176'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/7104670389883164176'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/06/dropbox-limerick.html' title='Dropbox Limerick'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-5080399591395054653</id><published>2009-06-16T12:13:00.001-04:00</published><updated>2009-06-16T12:13:59.087-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>RealWarriors</title><content type='html'>&lt;p&gt;I got to work on a Web site recently called &lt;a href=&quot;http://www.realwarriors.net&quot;&gt;RealWarriors.net&lt;/a&gt;. This is probably one of the more interesting projects I’ve supported, where we built the site in about four days, and it really provides some value to people. It’s all about raising awareness and helping people connect who have mental wounds from serving in the military.&lt;/p&gt;  &lt;p&gt;At this point its been featured on CNN and the Today Show (though we got a little shafted on the Today Show). While it serves a pretty specific audience, it was great to be able to manage this thing into reality.&lt;/p&gt;  &lt;p&gt;Peace,   &lt;br /&gt;+Tom&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/5080399591395054653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/5080399591395054653' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/5080399591395054653'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/5080399591395054653'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/06/realwarriors.html' title='RealWarriors'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-4372069615222629051</id><published>2009-05-02T16:32:00.001-04:00</published><updated>2009-05-02T16:32:30.876-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="About Me"/><category scheme="http://www.blogger.com/atom/ns#" term="Thoughts on Life"/><title type='text'>Fanatics</title><content type='html'>&lt;p&gt;I saw this comic today by &lt;a href=&quot;http://www.inkygirl.com/&quot;&gt;Debbie Ridpath Ohi&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.inkygirl.com&quot;&gt;&lt;img style=&quot;margin: 0px auto; display: block; float: none&quot; title=&quot;Bus Stop Thoughts&quot; alt=&quot;Bus Stop&quot; src=&quot;http://www.inkygirl.com/wp-content/uploads/2009/04/dogearpage_450w.jpg&quot; width=&quot;350&quot; height=&quot;500&quot; xxxxx=&quot;aligncenter size-full wp-image-2094&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you’re a writer, or just like books and reading, she is definitely one to follow, her comics are hilarious.&lt;/p&gt;  &lt;p&gt;This reminded me of a conversation I had with a friend yesterday. We were talking about the things that we’re good at. She mentioned that I’ve always been really good ad keeping people in mind, considering their feelings and needs, even if I don’t have much reason to. For me it simply boils down to loving people, even if I don’t like them very much, and doing whatever I can to help them to have the best life possible.&lt;/p&gt;  &lt;p&gt;I was also thinking about how my friend is incredibly good at pursuing excellence in whatever she does. She’s one of those people who, if they agree to do something, you know will be done better than you’d have ever done it yourself. You also know that once you give her the task you don’t need to look over her shoulder or check up on how it’s going. It’ll just get done, and she’ll even be pro-active and let you know how it’s going along the way. She simply wants to be the best.&lt;/p&gt;  &lt;p&gt;But then, who of us doesn’t want to be the best? Sure, I know people who’ve decided to coast along in life, either in their career, family or friendships. They just roll along deciding, either openly or subconsciously, to make one of those three less of a priority than the others. We can’t be everything to everyone.&lt;/p&gt;  &lt;p&gt;I know that the people I work with who really strive for excellence are also the ones I enjoy working with the most. They’re the people I’ll actively seek out first for any new, interesting project that I think they’ll enjoy.&lt;/p&gt;  &lt;p&gt;The people who strive for excellence in parenting show’s pretty clearly through an innate brightness that comes from them and joy you feel from being around them. I may not be the best, but boy I strive to be seen as the best “dad” by the mom’s at Rachel’s daycare. It was great to get one kid (not mine) to finally eat his dinner, or all five kids sitting quietly outside while we waited for the other mom’s to get out of the restaurant to get their kids. I’m by no means perfect, you should see how frustrated I get with my own kids sometimes, especially when sleeps involved, but I do strive to make Erin proud of her husband for being a great dad.&lt;/p&gt;  &lt;p&gt;While my friend really is excellent at everything, not all of us can quite get there. At the same time, we do all strive for excellence in some art of our world. So, I’m really curious, what things do you do where you really strive for excellence?&lt;/p&gt;  &lt;p&gt;Mine are probably&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Knowing the most useful information about current and upcoming technologies, especially around programming and Microsoft stuff. I strive to be recognized as an expert in whatever technology I use, or have used. &lt;/li&gt;    &lt;li&gt;Delivering excellent products &lt;/li&gt;    &lt;li&gt;Being the manager that people want to come to when they have a problem or need advice without focus on the corporate bottom line &lt;/li&gt;    &lt;li&gt;Being the most envied dad by mom’s around me, or said another way, being someone Erin is proud to say she’s married too &lt;/li&gt;    &lt;li&gt;Looking at everything from a different perspective, and never becoming complacent in the normal &lt;/li&gt;    &lt;li&gt;Being an example of how others can live &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Obviously, I fail miserably at ALL of these. But that never stops me from focusing everything I have on them. It’s really about prioritizing. But by making that list it’s also somewhat easy to see what I value. As my friend said earlier, it’s all about people and making people get what they expect, and more. Making their lives better.&lt;/p&gt;  &lt;p&gt;How about you?&lt;/p&gt;  &lt;p&gt;Peace,    &lt;br /&gt;+Tom&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/4372069615222629051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/4372069615222629051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4372069615222629051'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4372069615222629051'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/05/fanatics.html' title='Fanatics'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6708129048153680588.post-4621930853344134155</id><published>2009-05-01T17:19:00.001-04:00</published><updated>2009-05-01T17:19:50.677-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="About Me"/><category scheme="http://www.blogger.com/atom/ns#" term="Perspective"/><category scheme="http://www.blogger.com/atom/ns#" term="Thoughts on Life"/><title type='text'>The Creation of Man</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://briarrose86.deviantart.com/art/Sir-Percy-Character-Study-116088065&quot;&gt;&lt;img style=&quot;margin: 0px 5px 0px 0px; display: inline&quot; title=&quot;Sir Percy Character Study by ~BriarRose86&quot; alt=&quot;Sir Percy Character Study by ~BriarRose86&quot; align=&quot;left&quot; src=&quot;http://th05.deviantart.com/fs43/300W/f/2009/075/0/a/Sir_Percy_Character_Study_by_BriarRose86.jpg&quot; width=&quot;200&quot; height=&quot;136&quot; /&gt;&lt;/a&gt; Erin and I had an odd conversation where we tried to track down exactly when she taught me that if you close your eye, and put eye drops in the corner, then open your eye, the drops don’t bother you. Good stuff to remember for both kids and adults, since I didn’t know until I was 26 or something. The final decision was that I learned this pearl of wisdom before watching The Scarlet Pimpernel at National (or Ford’s) Theater. If you ever get a chance, this is the musical to see, you’ll laugh your tukus off.&lt;/p&gt;  &lt;p&gt;Erin always rolls her eyes at this, but one of the best songs ever made is the Creation of Man. Here the Pimpernel describes how great it is to be a man, and how we should live up all the flourishes and dressing styles afforded to us men. Not just plumes in our hats, but “lights in our pants.” The suits they come out wearing are just so outrageous that I could only ever dream of being able to wear something like it to work. If only I’d thought of it for my wedding… This song is hilarious to listen to, and when you’re watching it you’ll laugh so hard you’ll start crying. You should check out the lyrics, and even a video of it on &lt;a href=&quot;http://www.allmusicals.com/lyrics/scarletpimpernel/thecreationofman.htm&quot;&gt;All Musicals&lt;/a&gt;. The use of rhyme is also awesome.&lt;/p&gt;  &lt;p&gt;Needless to say, this could be my theme song. Living life so outrageously and off the norm that we’re noticed is great. Once you’re noticed, what do you do with that recognition?&lt;/p&gt;  &lt;p&gt;I’ll assume you all know where I’m going with “what do you do when you’re recognized” and I wont’ even really go down that road anymore. The real question is, what outrageous things can you do that simply make life more fun?&lt;/p&gt;  &lt;p&gt;I love wearing my pink shirt so that I can both express how secure I am in my masculinity, and get people to laugh and smile at it. Rachel loves to match me when I wear pink, and I’d love it if we could get the whole family to do it some time.&lt;/p&gt;  &lt;p&gt;Another way to look at is, in what ways do you look at the world and think it is normal? Chances are, that means something needs to change. I love looking at things and trying to see them trough a different lens. The person who’s recently unemployed now has a ton of opportunities to live their dreams for a while, either training for a marathon or developing some Xbox game. The miserably rainy day is a chance to skip mowing or enjoy the anticipation of blooming flowers and budding leaves that the rain brings. The work suit that can be accentuated with a flower in the lapel…&amp;#160; or bright white jacket with dark blue designs, a matching hat and, of course, a cane (or am I thinking of a pimp from the 70’s).&lt;/p&gt;  &lt;p&gt;So, how are you planning to look at the norm differently?&lt;/p&gt;  &lt;p&gt;Peace,    &lt;br /&gt;+Tom&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='https://www.tlbignerd.com/feeds/4621930853344134155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/6708129048153680588/4621930853344134155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4621930853344134155'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6708129048153680588/posts/default/4621930853344134155'/><link rel='alternate' type='text/html' href='https://www.tlbignerd.com/2009/05/creation-of-man.html' title='The Creation of Man'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07005825494309030741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/img/13/3853/320/Famine046.jpg'/></author><thr:total>0</thr:total></entry></feed>