<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUUGQ348fyp7ImA9WhRWEk0.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298</id><updated>2011-12-29T20:07:02.077-05:00</updated><category term="Reviews" /><category term="Random Updates" /><category term="Hockey" /><category term="30 Days Of Arduino" /><category term="Kindle" /><category term="Usability" /><category term="Sarah" /><category term="Trash" /><category term="Candy Land Simulator" /><category term="Technology" /><category term="Family" /><category term="Experiments" /><category term="Parenting" /><category term="Letters" /><category term="Math" /><category term="Windows" /><category term="Easter Eggs" /><category term="Healthcare" /><category term="Ruminations" /><category term="Relaxing" /><category term="Poker" /><category term="Code" /><category term="Household" /><category term="iPhone" /><category term="Arduino" /><category term="Baby" /><category term="Travel" /><category term="NaBloPoMo 2011" /><category term="Database" /><category term="Food" /><category term="Around Town" /><category term="In the News" /><category term="Marketing" /><category term="Hardware" /><category term="Work" /><category term="coffee" /><category term="Peanut" /><category term="Money" /><category term="Project Noodle" /><category term="Ideas" /><category term="Movies" /><category term="Television" /><category term="Android" /><category term="Networks" /><category term="Books" /><category term="School" /><title>Bloggity Blog Blog Blog</title><subtitle type="html">Occasional thoughts on technology, money, life and babies by Michael Haren</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.wassupy.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.wassupy.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>385</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/wassupy-wp" /><feedburner:info uri="wassupy-wp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEEBR3g-eSp7ImA9WhRRFU0.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-2789547166985031390</id><published>2011-11-28T13:57:00.001-05:00</published><updated>2011-11-28T13:57:36.651-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T13:57:36.651-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Around Town" /><title>This “UPS My Choice” Thing is Actually Pretty Neat</title><content type="html">&lt;p&gt;Does anyone remember using eBay before the whole “My eBay” thing existed? No? You may find it hard to believe, but when eBay launched (a looonnnng time ago) they’d email you confirmations of your activity (bids, sales, etc.) and you’d use those emails to keep track of that was going. It wasn’t until &lt;em&gt;years&lt;/em&gt; later that eBay offered a centralized “my account” page with that information.&lt;/p&gt;  &lt;p&gt;It’s insane to imagine today that it used to work that way but I swear it did!&lt;/p&gt;  &lt;p&gt;And yet UPS doesn’t even work that well for most people today. You order something and if you’re lucky, the vendor gives you a tracking number which you constantly monitor to see where your widgets are and when they’ll arrive. Some vendors and shippers added the ability to subscribe to email notification for specific tracking numbers, which helped, but that wasn’t a great solution either.&lt;/p&gt;  &lt;p&gt;Then, when I started tracking a package last month, I somehow ended up at &lt;a href="http://www.ups.com/mychoice"&gt;UPS’s My Choice&lt;/a&gt; system. At first I thought this was just a reinvented notification engine. It didn’t really make sense to me initially because it seemed like the nice features were hiding behind the premium version. And I was really tired.&lt;/p&gt;  &lt;p&gt;I scoffed at the notion that I’d have to pay some annual fee to get trivial functionality out of a shipping company and forgot about it.&lt;/p&gt;  &lt;p&gt;Then, a couple weeks later I got this in my email:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-s2jSBwjFxQo/TtPZkEYcRVI/AAAAAAAAEJo/cvmOT3rU-_Y/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://lh4.ggpht.com/-lerQRey_0cs/TtPZlUvXCRI/AAAAAAAAEJw/85XpwioINeU/image_thumb%25255B1%25255D.png?imgmax=800" width="648" height="348" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It took me a couple seconds to realize what had happened. I apparently wasn’t paying attention to the sign up process because what UPS is doing is notifying me (automatically) whenever &lt;em&gt;anyone &lt;/em&gt;ships me a package. It matches packages by address and name (multiple names allowed) and lets me know when they’re on their way, if they are delayed, and when they’ve arrived.&lt;/p&gt;  &lt;p&gt;This is more than I expected and &lt;strong&gt;it turns out to be pretty much exactly what I want&lt;/strong&gt;. In the weeks since, the emails keep coming:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-XFagyn8CRRI/TtPZmkWpdhI/AAAAAAAAEJ4/FoDBRUw6X9s/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://lh5.ggpht.com/-gOpuPBfLIAI/TtPZnNZlVPI/AAAAAAAAEKA/TnB-26QCvVE/image_thumb.png?imgmax=800" width="700" height="324" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;These emails take you to the UPS version of “My eBay”, which does exactly what you’d hope. &lt;/p&gt;  &lt;p&gt;They still offer completely unhelpful delivery windows, like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-aGzqgU2PiiY/TtPZnm2tKNI/AAAAAAAAEKI/2BqWGOpxAb4/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://lh4.ggpht.com/-dsfZgp-zD5g/TtPZn3ZJ0gI/AAAAAAAAEKQ/pN8r0ZGQHuo/image_thumb%25255B2%25255D.png?imgmax=800" width="520" height="222" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Which means it’ll get here sometime between 7:30 am and 7:30 pm. Or later. Maybe.&lt;/p&gt;  &lt;p&gt;But To their credit, allegedly the paid version of “My Choice” improves this by giving you a two-hour delivery window, among other things for $40/year. &lt;/p&gt;  &lt;p&gt;This is one of those things that is hard to understand why it hasn’t existed all along. Thanks, UPS, I love it!&lt;/p&gt;  &lt;p&gt;Your move, FedEx. I’d call out USPS, too, but their tracking is so laughable that the notion of them implementing anything serious is ridiculous. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-2789547166985031390?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/hcaCPSKoeQM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/2789547166985031390/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=2789547166985031390" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2789547166985031390?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2789547166985031390?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/hcaCPSKoeQM/this-ups-my-choice-thing-is-actually.html" title="This “UPS My Choice” Thing is Actually Pretty Neat" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-lerQRey_0cs/TtPZlUvXCRI/AAAAAAAAEJw/85XpwioINeU/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/this-ups-my-choice-thing-is-actually.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4ARn8zfip7ImA9WhRREEs.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-6249309705927316613</id><published>2011-11-23T11:54:00.001-05:00</published><updated>2011-11-23T12:22:27.186-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T12:22:27.186-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>I Vote To Close This Meeting</title><content type="html">So my company is doing this cool thing: they're giving every employee a tablet. &lt;br /&gt;
&lt;br /&gt;
The idea is that we're a tech company and can probably figure how to use them to improve efficiency or blah blah blah, and they're cool and will make us happy. Yay!&lt;br /&gt;
&lt;br /&gt;
So aside from making our existing tools work well on mobile and surfing the top apps/games lists in the AppStore, here's a problem I want an app for:&lt;br /&gt;
&lt;br /&gt;
Unproductive meetings&lt;br /&gt;
&lt;br /&gt;
I'm talking about meetings where people keep talking in circles, refusing to converge to a decision. Or meetings where the chit chat is getting out of hand and some of us have actual work to do.&lt;br /&gt;
&lt;br /&gt;
I'm guilty of this, too. Really. &lt;br /&gt;
&lt;br /&gt;
Most people are too polite or non-confrontational to do anything so we need something that allows people to say, "hey let's refocus here because this is all an epic waste of time" without actually saying it. &lt;br /&gt;
&lt;br /&gt;
Imagine everyone sitting around the conference room table with their tablets blathering on. Now suppose everyone had an app running with the following features:&lt;br /&gt;
&lt;br /&gt;
- the meeting agenda&lt;br /&gt;
- a place for minutes/action items&lt;br /&gt;
- a timer showing how much time is left&lt;br /&gt;
- a timer indicating how much money has been spent (labor) since the meeting began&lt;br /&gt;
- a reminder tone very 25% of the duration of the meeting&lt;br /&gt;
&lt;br /&gt;
Those are all highly collaborative with shared workspaces, etc. But these features are really just an excuse to deploy this:&lt;br /&gt;
&lt;br /&gt;
- anonymous voting buttons that allow anyone to make a statement&lt;br /&gt;
&lt;br /&gt;
Maybe votes only activate something if two people vote...not sure. (It's really just like voting to close questions on Stack Overflow.) I want to be able, with one or two taps, notify the group that things need to move on for some canned reason. &lt;br /&gt;
&lt;br /&gt;
Reasons are simple things like:&lt;br /&gt;
- off topic&lt;br /&gt;
- not relevant to the group (i.e. you two go figure it out later and report back)&lt;br /&gt;
- conclusion needed (i.e. what's the action item from this thread of discussion)&lt;br /&gt;
- other voices needed (i.e. share the podium, pal)&lt;br /&gt;
&lt;br /&gt;
Does this exist? Thoughts?&lt;br /&gt;
&lt;br /&gt;
(Apologies for any formatting issues or typos...I'm posting this from my phone.)&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-6249309705927316613?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/zYtNlGdP-BI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/6249309705927316613/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=6249309705927316613" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/6249309705927316613?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/6249309705927316613?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/zYtNlGdP-BI/i-vote-to-close-this-meeting.html" title="I Vote To Close This Meeting" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/i-vote-to-close-this-meeting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IEQX06eCp7ImA9WhRSGU0.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-4799375719563990837</id><published>2011-11-21T13:51:00.001-05:00</published><updated>2011-11-21T13:51:40.310-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T13:51:40.310-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>Case Sensitivity in ASP.NET</title><content type="html">&lt;p&gt;I’m personally a fan of respecting case sensitivity. Historically it seems that most programming languages are picky about “a” vs. “A”, and even most operating systems. VB, and Windows, however, are not.&lt;/p&gt;  &lt;p&gt;This leads to some frustratingly elusive bugs on occasion because there &lt;em&gt;are &lt;/em&gt;instances in VB where case does matter. Take for instance the following objects, commonly available while processing an ASP.NET request:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Request&lt;/li&gt;    &lt;li&gt;Session&lt;/li&gt;    &lt;li&gt;Cookies&lt;/li&gt;    &lt;li&gt;Viewstate&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The first three (among others) are implemented with a hash table that does case-insensitive lookups. (There’s an &lt;a href="http://stackoverflow.com/q/1731283/29/#1731535"&gt;awesome answer&lt;/a&gt; over on Stackoverflow that explains why it works this way).&lt;/p&gt;  &lt;p&gt;So after playing fast and loose with case sensitivity, it’s easy to treat the viewstate object the same way. But, as you’ve surely guessed by now, lookups in the viewstate bag are &lt;em&gt;case-sensitive&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Unfortunately, I can’t find a reference that documents this at the moment, but I can confirm it works that way from personal experience. Here’s one of my recent commits:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-Og4JcYjreqg/TsqduOusbBI/AAAAAAAAEIk/ZnKRtSICYT0/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://lh5.ggpht.com/-ltiQNxGE02k/TsqduT5hyZI/AAAAAAAAEIs/O0_Uw2Yq0hw/image_thumb.png?imgmax=800" width="356" height="32" /&gt;&lt;/a&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://lh4.ggpht.com/-hcIDsDzo2mc/Tsqdu4JSLcI/AAAAAAAAEIw/TiUUQJTrtLg/image_thumb%25255B1%25255D.png?imgmax=800" width="452" height="31" /&gt; &lt;/p&gt;  &lt;p&gt;And a flood of Google results from others affected confirms it’s not a fluke affecting just me.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Happy debugging! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-4799375719563990837?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/mljyqSmpFdA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/4799375719563990837/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=4799375719563990837" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/4799375719563990837?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/4799375719563990837?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/mljyqSmpFdA/im-personally-fan-of-respecting-case.html" title="Case Sensitivity in ASP.NET" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-ltiQNxGE02k/TsqduT5hyZI/AAAAAAAAEIs/O0_Uw2Yq0hw/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/im-personally-fan-of-respecting-case.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUBQ3g7eSp7ImA9WhRSFEw.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-1827525874403718088</id><published>2011-11-15T22:12:00.001-05:00</published><updated>2011-11-15T23:04:12.601-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-15T23:04:12.601-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="Household" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Around Town" /><title>LEDs Have Arrived!</title><content type="html">&lt;p&gt;LEDs are awesome. In exchange for tiny amounts of energy, they produce intense, bright light. Plus they are cool to the touch and very durable. In recent years they have even become affordable!&lt;/p&gt;  &lt;p&gt;I think the age of LED lighting has finally arrived. Sure, they conquered flash lights and specialty applications years ago but I think they’ve hit a big bigger milestone this year: they have crushed the Christmas Lights market. The options you find walking down the Christmas lights aisles (yes, aisle&lt;em&gt;s&lt;/em&gt;) have been slowly moving from traditional incandescents to LED-based products. Last year I looked at the LED options but shied away because they were still too expensive. &lt;/p&gt;  &lt;p&gt;This year was different. First off, I couldn’t even find the old bulbs at first—LEDs have nearly pushed them out completely. Second, they are now in the “yeah, that’s doable” price range. Still spendy, but not ridiculous.&lt;/p&gt;  &lt;p&gt;And so tonight I took advantage of the warm, calm, no-wind weather to hang 225 lights.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="Photo Nov 15, 8 48 43 PM" alt="Photo Nov 15, 8 48 43 PM" src="http://lh4.ggpht.com/-DDLq_23lLPk/TsMqMH4ARzI/AAAAAAAAEHg/s1jweEDKWoQ/Photo%252520Nov%25252015%25252C%2525208%25252048%25252043%252520PM.jpg?imgmax=800" width="700" height="407" /&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="Photo Nov 15, 8 48 04 PM" alt="Photo Nov 15, 8 48 04 PM" src="http://lh5.ggpht.com/-INk21Li_58k/TsMqM5z6VqI/AAAAAAAAEHk/zyQZ1ZedPNs/Photo%252520Nov%25252015%25252C%2525208%25252048%25252004%252520PM.jpg?imgmax=800" width="700" height="400" /&gt;&lt;/p&gt;  &lt;p&gt;Apologies for the weak photography. The resident photographer is away at the moment so I just used my phone. In the dark.&lt;/p&gt;  &lt;p style="font-size: smaller"&gt;&lt;em&gt;Side note:&lt;/em&gt; you know what’d be an awesome product? &lt;em&gt;Shorter sections &lt;/em&gt;of lights. I need 18” to finish that top eve. What am I supposed to do…?&lt;/p&gt;  &lt;p&gt;So how’d we do energy-wise? I’d say pretty awesome:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-tbfqXHnZS1k/TsMqNBlXvrI/AAAAAAAAEHA/5HZjc3Xk8B0/s1600-h/Photo-Nov-15-8-42-49-PM4.jpg"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="Photo Nov 15, 8 42 49 PM" alt="Photo Nov 15, 8 42 49 PM" src="http://lh6.ggpht.com/-sEZDNFO4feE/TsMqNUR5jYI/AAAAAAAAEHI/UHYIKoGl9Us/Photo-Nov-15-8-42-49-PM_thumb1.jpg?imgmax=800" width="263" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s 7.5 tiny watts. At 10¢/KWH, running these for 7 hours a day will cost just…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-3G7mVNA7s8o/TsMqNoLxy-I/AAAAAAAAEHQ/XLUJPbUs4A0/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh3.ggpht.com/-8Mwpa4y80no/TsMqN77w-CI/AAAAAAAAEHY/Wk8pkYCzqVo/image_thumb.png?imgmax=800" width="488" height="74" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://www.google.com/search?q=7.5+watts+*+7+hours+*+%24.10%2FkWh&amp;amp;oq=7.5+watts+*+7+hours+*+%24.10%2FkWh"&gt;0.5¢/day&lt;/a&gt;. Half a penny a day. Is that right?! Whoa.&lt;/p&gt;  &lt;p&gt;That seems a bit lower than I expected. I just checked the box and all the lights together are rated at about 18 watts. So either that’s conservative or my meter isn’t working quite right… In any event, they are quite efficient!&lt;/p&gt;  &lt;p&gt;If you’ve been avoiding these things, I suggest you take another look. Here’s hoping that interior lighting is the next empire to fall to the mighty LED! (I know LED bulbs exist, but $15/bulb is too much!).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-1827525874403718088?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/F6Dq_JyO_3U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/1827525874403718088/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=1827525874403718088" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/1827525874403718088?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/1827525874403718088?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/F6Dq_JyO_3U/leds-are-awesome.html" title="LEDs Have Arrived!" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-DDLq_23lLPk/TsMqMH4ARzI/AAAAAAAAEHg/s1jweEDKWoQ/s72-c/Photo%252520Nov%25252015%25252C%2525208%25252048%25252043%252520PM.jpg?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/leds-are-awesome.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UASHY6fSp7ImA9WhRSE0o.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-5179828090263042091</id><published>2011-11-15T11:38:00.001-05:00</published><updated>2011-11-15T11:40:49.815-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-15T11:40:49.815-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Candy Land Simulator" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>A Candy Land Simulator: The Game Engine, Implemented</title><content type="html">&lt;p&gt;&lt;em&gt;Note: this post is from a &lt;/em&gt;&lt;a href="http://blog.wassupy.com/search/label/Candy%20Land%20Simulator"&gt;&lt;em&gt;series on Candy Land&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;We’re back again. We still have our board and cards (these are old hat now, right?):&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; board = [
    { color: &lt;span class="str"&gt;'Red'&lt;/span&gt; },
    { color: &lt;span class="str"&gt;'Orange'&lt;/span&gt;, bridgeTo: 59 }
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
];

&lt;span class="kwrd"&gt;var&lt;/span&gt; cards = [
    &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
];&lt;/pre&gt;

&lt;p&gt;And we just added some players:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; players = [
    { name: &lt;span class="str"&gt;'Michael'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: -1, isWinner: &lt;span class="kwrd"&gt;false&lt;/span&gt;, moves = 0 },
    { name: &lt;span class="str"&gt;'Thing 1'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: -1, isWinner: &lt;span class="kwrd"&gt;false&lt;/span&gt;, moves = 0 }
];&lt;/pre&gt;

&lt;p&gt;So let’s get down to implementing some of the game engine we spec'd out yesterday. First, here’s the test harness:&lt;/p&gt;

&lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh6.ggpht.com/-AO0xgiJ25Wk/TsKVe3uk7yI/AAAAAAAAEGY/vXnJu5ODvcw/image%25255B3%25255D.png?imgmax=800" width="304" height="213" /&gt;&lt;/p&gt;

&lt;p&gt;I decided to add an option of letting players stop the game as soon as one player wins (like normal people), or to play through until everyone “wins” like my kids play. This is the main function that we run when we click the button to start the game. It loads up that option from a checkbox, and the players:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// for stats&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; gamesPlayed = 0;
&lt;span class="kwrd"&gt;var&lt;/span&gt; totalMoves = 0;

&lt;span class="rem"&gt;// run this when the button is clicked&lt;/span&gt;
$(&lt;span class="str"&gt;'#run'&lt;/span&gt;).click(&lt;span class="kwrd"&gt;function&lt;/span&gt;(){
    
    &lt;span class="kwrd"&gt;var&lt;/span&gt; options = { 
        &lt;span class="rem"&gt;// see if the option to run until everyone wins is checked&lt;/span&gt;
        doRunUntilEveryoneWins: $(&lt;span class="str"&gt;'#all-win'&lt;/span&gt;).&lt;span class="kwrd"&gt;is&lt;/span&gt;(&lt;span class="str"&gt;':checked'&lt;/span&gt;)
    };

    &lt;span class="rem"&gt;// configure two players&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; players = [
        &lt;span class="rem"&gt;// ladies first&lt;/span&gt;
        { name: &lt;span class="str"&gt;'Thing 1'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, 
          position: -1, isWinner: &lt;span class="kwrd"&gt;false&lt;/span&gt;, moves: 0 },
        { name: &lt;span class="str"&gt;'Michael'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, 
          position: -1, isWinner: &lt;span class="kwrd"&gt;false&lt;/span&gt;, moves: 0 }
    ];

    &lt;span class="rem"&gt;// call &amp;quot;DoGame&amp;quot; to play an entire game, passing &lt;/span&gt;
    &lt;span class="rem"&gt;// in the players array&lt;/span&gt;
    DoGame(options, players);
    
    &lt;span class="rem"&gt;// update stats&lt;/span&gt;
    gamesPlayed++;
    totalMoves += players[0].moves + players[1].moves;
    $(&lt;span class="str"&gt;'#average'&lt;/span&gt;).text(Math.ceil(totalMoves/gamesPlayed));
    
    &lt;span class="rem"&gt;// append another row to the table&lt;/span&gt;
    $(&lt;span class="str"&gt;'#results'&lt;/span&gt;).show()
        .find(&lt;span class="str"&gt;'table'&lt;/span&gt;).append( 
            $(&lt;span class="str"&gt;'&amp;lt;tr/&amp;gt;'&lt;/span&gt;).append( $(&lt;span class="str"&gt;'&amp;lt;td/&amp;gt;'&lt;/span&gt;).text(players[0].moves) )
                      .append( $(&lt;span class="str"&gt;'&amp;lt;td/&amp;gt;'&lt;/span&gt;).text(players[1].moves) )
                      .append( $(&lt;span class="str"&gt;'&amp;lt;td/&amp;gt;'&lt;/span&gt;).text(players[0].moves 
                                               + players[1].moves) )
            );
});&lt;/pre&gt;

&lt;p&gt;As you’ll see, I’ve taken a few other liberties during the implementation that deviate slightly from the original design. That’s normal. &lt;/p&gt;

&lt;p&gt;So when we actually call “DoGame()”, this is called:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; DoGame(options, players){
    &lt;span class="rem"&gt;// initialize the board&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; board = MakeBoard();

    &lt;span class="rem"&gt;// initialize the deck&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; cards = MakeDeck();

    &lt;span class="rem"&gt;// call &amp;quot;DoGameLoop&amp;quot; (pass in the board and deck) &lt;/span&gt;
    &lt;span class="rem"&gt;// until it returns false, which indicates the game is over&lt;/span&gt;
    &lt;span class="kwrd"&gt;while&lt;/span&gt;(DoGameLoop(options, players, board, cards));
}&lt;/pre&gt;

&lt;p&gt;Which calls “DoGameLoop” repeatedly until it signals that the game is over:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// return false when the game is over&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; DoGameLoop(options, players, board, cards){
    
    &lt;span class="rem"&gt;// we will set this to true if someone is playing...&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; IsSomeoneStillPlaying = &lt;span class="kwrd"&gt;false&lt;/span&gt;; 
    
    &lt;span class="rem"&gt;// for each player: DoPlayerLoop&lt;/span&gt;
    &lt;span class="kwrd"&gt;for&lt;/span&gt;(&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; players.length; ++i){
        &lt;span class="kwrd"&gt;var&lt;/span&gt; player = players[i];
        
        &lt;span class="rem"&gt;// skip this player if they've won already&lt;/span&gt;
        &lt;span class="rem"&gt;// or made 10000 moves (that would be too many)&lt;/span&gt;
        &lt;span class="kwrd"&gt;if&lt;/span&gt;(!player.isWinner &amp;amp;&amp;amp; player.moves &amp;lt; 10000){
            
            &lt;span class="rem"&gt;// do the actual move&lt;/span&gt;
            DoPlayerLoop(options, player, board, cards);
            
            &lt;span class="rem"&gt;// keep track if this player has won&lt;/span&gt;
            IsSomeoneStillPlaying |= !player.isWinner;

            &lt;span class="rem"&gt;// see if we should stop when just one player wins (configurable)&lt;/span&gt;
            &lt;span class="kwrd"&gt;if&lt;/span&gt;(!options.doRunUntilEveryoneWins &amp;amp;&amp;amp; player.isWinner){
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
            }
        }  
    }
    
    &lt;span class="rem"&gt;// things went as planned, return true if some players are still playing&lt;/span&gt;
    &lt;span class="kwrd"&gt;return&lt;/span&gt; IsSomeoneStillPlaying;
}&lt;/pre&gt;

