<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dave&#039;s Good Stuff</title>
	<atom:link href="http://www.dvicci.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dvicci.com</link>
	<description>Drink wine, and you will sleep well. Sleep, and you will not sin. Avoid sin, and you will be saved. Ergo, drink wine and be saved.</description>
	<lastBuildDate>Fri, 10 May 2013 11:36:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Neverwinter Initial Impressions</title>
		<link>http://www.dvicci.com/gaming/neverwinter-initial-impressions</link>
		<comments>http://www.dvicci.com/gaming/neverwinter-initial-impressions#comments</comments>
		<pubDate>Mon, 06 May 2013 23:53:17 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Computer Gaming]]></category>
		<category><![CDATA[Role Playing Games]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2827</guid>
		<description><![CDATA[If you stop reading after this sentence, it is perhaps enough to know that Neverwinter is, if nothing else, as simple or as complex as you want it to be.  It can be a casual game you can play here and there, or it can be a game that allows you to invest hundreds of hours exploring every little thing the game has to offer, and even create some content of your own.]]></description>
				<content:encoded><![CDATA[<p>As Mr. Walker over at <a href='http://rockpapershotgun.com/'>Rock, Paper, Shotgun</a> so eloquently stated, &#8220;I don&#8217;t entirely know how to justify why I&#8217;m enjoying <a href='http://nw.perfectworld.com/'>Neverwinter</a> quite so much.&#8221; I was able to sneak a few spare moments this past weekend to play between newborn infant related tasks such as feeding, burping, holding-so-to-make-it- stop-screaming-why-won&#8217;t-it-stop-with-the-screaming while the wife was showering, and the ever-present threat of diaper changes. Rarely can I spend more than about an hour and a half at a time in my &#8220;lands&#8221; as the wife calls them. But I was afforded enough small windows to find myself truly enjoying this game, and honestly, I&#8217;m not sure exactly why.</p>
<p>If you stop reading after this sentence, it is perhaps enough to know that Neverwinter is, if nothing else, as simple or as complex as you want it to be. It can be a casual game you can play here and there, or it can be a game that allows you to invest hundreds of hours exploring every little thing the game has to offer, and even create some content of your own. That dichotomy is evident right off the bat in the initial character generation (a necessary evil for some, an imagination heaven for others). Click &#8220;Next&#8221; through it and be done in 5 minutes, take an hour or more customizing everything, or find a happy medium. I was off the boat and adventuring in about 10 minutes, myself.</p>
<p>Because none of my gaming friends have delved into this game, I&#8217;m just following the story solo style with my Rogue Trickster (Samuel Haines on the Dragon shard, in case you&#8217;re interested). There are NPCs to talk to, and they give you all the standard quests we&#8217;ve all come to know and love; search &amp; destroy, courier, explore, &amp; protect/escort. Regardless of the task type, there is almost no barrier to entry. It&#8217;s been said in other places, and I&#8217;ll say it again, in a lot of ways the game feels more like an old school FPS, but with the bells and whistles of a modern-day MMORPG &#8211; and I&#8217;m saying that with a lot of nostalgic love of the old school FPS (and not a whole lot of experience with MMORPGs). Combat is especially reminiscent of the FPS; whatever beastie is behind your reticle is the beastie you&#8217;re targeting. There&#8217;s no hard &#8220;focus&#8221; that you have to explicitly change, making combat feel very fluid.</p>
<p>There are plenty of things to be intimidated by, and I suppose some things to be bothered by, but for some reason, I&#8217;m neither intimidated, nor really bothered by much of anything. For instance, there are about 6 currencies in a ridiculously complex monetary system, and each is used for different, yet sometimes overlapping things. I&#8217;ve been able to get by with the basic gold/silver/copper currency, and happily ignore the rest so far. There is a guild system, but being solo for the moment, I have no need of it &#8211; without friends to help me start a guild, I couldn&#8217;t use it even if I wanted to. There are things called &#8220;Events&#8221; which include other things like dungeon delves, PvP matches, and skirmishes, but I couldn&#8217;t tell you much about them, and am doing great so far without them. Crafting is a thing that exists, like in any MMO worth its salt, but it seems fairly complex, and I&#8217;ve been happy with loot drops.</p>
<p>There are also companions, which every player can employ. These are actually very nice. I have one now, and foresee having more. They are quite useful in filling whatever gap your own character leaves open. For instance, if you don&#8217;t deal a lot of damage, you can hire a damage dealing companion. If you don&#8217;t have much by way of survivability, you can hire a tank, or a healer. But choose wisely, you can only have one active at a time. Regardless, they often serve to get the attention of the bad guys, so you can do your thing without being pounded on. Companions are fun.</p>
<p>There is a thing called The Foundry, which is where players create their own adventures (User Generated Content, or UGC), but I haven&#8217;t even opened the GUI for that yet. I&#8217;d love to, and am really intrigued by the possibilities there, but if I don&#8217;t explore it at all, I&#8217;ll have fun anyway.</p>
<p>There is, to be honest, one thing I would see improved. There is no waypoint system, which means you have to travel, by foot or hoof, where ever you want to go &#8211; or at least to the edge of whatever instanced zone you&#8217;re in. Only there can you choose another zone to travel to. No teleporting straight to places you&#8217;ve already been from wherever you are. Fortunately, it doesn&#8217;t take <em>too</em> long to travel from one place to another, and I&#8217;m familiar with this mode of transportation from <a href='http://en.wikipedia.org/wiki/Baldur%27s_Gate'>games</a> <a href='http://en.wikipedia.org/wiki/Icewind_Dale'>I&#8217;ve</a> <a href='http://en.wikipedia.org/wiki/Baldur%27s_Gate_II:_Shadows_of_Amn'>played</a> <a href='http://en.wikipedia.org/wiki/Icewind_Dale_II'>in</a> <a href='http://en.wikipedia.org/wiki/Neverwinter_nights'>the</a> <a href='http://en.wikipedia.org/wiki/Neverwinter_Nights_2'>past</a>. It seems a little dated now, though. I&#8217;d like a quicker way to get right where I want to go, without having to slog it too long. I&#8217;d also like Cryptic to streamline the task of moving from one zone to another. There are a few too many baffling clicks right now &#8211; why do I need to choose an instance every time? I don&#8217;t know. But honestly, those are petty complaints, given what I&#8217;ve paid for it. Which is exactly zero dollars.</p>
<p>I think I&#8217;m enjoying it because it&#8217;s so very simple, and yet there&#8217;s the promise of so much more if I want it (as if I&#8217;ll ever have the time). Even if I never peel away the outer layers of this game, I&#8217;ve already got more than my money&#8217;s worth out of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/gaming/neverwinter-initial-impressions/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thinking vs. Feeling</title>
		<link>http://www.dvicci.com/blog/thinking-vs-feeling</link>
		<comments>http://www.dvicci.com/blog/thinking-vs-feeling#comments</comments>
		<pubDate>Thu, 30 Aug 2012 13:55:05 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2804</guid>
		<description><![CDATA[Pardon a brief, but long brewing rant. Feeling does not equal thinking. You think ideas. You feel emotions. It irks me (admittedly far more than it probably should) when someone says, writes, or otherwise states the following, or any variation of “I feel that {idea} is&#8230;” No. No you don’t. You think {idea} is whatever <a href="http://www.dvicci.com/blog/thinking-vs-feeling#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>Pardon a brief, but long brewing rant.</p>
<p>Feeling does not equal thinking.</p>
<p>You <em>think</em> ideas.</p>
<p>You <em>feel</em> emotions.</p>
<p>It irks me (admittedly far more than it probably should) when someone says, writes, or otherwise states the following, or any variation of “I feel that {idea} is&#8230;”</p>
<p>No. No you don’t. You <strong>think</strong> {idea} is whatever you think it is. You <strong>feel</strong> {resultant emotion}.</p>
<p>I always want to ask &#8220;You feel WHAT that {idea} is&#8230;? Happy? Sad? Indifferent? What?! You tease me with promises of feelings, but then give only thoughts! I think you confuse thoughts and feelings, and I feel frustrated and anxious because of it!&#8221;</p>
<p>I read the case of Lorenzo Oliver &#038; his son being arrested for killing an opossum in their backyard (and the subsequent fallout), and the article contained the following phrase: “[assistant city attorney] said the city feels the officers have qualified immunity.”</p>
<p>Blowing right past the problems with police having qualified immunity, and skipping happily over the idea that an institution can independently think or feel anything at all, the city does not <strong>feel</strong> the idea that the officers have anything. The city <strong>thinks</strong> the officers have immunity. The city <strong>believes</strong> the officers have immunity. The city may <strong>feel</strong> confident in this thought, or conviction, or idea. Perhaps it even <strong>feels</strong> wounded or troubled that others wouldn’t come to the same conclusion (now now, poor city, it&#8217;ll be ok), but it doesn’t <strong>feel</strong> that idea. It <strong>thinks</strong> it.</p>
<p>I now conclude this ultimately pointless rant of the day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/thinking-vs-feeling/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Home Fitness Success: Start Slow and Build the Routine</title>
		<link>http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine</link>
		<comments>http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine#comments</comments>
		<pubDate>Fri, 17 Aug 2012 22:24:16 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Cycling]]></category>
		<category><![CDATA[Fitness]]></category>
		<category><![CDATA[Home Gym]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2670</guid>
		<description><![CDATA[I&#8217;m no stranger to the twists, turns, roots, and overall tricky nature of the highly technical single-track that is the Home Fitness Routine. I have had, and sold, two complete weight system contraptions designed for the home gym that ended up being very expensive coat racks. Now I&#8217;m giving it a go again, with the <a href="http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m no stranger to the twists, turns, roots, and overall tricky nature of the <a href="http://www.imba.com/resources/maps/trail-difficulty-ratings" title="Trail Difficulty Ratings and Signs">highly technical single-track</a> that is the Home Fitness Routine.  I have had, and sold, two complete weight system contraptions designed for the home gym that ended up being very expensive coat racks.</p>
<p>Now I&#8217;m giving it a go again, with the hope that by being older and more mature, I&#8217;ll also be more focused and likely to follow through.  I&#8217;m giving myself a better chance also, by building my routine slowly, one exercise at a time.</p>
<p>A few weeks ago I got things rolling and purchased a commercial spin bike I found via Craig&#8217;s List.</p>
<p><a href="http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine/attachment/img_33271" rel="attachment wp-att-2679"><img src="http://www.dvicci.com/wp-content/uploads/IMG_33271-300x225.jpg" alt="Vision ES600" title="Vision ES600" width="300" height="225" class="aligncenter size-medium wp-image-2679" /></a></p>
<p>I decided on spinning to avoid the blistering heat that has plagued us here in the midwest, and it&#8217;s a lot easier to jump on the spin bike than get geared up for the road bike.  Ease of use equals more likelihood to use.  I&#8217;ve also made the spinning more fun by making sure I have an engaging TV show on DVD to watch.  I like that format b/c it&#8217;s about the right length at 40-45 minutes, and it keeps me entertained through the workout.</p>
<p><a href="http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine/attachment/img_33301" rel="attachment wp-att-2680"><img src="http://www.dvicci.com/wp-content/uploads/IMG_33301-300x225.jpg" alt="TV on DVD while Spinning" title="TV on DVD while Spinning" width="300" height="225" class="aligncenter size-medium wp-image-2680" /></a></p>
<p>After two weeks, I&#8217;m doing well with the spinning, and by well, I mean I&#8217;ve used it nearly every day.  I think it&#8217;s safe to add a couple more exercises.  This past week I purchased a joist mounted pull up bar, some leg lift straps, and some push up straps.</p>
<p><a href="http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine/attachment/img_3334" rel="attachment wp-att-2698"><img src="http://www.dvicci.com/wp-content/uploads/IMG_3334-300x225.jpg" alt="Pull Up Bar Mounted to Basement Ceiling Joist" title="Joist Mounted Pull Up Bar" width="300" height="225" class="aligncenter size-medium wp-image-2698" /></a></p>
<p><a href="http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine/attachment/img_3337" rel="attachment wp-att-2697"><img src="http://www.dvicci.com/wp-content/uploads/IMG_3337-300x225.jpg" alt="Captain&#039;s Chair Straps for Leg Lifts" title="Captain&#039;s Chair Straps" width="300" height="225" class="aligncenter size-medium wp-image-2697" /></a></p>
<p>My intent is to help my weight loss and maintenance by building some additional muscle.  I&#8217;ve heard that&#8217;s a thing that works.</p>
<p>Some can jump right onto a double diamond and make it happen.  I&#8217;ve learned that I can&#8217;t do that.  To get the results I&#8217;m looking for requires a change in lifestyle and priorities, and I&#8217;ll fail if I try too much change all at once.  So I&#8217;m forcing myself to slow down, work through the easier levels first.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/home-fitness-success-start-slow-and-build-the-routine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You Geese Are Not Welcome Here!</title>
		<link>http://www.dvicci.com/blog/you-geese-are-not-welcome-here</link>
		<comments>http://www.dvicci.com/blog/you-geese-are-not-welcome-here#comments</comments>
		<pubDate>Tue, 14 Aug 2012 17:11:46 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Stupidity]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2682</guid>
		<description><![CDATA[This morning, for the better part of half an hour, a small ethic woman in high heels and a knee length skirt, carrying a large coffee in one hand and a cigarette in another, chased geese around the grassy strip between her business and mine. There were two groups (gaggles?) of geese: one on this <a href="http://www.dvicci.com/blog/you-geese-are-not-welcome-here#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>This morning, for the better part of half an hour, a small ethic woman in high heels and a knee length skirt, carrying a large coffee in one hand and a cigarette in another, chased geese around the grassy strip between her business and mine.</p>
<div id="attachment_2683" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.dvicci.com/blog/you-geese-are-not-welcome-here/attachment/geeselady" rel="attachment wp-att-2683"><img src="http://www.dvicci.com/wp-content/uploads/GeeseLady-300x223.png" alt="Innocuous Grassy Knoll Where Many Geese Perished" title="Innocuous Grassy Knoll Where Many Geese Perished" width="300" height="223" class="size-medium wp-image-2683" /></a><p class="wp-caption-text">Innocuous Grassy Knoll Where Many Geese Perished</p></div>
<p>There were two groups (gaggles?) of geese: one on this side of the tree, and one on the other side. She would chase the one group onto our parking lot, and the other would creep towards her lot. So she would run chase after the other group, and the first group would creep back in. And by run, I mean hobble ineffectively in high heels through grass and over uneven asphalt, hindered by her knee length skirt and goose rage. Repeat for nearly 30 minutes.</p>
<p>Eventually the geese gave up and calmly wandered off in a line and away from her. But she wasn&#8217;t convinced they were through&#8230; as she walked away, she kept glancing back to make sure they weren&#8217;t returning.</p>
<p>I&#8217;m honestly not sure what her problem was&#8230; they were just relaxing in the grass, nibbling here, napping there. But she was serious with the waving hands and the yelling. She was NOT about to let those geese enjoy that grass.</p>
<p>When I get a chance, I&#8217;ll upload the video I took. It&#8217;s mostly boring, but there are a couple of good moments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/you-geese-are-not-welcome-here/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8220;Dissatisfaction and discouragement are not caused by the absence of things but the absence of vision.&#8221; &#8211; Anonymous</title>
		<link>http://www.dvicci.com/blog/dissatisfaction-and-discouragement-are-not-caused-by-the-absence-of-things-but-the-absence-of-vision-anonymous</link>
		<comments>http://www.dvicci.com/blog/dissatisfaction-and-discouragement-are-not-caused-by-the-absence-of-things-but-the-absence-of-vision-anonymous#comments</comments>
		<pubDate>Tue, 22 May 2012 20:17:23 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Eye Care]]></category>
		<category><![CDATA[Health]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2518</guid>
		<description><![CDATA[I am so ready to be able to see again properly and without foggy lenses and blurry edges, yo. Two weeks ago, on Tuesday, May 8, I went in to have my eyes read and new contacts ordered. I was overdue both in terms of contact wear-n-tear, and prescription changes. Everything went well, and the <a href="http://www.dvicci.com/blog/dissatisfaction-and-discouragement-are-not-caused-by-the-absence-of-things-but-the-absence-of-vision-anonymous#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>I am so ready to be able to see again properly and without foggy lenses and blurry edges, yo.</p>
<p>Two weeks ago, on Tuesday, May 8, I went in to have my eyes read and new contacts ordered. I was overdue both in terms of contact wear-n-tear, and prescription changes. Everything went well, and the new contacts were ordered.</p>
<p>They arrived on Monday, May 14, but something just wasn&#8217;t right. The left eye was too strong, and the right eye was too weak.</p>
<p>I was able to make an appointment for Thursday, May 17 to have my eyes read again with the new contacts. My optometrist, slightly confused at how bad they really were, got the new numbers and ordered new contacts. I picked them up yesterday, May 21, and something still wasn&#8217;t right. This time, the left eye was too weak, and the right eye was too strong. Just the opposite of what they were before.</p>
<p>Fortunately, my optometrist was able to get me in as soon as today and we think we figured it out.</p>
<p>When the first pair arrived, (and this is the crucial part) the tech responsible for verifying that the contacts delivered matched the prescription ordered&#8230; didn&#8217;t. And guess what! The contacts didn&#8217;t quite match the prescription ordered! </p>
<blockquote><p><em>Aside:</em> Apparently, this is more or less normal to a slight degree. There will be some variance in the strength delivered vs. the strength ordered. It&#8217;s small enough that the eye can very easily compensate, but it&#8217;s there all the same. In this case, the variance was way off. I understood the difference to be something like correcting for 20/700 instead of 20/650 (she was talking dioptics and all manner of things that went in one ear and out the other). That&#8217;s a difference that the eye, or at least my eye, couldn&#8217;t compensate for. It was painful. I felt it in the back of my skull.</p>
<p>Oh, and yes, I&#8217;m quite near-sighted.</p>
<p>We were able target the moon with a manned missile in the 1960&#8242;s with nothing more than an abacus, a plumb bob, and a chalk line, but we can&#8217;t nail down prescriptions for contact lenses today. Does that seem right to you?</p></blockquote>
<p>So, when I went in complaining that they were wrong, my optometrist, assuming that the techs had done their job, corrected the prescription against the original correct prescription, rather than against the new incorrect contacts, resulting in an order that was twice incorrect. </p>
<p>When those lenses arrived yesterday (May 21, 2012), they also weren&#8217;t verified against the order. Not that it would have mattered. They could have matched the order down to an atomic level, and they would still be incorrect for my eyes, because they were ordered using incorrect information.</p>
<p>So today, when I went in complaining that, yet again, the lenses gave me headaches, my optometrist took a step back, thought about it (because she was just as confused as I was), and decided to get a read on the lenses herself (if you want something done right…). What she found, as I&#8217;ve already described, is that the first pair ordered was wrong, and that the second pair ordered were wrong again because they were based on the assumption that the first pair was correct.</p>
<p>Fortunately, the pairs were wrong in such a way as to allow the left lens from the first pair (too strong), and the right lens from the second pair (also too strong) to simply be corrected, rather than another brand new pair ordered. That way we eliminate the variable of curvature on the concave side. They sit on my eyes just fine, but the strength is off. That&#8217;s easily correctable. If they had to correct the concave side, they would have had to adjust the convex side as well to meet the prescription requirements. Too many variables. This way, they only have to buff out one side.</p>
<p>I hope.</p>
<p>I&#8217;ve been with this optometrist for nearly 8 years, and this is the first time I&#8217;ve had any difficulty getting a prescription right. That&#8217;s not bad, and to be clear, I&#8217;m not taking this as a reflection on her skillz, yo. Things happen. Next time, though, I assure you, this thing won&#8217;t happen again. I&#8217;ll be all like &#8220;Yo, you get that lens verificated all up in there right?!&#8221;</p>
<p>That&#8217;s exactly how I&#8217;ll be.</p>
<p>Just like that.</p>
<p>Count on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/dissatisfaction-and-discouragement-are-not-caused-by-the-absence-of-things-but-the-absence-of-vision-anonymous/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Device Ownership Verification</title>
		<link>http://www.dvicci.com/blog/mobile-device-ownership-verification</link>
		<comments>http://www.dvicci.com/blog/mobile-device-ownership-verification#comments</comments>
		<pubDate>Thu, 19 Apr 2012 02:38:42 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Computer Hardware]]></category>
		<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2495</guid>
		<description><![CDATA[Having recently been a participant in a ridiculously annoying and unfortunate set of easily avoidable circumstances involving my own smart phone, I&#8217;m of the mind to put together a little guide for use by those in possession of a lost phone and faced with someone claiming it&#8217;s theirs, as well as those seeking to reclaim <a href="http://www.dvicci.com/blog/mobile-device-ownership-verification#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>Having recently been a participant in a ridiculously annoying and unfortunate set of easily avoidable circumstances involving my own smart phone, I&#8217;m of the mind to put together a little guide for use by those in possession of a lost phone and faced with someone claiming it&#8217;s theirs, as well as those seeking to reclaim a phone from the person or business currently in possession of it.</p>
<p><strong>YOU ARE IN POSSESSION OF A DEVICE SOMEONE IS CLAIMING</strong></p>
<p>All of the following ideas assume that you are, in fact, of the mind to return the device.  If you&#8217;re just going to throw it away, or keep it for yourself, then naturally you can ignore this entire post.</p>
<p>Before any of the following steps are taken, ask that the claimant produce a photo ID, and make note of the name for your own records.  You might consider asking for additional contact information, such as an alternate phone number and/or email address.</p>
<p>Prior to showing the claimant the device, ask the claimant to describe the carrier, make, and model of the device.  Inspect the device for any tell-tale marks, scratches, or unique behaviors (loose keyboards, connections, buttons, etc.) that the device exhibits.  Ask the claimant to describe the device, and listen for any description that matches the unique characteristics you noted.  Do not volunteer any information about the device.</p>
<p>In each of the following situations, run through at least one of the verification options.  Performing all of them might be overkill, but performing none of them is irresponsible.</p>
<p><strong>The Phone Has Power and the Screen is Locked</strong></p>
<ul>
<li>Make the claimant call the phone from another phone.  This will, at the very least, prove knowledge of the phone, if not ownership.</li>
<li>Make the claimant unlock the phone prior to leaving with it.  This will prove a greater degree of knowledge of the phone and owner, if not ownership.</li>
<li>In the case of Androids and Blackberry&#8217;s, remove the battery and call the carrier.  Give them the IMEI and the name of the claimant to confirm the carrier records match the person claiming ownership. Original iPhones have the serial number and IMEI engraved on the back metal case.  For the iPhone 3G, iPhone 3GS, iPhone 4 (GSM model), and iPhone 4S, the SIM tray displays the IMEI number.</li>
</ul>
<p><strong>The Phone Has Power and is Unlocked</strong></p>
<ul>
<li>Make the claimant call the phone from another phone.</li>
<li>Make the claimant verify contents of the phone, such as contact names, pictures, home screen icons, installed applications, or any other unique aspect of the phone contents that prove intimate knowledge of the device.  This might appear to be a breach of privacy, but if privacy was a real concern on the part of the owner, it would not be allowed to remain unlocked beyond a very short idle period.</li>
<li>In the case of Androids and Blackberry&#8217;s, remove the battery and call the carrier.  Give them the IMEI and the name of the claimant to confirm the carrier records match the person claiming ownership. Older model iPhones do not provide physical access to this, but do provide this information on the About screen.  Original iPhones have the serial number and IMEI engraved on the back metal case.  For the iPhone 3G, iPhone 3GS, iPhone 4 (GSM model), and iPhone 4S, the SIM tray displays the IMEI number.</li>
</ul>
<p><strong>The Phone Does Not Have Power</strong></p>
<ul>
<li>If a charger is available, charge the device until such a time as it will boot, then proceed with one of the following methods:</li>
<ul>
<li>Make the claimant call the phone from another phone.</li>
<li>Make the claimant unlock the phone prior to leaving with it.</li>
<li>Make the claimant verify contents of the phone, such as contact names, pictures, home screen icons, installed applications, or any other unique aspect of the phone contents that prove intimate knowledge of the device.  This might appear to be a breach of privacy, but if privacy was a real concern on the part of the owner, it would not be allowed to boot into an unlocked state.</li>
</ul>
<li>In the case of Androids and Blackberry&#8217;s, remove the battery and call the carrier.  Give them the IMEI and the name of the claimant to confirm the carrier records match the person claiming ownership.  Original iPhones have the serial number and IMEI engraved on the back metal case.  For the iPhone 3G, iPhone 3GS, iPhone 4 (GSM model), and iPhone 4S, the SIM tray displays the IMEI number.</li>
</ul>
<p><strong>YOU ARE TRYING TO CLAIM A DEVICE</strong></p>
<p>If you have lost and are claiming a phone, then you should voluntarily offer the following methods to confirm the device is, in fact, yours, rather than someone else&#8217;s.  This could save you significant inconvenience and will certainly save the real owner significant inconvenience and concern.</p>
<ul>
<li>In all cases, inspect the physical condition of the phone, looking for any tell-tale marks, scratches, or unique behaviors (loose keyboards, connections, buttons, etc.) that you know your device exhibits.</li>
</ul>
<p><strong>The Phone Has Power, And the Screen is Locked</strong></p>
<ul>
<li>Unlock it.  Additionally, in the very unlikely case that you and another owner of the same make and model phone use the same unlock code or pattern, verify the contents of the phone as belonging to you.  If the phone has been tampered with, this will also give you the opportunity to identify any issues that might have arisen while it was out of your possession, and follow up with the individual or business who has had possession of the device.</li>
</ul>
<p><strong>The Phone Has Power, And is Unlocked</strong></p>
<ul>
<li>Confirm the contents of the phone are yours.  You know what&#8217;s on it.  Make sure it&#8217;s what you&#8217;re expecting.  This will also allow you to respond immediately if the phone has been tampered with.</li>
</ul>
<p><strong>The Phone Does Not Have Power</strong></p>
<ul>
<li>Either bring a charger, or have the person or business call the carrier to verify the IMEI matches what they have on record for your account.</li>
</ul>
<p><strong>You Send a Friend to Pick it Up</strong></p>
<ul>
<li>If you absolutely must send a friend to pick it up in your stead, provide them with enough identifying information as their trustworthiness allows, whether it be knowledge of the condition of the device, or knowledge of the unlock code or pattern and the contents of the device, so that they are able to answer any questions arising from the above methods and retrieve the correct device.</li>
</ul>
<p>The above methods, if followed intelligently, will at least provide reasonable assurance that the right device leaves with the right person.  No method is fool proof, and a truly determined thief will have done the research to be able to circumvent some of the methods described.  But at least you can say you have done what you can to ensure that the device is in the right hands, rather than just giving the device to the first person who walks through the door saying they left behind a black phone with a screen on it.</p>
<p>Consider this a living guide that I will update with any good suggestions left in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/mobile-device-ownership-verification/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2nd Cousins Twice Removed of Anarchy</title>
		<link>http://www.dvicci.com/blog/theres-some-irony-in-a-customer-coming-into-the-bank-to-execute-line-of-cr</link>
		<comments>http://www.dvicci.com/blog/theres-some-irony-in-a-customer-coming-into-the-bank-to-execute-line-of-cr#comments</comments>
		<pubDate>Thu, 27 Oct 2011 15:19:22 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?guid=7955994295c33eaab413faf61e42696d</guid>
		<description><![CDATA[There&#8217;s some irony in a customer coming into the bank to execute line of credit transfers from his business account&#8230; while wearing a Sons of Anarchy sweatshirt (Missouri chapter, for what it&#39;s worth).]]></description>
				<content:encoded><![CDATA[<p>There&#8217;s some irony in a customer coming into the bank to execute line of credit transfers from his business account&#8230; while wearing a <i>Sons of Anarchy</i> sweatshirt (Missouri chapter, for what it&#39;s worth). </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/theres-some-irony-in-a-customer-coming-into-the-bank-to-execute-line-of-cr/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Da plane! Da plane!!</title>
		<link>http://www.dvicci.com/blog/its-now-a-lot-quicker-if-also-a-lot-more-expensive-for-the-parents-to-co</link>
		<comments>http://www.dvicci.com/blog/its-now-a-lot-quicker-if-also-a-lot-more-expensive-for-the-parents-to-co#comments</comments>
		<pubDate>Mon, 17 Oct 2011 14:38:55 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?guid=c9dc789ce62525b76ba527949f6bc7d6</guid>
		<description><![CDATA[It&#8217;s now a lot quicker (if also a lot more expensive) for the parents to come visit us. This is their Comanche on the ground at home base, and then Mom and Dad getting ready to head back to home base from New Century Air Service&#8230; a mere four minutes from our front door.]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s now a lot quicker (if also a lot more expensive) for the parents to come visit us. This is their Comanche on the ground at home base, and then Mom and Dad getting ready to head back to home base from New Century Air Service&#8230; a mere four minutes from our front door.</p>
<p><img src="http://lh6.googleusercontent.com/-Xn3YkFxl7J8/Tpw9_Y00zcI/AAAAAAAAKzM/RTjF-_9w19U/w402/11+-+1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/its-now-a-lot-quicker-if-also-a-lot-more-expensive-for-the-parents-to-co/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Straight Pool &amp; Equal Offense Scoresheet/Spreadsheet Update</title>
		<link>http://www.dvicci.com/pool-and-billiards/straight-pool-equal-offense-scoresheetspreadsheet-update</link>
		<comments>http://www.dvicci.com/pool-and-billiards/straight-pool-equal-offense-scoresheetspreadsheet-update#comments</comments>
		<pubDate>Sun, 02 Oct 2011 14:25:19 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Pool and Billiards]]></category>
		<category><![CDATA[14:1 Continuous]]></category>
		<category><![CDATA[Billiards]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Pool]]></category>
		<category><![CDATA[Pool Tournaments]]></category>
		<category><![CDATA[Scoresheet]]></category>
		<category><![CDATA[Straight Pool]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2401</guid>
		<description><![CDATA[I&#8217;ve made some updates to the score sheets. I&#8217;ve uploaded all of them now to GoogleDocs for one. That&#8217;s the big change. Other small changes, currently exclusive to the GoogleDocs versions, are minor formatting changes, formulaic changes to rid the sheets of #DIV/0 errors, and the removal of some extraneous columns to help with formula <a href="http://www.dvicci.com/pool-and-billiards/straight-pool-equal-offense-scoresheetspreadsheet-update#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve made some updates to the score sheets.</p>
<p>I&#8217;ve uploaded all of them now to GoogleDocs for one.  That&#8217;s the big change.</p>
<p>Other small changes, currently exclusive to the GoogleDocs versions, are minor formatting changes, formulaic changes to rid the sheets of #DIV/0 errors, and the removal of some extraneous columns to help with formula drag filling.</p>
<p>Furthermore, I&#8217;ve shared all the GoogleDocs versions so they&#8217;re public for the finding, though I&#8217;ve retained exclusive editing rights.</p>
<p>As always, suggestions and tweaks, especially those that stem from trial-by-fire experience, are always welcome.</p>
<p><strong><a href="/pool-and-billiards/score-sheets">Straight Pool &#038; Equal Offense Scores and Stats Sheets</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/pool-and-billiards/straight-pool-equal-offense-scoresheetspreadsheet-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update to Malware Protecting Script</title>
		<link>http://www.dvicci.com/code/update-to-malware-protecting-script</link>
		<comments>http://www.dvicci.com/code/update-to-malware-protecting-script#comments</comments>
		<pubDate>Sat, 01 Oct 2011 19:36:32 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2385</guid>
		<description><![CDATA[In an attempt to be a little more friendly in terms of bandwidth to the strapped folk over at Malware Domains, I&#8217;ve retooled the script I wrote about in the post To Be Protecting Against the Malware. I&#8217;ve added some lines to take advantage of remote zipped files (.zip), which will help them by reducing <a href="http://www.dvicci.com/code/update-to-malware-protecting-script#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>In an attempt to be a little more friendly in terms of bandwidth to the strapped folk over at <a href="http://malwaredomains.com/">Malware Domains</a>, I&#8217;ve retooled the script I wrote about in the post <a href="/code/to-be-protecting-against-the-malware">To Be Protecting Against the Malware</a>.</p>
<p>I&#8217;ve added some lines to take advantage of remote zipped files (.zip), which will help them by reducing the number of bits we&#8217;re pulling from them.</p>
<p>I&#8217;ve added some lines to copy the downloaded malware zones file to other servers behind my firewall, which will help them by not making individual connections from each server to pull the files.  I just set up a cron job on each internal &#8220;slave&#8221; server to bounce named every morning timed for after this process is complete.</p>
<p>Here&#8217;s the updated code.  It is, as is my wont, rather verbose.  It is considerably more verbose than <a href="http://www.malwaredomains.com/wordpress/?p=2083">other examples</a> out there that take care of this same problem, but as I said, such is my wont.</p>
<p>Also, it&#8217;s relatively untested, and I expect to be tweaking it.  Use at your own risk.</p>
<p>On the &#8220;master&#8221; server, I&#8217;m using this&#8230;</p>
<pre class="brush: bash; title: zipped.malwaredomains; notranslate">
#!/usr/local/bin/bash

# To know where script is running
HOSTNAME=$( hostname )

# To put file where named can see it
BLACKHOLEDIR=/var/named/etc/namedb/blackhole

# To name file so we know what named seeing
TMPZONEFILE=tmp.malwaredomains.zones
ZONEFILE=malwaredomains.zones
ZONEFILEBACKUP=malwaredomains.zones.bak

# To get updated file from remote server
URLGRABBER=/usr/local/bin/curl
USERAGENT=&quot;Malware Domain Grabber ( ${HOSTNAME}; unix; BASH )/0.1&quot;

# To keep quiet while am getting file
URLGRABBEROPTS=&quot;-s -f&quot;

# To know where file is hosted
URLS=( http://mirror3.malwaredomains.com/files )
TIMESTAMPFILE=timestamp

# To know how to decompress the file
UNZIPCMD=/usr/local/bin/unzip
UNZIPOPTS=&quot;-o -qq&quot;

# To copy files to other servers so that we are only
# pulling the files once, though we have multiple
# DNS servers in house

HOSTS=( host1 host2 host3 host4 )

# MOUNTCMD: The mount command
MOUNTCMD=/sbin/mount
UMOUNTCMD=/sbin/umount

# FSTYPE: The filesystem type of the mounted partition
FSTYPE=nfs

# MOUNTDIR: The directory that the dumps will be written to
MOUNTDIR=/mnt

# To control bind
NAMEDCMD=&quot;/usr/sbin/rndc reload&quot;

#==============================================================

# Get start time so we can know how long this thing runs
START=$( date +%s )

# Make our working directory the location of the blackhole files
cd ${BLACKHOLEDIR}

# Copy the current timestamp file to ${TIMESTAMPFILE}.old so we can
# make a comparison between what we have and what's out there now.
if [ -f ${BLACKHOLEDIR}/${TIMESTAMPFILE} ]; then
	cp ${BLACKHOLEDIR}/${TIMESTAMPFILE} ${BLACKHOLEDIR}/${TIMESTAMPFILE}.old
fi

# Attempt to download the timestamp file and zone file from each mirror.
# Break out of the loop at the first successful download of a zone file,
# otherwise, try each one in turn

# Assume there are no updates available
NEW=0

for URL in &quot;${URLS[@]}&quot;; do
	echo &quot;Attempting to download from ${URL}&quot;
	echo &quot; Checking timestamps...&quot;
	${URLGRABBER} ${URLGRABBEROPTS} -A '${USERAGENT}' -o ${BLACKHOLEDIR}/${TIMESTAMPFILE}.zip ${URL}/${TIMESTAMPFILE}.zip

	if [ $? -ne 0 ]; then
	echo &quot;  ... timestamp download from ${URL} failed! Code: $?&quot;
	# Move on to next URL so we keep the timestamp/zonefile pair intact
	continue
	else
	if [ -f ${BLACKHOLEDIR}/${TIMESTAMPFILE} ]; then
		# Unzip the new timestamp file over the old old one
		${UNZIPCMD} ${UNZIPOPTS} ${BLACKHOLEDIR}/${TIMESTAMPFILE}.zip

		# Do a little cleanup
		rm -f ${BLACKHOLEDIR}/${TIMESTAMPFILE}.zip

		OLDTIMESTAMP=$( cat ${BLACKHOLEDIR}/${TIMESTAMPFILE}.old )
		NEWTIMESTAMP=$( cat ${BLACKHOLEDIR}/${TIMESTAMPFILE} )

		if [ ${OLDTIMESTAMP} -ge ${NEWTIMESTAMP} ]; then
			echo &quot; ... no new updates.&quot;
			# No new updates on this server... but how well are the various mirrors
			# kept in sync?  Let's try the others. This is a tiny transfer, and it's
			# only once a day, so it's pretty cheap.
			continue
		fi
	else
		# Timestamp file does not exist. Create it.
		${UNZIPCMD} ${UNZIPOPTS} ${BLACKHOLEDIR}/${TIMESTAMPFILE}.zip
		rm ${BLACKHOLEDIR}/${TIMESTAMPFILE}.zip
	fi
	fi

	# Backup and copy file to final location for named to find
	# (via &quot;include&quot; directory in named.conf)
	echo &quot;Backing up zone file&quot;
	cp ${BLACKHOLEDIR}/${ZONEFILE} ${BLACKHOLEDIR}/${ZONEFILEBACKUP}

	echo &quot;Retrieving new zone file from ${URL}...&quot;
	${URLGRABBER} ${URLGRABBEROPTS} -o ${BLACKHOLEDIR}/${ZONEFILE}.zip ${URL}/${ZONEFILE}.zip

	if [ $? -ne 0 ]; then
		echo &quot;  ... zonefile download from ${URL} failed!  Code: $?&quot;
		# Oops.  Try the next server.  If this is the last, then ${NEW} is still
		# set to 0, and we'll be done. Better luck tomorrow...
		continue
	else
		# We have a new timestamp, and were able to download the zone file from
		# the same server we downloaded the timestamp from.  Set ${NEW} to 1 and
		# get out of the loop. No need to check further.

		echo &quot;Unzipping new zone file...&quot;
		if [ -f ${ZONEFILE}.zip ]; then
			${UNZIPCMD} ${UNZIPOPTS} ${BLACKHOLEDIR}/${ZONEFILE}.zip
			rm ${ZONEFILE}.zip
			# Rename the zone file temporarily to allow sed to work on it later, and
			# and in that process, rename it back to the name that named knows.
			mv ${ZONEFILE} ${TMPZONEFILE}
		else
			echo &quot;No new zone file...&quot;
			exit
		fi

		NEW=1
		break
	fi
done

# If ${NEW} hasn't been set, then we either error'd out of all servers, or there are no
# new files. Either way, we're done.
if [ ${NEW} == 0 ]; then
	exit 1
else
	# Disable name checking for only those domains with underscores,
	# so we don't have to turn off name checking globally.

	SEARCH='_'
	FIND='blockeddomain.hosts&quot;;};'
	REPLACE='blockeddomain.hosts&quot;; check-names ignore;};'

	# Get a count of the zones from the last update
	OLDZONECOUNT=$( cat ${BLACKHOLEDIR}/${ZONEFILEBACKUP}|grep &quot;^zone&quot;|wc -l )

	echo &quot;Disabling checking on domains with underscores&quot;
	sed &quot;/${SEARCH}/ s/${FIND}/${REPLACE}/g&quot; ${BLACKHOLEDIR}/${TMPZONEFILE} &gt; ${BLACKHOLEDIR}/${ZONEFILE}
	rm -f ${BLACKHOLEDIR}/${TMPZONEFILE}
	
	# Get a count of the zones from the current update
	NEWZONECOUNT=$( cat ${BLACKHOLEDIR}/${ZONEFILE}|grep &quot;^zone&quot;|wc -l )
	echo &quot;${OLDZONECOUNT} Previous Zones&quot;
	echo &quot;${NEWZONECOUNT} Current Zones&quot;

	echo &quot;Reloading named&quot;
	${NAMEDCMD}

	if [ $? -ne 0 ]; then
		echo &quot;  ... failed! Restoring zone file&quot;
		cp ${BLACKHOLEDIR}/${ZONEFILEBACKUP} ${BLACKHOLEDIR}/${ZONEFILE}

		echo &quot;Reloading old zones in named&quot;
		${NAMEDCMD}

		if [ $? -ne 0 ]; then
			echo &quot;  ... failed again!! You'll want to see to that.&quot;
		fi
	fi

	echo &quot;Copying files to other internal network servers...&quot;

	for HOST in &quot;${HOSTS[@]}&quot;; do
	DUMPDEVICE=${HOST}:${BLACKHOLEDIR}
	MOUNTRESULTS=$( ${MOUNTCMD} | grep &quot;${DUMPDEVICE} on ${MOUNTDIR}&quot; )

	if [ &quot;${MOUNTRESULTS}&quot; == &quot;&quot; ]; then
		echo &quot;&quot;
		echo &quot;Mounting ${DUMPDEVICE} on ${MOUNTDIR}&quot;
		${MOUNTCMD} -t ${FSTYPE} ${DUMPDEVICE} ${MOUNTDIR}
		if [ $? = 1 ]; then
			echo &quot; ... failed. Files will not be copied.&quot;
			continue
		else
			echo &quot; ... succeeded&quot;
		fi
	else
		echo &quot;${HOSTNAME}:${DUMPDEVICE} already mounted on ${MOUNTDIR}&quot;
	fi

	# Copy the files to ${MOUNTDIR} as a temporary file. On the remote server,
	# we'll manage bouncing named if necessary.
	echo &quot;&quot;
	echo &quot;Copying ${BLACKHOLEDIR}/${ZONEFILE} to ${TMPZONEFILE}&quot;
	cp ${BLACKHOLEDIR}/${ZONEFILE} ${MOUNTDIR}/${TMPZONEFILE}
	if [ $? = 1 ]; then
		echo &quot;... Failed to copy ${ZONEFILE}! You might want to see to that.&quot;
	fi
	# Umount the backup filesystem
	echo &quot;&quot;
	echo &quot;Unmounting ${MOUNTDIR}&quot;
	${UMOUNTCMD} ${MOUNTDIR}
	if [ $? = 1 ]; then
		echo &quot; ... failed. You might want to see to that.&quot;
	else
		echo &quot; ... succeeded&quot;
	fi
	done

	END=$( date +%s )
	RUNTIME=$(( ${END} - ${START} ))
	H=$(( ${RUNTIME}/3600 ))
	M=$(( ( ${RUNTIME}/60 ) % 60 ))
	S=$(( ${RUNTIME} % 60 ))

	echo &quot;Malware zonefile download on ${HOSTNAME} complete in&quot;
	echo &quot;${H} hrs, ${M} mins and ${S} secs (${RUNTIME} secs)&quot;

	exit
fi
</pre>
<p>On the &#8220;slave&#8221; servers, I&#8217;m using this&#8230;</p>
<pre class="brush: bash; title: zipped.malwaredomains; notranslate">
#!/usr/local/bin/bash

# To put file where named can see it
BLACKHOLEDIR=/var/named/etc/namedb/blackhole
ZONEFILE=malwaredomains.zones
TMPZONEFILE=tmp.malwaredomains.zones

# To control bind
NAMEDCMD=&quot;/usr/sbin/rndc reload&quot;

if [ -f ${BLACKHOLEDIR}/${TMPZONEFILE} ]; then
	echo &quot;New zone file exists...&quot;
	# Rename the zone file to back it up
	echo &quot;Backing up current zone file.&quot;
	mv ${BLACKHOLEDIR}/${ZONEFILE} ${BLACKHOLEDIR}/${ZONEFILEBACKUP}
	# Rename the tmp file to the name the daemon can find
	echo &quot;Replacing it with the new zone file and removing the temp file.&quot;
	mv ${BLACKHOLEDIR}/${TMPZONEFILE} ${BLACKHOLEDIR}/${ZONEFILE}

	# Reload named.
	${NAMEDCMD}

	if [ $? -ne 0 ]; then
		echo &quot;    ... failed! Restoring zone file&quot;
		cp ${BLACKHOLEDIR}/${ZONEFILEBACKUP} ${BLACKHOLEDIR}/${ZONEFILE}

		echo &quot;Reloading old zones in named&quot;
		${NAMEDCMD}

		if [ $? -ne 0 ]; then
				echo &quot;    ... failed again!! You'll want to see to that.&quot;
		fi
	fi
else
	echo &quot;No update.  Quitting...&quot;
fi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/code/update-to-malware-protecting-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving the Home Network</title>
		<link>http://www.dvicci.com/computers/moving-the-home-network</link>
		<comments>http://www.dvicci.com/computers/moving-the-home-network#comments</comments>
		<pubDate>Fri, 03 Jun 2011 18:45:57 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Computer Hardware]]></category>
		<category><![CDATA[Computer Problems]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2358</guid>
		<description><![CDATA[Even simple changes can introduce nigh inscrutable problems.]]></description>
				<content:encoded><![CDATA[<p>Part of the packing, cleaning and moving marathon of the last week, which is to continue through the coming weekend, was the move of the family computers and servers.  This meant the following very simple steps:</p>
<ul>
<li>the set up of the internet connection at the new place,
<li>changing DNS upstream to point to the new IP,
<li>shutting down and physically moving the servers,
<li>physically reconnecting them,
<li>connecting the wireless router to the new cable router,
<li>configuring the new cable router to account for the wireless router,
<li>configuring the external IP on the wireless router,
<li>firing up the servers,
<li>enjoy fun website availability and internal DNS goodness.
</ul>
<p>Every step went well and easy, all the way up until that last step.</p>
<p>Though all the laptops in the house connected just fine to the Comcast cable modem/router, the two FreeBSD servers simply would not.  From a logical network topology standpoint, <em>nothing had changed</em>.  None of the IP addresses, including the gateway and the subnet, had changed.  As far as the server interfaces were concerned, they&#8217;d just been turned off and turned back on.  Let me emphasize that &#8211; from a logical network topology standpoint, <em> nothing had changed</em>.</p>
<p>I had it set up like so:</p>
<p>Net -> Comcast Router -> Servers &amp; Laptops.</p>
<p>But they weren&#8217;t working.  One worked briefly, but then quit.  The other never would work.</p>
<p>If the cat5 cable (<strong>any</strong> cat5 cable) was plugged in, a ping to the (same as before) gateway would result in &#8220;sendto: Host is down&#8221;.  If the cable wasn&#8217;t plugged in, I&#8217;d get a &#8220;sendto: No route to host&#8221;.  Clearly there was <em>some</em> awareness going on, and the NIC was functioning at some level, because pinging the assigned IP, localhost, or 127.0.0.1 would all return successful.  I couldn&#8217;t get any response from the gateway, however, and no other working machines could get responses from the servers.  It was weird.</p>
<p>So, I got on the phone with Comcast to ask them about any incompatibilities with the router and FreeBSD.  I got some good information about my usable external public IP (unrelated to the problem at hand), and some completely bogus information about having to use static IPs within the DHCP scope on their router (yeah but&#8230; what?!).  The first level tech support wanted to help, but he just didn&#8217;t have the expertise, and so he escalated me to the next level (who is well past their 48 hour self-imposed deadline at the time of this writing).  I decided to change things up a bit.</p>
<p>I went to this setup:</p>
<p>Net-> Comcast Router -> Wireless Router -> Servers &#038; Laptops.</p>
<p>Note that this is <em>exactly</em> the same as I had at my old house, with the substitution of the Comcast Router for the Surewest cable modem.  Everything from the wireless router on back is identical.</p>
<p>You know what?  The laptops all worked (I love knowing even rudimentary networking), but the servers <strong>still</strong> didn&#8217;t work.  Having eliminated the router, cables and network configs, the fact that it doesn&#8217;t work anymore with the exact same setup as was at the other house tells me it&#8217;s a another type of hardware problem.</p>
<p>So I yanked the gigabit NICs right out of the servers and went back to the on-board 100baseTX ports and&#8230; get this &#8211; it worked just fine.</p>
<p>What I&#8217;m concluding is that the D-Link GigaExpress DGE-530T card doesn&#8217;t work well with the BIOSTAR N68S3+ and the Diablotek EL Series PSEL400 400W ATX PSU.  I base that conclusion in part b/c, in addition to flat out not working anymore, there are times when the machines won&#8217;t power on when the DGE-530T is installed without some creative combinations of the case power button and the PSU switch.  When those cards aren&#8217;t installed, there are no issues.  What, I didn&#8217;t mention that before?  My bad.</p>
<p>Given that when I put these servers together, I did so with as little cash outlay as possible.  I&#8217;m thinking I&#8217;ve been bit by the &#8220;get what you pay for&#8221; principle.  In time, I&#8217;ll beef them up a bit with better components.  But for now, I&#8217;m just happy to be back online enjoying fun website availability and internal DNS goodness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/computers/moving-the-home-network/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Homes are Heavy</title>
		<link>http://www.dvicci.com/blog/new-homes-are-heavy</link>
		<comments>http://www.dvicci.com/blog/new-homes-are-heavy#comments</comments>
		<pubDate>Fri, 03 Jun 2011 12:45:40 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Friends]]></category>
		<category><![CDATA[Home Improvement]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2354</guid>
		<description><![CDATA[The wife and I have been very busy lately. It&#8217;s not yet over, but this past weekend was perhaps the busiest, not to mention heaviest, part of the process. That process is moving. The whole thing started last spring, when we put our two houses on the market. This past spring, a year later almost <a href="http://www.dvicci.com/blog/new-homes-are-heavy#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>The wife and I have been very busy lately.  It&#8217;s not yet over, but this past weekend was perhaps the busiest, not to mention heaviest, part of the process.  That process is moving.</p>
<p>The whole thing started last spring, when we put our two houses on the market.  This past spring, a year later almost to the day, her house <strong>finally</strong> sold and we had the wherewithal to purchase a new house.  We packed her house into two POD units and moved them into storage until we had a place to put them.  At the same time, we took mine off the market because it hadn&#8217;t sold yet, and we didn&#8217;t want to take the chance of it selling and us having no place to go.  Turns out it wasn&#8217;t a concern, because we found the house we wanted to buy within days.</p>
<p>We made an offer, they countered, we met in the middle, and two long months later, we took possession.  When that day finally arrived, we couldn&#8217;t move in immediately because we had too many other family obligations (Jami&#8217;s sister graduated with her doctorate!  We couldn&#8217;t miss that graduation day&#8230;).  So, exactly one week after we took possession, I had the two full-to-the-roof POD units filled with more boxes and heavy furniture than any one person has any business owning, delivered for unloading at the new house.  With the help of some very friendly neighbors, we started unloading them that night.  We continued unloading the next night, and did so until we dropped.  We spent our first night in our new home that night.  Fortunately, the bed was easily accessible in the POD unit, so we didn&#8217;t have to sleep on the floor.  By the time we were done, though, it wouldn&#8217;t have mattered where we slept&#8230; we were too tired to care.  Finally, on Saturday, some friends came over to help unload the rest.</p>
<p>By Saturday night, we were absolutely beat.  Unfortunately, our work was not yet done.  We spent Sunday at the old house, packing up, mowing the yard, and cleaning.  Then we devoted that evening at the new home unpacking, straightening up and getting all the computers back online.</p>
<p>Being Memorial Day weekend, we had an extra day which was spent back at the old house for more packing (about 500lbs worth of books &#8211; plus lots of this and that) and lots of cleaning.  Monday night was given to more unpacking, more cleaning, and more organizing.  We did give ourselves a bit of a break for a glass of wine on the front porch before getting back to it.</p>
<p>At the end of the weekend, between the two of us and some very helpful friends and neighbors, we have a pretty good start on a new home.</p>
<p>But our work is not yet done.  The POD units were still in the driveway as of Wednesday, to be picked up on Thursday and Friday.  Saturday we&#8217;ll get a truck to move the rest of the heavy stuff out of my house.  Until then, we&#8217;ll spend a lot of time at the old house getting as much packed and moved as possible so that the friends who are helping on Saturday only have to help us with the heavy items we can&#8217;t move by ourselves.  From there, it&#8217;s a matter of final cleaning and finishing up a few little details here and thereto get it in tip-top shape to put back on the market.  We&#8217;re hoping to sell it within the next 2 and a half months.  We&#8217;ll see&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/blog/new-homes-are-heavy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back to the Gate</title>
		<link>http://www.dvicci.com/gaming/back-to-the-gate</link>
		<comments>http://www.dvicci.com/gaming/back-to-the-gate#comments</comments>
		<pubDate>Wed, 25 May 2011 00:57:12 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Computer Gaming]]></category>
		<category><![CDATA[Role Playing Games]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2350</guid>
		<description><![CDATA[So, I started playing Baldur&#8217;s Gate recently. I never finished it back in the day (though I got close), and barely took advantage of the Tales of the Sword Coast expansion. For some reason, with everything going on in our lives right now, and in spite of the fact that I&#8217;m arguably busier now than <a href="http://www.dvicci.com/gaming/back-to-the-gate#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>So, I started playing <a href="http://en.wikipedia.org/wiki/Baldur's_Gate">Baldur&#8217;s Gate</a> recently.  I never finished it back in the day (though I got close), and barely took advantage of the <a href="http://en.wikipedia.org/wiki/Baldur%27s_Gate:_Tales_of_the_Sword_Coast">Tales of the Sword Coast</a> expansion.  For some reason, with everything going on in our lives right now, and in spite of the fact that I&#8217;m arguably busier now than I&#8217;ve been since Finals Week in college, I just couldn&#8217;t help running through 5 CDs worth of installation and launching some relatively old school gaming (I consider <a href="http://en.wikipedia.org/wiki/Atari_2600">Atari 2600</a> and the <a href="http://en.wikipedia.org/wiki/Ultima_(series)#The_Age_of_Darkness:_Ultima_I-III">Age of Darkness</a> and the <a href="http://en.wikipedia.org/wiki/Ultima_(series)#The_Age_of_Enlightenment:_Ultima_IV_-_VI">Age of Enlightenment</a> truly Old School &#8211; and even that&#8217;s too new for some).</p>
<p>It runs a little fast on my m9700, but not too fast to play.  The dialog runs together now and again when there is a lengthy challenge/response conversation playing out, but other than that, I&#8217;ve noticed no ill effects of the slightly accelerated rate.</p>
<p>I tried using the <a href="http:// www.gibberlings3.net/widescreen/">G3: Widescreen Mod</a> in order to enjoy larger resolutions, but found that I had issues with mouse scrolling around the area at 16:9 resolutions that were less than the native resolution of my monitor (1920 x 1080).  Because of the time consuming way the mod is applied, I didn&#8217;t try too many resolution options.  I also noticed some frame rate issues at the native resolution in spite of the age of the engine (or perhaps, because of it).  So I decided to stick with playing it the way it was originally released and patched.  I&#8217;m not playing for the graphics, after all, but the experience.</p>
<p>I&#8217;ve heard rumors that it&#8217;s possible to convert BGI to the BGII engine, though.  I might look into that.  Graphics aren&#8217;t everything, but the BGII engine is so much nicer&#8230;</p>
<p>I probably won&#8217;t have much time in the next couple of months to do more than tinker with it here and there, but after we&#8217;re settled in to the new house, and some of my other responsibilities are managed (not the least of which is a FreeBSD build that&#8217;s proving difficult due to a troublesome inability to detect the hard drives once in sysinstall), I&#8217;ll be able to devote a little more time to it.  I may even dive back into <a href="http://en.wikipedia.org/wiki/Baldur%27s_Gate_II:_Shadows_of_Amn">Baldur&#8217;s Gate II</a>, and the <a href="http://en.wikipedia.org/wiki/Icewind_Dale_(series)">Icewind Dale</a> series.</p>
<p>I wonder how it&#8217;ll run on the X79 LGA2011 based machine I plan on building towards the end of the year.  If it runs fast on a 6 year old laptop&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/gaming/back-to-the-gate/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiscoverCard.com &amp; Password Length Restrictions</title>
		<link>http://www.dvicci.com/computers/discovercard-com-password-length-restrictions</link>
		<comments>http://www.dvicci.com/computers/discovercard-com-password-length-restrictions#comments</comments>
		<pubDate>Thu, 05 May 2011 22:35:00 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2330</guid>
		<description><![CDATA[Wherein I ask DiscoverCard why, of all times now, I can't use more than 11 characters in my password to access my discovercard account.]]></description>
				<content:encoded><![CDATA[<p>With all the major breaches in the news lately (RSA, Gawker, PSN, Lastpass, MySQL, Texas Comptroller, etc. &#8211; hit the googles with you!), I finally got <a href="http://m.lifehacker.com/5795651/look-at-anger-as-an-opportunity-for-more-effective-complaining">angry</a> enough to ask a question of DiscoverCard that has been sitting on the back burner for too long.  It&#8217;s about what I consider to be absurd password length restrictions on their site, and what that might say about how they&#8217;re storing those passwords on the back end.</p>
<p>Let&#8217;s clear one thing up:  On principle, I believe I should be able to use whatever password I want.  If I want to use &#8220;abc123&#8243;, or &#8220;puppy1&#8243;, or &#8220;;a3Wfzu0J|rqVHj%l]x6PZdQHqhpK39vx5?|fSb9NmFdq&#8221;, I should be able to.  I should have the right to be as smart, stupid, paranoid or legitimately cautious as I want (here&#8217;s the thing) <em>so long as my choice doesn&#8217;t affect others using the same system.</em>  I&#8217;m not the only one to <a href="http://en.wikipedia.org/wiki/Wiccan_Rede">think along those lines</a>.</p>
<p>Principles aside, I don&#8217;t have a practical problem with complexity enforcement.  I understand that repositories of critical and/or sensitive data and services have a need to shore things up a bit with more complex passwords.  That doesn&#8217;t stop me from thinking there are design issues at hand if my weak web password can compromise someone else&#8217;s data.  I also can&#8217;t help but think the whole mess is, at least in part, driven by a disgusting, ludicrously naive and juvenile <em>expectation</em> that &#8220;everything will always be ok, and I&#8217;m entitled to it.  It&#8217;s my right! So there!&#8221; and all the litigation that goes along with that childish attitude.</p>
<p>That all said, it&#8217;s one thing to require password complexity, it&#8217;s another entirely to <em>not allow it past X characters</em>.  It raises some questions&#8230;</p>
<p>So I asked DiscoverCard about it: (May 05, 02011 09:41 AM)</p>
<blockquote><p>Can you please explain to me the exact method by which discovercard.com website logon passwords are stored? The length limit greatly concerns me. With the major breaches of late (PSN, Sony, Lastpass, MySQL, Gawker, etc.) it is critical that passwords be stored securely, with adequate encryption, or at the very least, salted hashing. Thank you.</p></blockquote>
<p>Admittedly not the best in terms of wording and stated concerns.  But there you have it.  I can&#8217;t help but believe DiscoverCard, of all places, is using top-notch methods for storing passwords, but you just never know, do you?</p>
<p>DiscoverCard&#8217;s first reply: (May 05, 02011 10:46 AM)</p>
<blockquote><p>Thank you for your recent message. I understand your concern about online security, and I will be happy to assist you today!</p>
<p>Our emphasis on privacy provisions and improved Internet security has made using our website safer than ever. We use the Secure Socket Layer (SSL) protocol for encrypting communications with our Cardmembers. SSL uses public-key cryptography to scramble the information sent between senders and receivers. In the unlikely event that third parties try to eavesdrop or intercept this message, SSL encryption prevents them from viewing its contents.</p>
<p>We also have Superior Fraud Protection, which means that when you use your Discover Card to shop anywhere on the Internet, you will not be liable for any unauthorized transactions. For more information about our security, please see the following page:</p>
<p>http://www.discovercard.com/customer-service/safety/site-security.html</p>
<p>I appreciate your business and the opportunity to be of service. Thank you for choosing to use Discover Card.<br />
[signature and legalese removed]</p></blockquote>
<p>Awesome, but no, that&#8217;s not what I asked. So, I completed a survey indicating as much and replied&#8230; (May 05, 2011 11:06 AM)</p>
<blockquote><p>Thank you for the prompt reply. I appreciate the information on SSL, however, that doesn&#8217;t answer the question I asked. I asked about password storage (at-rest), not information on the wire (in-transit). My question is restated here for your convenience&#8230; </p>
<p>&#8220;Can you please explain to me the exact method by which discovercard.com website logon passwords are stored? The length limit greatly concerns me. With the major breaches of late (PSN, Sony, Lastpass, MySQL, Gawker, etc.), it is critical that passwords be stored securely, with adequate encryption, or at the very least, salted hashing. Thank you.&#8221;</p></blockquote>
<p>To which they replied&#8230; (05/05/2011 12:06 PM)</p>
<blockquote><p>Thank you for your recent inquiry. In an effort to provide you the best service possible, I have escalated this issue to the appropriate parties in our company for further assistance. We will respond as soon as we have any additional information concerning this matter. Thank you for your patience.</p>
<p>I appreciate your business and the opportunity to be of service. Thank you for choosing to use Discover Card.<br />
[signature and legalese removed]</p></blockquote>
<p>I don&#8217;t expect another reply anytime soon&#8230; but I&#8217;ll let you know if I do get one, either in the comments, or as a new post depending on the reply.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/computers/discovercard-com-password-length-restrictions/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To Be Protecting Against The Malware</title>
		<link>http://www.dvicci.com/code/to-be-protecting-against-the-malware</link>
		<comments>http://www.dvicci.com/code/to-be-protecting-against-the-malware#comments</comments>
		<pubDate>Tue, 03 May 2011 22:08:19 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2302</guid>
		<description><![CDATA[[UPDATE] Please see this post for an update that pulls down the zipped file to save on malwaredomains.com bandwidth. Now, on to our original post if you want to see it anyway&#8230; Last night, my wife called me into the office with an alarming &#8220;It says it&#8217;s infected with malware!&#8221; Needless to say (and yet <a href="http://www.dvicci.com/code/to-be-protecting-against-the-malware#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p><em><strong>[UPDATE]</strong> Please see <a href="http://www.dvicci.com/code/update-to-malware-protecting-script">this post</a> for an update that pulls down the zipped file to save on malwaredomains.com bandwidth.</p>
<p>Now, on to our original post if you want to see it anyway&#8230;</em></p>
<p>Last night, my wife called me into the office with an alarming &#8220;It says it&#8217;s infected with malware!&#8221;  Needless to say (and yet I&#8217;m going to say it anyway) I hurried into the room to see what the hullabaloo was all about.</p>
<p>Sure enough, there was a window exclaiming the existence of not one or two, but quite a few malware infections.</p>
<p>It fooled her, and damn if that stupid pop-up didn&#8217;t nearly fool me too! Truth be told, it did, if only for a second.  Those malware serving fake malware pop-up warnings are clever.</p>
<p>It got me to thinking.</p>
<p>Then Osama bin Laden was shot in the head, and malware peddlers started <a href="http://www.computerworld.com/s/article/9216382/Hackers_step_up_gam e_spread_malware_using_Bin_Laden_bait">leveraging</a> our insatiable appetite for news about it (the sick bastards).</p>
<p>That got me thinking more.</p>
<p>It reminded me of the <a href="http://www.google.com/search?&#038;q=japan+earthquake+malware">malware peddlers that took advantage of the quake</a> in Japan recently.  Now <em>those</em> are some <em>seriously</em> sick bastards.</p>
<p>Those events all in quick succession and all that thinking led me to this.</p>
<p>A little ditty that downloads the <a href="http://www.malwaredomains.com/files/spywaredomains.zones">bind formatted zone file</a> from <a href="http://malwaredomains.com/">MalwareDomains.com</a>, moves it to where Named can see it, and reloads Named zone files if the download is complete.  I&#8217;d verify the file if they provided an md5 of the zones file.  But they don&#8217;t.  Not that I could find, anyway.</p>
<p>I don&#8217;t even begin to hope to eliminate the risk of malware <em>infected sites</em>, but I think this is a positive step towards cutting off malware <em>source</em> domains which might, in turn, help against sites on legitimate domains that happen to be infected.  As of today, May 3rd, 2011, there are nearly 10,000 domains in the latest file.  That has to be nearly all of them.</p>
<p>Right?</p>
<p>I&#8217;ll try it out for a while and see what happens.</p>
<p>BTW, this only works if you&#8217;re running your own DNS.  If not, you&#8217;re at the mercy of your ISP or whatever DNS you choose to use.  There are plenty of options out there, and they&#8217;re not all horrible.</p>
<p>First, the script, which pulls down the latest malware domains zones file from <a href="http://malwaredomains.com">malwaredomains.com</a>, fixes some problems with underscores in the subdomains, copies the fixed zones file to the named chroot, and reloads the named configs.</p>
<pre class="brush: bash; title: malwaredomains.sh; notranslate">
#!/usr/local/bin/bash

# To know where script is running
HOSTNAME=$( hostname )

# To put file where named can see it
NAMEDDIR=/var/named/etc/namedb

# To name file so we know what named seeing
ZONEFILE=malwaredomains.zones

# To have a file for sed to work on
TMPZONEFILE=tmp.malwaredomains.zones

# To get updated file from remote server
URLGRABBER=/usr/local/bin/curl

# To keep quiet while am getting file
URLGRABBEROPTS=&quot;-s -S&quot;

# To know where file is hosted
#URL=http://www.malwaredomains.com/files/spywaredomains.zones
URL=http://mirror1.malwaredomains.com/files/malwaredomains.zones

# To control bind
NAMEDCMD=&quot;/usr/sbin/rndc reload&quot;

#==============================================================

# Get start time so we can know how long
START=$( date +%s )

# Get directory we're running from
SCRIPTDIR=$( dirname $0 )

cd ${SCRIPTDIR}
if [ $? -ne 0 ]; then
    echo &quot;ERROR: Unable to cd to ${SCRIPTDIR}! AbOrTinG!!&quot;
    exit 1
fi

# If we were executed like &quot;./whatever.sh&quot; - set SCRIPTDIR to the pwd
if [ &quot;${SCRIPTDIR}&quot; == &quot;.&quot; ]; then
    SCRIPTDIR=$( pwd )
fi

echo &quot;Script is running from ${SCRIPTDIR}&quot;

# Download the zones file in bind format to a temporary location.
# We don't want to overwrite what we already have until we're sure
# the download worked

echo &quot;Downloading file from ${URL}&quot;
${URLGRABBER} ${URLGRABBEROPTS} -o ${SCRIPTDIR}/${ZONEFILE} ${URL}

# Check for errors.  If the file downloaded, then move on, but if not
# we don't want to reload named without the previously updated
# malware domain list

if [ $? -ne 0 ]; then
    echo &quot;    ... download failed! Error: $?&quot;
    exit 1
else
    # Disable name checking for only those domains with underscores, 
    # so we don't have to turn off name checking globally.
    SEARCH='_'
    FIND=';};'
    REPLACE='; check-names ignore;};'

    echo &quot;Disabling checking on domains with underscores&quot;
    sed &quot;/${SEARCH}/ s/${FIND}/${REPLACE}/g&quot; ${SCRIPTDIR}/${TMPZONEFILE} &gt; ${SCRIPTDIR}/${ZONEFILE}

    # Get a count of the zones from the last update
    OLDZONECOUNT=$( cat ${NAMEDDIR}/${ZONEFILE}|grep &quot;^zone&quot;|wc -l )

    # Copy file to final location for named to find
    #(via &quot;include&quot; directory in named.conf)
    echo &quot;Copying file from ${SCRIPTDIR} to ${NAMEDDIR}&quot;
    cp ${SCRIPTDIR}/${ZONEFILE} ${NAMEDDIR}

    if [ $? -ne 0 ]; then
        echo &quot;    ... failed! AbOrTinG!!&quot;
        exit 1
    fi

    echo &quot;Reloading zones in named&quot;
    ${NAMEDCMD}

    if [$? -ne 0]; then
        echo &quot;    ... failed! You'll want to see to that.&quot;
    fi

    # Get a count of the zones from the current update
    NEWZONECOUNT=$( cat ${NAMEDDIR}/${ZONEFILE}|grep &quot;^zone&quot;|wc -l )
    echo &quot;${OLDZONECOUNT} Previous Zones&quot;
    echo &quot;${NEWZONECOUNT} Current Zones&quot;
fi

END=$( date +%s )
RUNTIME=$(( ${END} - ${START} ))
H=$(( ${RUNTIME}/3600 ))
M=$(( ( ${RUNTIME}/60 ) % 60 ))
S=$(( ${RUNTIME} % 60 ))

echo &quot;Malware zonefile download on ${HOSTNAME} complete in&quot;
echo &quot;${H} hrs, ${M} mins and ${S} secs (${RUNTIME} secs)&quot;
exit 0
</pre>
<p>Then, the cron job to update the list on a daily basis:</p>
<pre class="brush: bash; title: Here Be The Code; notranslate">
35 0 * * * /root/bin/malwaredomains/malwaredomains.sh 2&gt;&amp;1 | mail -E -s &quot;Malware Domain Named Update&quot; me@here.com
</pre>
<p>Then, the blackhole host file that all those zones in the malwaredomains.com download refer to.  Careful with this one, and you&#8217;ll want to replace the domains with something a little more relevant:</p>
<pre class="brush: bash; title: Here Be The Code; notranslate">
$TTL    86400           ;one day
@ IN SOA ns0.example.net. hostmaster.example.net. (
        2011050100  ; serial number YYYYMMDDNN
        28800       ; refresh 8 hours
        7200        ; retry 2 hours
        864000      ; expire 10 days
        86400       ; min ttl 1 day
)
        NS      ns0.example.net.
        NS      ns1.example.net.
        A       127.0.0.1
*   IN  A    127.0.0.1
</pre>
<p>Finally, the line in the named.conf file (in my case, in the internal view) to call on the recently downloaded zones file:</p>
<pre class="brush: bash; title: Here Be The Code; notranslate">
include /etc/namedb/malwaredomains.zone
</pre>
<p>That should do it!</p>
<p>This is what I receive in my inbox after every update (daily for me):</p>
<pre>Script is running from /root/bin/malwaredomains
Downloading file from http://mirror1.malwaredomains.com/files/malwaredomains.zones
Disabling checking on domains with underscores
Copying file from /root/bin/malwaredomains to /var/named/etc/namedb
Reloading zones in named server
reload successful
   10116 Previous Zones
   10116 Current Zones
Malware zonefile download on [hostname] complete in
0 hrs, 0 mins and 2 secs (2 secs)</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/code/to-be-protecting-against-the-malware/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gas Mileage TinyApp</title>
		<link>http://www.dvicci.com/code/gas-mileage-tinyapp</link>
		<comments>http://www.dvicci.com/code/gas-mileage-tinyapp#comments</comments>
		<pubDate>Mon, 11 Apr 2011 22:36:53 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2284</guid>
		<description><![CDATA[If this keeps up, I&#8217;m going to have to put together a dedicated page for web projects. I hope it does keep up. I really love doing it&#8230; My latest project following the FreeBSD backup script (bash), a host of system admin scripts too small to bear mentioning (bash, tcsh, perl), and the twice-built RAID <a href="http://www.dvicci.com/code/gas-mileage-tinyapp#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>If this keeps up, I&#8217;m going to have to put together a dedicated page for web projects. I hope it does keep up.  I really love doing it&#8230;</p>
<p>My latest project following the FreeBSD backup script (<a href="http://en.wikipedia.org/wiki/Bash_(Unix_shell)">bash</a>), a host of system admin scripts too small to bear mentioning (bash, <a href="http://en.wikipedia.org/wiki/Tcsh">tcsh</a>, <a href="http://www.perl.org/">perl</a>), and the twice-built <a href="/computers/too-many-logorhythms-to-count">RAID crash</a> victimized wine database (<a href="http://php.net/">PHP</a>, <a href="http://www.smarty.net/">Smarty</a> &#038; <a href="http://mysql.com/">MySQL</a>) (in addition to the many projects no longer online), is a gas mileage tracker.  It&#8217;s also written in PHP, delivered through Smarty, and backed by MySQL, but now with delicious <a href="http://pchart.sourceforge.net/">pChart</a>.</p>
<p>I originally used GoogleDocs and a GoogleForm to record the data, and I have data going back a few years.  That worked well enough and did most of what I wanted it to do, but it didn&#8217;t do everything.  Now that I have my own server(s) up and running again, I have the luxury of being dissatisfied.</p>
<p><strong>What it Didn&#8217;t Do</strong> </p>
<ul>
<li>Provide meaningful feedback after submitting the form.  I want to know what was submitted immediately on the &#8220;Form Submission Successful&#8221; screen, and if applicable, how it relates to information previously submitted.  That&#8217;s just good UI feedback that it&#8217;s missing.
<li>Allow me to maintain and build upon my scripting/database chops.  Working with GoogleDocs is easy, fairly extensible, and has the benefit of having a preexisting world class infrastructure (and all that entails) and environment in which to work.  However, I&#8217;m a bit of a maverick in these things, and for my own projects I want things set up the way I want them.  Their infrastructure and environment doesn&#8217;t allow me to build on the skills I want to build on.  I have my own environment.  I want to take advantage of it.
<li>Allow me to maintain and build upon my UI design chops.  I&#8217;ve always loved the UI design aspect of building web apps.  There&#8217;s a few things you can do with Google, but I felt too constrained by their system, and wanted, again, things the way I wanted them.
</ul>
<p>It wasn&#8217;t all bad, though.  Setting it up in GoogleDocs did effectively (if not intentionally) serve as a sort of rough draft for rebuilding it on my own server. </p>
<p><strong>What it Did Do</strong> </p>
<ul>
<li>Gave me a firm sense of what I wanted, and what I didn&#8217;t want, if not a solid workflow to follow.
<li>Gave me a good sense of the basic information I wanted to collect, which was then easy to translate to MySQL tables.
<li>The visualizations in the form of charts and graphs were good enough that I decided I couldn&#8217;t do without them, which gave me the desire to research PHP graphing/charting libraries.  I settled on pChart.
</ul>
<p><strong>Now, I have a small web app that lets me&#8230; </strong> </p>
<ul>
<li>Track the gas mileage I&#8217;m getting for my car and how many miles I&#8217;m getting per tank.
<li>Track how the price of gas is changing.  Always up, but still&#8230;
<li>Track how much I&#8217;m spending per mile on gas.
<li>Track how often I fill the tank.
<li>Keep tabs on how often I&#8217;ve changed the oil (I change it myself&#8230; a pox on paying someone else to do it), and how long until I need to change it again.
</ul>
<p><strong>Soon, it will let me&#8230;</strong> </p>
<ul>
<li>Track how many miles I drive over time, per week, month, year, etc.
<li>Track how long between major service visits I don&#8217;t care to do (tires, brakes, etc.)
<li>Implement multiple vehicles in the hopes that I can get my wife on board and using it.
<li>Authenticate access so I don&#8217;t have to worry about the data being mangled by miscreants and malcontents.  Obfuscation and low-profile domains will only work for so long (stay away, Noah! :) )&#8230;
<li>Better UI flow&#8230; it&#8217;s good enough for me, but it&#8217;s rough.  It&#8217;s fine on the desktop, but I need to clean it up so it works on the mobile platforms better.
</ul>
<p>Here are the charts I&#8217;m generating. I know, the gas mileage isn&#8217;t that hot. But the payments are $0, so there&#8217;s that.</p>
<div style="float:left;padding:5px;text-align:center;">
<img src='http://gas.dvicci.com/images/mpg.png' /><br />
<img src='http://gas.dvicci.com/images/mpt.png' /><br />
<img src='http://gas.dvicci.com/images/ppm.png' />
</div>
<div style="padding:5px;">
<img src='http://gas.dvicci.com/images/ppg.png' /><br />
<img src='http://gas.dvicci.com/images/dpt.png' />
</div>
<p><br clear="all" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/code/gas-mileage-tinyapp/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ye&#8217; Olde English Billiards Parlour in the Basement</title>
		<link>http://www.dvicci.com/pool-and-billiards/ye-olde-english-billiards-parlour-in-the-basement</link>
		<comments>http://www.dvicci.com/pool-and-billiards/ye-olde-english-billiards-parlour-in-the-basement#comments</comments>
		<pubDate>Wed, 06 Apr 2011 21:34:00 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Pool and Billiards]]></category>
		<category><![CDATA[Home Improvement]]></category>
		<category><![CDATA[Pool]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2279</guid>
		<description><![CDATA[That&#8217;s what I want. That&#8217;s what I plan to have. The basement of the house we&#8217;re negotiating on is unfinished. It&#8217;s already framed in (a very nice professional job, too), and awaits only drywall and finishing. However, I want to get the pool table installed now, and finish the room around it later. That means <a href="http://www.dvicci.com/pool-and-billiards/ye-olde-english-billiards-parlour-in-the-basement#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>
<a href="http://www.dvicci.com/wp-content/gallery/imagestore/Home/Pool Table/Pre-Possession/IMG_0705.JPG" title="It's a pool light.  It says so.  Right there." class="shutterset_singlepic93" >
	<img class="ngg-singlepic ngg-right" src="http://www.dvicci.com/wp-content/gallery/cache/93__320x240_IMG_0705.JPG" alt="Light" title="Light" />
</a>
That&#8217;s what I want.  That&#8217;s what I plan to have.</p>
<p>The basement of the house we&#8217;re negotiating on is unfinished.  It&#8217;s already framed in (a very nice professional job, too), and awaits only drywall and finishing.  However, I want to get the pool table installed now, and finish the room around it later.  That means floor first, rather than the typical last.</p>
<p>Our plan for the moment is to install tile directly under the pool table and carpet tiles around that.  The tile under the table will help support the table, won&#8217;t settle the way carpet does, and will provide a beautiful accent.  The carpet tiles will grant the luxury of being able to take tiles up, put tiles down and cut tiles to size as I&#8217;m finishing up the walls.  Then if someone&#8230; <em>when</em> someone spills their drink on the carpet we can just take the tile up, hose it down, let it dry, and drop it back into place.  They make carpet tiles with a thick enough nap that the seams are invisible, so it&#8217;ll look just like a normal carpet floor.</p>
<p>Here&#8217;s the rough plan starting just as soon as possible after we take possession and move in: </p>
<ol>
<li>Pull down the ceiling tile framework the previous owner installed.  Don&#8217;t need it.  Don&#8217;t want it.
<li>Spray the ceiling black, or another dark color (the wife suggested a dark grey similar to the tiles we looked at) which will give the illusion of a more open space, and actually provide more space.  I have a piston sprayer I used on my current ceiling.  That&#8217;ll do.
<li>Install the tiles on the 45, with a border around those on the 90, with the whole area being just large enough to fit under the table.  I have a professional tiler friend who has offered to help with this in exchange for beer.
<li>Make an appointment to have the table delivered and installed.  This is key.  It will become my deadline for everything above this line.  It&#8217;s good to have deadlines.  They keep us on our toes and getting things done.
<li>Install the carpet tiles around the newly installed table.
<li>Finish the basement as time and money allow, and play lots of pool in the meantime!
</ol>
<p>I&#8217;m a little worried about the weight of the table on those tiles, and potential breakage.  Will an underlayment like ditera help, hurt or be indifferent?</p>
<p>For the rest of the room, I&#8217;m thinking of an old English pub feel, with nice dark wainscoting and other woods and stained stucco. :)</p>
<p>We have no reason to believe our plans to buy this particular house will fall through, but if they do, my rough plan outlined here remains, no matter what house we end up in.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/pool-and-billiards/ye-olde-english-billiards-parlour-in-the-basement/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dying of a Beloved Laptop</title>
		<link>http://www.dvicci.com/computers/the-dying-of-a-beloved-laptop</link>
		<comments>http://www.dvicci.com/computers/the-dying-of-a-beloved-laptop#comments</comments>
		<pubDate>Fri, 01 Apr 2011 22:12:23 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Computer Hardware]]></category>
		<category><![CDATA[Computer Problems]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2271</guid>
		<description><![CDATA[Wherein the dreaded horizontal LCD lines appear on my laptop screen, and I contemplate my options...]]></description>
				<content:encoded><![CDATA[<p>&#8230; well, maybe not quite yet.  Vertical lines have started showing up the screen, though.  First there was just the one, way over to the right of the screen and out of the way.  This morning, a 2nd showed up right down the middle.  Ugh.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/laptopscreenlines.jpg" title="If you look close, you can see the lines running horizontally near the right bezel.  They aren't bad at this point (April 1st, 2011), but they'll get worse.  I've seen it happen.  It's horrific and horrifying." class="shutterset_singlepic142" >
	<img class="ngg-singlepic" src="http://www.dvicci.com/wp-content/gallery/cache/142__480x320_laptopscreenlines.jpg" alt="Laptop LCD Screen Lines" title="Laptop LCD Screen Lines" />
</a>
<br />
My research points to a couple of things that could be the problem.  Some say it&#8217;s a connector issue.  Others claim LCD.  I&#8217;ll do more research, but I&#8217;m inclined to think it&#8217;s the screen.  Regardless, I reckon there will come a time in the nearish future where I&#8217;ll be forced to make a choice. The way I see it, I have a few:</p>
<ol>
<li>I can simply do without.
<li>I can buy a replacement LCD for ~$180 and install it myself or, with a little more money, pay someone else to do it.
<li>I can buy a new gaming class laptop.
<li>I can buy a non-gaming class laptop.
<li>I can take up the task of building a new desktop computer.
</ol>
<p>Anyone have any guesses which way I&#8217;m going to go?</p>
<p>I won&#8217;t simply do without.  Nope.  No can do.  Next&#8230;</p>
<p>I&#8217;ll consider replacing the LCD, but the laptop is 5+ years old now, and is definitely showing its age.  It&#8217;s had a good run, but I have to face the notion that it might be time to put it to pasture.  Or at least relegate it to more mundane tasks that don&#8217;t require a full time monitor &#8211; or better yet, donate it to someone who can&#8217;t afford their own new laptop&#8230; it&#8217;ll still more than serve basic needs, and I have just the person in mind.</p>
<p>I&#8217;m not interested in a new gaming-class laptop.  The ROI just isn&#8217;t high enough for me.  If I&#8217;m going to spend that much cash, I want more machine that what&#8217;s offered in a laptop.  I want more performance, more customizability, more upgradeability, and frankly, more control.</p>
<p>Nor am I interested in a non-gaming class laptop.  The ROI might be better, but the performance just won&#8217;t bet there.  I.  Need.  The.  Fast.</p>
<p>That pretty much leaves me with building my own desktop.  I&#8217;ve been batting around the idea of building a new computer for a few months now.  It&#8217;s been 5+ years since I&#8217;ve upgraded that aspect of what my wife likes to call my &#8220;Command Center&#8221;, so it&#8217;s about time (and as much as things have stayed the same, my oh my, but have they changed!).  I&#8217;ve put together a rough budget with a range of costs per component, and I could spend as little as a few hundred, or as much as a few thousand.  We have a lot of expenses hitting all at once right now, but after a few months and things have settled down a bit (around my birthday), I think I might be able to make a go at it, even with the addition of a home NAS solution (which I&#8217;m still debating, to be honest).</p>
<p>I just hope that my laptop screen holds out until then.  I&#8217;ve seen what happens when this issue is left alone, and it&#8217;s not pretty&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/computers/the-dying-of-a-beloved-laptop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der blinkinlichten ist lookenpeepers goot!</title>
		<link>http://www.dvicci.com/cycling/der-blinkinlichten-ist-lookenpeepers-goot</link>
		<comments>http://www.dvicci.com/cycling/der-blinkinlichten-ist-lookenpeepers-goot#comments</comments>
		<pubDate>Wed, 23 Mar 2011 01:23:35 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Cycling]]></category>
		<category><![CDATA[Commuting]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Gear]]></category>
		<category><![CDATA[Safety]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2253</guid>
		<description><![CDATA[Wherein a little cycling gadget history, and new Blackburn Flea 2.0 USB cycling lights are reviewed.  With pics!]]></description>
				<content:encoded><![CDATA[<p>Wherein a little history, and new Blackburn Flea 2.0 USB lights are reviewed.</p>
<p><em>First, some history&#8230;</em></p>
<p>When I first built out my 2003 Kona Fire Mountain as a commuter <a href="/cycling/nearly-there">way back in &#8217;07</a>, I mounted two <a href="http://www.cateye.com/en/product_detail/267">Cat Eye TL-LD600&#8242;s</a> on the front fork, one on each side pointing to the side, and two pointing towards the rear off the rear fender, and my <a href="http://www.cateye.com/en/product_detail/258">Triple Shot</a> rounding out as the bright headlight.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/20110317_commute_01.jpg" title="" class="shutterset_singlepic133" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/133__480x320_20110317_commute_01.jpg" alt="20110317_commute_01" title="20110317_commute_01" />
</a>
<br />
This was a good setup, but I got tired of replacing batteries in the TL-LD600&#8242;s.  They were also quite the protuberance on the fork up front. Eventually, and perhaps inevitably, the fork lights came off; one snapped off, and the other looked lopsided.   Additionally, the Triple Shot, bright as it is, is heavy, and the separate battery is bulky, takes up valuable frame real-estate, and is not as convenient to recharge as I would have liked.  I wasn&#8217;t really complaining though, and rode with just the headlight and taillight for a while.  Then I didn&#8217;t ride for a while.  Then I rode again, and nearly got plowed into <a href="/cycling/twice-in-two-days">twice in two days</a> by people who clearly were not using their lookenpeepers.</p>
<p>That brings me to today.  I&#8217;m back to my original setup, but this time with different lights.  I still have an old TL-LD600 on the seat post. But on the fork I now have two <a href="http://blackburndesign.com/lights.html#flea_2.0_usb_rear">Blackburn Flea 2.0 USB rear lights</a>, each pointing out and to the side.  For headlights I&#8217;ve replaced the heavy and bulky Triple Shot with two <a href="http://blackburndesign.com/lights.html#flea_2.0_usb_front">Blackburn Flea 2.0 USB front lights</a>.  I&#8217;ve gone the extra best-practice mile and <a href="http://blackburndesign.com/lights.html#mountkit">mounted another</a> on my helmet.</p>
<p>When they&#8217;re all set to blinkin, I am quite a sight to behold, and after all, that&#8217;s the point, isn&#8217;t it?</p>
<p><em>On to the review&#8230;</em></p>
<p><strong>Construction</strong></p>
<p>The lights are <em>very</em> small and light, which is a nice change of pace from my old Triple Shot.  As far as construction goes, they feel moderately sturdy, but not quite as solid as I&#8217;d like.  That goes double for the helmet mount.  The base that sits against the helmet is metal, but the bracket that slides into the slot on the light itself is plastic, and I&#8217;m worried that it&#8217;ll snap off.  I&#8217;m playing pretty careful with it to push that day out as long as I can.  I&#8217;m a little disappointed with that piece, and would have expected only metal for the price of $15.  Still, it&#8217;s possible they went plastic to save wear on the light chassis, which is itself plastic.  I&#8217;ll entertain the possibility, though I&#8217;m pretty sure it was a cost thing.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usblights_09.jpg" title="" class="shutterset_singlepic138" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/138__480x320_blackburnflea20usblights_09.jpg" alt="blackburnflea20usblights_09" title="blackburnflea20usblights_09" />
</a>
<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usblights_14.jpg" title="" class="shutterset_singlepic140" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/140__480x320_blackburnflea20usblights_14.jpg" alt="blackburnflea20usblights_14" title="blackburnflea20usblights_14" />
</a>
<br />
<strong>Lighting Modes</strong></p>
<p>The four LED headlights have three modes: a rather bright standard, a much brighter overdrive and the standard blinking.  I rode this morning in the dark with the headlights set to overdrive and the helmet light set to blinking.  This afternoon I set them all to blinking.  Run times are quoted as 3 hours on steady, and 5 hours for flash.  It&#8217;s not stated whether steady is for standard or overdrive modes.  I suspect overdrive to be less than 3 hours.  I probably won&#8217;t time them to see, but that should provide a solid week of riding to and from work without recharges.  If it&#8217;s less than that, I keep closer track, but otherwise I&#8217;m not worried about it.</p>
<p>The four LED rear lights (which I have on my fork) have three modes as well: all-on steady, flash (all lights blinking in unison), and chase (alternating blinking between two pairs). Run times are quoted at 6 hours steady, and 12 hours flash.  I suspect 12 hours is for chase mode, and flash to be somewhere in between, but again, I&#8217;ll only keep close track if they&#8217;re obviously falling short of those times.</p>
<p><strong>Brightness</strong></p>
<p>Both front and rear lights are, as one would expect from LEDs, very bright.  Rated at 40 lumens, the front lights aren&#8217;t anywhere near as bright as my 130 lumen Triple Shot, but two running in tandem illuminate the urban landscape aplenty for my purposes, and they&#8217;re nowhere near as bulky.  I wouldn&#8217;t take them on singletracks at night, but for daily street use, they&#8217;re plenty sufficient.</p>
<p><strong>Charging</strong></p>
<p>They charge via a little USB dongle.  The light sticks attach to the dongle via two magnets, which also serve as the charging contact points. I found the holding power of the magnets more than sufficient, and was able to charge three of them at once in my D-Link USB hub.  The first charge took about half an hour per light before each was fully charged and the charge indicator went from blinking red to blinking green.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usblights_13.jpg" title="" class="shutterset_singlepic139" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/139__480x320_blackburnflea20usblights_13.jpg" alt="blackburnflea20usblights_13" title="blackburnflea20usblights_13" />
</a>
<br />
I bought one set that came with a solar charger, but I&#8217;ve not tried it yet.</p>
<p>The button that serves as the USB charge indicator, and that you use to turn on and off the lights and switch modes, also serves as a running charge indicator.  After you shut the light off, it&#8217;ll glow green to indicate a charge of 75% or more, orange to indicate a charge between 25% and 75%, and red to indicate a charge of 25% or less.  That&#8217;s useful insofar as knowing about how much charge you have left, but not really useful in knowing how much <em>time</em> you have left.  Still, it&#8217;s probably enough&#8230; red simply means charge as soon as you can.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usblights_04.jpg" title="" class="shutterset_singlepic136" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/136__320x480_blackburnflea20usblights_04.jpg" alt="blackburnflea20usblights_04" title="blackburnflea20usblights_04" />
</a>
<br />
<strong>Price</strong></p>
<p>At ~$25 per light, they&#8217;re cheaper than a lot of options out there, but if you want more than one, the $$&#8217;s add up.  Still, the charging method definitely offsets the initial price.</p>
<p><strong>Mounting</strong></p>
<p>They mount to the frame via custom made Velcro straps, with protective strips on the non-sticky side to help protect the frame.  The straps need to be completely removed in order to properly charge them, which means they have to be remounted after every charge.  That&#8217;s not a big deal to me because they&#8217;re very easy to mount, though it might be to some.  The ability to quickly move them around the frame, or share them with friends in need outweighs, at least for now, the inconvenience of having no permanent mounting bracket.  That said, it shouldn&#8217;t be too tough to rig up a permanent mount (perhaps using the, albeit plastic, helmet mount) if one were so inclined.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usblights_01.jpg" title="" class="shutterset_singlepic135" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/135__480x320_blackburnflea20usblights_01.jpg" alt="blackburnflea20usblights_01" title="blackburnflea20usblights_01" />
</a>
<br />
The rear lights have what look like belt straps on them that the Velcro frame mounts slide through.  They also allow them to be strapped directly into loops, belts, or wherever else you can find that fits. They&#8217;re allegedly compatible with certain helmets.  Unfortunately, mine isn&#8217;t one of them.</p>
<p><strong>Conclusion</strong></p>
<p>So, what&#8217;s my final take on them?  Traffic was pretty light today, but those cars I did encounter showed every sign that they saw me.  There were no close calls at all, and I certainly <em>felt</em> better having the directional light on my helmet.  All the blinking made for a very cool and eerie strobe effect that lit up reflectors everywhere!  In the dark of the morning, they were bright enough for me that I wasn&#8217;t worried about potholes, stray cats or zombie arms reaching out from sewer drains.<br />

<a href="http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usblights_06.jpg" title="" class="shutterset_singlepic137" >
	<img class="ngg-singlepic ngg-center" src="http://www.dvicci.com/wp-content/gallery/cache/137__480x320_blackburnflea20usblights_06.jpg" alt="blackburnflea20usblights_06" title="blackburnflea20usblights_06" />
</a>
<br />
I have to take some points off for the construction, though.  Though I&#8217;m sure they&#8217;ll last as long as I want them to, the lights don&#8217;t feel quite as solid as I&#8217;d like,.  The helmet mount feels like it could break at any time.  I&#8217;m pretty sure I&#8217;ll be taking them up on their <a href=" http://blackburndesign.com/support.html ">(limited) lifetime warranty</a> for that piece.  Until then, I&#8217;ll be handling them with kid gloves to put that day off as long as possible.</p>
<p>All in all, I&#8217;m going with 4 out of 5 der blinkinlichten after my first day with the lights.  Points revoked for construction, but more points given for size, price, performance, convenience, ease of use and charging method.<br />
<img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20front.jpg' alt='Blackburn Flea 2.0 Front Light' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20front.jpg' alt='Blackburn Flea 2.0 Front Light' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20front.jpg' alt='Blackburn Flea 2.0 Front Light' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20front.jpg' alt='Blackburn Flea 2.0 Front Light' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20front_reverse.jpg' alt='Blackburn Flea 2.0 Front Light NeGaTiVe' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/cycling/der-blinkinlichten-ist-lookenpeepers-goot/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twice in Two Days</title>
		<link>http://www.dvicci.com/cycling/twice-in-two-days</link>
		<comments>http://www.dvicci.com/cycling/twice-in-two-days#comments</comments>
		<pubDate>Fri, 18 Mar 2011 22:54:09 +0000</pubDate>
		<dc:creator>David Veatch</dc:creator>
				<category><![CDATA[Cycling]]></category>
		<category><![CDATA[Commuting]]></category>
		<category><![CDATA[Driving]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Safety]]></category>
		<category><![CDATA[Stupidity]]></category>

		<guid isPermaLink="false">http://www.dvicci.com/?p=2230</guid>
		<description><![CDATA[That&#8217;s how many times I was nearly hit by a driver not paying attention. I don&#8217;t know that there&#8217;s any way to compare that to the average ride for the average rider, but for me, it&#8217;s twice the number of near misses I&#8217;ve had for the last three four years. My own memory is very <a href="http://www.dvicci.com/cycling/twice-in-two-days#more-'" class="more-link">more »</a>]]></description>
				<content:encoded><![CDATA[<p>That&#8217;s how many times I was nearly hit by a driver not paying attention.  I don&#8217;t know that there&#8217;s any way to compare that to the average ride for the average rider, but for me, it&#8217;s twice the number of near misses I&#8217;ve had for the last three four years.  My own memory is very likely faulty, but I only remember one other instance.</p>
<p>
<a href="http://www.dvicci.com/wp-content/gallery/postimages/91stlowell.png" title="An overhead (via Google) shot of the intersection of 91st and Lowell to provide context for your viewing pleasure." class="shutterset_singlepic127" >
	<img class="ngg-singlepic ngg-right" src="http://www.dvicci.com/wp-content/gallery/cache/127__320x240_91stlowell.png" alt="91st & Lowell" title="91st & Lowell" />
</a>
<a href="http://connect.garmin.com/activity/73567071">Yesterday morning</a>, I was heading south on <a href=" http://goo.gl/maps/MpEU ">Lowell and turning left onto 91st</a> when a woman heading east on 91st Terrace went straight through the intersection towards 91st St after I was already well into my turn.  She, in effect, wanted to share precious intersection space with me.  I saw it happening, easily adjusted my course and we pulled into the eastbound lane side by side with me in the middle and her next to the curb.  She sped ahead with a look of shock (reproach? distaste?) on her face and I moved to the right behind her.  I tried to catch her at Foster &#8211; you know, for a friendly reminder about paying attention &#8211; but the light turned before I got there and she was gone.  Oh well.<br clear='all' /></p>
<p>
<a href="http://www.dvicci.com/wp-content/gallery/postimages/kingscovebrittany.png" title="An overhead shot of King's Cove &amp; Brittany (via Google) to provide context for your viewing pleasure." class="shutterset_singlepic128" >
	<img class="ngg-singlepic ngg-right" src="http://www.dvicci.com/wp-content/gallery/cache/128__320x240_kingscovebrittany.png" alt="King's Cove & Brittany" title="King's Cove & Brittany" />
</a>
<a href="http://connect.garmin.com/activity/73632876">This morning</a>, I was much closer to home at <a href="http://goo.gl/maps/1nib">an intersection</a> within an apartment complex.  I was heading east on Kings Cove Dr, and the driver heading north on Brittany St and turning west into me.  When I say &#8220;into me&#8221; that&#8217;s exactly what I mean.  In spite of my rather crazy bright light (ok, only 140 lumens) and bright fluorescent windbreaker, the driver clearly didn&#8217;t see me and just pulled out.  I saw it coming though, and easily engaged pulled into the oncoming lane with a rather loud, throaty and heart-felt &#8220;WATCH WHERE YOU&#8217;RE GOING!!&#8221; I&#8217;m sure they only heard &#8220;WAt wer yr gn&#8230;&#8221;  I looked back and they were stopped (in the middle of the road).  I can only hope they had to stop b/c their own inattentiveness lanced adrenalized terror through their chest.  That might be too naïve though.</p>
<p>Rather than continue the focus on the well covered topic of driver inattention, I want to turn the focus away from what others are doing, and point out two things:</p>
<ol>
<li>I made it safely through both scenarios because <em>I</em> was paying attention, was planning ahead and was riding defensively.  I can&#8217;t help whether drivers are paying attention, or if they&#8217;re reading, writing, putting on makeup, eating, using their mobile phone to text or talk, or any of the 10,000 other things people do instead of drive, but I can help whether I&#8217;m paying attention, and at the end of the day, that&#8217;s what&#8217;s going to keep me rubber side down.
<li>These back-to-back near incidents inspired me to do something I&#8217;ve needed to do for some time.  In the first case, it&#8217;s entirely possible that, because of my bike&#8217;s position relative to the woman driving and the position of the lighting on my bike (front and rear only), she just didn&#8217;t see me.  Additionally,  it was that low visibility dusk/dawn period.  I&#8217;ll give her that. So, I&#8217;ve ordered a helmet light I can flash in people&#8217;s eyes, and two rear lights I&#8217;ll attach to my fork pointing to the sides.  I used to have that setup, but I let it slide through exchanging this bike for that, that light for this, etc., you know how it goes.  I&#8217;m also looking into some highly-reflective tape for my pannier and frame (nod to CommuterDude for the tips on <a href="http://www.commuterdude.com/2007/10/from-archives-commuting-lights.html">electrical tape and placement</a>).<br /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20front.jpg' alt='Blackburn Flea 2.0 Rear' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20rear.jpg' alt='Blackburn Flea 2.0 Rear' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20helmetmount.jpg' alt='Blackburn Flea 2.0 Rear' /><img src='http://www.dvicci.com/wp-content/gallery/postimages/blackburnflea20usbsolarcharging.jpg' alt='Blackburn Flea 2.0 Rear' />
</ol>
<p>So, there you have it.  I&#8217;ve had two near-encounters with inattentive drivers in as many days, after zero encounters in years.  I&#8217;m sure it&#8217;s a statistical anomaly, rather than an indication of things to come, but just to be sure, I&#8217;m ramping up my visibility.</p>
<p>Just do me a favor will you, don&#8217;t tell my wife about this.  She worries enough as it is. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dvicci.com/cycling/twice-in-two-days/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