&lt;p&gt;That just calls “DoPlayerLoop” for each player:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; DoPlayerLoop(options, player, board, cards){
    &lt;span class="rem"&gt;// if we are losing a turn, turn off the &amp;quot;isLosingATurn&amp;quot; &lt;/span&gt;
    &lt;span class="rem"&gt;// property and we're done (exit now)&lt;/span&gt;
    &lt;span class="kwrd"&gt;if&lt;/span&gt;(player.isLosingATurn){
        player.isLosingATurn = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
          &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
    }
    
    &lt;span class="rem"&gt;// draw a card and increment the &amp;quot;moves&amp;quot; counter&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; drawnCard = DrawACard(cards);
    player.moves++;
    
    &lt;span class="rem"&gt;// we'll can play either 1 or 2 moves because we have doubles&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; currentSpace = DoMove(options, player, board, drawnCard);
    
    &lt;span class="rem"&gt;// if the player drew a double card, they move again  &lt;/span&gt;
    &lt;span class="kwrd"&gt;if&lt;/span&gt;(drawnCard.isDouble &amp;amp;&amp;amp; !player.isWinner){
        DoMove(options, player, board, drawnCard ); &lt;span class="rem"&gt;// do it again!&lt;/span&gt;
    }
    
    &lt;span class="kwrd"&gt;if&lt;/span&gt;(player.isWinner){
        &lt;span class="rem"&gt;// woohoo&lt;/span&gt;
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
    }
    
    &lt;span class="rem"&gt;// if the space we landed on is a bridge, follow the bridge&lt;/span&gt;
    &lt;span class="kwrd"&gt;if&lt;/span&gt;(currentSpace.bridgeTo){
        player.position = currentSpace.bridgeTo;
        currentSpace = board[player.position];
    }
          
    &lt;span class="rem"&gt;// if we are now on a lose-a-turn space, turn on the &lt;/span&gt;
    &lt;span class="rem"&gt;// &amp;quot;isLosingATurn&amp;quot; property so we know &lt;/span&gt;
    &lt;span class="rem"&gt;// to skip our turn the next time around&lt;/span&gt;
    &lt;span class="kwrd"&gt;if&lt;/span&gt;(currentSpace.loseTurn){
        player.isLosingATurn = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
    }
}&lt;/pre&gt;

&lt;p&gt;The real workhorse in there is the call to DoMove, which actually advances the game token along the board:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;function DoMove(options, player, board, card){
    &lt;span class="rem"&gt;// we'll cycle through the board. &lt;/span&gt;
    &lt;span class="rem"&gt;// if we have a regular color card (or double), we'll go &lt;/span&gt;
    &lt;span class="rem"&gt;// until we hit the color, OR reach the end of the board&lt;/span&gt;
    var currentSpace;
    var iterations = 0;
    &lt;span class="kwrd"&gt;do&lt;/span&gt;{
        &lt;span class="rem"&gt;// advance one space&lt;/span&gt;
        player.position++;
    
        &lt;span class="rem"&gt;// if we hit the end of the board&lt;/span&gt;
        &lt;span class="rem"&gt;// we start over if we have a character card&lt;/span&gt;
        &lt;span class="rem"&gt;// or we win if we have a regular color card&lt;/span&gt;
        &lt;span class="kwrd"&gt;if&lt;/span&gt;(player.position == board.length){
            &lt;span class="kwrd"&gt;if&lt;/span&gt;(card.isCharacter){
                &lt;span class="rem"&gt;// if we have a character card and we've reached the &lt;/span&gt;
                &lt;span class="rem"&gt;// end of the board, wrap around&lt;/span&gt;
                player.position = 0;
            }
            &lt;span class="kwrd"&gt;else&lt;/span&gt;{
                &lt;span class="rem"&gt;// if your move takes you to the last square or beyond, you win &lt;/span&gt;
                &lt;span class="rem"&gt;// set the &amp;quot;isWinner&amp;quot; property to true and exit&lt;/span&gt;
                player.isWinner = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
            }
        }
        currentSpace = board[player.position];

        &lt;span class="rem"&gt;// loop until we find the space we're looking for&lt;/span&gt;
        &lt;span class="rem"&gt;// or we win&lt;/span&gt;
        &lt;span class="rem"&gt;// or we iterate 10000 times (because something must be broken)&lt;/span&gt;
    }&lt;span class="kwrd"&gt;while&lt;/span&gt;(currentSpace 
           &amp;amp;&amp;amp; currentSpace.color != card.color 
           &amp;amp;&amp;amp; !player.isWinner &amp;amp;&amp;amp; ++iterations &amp;lt; 10000);
    
    &lt;span class="kwrd"&gt;return&lt;/span&gt; currentSpace;
}&lt;/pre&gt;

&lt;p&gt;All this, including the source to the utility functions (e.g. DrawACard) is available &lt;a href="http://jsfiddle.net/mharen/crgAX/35/"&gt;in the fiddle&lt;/a&gt;. Here’s the working version:&lt;/p&gt;

&lt;p&gt;&lt;iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/mharen/crgAX/35/embedded/result,js,html,css" frameborder="0" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;In the next post I’ll do some additional testing and verification. A brief, casual comparison to other papers online reveals that my results are reasonable. I’m not saying they are correct, but I’m at least in the ball park for finding the length of an average game (around 45-50 cards).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-5179828090263042091?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/biycZSEzaJM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/5179828090263042091/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=5179828090263042091" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5179828090263042091?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5179828090263042091?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/biycZSEzaJM/note-this-post-is-from-series-on-candy.html" title="A Candy Land Simulator: The Game Engine, Implemented" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-AO0xgiJ25Wk/TsKVe3uk7yI/AAAAAAAAEGY/vXnJu5ODvcw/s72-c/image%25255B3%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/note-this-post-is-from-series-on-candy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ADR3s4fip7ImA9WhRSE08.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-6937957959818036290</id><published>2011-11-14T23:00:00.001-05:00</published><updated>2011-11-14T23:02:56.536-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-14T23:02:56.536-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>Outlook Tip: Automatically Archive Annoying Meeting Invitation Responses</title><content type="html">&lt;p&gt;If you use Outlook’s handy meeting request feature to plan events like presentations and lunches involving a lot of people, you have probably experienced this shortly after sending out an invite:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh6.ggpht.com/-iFZ7DYTrrMI/TsHj603FprI/AAAAAAAAEGA/6PHtuV8BmBw/image%25255B4%25255D.png?imgmax=800" width="336" height="450" /&gt;&lt;/p&gt;  &lt;p&gt;For the unitiated, what you’re looking at is the flurry of responses that come in after the invite goes out. Outlook uses actual emails to keep track of people accepting/declining invites. And by default, they all just show up in your inbox. &lt;/p&gt;  &lt;p&gt;Normally when something like this comes up, I just create a rule to take care of it. This case is no different but it’s not as simple as it seems. The problem is that when accepting or declining an invite, Outlook lets you add a message:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh4.ggpht.com/-ebqOHeQgZps/TsHj7ANm60I/AAAAAAAAEGI/0Qnsczbv2Gk/image%25255B14%25255D.png?imgmax=800" width="399" height="301" /&gt;&lt;/p&gt;    &lt;p&gt;I don’t want to automatically process or hide the responses if the sender went to the trouble to actually write something inside. With that in mind, I have the following rule:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh4.ggpht.com/-Fan8pwkERVs/TsHj7Y1BUvI/AAAAAAAAEGQ/UgmfMDf1CNU/image%25255B13%25255D.png?imgmax=800" width="453" height="547" /&gt;&lt;/p&gt;  &lt;p&gt;Basically, the rule executes whenever a message is sent just to me and has the telltale text in the subject. But, if the message &lt;em&gt;body&lt;/em&gt; contains any text, leave the message in place. I couldn’t find any reasonable way to check if the body contains any text, so I had to resort to the hack of just checking for vowels. I guess you could add all the letters of the alphabet…but that’d just be silly.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dl.dropbox.com/u/11272726/blog/Hide%20Annoying%20Meeting%20Responses.rwz"&gt;Here’s the rule&lt;/a&gt; if you just want to import it (and update the move-to folder). If that makes you nervous (it should!), it’s not hard to recreate from the above screenshot.&lt;/p&gt;  &lt;p&gt;Once in place, your inbox should be nice and clean again…or at least not cluttered by empty RSVPs.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-6937957959818036290?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/KsrmjmW5uZw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/6937957959818036290/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=6937957959818036290" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/6937957959818036290?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/6937957959818036290?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/KsrmjmW5uZw/if-you-use-outlooks-handy-meeting.html" title="Outlook Tip: Automatically Archive Annoying Meeting Invitation Responses" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-iFZ7DYTrrMI/TsHj603FprI/AAAAAAAAEGA/6PHtuV8BmBw/s72-c/image%25255B4%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/if-you-use-outlooks-handy-meeting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YMSXs7fip7ImA9WhRSE0o.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-5116715795731705999</id><published>2011-11-12T12:04:00.001-05:00</published><updated>2011-11-15T11:39:48.506-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-15T11:39:48.506-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Candy Land Simulator" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>A Candy Land Simulator: The Game Engine</title><content type="html">&lt;p&gt;&lt;em&gt;Note: this post is from a &lt;/em&gt;&lt;a href="http://blog.wassupy.com/search/label/Candy%20Land%20Simulator"&gt;&lt;em&gt;series on Candy Land&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Last time we captured the board and the card deck into Javascript objects that look like this:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; board = [
    { color: &lt;span class="str"&gt;'Red'&lt;/span&gt; },
    { color: &lt;span class="str"&gt;'Orange'&lt;/span&gt;, bridgeTo: 59 }
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
];

&lt;span class="kwrd"&gt;var&lt;/span&gt; cards = [
    &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
];&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://claimyourjourney.com/2011/08/blog-7-running-and-candy-land/"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="players" alt="players" src="http://lh6.ggpht.com/--met3oPx4nc/Tr6nEfhiLfI/AAAAAAAAEF4/f3wKVfhaRIg/players%25255B7%25255D.jpg?imgmax=800" width="700" height="453" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we need to simply draw cards and keep track of a player through the game. I guess we should come up with some simple way to track that. Players will have a name and a position on the board. We also need to know if the player is losing a turn because they stepped on a licorice space. This should do it:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; players = [
    { name: &lt;span class="str"&gt;'Michael'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: -1 },
    { name: &lt;span class="str"&gt;'Thing 1'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: -1 },
];&lt;/pre&gt;

&lt;p&gt;As we design the rest of the engine, we’ll add to that as necessary.&lt;/p&gt;

&lt;p&gt;OK, now we need to create a game loop. A game loop basically covers all the actions that happen in one cycle of the game. Since Candy Land players don’t affect each other (except for a shared deck of cards), all the interesting stuff happens in the player loop, with alternating players.&lt;/p&gt;

&lt;p&gt;Here’s a &lt;a href="http://jsfiddle.net/mharen/crgAX/6/"&gt;first pass&lt;/a&gt; of what we need:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; players = [
    { name: &lt;span class="str"&gt;'Michael'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: -1, isWinner: &lt;span class="kwrd"&gt;false&lt;/span&gt;, moves: 0 },
    { name: &lt;span class="str"&gt;'Thing 1'&lt;/span&gt;, isLosingATurn: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: -1, isWinner: &lt;span class="kwrd"&gt;false&lt;/span&gt;, moves: 0 }
];

&lt;span class="rem"&gt;// call &amp;quot;DoGame&amp;quot; to play an entire game, passing in the players array&lt;/span&gt;
          
&lt;span class="kwrd"&gt;function&lt;/span&gt; DoGame(players){
    &lt;span class="rem"&gt;// initialize the board&lt;/span&gt;
          
    &lt;span class="rem"&gt;// initialize the deck&lt;/span&gt;

    &lt;span class="rem"&gt;// call &amp;quot;DoGameLoop&amp;quot; (pass in the board and deck) until it returns false, &lt;br /&gt;    // which indicates the game is over&lt;/span&gt;
    
    &lt;span class="rem"&gt;// when the game is over print out summary stats (e.g move counts) and exit&lt;/span&gt;
}
          
&lt;span class="kwrd"&gt;function&lt;/span&gt; DoGameLoop(players, board, cards){
    &lt;span class="rem"&gt;// if all players have finished (yes, my kids insist that the game continues&lt;/span&gt;
    &lt;span class="rem"&gt;// until everyone finishes :/) exit, the game is over (return false)&lt;/span&gt;
    
    &lt;span class="rem"&gt;// for each player: DoPlayerLoop&lt;/span&gt;
    
    &lt;span class="rem"&gt;// things went as planned, return true&lt;/span&gt;
}

&lt;span class="kwrd"&gt;function&lt;/span&gt; DoPlayerLoop(player, board, cards){
    &lt;span class="rem"&gt;// if we are lose a turn, turn off the &amp;quot;isLosingATurn&amp;quot; property and we're done (exit now)&lt;/span&gt;
    
    &lt;span class="rem"&gt;// draw a card and increment the &amp;quot;moves&amp;quot; counter&lt;/span&gt;
    
    &lt;span class="rem"&gt;// find the next space to move to based on the card&lt;/span&gt;
    
    &lt;span class="rem"&gt;// if your move takes you to the last square or beyond, you win &lt;/span&gt;
    &lt;span class="rem"&gt;// set the &amp;quot;isWinner&amp;quot; property to true and exit&lt;/span&gt;
    
    &lt;span class="rem"&gt;// if the space we landed on is a bridge, follow the bridge&lt;/span&gt;
    
    &lt;span class="rem"&gt;// if we are now on a lose-a-turn space, turn &lt;br /&gt;    // on the &amp;quot;isLosingATurn&amp;quot; property so we know &lt;/span&gt;
    &lt;span class="rem"&gt;// to skip our turn the next time around&lt;/span&gt;
}

&lt;span class="kwrd"&gt;function&lt;/span&gt; DrawACard(cards){
    &lt;span class="rem"&gt;// if there are no cards left in the deck they must have all been played so&lt;/span&gt;
    &lt;span class="rem"&gt;// reshuffle them! Boom, now there are cards in the deck&lt;/span&gt;
    
    &lt;span class="rem"&gt;// remove a card and return it&lt;/span&gt;
}

&lt;span class="kwrd"&gt;function&lt;/span&gt; MakeDeck(){
    &lt;span class="rem"&gt;// return a new, shuffled deck   &lt;/span&gt;
}

&lt;span class="kwrd"&gt;function&lt;/span&gt; MakBoard(){
    &lt;span class="rem"&gt;// return a new board&lt;/span&gt;
}&lt;/pre&gt;

&lt;p&gt;That should read pretty easily from top to bottom (you may have to use your imagination a little bit). We’ll implement some of these in the next post.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-5116715795731705999?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/8_tVMHNyotU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/5116715795731705999/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=5116715795731705999" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5116715795731705999?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5116715795731705999?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/8_tVMHNyotU/candy-land-simulator-game-engine.html" title="A Candy Land Simulator: The Game Engine" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/--met3oPx4nc/Tr6nEfhiLfI/AAAAAAAAEF4/f3wKVfhaRIg/s72-c/players%25255B7%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/candy-land-simulator-game-engine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YDQH0-fCp7ImA9WhRSE0o.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-1892460595634333447</id><published>2011-11-10T23:00:00.001-05:00</published><updated>2011-11-15T11:39:31.354-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-15T11:39:31.354-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Candy Land Simulator" /><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>A Candy Land Simulator: Overview and Data Representations</title><content type="html">&lt;p&gt;&lt;em&gt;Note: this post is from a &lt;/em&gt;&lt;a href="http://blog.wassupy.com/search/label/Candy%20Land%20Simulator"&gt;&lt;em&gt;series on Candy Land&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;As I was playing Candy Land with Thing 1, it occurred to me how much I dislike the game. As I blindly turned card after card I wondered what the typical number of moves looks like. And then I wondered what the distribution looks like. Really my brain just wanted to know how long it would be suffering, and how confident it should be about that answer.&lt;/p&gt;  &lt;p&gt;I guess the driving force behind these questions is my insatiable desire to finish this game so I can banish it to the bookshelf for another night and redirect the kiddos to other, less torturous activities.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" src="http://ecx.images-amazon.com/images/I/51epeuM6E7L.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;This is not a novel thing to wonder. In fact, apparently it’s pretty straight forward to &lt;a href="http://www.math.niu.edu/~rusin/uses-math/games/candyland/"&gt;approximate mathematically&lt;/a&gt; with a Markov chain. I’m not interested (or knowledgeable) in any of that, though. Instead, I want to simply build a test apparatus that yields the same kinds of answers from generated experimental data instead of fancy mathematics.&lt;/p&gt;  &lt;p&gt;But that’s &lt;a href="http://forthplace.com/candyland-simulator/"&gt;been done&lt;/a&gt;, too. I already had this idea festering as I enjoyed a friendly match of the worst game ever invented so I’m going to do it anyway. Come along for the ride—here we go!&lt;/p&gt;  &lt;p&gt;My primary goal is to figure out the average number of moves required to end a game of Candy Land between my daughter and me, experimentally. Along the way, we’ll do these too:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a simulator that can run through a whole game of Candy Land unattended &lt;/li&gt;    &lt;li&gt;Produce some output with different variables (e.g. number of players) &lt;/li&gt;    &lt;li&gt;Make some fancy tables and charts &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We might pile some more on as we go, of course. Throughout the whole process, I will try to make everything accessible to novice or aspiring programmers. This might mean I’m far more verbose and explicit about things than I normally would be; experienced programmers will just have to play along.&lt;/p&gt;  &lt;p&gt;We’ll use Javascript as much as possible. Let’s get started.&lt;/p&gt;  &lt;p&gt;First, we need to represent the game elements. We’ll start with something crude and then adjust it as needed. I transcribed the board into a &lt;a href="https://docs.google.com/spreadsheet/ccc?key=0AveyCDgGdW3edElxUnUtQS1rdUpaaWtaTFpZRnZNYVE&amp;amp;hl=en_US#gid=0"&gt;Google Doc&lt;/a&gt; (you can steal that if you like) and from that we’ll extract some JSON (that’s in the spreadsheet, too).&lt;/p&gt;  &lt;p&gt;If JSON (Javascript object notation) is unfamiliar to you, check &lt;a href="http://www.json.org/"&gt;it out&lt;/a&gt;. It’s pretty important.&lt;/p&gt;  &lt;p&gt;The board looks like this in JSON:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; board = [
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
    { color: &lt;span class="str"&gt;'Purple'&lt;/span&gt; },
    { color: &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, bridgeTo: 45 },
    { color: &lt;span class="str"&gt;'Blue'&lt;/span&gt; },
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
    { color: &lt;span class="str"&gt;'Green'&lt;/span&gt; },
    { color: &lt;span class="str"&gt;'Red'&lt;/span&gt;, loseTurn: &lt;span class="kwrd"&gt;true&lt;/span&gt; },
    { color: &lt;span class="str"&gt;'Purple'&lt;/span&gt; },
    { color: &lt;span class="str"&gt;'Yellow'&lt;/span&gt; }
    &lt;span class="rem"&gt;// ...&lt;/span&gt;
];&lt;/pre&gt;

&lt;p&gt;Here’s the &lt;a href="http://jsfiddle.net/mharen/crgAX/3/"&gt;full board&lt;/a&gt;. Basically we have an array of hashes. Each hash represents a square on the board and has the following properties:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;color (or character), required &lt;/li&gt;

  &lt;li&gt;loseTurn, only present if true &lt;/li&gt;

  &lt;li&gt;bridgeTo, if present this indicates where the bridge leads to &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next we need the deck of cards:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; cards = [
    &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   , &lt;span class="str"&gt;'Red'&lt;/span&gt;   ,
    &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;, &lt;span class="str"&gt;'Purple'&lt;/span&gt;,
    &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'Yellow'&lt;/span&gt;,
    &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  , &lt;span class="str"&gt;'Blue'&lt;/span&gt;  ,
    &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;, &lt;span class="str"&gt;'Orange'&lt;/span&gt;,
    &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; , &lt;span class="str"&gt;'Green'&lt;/span&gt; ,
    
    &lt;span class="str"&gt;'2Red'&lt;/span&gt;, &lt;span class="str"&gt;'2Blue'&lt;/span&gt;, &lt;span class="str"&gt;'2Purple'&lt;/span&gt;, &lt;span class="str"&gt;'2Orange'&lt;/span&gt;, &lt;span class="str"&gt;'2Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'2Green'&lt;/span&gt;,
    &lt;span class="str"&gt;'2Red'&lt;/span&gt;, &lt;span class="str"&gt;'2Blue'&lt;/span&gt;, &lt;span class="str"&gt;'2Purple'&lt;/span&gt;, &lt;span class="str"&gt;'2Orange'&lt;/span&gt;, &lt;span class="str"&gt;'2Yellow'&lt;/span&gt;, &lt;span class="str"&gt;'2Green'&lt;/span&gt; ,
    
    &lt;span class="str"&gt;'Gingerbread Man'&lt;/span&gt;, &lt;span class="str"&gt;'Candy Cane'&lt;/span&gt;, &lt;span class="str"&gt;'Gum Drop'&lt;/span&gt;, &lt;span class="str"&gt;'Peanut'&lt;/span&gt;, &lt;span class="str"&gt;'Lolly Pop'&lt;/span&gt;, &lt;span class="str"&gt;'Ice Cream Cone'&lt;/span&gt;
];&lt;/pre&gt;

&lt;p&gt;With those in place, we can now do simple things like counting spaces:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;alert(board.length);&lt;/pre&gt;

&lt;p&gt;Or counting cards:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;alert(cards.length);&lt;/pre&gt;

&lt;p&gt;Or peeking at a &lt;a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/random"&gt;random&lt;/a&gt; card from the deck:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; cardCount = cards.length;
&lt;span class="kwrd"&gt;var&lt;/span&gt; randomIndex = Math.floor(Math.random() * cardCount);
&lt;span class="kwrd"&gt;var&lt;/span&gt; randomCard = cards[randomIndex];
alert(randomCard);&lt;/pre&gt;

&lt;p&gt;I haven’t decided how to simulate shuffling yet (shuffle first, or draw randomly)—we’ll talk about that and do it tomorrow.&lt;/p&gt;

&lt;p&gt;You can run what we have so far by hitting the little “play” triangle in this fiddle:&lt;/p&gt;

&lt;p&gt;&lt;iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/mharen/crgAX/5/embedded/js,result" frameborder="0" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Now that we have our structures in place, we should start thinking about how we’re going to use the cards to navigate the board. I’ll start on that tomorrow, too… :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-1892460595634333447?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/eqySCU7f6qc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/1892460595634333447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=1892460595634333447" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/1892460595634333447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/1892460595634333447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/eqySCU7f6qc/candy-land-simulator-overview-and-data.html" title="A Candy Land Simulator: Overview and Data Representations" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/candy-land-simulator-overview-and-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4GRXcycSp7ImA9WhRTGEQ.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-4915811568108330271</id><published>2011-11-09T23:05:00.001-05:00</published><updated>2011-11-09T23:05:24.999-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T23:05:24.999-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>Please Ignore Me While I Gush Over My New Laptop</title><content type="html">We're a Dell shop and that's worked out well for us. I'm serious about hardware, but not pathologically so. I have a single laptop that I take very good care of and I try to time my upgrades strategically to get the most bang for my (company's) buck. Here's my recent history.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;I had a trusty D505 for a couple years. It was OK, but not stellar&lt;/li&gt;
&lt;li&gt;Then I upgrade to the dual-core awesomeness of the D520. I waited for the gen 2&lt;/li&gt;
&lt;li&gt;Two years ago I got a shiny SSD (Intel X25M). I waited for the gen 2.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;And last month, my disk almost full, my screen getting flaky, and my VM usage increasing, I upgraded again. Now I have a Dell Latitude E6520 (with gen 2 i7qm).&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Here's my brief review.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Things I love&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
The &lt;b&gt;screen&lt;/b&gt; is great. We don't skimp on screens so this baby is full hd. It took me a few days to get used to the widescreen format, and the tiny text, but I like it now. It's bright and crisp with oodles of pixels.&lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;performance&lt;/b&gt; is incredible. Getting an SSD two years ago was insane--the best upgrade ever--but moving to a modern processor (with four hyper-threaded cores) is a close second. Of course I moved my SSD over to this new machine so I really have a killer workhorse of a machine now.&lt;br /&gt;
&lt;br /&gt;
I was surprised to find lots of things that I assumed were network-bound are &lt;b&gt;faster&lt;/b&gt; now. I guess my assumption was wrong. Subversion updates and checkins are noticeably faster. Chrome is much snappier. Even &lt;i&gt;fast&lt;/i&gt; sites like Stackoverflow are noticeably&lt;i&gt; faster&lt;/i&gt;. I keep finding myself clicking on things and then beginning to move my attention away, only to have whatever I clicked on be ready before I can. I have to train my expectations for the new, more responsive experience.&lt;br /&gt;
&lt;br /&gt;
I love the &lt;b&gt;back-lit keyboard&lt;/b&gt;. I work in the dark often (while the kiddos fall asleep, usually) and being able to actually see the keys is pretty helpful. It is attractive, not too bright, and has quickly become something I always want in a laptop.&lt;br /&gt;
&lt;br /&gt;
I like that I finally have a &lt;b&gt;built-in webcam&lt;/b&gt;. I rarely use it but when I need one, it's hard to beat the convenience of having it built-in, ready to go. The quality is much better than whatever Logitech cheap thing I used to use, too.&lt;br /&gt;
&lt;br /&gt;
I like this E-media bay thing, also known as that spot where the disc drive falls out of. Right now I have a huge &lt;i&gt;second&lt;/i&gt; harddrive in there instead of a disc drive (that's the part I like). It's very nice considering how small SSDs tend to be. Now I have tons of scratch space to complement my lightning fast, but scarce SSD. The first thing I'll use it for is to set up regular backups since SSDs &lt;a href="http://www.codinghorror.com/blog/2011/05/the-hot-crazy-solid-state-drive-scale.html"&gt;aren't widely known&lt;/a&gt; for their longevity.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Things that could be better&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
The &lt;b&gt;form factor&lt;/b&gt; is &lt;i&gt;large&lt;/i&gt;. It's not awkward for day to day use, or lugging around the office, but using it on a plane would be difficult. It's probably too large for a non-automobile commute.&lt;br /&gt;
&lt;br /&gt;
It's not too heavy, and it works for me, but I could see some improvement here. I do like the new finish and style of the machine, but as far as simple size and weight, it's your typical Windows Laptop.&lt;br /&gt;
&lt;br /&gt;
Coming from an aging system with a weak, 1-hour &lt;b&gt;battery&lt;/b&gt;, I am thrilled to get 3-4 hours out of this thing. On the other hand, other systems do much better. Battery life wasn't a huge priority for me, but if it is for you you might want to keep looking.&lt;br /&gt;
&lt;br /&gt;
Regarding the keyboard, I'm sure few will share this complaint, but I miss my context menu key. My old lappy had one and I used it often. But now it's gone :(. I guess the full 10-key numpad makes up for it. Almost.&lt;br /&gt;
&lt;br /&gt;
While I do like having proper&lt;b&gt; page up/down&lt;/b&gt; buttons, the layout is weird. My intuition has me hitting the wrong one, thinking that they should be reversed. Or really, they should be somewhere else. I wish I could order this thing with a standard arrow/nav arrangement instead of the 10-key. &lt;i&gt;That'd be awesome.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-IZmHvJAeUCo/Trs_zFxPYDI/AAAAAAAAEFY/xOcqXamObs4/s1600/have.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="352" src="http://3.bp.blogspot.com/-IZmHvJAeUCo/Trs_zFxPYDI/AAAAAAAAEFY/xOcqXamObs4/s640/have.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-UfOJvYEUb1o/Trs_ztJ0N1I/AAAAAAAAEFg/ro4zeSXWia8/s1600/want.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="593" src="http://3.bp.blogspot.com/-UfOJvYEUb1o/Trs_ztJ0N1I/AAAAAAAAEFg/ro4zeSXWia8/s640/want.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The track pad is fine, but the &lt;b&gt;track pad scroll support&lt;/b&gt; leaves a little to be desired. I find it jumps around when I try to scroll. The experience is hard to describe, so you'll just have to take my word for it: it's a bit jarring. I assume it's a software issue so maybe it'll go away with a driver update or by tweaking a bunch of random settings.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Conclusion&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
I am overwhelmingly thrilled with this thing. It's fast and reliable. It seems to run much cooler than my D520, and am typing this in the dark, comfortably.&lt;br /&gt;
&lt;br /&gt;
I don't know how meaningful these things are but I've become quite obsessed with my Windows Experience Index scores. Here's my old machine, just before I moved its hard drive over.:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-KtR2-MfN-IM/TrtBcD6JoVI/AAAAAAAAEFo/gESfbCFRrik/s1600/d520+wei.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-KtR2-MfN-IM/TrtBcD6JoVI/AAAAAAAAEFo/gESfbCFRrik/s640/d520+wei.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
And my new one:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-wvnapmKKbNs/TrtBjiBKcGI/AAAAAAAAEFw/7XVLxhzWP8g/s1600/e6520+wei.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="203" src="http://4.bp.blogspot.com/-wvnapmKKbNs/TrtBjiBKcGI/AAAAAAAAEFw/7XVLxhzWP8g/s640/e6520+wei.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
That's a big leap, and I can feel it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-4915811568108330271?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/kuBJ6r_01qQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/4915811568108330271/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=4915811568108330271" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/4915811568108330271?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/4915811568108330271?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/kuBJ6r_01qQ/please-ignore-me-while-i-gush-over-my.html" title="Please Ignore Me While I Gush Over My New Laptop" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-IZmHvJAeUCo/Trs_zFxPYDI/AAAAAAAAEFY/xOcqXamObs4/s72-c/have.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/please-ignore-me-while-i-gush-over-my.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQXw5fip7ImA9WhRTGEQ.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-2303437846148586829</id><published>2011-11-09T21:18:00.002-05:00</published><updated>2011-11-09T21:18:50.226-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T21:18:50.226-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><title>Installing/Upgrading Memory in a Dell Latitude 6520 (aka MOAR GBs!)</title><content type="html">I just got a new machine! It's amazing. Our awesome IT guy got an 8gb memory upgrade, too. It came in while he was on vacation so what was I supposed to do? Let it taunt me like a fool? No, I can do this.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Upgrading the memory in my sweet new laptop turned out to be easy, but I had to just guess how to do it because I couldn't find any documentation on how exactly I was supposed to do it. Fortunately, it was very easy. Not MacBook easy, but easy enough.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Short and sweet:&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Disconnect power, remove battery&lt;/li&gt;
&lt;li&gt;Remove all the "D"-labeled Phillips-head screws from the bottom&lt;/li&gt;
&lt;li&gt;Pop off the bottom plastic&lt;/li&gt;
&lt;li&gt;Install the memory&lt;/li&gt;
&lt;li&gt;Put it all back together&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
In pictures:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nOLHTPfZfBc/TrsxXLq8jXI/AAAAAAAAEFI/jfbkZtSUXCg/s1600/IMG_0624.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="488" src="http://2.bp.blogspot.com/-nOLHTPfZfBc/TrsxXLq8jXI/AAAAAAAAEFI/jfbkZtSUXCg/s640/IMG_0624.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Take out the screws (be mindful of the HD screws because they're different than the others)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-U2tNvB9gqF0/Trsw_fAYYmI/AAAAAAAAEEA/Le_eVutCYZo/s1600/IMG_0613.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-U2tNvB9gqF0/Trsw_fAYYmI/AAAAAAAAEEA/Le_eVutCYZo/s640/IMG_0613.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RR9SlfF04v4/TrsxBPfEIzI/AAAAAAAAEEI/dEsAzR1sFNg/s1600/IMG_0615.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="387" src="http://3.bp.blogspot.com/-RR9SlfF04v4/TrsxBPfEIzI/AAAAAAAAEEI/dEsAzR1sFNg/s640/IMG_0615.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;There's the tiny chip we're replacing&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-fH9mz_PXC1I/TrsxDrL-eLI/AAAAAAAAEEQ/oIh3nGqXhBw/s1600/IMG_0616.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="424" src="http://2.bp.blogspot.com/-fH9mz_PXC1I/TrsxDrL-eLI/AAAAAAAAEEQ/oIh3nGqXhBw/s640/IMG_0616.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Just a gentle push on the silver clips and the stick will pop up.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-nTBjKD_iqI8/TrsxHW6PF8I/AAAAAAAAEEY/PNDjmGqVbgs/s1600/IMG_0617.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-nTBjKD_iqI8/TrsxHW6PF8I/AAAAAAAAEEY/PNDjmGqVbgs/s640/IMG_0617.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-pWLicRTf6Zw/TrsxJKLH-iI/AAAAAAAAEEg/YWcaRtIO5bw/s1600/IMG_0618.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="442" src="http://4.bp.blogspot.com/-pWLicRTf6Zw/TrsxJKLH-iI/AAAAAAAAEEg/YWcaRtIO5bw/s640/IMG_0618.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The instructions are brief, and *behind* the chips. Nice.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YKGv7yQW2dY/TrsxLJGv3bI/AAAAAAAAEEo/uchMw9FGVBM/s1600/IMG_0619.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="442" src="http://3.bp.blogspot.com/-YKGv7yQW2dY/TrsxLJGv3bI/AAAAAAAAEEo/uchMw9FGVBM/s640/IMG_0619.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;One in, one to go&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-1U2rQcISjEQ/TrsxM7_C50I/AAAAAAAAEEw/rkG5yWg5cEI/s1600/IMG_0621.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="484" src="http://4.bp.blogspot.com/-1U2rQcISjEQ/TrsxM7_C50I/AAAAAAAAEEw/rkG5yWg5cEI/s640/IMG_0621.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The stick should slide in easily at the right angle (it's higher than you think it should be). When it feels right, give it a firm push into the socket, then gently swing it into place.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-EX9K76z0bwY/TrsxQfkeARI/AAAAAAAAEE4/Yg6N8Ke4724/s1600/IMG_0622.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-EX9K76z0bwY/TrsxQfkeARI/AAAAAAAAEE4/Yg6N8Ke4724/s640/IMG_0622.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mX6r1NZW6b8/TrsxTlGBJ-I/AAAAAAAAEFA/xXxbd5Jysrk/s1600/IMG_0623.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-mX6r1NZW6b8/TrsxTlGBJ-I/AAAAAAAAEFA/xXxbd5Jysrk/s640/IMG_0623.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;All set. Now put it all back together!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Boot...and it works!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-pW0bI5rraMU/Trs0TBIQDBI/AAAAAAAAEFQ/mTm4B7j_V-U/s1600/boom+8gb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="420" src="http://3.bp.blogspot.com/-pW0bI5rraMU/Trs0TBIQDBI/AAAAAAAAEFQ/mTm4B7j_V-U/s640/boom+8gb.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
For $60, 8gb seems like a no-brainer upgrade if your laptop supports it.&amp;nbsp;And now, I can finally reap the rewards of choosing to go with Windows 7 x64 two years ago. Yay!&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-2303437846148586829?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/BeKY9oQMwmQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/2303437846148586829/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=2303437846148586829" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2303437846148586829?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2303437846148586829?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/BeKY9oQMwmQ/installingupgrading-memory-in-dell.html" title="Installing/Upgrading Memory in a Dell Latitude 6520 (aka MOAR GBs!)" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-nOLHTPfZfBc/TrsxXLq8jXI/AAAAAAAAEFI/jfbkZtSUXCg/s72-c/IMG_0624.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/installingupgrading-memory-in-dell.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQMRn06fyp7ImA9WhRTGEw.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-8310184726365909067</id><published>2011-11-08T23:48:00.001-05:00</published><updated>2011-11-08T23:53:07.317-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-08T23:53:07.317-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>Jim, The Pony Taxi, Who Sounds A Lot Like an Engineer</title><content type="html">&lt;a href="https://plus.google.com/103506291560311820711/posts/U4RurULNe4X"&gt;By request&lt;/a&gt;, 600 words on ponies.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="T" border="0" src="http://2.bp.blogspot.com/-8rSVQP-UW9Y/TroE67Vh8II/AAAAAAAAD_w/Tm9yGibSAyY/s1600/t.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; padding-bottom: 1px; padding-left: 1px; padding-right: 1px; padding-top: 1px;" title="T" /&gt;here once was a clever pony named Jim. He was a &lt;a href="http://twitpic.com/7bid0x"&gt;fine steed&lt;/a&gt; who loved solving the world's transportation problems, one trip at a time. When asked what he did for a living, Jim would often answer&amp;nbsp;succinctly, "I make traveling easier."&lt;br /&gt;
&lt;br /&gt;
And so Jim went about his days improving trip performance and finding new ways to help his customers. All the while though, a particular calling bubbled to the surface: more than anything, he &lt;i&gt;really&lt;/i&gt; wanted his riders to be happy. Unfortunately, like most ponies, Jim wasn't just directed to&amp;nbsp;&lt;i&gt;wherever&lt;/i&gt;&amp;nbsp;his customers wanted to go, but also &lt;i&gt;how &lt;/i&gt;to get there.&lt;br /&gt;
&lt;br /&gt;
The problem, Jim realized, was that he often knew how to better serve his customers than they did. It wasn't that he didn't respect his customers--certainly their destinations were important. But he felt that his years of experience in the shipping business (as the ponies refer to it) made him better qualified to plan the route.&lt;br /&gt;
&lt;br /&gt;
Initially Jim marketed this idea to much interest. "Of course!" his customers exclaimed, "why should we bother ourselves with such trivial matters when we can just let the horse handle it?" Sensing their&amp;nbsp;condescension, Jim didn't begin his next trip with much&amp;nbsp;optimism. As he set out from Point A to Point B with a carefully planned route in mind, optimized for not just for speed but also for safety and general passenger comfort he felt confident but guarded.&lt;br /&gt;
&lt;br /&gt;
His intuition was proved correct as he went left at the fork where others often went right. "Whoa there, buddy, what's going on? Let's keep with what we've always done, ok?"&lt;br /&gt;
&lt;br /&gt;
"But sir," Jim suggested to the passenger, "I have considered many variables, and after a great deal of work I have planned a new, better path. Can I show you what I had in mind?"&lt;br /&gt;
&lt;br /&gt;
"Not today, Jim," the passenger dismissed, "I don't want to approach the idea of changing anything at this point in the journey. We don't like surprises."&lt;br /&gt;
&lt;br /&gt;
And so, dejected from resigning himself to an inferior course for no real reason or purpose, Jim backed up and continued to Point B as directed.&lt;br /&gt;
&lt;br /&gt;
It wasn't long before the streets became crowded. "Why are we slowing down?" the passenger demanded.&lt;br /&gt;
&lt;br /&gt;
"This old path isn't well maintained these days and with all the new traffic that's been added over the years it's become quite difficult to pass through," Jim explained.&lt;br /&gt;
&lt;br /&gt;
"The new bypass I wanted to use is much quicker and smoother," he mumbled to no one in particular.&lt;br /&gt;
&lt;br /&gt;
After a&amp;nbsp;stressful&amp;nbsp;maneuver down the old path, Jim had completed the trip. His customer thanked him and went on his way. While refreshing himself at a local gathering place of other like-minded ponies, Jim struck up a conversation with a pleasant man.&lt;br /&gt;
&lt;br /&gt;
"I need to get up to Point A quick," the man said.&lt;br /&gt;
&lt;br /&gt;
"I'm heading up there now," Jim replied. "Let's go. Do you want the path or the bypass?"&lt;br /&gt;
&lt;br /&gt;
"You're the expert--lead the way," the passenger instructed.&lt;br /&gt;
&lt;br /&gt;
"You got it."&lt;br /&gt;
&lt;br /&gt;
Filled with a new sense of purpose and respect, Jim carefully merged onto the bypass and the trip to Point A went smoothly and efficiently.&lt;br /&gt;
&lt;br /&gt;
"Thanks for the lift," the customer said, stepping down. "I haven't taken that route before--I liked it! Very scenic! And fast!"&lt;br /&gt;
&lt;br /&gt;
"My&amp;nbsp;pleasure," Jim beamed, casually passing his card, "give me a call the next time I can help."&lt;br /&gt;
&lt;br /&gt;
Jim had achieved his ultimate goal of making his customers happy through modern travel. With an extra bounce in his step, exuding confidence and skill, Jim couldn't go two paces without running into a new fare. It was looking to be a busy day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-8310184726365909067?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/ACTiMKUqFiM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/8310184726365909067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=8310184726365909067" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/8310184726365909067?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/8310184726365909067?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/ACTiMKUqFiM/jim-pony-taxi-who-sounds-lot-like.html" title="Jim, The Pony Taxi, Who Sounds A Lot Like an Engineer" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-8rSVQP-UW9Y/TroE67Vh8II/AAAAAAAAD_w/Tm9yGibSAyY/s72-c/t.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/jim-pony-taxi-who-sounds-lot-like.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUMRnczfCp7ImA9WhRTF08.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-1248043318143772060</id><published>2011-11-07T23:35:00.000-05:00</published><updated>2011-11-07T23:41:27.984-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-07T23:41:27.984-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>How To Give Better Technical Presentations</title><content type="html">&lt;span style="background-color: transparent;"&gt;I give technical presentations at work occasionally and &lt;/span&gt;&lt;i style="background-color: transparent;"&gt;I actually  enjoy it&lt;/i&gt;&lt;span style="background-color: transparent;"&gt;. I’m talking about spending an hour talking to 15-20 coworkers about  something neat like the latest developments in databases, web technology, etc.,  with time included for Q&amp;amp;A.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I get a lot of great feedback each time, which make it very rewarding.&amp;nbsp;&lt;span style="background-color: transparent;"&gt;I must be doing a good job if&amp;nbsp;I've&amp;nbsp;convinced people I’m an expert on any of  what I’ve presented (I rarely am but some seem to think so!). I think the real trick is just staying two pages  ahead of the audience in the proverbial textbook. I know what’s about to happen  on the screen; it’s loosely scripted. I’ve chosen to present the parts I like  (and understand). And most importantly, I’ve practiced the whole thing a dozen  times, and the hard parts (usually programming on the spot) a dozen &lt;/span&gt;&lt;em style="background-color: transparent;"&gt;more  &lt;/em&gt;&lt;span style="background-color: transparent;"&gt;times.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://hyperboleandahalf.blogspot.com/2010/04/alot-is-better-than-you-at-everything.html" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-VYATiabsXi8/TriotWo2xGI/AAAAAAAAD_E/fehmSb91pwc/s1600/alot.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;That’s really the only reason I look like I know what I’m doing: I prepare. A  lot. &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I also benefit from experience, but you have to start somewhere. Here are a  few tips to motivate you to take up small speaking roles and give better  presentations.&lt;br /&gt;
&lt;br /&gt;
First of all, and trust me on this: &lt;b&gt;it’s easier than it looks&lt;/b&gt;.&amp;nbsp;&lt;span style="background-color: transparent;"&gt;If you have a topic you are deeply interested in, speaking on it is easy if  you do the right preparation. The hard part is finding the time to actually do  all that preparation.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If this is all very new to you or you're having trouble visualizing what a cool presentation might look like, m&lt;span style="background-color: transparent;"&gt;y advice to you is to go watch a few stellar examples. Jump on &lt;/span&gt;&lt;a href="http://channel9.msdn.com/" style="background-color: transparent;"&gt;channel 9&lt;/a&gt;&lt;span style="background-color: transparent;"&gt; and poke  around. Look at anything by &lt;/span&gt;&lt;a href="http://channel9.msdn.com/Events/MIX/MIX11/FRM02" style="background-color: transparent;"&gt;Hanselman&lt;/a&gt;&lt;span style="background-color: transparent;"&gt;. Check out  this &lt;/span&gt;&lt;a href="http://channel9.msdn.com/Events/MIX/MIX11/FRM02" style="background-color: transparent;"&gt;neat thing&lt;/a&gt;&lt;span style="background-color: transparent;"&gt;  from Steve Sanderson. If your presentation is less technical, and short, check out pretty much anything on &lt;a href="http://www.ted.com/talks"&gt;TED&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Then face the facts: you are not going to be as awesome as these guys. They  are pros. But &lt;b&gt;aspire to greatness! &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Ready to present? OK, here are a few tips to make your presentation better.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Don’t speak slowly or change how you speak.&lt;/b&gt;&amp;nbsp;&lt;span style="background-color: transparent;"&gt;I think the age old advice to speak slowly and clearly &amp;nbsp;is bogus. Does it really make sense that we should have to aggressively alter  how we speak for others to understand us? I mean, shouldn't we be pretty good at  talking? Sure, you need to be heard, but otherwise I encourage you to go  natural. If you are concerned that a particular part of the talk is overly complex then simplify it and repeat yourself. This is hard to do but &lt;i&gt;being able to describe a complex topic elegantly and effectively is very satisfying&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Walk us through  what you’re doing and why&lt;/b&gt;. If you’re demoing code, don’t just read aloud what  you are typing (we are watching your screen, after all). Instead, &lt;i&gt;narrate what’s  happening&lt;/i&gt; in a more conversational way. &lt;b&gt;Your presentation should be a story with all three parts.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Focus on interesting details, skip uninteresting minutiae.&lt;/b&gt; This works especially well if you make your source code available. Tell the audience up front that everything you show will be theirs so they can just follow along with you without fear of being unable to reproduce what you have later.&lt;br /&gt;
&lt;br /&gt;
Don't dumb it down. &lt;b&gt;Unless you are giving a beginner's guide to whatever, aim high.&lt;/b&gt; The 25% who know it all already will appreciate not being bored to tears simply because of the fast pace of things. The 50% who can just barely keep up will love it &amp;nbsp;because they'll find everything facsinating (and they'll learn a ton). The 25% that can't keep up wouldn't have learned much from a lower density presentation any way. Don't let the bottom quartile ruin your presentation for everyone else.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;For the love of all that is holy know how to use the presentation equipment.&lt;/b&gt; I refuse to be that guy stuck in the front of the room fiddling with the projector and microphone for the first 15 minutes of a 60 minute talk. &lt;i&gt;Don't be that guy. &lt;/i&gt;I usually present in the same room with the same equipment but I still show up an hour early to get everything ready to go.&lt;br /&gt;
&lt;br /&gt;
Don't be afraid to &lt;b&gt;let others help you.&lt;/b&gt; If you are supposed to record something or teleconference the talk, ask a trusted coworker or friend to oversee that stuff. You don't want to be worrying about it if you can help it. This works for simple stuff, too. You can ask someone to keep an eye out for questions in the chat room or let you know if you went too quickly through something. &lt;br /&gt;
&lt;hr /&gt;
"Great tips, but &lt;b&gt;how do I actually put one of these together?&lt;/b&gt;" you ask? Unfortunately, it's a lot of work, but the more work you do to prepare, the easier the actual presentation will be. Don't skimp on preparation (your audience can tell)!&lt;br /&gt;
&lt;br /&gt;
I think most presentations are terrible because the presenter wasn't honest with himself regarding what needed to be done. There’s a lot more to presenting than many realize:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Pick a topic&lt;/li&gt;
&lt;li&gt;Identify what you want to cover in the topic&lt;/li&gt;
&lt;li&gt;Make an interesting outline of everything you want to cover&lt;/li&gt;
&lt;li&gt;Practice it, &lt;b&gt;cutting out stuff &lt;/b&gt;until you’re at about 40 minutes (throwing away content is the hardest part)&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent;"&gt;At this point you should be very satisfied with what you’ll cover. Now you  can build your assets (code, slides, etc.).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
Practice, speaking out loud, everything you think you need to say and do. Leave awkward pauses where you plan to take questions and actually go through the coding exercises you plan to do.  Oddly enough, I feel more ridiculous speaking aloud my talk by myself or in front of my wife than I do to a real audience. How do you know when you have 40 minutes of content? You won’t until you  practice!&lt;br /&gt;
&lt;br /&gt;
If you're like me, you'll find that you move much faster in front of a crowd (it's probably just all the preparation kicking in!). This presents a significant problem. If you prepare 40 minutes of material, and present it in 30, what are you supposed to do for the remaining time? In practice, a lively audience will double that 30 minutes into 60 by asking questions. Unfortunately, it's difficult to encourage a lively audience. This is where I think humor helps a lot. If you make the room feel small and comfortable, people will chip in to the conversation when you ask for questions.&lt;br /&gt;
&lt;br /&gt;
In fact, when I first started doing tech talks &lt;b&gt;I flat out bribed people to ask questions&lt;/b&gt;. I gave away prizes (books on the presented topic, Chipotle gift cards, etc.) to people who contributed. I don't need to do that any more but initially I think it really helped teach the audience that I was serious about interacting with them.&lt;br /&gt;
&lt;br /&gt;
But of course there are times where the crowd is just not into it and you find yourself with a lot of dead air to fill. &lt;b&gt;You need a backup plan for filling that dead air.&lt;/b&gt; I always prepare an extra demo or exercise just in case this happens (or some other part of my presentation fails miserably). As I near the end of the talk, I just peek at the clock and decide if "I have time for one more thing" or if "it's time to wrap up and take some questions." Having this buffer is essential when you're just getting started or when presenting to an unfamiliar audience.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://docs.google.com/previewtemplate?id=15In8GvuycvtVflqLd6lf5VBuB40SOLb4ggHBVZbLg4s&amp;amp;mode=public" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="215" src="http://1.bp.blogspot.com/-wJB_RytROSA/TriwCtl2IgI/AAAAAAAAD_M/uX81hTF4rM8/s320/feedback.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
And finally, solicit feedback. If you want to get better at this you need to know how you're doing now. The feedback form I pass out at the beginning of the talk has evolved to something that's blissfully easy for people to complete, while still providing me the key information I need to make a better talk. &lt;a href="https://docs.google.com/previewtemplate?id=15In8GvuycvtVflqLd6lf5VBuB40SOLb4ggHBVZbLg4s&amp;amp;mode=public"&gt;Take it and modify it&lt;/a&gt; to suit your needs (don't complain about the formatting...I imported it from some legacy word processing program called "Word").&lt;br /&gt;
&lt;br /&gt;
Now go forth and make a fool of yourself. &lt;i&gt;For science!&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-1248043318143772060?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/LDT7nOkdXbg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/1248043318143772060/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=1248043318143772060" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/1248043318143772060?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/1248043318143772060?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/LDT7nOkdXbg/how-to-give-better-technical.html" title="How To Give Better Technical Presentations" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-VYATiabsXi8/TriotWo2xGI/AAAAAAAAD_E/fehmSb91pwc/s72-c/alot.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/how-to-give-better-technical.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAESHw_fSp7ImA9WhRTFkk.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-721507588750973869</id><published>2011-11-07T00:13:00.001-05:00</published><updated>2011-11-07T00:45:09.245-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-07T00:45:09.245-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>Profanity in Technical Presentations and Business</title><content type="html">&lt;p&gt;This post started out a little unusually. My normally scheduled blog time was interrupted by an inconvenient support call from one of my customers (DST FML) and the whole mess of digging through databases and log files really ruined my NaBloPoMo motivation. &lt;/p&gt;  &lt;p&gt;So after struggling against writer’s block for too long, I &lt;a href="https://plus.google.com/103506291560311820711/posts/U4RurULNe4X"&gt;put the call out&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://plus.google.com/103506291560311820711/posts/U4RurULNe4X"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 3px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image[28]" border="0" alt="image[28]" src="http://lh4.ggpht.com/-h8goKoVL_Tc/TrdpBsVeBbI/AAAAAAAAD-c/1on4g8xYv8M/image%25255B28%25255D%25255B2%25255D.png?imgmax=800" width="485" height="71" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And it was answered:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://plus.google.com/103506291560311820711/posts/U4RurULNe4X"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 3px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image[29]" border="0" alt="image[29]" src="http://lh5.ggpht.com/-_twonJ-Gc4o/TrdpCB41YJI/AAAAAAAAD-k/ULVyJJf9FGg/image%25255B29%25255D%25255B2%25255D.png?imgmax=800" width="432" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Crap, indeed. Then, this happened:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://plus.google.com/103506291560311820711/posts/U4RurULNe4X"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 3px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image[30]" border="0" alt="image[30]" src="http://lh4.ggpht.com/-Dm17B6lC0sY/TrdpCuEmZAI/AAAAAAAAD-s/j3fGm34l5-Q/image%25255B30%25255D%25255B2%25255D.png?imgmax=800" width="441" height="279" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Who am I to deny one of my personal tech heroes, &lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hanselman&lt;/a&gt;?&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;Profanity in Technical Presentations and Business&lt;/h4&gt;  &lt;p&gt;I think people are generally very good at tailoring their behavior (speech, language, etc.) to their surroundings. That’s probably why, after noting a few encounters with presenters who didn’t follow this social norm, Hanselman was compelled to record some &lt;a href="http://www.hanselman.com/blog/ProfanityDoesntWork.aspx"&gt;excellent points&lt;/a&gt; on the topic.&lt;/p&gt;  &lt;p&gt;The simple fact is that the overwhelming majority of interactions we have with each other are professional and courteous. That’s how norms are established, after all. So, is crude language appropriate in professional settings? I think it’s better to look at language as just one of many aspects of how we interact with others. &lt;/p&gt;  &lt;p&gt;For example, my vocabulary varies with my audience. I don’t use terms like &lt;em&gt;lock escalation &lt;/em&gt;or &lt;em&gt;time complexity &lt;/em&gt;with my sales people. Similarly, I avoid using terms like &lt;em&gt;value add &lt;/em&gt;and &lt;em&gt;thinking cap &lt;/em&gt;(yes, I actually hear that one occasionally) when talking to fellow programmers. I’ve even learned to live with people calling computers &lt;em&gt;hard drives &lt;/em&gt;and mixing up &lt;em&gt;Office &lt;/em&gt;and &lt;em&gt;Windows &lt;/em&gt;(hi, Mom!) because that’s the jargon that’s appropriate when talking to people (e.g. my mom) who simply don’t care about technology all that much.&lt;/p&gt;  &lt;p&gt;If we view language on a scale, we can adjust aspects of it to suit our surroundings. When I’m in a meeting with a bunch of higher-ups, for example, my language variables look like this:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 3px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image[27]" border="0" alt="image[27]" src="http://lh3.ggpht.com/-jt67tdCU0fg/TrdpDmt9fBI/AAAAAAAAD-w/9ljzm0l0DZo/image%25255B27%25255D%25255B3%25255D.png?imgmax=800" width="438" height="185" /&gt;&lt;/p&gt;  &lt;p&gt;I play it safe because to do anything else would be odd and possibly counterproductive. During the work day, with my closer coworkers, the dials move up a bit:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 3px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image[26]" border="0" alt="image[26]" src="http://lh6.ggpht.com/-CnRkxm1XQ3Q/TrdpDvN0MCI/AAAAAAAAD-8/AbkWBnCRn3c/image%25255B26%25255D%25255B3%25255D.png?imgmax=800" width="438" height="185" /&gt;&lt;/p&gt;  &lt;p&gt;And then after work, at a code-a-thon, or in smaller groups, things max out as I turn into a child who just learned forbidden words and can’t shut up.&lt;/p&gt;  &lt;p&gt;My point is, normal people constantly tune these social variables. Intentionally setting them out spec is a tactic that can be employed for dramatic effect, but I rarely find it necessary to do that in the work place. About as far as I’ve gone with such things was during my last tech talk presentation. As I was doing the overview stuff I remarked on the obvious absence of anyone from management. I joked that they were too busy golfing to learn something new and removed my dress shirt to give the remainder of the talk in the geeky t-shirt I was wearing underneath. I’m so baller, I know.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I think making inappropriate jokes or using bad language is, more than anything, distracting.&lt;/strong&gt; I’m sure it offends some people, too, but I think the bigger issue is the effect it has on your signal. If people are busy thinking about &lt;em&gt;how &lt;/em&gt;you said something, they aren’t thinking about &lt;em&gt;what &lt;/em&gt;you said. &lt;/p&gt;  &lt;p&gt;I think Scott’s right to focus on language as the essence of professionalism in the work place and during presentations. In other settings it might be something else. For example, commenters on Reddit crank the normal, dispassionate language option for crudeness to 11; it’s like an f-bomb blizzard where every snowflake is some different invocation of the same hyper-flexible word. But &lt;a href="http://en.wikipedia.org/wiki/Troll_(Internet)"&gt;there&lt;/a&gt; heads explode if someone makes a typo or uses improper grammar. &lt;/p&gt;  &lt;p&gt;So the next time you want to build a rapport with your audience or jazz up a boring topic, do what I do: tell self-deprecating jokes until you get sympathy laughs and move on to the cool stuff everyone came to hear about. If you think you need four-letter gimmicks to earn people’s time, you’re doing it wrong.&lt;/p&gt;  &lt;p&gt;And &lt;em&gt;they were &lt;a href="http://twitpic.com/7bid0x"&gt;ponies&lt;/a&gt; the whole time.&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-721507588750973869?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/vLbqOb25V2w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/721507588750973869/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=721507588750973869" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/721507588750973869?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/721507588750973869?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/vLbqOb25V2w/profanity-in-technical-presentations.html" title="Profanity in Technical Presentations and Business" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-h8goKoVL_Tc/TrdpBsVeBbI/AAAAAAAAD-c/1on4g8xYv8M/s72-c/image%25255B28%25255D%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/profanity-in-technical-presentations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFQHs6eCp7ImA9WhRTFEg.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-4538343564181001585</id><published>2011-11-04T21:10:00.001-04:00</published><updated>2011-11-04T21:10:11.510-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-04T21:10:11.510-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>Oh no! I have an interview today and did absolutely nothing to prepare!</title><content type="html">&lt;p&gt;My company hires a fair bit and involves its engineers in the process. When you interview with us, you’re likely to speak to 5-7 different people for 20-30 minutes each. It’s grueling.&lt;/p&gt;  &lt;p&gt;With the experience of interviewing about 60 people under my belt, these are the tips I share with friends and family foolish enough to call me as they drive to their interviews.&lt;/p&gt;  &lt;p&gt;If you have time to prepare, by all means, do a little searching and you’ll find a limitless supply of articles full of really great interview tips. This is meant to be a crash course.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Relax.&lt;/strong&gt; If you know your stuff, then killing this interview will be easy. Conversation will flow naturally and you will be a very impressive candidate. The field is full of people who do not know their stuff so simply knowing a bit about whatever it is that got you the interview in the first place is a big +1 to you.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Do not be afraid to &lt;em&gt;think&lt;/em&gt; during the interview.&lt;/strong&gt; When asked a difficult question, take a few seconds to think of an answer. You can even share a related anecdote to get you started if it applies.&lt;/p&gt;  &lt;p&gt;Think about it this way: if you answer a tough immediately what can I conclude? All I can really tell is that you prepared for the interview, or have recently answered that question. Preparation is definitely a plus, sure. If, however, you pause to consider the question (just as you would in any normal conversation) and come up with a decent answer, I’m impressed, too.&lt;/p&gt;  &lt;p&gt;The risk of answering too quickly is that you might give a terrible answer and then feel like an idiot as you back pedal away from it. Take your time.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Think of a question or two for each person you talk to.&lt;/strong&gt; When I finish with my questions, I’ll ask the candidates if they have any of their own. It helps if you do. Just be careful to actually focus on what the interviewer is asking you--don’t let this distract you too much.&lt;/p&gt;  &lt;p&gt;If you’ve done preparation in advance, you should already have a few great questions that are targeted specifically to the company--these are excellent and really set you apart because almost no one does this.    &lt;br /&gt;If you’ve done no preparation (for shame!) generic questions are absolutely fine. One of my favorites is, “what’s a typical work day for someone in my position like?” This question helps you in several ways:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It gives you a break&lt;/li&gt;    &lt;li&gt;If lets the interviewer hear him/herself talk (which we like)&lt;/li&gt;    &lt;li&gt;You get good information (maybe you actually don’t want this job!)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;4. Take notes&lt;/strong&gt;, but only on two things: the names/emails of the people you talk to, and anything you need to do after the interview (i.e. specific questions you couldn’t answer on the spot like your exact start date, salary info, favorite color, etc). Luckily these two go well together because when you write a personalized thank-you note to each of the people you talked to (including reception, HR, etc.), you can include your answers.&lt;/p&gt;  &lt;p&gt;If you miss a person’s name, just ask. If you forget to ask before the interviewer leaves, ask the next person you talk to who that last person was. I get this a lot and I’m happy to help you with this information.&lt;/p&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;/p&gt;  &lt;p&gt;Remember, this is just last minute advice. Do yourself a favor and do some actual preparation. Learn about the company. Practice selling yourself. Figure out what you want and go get it!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-4538343564181001585?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/dsWMgXY0ES4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/4538343564181001585/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=4538343564181001585" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/4538343564181001585?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/4538343564181001585?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/dsWMgXY0ES4/oh-no-i-have-interview-today-and-did.html" title="Oh no! I have an interview today and did absolutely nothing to prepare!" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/oh-no-i-have-interview-today-and-did.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8NQX4-cCp7ImA9WhRTE0o.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-7443609800368374835</id><published>2011-11-03T23:09:00.000-04:00</published><updated>2011-11-03T23:21:30.058-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-03T23:21:30.058-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>What I Miss From My Android as a New iPhone User</title><content type="html">&lt;p&gt;If you’re just joining us, this is part two of my “OMG I just got an iPhone” series. You can read about what I love about the iPhone in the &lt;a href="http://blog.wassupy.com/2011/11/iphone-from-perspective-of-android.html"&gt;previous post&lt;/a&gt;. While preparing this post, I realized that I' put together a nice &lt;a href="http://blog.wassupy.com/2010/09/things-i-love-about-android.html"&gt;overview of the awesomeness of Android&lt;/a&gt; 14 months ago. That post is still pretty valid and worth a read. I have a great chart over there that bears repeating:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" src="http://lh3.ggpht.com/_IKD9WtY5kxU/TKLMFjc6XgI/AAAAAAAAAvk/nUMmX73VqvM/image%5B2%5D.png?imgmax=800" /&gt;&lt;/p&gt;  &lt;p&gt;That is, whether you go with Android or iPhone or whatever, these are overwhelming amazing devices. Any critique herein is admittedly just nitpicky. We are living in a very exciting time.&lt;/p&gt;  &lt;p&gt;(Note: “WinMo” refers to pre-WindowsPhone7 stuff. WinPhone7 was brand-spanking new back then and I have zero experience with whatever’s new these days in the Windows world. Please don’t assume that I’m knocking the MS offerings by omission or at all, I just haven’t used them.)&lt;/p&gt;  &lt;p&gt;OK, let’s go.&lt;/p&gt;  &lt;h4&gt;What I Miss From My Android as a New iPhone User&lt;/h4&gt;  &lt;p&gt;&lt;em&gt;(In no particular order.)&lt;/em&gt;&lt;/p&gt;  &lt;h5&gt;&lt;img style="margin: 3px; display: inline; float: right" align="right" src="http://t1.gstatic.com/images?q=tbn:ANd9GcTb7AAG2S6ZS6DqXhBAtvFAMNoLT1MvMO6P56LPQs_CIMkxXojN" /&gt;Identity Management&lt;/h5&gt;  &lt;p&gt;When you setup an Android phone, you have to tie a Google account to it, just like an iPhone requires an Apple ID. Where Android one-ups iPhone is by letting you use this identity to sign in to other apps. This means that I setup my Google account once, but then just say, “yep, use that one” when I launch Gmail, Reader, News, Voice, Plus, etc. &lt;em&gt;without typing in my password again&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Typing passwords is really a big part of it. I feel like I have to type my login info all-the-damn-time on my iPhone. Since I have long, random passwords (thanks, LastPass!), this is a bit of a pain.&lt;/p&gt;  &lt;p&gt;I think the next big thing in tech is going to be a ridiculously simple to use, and comprehensive approach to identity and its related attributes. The burden is just growing to be too much to put it off much longer. You hear that Microsoft? Google? Facebook? Apple? Get on it!&lt;/p&gt;  &lt;h5 style="clear: both"&gt;Fewer Password Prompts&lt;/h5&gt;  &lt;p&gt;&lt;img style="margin: 3px 0px; display: inline; float: right" title="Automatic_Updates_inline" alt="Automatic_Updates_inline" align="right" src="http://lh4.ggpht.com/-_F4la7BRJb8/TrNXMXo7UII/AAAAAAAAD8s/tDaI2BDau30/Automatic_Updates_inline%25255B1%25255D.png?imgmax=800" width="244" height="97" /&gt;A tad more on this, because it’s really annoying. Why do I have to enter my password to install apps? Why when I update apps? Feel free to ask for a pin or password when money’s involved, but otherwise I feel like I’m authenticating myself waaaay too much.&lt;/p&gt;  &lt;p&gt;This is something that strikes me as a very “un-Apple” thing to do. The company that insists that two mouse buttons is too complicated doesn’t strike me as the company that ought to make updating my apps so hard. Actually, apps (optionally) update automatically on Android—I miss that.&lt;/p&gt;  &lt;h5&gt;&lt;img style="margin: 3px 0px; display: inline; float: right" title="dinc" alt="dinc" align="right" src="http://lh3.ggpht.com/-NYhK1NCl5oY/TrNXMxXcx0I/AAAAAAAAD8w/-4JIl9bqIf8/dinc%25255B1%25255D.jpg?imgmax=800" width="200" height="141" /&gt;A “Back” Button&lt;/h5&gt;  &lt;p&gt;Android phones typically have four buttons vs. iPhones “home” button. I’ve complained in the past about these buttons being in &lt;a href="http://blog.wassupy.com/2010/09/things-android-could-do-better.html"&gt;frustratingly inconsistent order between vendors&lt;/a&gt;, but &lt;em&gt;I do like them&lt;/em&gt;. Of those buttons, I miss the back button the most. It pops the stack and takes you to whatever you were just looking at. As you pop around between apps, open links, etc., tapping back would intuitively rewind your experience.&lt;/p&gt;  &lt;p&gt;The comparable experience on iPhone is less than ideal. It goes like this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;While looking at some content, click a link or a notification &lt;/li&gt;    &lt;li&gt;Something else opens, do whatever you want with it &lt;/li&gt;    &lt;li&gt;To return to what you were doing before clicking the link or the notification: &lt;/li&gt;    &lt;li&gt;Double-tap the home button and tap the app you &lt;em&gt;were &lt;/em&gt;using &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It’s not a huge deal, but it’s three taps and a tiny bit of extra mental energy to do something that’s just one brainless tap on Android. I can’t imagine how annoying this must have been on iPhone before the multitasking stuff was released.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;Google Voice Integration&lt;/h5&gt;  &lt;p&gt;This is a big one for me. I &lt;em&gt;love &lt;/em&gt;Google Voice. I’ve used it extensively for years, to the point where I honestly have lost track of my actual phone number (I only know and share my GV number). GV integrates fully into Android and it is awesome. Texting, calling, etc. all seamlessly work through my GV number without a second thought on Android.&lt;/p&gt;  &lt;p&gt;The iPhone experience is weak in comparison. I can dial and text, but only from the GV app. The native dialer and iMessage app don’t consider GV at all, which means that other apps that dial and text (tapping on numbers in &lt;em&gt;any other app&lt;/em&gt;, or doing speech-driven stuff with Siri) don’t use my Google Voice number.&lt;/p&gt;  &lt;p&gt;Apple, you can keep your visual voicemail, ok? Google Voice is way, way better and does so much more.&lt;/p&gt;  &lt;p&gt;Related: does anyone have personal experience with &lt;a href="http://www.limera1n.cc/2011/07/gvintegrated-jailbreak-tweak-bakes.html"&gt;better integration via jailbreaking&lt;/a&gt; (there’s hope!)?&lt;/p&gt;  &lt;h5 style="clear: both"&gt;Third-Party Apps as First Class Citizens&lt;/h5&gt;  &lt;p style="clear: both"&gt;Google Voice is my token example of how Android lets third party apps really integrate well if you want them to, but the truth is, that power is available to every app. The way Android does it is pretty slick, too.&lt;/p&gt;  &lt;p style="clear: both"&gt;Imagine if you will, the web browser. You’ve been using it for months when suddenly, for whatever reason, you install a different one.The first time you click on a link that would normally open the default browser, you’ll see this:&lt;/p&gt;  &lt;p style="clear: both"&gt;&lt;img style="margin: 3px auto; display: block; float: none" src="http://elecpark.info/uploadfiles/gadgetsimplycom-1295701377/change-the-default-application-for-any-android-phone-task_1.jpg" width="200" height="191" /&gt;&lt;/p&gt;  &lt;p style="clear: both"&gt;You’ve been using “Browser” by default for months, but now that you have two on there, the phone knows to ask you what to do. You can choose to use either browser (and to make your selection the default). It really works great in practice and is something I miss very much.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;&lt;img style="margin: 3px; display: inline; float: right" alt="new-android-market-feature-sharing_2.jpg (299×499)" align="right" src="http://digitalcach.info/uploadfiles/droid0info-1295083612/new-android-market-feature-sharing_2.jpg" width="181" height="300" /&gt;Sharing&lt;/h5&gt;  &lt;p&gt;I really like how Android handles sharing. In any app that has content you want to share with another app, you just hit “share”, and up pops a menu of places it can go. The share-to list is populated by whatever apps can accept your content so integrating with everything is really easy. On iPhone it seems like you have to either wait for Apple to build in support for sharing via individual services (e.g. Twitter), or go to the destination app &lt;em&gt;first&lt;/em&gt; and then load the item to be shared from there.&lt;/p&gt;  &lt;p&gt;I do admit that iPhone’s strict control over this means that the hand off is more sophisticated and little slicker, but I really miss the open-for-business approach Android takes in letting any app list itself on the share menu. &lt;/p&gt;  &lt;h5 style="clear: both"&gt;&lt;img style="margin: 3px; display: inline; float: right" align="right" src="https://www.gstatic.com/android/market/com.google.android.gm/ss-480-1-9" width="226" height="400" /&gt;Better Google Apps&lt;/h5&gt;  &lt;p&gt;While apps in general are better in the iPhone universe, Google’s apps are the exception. I’ve found that Google not only releases &lt;em&gt;more &lt;/em&gt;apps for Android than iPhone but they also come out more quickly and seem to be of higher quality.&lt;/p&gt;  &lt;p&gt;Take Gmail as an obvious example. iPhone’s native email client supports Gmail, but if you do that you don’t get push notifications. Gmail gets around that by pretending to be an Exchange Server, so you can get push, but then you lose much of what makes Gmail awesome.&lt;/p&gt;  &lt;p&gt;The Gmail app on Android is fantastic, but isn’t available on iPhone (as I write this, Google has released, and then pulled their Gmail app from the iPhone App Store—it’ll be back soon, but it’s literally years behind).&lt;/p&gt;  &lt;p&gt;I also miss Google Talk. Are there any decent Google Talk apps for iPhone?&lt;/p&gt;  &lt;p&gt;Oh and for star gazing, &lt;a href="http://www.google.com/mobile/skymap/"&gt;Google Sky Map&lt;/a&gt; is very impressive. &lt;/p&gt;  &lt;h5 style="clear: both"&gt;Better Development Experience&lt;/h5&gt;  &lt;p&gt;I don’t have a lot of experience with mobile development on either platform, but what little I do have leaves me loving &lt;a href="http://developer.android.com/index.html"&gt;Android development&lt;/a&gt; more than iPhone development. The objective-c stuff I played around with really melted my brain. Plus, provisioning and deployment was very tricky on iPhone. When playing around on my Droid, this stuff was easy, and without an NDA to worry about, people are much more talkative about it. All that talking means there’s a wealth of information out there to help.&lt;/p&gt;  &lt;p&gt;To be fair, I have a lot of experience with programming that’s more similar to Android’s Java than iPhone’s Obj-C, but still. I think the fact that an industry is growing up around iPhone app development to let you build apps in &lt;em&gt;anything but obj-c&lt;/em&gt; suggests that the iPhone platform is simply more difficult to work with.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;Flash (But Just Barely)&lt;/h5&gt;  &lt;p&gt;This one almost didn’t make the list. Flash on Android is rarely a pleasant experience but there have been a few times where I wouldn’t have been able to get the info I needed without it. This is really a shame-on-you to the site owners that don’t have mobile-friendly versions of their sites, but the fact is, at least running flash was an option on my droid.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;Tinkerer Friendly&lt;/h5&gt;  &lt;p&gt;I’m a life long tinkerer. One of my favorite things to do when I was little was to disassemble old electronics (phones, VCRs, computers, etc.) and then imagine how all the magical pieces inside worked. This led directly to my career in engineering (I actually know how some of that stuff works now!).&lt;/p&gt;  &lt;p&gt;Android was very compatible with my tinkerer-inclined mind. I could dig around in the OS files, write quick and dirty apps, attach a debugger, root it, install various roms, etc. I know you can do a lot of that on iPhone, but with Android it’s all encouraged and seems much more accessible.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;&lt;img style="margin: 3px; display: inline; float: right" align="right" src="http://t2.gstatic.com/images?q=tbn:ANd9GcTrrbamX_oZyYIlOM6hCMYYvkJQuDZUksFEVM9ovOu-jH_02eOVkA" /&gt;Cheaper/Standardized Accessories&lt;/h5&gt;  &lt;p&gt;While I do love the solid, versatile dock connector, I don’t love that everything that plugs into it costs $25. And if you &lt;em&gt;do&lt;/em&gt; consider cheap chargers and cables, you have to wade through hundreds of one-star reviews about how a $6 piece of wire caused someone’s house to burn down and his dog to run away.&lt;/p&gt;  &lt;p&gt;Luckily I don’t have to buy these but once! That is, unless Apple decides to change the beloved dock in such a way that all my old accessories stop working with newer devices…again :(.&lt;/p&gt;  &lt;p&gt;Most Droids simply use a micro USB connection. This was great as it meant Wife and I could share chargers for our phones, Kindles, and Bluetooth headsets. And the chargers and cables were dirt cheap. &lt;/p&gt;  &lt;h5 style="clear: both"&gt;&lt;img style="margin: 3px; display: inline; float: right" align="right" src="http://www.google.com/mobile/navigation/gallery/full/alternate-routes.jpg" width="198" height="350" /&gt;Navigation&lt;/h5&gt;  &lt;p&gt;One of the unsung heroes of the Android OS has got to be navigation. Yes, Maps is great (another example of Google’s apps being better on Android), but Navigation is amazing. It’s, by far, the &lt;a href="http://www.google.com/mobile/navigation/"&gt;best GPS navigation implementation&lt;/a&gt; I have ever used.&lt;/p&gt;  &lt;p&gt;It’s fully integrated with Google Voice Actions, too (kind of like iPhone’s Siri) so I would routinely say things like this while driving, “navigate to Target/BestBuy/Dunkin Donuts/Natatorium in Some City” and it just works.&lt;/p&gt;  &lt;p&gt;It is beautiful, fast, intuitive, and very effective. (It does kill the phone’s battery, though…) &lt;/p&gt;  &lt;h5 style="clear: both"&gt;&lt;img style="margin: 3px 0px; display: inline; float: right" title="go home" alt="go home" align="right" src="http://lh4.ggpht.com/--rSRoHQknpM/TrNXNki6EPI/AAAAAAAAD80/sFKitmjOB1o/go%252520home.png?imgmax=800" width="400" height="350" /&gt;Shortcuts&lt;/h5&gt;  &lt;p&gt;Shortcuts are one of the things I bet almost nobody uses, but they are great. You can add shortcuts to you home screen for apps, sure (Android normally keeps apps in a drawer, not on the home screen), but also for common actions like &lt;a href="http://www.howtogeek.com/howto/25707/create-a-%E2%80%9Cgo-home%E2%80%9D-shortcut-for-your-android-phone%E2%80%99s-google-maps-navigation/"&gt;navigating to a specific address&lt;/a&gt; (home, work, etc.), calling someone, or playing a song. Having single-tap access to common actions is pretty great.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;Conclusion&lt;/h5&gt;  &lt;p&gt;Like I said before, having so much computing power, and so much access to information available to us at all times is pretty amazing—all modern smart phones enable that. It’s great that we have so much competition in this space, too, as it will only serve to improve each platform.&lt;/p&gt;  &lt;p&gt;I love where these things are heading and count myself lucky to have only first world problems like these to personally blog about :)&lt;/p&gt;  &lt;p&gt;Any other switchers out there?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-7443609800368374835?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/jDua_p8tJ2c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/7443609800368374835/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=7443609800368374835" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7443609800368374835?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7443609800368374835?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/jDua_p8tJ2c/what-i-miss-from-my-android-as-new.html" title="What I Miss From My Android as a New iPhone User" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_IKD9WtY5kxU/TKLMFjc6XgI/AAAAAAAAAvk/nUMmX73VqvM/s72-c/image%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/what-i-miss-from-my-android-as-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIFRnc4eip7ImA9WhRTE0k.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-7056944698767861240</id><published>2011-11-03T14:55:00.001-04:00</published><updated>2011-11-03T14:55:17.932-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-03T14:55:17.932-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="In the News" /><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="Easter Eggs" /><category scheme="http://www.blogger.com/atom/ns#" term="Random Updates" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><title>How the Google Search “Do a barrel roll” Works</title><content type="html">&lt;p&gt;As a web guy I was intrigued by today’s Google easter egg. If you haven’t heard, go to Google and search for “&lt;a href="https://www.google.com/search?q=do+a+barrel+roll"&gt;Do a barrel roll&lt;/a&gt;”. If you’re using a decent browser, the entire page will do fun things.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh5.ggpht.com/-TCId5Qsr-qI/TrLjlDS6A6I/AAAAAAAAD70/TOfsYrt3u3E/image%25255B4%25255D.png?imgmax=800" width="700" height="453" /&gt;&lt;/p&gt;  &lt;p&gt;How do they do it? I jumped into the source to see. It’s a simple CSS transition:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;@-moz-keyframes roll    { 100% { -moz-transform: rotate(360deg); } } 
@-o-keyframes roll      { 100% { -o-transform: rotate(360deg); } } 
@-webkit-keyframes roll { 100% { -webkit-transform: rotate(360deg); } } 
body{ 
    border: 1px solid #000;
    -moz-animation-name: roll; -moz-animation-duration: 4s; -moz-animation-iteration-count: 1; 
    -o-animation-name: roll; -o-animation-duration: 4s; -o-animation-iteration-count: 1; 
    -webkit-animation-name: roll; -webkit-animation-duration: 4s; -webkit-animation-iteration-count: 1; 
} &lt;/pre&gt;
Nice and easy, eh? Now go play with &lt;a href="http://jsfiddle.net/mharen/KRkvE/3/"&gt;this fiddle&lt;/a&gt;.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-7056944698767861240?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/Tm74OwZgEIc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/7056944698767861240/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=7056944698767861240" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7056944698767861240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7056944698767861240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/Tm74OwZgEIc/how-google-search-do-barrel-roll-works.html" title="How the Google Search “Do a barrel roll” Works" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-TCId5Qsr-qI/TrLjlDS6A6I/AAAAAAAAD70/TOfsYrt3u3E/s72-c/image%25255B4%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/how-google-search-do-barrel-roll-works.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08DQn85cSp7ImA9WhRTE08.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-8062982336507453510</id><published>2011-11-02T23:22:00.001-04:00</published><updated>2011-11-03T10:17:53.129-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-03T10:17:53.129-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Hardware" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><title>Moving A Hard Drive with Windows 7 to a New Machine</title><content type="html">&lt;p&gt;I just got a shiny new laptop (yay, thanks, Work!). In the old days (with Windows XP), I’d start fresh and clean on the new machine, slowly moving my old files over. That process would take a couple of days and I’d be back to full strength within a week. &lt;/p&gt;  &lt;p&gt;I think Windows 7 is the first Windows OS that ages nicely enough that I don’t have to start from scratch every few years. So instead of spending 18 hours installing stuff, I physically moved my hard drive from my old machine to my new one. Here’s how:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sevenforums.com/tutorials/135077-windows-7-installation-transfer-new-computer.html"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh4.ggpht.com/-qF1NNgn-Dus/TrII4z_mzFI/AAAAAAAAD6Q/Nl8XnhoIFQw/image%25255B6%25255D.png?imgmax=800" width="700" height="313" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Yes, I really moved my drive from one machine to another &lt;em&gt;without reinstalling anything &lt;/em&gt;(except drivers). And you can, too! &lt;/strong&gt;Don’t listen to the naysayers (but do make backups just in case).&lt;/p&gt;  &lt;p&gt;I followed “Method One” in &lt;a href="http://www.sevenforums.com/tutorials/135077-windows-7-installation-transfer-new-computer.html"&gt;that guide&lt;/a&gt; which basically does the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Backup your system (seriously!) &lt;/li&gt;    &lt;li&gt;Prepare your drive to be moved (sysprep) &lt;/li&gt;    &lt;li&gt;Move or duplicate your drive to your new machine &lt;/li&gt;    &lt;li&gt;Boot up and do some configuration &lt;/li&gt;    &lt;li&gt;Install all your drivers &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The process took a couple of hours but was totally worth it when compared to starting from scratch. A few tips that might not be in the guide:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You will lose activations of Office, Windows, iTunes, and pretty much any tool that cares about your hardware. Plan accordingly &lt;/li&gt;    &lt;li&gt;You will lose pretty much all Windows-specific settings like WIFI connections &lt;/li&gt;    &lt;li&gt;Most user-specific stuff stays put (all your files, application settings, etc.), but oddly enough you lose your taskbar customizations. Take a screenshot of those if you are fond of them &lt;/li&gt;    &lt;li&gt;Download the drivers for your new machine in advance. If you do nothing else, at least get the drivers for your network card. I luckily had the foresight to do this :) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m happy to report that I’m typing this post on my awesomely fast new laptop and all the above actually worked better than I expected :). &lt;/p&gt;  &lt;p&gt;On a related note, I don’t understand why hardly anyone shares their WEI numbers. Here are my before/after numbers (Dell Latitude D520 vs. E6520) in case anyone is curious:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh4.ggpht.com/-mSr0OC2c8ec/TrKii_KapQI/AAAAAAAAD7I/Ga5HcXy0roc/image7%25255B1%25255D.png?imgmax=800" width="599" height="192" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh4.ggpht.com/-3VWu37WIETc/TrII6ojz9ZI/AAAAAAAAD7Q/r6cbE2JRyJI/image10%25255B1%25255D.png?imgmax=800" width="596" height="188" /&gt;&lt;/p&gt;  &lt;p&gt;And side-by-side:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh5.ggpht.com/-y_bwBhGkHJ4/TrII7bKxf6I/AAAAAAAAD7U/8gKjj5snvng/image34%25255B1%25255D.png?imgmax=800" width="284" height="192" /&gt;&lt;/p&gt;  &lt;p&gt;I’ll be getting a memory upgrade in a week or so (on order) but I don’t expect that to have much affect on these numbers. I will, however, finally reap some x64 benefits…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-8062982336507453510?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/jbLv0smYTtE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/8062982336507453510/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=8062982336507453510" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/8062982336507453510?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/8062982336507453510?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/jbLv0smYTtE/moving-hard-drive-with-windows-7-to-new.html" title="Moving A Hard Drive with Windows 7 to a New Machine" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-qF1NNgn-Dus/TrII4z_mzFI/AAAAAAAAD6Q/Nl8XnhoIFQw/s72-c/image%25255B6%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/moving-hard-drive-with-windows-7-to-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHR3g6fCp7ImA9WhRTE0o.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-8841690253756863271</id><published>2011-11-02T20:40:00.001-04:00</published><updated>2011-11-03T23:13:56.614-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-03T23:13:56.614-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>iPhone, from a Former Android Enthusiast</title><content type="html">&lt;p&gt;I’ve never been a Mac &lt;em&gt;or &lt;/em&gt;PC guy. I love technology too much to pick just one flavor. In college I ran Linux exclusively for a few years, now I use Windows almost exclusively, and my wife has a MacBook at home which I use occasionally. The best tool for the job, as they say.&lt;/p&gt;  &lt;p&gt;My position on smart phones is much the same.&lt;/p&gt;  &lt;p&gt;I used a horrible, nightmarish WinMo6 phone for a while. I &lt;em&gt;hated &lt;/em&gt;that phone, but my company provided it and it did let me reach the internet from anywhere so I ought not complain too much. Eventually I realized that for $50 per month I could hop on to my wife’s plan and get whatever phone I wanted. I got a very delightful HTC Droid Incredible and loved it.&lt;/p&gt;  &lt;p&gt;There’s a lesson here, folks: if you can afford to cure pain points, do it. For me, it was an embarrassingly easy decision once I realized how silly the whole thing was.&lt;/p&gt;  &lt;p&gt;My DINC, as the cool kids call the Droid Incredible, was good to me. I bought it in July 2010. At the time I surmised that the Android/iPhone battle was in full force. I felt that Apple had an advantage (superior hardware and better apps) but that Android would overtake Apple by iterating more quickly. I’m not so sure about that now, but that’s not the point of this post.&lt;/p&gt;  &lt;p&gt;I considered going with an iPhone 4 but at the time it wasn’t available on Verizon and lacked some features I really wanted (e.g. sane notifications and Google Voice integration). It was also not officially permitted by my company yet. Also, I’m a tinkerer and love the openness of the Android system and the community around it.&lt;/p&gt;  &lt;p&gt;Here we are, 15 months later and now I have an iPhone 4S. A lot of people who know my history with WinMo, Android, and now iPhone have asked about my thoughts on the matter. Here they come in two acts:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;What I love about the iPhone as a former Android user (this post) &lt;/li&gt;    &lt;li&gt;What I miss from my Android as a new iPhone user and final conclusions (&lt;a href="http://blog.wassupy.com/2011/11/what-i-miss-from-my-android-as-new.html"&gt;next post&lt;/a&gt;) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Let’s go.&lt;/p&gt;  &lt;h4&gt;What I love about the iPhone as a former Android user&lt;/h4&gt;  &lt;h5&gt;App quality&lt;/h5&gt;  &lt;p&gt;I have many of the same apps on my iPhone that I previously enjoyed on my Droid. In many cases, however, the iPhone versions are better. Apps like Angry Birds and Words with Friends feel more mature. Their navigation is more intuitive and they &lt;em&gt;don’t crash regularly&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Apps which stream media (e.g. NPR and YouTube) are &lt;em&gt;much &lt;/em&gt;better.&lt;/p&gt;  &lt;h5&gt;&lt;img style="margin: 3px 0px; display: inline; float: right" title="IMG_0494" alt="IMG_0494" align="right" src="http://lh3.ggpht.com/-EdWmFbWCoEk/TrHi6n3zKKI/AAAAAAAAD7Y/LVxH3ITyDto/IMG_0494%25255B1%25255D.png?imgmax=800" width="234" height="350" /&gt;Push notifications&lt;/h5&gt;  &lt;p&gt;iPhone is miles ahead when it comes to push notifications. The idea behind push is that you don’t want an app polling for updates because polling is slower and takes up power and system resources. Whatever Android is doing must be broken because hardly any apps support it there. On iPhone, though, &lt;em&gt;everything &lt;/em&gt;does. It just works and it’s awesome. &lt;/p&gt;  &lt;p&gt;They even give you a centralized location for managing what apps can notify you and what those notifications look like. For example, you can choose to have popups for texts, banners for emails, and nothing for individual games.&lt;/p&gt;  &lt;p&gt;This all plays in nicely with the new Notification Center. That’s a feature that Android has had forever, and was one of the reasons I waited until iOS5 to try out iPhone.&lt;/p&gt;  &lt;h5 style="clear: both"&gt;&lt;img style="margin: 3px 0px; display: inline; float: right" title="IMG_0496" alt="IMG_0496" align="right" src="http://lh4.ggpht.com/-Mqna7bieTjw/TrHi7LG-DdI/AAAAAAAAD7c/vytnNO0mwNM/IMG_0496%25255B1%25255D.png?imgmax=800" width="234" height="350" /&gt;App permissions&lt;/h5&gt;  &lt;p&gt;The way Android does app permissions is a little broken. When you go to install an app, you blindly acknowledge the stuff an app can do (you can’t deny certain permissions—if the app asks for it, you have to grant it to install the app). &lt;/p&gt;  &lt;p&gt;iPhone seems to be a little different. There’s no permissions screen when installing apps (presumably apps are relatively safe…?) but if an app needs to do something extra concerning, like check your location, it has to ask you when it wants to do it. &lt;/p&gt;  &lt;p&gt;This is better for two reasons. First, I am barely qualified to meaningfully review a list of cryptic permissions when installing an app. I don’t know what most of them mean and I won’t remember what I granted ten seconds (or ten months) later when using the app. Second, I don’t really care. The only thing that I actually do care about is location, and isn’t the best time to ask if you can use my location when you need it? At least then the app can make a case for it &lt;em&gt;and you can actually say “no”&lt;/em&gt;.&lt;/p&gt;  &lt;h5&gt;User interface&lt;/h5&gt;  &lt;p&gt;Stock Android is fine, and some vendors extend it with their own special sauce, but there are some things that iPhone does better. First off, it’s much more responsive. Tapping around is met with prompt feedback. Animations are beautifully smooth (though I wish I could disable them). &lt;/p&gt;  &lt;p&gt;Although I do miss my “back” button, I am adjusting to the fact that apps don’t have access to any buttons. This has one significant benefit in that the UI is so far more discoverable. That is, nothing is hidden behind the back/menu/search buttons that Android has.&lt;/p&gt;  &lt;p&gt;In general, things are more polished which makes for a nice, clean experience.&lt;/p&gt;  &lt;p&gt;One of the things Android has that iPhone lacks is home screen customizations, including widgets. &lt;em&gt;But&lt;/em&gt;, I don’t miss those at all; iPhone is right to forbid them. The less time I waste managing the home screen (which is insanity on Android), the better.&lt;/p&gt;  &lt;h5&gt;Content management (iTunes)&lt;/h5&gt;  &lt;p&gt;I know this isn’t a popular position, but I like iTunes. I’ve used it since version 3. I like having a single desktop app that syncs everything up for me. On Android you’re on your own. There are lots of individual apps that help you connect to cloud services (Google Music, Amazon MP3), but managing your own media—files you have in hand—is tricky with Android. On iPhone, it just works.&lt;/p&gt;  &lt;h5&gt;&lt;img style="margin: 3px 0px; display: inline; float: right" title="IMG_0495" alt="IMG_0495" align="right" src="http://lh6.ggpht.com/-pqYESaSvwMo/TrHi7_Mt_pI/AAAAAAAAD7g/pZm2uCS0wUQ/IMG_0495%25255B1%25255D.png?imgmax=800" width="234" height="350" /&gt;Backups/iCloud&lt;/h5&gt;  &lt;p&gt;I love that iPhone does daily backups automatically, without a computer. Every night when I plug my phone in the for the night, it backs itself up to Apple. Incidentally, I had an issue with a corrupt picture breaking all kinds of things and had the chance to test the restore process. It works great.&lt;/p&gt;  &lt;p&gt;While sitting on the couch watching TV I was able to restore from the previous day’s backup. Theoretically, I lost only the last 24 hours or so of content. In practice, however, I didn’t really lose anything because things like pictures, contacts, etc. are backed up to iCloud often within minutes of being created or changed.&lt;/p&gt;  &lt;p&gt;A lot of your content is automatically backed up on Android, too, but the process doesn’t seem to be as comprehensive or give you much confidence it will work.&lt;/p&gt;  &lt;h5&gt;Camera&lt;/h5&gt;  &lt;p&gt;The camera on this thing is amazing. I don’t know what resolution it is—megapixels are inconsequential these days. It shoots in low light, takes crisp pictures, and has just the right tools for editing on board (cropping, namely). Oh, and it’s very fast. I particularly like that you can go straight to the camera from the lock screen (double-tap the home button) to capture fleeting moments (I had this on my droid, too).&lt;/p&gt;  &lt;h5&gt;Video/FaceTime&lt;/h5&gt;  &lt;p&gt;The video camera is great, too. It’s fast and easy to use, and supports trimming right on the phone. This means I can take a five minute video of my kids, but only share the 12 seconds that are actually cute.&lt;/p&gt;  &lt;p&gt;As a traveler, I love the built-in FaceTime support, too. Previously, I would call my family using my laptop and Skype or Google Talk. That worked ok, but there really is something great about being on a call with Wife and simply hitting the FaceTime button so I can see her and the kids face-to-face. &lt;/p&gt;  &lt;h5&gt;Battery life&lt;/h5&gt;  &lt;p&gt;I’m extremely happy with the iPhone’s battery as compared to my Droid. My Droid could go a whole day if I didn’t use it much, and was a power miser. On my iPhone, I use it all time time, never think about power, and always have plenty of juice left at bedtime.&lt;/p&gt;  &lt;p&gt;Another nice thing is charging time. This things charges &lt;em&gt;crazy fast&lt;/em&gt;.&lt;/p&gt;  &lt;h5&gt;Dock connector&lt;/h5&gt;  &lt;p&gt;My previous phones have depended on various forms of USB. I love that Droids and other gadgets are standardizing on micro-USB—that’s great—but I also like what I get with the dock connector. It’s a solid connection that doesn’t wiggle and provides clean, line-out audio in my car (something I never got working well with my previous phones).&lt;/p&gt;  &lt;h5&gt;Exchange Support&lt;/h5&gt;  &lt;p&gt;Apple has a head start over Android on decent Exchange support and it shows. My Droid would struggle to bring in new emails, would never process appointments correctly, and would often hold outgoing mail in the outbox for days or weeks.&lt;/p&gt;  &lt;p&gt;It’s all smooth sailing on iPhone. I confidently use email and calendaring like never before.&lt;/p&gt;  &lt;h5&gt;Music Controls Support&lt;/h5&gt;  &lt;p&gt;Some apps worked well with the lock screen music controls on my Droid but others didn’t. So far it’s been a very pleasant experience on iPhone. The lock screen controls (left image) and the app-switcher pane controls (right image) are intuitive and consistent.&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="IMG_0493" alt="IMG_0493" src="http://lh5.ggpht.com/-DyBiHituhcg/TrHi8nAdydI/AAAAAAAAD7k/wX8r4kLXMwU/IMG_0493%25255B1%25255D.png?imgmax=800" width="300" height="450" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="IMG_0492" alt="IMG_0492" src="http://lh3.ggpht.com/-vH0-NlPqQLs/TrHi9U_wNoI/AAAAAAAAD7o/PqimTT7trOM/IMG_0492%25255B1%25255D.png?imgmax=800" width="300" height="450" /&gt;&lt;/p&gt;  &lt;h5&gt;Native screenshot support&lt;/h5&gt;  &lt;p&gt;I have often complained that Android provides no built-in support for taking screenshots. In the past two weeks, I’ve taken several on my iPhone. It’s easy, convenient, and useful. (It certainly made writing this post easier!)&lt;/p&gt;  &lt;h5&gt;Safari&lt;/h5&gt;  &lt;p&gt;This one isn’t really props to Apple or Safari directly. Instead, it seems that more sites have been tested against iOS than against Android. For example, most sites that have video seem to work great on iPhone. My Droid however, would often choke on sites that relied on Flash to deliver video or other non HTML content. If the Flash player embedded in the site wasn’t mobile friendly (many are not), the experience of trying to use a tiny video play that’s not designed to be used from a touch interface was not much fun.&lt;/p&gt;  &lt;p&gt;I don’t know how people are doing it better on iPhone, but they do.&lt;/p&gt;  &lt;div align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="IMG_0488" alt="IMG_0488" src="http://lh3.ggpht.com/-QVGpA-FVTvM/TrHi-CRVwwI/AAAAAAAAD7s/NZx1VJa5E88/IMG_0488%25255B1%25255D.png?imgmax=800" width="200" height="300" /&gt;&amp;#160; &lt;img style="margin: 3px 0px; display: inline" title="IMG_0491" alt="IMG_0491" src="http://lh6.ggpht.com/-AeCKUqx2k8Y/TrHi-39N-2I/AAAAAAAAD7w/_Y2qmoRzkgc/IMG_0491%25255B1%25255D.png?imgmax=800" width="450" height="300" /&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div align="center"&gt;   &lt;hr /&gt;&lt;/div&gt;  &lt;p&gt;I’m sure I’ll think of many more as soon as I post this…&lt;/p&gt;  &lt;p&gt;Now before you brush me off as a shameless, converted fan boy, check back for the next post wherein I detail the &lt;a href="http://blog.wassupy.com/2011/11/what-i-miss-from-my-android-as-new.html"&gt;things I miss from my Droid&lt;/a&gt; and cry about the fact that I’ll never get them in the mean, closed world of iPhone.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-8841690253756863271?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/kb0OFnpvYYE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/8841690253756863271/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=8841690253756863271" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/8841690253756863271?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/8841690253756863271?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/kb0OFnpvYYE/iphone-from-perspective-of-android.html" title="iPhone, from a Former Android Enthusiast" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-EdWmFbWCoEk/TrHi6n3zKKI/AAAAAAAAD7Y/LVxH3ITyDto/s72-c/IMG_0494%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/iphone-from-perspective-of-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8ARHs_fyp7ImA9WhRTEk0.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-5976631091775540138</id><published>2011-11-01T23:17:00.001-04:00</published><updated>2011-11-01T23:17:25.547-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-01T23:17:25.547-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Random Updates" /><category scheme="http://www.blogger.com/atom/ns#" term="NaBloPoMo 2011" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><title>Campaigning Like a Boss</title><content type="html">&lt;p&gt;I work at a company of about 250 people. We work hard and try to &lt;a href="http://www.rovisys.com/about/just_for_fun.aspx"&gt;have a good time&lt;/a&gt; every now and again. One of the structured ways that we have a good time is through the Rovisys Activities Committee, or RAC. It’s basically like the party planning committee from the show The Office, but we have bigger budgets and better parties. &lt;/p&gt;  &lt;p&gt;The committee holds elections every year to replace a few outgoing members. This is a job that no one really wants because it actually takes a lot of work to plan a party for a large group of people (employees and their families). When someone nominated me I figured why not go all out? You know, actually act like I want it? A lot of people were confused by this.&lt;/p&gt;  &lt;p&gt;As Mick Jagger once said (according to the briefest of fact checking), “anything worth doing is worth overdoing.” (Thanks @pwninstein for the quote.) And so I put out a call for help with my campaign on the internets:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-v2JOQ6-cHJ4/TrC2P5z8HLI/AAAAAAAAD3c/U-7wJNfR57Q/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="image" alt="image" src="http://lh3.ggpht.com/-jT6NNUrAEDM/TrC2QZy9PwI/AAAAAAAAD3k/wFBw0oatGxE/image_thumb%25255B5%25255D.png?imgmax=800" width="651" height="267" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I put that up on Reddit, along with a bunch of pictures of myself. After a little cross promotion on various social networks, gold started rolling in. Big time.&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh6.googleusercontent.com/-aCU9-6qUIkE/TqzK33I2scI/AAAAAAAADlE/rVZ-BS3LrT8/s524/breakingbad.jpg" width="646" height="677" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-6jX9MCQ5gCM/TqzK4wSQ1HI/AAAAAAAADlo/fvuXrfptTrs/s640/half%252520life.jpg" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-_xxTQOpUEtA/TqzK53gnGYI/AAAAAAAADmI/EsxZ98LRc_4/s473/hotdogs.jpg" width="225" height="331" /&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-7sOCkmS3kho/TqzMgp6YILI/AAAAAAAADr4/qOHqoqYXxZ4/s475/party.jpg" width="225" height="331" /&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-BvCRLS4zHeM/TqzMiqFlpkI/AAAAAAAADsQ/gUetWoMdekE/s474/rac.jpg" width="225" height="330" /&gt;&lt;img style="margin: 3px 0px" src="https://lh6.googleusercontent.com/-EazL8mQBPVQ/TrCn24R63LI/AAAAAAAAD2o/JvgORpYlAQ8/s200/plan%252520all%252520the%252520things.jpg" width="396" height="300" /&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-N_knT6kLmT8/TqzMiN9uvxI/AAAAAAAADsI/tadjEFWZn-4/s400/philsoraptor.jpg" width="300" height="300" /&gt;&lt;img style="margin: 3px 0px" src="https://lh6.googleusercontent.com/-B1VJC1XeKpU/TqzMft2PCWI/AAAAAAAADro/j6rTMtBvZ1I/s623/leo.jpg" width="291" height="475" /&gt;&lt;img style="margin: 3px 0px" src="https://lh5.googleusercontent.com/-zp4xat2QTEw/TqzMi8kR82I/AAAAAAAADsY/EhpBuZJnfag/s526/reeves.jpg" width="401" height="475" /&gt;&lt;img style="margin: 3px 0px" src="https://lh5.googleusercontent.com/-gi8H49Ifb-w/TqzMlaI7fEI/AAAAAAAADtE/7nHdrbHgT8w/s400/success%252520kid.jpg" width="700" height="700" /&gt;&lt;img style="margin: 3px 0px" src="https://lh5.googleusercontent.com/-xV2m2V7GAr8/TqzK56A5m9I/AAAAAAAADmM/nQfJU-72VyQ/s800/HarenForPartyPlanner.jpg" width="700" height="527" /&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-GyS4gwG46cg/TqzMltd8gvI/AAAAAAAADtA/Rk1Pn88ugx4/s400/whyyouno.jpg" /&gt;&lt;/p&gt;      &lt;p&gt;And possibly others that I’ve misplaced. &lt;/p&gt;  &lt;p&gt;A lot of people assumed all this was just a joke. But it wasn’t. I printed 60 and posted them everywhere. On walls, office, cubes, file cabinets, windshields, microwaves, coffee makers, windows, servers, mailboxes, etc.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-hqKgSRT5xFw/TrC2Q3GSd0I/AAAAAAAAD3s/vNJSexq2MZk/s1600-h/RAC%2525202011%252520Election%25255B3%25255D.jpg"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="RAC 2011 Election" alt="RAC 2011 Election" src="http://lh5.ggpht.com/-WZqSLV-9m-c/TrC2RNfY_DI/AAAAAAAAD30/mdXI2jnTXao/RAC%2525202011%252520Election_thumb.jpg?imgmax=800" width="689" height="700" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This was on Wednesday, just two days before the election. Then a funny thing happened: the other candidates suddenly realized that maybe they should make posters for &lt;em&gt;themselves&lt;/em&gt; instead of for &lt;em&gt;me&lt;/em&gt;. So a second wave of posters showed up that afternoon and the next day.&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-t2SxYFHjCqA/TqzK4d_leVI/AAAAAAAADlQ/axBnLQhqYNc/s640/Business%252520Cat.jpg" /&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-J9c_s_cHmjM/TqzK4xlPjZI/AAAAAAAADlk/mnxW7sx1AD0/s640/Haren%252520-%252520Black%252520Mesa.jpg" /&gt;&lt;img style="margin: 3px 0px" src="https://lh6.googleusercontent.com/-6gVssV8osYM/TqzK4dckW9I/AAAAAAAADlY/fNet2p12_Es/s400/Fry%2525202.jpg" /&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/--zKNbNdF0dA/TqzK5CKvCbI/AAAAAAAADlw/HZD9WkbgBVI/s640/Haren%252520-%252520Wait%252520What.jpg" /&gt;&lt;img style="margin: 3px 0px" src="https://lh5.googleusercontent.com/-zAmZ6ayQ2mw/TqzK5SvjFEI/AAAAAAAADl8/jJ4rbigQ8JQ/s912/HarenAttackAd1.jpg" width="650" height="435" /&gt;&lt;img style="margin: 3px 0px" src="https://lh5.googleusercontent.com/-xQxMAkSgT6Y/TqzK6VYnePI/AAAAAAAADms/w943b3zB7lI/s912/HarenAttackAd2.jpg" width="650" height="435" /&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-ZWo5f_aLpRs/TqzMhgpFvzI/AAAAAAAADsA/V5rTIKrvJ1M/s686/Patrick%252520Votes.jpg" width="646" height="569" /&gt;&lt;img style="margin: 3px 0px" src="https://lh5.googleusercontent.com/-PEqXrgc_cs8/TqzMlD-IL-I/AAAAAAAADsw/cP5ZTk_5bJE/s800/Soviet%252520Russia.jpg" width="640" height="513" /&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-5P2p5L08cxw/Tq62TuhjjfI/AAAAAAAAD1Q/rz1svhKA4WM/s640/Batman.jpg" width="287" height="450" /&gt;&lt;img style="margin: 3px 0px" src="https://lh3.googleusercontent.com/-HbcrhGjDmDU/Tq62UDYoktI/AAAAAAAAD1g/Jtm6TcrsQw0/s537/Uncle%252520Sam.jpg" width="336" height="450" /&gt;&lt;img style="margin: 3px 0px" src="https://lh6.googleusercontent.com/-Hd-vkIg_XiA/Tq62TkSpkVI/AAAAAAAAD1U/_b8Bv2xLSbw/s500/einstein_template.jpg" width="640" height="483" /&gt;&lt;img style="margin: 3px 0px" title="Wut?" alt="Wut?" src="https://lh6.googleusercontent.com/-6QcWmfWGHAc/Tq62UWP2raI/AAAAAAAAD1s/LA6_4Bjj4nI/s596/CSI%252520Miami.jpg" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;(And many others I don’t have clean copies of)&lt;/p&gt;  &lt;p&gt;The great thing about this happening so quickly was that by the time anyone in management might have had the inkling to shut it down, it was too big to stop. It was about this time that people started wondering how I had time to make all these things. My answer? I didn’t. Which prompted another attack ad:&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-BkxN4gnXQmc/TqzK5YsyBHI/AAAAAAAADmA/FwM2PwG9-Zo/s606/Haren%252520-%252520I%252520don%252527t%252520always.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Things quieted down a bit for the rest of Thursday and then everyone was busy with actual work, and the Halloween party coming up the next day. Speaking of which, here’s one of the other candidates in a truly scary costume:&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh6.googleusercontent.com/-yUbPjbLDSfk/TqzPBBrdzLI/AAAAAAAADxc/t8j5nDj4aDw/s640/IMG_0320.JPG" /&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-CyMOR4XR7lk/TqzPEdiiKUI/AAAAAAAADyY/kwO-dYsz6aQ/s800/IMG_0329.JPG" /&gt;&lt;/p&gt;      &lt;p&gt;About an hour before the election I overheard him say something about making kids cry. And I couldn’t resist making my my first and only poster (personally):&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px" src="https://lh4.googleusercontent.com/-Ap10qNyp8HA/TqzK4cg6E8I/AAAAAAAADlM/3Zo7oOz0gRM/s750/anderson%252520cry.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;It was a lot of fun, and I won. &lt;em&gt;Huge thanks &lt;/em&gt;to all those that contributed to my campaign. &lt;/p&gt;  &lt;p&gt;Like most campaigns, we avoided the issues, made fools of each other, and set the bar of what we expect from our constituents painfully low.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-5976631091775540138?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/zWzIORNy21c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/5976631091775540138/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=5976631091775540138" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5976631091775540138?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5976631091775540138?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/zWzIORNy21c/campaigning-like-boss.html" title="Campaigning Like a Boss" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-jT6NNUrAEDM/TrC2QZy9PwI/AAAAAAAAD3k/wFBw0oatGxE/s72-c/image_thumb%25255B5%25255D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/11/campaigning-like-boss.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QAQno4fyp7ImA9WhdQGU0.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-3865185155054990312</id><published>2011-08-21T00:28:00.001-04:00</published><updated>2011-08-21T00:35:43.437-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-21T00:35:43.437-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Parenting" /><category scheme="http://www.blogger.com/atom/ns#" term="Family" /><category scheme="http://www.blogger.com/atom/ns#" term="Baby" /><category scheme="http://www.blogger.com/atom/ns#" term="Peanut" /><title>Birth Story: Thing 3</title><content type="html">&lt;p&gt;Thing 3 was born Wednesday, August 17th at 12:10 pm. He was 7.56 lbs. and 20.5” long. His future will be chronicled mostly on &lt;a href="http://footedjammies.blogspot.com/"&gt;Wife’s blog&lt;/a&gt;. This post is about the eventful hours leading up to, and immediately following his birth.&lt;/p&gt;  &lt;p&gt;This is all from my perspective, and is meant to complement whatever Wife may write about her experience.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(Times are approximate.)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5:00 am &lt;/strong&gt;I notice Wife is missing. She’s in the shower or something. Unusual but not alarming.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5:30 &lt;/strong&gt;Wife is cleaning. Uh oh.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6:15 &lt;/strong&gt;Wife wakes me up. Even in my zombie morning state it’s obvious what’s about to happen. I somehow discern that nothing is imminent and am graciously awarded time for a shower. I shower, dress and organize the birth supplies.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh5.ggpht.com/-2nrHeLD0QIU/TlCJJ2l5TKI/AAAAAAAAC9o/7ZzGLzvOsvo/2011-08-17%252520at%25252006-03-36%25255B8%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6:30&lt;/strong&gt; I come downstairs to find BirthTeam assembling. I guess they were called before I was woken. I should probably be surprised by this but it was a good call. The kids are sound asleep.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-UW7ulrV9ZbI/TlCJKe5dG4I/AAAAAAAAC9s/oyDaqx7A25k/2011-08-17%252520at%25252006-03-41%25255B4%25255D.jpg?imgmax=800" width="700" height="307" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6:30&lt;/strong&gt; Midwife is put on alert that there’s a good chance it’s about to get real.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6:45&lt;/strong&gt; I decode Wife’s signals and decide to call in Midwife (it’s real). Contractions are 3-4 minutes apart.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7:00&lt;/strong&gt; Wife labors with grace and wonder through increasingly intense contractions for about an hour. Just when she starts getting anxious about Midwife, Midwife arrives.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-Fk9GEycZPx8/TlCJK9YakCI/AAAAAAAAC9w/OVmHllhQjLQ/2011-08-17%252520at%25252006-05-18%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;8:00&lt;/strong&gt; Contractions slow just slightly at the good news that Midwife is here. I encourage Wife to walk and we start wandering around the neighborhood. Each contraction (about every 5 minutes) produces an interesting scene that must be confusing to our neighbors. It goes like this: wife will lean on me, or the ground and I’ll hold a long warm rice sock&lt;sup&gt;&lt;a href="#note-1" name="note-1-source"&gt;[1]&lt;/a&gt;&lt;/sup&gt; low across her belly while she whispers&lt;sup&gt;&lt;a href="#note-2" name="note-2-source"&gt;[2]&lt;/a&gt;&lt;/sup&gt; sweet labor sounds to the heavens.&lt;/p&gt;  &lt;p&gt;Thing 1 and Thing 2 wake up.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9:00&lt;/strong&gt; Contractions are back to about three minutes apart and are now too difficult to talk during. Wife spends most of her time resting or enduring contractions on the birth ball.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-VKy03lZfnCE/TlCJLKPZiCI/AAAAAAAAC90/DGwxWuM6VDY/2011-08-17%252520at%25252006-03-34%25255B9%25255D.jpg?imgmax=800" width="700" height="888" /&gt;&lt;/p&gt;  &lt;p&gt;Every 15 minutes or so she escapes alone to the bathroom for five minutes, which gives me a chance to check on BirthTeam, my other kiddos, play Words with Friends, update my out of office status, eat breakfast, etc. So far this labor has been so easy for me that I start to feel guilty.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9:30&lt;/strong&gt; Wife is no longer amused at any of my jokes. Others pick up on this via some sort of XX-chromosome-pair-linked telepathy but wife takes pity on me and suggests, quite directly, that I stop talking. We’ve run out of small talk and we’re both pretty tired so this is convenient. Wife starts eyeing the tub.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-D4r-uJI4Heg/TlCJLogAGBI/AAAAAAAAC94/SRDkiVnSM-w/2011-08-17%252520at%25252006-05-23%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10:00&lt;/strong&gt; In the tub! Our last child, Thing 2, was born in a high-sided baby pool in the master bedroom at our old house. Luckily, our new house has a tub big enough for the job. The tub is seems to offer great relief to Wife. Midwife continues to check on her and give her encouragement on how to keep labor moving. Contractions maintain pace and increase in intensity. With help from BirthTeam, I’m able to stay planted by the tub and apply a steady stream of cold cloths to Wife’s forehead with each contraction. The kids make frequent tub-side visits to inquire quite candidly on the whereabouts of the baby, and remark about the whole you’re-in-the-bathtub(!) situation.&lt;/p&gt;  &lt;p&gt;Midwife occasionally adds a few drops of lavender essential oils to the tub. The atmosphere is tense but the room smells nice.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-z6lQHIJiJZw/TlCJME9e0XI/AAAAAAAAC98/7BD9PZXt-M0/2011-08-17%252520at%25252010-09-43%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;(If you’re not the slightest bit familiar with birth, you might want to stop reading now. Fair warning...this may be considered graphic)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;12:00 pm&lt;/strong&gt; Things are pretty intense now. Wife is making some sounds that are drawing a crowd of younglings. With the beginning of each contraction they creep closer and then lean back in surprise as volume peaks. I wish I had pictures of their faces—truly priceless. Around this time, Wife is not getting the overwhelming sense that things are progressing as smoothly or rapidly as expected and asks Midwife to check her cervix.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-4mQYqkc9ihA/TlCJMcYUxvI/AAAAAAAAC-A/J5PaKAtP-m0/2011-08-17%252520at%25252010-09-50%25255B4%25255D.jpg?imgmax=800" width="700" height="493" /&gt;&lt;/p&gt;  &lt;p&gt;Midwife reports that the baby’s head is pretty much ready to crown but something may be blocking his grand escape (hand, cord, edge of cervix, a word from our sponsors, who knows). She suggests we move to the bed just in case any complex maneuvers are necessary as they are easier to execute on land.&lt;/p&gt;  &lt;p&gt;We carefully help Wife to the bed which is already doubly made up with regular fixings under a patented, quadruple layer fluid guard spread&lt;sup&gt;&lt;a href="#note-3" name="note-3-source"&gt;[3]&lt;/a&gt;&lt;/sup&gt;—the usefulness of this will become obvious quite soon.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;12:05&lt;/strong&gt; With the move to the bed complete, the real action begins. I’m starting to wonder if the neighbors will hear the goings on and what they might do in response. Midwife continues to monitor the baby periodically via doppler and we’re all feeling a bit tense at the difficulty in finding his heart rate. Wife is growing particularly anxious. I am scared, too, but like a rock (in my head at least), insist Baby’s fine and we’ll meet him soon. Midwife offers some encouragement to push with the next contraction and Wife complies in dramatic fashion.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;12:07&lt;/strong&gt; What happens next is delicately noted on the birth report as “12:07: SROM”—or spontaneous rupture of membranes, i.e. water breaks on its own. What really happens is...messy. During a particularly difficult contraction the bag of waters does rupture, in seriously unexpected geyser fashion&lt;sup&gt;&lt;a href="#note-4" name="note-4-source"&gt;[4]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;12:10&lt;/strong&gt; Within moments of the explosive delivery of fluid, Baby’s head, full of hair, starts crowning. With some gentle guidance from Midwife, and another push, his head comes through. One final push and he fully emerges, followed by another surprising volume of fluid.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.veggiepirates.com/"&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-XrWLwsJuYSQ/TlCJNNrJDJI/AAAAAAAAC_w/ttK9j8grS4A/pirate%252520flush%25255B5%25255D.png?imgmax=800" width="700" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And then joy. Raw, cliché, tears-in-your-eyes joy. A dramatic, heart wrenching joy that engulfs us again and again with each tiny cry from this tiny little person that we’ve spent that last 39 weeks praying for&lt;sup&gt;&lt;a href="#note-5" name="note-5-source"&gt;[5]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-m0LB2VHREak/TlCJNmL3BJI/AAAAAAAAC-I/SfvIfjLUm5M/2011-08-17%252520at%25252011-32-59%25255B4%25255D.jpg?imgmax=800" width="700" height="462" /&gt;&lt;/p&gt;  &lt;p&gt;Everyone—Wife, me, Midwife, BirthTeam and assorted kiddos—spend the rest of the hour cooing and fawning over Baby. He is delightful.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(There’s more after all these pictures.)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-I0ufuWPvTqY/TlCJOG23NeI/AAAAAAAAC-M/puEavsPayV8/2011-08-17%252520at%25252011-33-26%25255B4%25255D.jpg?imgmax=800" width="700" height="433" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh5.ggpht.com/-35d1OVrGM0w/TlCJOqkOzcI/AAAAAAAAC-Q/B4dO5UfM6qI/2011-08-17%252520at%25252011-41-26%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-4KA2AKxs7SA/TlCJPJRb_qI/AAAAAAAAC-U/MsDnjTplgNQ/2011-08-17%252520at%25252011-43-13%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-m_ogfpj8bmQ/TlCJPtlLPyI/AAAAAAAAC-Y/6Wm-L71q3wI/2011-08-17%252520at%25252011-43-33%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh5.ggpht.com/-ur4tkQVXvbY/TlCJQJ74r6I/AAAAAAAAC-c/Rdy9msP0JXU/2011-08-17%252520at%25252011-43-48%25255B4%25255D.jpg?imgmax=800" width="700" height="551" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-gjQ8lBQiIww/TlCJQqRFppI/AAAAAAAAC-g/fgzLa3imFVY/2011-08-17%252520at%25252012-17-37%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-kOOasRofw9Y/TlCJRDyjsLI/AAAAAAAAC-k/oJSGqAsJc7w/2011-08-17%252520at%25252012-18-41%25255B5%25255D.jpg?imgmax=800" width="700" height="1045" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-T0jIpfkVlwU/TlCJRiB0aJI/AAAAAAAAC-o/REIOIfOjrJk/2011-08-17%252520at%25252012-43-30%25255B8%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-gITbz_y3VPU/TlCJSrAnoEI/AAAAAAAAC-s/DHdJLjulcnI/2011-08-17%252520at%25252012-48-58%25255B4%25255D.jpg?imgmax=800" width="700" height="635" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-Gqaj2li2nuw/TlCJTFjNmDI/AAAAAAAAC-w/AoHcwrb5ERU/2011-08-17%252520at%25252012-52-02%25255B4%25255D.jpg?imgmax=800" width="700" height="403" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-y2J8iXD9lEQ/TlCJT-LbSjI/AAAAAAAAC-0/tg8K7SOJwvY/2011-08-17%252520at%25252013-07-10%25255B10%25255D.jpg?imgmax=800" width="700" height="833" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-kpP4NZq16Ko/TlCJUOLl6hI/AAAAAAAAC-4/E9OxEh1eFYo/2011-08-17%252520at%25252013-18-06%25255B8%25255D.jpg?imgmax=800" width="700" height="486" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh5.ggpht.com/-H1nuquMw0l4/TlCJUyf1qSI/AAAAAAAAC-8/bznFbdYYkFY/2011-08-17%252520at%25252013-18-25%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-ksH3pSUUXTY/TlCJVVNYD3I/AAAAAAAAC_A/73ldsC-Bls0/2011-08-17%252520at%25252013-18-37%25255B4%25255D.jpg?imgmax=800" width="700" height="503" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-2ZC_qJx6fI4/TlCJV2iOyYI/AAAAAAAAC_E/ZvbV7vhb404/2011-08-17%252520at%25252013-19-22%25255B4%25255D.jpg?imgmax=800" width="700" height="467" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-seuEBF7tS24/TlCJWc5qkMI/AAAAAAAAC_I/VjjxSVUIeG4/2011-08-17%252520at%25252013-19-31%25255B4%25255D.jpg?imgmax=800" width="700" height="386" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-HVYJ0ruyH7U/TlCJW8JcmvI/AAAAAAAAC_M/K5Ys9cmBVCk/2011-08-17%252520at%25252013-33-19%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-Vhj_p5_m5XQ/TlCJXe4p3kI/AAAAAAAAC_Q/YemMsWpYrqk/2011-08-17%252520at%25252013-33-30%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh5.ggpht.com/-0noIzzLbwv4/TlCJX85V2qI/AAAAAAAAC_U/Sbm3ufMmJiA/2011-08-17%252520at%25252014-05-17%25255B4%25255D.jpg?imgmax=800" width="700" height="469" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1:00&lt;/strong&gt; Still high on the experience of meeting Baby, we are ridiculously excited about everything. Use the bathroom for the first time postpartum? OmgHellYesCanIHoldBabyDuring? BirthTeam friends give us some space to soak it all in. Midwife brings Wife an impressive lunch spread (now that she’s eating again) and gives her a quick exam.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh4.ggpht.com/-sumTl_jTCwI/TlCJYQj2L1I/AAAAAAAAC_Y/n4vPQH6St5M/2011-08-17%252520at%25252011-33-24%25255B5%25255D.jpg?imgmax=800" width="700" height="1045" /&gt;&lt;/p&gt;  &lt;p&gt;Midwife does the baby exam on the bed right in front of us and walks us through each detail as she adoringly checks it. All are invited to observe. She examines the the placenta and involves the curious kiddos as much as they are comfortable with. Midwife asks of our plans for the placenta and refuses to chuckle at my quizzical expression. Wife decides to freeze it “for now”&lt;sup&gt;&lt;a href="#note-6" name="note-6-source"&gt;[6]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh6.ggpht.com/-ZUbnXqwWznM/TlCJY0oywoI/AAAAAAAAC_c/ufgveRWU8eM/2011-08-17%252520at%25252012-04-22%25255B4%25255D.jpg?imgmax=800" width="700" height="586" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh3.ggpht.com/-rU97KsPcEfE/TlCJZWoRM-I/AAAAAAAAC_g/qivjZm6Ov_Y/2011-08-17%252520at%25252012-03-28%25255B4%25255D.jpg?imgmax=800" width="700" height="504" /&gt;&lt;/p&gt;  &lt;p&gt;Midwife weighs and measures Baby (7lb-9oz, 20.5”). She gives us a few final instructions for caring for boys (we already have two girls). There’s little difference.&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="" alt="" src="http://lh6.ggpht.com/-n5AB_5Bu-1o/TlCJZl2zzRI/AAAAAAAAC_0/PYeq2FRJ630/2011-08-17%252520at%25252012-38-55%25255B8%25255D.jpg?imgmax=800" width="308" height="580" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="" alt="" src="http://lh3.ggpht.com/-8qgj62yx0EU/TlCJaHcuIrI/AAAAAAAAC_4/nX2YM--Bl20/2011-08-17%252520at%25252012-39-06%25255B10%25255D.jpg?imgmax=800" width="389" height="580" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2:00&lt;/strong&gt; BirthTeam friends gather up offspring, wish us well, and leave. Midwife fills out Baby’s certificate (he’s still unnamed), and leaves (she’ll return tomorrow for a follow up). I see everyone off and discover that they have been busy caring for not just our children but our home. BirthTeam friends and Midwife have done laundry, dishes, and cleaned our bathroom. They even baked Baby a birthday cake! These touching gifts are so, so appreciated as the house falls quiet&lt;sup&gt;&lt;a href="#note-7" name="note-7-source"&gt;[7]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;  &lt;p&gt;Wife and Baby settle in for a nap and I take the noisemakers, Thing 1 and Thing 2, to the store to pick up a few things but really just to make the house quiet and give the new big sisters some much needed attention.&lt;/p&gt;  &lt;p&gt;And life goes on, +1.&lt;/p&gt;  &lt;h3&gt;Thank You&lt;/h3&gt;  &lt;p&gt;Thank you to everyone who supported us on Baby’s birthday.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Thank you&lt;/em&gt;, Jamie and Adrianne&lt;sup&gt;&lt;a href="#note-8" name="note-8-source"&gt;[8]&lt;/a&gt;&lt;/sup&gt;, for watching our kids. Your kindness in caring for them, feeding them, clothing them and helping them participate in the birth in the absolutely perfect way is the most beautiful gift I’ve ever received from a friend.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Thank you&lt;/em&gt;, Sierra, for shooting what I’m sure will be amazing pictures—capturing these special moments is very important to us. I appreciate your encouragement to Wife during her labor and helping me help her. Having you in the room during the entire process lowered our anxiety at least two notches and enabled us to truly focus on Wife and Baby.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Thank you&lt;/em&gt;, Pam, for being our Midwife. The knowledge and experience you have has proven invaluable for two prenatals, two births, and two postpartums. From the first time I met you at an ABC meeting three years ago, you’ve been a steady source of support, encouragement, and gentle advice. Thank you for teaching me to respect birth, and teaching me that women deserve dignity during it. Thank you for helping us meet Baby in the most loving way I can imagine.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Thank you&lt;/em&gt;, Isabella, Eden, Big Isaac, Mr. Isaac, and Kieran for joining in our fun. Thank you for playing with Thing 1 and Thing 2 and helping them welcome Baby into this world. Thank you for triggering spontaneous laughter throughout the morning and joining in our excitement.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Thank you &lt;/em&gt;to the dozens who have supported us in the months leading up to Baby’s birth. I know you’ll understand why we couldn’t have all of you here at the same time. We look forward to visiting with each of you and introducing you to Baby.&lt;/p&gt;  &lt;p&gt;We are so fortunate to have you all.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="" alt="" src="http://lh5.ggpht.com/--lqS3mCkb8U/TlCJacwfVtI/AAAAAAAAC_s/-DC3bB8GJt4/2011-08-17%252520at%25252013-27-58%25255B4%25255D.jpg?imgmax=800" width="700" height="395" /&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;(Tip: click the number, or your browser’s back button to go back.)&lt;/em&gt;&lt;/p&gt;  &lt;p id="note-1"&gt;&lt;a href="#note-1-source"&gt;[1]&lt;/a&gt;It’s basically a tube sock version of &lt;a href="http://www.wikihow.com/Make-a-Rice-Sock"&gt;this&lt;/a&gt;&lt;/p&gt;  &lt;p id="note-2"&gt;&lt;a href="#note-2-source"&gt;[2]&lt;/a&gt;And sometimes &lt;em&gt;shouts&lt;/em&gt;&lt;/p&gt;  &lt;p id="note-3"&gt;&lt;a href="#note-3-source"&gt;[3]&lt;/a&gt;A fantastic Midwife trick where you take a regular bed with sheets on it and layer on a waterproof shower curtain liner, a bunch of absorbent Chux pads, a forsaken sheet, and more Chux pads. The advantage to this, aside from protecting your bed from the perils of labor, is that when it’s all over you just peel off the waterproofing stuff and a perfectly made bed is underneath.&lt;/p&gt;  &lt;p id="note-4"&gt;&lt;a href="#note-4-source"&gt;[4]&lt;/a&gt;We later measured and found fluid eight feet away.&lt;/p&gt;  &lt;p id="note-5"&gt;&lt;a href="#note-5-source"&gt;[5]&lt;/a&gt;Unlike most things in this world that ultimately disappoint us when we spend weeks or months building them up in anticipation, meeting your child for the first time shatters all imaginable expectations. I’ve experienced it three times now and the physiological response is so incredible &lt;em&gt;I’m literally tearing up right now as I type&lt;/em&gt;.&lt;/p&gt;  &lt;p id="note-6"&gt;&lt;a href="#note-6-source"&gt;[6]&lt;/a&gt;Huh? Wife’s been crunchy long enough now that I know better than to ask about this.&lt;/p&gt;  &lt;p id="note-7"&gt;&lt;a href="#note-7-source"&gt;[7]&lt;/a&gt;Quieter. Our other two kids are awake.&lt;/p&gt;  &lt;p id="note-8"&gt;&lt;a href="#note-8-source"&gt;[8]&lt;/a&gt;And Eric for delivering critical foodstuffs!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-3865185155054990312?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/e0XyhB8-EY0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/3865185155054990312/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=3865185155054990312" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/3865185155054990312?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/3865185155054990312?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/e0XyhB8-EY0/birth-story-thing-3.html" title="Birth Story: Thing 3" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-2nrHeLD0QIU/TlCJJ2l5TKI/AAAAAAAAC9o/7ZzGLzvOsvo/s72-c/2011-08-17%252520at%25252006-03-36%25255B8%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/08/birth-story-thing-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQGRHw5cCp7ImA9WhdSFUg.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-7095496333264430355</id><published>2011-07-24T21:31:00.001-04:00</published><updated>2011-07-24T21:45:25.228-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T21:45:25.228-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Family" /><category scheme="http://www.blogger.com/atom/ns#" term="Baby" /><category scheme="http://www.blogger.com/atom/ns#" term="Around Town" /><category scheme="http://www.blogger.com/atom/ns#" term="Peanut" /><title>The Great Lakes Science Center in Cleveland, Ohio</title><content type="html">&lt;p&gt;The &lt;a href="http://www.glsc.org/"&gt;Great Lakes Science Center&lt;/a&gt; is a fantastic place for curious kids and adults. It has a lot of exhibits, is easy to get to, and seems to keep the kiddos entertained indefinitely. &lt;/p&gt;  &lt;p&gt;The only drawback may be that some of the exhibits are difficult to grasp for very young children. My 3.75 year old, Thing1, has only recently developed the patience needed to notice what’s happening enough to be in awe. This isn’t to say that the venue doesn’t work for younger kids. In fact, Thing2 (two years old), has a great time, too. The difference is that she spends most of her time running from booth to booth mashing buttons like she just doubled down on a bet to be settled by Mortal Kombat and &lt;a href="http://en.wikipedia.org/wiki/Eddy_Gordo#Other_appearances"&gt;doesn’t know any combos&lt;/a&gt;. She has a great time, but if you’re not ready for it, &lt;em&gt;you’ll &lt;/em&gt;be frustrated that you can’t experience any of the science yourself. Having been a few times before, this isn’t an issue for Wife or me anymore.&lt;/p&gt;  &lt;p&gt;They also have a fantastic play area that any kid under about seven or eight would love (any older than that and you’ll probably enjoy the actual science stuff more). We save it for the end so we can use it as a bribe, and take a break while the kids literally run themselves out of steam. Most of my pictures are from this area.&lt;/p&gt;  &lt;p&gt;Getting ready (wife made amazing banana chocolate chip pancakes while I slept!):&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center" alt="science-center" src="http://lh6.ggpht.com/-ek06UxfeJsg/TizHB69GxmI/AAAAAAAACro/VaGmq-5bcnQ/science-center%25255B8%25255D.jpg?imgmax=800" width="248" height="330" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-3" alt="science-center-3" src="http://lh4.ggpht.com/-TARQfMTeNTg/TizHChWtL7I/AAAAAAAACrs/a609Aqh87HQ/science-center-3%25255B8%25255D.jpg?imgmax=800" width="440" height="330" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;NOM NOM NOM&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-1" alt="science-center-1" src="http://lh6.ggpht.com/-0K2UTI-EsQI/TizHDWYUR4I/AAAAAAAACrw/Eae_784Ikgk/science-center-1%25255B10%25255D.jpg?imgmax=800" width="440" height="330" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-2" alt="science-center-2" src="http://lh3.ggpht.com/-0gLCBiBwWAA/TizHEHeqqPI/AAAAAAAACr0/ylksbMrO0bs/science-center-2%25255B8%25255D.jpg?imgmax=800" width="248" height="330" /&gt;&lt;/p&gt;    &lt;p&gt;With full bellies, we made it to the Science Center after stopping to calm the troops just once. &lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-5" alt="science-center-5" src="http://lh6.ggpht.com/-qEAN6LOZmHw/TizHExv-IZI/AAAAAAAACr4/VhiIIjT6kJk/science-center-5%25255B6%25255D.jpg?imgmax=800" width="350" height="467" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-4" alt="science-center-4" src="http://lh5.ggpht.com/--HAhMpMWRWw/TizHFvzKaRI/AAAAAAAACr8/ki4PqQvgAf4/science-center-4%25255B7%25255D.jpg?imgmax=800" width="350" height="467" /&gt;&lt;/p&gt;  &lt;p&gt;(Pro tip: take a decent cell phone pic of your kids when you get to a busy place. This way, if they get lost you have a handy picture of exactly what they look like and what they’re wearing. If it’s on a cell phone, you can share it quickly if needed, too. And, if you don’t need it, you at least have a couple cute pics.)&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-6" alt="science-center-6" src="http://lh6.ggpht.com/-a7XFayC7ZyM/TizHGmUTV3I/AAAAAAAACsA/N2JcuVz0fOc/science-center-6%25255B6%25255D.jpg?imgmax=800" width="225" height="300" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-7" alt="science-center-7" src="http://lh4.ggpht.com/-KRn-4rZw3YI/TizHHeFK1TI/AAAAAAAACsE/6nxXYfFaUVQ/science-center-7%25255B6%25255D.jpg?imgmax=800" width="225" height="300" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-8" alt="science-center-8" src="http://lh3.ggpht.com/-h8qfZjp1pMI/TizHINmmgWI/AAAAAAAACsI/kAuxS6Q-v0w/science-center-8%25255B6%25255D.jpg?imgmax=800" width="225" height="300" /&gt;&lt;/p&gt;    &lt;p&gt;Bernoulli’s Principle:&lt;/p&gt;  &lt;p align="center"&gt;&lt;iframe height="525" src="http://www.youtube.com/embed/waMs2z5AL-M" frameborder="0" width="700" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;(Note: video cuts out as Thing1 begins to &lt;em&gt;climb&lt;/em&gt; the exhibit in pursuit of the beach ball.)&lt;/p&gt;  &lt;p&gt;They had a neat display on DNA sequencing, including a board asking people what they thought about it:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-18" alt="science-center-18" src="http://lh6.ggpht.com/-W9ABUuamQi4/TizHJNTN8FI/AAAAAAAACsM/zIMD-uvZzcc/science-center-18%25255B5%25255D.jpg?imgmax=800" width="700" height="450" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-22" alt="science-center-22" src="http://lh5.ggpht.com/-yfgcYeLXUHc/TizHJ1sdcoI/AAAAAAAACsQ/9DmkUw6OM9M/science-center-22%25255B6%25255D.jpg?imgmax=800" width="205" height="300" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-19" alt="science-center-19" src="http://lh4.ggpht.com/-QDIMtHIAl_k/TizHKhJNY8I/AAAAAAAACsU/820qTMRczEs/science-center-19%25255B7%25255D.jpg?imgmax=800" width="289" height="300" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-21" alt="science-center-21" src="http://lh4.ggpht.com/--cUUh7WVmgE/TizHLQtmUBI/AAAAAAAACsY/hw6GZwrbKUM/science-center-21%25255B6%25255D.jpg?imgmax=800" width="217" height="300" /&gt;&lt;/p&gt;  &lt;p&gt;And this one that triggered a memory of a &lt;a href="http://hyperboleandahalf.blogspot.com/2010/04/alot-is-better-than-you-at-everything.html"&gt;hilarious comic&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-20" alt="science-center-20" src="http://lh4.ggpht.com/-WPZVH6AmUG8/TizHMfmCRTI/AAAAAAAACsc/u-z4_gU9LOo/science-center-20%25255B7%25255D.jpg?imgmax=800" width="314" height="450" /&gt;&lt;/p&gt;      &lt;p&gt;Maya filled out her own sheet:&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-25" alt="science-center-25" src="http://lh4.ggpht.com/-JJoHicX_54Y/TizHNAMj0kI/AAAAAAAACsg/-_K6fGcRN_Y/science-center-25%25255B8%25255D.jpg?imgmax=800" width="413" height="310" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-26" alt="science-center-26" src="http://lh4.ggpht.com/-oncXzkgglkg/TizHOPibgWI/AAAAAAAACsk/bEb-kR7hZHQ/science-center-26%25255B9%25255D.jpg?imgmax=800" width="315" height="310" /&gt;&lt;/p&gt;    &lt;p&gt;I bet her feelings are shared by many. &lt;/p&gt;  &lt;p&gt;Before we left that exhibit, Wife got a chance to school us in DNA building:&lt;/p&gt;  &lt;p align="right"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-17" alt="science-center-17" src="http://lh5.ggpht.com/-s4jBvaULVtQ/TizHPGhkrpI/AAAAAAAACso/26b0vzfeDec/science-center-17%25255B5%25255D.jpg?imgmax=800" width="350" height="467" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-16" alt="science-center-16" src="http://lh4.ggpht.com/-fmRf_GYrrQ8/TizHQdZq3hI/AAAAAAAACss/JUPooFRu_2I/science-center-16%25255B5%25255D.jpg?imgmax=800" width="350" height="467" /&gt;&lt;/p&gt;  &lt;p&gt;Then we did something new: took a tour of the steamship &lt;a href="http://www.glsc.org/mather_museum.php"&gt;&lt;em&gt;William G. Mather&lt;/em&gt;&lt;/a&gt;. Unfortunately, I have very few pictures of it. Suffice it to say, it’s utterly massive. Here’s a pic from &lt;a href="http://en.wikipedia.org/wiki/Steamship_William_G._Mather_Maritime_Museum"&gt;Wikipedia&lt;/a&gt; that really doesn’t do it justice:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="mather" alt="mather" src="http://lh3.ggpht.com/-ksu97qhtQ8E/TizHRd_txJI/AAAAAAAACsw/7mNrSkRKhvw/mather%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-30" alt="science-center-30" src="http://lh4.ggpht.com/-W-imHgxmwm0/TizHSBerjTI/AAAAAAAACs0/et-U-4C2Ybw/science-center-30%25255B6%25255D.jpg?imgmax=800" width="350" height="467" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-28" alt="science-center-28" src="http://lh6.ggpht.com/-AY8pVI0Zmos/TizHTdFAFLI/AAAAAAAACs4/U1Ktnnxoba8/science-center-28%25255B5%25255D.jpg?imgmax=800" width="350" height="467" /&gt;&lt;img style="margin: 3px 0px; display: inline" title="science-center-29" alt="science-center-29" src="http://lh4.ggpht.com/-a68ucjt5u5A/TizHUaSStzI/AAAAAAAACs8/vYxSF3DUTEE/science-center-29%25255B5%25255D.jpg?imgmax=800" width="350" height="262" /&gt;&amp;#160;&lt;img style="margin: 3px 0px; display: inline" title="science-center-27" alt="science-center-27" src="http://lh6.ggpht.com/-F_575dht5jo/TizHWBBZKbI/AAAAAAAACtA/xp9-PnCfvbI/science-center-27%25255B5%25255D.jpg?imgmax=800" width="350" height="262" /&gt;&lt;/p&gt;    &lt;p&gt;Thing1 tailing Thing2 in a flight simulator: “I’m on your six!”&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-14" alt="science-center-14" src="http://lh4.ggpht.com/-lAremP7OKdg/TizHXkOdjXI/AAAAAAAACtE/qpjkuijgx7M/science-center-14%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;“Uh oh!”&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-11" alt="science-center-11" src="http://lh3.ggpht.com/-EroM5AU7Hjo/TizHYmcEK1I/AAAAAAAACtI/K6Wpcxl3Kfc/science-center-11%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;“I got this one, Goose.”&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-12" alt="science-center-12" src="http://lh6.ggpht.com/-d8eDPcAz2G8/TizHZvgT2II/AAAAAAAACtM/u2YzDaT2o48/science-center-12%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;“Engage.”&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-13" alt="science-center-13" src="http://lh4.ggpht.com/-rL9TNJ-JQ08/TizHbyEctnI/AAAAAAAACtQ/rVUY9-0V208/science-center-13%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;And finally, the ball pit.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-9" alt="science-center-9" src="http://lh6.ggpht.com/-V-9NLFD9dxQ/TizHdJwJaOI/AAAAAAAACtU/O36XdNVf7_A/science-center-9%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;The pit has this cool bucket that the kids fill through various means. At any time, someone can pull a chain to dump it.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="science-center-10" alt="science-center-10" src="http://lh3.ggpht.com/-1HIHq6k-3uU/TizHe-_zcTI/AAAAAAAACtY/3cDs96hpATs/science-center-10%25255B4%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;      &lt;p&gt;And they often do.&lt;/p&gt;  &lt;p align="center"&gt;&lt;iframe height="349" src="http://www.youtube.com/embed/A9DcTuyPNVI" frameborder="0" width="700" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;If you’re looking for a fun afternoon, check it out.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-7095496333264430355?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/qZ7Z3UHxS7s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/7095496333264430355/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=7095496333264430355" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7095496333264430355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7095496333264430355?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/qZ7Z3UHxS7s/great-lakes-science-center-in-cleveland.html" title="The Great Lakes Science Center in Cleveland, Ohio" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-ek06UxfeJsg/TizHB69GxmI/AAAAAAAACro/VaGmq-5bcnQ/s72-c/science-center%25255B8%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/07/great-lakes-science-center-in-cleveland.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08MQXc9fCp7ImA9WhdSEEU.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-5076924607157771229</id><published>2011-07-19T10:31:00.001-04:00</published><updated>2011-07-19T10:31:20.964-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-19T10:31:20.964-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="Work" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>Reseeding *All* Identity Values in a Database</title><content type="html">&lt;p&gt;&lt;em&gt;(This post was written against SQL Server 2000. The concepts apply to more recent versions, but the batch script may not work on them.)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;If you work intimately with databases for very long, you might run into an issue where you can’t insert a record because of some weird duplicate primary key error:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;Msg 2627, Level 14, State 1, Line whatever        &lt;br /&gt;Violation of PRIMARY KEY constraint 'PK'. Cannot insert duplicate key in object '&amp;lt;table&amp;gt;'.&lt;/font&gt;       &lt;br /&gt;The statement has been terminated.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;“That’s strange,” you’ll say, because it’s failing on an identity column, which is supposed to auto-increment. Here’s a test case that demonstrates this behavior, and the fix:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; IdentityTest (ID &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;IDENTITY&lt;/span&gt; &lt;span class="kwrd"&gt;PRIMARY&lt;/span&gt; &lt;span class="kwrd"&gt;KEY&lt;/span&gt;)

&lt;span class="rem"&gt;-- insert auto-incrementing values&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- 1&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- 2&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- 3&lt;/span&gt;

&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; * &lt;span class="kwrd"&gt;FROM&lt;/span&gt; IdentityTest &lt;span class="rem"&gt;-- 1, 2, 3&lt;/span&gt;

&lt;span class="rem"&gt;-- reseed the identity column&lt;/span&gt;
&lt;span class="kwrd"&gt;DBCC&lt;/span&gt; CHECKIDENT (IdentityTest, RESEED, -3)

&lt;span class="rem"&gt;-- insert more auto-incrementing values (note, things *work*...for a while)&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- -2&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- -1&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- 0&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- &lt;font color="#ff0000"&gt;BOOM&lt;/font&gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;DBCC&lt;/span&gt; CHECKIDENT (IdentityTest, RESEED) &lt;span class="rem"&gt;-- fix!&lt;/span&gt;
INSERT IdentityTest &lt;span class="kwrd"&gt;DEFAULT&lt;/span&gt; &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;span class="rem"&gt;-- phew!&lt;/span&gt;

&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; * &lt;span class="kwrd"&gt;FROM&lt;/span&gt; IdentityTest &lt;span class="rem"&gt;-- 1, 2, 3, -2, -1, 0, 4&lt;/span&gt;

&lt;span class="kwrd"&gt;DROP&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; IdentityTest&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;The easiest way to fix this is to reset (“reseed”) the table’s identity value:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;DBCC&lt;/span&gt; CHECKIDENT (IdentityTest, RESEED) -- fix!&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;This script, pulled from &lt;a href="http://bit.ly/plJNx2"&gt;RedGate’s forums&lt;/a&gt; (an awesome company, by the way), resets those identity values for every table in the database:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;-- courtesy of RedGate forums http://bit.ly/plJNx2&lt;/span&gt;
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @&lt;span class="kwrd"&gt;table&lt;/span&gt; NVARCHAR(4000), @&lt;span class="kwrd"&gt;column&lt;/span&gt; NVARCHAR(4000)

&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; &lt;span class="kwrd"&gt;row&lt;/span&gt; &lt;span class="kwrd"&gt;CURSOR&lt;/span&gt; &lt;span class="kwrd"&gt;FOR&lt;/span&gt;
  &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; 
    a.name TableName, 
    b.name IdentityColumn
  &lt;span class="kwrd"&gt;FROM&lt;/span&gt; sysobjects a
  &lt;span class="kwrd"&gt;JOIN&lt;/span&gt; syscolumns b
  &lt;span class="kwrd"&gt;ON&lt;/span&gt; a.id = b.id
  &lt;span class="kwrd"&gt;WHERE&lt;/span&gt; COLUMNPROPERTY(a.id, b.name, &lt;span class="str"&gt;'isIdentity'&lt;/span&gt;) = 1
    &lt;span class="kwrd"&gt;AND&lt;/span&gt; OBJECTPROPERTY(a.id, &lt;span class="str"&gt;'isTable'&lt;/span&gt;) = 1
    &lt;span class="kwrd"&gt;AND&lt;/span&gt; a.xtype=&lt;span class="str"&gt;'U'&lt;/span&gt;
  &lt;span class="kwrd"&gt;ORDER&lt;/span&gt; &lt;span class="kwrd"&gt;BY&lt;/span&gt; a.name
&lt;span class="kwrd"&gt;OPEN&lt;/span&gt; &lt;span class="kwrd"&gt;row&lt;/span&gt;

&lt;span class="kwrd"&gt;WHILE&lt;/span&gt; 1=1
&lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;
  &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; &lt;span class="kwrd"&gt;row&lt;/span&gt; &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @&lt;span class="kwrd"&gt;table&lt;/span&gt;, @&lt;span class="kwrd"&gt;column&lt;/span&gt;
  &lt;span class="kwrd"&gt;IF&lt;/span&gt; &lt;span class="preproc"&gt;@@FETCH_STATUS&lt;/span&gt; = -1
     &lt;span class="kwrd"&gt;BREAK&lt;/span&gt;
  
  &lt;span class="kwrd"&gt;PRINT&lt;/span&gt; @&lt;span class="kwrd"&gt;table&lt;/span&gt;
  &lt;span class="kwrd"&gt;EXEC&lt;/span&gt; sp_executesql N&lt;span class="str"&gt;'DBCC CHECKIDENT (@table, RESEED)'&lt;/span&gt;, N&lt;span class="str"&gt;'@table varchar(4000)'&lt;/span&gt;, @&lt;span class="kwrd"&gt;table&lt;/span&gt; = @&lt;span class="kwrd"&gt;table&lt;/span&gt;   
  &lt;span class="kwrd"&gt;PRINT&lt;/span&gt; &lt;span class="str"&gt;''&lt;/span&gt;
&lt;span class="kwrd"&gt;END&lt;/span&gt;

&lt;span class="kwrd"&gt;CLOSE&lt;/span&gt; &lt;span class="kwrd"&gt;row&lt;/span&gt;
&lt;span class="kwrd"&gt;DEALLOCATE&lt;/span&gt; row&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is handy to have in the toolbox when a data sync screws up a bunch of tables. In fact, that’s the primary reason I’m posting it here—so &lt;strong&gt;&lt;em&gt;I&lt;/em&gt;&lt;/strong&gt; can refer back to it in the future as needed.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-5076924607157771229?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/5bCYsjcuGds" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/5076924607157771229/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=5076924607157771229" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5076924607157771229?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/5076924607157771229?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/5bCYsjcuGds/reseeding-all-identity-values-in.html" title="Reseeding *All* Identity Values in a Database" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/07/reseeding-all-identity-values-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIEQXw-cCp7ImA9WhdSEEk.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-2793516562051160960</id><published>2011-07-18T21:55:00.001-04:00</published><updated>2011-07-18T21:55:00.258-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-18T21:55:00.258-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="In the News" /><category scheme="http://www.blogger.com/atom/ns#" term="Around Town" /><title>Statistics are Misleading At Best, Filthy Liars at Second Best</title><content type="html">&lt;p&gt;Back in April, I somehow came across &lt;a href="http://disruptthenarrative.wordpress.com/2011/04/24/gas-pump-activism/"&gt;this site&lt;/a&gt; blaming President Obama for raging gas prices:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="obamagasprices" alt="obamagasprices" src="http://lh5.ggpht.com/-Vq1v5mxfS70/TiTj8Gg8JYI/AAAAAAAAB_o/NUoncSs0mAM/obamagasprices%25255B9%25255D.jpg?imgmax=800" width="406" height="333" /&gt;&lt;/p&gt;    &lt;p&gt;The implication is that since the moment Obama took office, gas prices have gone crazy. My god! &lt;/p&gt;  &lt;p&gt;Wait wait wait…why the steep decline at the end of 2008? Let’s uncrop a bit (I downloaded some public data from an energy gov site, dropped it into Excel, and annotated it with SnagIt):&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="fuel prices" alt="fuel prices" src="http://lh6.ggpht.com/-SwA26Aaebi0/TiTj81CWAuI/AAAAAAAAB_s/Ae1UJw5qHDo/fuel%252520prices%25255B2%25255D.png?imgmax=800" width="700" height="509" /&gt;&lt;/p&gt;  &lt;p&gt;That’s a pretty different picture, isn’t it? &lt;/p&gt;  &lt;p&gt;I’m not posting this to indict or vindicate anyone. I’m not even going to guess at explanations for the dramatic changes in that chart. I only post this to encourage people to be skeptical of charts, and to be especially suspicious of sensationalism.&lt;/p&gt;  &lt;p&gt;Oh, and if you hate paying $3-4 dollars/gallon in the United States…&lt;a href="http://blog.wassupy.com/2005/09/gas-prices.html"&gt;it could be worse&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-2793516562051160960?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/T3XvoA1gwIM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/2793516562051160960/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=2793516562051160960" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2793516562051160960?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2793516562051160960?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/T3XvoA1gwIM/statistics-are-misleading-at-best.html" title="Statistics are Misleading At Best, Filthy Liars at Second Best" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-Vq1v5mxfS70/TiTj8Gg8JYI/AAAAAAAAB_o/NUoncSs0mAM/s72-c/obamagasprices%25255B9%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/07/statistics-are-misleading-at-best.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4FRXo8fip7ImA9WhdSEE4.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-7724237598257279913</id><published>2011-07-18T21:11:00.001-04:00</published><updated>2011-07-18T21:11:54.476-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-18T21:11:54.476-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Around Town" /><category scheme="http://www.blogger.com/atom/ns#" term="Letters" /><title>A Ridiculous Jury Duty Questionnaire</title><content type="html">&lt;p&gt;A while back I got a jury duty notice. A couple weeks before I was due to appear I received a huge questionnaire in the mail. This thing was more comprehensive than everything Wife and I did for premarital counseling. Over 100 questions.&lt;/p&gt;  &lt;p&gt;After I sent this in, but before I had to appear the case was continued so I never appeared. With that in mind, and because no one told me not to, I’d like to share some select answers.&lt;/p&gt;  &lt;p&gt;Before you think I’m just cherry-picking questions, I’m not. This thing was personal:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px; display: inline" title="IMG_20110302_191000" alt="IMG_20110302_191000" src="http://lh4.ggpht.com/-FDacW3SfZJg/TiTZpnDVDAI/AAAAAAAAB-4/FASz2NpY1H4/IMG_20110302_191000%25255B4%25255D.jpg?imgmax=800" width="338" height="450" /&gt;&lt;img style="margin: 3px; display: inline" title="IMG_20110302_191012" alt="IMG_20110302_191012" src="http://lh6.ggpht.com/-far15T15Plk/TiTZqqrTDCI/AAAAAAAAB-8/xy98CZfuY8Y/IMG_20110302_191012%25255B4%25255D.jpg?imgmax=800" width="338" height="450" /&gt;&lt;img style="margin: 3px; display: inline" title="IMG_20110302_191019" alt="IMG_20110302_191019" src="http://lh6.ggpht.com/-L4jlIV2lUmk/TiTZrXPwoSI/AAAAAAAAB_A/Kl8hy14tsag/IMG_20110302_191019%25255B4%25255D.jpg?imgmax=800" width="338" height="450" /&gt;&lt;img style="margin: 3px; display: inline" title="IMG_20110302_191026" alt="IMG_20110302_191026" src="http://lh6.ggpht.com/-JxmvqoQliUU/TiTZr4oyVNI/AAAAAAAAB_E/YzgiDrc71U8/IMG_20110302_191026%25255B4%25255D.jpg?imgmax=800" width="338" height="450" /&gt;&lt;img style="margin: 3px; display: inline" title="IMG_20110302_191033" alt="IMG_20110302_191033" src="http://lh4.ggpht.com/-KLLA1f_QbHs/TiTZsvNFLnI/AAAAAAAAB_I/7rp9RMOmyas/IMG_20110302_191033%25255B4%25255D.jpg?imgmax=800" width="338" height="450" /&gt;&lt;img style="margin: 3px; display: inline" title="IMG_20110302_191038" alt="IMG_20110302_191038" src="http://lh4.ggpht.com/-Doc4z3dbzeg/TiTZtaumwLI/AAAAAAAAB_M/US5KWTbUSHY/IMG_20110302_191038%25255B4%25255D.jpg?imgmax=800" width="338" height="450" /&gt;&lt;/p&gt;  &lt;p&gt;That covered my detailed family history, religion, politics, career, salary, parenting, education, etc. Yikes!&lt;/p&gt;  &lt;p&gt;Here are some of my favorite answers:&lt;/p&gt;    &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110302_191429" alt="IMG_20110302_191429" src="http://lh3.ggpht.com/-p0YzMdu6puI/TiTZuTRNdTI/AAAAAAAAB_Q/meWyV22JHhU/IMG_20110302_191429%25255B8%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110302_191835" alt="IMG_20110302_191835" src="http://lh4.ggpht.com/-dffrfOnkobw/TiTZvd_WW9I/AAAAAAAAB_U/KE0ja3qdwcc/IMG_20110302_191835%25255B7%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;Once I even did computer stuff &lt;em&gt;at &lt;/em&gt;a pizza place.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110302_192155" alt="IMG_20110302_192155" src="http://lh5.ggpht.com/-FgAwxvlRQCs/TiTZwgrOr7I/AAAAAAAAB_Y/GSvLyiiaRB4/IMG_20110302_192155%25255B3%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;Wife compelled me to &lt;em&gt;not attach &lt;/em&gt;a list describing her job.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110302_195136" alt="IMG_20110302_195136" src="http://lh5.ggpht.com/-Rjzu8kYrEIw/TiTZxlKqBiI/AAAAAAAAB_c/czHTL5gWftg/IMG_20110302_195136%25255B3%25255D.jpg?imgmax=800" width="700" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;(Before you assume I hate authority, check out questions 96-98 farther down.)&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110302_195104" alt="IMG_20110302_195104" src="http://lh4.ggpht.com/-KuULq1gnyYk/TiTZz7D4GvI/AAAAAAAAB_g/yOLcj6NwEbI/IMG_20110302_195104%25255B4%25255D.jpg?imgmax=800" width="700" height="933" /&gt;&lt;/p&gt;  &lt;p&gt;And finally, after nearly eight years, the secret to my lasting marriage is revealed in question 102.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110302_195122" alt="IMG_20110302_195122" src="http://lh3.ggpht.com/-EhM4RU6RDJo/TiTZ2d5leHI/AAAAAAAAB_k/4mqU0rPTR40/IMG_20110302_195122%25255B4%25255D.jpg?imgmax=800" width="700" height="933" /&gt;&lt;/p&gt;  &lt;p&gt;As a genuinely curious person, with a strong sense of civic duty, I was sincerely disappointed that this fizzled out as quickly as it did. I’ve seen &lt;em&gt;12 Angry Men &lt;/em&gt;and tons of &lt;em&gt;Law and Order &lt;/em&gt;so I’m basically an expert.&lt;/p&gt;  &lt;p&gt;(Apologies for any damage my handheld “scanner” causes to your eyes.)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-7724237598257279913?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/n6lixnTFEIw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/7724237598257279913/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=7724237598257279913" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7724237598257279913?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/7724237598257279913?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/n6lixnTFEIw/ridiculous-jury-duty-questionnaire.html" title="A Ridiculous Jury Duty Questionnaire" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-FDacW3SfZJg/TiTZpnDVDAI/AAAAAAAAB-4/FASz2NpY1H4/s72-c/IMG_20110302_191000%25255B4%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/07/ridiculous-jury-duty-questionnaire.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIAQn4yeip7ImA9WhdSEE4.&quot;"><id>tag:blogger.com,1999:blog-7767624464875146298.post-2483286296678350961</id><published>2011-07-18T19:59:00.001-04:00</published><updated>2011-07-18T19:59:03.092-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-18T19:59:03.092-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Food" /><title>How to Cook Bacon on a George Foreman Grill</title><content type="html">&lt;p&gt;Place strips of bacon on hot grill:&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110131_194415" alt="IMG_20110131_194415" src="http://lh4.ggpht.com/-qcan_nVmye4/TiTIugBhjCI/AAAAAAAAB-w/fqzCqgmC8WA/IMG_20110131_194415%25255B4%25255D.jpg?imgmax=800" width="525" height="700" /&gt;&lt;/p&gt;  &lt;p&gt;Burn grill marks into bacon, without cooking evenly.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 3px auto; display: block; float: none" title="IMG_20110131_194319" alt="IMG_20110131_194319" src="http://lh4.ggpht.com/-w7MR752Qmlc/TiTIxg7ZWTI/AAAAAAAAB-0/TpB2TH9QfAk/IMG_20110131_194319%25255B4%25255D.jpg?imgmax=800" width="525" height="700" /&gt;&lt;/p&gt;  &lt;p&gt;Eat bacon anyway.&lt;/p&gt;  &lt;p&gt;Never try cooking bacon this way again.&lt;/p&gt;  &lt;p&gt;(Note: this was attempted for convenience, not in a doomed attempt to make bacon healthier.)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7767624464875146298-2483286296678350961?l=blog.wassupy.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wassupy-wp/~4/m11J4SmzQdA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.wassupy.com/feeds/2483286296678350961/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7767624464875146298&amp;postID=2483286296678350961" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2483286296678350961?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7767624464875146298/posts/default/2483286296678350961?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/wassupy-wp/~3/m11J4SmzQdA/how-to-cook-bacon-on-george-foreman.html" title="How to Cook Bacon on a George Foreman Grill" /><author><name>Michael Haren</name><uri>http://www.blogger.com/profile/15213283306298286949</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_IKD9WtY5kxU/SoVQke0Pq9I/AAAAAAAAAec/beVb6AFRIDc/S220/haren.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-qcan_nVmye4/TiTIugBhjCI/AAAAAAAAB-w/fqzCqgmC8WA/s72-c/IMG_20110131_194415%25255B4%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://blog.wassupy.com/2011/07/how-to-cook-bacon-on-george-foreman.html</feedburner:origLink></entry></feed>

