tag:blogger.com,1999:blog-336134612024-03-14T10:01:47.884-06:0046 DogsUnknownnoreply@blogger.comBlogger470125tag:blogger.com,1999:blog-33613461.post-27955331938057685422014-04-24T09:19:00.001-06:002014-04-24T17:20:37.948-06:00Don't fight a lawnmower. You'll lose every time.I made the mistake of sneezing during a haircut. On the plus side, I got to buy a new hat!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-bPwR0moxIkA/U1krVA4ZPCI/AAAAAAAACOc/IF2V7WHEfDQ/s1600/2014-04-16+18.24.37.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-bPwR0moxIkA/U1krVA4ZPCI/AAAAAAAACOc/IF2V7WHEfDQ/s1600/2014-04-16+18.24.37.jpg" height="320" width="240" /></a></div>
<br />
In answer to Charity Z's question, no, I really did just buy a hat.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-uHd09r2cQv4/U1mcDTrzMaI/AAAAAAAACO0/R2fl0508csc/s1600/2014-04-24+16.19.24.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-uHd09r2cQv4/U1mcDTrzMaI/AAAAAAAACO0/R2fl0508csc/s1600/2014-04-24+16.19.24.jpg" height="320" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Lzabfeg70WA/U1mb3ng-BdI/AAAAAAAACOs/CCXiPvaiX3w/s1600/2014-04-24+16.17.38.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<br />Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-33613461.post-19589849408301249572013-09-01T09:36:00.001-06:002013-09-01T09:36:07.424-06:00The size of triangle flavorAsh and I were playing, and Ash wanted me to cut her a triangle of "food". I handed the virtual food to her, and she said, "It doesn't taste like triangle."<br />
<br />
"What does triangle taste like?" I asked.<br />
<br />
She held her hands a couple feet apart. "This big," she said.<br />
<br />
Ah. I see.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-79433004948535930222013-08-15T22:54:00.005-06:002013-08-15T22:54:39.708-06:00Innovative IdeasIdeas are cheap. Every inventor has a notebook full of them. The ideas are hoarded and hidden like little nuggets for fear that someone will steal them. But coming up with ideas is the easy part. Executing on them is the hard part. The same people who have the motivation to do something with an idea already have a notebook of their own. Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-78990356770637861182013-06-16T10:50:00.003-06:002013-06-16T10:50:42.531-06:00Helping HandsYesterday, as with all Saturdays, I had a long list of chores to do. One of them was corralling the raspberry plants, which were rapidly taking over our back patio. I had pounded in stakes early in the spring, long before the raspberry plants started sprouting, but the raspberry plants had long since assimilated and surpassed the stakes.<br />
<br />
While the row of raspberry plants ran along the patio edge, the opposite side faces a fence, with a gap of perhaps two feet between them. That meant that if I planned to pick raspberries from the fence-facing side, I would need to squeeze between the mass of raspberry bushes and the fence, carrying twine with me to hem the mass of shoots in.<br />
<br />
Ash was being a "big helper" to Daddy. As Daddy was entangled deep in raspberry bushes, she had twice been directed inside and given explicit directions on where to find scissors, down to the specific placemat on the kitchen table where they could be found. The scissors had somehow developed a cloak of invisibility, however, which resulted in Daddy finding himself in possession of children scissors, which he wielded in his gloved hands with less than his usual natural dexterity.<br />
<br />
Regardless, with that chore accomplished, Ash was in need of a second task. Daddy, in a moment of insanity, presented Ash with a hose. "Water the raspberry bushes while I'm trapped between the thorn-covered stalks and the fence," he directed. "I've turned the hose on full power to allow for the most amount of water to be emitted as possible. I know you have a history of watering everything within a 30 foot radius, green or not, but I'm sure you'll demonstrate pinpoint accuracy this time."<br />
<br />
With that, I tied the twine to the first stake, pushed aside the first mass of raspberry stalks, and took a step into the narrow gap. <br />
<br />
The twine was instantly wrapped around thirty raspberry stalks, myself, and a startled rabbit. What little space hadn't been taken by raspberry plants was filled with similarly thorn-covered weeds who had taken advantage of their hiding place to grow to ominous sizes. Perhaps seeing the tangle of twine as competition, spiders converged from all directions to fight off the over-sized intruder. <br />
<br />
I desperately wielded the tiny scissors in an attempt to free myself, but they promptly dropped from my clumsy gloved hands and disappeared into the depths of the raspberry bushes. "Ahh!" I said, calmly assessing the situation. To retrieve the scissors would require shoving my face and hands deep into a dark, dense mass of thorny raspberry stalks guarded by spiders. "Ahh!"<br />
<br />
My mild exclamations drew Ash's attention. "What's that, Daddy?" she shouted, charging towards me. "Why are you shouting? What are those words you're saying?" The hose in her hand swung wildly, spraying raspberry plants, Daddy, the fence, the house, and the compost pile with equal abandon. <br />
<br />
"Look out!" Daddy shouted. "You're getting Daddy wet!"<br />
<br />
The thunder of hundreds of spider feet taking cover from the deluge by crawling up Daddy's pant legs must have drowned out Daddy's statement. "What? What?" Ash answered. She scrambled closer in an attempt to see what was happening. Water hosed Daddy down from face to shoes. Spiders scrambled higher to escape the rising tide.<br />
<br />
"Ahh! Daddy! Water! Stop!" I clearly articulated. My careful explanation of the problem and proposed solution was lost to her three-year-old intellect, but she clearly understood at least two of the words.<br />
<br />
"Water daddy?"<br />
<br />
In a burst of herculean strength, I tore free from thorns, twine, and spiderwebs. A moment later I gained the patio, panting heavily. A rabbit bounded into the weeds. Spiders retreated to their lairs. Ash looked me over.<br />
<br />
"Daddy's wet."<br />
<br />
I held out my hand for the hose. "Yes, Daddy is," I said. "My turn to water."Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-68392413708645263992013-05-08T12:39:00.001-06:002013-05-08T12:39:31.129-06:00Hang in there<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-TGJ9ew5-rV0/UYp5z4Th5tI/AAAAAAAAB_0/SAG7xP-5Nzk/s1600/2013-05-08+09.05.28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-TGJ9ew5-rV0/UYp5z4Th5tI/AAAAAAAAB_0/SAG7xP-5Nzk/s320/2013-05-08+09.05.28.jpg" width="240" /></a></div>
<br />
Getting ready to do some robotic arm control. Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-33613461.post-41717372380401065902013-04-22T20:22:00.001-06:002013-04-22T20:22:15.821-06:00Best Smoothie EverI just had one of the best smoothies I've ever had, and that includes anything I've gotten from Jamba Juice or other similar smoothie chains.<br />
<br />
Recipe:<br />
<br />
<ul>
<li>2 aging, black-speckled bananas. Cut the mushy brown end off the oldest one. </li>
</ul>
<ul>
<li>2 handfuls of green but browning grapes. </li>
</ul>
<br />
<ul>
<li>10 or so slightly shriveling strawberries left over from a birthday party.</li>
</ul>
<br />
<ul>
<li>1 cup of watermelon that's been sitting in the fridge for a few days.</li>
</ul>
<br />
<ul>
<li>What the heck, throw in a cup of cooked rice left over from dinner. No one's going to eat it otherwise.</li>
</ul>
Blend together. No additional water or other liquid necessary. Drink.<br />
<br />
Best. Smoothie. Ever.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-42325869010622279422013-04-21T10:22:00.002-06:002013-04-21T10:22:18.146-06:00Owl HouseI should have taken more pictures while building it, but I finally finished the owl house that I started on the day Alex was born. We hung it in a palm tree out back, and now all that's left to do is wait.<br />
<br />
The hope is that an owl will move in and wreak havoc among the local ground squirrel and mice/rat population. If it decides to snack on our neighbor's rooster that starts crowing at 2:30 am, so much the better.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-_-4ya8neyrI/UXQRSKtVzhI/AAAAAAAAB_Q/W_DiJvgH3Ew/s1600/2013-04-18+18.36.09.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-_-4ya8neyrI/UXQRSKtVzhI/AAAAAAAAB_Q/W_DiJvgH3Ew/s320/2013-04-18+18.36.09.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Interior. The half-divider blocking the door is to prevent larger animals from reaching in to the nest.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/--wDtd-_qV7U/UXQRUqkqnXI/AAAAAAAAB_c/CtyoNtIFm2g/s1600/2013-04-18+18.36.52.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/--wDtd-_qV7U/UXQRUqkqnXI/AAAAAAAAB_c/CtyoNtIFm2g/s320/2013-04-18+18.36.52.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Getting it up the palm tree was far harder than building the nest itself.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-Z1Zh-cDszJs/UXQRUR_xlDI/AAAAAAAAB_Y/kSYvxuM4ybY/s1600/2013-04-18+18.55.11.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-Z1Zh-cDszJs/UXQRUR_xlDI/AAAAAAAAB_Y/kSYvxuM4ybY/s320/2013-04-18+18.55.11.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Finally in place. Availability posted on Craigslist.</td></tr>
</tbody></table>
Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-33613461.post-51874337718471066242013-04-21T10:13:00.000-06:002013-04-21T10:13:31.610-06:00Wedding!One of my younger sisters got married a week ago in the <a href="http://www.ldschurchtemples.com/sandiego/" target="_blank">San Diego Temple</a>, an amazingly beautiful building. We had a reception on the beach afterwards, then transitioned to a pool and hot tub at the hotel where several of the out-of-town visitors were staying. Following are a handful of pictures from the events.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-uPma_FVNuYM/UXQMsqgHoHI/AAAAAAAAB-g/E1tp_XDq9yo/s1600/2013-04-13+13.59.20.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-uPma_FVNuYM/UXQMsqgHoHI/AAAAAAAAB-g/E1tp_XDq9yo/s320/2013-04-13+13.59.20.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Kites are always fun, especially on a windy day at the beach.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-GPlffe0QuS4/UXQMshrsKVI/AAAAAAAAB-c/koJTjQvGLoA/s1600/2013-04-13+14.09.15.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://4.bp.blogspot.com/-GPlffe0QuS4/UXQMshrsKVI/AAAAAAAAB-c/koJTjQvGLoA/s320/2013-04-13+14.09.15.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The chilly ocean water briefly outweighed the social stigma of a pink-accented wetsuit.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-QP-tFfiVqwk/UXQMtq42DlI/AAAAAAAAB-s/x0jMKdIitPc/s1600/2013-04-13+16.32.00.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-QP-tFfiVqwk/UXQMtq42DlI/AAAAAAAAB-s/x0jMKdIitPc/s320/2013-04-13+16.32.00.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The hot tub started out with a reasonable number of people...</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-i9SKKe6JhgQ/UXQMwB-jKkI/AAAAAAAAB-0/KGQuZPjsE-E/s1600/2013-04-13+16.59.41.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-i9SKKe6JhgQ/UXQMwB-jKkI/AAAAAAAAB-0/KGQuZPjsE-E/s320/2013-04-13+16.59.41.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">And grew...</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-YZjvRWnX_ug/UXQMwz2dscI/AAAAAAAAB-8/nwadWl4UT4M/s1600/2013-04-13+17.05.26.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://3.bp.blogspot.com/-YZjvRWnX_ug/UXQMwz2dscI/AAAAAAAAB-8/nwadWl4UT4M/s320/2013-04-13+17.05.26.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">And grew. How many people can we fit in at once? How many are we ALLOWED to fit in?</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-F-zXwxm9JbA/UXQMxg1Y_2I/AAAAAAAAB_A/vzdRUAG53UE/s1600/2013-04-13+17.10.49.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-F-zXwxm9JbA/UXQMxg1Y_2I/AAAAAAAAB_A/vzdRUAG53UE/s320/2013-04-13+17.10.49.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Oops.</td></tr>
</tbody></table>
Amusingly, the old guy at the furthest right of the hot tub wasn't part of our party, but he seemed to enjoy the activity and never left. Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-51365125677288129092013-03-29T23:27:00.000-06:002013-03-29T23:27:20.099-06:00Bump in the NightAs a rational, scientific person, I spent large portions of my life convincing myself that there's no such thing as bogeymen, monsters, or things that go bump in the night. Then I go outside late at night with a dim, flickering flashlight, hunting snails in the garden, and find my beliefs put to the test.<br />
<br />
The rustling trees and scudding clouds hide the moon. The tall grass hides any number of venomous, toothy creatures, not to mention ax murderers. I make a mental note to mow more frequently.<br />
<br />
I spot a snail or two. They make daring breaks for freedom, passing pillbugs left and right, but it's no use. They're captured and pay the ultimate penalty for trespassing. <br />
<br />
Then something moves.<br />
<br />
It's not a snail--the shadow is too huge and grotesque. I swing my flashlight and find myself face to face with the largest spider I've ever seen outside of the zoo. So this is why no rabbits have been bothering our garden--they've probably all been eaten by this spider. I know exactly what he's thinking as he stares at me with his multiple beady eyes. "Yeah, he's big, but think of the meal. I bet I could take him."<br />
<br />
I calmly determine that the garden is likely snail-free. Might as well head back inside. I straighten up, take a deep breath of fresh evening air, and stroll into the house.<br />
<br />
The next morning KLa looks out the window. "What happened to the garden? There's a giant hole in the fence and something trampled an entire row of beans."<br />
<br />
"Snails," I say. "I must have missed one."Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-33620365275083643612013-02-05T01:40:00.002-07:002013-02-05T01:40:57.273-07:00To Kill a MockingbirdEvery time I read "To Kill a Mockingbird" I am boggled by how good the book is. Every aspect of it: character, voice, plot, timing. It's a masterpiece, and far and away my favorite book. It's simultaneously a inspiration to get back into writing and a discouragement when I see how far my writing skills have to go.<br />
<br />
I read it every year or so. I started reading it again this evening, and I was only able to set it aside in the wee hours of the morning to go to bed because I had reached a mildly depressing point. I read it for the first time when I was in college, and I'm glad I didn't read it earlier because I don't think I would have appreciated it. As it is, I have no doubt that if and when I become a published author, Harper Lee will be a clear inspiration in my work.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-33285791124973947032012-12-28T10:56:00.000-07:002012-12-28T10:59:15.946-07:00Berkey water filter extensionChild's parents visited for the week before Christmas. Like us, they have a Berkey water filter. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-JDaa7GekEuo/UN3Yo8vUnjI/AAAAAAAAB9c/WeoY9BI57EY/s1600/berkey.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-JDaa7GekEuo/UN3Yo8vUnjI/AAAAAAAAB9c/WeoY9BI57EY/s1600/berkey.jpg" /></a></div>
<br />
However, it has a shortcoming. When the fluoride filters are installed to the base of the top receptacle, they go so deep into the bottom receptacle that the water will only fill up a few inches of the bottom receptacle.<br />
<br />
Child's mother suggested a solution. If the top receptacle could be lifted higher, it would allow more water to collect in the bottom receptacle.<br />
<br />
While at Home Depot on a different errand, I noticed a duct that seemed like it would perfectly fit the bill. <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-kx0K5kjUJgQ/UN3YpeI5AYI/AAAAAAAAB9k/DYSJfZERQCE/s1600/collar.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-kx0K5kjUJgQ/UN3YpeI5AYI/AAAAAAAAB9k/DYSJfZERQCE/s1600/collar.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Master Flow 8 inch Starting Collar Take Off - Snap Together</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-kXGQyHilqcg/UN3YqAzuEBI/AAAAAAAAB9s/ZRjlH_7XFdk/s1600/worm_gear.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://4.bp.blogspot.com/-kXGQyHilqcg/UN3YqAzuEBI/AAAAAAAAB9s/ZRjlH_7XFdk/s1600/worm_gear.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Worm gear clamp. Two 4" diameter = one 8" diameter</td></tr>
</tbody></table>
<br />
<br />
A quick call to Child confirmed that the diameters were the same, so I bought it, along with two four-inch-diameter worm gear clamps that I could attach together to make one eight-inch-diameter worm gear clamp. It worked great.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-IG5uMSLwUcY/UN3c_612OnI/AAAAAAAAB-A/7Kgplp0P974/s1600/final.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-IG5uMSLwUcY/UN3c_612OnI/AAAAAAAAB-A/7Kgplp0P974/s320/final.jpg" width="240" /></a></div>
<br />
Final product:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-viHnzcGaSss/UN3dAyJFMtI/AAAAAAAAB-I/6cts2DeQa8Y/s1600/final2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-viHnzcGaSss/UN3dAyJFMtI/AAAAAAAAB-I/6cts2DeQa8Y/s320/final2.jpg" width="240" /></a></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-43286754811436823852012-12-24T09:37:00.000-07:002012-12-24T09:37:16.768-07:00Room CleaningI'm about to clean my office.<br />
<br />
I know, readers are recoiling in shock. "Drek, clean his office? The Mayan's must have been three days off from their end-of-the-world prediction!"<br />
<br />
Yeah, yeah. It needs it, though. Child's parents have been visiting, so she and I have been sleeping on an air mattress in my office, which added to the already-hefty clutter and reduced my in-room mobility and therefore my already-low motivation to put things away properly.<br />
<br />
But this time I have a plan!<br />
<br />
For each item, I'm going to analyze it, determine if it has a proper location, and create one if not (rather than tossing it into a corner). <br />
<br />
In addition, I'm going to compromise with my lazy tendencies and find a least-effort approach to keeping the room tidy in the future. Larger trashcan, more hangers, open box to catch once-worn teeshirts that are too clean to throw in the laundry basket but too time-consuming to fold (I said I was lazy).Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-52512979400537935742012-12-24T09:30:00.001-07:002012-12-24T09:30:38.885-07:00TithingIn our church, members pay 1/10 of their "increase" (defined however the individual members choose to define that) as tithing. As clerk of the local ward, I occasionally see the amounts people pay as tithing. <br />
<br />
I have two primary reactions. The first is when I see a large amount of tithing: "Wow, s/he makes that much money and still pays tithing? I'm impressed at his/her dedication!"<br />
<br />
The second is when I see a small amount of tithing: "Wow, s/he is on that tight of a budget and still pays tithing? I'm impressed at his/her dedication!"<br />
<br />
In short, paying any tithing is a manifestation of faith, whether you give of your wealth or give a widow's mite. There's no dollar limit, high or low, to the Lord's blessings.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-24820531880304340102012-11-07T09:51:00.002-07:002012-11-07T12:01:37.859-07:00Election results<br />
Well, the election is over. My overall feeling about the result:<br />
<br />
Meh.<br />
<br />
<br />
I'd feel worse about Mitt Romney losing if he hadn't been so unrelentingly negative the entire campaign. Seriously, take some of that time you spent accusing the president of making mistakes and actually tell us how you'd fix them, rather than just telling us you would.<br />
<br />
That, and Romney's abrupt shifts of policy when he decided to run for president. Changing your opinion when new evidence or points of view are presented is one thing, and I'm 100 percent in favor of that. Doing so when you think it will play better with potential constituents is another matter entirely.<br />
<br />
Sure, I think Romney would have done a far better job than Obama in turning the economy around--after all, business was his business--but he was far from a candidate that I enjoyed voting for.<br />
<br />
I think I'll add a project to my to-do list. I'd like to write up a high-level view of the platform I'd enjoy seeing a candidate run on--or that I'd run on myself if I ever decided to run for president.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-33613461.post-38456323405562347182012-10-11T16:12:00.001-06:002012-12-12T14:18:30.033-07:00Compiling a single kernel moduleOn (the fortunately rare) occasion, the need arises to modify a Linux kernel module/driver. I finally found a helpful <a href="http://www.codewhirl.com/2012/04/how-to-compile-a-single-module-in-ubuntu-linux/" target="_blank">blog-post</a> that gave a walk-through on how to compile a single kernel module without necessitating recompiling the entire Linux kernel.<br />
<br />
Following are the steps I took to modify the xpad driver (used by xbox controllers), along with a few clarifications of the original blog post I follgowed. Anything in bold, you'll want to tweak for your own system.<br />
<br />
0. I'm assuming that you've already downloaded Linux source and modified the file(s) you need. In my case, I was tweaking "/usr/src/linux-source-2.6.32/drivers/input/joystick/xpad.c".<br />
<br />
1. Make a working directory to hold your new module when it's compiled, along with overhead needed by the compilation process. I chose to name my directory "xpad" since I was specifically modifying the xpad driver.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo mkdir /usr/src/<b>xpad
</b></span><br />
<br />
2. Copy in a few necessary files:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ cd /usr/src/<b>xpad</b> </span><br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo cp /boot/config-`uname -r` .config
<br />$ sudo cp /usr/src/linux-headers-`uname -r`/Module.symvers .
</span><br />
<br />
<br />
3. Move to your source directory and run some "make" commands to prepare your working directory.<br />
<br />
Note that EXTRAVERSION should be whatever follows the first three numbers when you run "uname -r". For example, if running "uname -r" results in "2.6.32-43-generic", EXTRAVERSION would be "-43-generic".<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ cd /usr/src/linux-source-<b>2.6.32</b>
<br />$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> oldconfig
<br />$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> prepare
<br />$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> outputmakefile
<br />$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> archprepare
<br />$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> modules SUBDIRS=scripts
</span><br />
<br />
4. Make your specific module.<br />
<br />
In my case, I tried first to make just the xpad module. That resulted in an error indicating that there wasn't a Makefile specifically for the xpad module.<br />
<br />
First, unsuccessful attempt:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> modules SUBDIRS=<b>drivers/input/joystick/xpad</b></span><br />
<span style="font-family: "Courier New",Courier,monospace;"><br /></span>
<span style="font-family: "Courier New",Courier,monospace;">/usr/src/linux-source-2.6.32/scripts/Makefile.build:44: /usr/src/linux-source-2.6.32/drivers/input/joystick/xpad/Makefile: No such file or directory<br />make[2]: *** No rule to make target `/usr/src/linux-source-2.6.32/drivers/input/joystick/xpad/Makefile'. Stop.<br />make[1]: *** [_module_drivers/input/joystick/xpad] Error 2<br />make: *** [sub-make] Error 2</span><br />
<br />
There WAS, however, a Makefile that built all the joystick drivers at once, so I fell back to using that.<br />
<br />
Second, successful attempt:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> modules SUBDIRS=<b>drivers/input/joystick</b></span><br />
<br />
This generated, among other files, a .ko file, my modified kernel module. The new modules will be located in the working directory you created in step 1 (in my case, "/usr/src/xpad/drivers/input/joystick/xpad.ko").<br />
<br />
5. Make a backup of the original kernel module, just in case (of course impossible) that there's a bug your new module.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo cp /lib/modules/`uname -r`/kernel/<b>drivers/input/joystick/xpad</b>.ko /lib/modules/`uname -r`/kernel/<b>drivers/input/joystick/xpad</b>.ko.bak</span><br />
<br />
6. Copy in your new kernel module:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo cp /usr/src/<b>xpad/drivers/input/joystick/xpad</b>.ko /lib/modules/`uname -r`/kernel/<b>drivers/input/joystick/xpad</b>.ko</span><br />
<br />
7. Reload module dependencies:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo depmod -a</span><br />
<br />
8. Remove the old module, just in case it's currently loaded:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo modprobe -r <b>xpad</b></span><br />
<br />
9. (Unplug and) plug in your device to trigger a load of your new module!<br />
<br />
<b>Closing thoughts:</b><br />
<br />
To simplify repeated compiling of the code during development, I dumped the pertinent commands into a script I could run:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">cd /usr/src/linux-source-<b>2.6.32</b><br />sudo make EXTRAVERSION=<b>-43-generic</b> O=/usr/src/<b>xpad</b> modules SUBDIRS=<b>drivers/input/joystick</b><br />sudo cp /usr/src/<b>xpad/drivers/input/joystick/xpad</b>.ko /lib/modules/`uname -r`/kernel/<b>drivers/input/joystick/xpad</b>.ko<br />sudo depmod -a<br />sudo modprobe -r <b>xpad</b></span><br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-7430387067927990782012-09-22T23:31:00.000-06:002012-09-22T23:49:32.414-06:00BWCA Trip<div class="separator" style="clear: both; text-align: left;">
In August, my uncle planned a canoe trip to the Boundary Waters Canoe Area (BWCA) in Minnesota. I talked my coworker Jon into joining me, and on August 4 (Friday, Day 0) we flew from San Diego to Des Moines, Iowa, arriving Saturday morning. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Day 1</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Shortly after we arrived, a huge thunderstorm swept through Des Moines, cancelling the flight directly after ours. Since I was under the storm instead of circling over it in an airplane, it was rather enjoyable, and reminded me how much I missed the Midwest thunderstorms. I just haven't seen anything to compare with them further west.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
My uncle and aunt live in Missouri, so they swung by the airport on their way north and picked us up. Along with them were two of their sons and two friends. We had an all-day drive to Ely, Minnesota, and there were sprinkles much of the way up. It made me wonder what the weather was going to be like on the canoe trip itself, and I was a little worried that the outlook was "heavy character building, tapering to light grumbling by mid-week."</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
That night we checked in with the outfitter we were renting the canoes from. They gave us a DVD titled "Leave No Trace," explaining how to have a minimal impact on the terrain we'd be crossing. We watched it on a portable DVD player at the hostel where we spent the night. At one point in the video, there was a head-shot of a moose, and one of the less outdoorsy friends saw the large ears and wondered if it was a kangaroo. From then on, we kept our eyes out for "kangamooses," but they seemed fairly scarce where we were.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Day 2</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Launch day dawned cool and clear. Breakfast was a delicious combination of the normal breakfast food and leftovers: bacon, ice cream, pancakes, and salad. We had been joined the night before by a cousin, her husband, and another friend, and after breakfast, we all drove to launch point 14. We were well prepared, with enough gear to outfit the entire US Navy for an extended deployment into unfriendly waters. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The food bag allocated for my coworker and me for the week-long trip held as much food as my normal monthly consumption. It was good wilderness food, most of it boxes ending in the word "Helper," but there was also some cleverly packaged ground beef, salted and bagged to survive without refrigeration. Simply rinse and serve, with enough salt left behind to nicely flavor.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-5cdu2EoSEGs/UF4CmWfiq-I/AAAAAAAAB4k/ffoiy8ru4dU/s1600/100_0984.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-5cdu2EoSEGs/UF4CmWfiq-I/AAAAAAAAB4k/ffoiy8ru4dU/s400/100_0984.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Last touch of civilized ground.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-gyGbYRgIDds/UF4CoDxejtI/AAAAAAAAB4s/Jg4IolNrW3E/s1600/100_0985.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://2.bp.blogspot.com/-gyGbYRgIDds/UF4CoDxejtI/AAAAAAAAB4s/Jg4IolNrW3E/s400/100_0985.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">As automobiles are not good at floating, they were exchanged for canoes at the launch point.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-vVaV4-QIyKs/UF4CqB6Pd_I/AAAAAAAAB40/jJRgNFaszYg/s1600/100_0988.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-vVaV4-QIyKs/UF4CqB6Pd_I/AAAAAAAAB40/jJRgNFaszYg/s400/100_0988.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">My allocation of gear. Not shown: one 32-foot canoe.</td></tr>
</tbody></table>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Hn3SFR7rz7Y/UF4CrCAysjI/AAAAAAAAB48/4bIXQZ9W-Fc/s1600/100_0990.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-Hn3SFR7rz7Y/UF4CrCAysjI/AAAAAAAAB48/4bIXQZ9W-Fc/s400/100_0990.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-lPfggFWvxf8/UF4CtjwNHtI/AAAAAAAAB5E/qR1x_1aKw6Y/s1600/100_0992.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-lPfggFWvxf8/UF4CtjwNHtI/AAAAAAAAB5E/qR1x_1aKw6Y/s400/100_0992.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-odLji2u7XXQ/UF4CvxWviBI/AAAAAAAAB5M/grF6VqqohvU/s1600/100_0993.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-odLji2u7XXQ/UF4CvxWviBI/AAAAAAAAB5M/grF6VqqohvU/s400/100_0993.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-lMbvxBIxFxQ/UF4CyXS3wDI/AAAAAAAAB5U/GxLmQRUxm7U/s1600/100_0999.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://1.bp.blogspot.com/-lMbvxBIxFxQ/UF4CyXS3wDI/AAAAAAAAB5U/GxLmQRUxm7U/s400/100_0999.JPG" width="400" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-0Sv4UscQVUg/UF4C1JohNQI/AAAAAAAAB5c/3kRpRZqeZds/s1600/100_1014.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://2.bp.blogspot.com/-0Sv4UscQVUg/UF4C1JohNQI/AAAAAAAAB5c/3kRpRZqeZds/s400/100_1014.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arriving at our first night's destination.</td></tr>
</tbody></table>
<br />
Late that afternoon, we set up camp. It was a good site on a rocky ledge just off the river, with plenty of scenery to go around. Mo and Eric took the opportunity to wet their fishing tackle, with Eric disclosing that he had never in his life caught a fish on a pole. Spear gun, net, bare-handed, yes, but never on a pole. It was his curse, but one that the group was determined to help him break.<br />
<br />
He was given a choice between a hook with a squirming leech on it, and one with a lure. When presented with a leech, no matter what the context, there's really no choice, and he stuck (get it? ha ha!) Mo with the leech, taking the lure himself. He and Mo spent the next hour fishing, but Mo got her revenge by catching the first fish. At that point they switched rods, and balance was maintained by Mo also catching the second fish, bigger than the first.<br />
<br />
Eric returned to camp skunked, but his spirits remained high. He had an entire week to break his curse, and in waters that BWCA brochures clearly stated "teemed" with fish, how hard could that be?<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-bDsuVok0sTk/UF4C3aeG0MI/AAAAAAAAB5o/-n6H9UZzdF0/s1600/100_1020.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://2.bp.blogspot.com/-bDsuVok0sTk/UF4C3aeG0MI/AAAAAAAAB5o/-n6H9UZzdF0/s400/100_1020.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">First catch of the trip!</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-Sgiv_MRYo-A/UF4C5TqVELI/AAAAAAAAB5w/jC25riU6Kww/s1600/100_1022.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-Sgiv_MRYo-A/UF4C5TqVELI/AAAAAAAAB5w/jC25riU6Kww/s400/100_1022.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Victory! (Not Eric's.) A northern pike?</td></tr>
</tbody></table>
The young ("noisy") complement of attendees left later that evening for a second campsite across the lake. Much character was built attempting to hang a bear bag in pitch darkness on a steep, brushy hillside. It involved a rope that was about ten feet too short, holding flashlights in teeth, and climbing sappy pine trees in sandals. In the end, the bag was left tangled halfway up a pine, safe from any bear that was lame, blind, under four feet tall, or prone to hysterical fits of laughter at the sight of a "bear bag" put up at 10 pm at night by someone holding a flashlight in his teeth, climbing a tree in sandals, and using a rope that was ten feet too short.<br />
<br />
<b>Day 3</b><br />
<br />
Our first morning in the wilderness dawned as beautiful as the day before, and the bear bag had been unmolested. After the amount of effort that had gone into putting it up, it will be admitted that there was a small amount of disappointment.<br />
<br />
Interest was expressed in shouting capitalistic slogans at our neighbor to the north, and accordingly the canoes were loaded for a Canadian visit.<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-8PnkiIZpVCE/UF4C7Uv_u3I/AAAAAAAAB54/Pl2qT90oG04/s1600/100_1024.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-8PnkiIZpVCE/UF4C7Uv_u3I/AAAAAAAAB54/Pl2qT90oG04/s400/100_1024.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Camp life was rigorous and deprivations abundant. Note the complete lack of gently-waving palm fronds and grapes.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-hKxxrVFRgnY/UF4C9T1HnNI/AAAAAAAAB6A/mXOPBk7TU0Y/s1600/100_1025.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-hKxxrVFRgnY/UF4C9T1HnNI/AAAAAAAAB6A/mXOPBk7TU0Y/s400/100_1025.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is neither apple juice nor cooking oil, as speculated by observers. In fact, it was our drinking water, post-filter.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-ymtWiHxuQIw/UF4C_TWz_vI/AAAAAAAAB6I/mvYnZzc3JLY/s1600/100_1027.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://1.bp.blogspot.com/-ymtWiHxuQIw/UF4C_TWz_vI/AAAAAAAAB6I/mvYnZzc3JLY/s400/100_1027.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Canada's first line of defense: cleverly positioned dams built by carefully trained beavers.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-37gWFRVe0jc/UF4DB42w7dI/AAAAAAAAB6U/msELS4Pq-aU/s1600/100_1044.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://2.bp.blogspot.com/-37gWFRVe0jc/UF4DB42w7dI/AAAAAAAAB6U/msELS4Pq-aU/s400/100_1044.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">An interesting, but less-effective canoing technique: sinking the canoe. </td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-lj8wNxt9nqE/UF4DDTwRduI/AAAAAAAAB6c/zZalB355wQY/s1600/100_1053.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://4.bp.blogspot.com/-lj8wNxt9nqE/UF4DDTwRduI/AAAAAAAAB6c/zZalB355wQY/s400/100_1053.JPG" width="400" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-QLXDkx1u6qs/UF4DFW1h23I/AAAAAAAAB6k/rwmFuZ8nthw/s1600/100_1061.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://1.bp.blogspot.com/-QLXDkx1u6qs/UF4DFW1h23I/AAAAAAAAB6k/rwmFuZ8nthw/s400/100_1061.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Creating small outposts of American soil by throwing American rocks into Canada.</td></tr>
</tbody></table>
<br />
Arriving at Canada, we hurled rocks and sneered at socialism while secretly longing for cheap health care and a culture of polite deference. While attempting to plant a flag on Canadian soil, a party member fell from his canoe and inadvertently became an illegal alien for a brief period of time before being quickly retrieved.<br />
<br />
Overall, it was a successful trip and we returned to camp flush with victory. Dinner that night was Orange-mush Helper (as opposed to the Gray-mush Helper from the night before.) Dessert was a distant lightning storm in cumulonimbus clouds glowing orange in the setting sun.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-HNYa44bQms0/UF4DHNxVn_I/AAAAAAAAB6s/oBMKdx4bM8U/s1600/100_1067.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://4.bp.blogspot.com/-HNYa44bQms0/UF4DHNxVn_I/AAAAAAAAB6s/oBMKdx4bM8U/s400/100_1067.JPG" width="400" /></a></div>
<br />
<b>Day 4</b><br />
<br />
Another beautiful morning. If character was to be built, it wouldn't be from poor weather. Instead, portages would be used: stretches of what us mariners colloquially refer to as "land" that divides passable sections of water.<br />
<br />
Portages have an interesting property of being uphill no matter which direction you are traversing them. In addition, fallen trees carefully position themselves at a height such that they're too high to step over, but too low to walk unimpeded under. Instead, they require the portager to bend their knees and walk at a half-crouch with a 55 pound canoe on their shoulders, using two hands to balance the canoe and swatting mosquitoes out of their eyes with a third. On the far side of the fallen tree is a large mudhole sprinkled with just enough rocks to let you think you can step across carrying your 70 pound canoe, but the second-to-last rock is jiggly and will cause you to slide into the mud, doing a variety of Russian squat-kicks in an attempt to stay upright with a 100 pound canoe on your shoulders. By the end of the portage, you hope the kevlar-reinforced body of your 150 pound canoe is as strong as advertised because you're dropping it like a ton of bricks.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-2BpPdZ3dElw/UF4DI7iBJCI/AAAAAAAAB60/uvi4pnv8_gg/s1600/100_1074.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://1.bp.blogspot.com/-2BpPdZ3dElw/UF4DI7iBJCI/AAAAAAAAB60/uvi4pnv8_gg/s400/100_1074.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Sherpas were available on select portages and took payment in granola bars.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-0C3ZhDbpup4/UF4DK6fwCYI/AAAAAAAAB68/nZPU1Jh5Hdc/s1600/100_1076.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://3.bp.blogspot.com/-0C3ZhDbpup4/UF4DK6fwCYI/AAAAAAAAB68/nZPU1Jh5Hdc/s400/100_1076.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">At one point we crammed 6 people (5 pictured + photographer) into a canoe, bringing back memories of college dorm rooms past.</td></tr>
</tbody></table>
<br />
Another group of people were scheduled to join us, so one of our canoes returned to the entrance point to meet them. Along the way they discovered a rucksack of food lying forgotten by a portage, left by whom we shall not say, except that in our defense Jon and I had a lot of other group gear in our canoe and had assumed that someone else had grabbed the rucksack.<br />
<br />
It will be an indication of how much food was brought that the missing food had not been noticed, and probably wouldn't have until the end of the trip, except that our choice of Helpers would have been more limited.<br />
<br />
Also, the realization that a bag full of food had been lying on the ground for three days with no ursine consequences left a vague feeling of dissatisfaction with the amount of effort we had gone through to get our bear-bag into a tree. That night's effort would be much less enthusiastic.<br />
<br />
With the new crowd, we moved camp to an island on Shell Lake. Again, the group split up, with the older, more decrepit demographic setting up camp on a lush, pine-dotted promontory. The younger group took a second campsite halfway along the island.<br />
<br />
At the second campsite, the Forest Service-provided latrine followed the letter, if not the spirit, of the law. It was carefully positioned the correct 150 feet away from camp, but had a beautiful line-of-sight into the heart of camp, allowing one to feel fully involved in the variety of camp activities no matter what local business was in process of being handled.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-NphXWEruJE8/UF4DNBbgcsI/AAAAAAAAB7I/ycHk9ORuQUY/s1600/100_1081.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://1.bp.blogspot.com/-NphXWEruJE8/UF4DNBbgcsI/AAAAAAAAB7I/ycHk9ORuQUY/s400/100_1081.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">New campsite on island</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-oMdgGPgLtAc/UF59be-ayOI/AAAAAAAAB9A/wKt_5hGO_tk/s1600/100_1083.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-oMdgGPgLtAc/UF59be-ayOI/AAAAAAAAB9A/wKt_5hGO_tk/s1600/100_1083.JPG" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The island was haunted by toads, which as far as haunts are concerned are relatively mild.</td></tr>
</tbody></table>
<br />
Eric's luck in fishing was holding, in that he was catching nothing. All around him small children were hauling in walleye and small-mouth bass hand over bobber, while his line remained stubbornly limp. One time he had a nibble, but it was just a lilypad. While retrieving his line he pulled a little too hard and shot his leech across an observer's starboard bow, and after that his constant collection of onlookers gave him a little more room. It was hard to stay away, however--watching his curse unfold held a certain morbid fascination, like watching an extremely slow, boring, and watery train wreck.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LzCmeV-3Ezw/UF4DPBJi85I/AAAAAAAAB7Q/uHf8qZqjKyQ/s1600/100_1083.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<b>Day 5</b><br />
<br />
Yet another beautiful day. Any rain was nothing more than an amusing chuckle at past worries. There was swimming, hiking, games of capture-the-flag, and of course, day canoe trips to various locations.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-2rfSR3R7HtA/UF4DRYCkLnI/AAAAAAAAB7Y/nq1fNtXfXfk/s1600/100_1088.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://3.bp.blogspot.com/-2rfSR3R7HtA/UF4DRYCkLnI/AAAAAAAAB7Y/nq1fNtXfXfk/s400/100_1088.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Some lakes had enough vegetation that they were difficult to tell from the land. On one excursion, Jon and I got a half-mile inland before we realized we had missed a turn in the creek.</td></tr>
</tbody></table>
<br />
Returning from visiting a neighboring lake, Jon and I encountered
another canoeist who warned us that the "gestapo" were in the vicinity checking canoing and fishing permits. Later that evening the green-clad rangers
stopped by our camp. Despite the canoeist's warning, any resemblance to
Nazi enforcers was strictly superficial--not a jackboot, riding crop, or goosestep to
be seen. In fact, they were very pleasant and casually chatted for a
few minutes, glanced briefly at our boat permit, and moved out to the
lake to do a little fishing. <br />
<br />
Having observed Eric's difficulty with fishing, Aunt Kristi took it upon herself to break his curse. After gathering their fishing poles and carefully selecting the largest, most succulent leeches, Kristi led the way up the shoreline, confident of success. <br />
<br />
Five minutes later they were back, Eric dripping head-to-toe with a sodden hat sitting crooked on his head. His curse had chewed him up and spit him out. Apparently a wayward cast had gone into a tree, and when he stepped on a log to retrieve it, the log had turned out to be floating over six feet of water. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-SMbF1-wKCDw/UF4DToXlWeI/AAAAAAAAB7g/NBcYiN9dpaY/s1600/100_1099.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-SMbF1-wKCDw/UF4DToXlWeI/AAAAAAAAB7g/NBcYiN9dpaY/s400/100_1099.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Eric's lack of luck did not extend to the rest of the group.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-K_8-HvC1ing/UF4DUFn2NvI/AAAAAAAAB7o/BJMEDdA024o/s1600/100_1110.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://2.bp.blogspot.com/-K_8-HvC1ing/UF4DUFn2NvI/AAAAAAAAB7o/BJMEDdA024o/s400/100_1110.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This beaver was a nightly visitor to the shore by the campsite.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-g8x_PsGL2U4/UF4DWFP011I/AAAAAAAAB70/PEtcl0z_XRM/s1600/100_1113.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://4.bp.blogspot.com/-g8x_PsGL2U4/UF4DWFP011I/AAAAAAAAB70/PEtcl0z_XRM/s400/100_1113.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">View of the campsite.</td></tr>
</tbody></table>
With more lightning in the distance that evening, I was worried that the rain we had managed to avoid so far would be unleashed in a downpour of belated intensity. There were a handful of intrepid trip participants who were sleeping under the stars, so I passed along a tarp I had been using as a tent awning.<br />
<br />
A short while later, they decided to move away from the pile of lightning-attracting metal canoe paddles by the shore and set up camp in a clearing further into the woods. As we started hanging the tarp, it started to sprinkle. We picked up the pace, anticipating a downpour at any moment. As we finished setting the tarp up, however, the sprinkling stopped, having pleasantly cooled the air. Still, there was ominous thunder rumbling, so the group crowded under the tarp for the night.<br />
<br />
So close to nature, encounters were bound to happen. Notable quote from that night: "I was not expecting to find a frog in my pajamas." So true. No one does.<br />
<br />
Before the trip, anticipating lazy afternoons and long evenings, I had stocked up on Louis L'Amour books. Tragedy struck this evening, however: having finished my current book, I discovered that my last one was missing. Civilization suddenly seemed distant and ennui promptly set in.<br />
<br />
<b>Day 6</b><br />
<br />
The morning was cold and cloudy. Jackets were broken out and breakfast fires were built. I toasted a bagel on a home-built toaster made from weaving a forked stick together, which worked out well until the toaster caught fire and the forks of the stick sprang apart, sending my bagel shooting across camp.<br />
<br />
With no Louis L'Amour to occupy my time, I decided to expand the open-air sleepers' simple tarp covering. Other members of the camp were also bored, and soon we had seven amateur Frank Lloyd Wrights designing an elaborate structure.<br />
<br />
After scaling down initial aspirations of a three-story Robinson Crusoesqe treehouse, we started threading together tarps and ponchos into a patchwork covering that gave the finished product its name of "Franken-tent." While not particularly spacious, it was reasonably comfortable and provided protection from the elements. Not that the protection was particularly needed. The elements were already starting to revert back to their persistent sunniness, providing a distressing lack of the misery that makes for the best camping stories.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-yzU4iBHffts/UF4DYK-9ODI/AAAAAAAAB78/KmBzvZ3w9M0/s1600/100_1127.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://3.bp.blogspot.com/-yzU4iBHffts/UF4DYK-9ODI/AAAAAAAAB78/KmBzvZ3w9M0/s400/100_1127.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Franken-tent</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-xf-VFVYQpbo/UF4Dap-otwI/AAAAAAAAB8E/pRUxcoES1hw/s1600/100_1128.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-xf-VFVYQpbo/UF4Dap-otwI/AAAAAAAAB8E/pRUxcoES1hw/s400/100_1128.JPG" width="400" /></a></div>
<br />
Later that afternoon we played capture-the-flag, where an enemy amphibious assault across the narrow bay that separated our flag stations was met by wet grass cleverly placed on the steep rocks in such a way as to maximize the opponents' probability of breaking an ankle. The attack was successfully repulsed and our team ended up victorious.<br />
<br />
To warm up, Eric built a lean-to fire, which his wife unkindly compared to a structure closer to a crackhouse, but it got the job done.<br />
<br />
One additional happiness: the prodigal Louis L'Amour book was found. The vacation was saved.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-16vyhvEsgJw/UF4DcmJOOKI/AAAAAAAAB8M/yLaPmJol254/s1600/100_1132.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-16vyhvEsgJw/UF4DcmJOOKI/AAAAAAAAB8M/yLaPmJol254/s400/100_1132.JPG" width="400" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-2U-d_hRnfEA/UF4DefHK98I/AAAAAAAAB8U/4RVBsiyoarE/s1600/100_1136.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="http://2.bp.blogspot.com/-2U-d_hRnfEA/UF4DefHK98I/AAAAAAAAB8U/4RVBsiyoarE/s400/100_1136.JPG" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arcane rituals were practiced ("playing with fire")</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-Oh5KdhE-Dm4/UF4DgkvM-0I/AAAAAAAAB8g/ANoGSLeD-Jc/s1600/100_1139.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://1.bp.blogspot.com/-Oh5KdhE-Dm4/UF4DgkvM-0I/AAAAAAAAB8g/ANoGSLeD-Jc/s400/100_1139.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Portaging. While not obvious from the picture, the canoe was constructed from an alloy of lead and brick, as I quickly deduced after five minutes of carrying it.</td></tr>
</tbody></table>
<br />
<b>Day 7</b><br />
<br />
The final day of our adventure arrived, with more witheringly good weather. With only hours to go before leaving, Eric decided to have one last go at breaking his fishing curse. I threw together a pole made with a stick, six foot length of fishing line, a hook, bobber, and worm scrounged from beneath a rock. Taking the pole along the shoreline, we found a deep, dark hole, and Eric dropped the line in. Minutes later, there was a tug on his line and he pulled out an eight-inch bass. It wouldn't have won any prizes, but it was a fish. His curse was broken.<br />
<br />
Eric was happy, but it seemed tinged with a little apprehension. Kristi put her finger on the likely reason. "Until now, he's been able to blame not catching fish on his curse. Now, if he doesn't catch fish, he's just a bad fisherman." A good point. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-N4WBJdq4OcM/UF4Di6Y9_0I/AAAAAAAAB8o/7rJC_8RNHds/s1600/100_1145.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="http://2.bp.blogspot.com/-N4WBJdq4OcM/UF4Di6Y9_0I/AAAAAAAAB8o/7rJC_8RNHds/s400/100_1145.JPG" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Photographic evidence of the breaking of Eric's curse.</td></tr>
</tbody></table>
The trip back to our original entry point was quick, the additional gear and number of people that had joined us midweek offset by the canoing skills gained over the duration of the trip. We smiled with kindly tolerance at the flailing strokes of groups we passed that were just beginning their trips, while our flashing paddles cut cleaning and smoothly through the water. Portages were crossed efficiently and smoothly, with little to no gear left behind. We had come far, and not just milage-wise (kilometer-wise for the portions of the trip done through Canadian waters).<br />
<br />
We were canoeists.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-33613461.post-87622224261055711032012-09-21T08:52:00.001-06:002012-09-21T08:52:17.628-06:00SeagullsA little while ago we visited the beach with two of my sisters and brother-in-laws. While we sat under an umbrella admiring the waves, a large seagull landed nearby, inspecting us carefully. With eight kids running around, the ground was littered with a collection of cheez-its, fruit-loops and granola bars. <br />
<br />
Satisfied that he had parked himself in a prime location and was first in line for when we left, he started preening his feathers. "Hey, Ash, go chase the seagull," I told her. She was more interested in sucking down a fruit juice and refused.<br />
<br />
I moved on to various other children, all of whom indicated that their snacks, shade, or sand activities were all of more interested, helped by the fact that the seagull was as large as most of them. Finally, one small niece agreed to chase the seagull, under full assurances that the bird would immediately fly away as soon as she was near. She dug herself a starting block in the sand and took off running.<br />
<br />
To her (and the adults') surprise, she arrived at the seagull without it flapping off. It had been momentarily distracted by a itch and its head was buried under a wing. The niece stood there a little confusedly, two feet from the bird, unsure what her next move was. <br />
<br />
The bird finally looked back up, satisfied that the itch had been vanquished. It took a moment to register that there was a small child two feet away, then the seagull exploded in a feathery ball of squawking and flapping that seemed to levitate off the ground before shooting off over the sand.<br />
<br />
Something tells me that the seagull will keep a weather eye out next time it scratches and itch, and my niece didn't show much inclinations to chase seagulls after that.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-22920407608955895382012-08-24T13:55:00.004-06:002012-08-24T13:55:57.220-06:00Robots!A coworker took this picture at our latest demo.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-dqedCXCZ1MQ/UDfcOKouRcI/AAAAAAAAB4U/DL5Kj4MHRB8/s1600/PANO_20120822_170753.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="http://1.bp.blogspot.com/-dqedCXCZ1MQ/UDfcOKouRcI/AAAAAAAAB4U/DL5Kj4MHRB8/s400/PANO_20120822_170753.jpg" width="400" /></a></div>
<br />Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-33613461.post-67211317239310189212012-06-26T15:32:00.004-06:002012-06-26T15:32:41.968-06:00Healthy LivingAs my better half, KLa is in charge of making sure I don't die before she does and leave her saddled with a bunch of medical bills related to my debaucherous, pre-marriage cuisinic lifestyle of frozen pizzas, ramen noodles, and peanut-butter crackers (hey, peanuts are practically vegetables!).<br />
<br />
As a result, she makes us healthy meals full of fruits, vegetables, and grains who would turn up their noses at the thought of processing, sneer at artificial flavors, and turn green at the sight of red dye #40.<br />
<br />
Ever in pursuit of the pinnacle of haleness, however, she went hunting for a healthier alternative to our usual breakfast oatmeal. I suspect that as a common ingredient in cookies it's guilty by association, but KLa refuses to confirm or deny this.<br />
<br />
Anyway, a couple mornings ago she presented me with a bowl of quinoa, which I believe is Spanish for "a bowl of oddly-texured brown and yellow seeds that look like frog-eyes." According to the <a href="http://en.wikipedia.org/wiki/Quinoa" target="_blank">wiki page</a> it's related to "pitseed goosefoot," which I think says it all. It's how I always imagined eating plankton would feel like, and yes, as a fan of <a href="http://en.wikipedia.org/wiki/Kon-Tiki" target="_blank">Kon-Tiki</a> I've imagined what eating plankton would be like.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://upload.wikimedia.org/wikipedia/commons/4/43/Red_quinoa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="http://upload.wikimedia.org/wikipedia/commons/4/43/Red_quinoa.png" width="320" /></a></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-26488434841775789622012-06-04T11:39:00.000-06:002012-12-05T14:03:34.615-07:00Debugging mutex locks in threaded programs using GDBA common problem I have while debugging a threaded program is trying to determine which thread currently has a mutex lock when another thread is stuck waiting at the lock. This could be because the two threads are deadlocked, or perhaps the first thread simply forgot to unlock the mutex.<br />
<br />
Piecing together information from <a href="http://stackoverflow.com/questions/3483094/is-it-possible-to-list-mutexs-which-a-thread-holds" target="_blank">StackOverflow</a> and my own experience, here's a possible way to go about it:<br />
<br />
<b>1. Run your program using GDB</b><br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
$ gdb program</div>
<div style="font-family: "Courier New",Courier,monospace;">
</div>
<div style="font-family: "Courier New",Courier,monospace;">
(gdb) run</div>
<br />
<b>2. When the program freezes, stop it using Ctrl-C</b><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">^C</span><br />
<span style="font-family: "Courier New",Courier,monospace;">Program received signal SIGINT, Interrupt.</span><br />
<span style="font-family: "Courier New",Courier,monospace;">0x0012d422 in __kernel_vsyscall ()</span><br />
<br />
<b>3. Do a backtrace to see where we're deadlocked.</b><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">(gdb) backtrace</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">#0 0x0012d422 in __kernel_vsyscall ()</span><br />
<span style="font-family: "Courier New",Courier,monospace;">#1 0x0013aaf9 in __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142</span><br />
<span style="font-family: "Courier New",Courier,monospace;">#2 0x0013613b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0</span><br />
<span style="font-family: "Courier New",Courier,monospace;">#3 0x00135f61 in <b>__pthread_mutex_lock</b> (mutex=0xb2601660) at pthread_mutex_lock.c:61</span><br />
<span style="font-family: "Courier New",Courier,monospace;">#4 0x08167cc9 in ObjectManager::lockObject (this=0x8280998, ObjectId=2992640368) at program/src/ObjectManager.cpp:1212</span><br />
<span style="font-family: "Courier New",Courier,monospace;">#5 0x08164929 in ObjectManager::executeActions (this=0x8280998, actions=...) at program/src/ObjectManager.cpp:424</span><br />
<span style="font-family: "Courier New",Courier,monospace;">#6 0x08174d09 in main (argc=1, argv=0xbffff6b4) at program/src/main.cpp:110</span><br />
<br />
From this, we can see that we're stuck at line 1212 in ObjectManager.cpp (frame 4). (Look for the frame right before the frame containing <span style="font-family: "Courier New",Courier,monospace;">__pthread_mutex_lock</span>)<br />
<br />
<b>4. Switch to the frame.</b><br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
(gdb) frame 4</div>
<span style="font-family: "Courier New",Courier,monospace;">#4 0x08167cc9 in ObjectManager::lockObject (this=0x8280998, ObjectId=2992640368) at program/src/ObjectManager.cpp:1212</span><br />
<span style="font-family: "Courier New",Courier,monospace;">1212 pthread_mutex_lock(&mutex);</span><br />
<br />
<b>5. Determine which thread currently holds the lock we're attempting to obtain.</b><br />
<br />
Look for the mutex.__data.__owner value. This is a thread ID, or in GDB parlance, a light-weight process (LWP) ID.<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
(gdb) print mutex</div>
<span style="font-family: "Courier New",Courier,monospace;">$2 = {__data = {__lock = 2, __count = 0, __owner = <b>19617</b>, __kind = 0, __nusers = 1, {__spins = 0, __list = {__next = 0x0}}}, __size = "\002\000\000\000\000\000\000\000\241L\000\000\000\000\000\000\001\000\000\000\000\000\000", </span><br />
<span style="font-family: "Courier New",Courier,monospace;"> __align = 2}</span><br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
(gdb) info threads</div>
<div style="font-family: "Courier New",Courier,monospace;">
9 Thread 0xb47d0b70 (LWP 19619) 0x0012d422 in __kernel_vsyscall ()<br />
8 Thread 0xb4fd1b70 (LWP 19618) 0x0012d422 in __kernel_vsyscall ()<br />
7 Thread 0xb57d2b70 (LWP <b>19617</b>) 0x0012d422 in __kernel_vsyscall ()<br />
6 Thread 0xb5fd3b70 (LWP 19616) 0x0012d422 in __kernel_vsyscall ()<br />
5 Thread 0xb67d4b70 (LWP 19615) 0x0012d422 in __kernel_vsyscall ()<br />
4 Thread 0xb6fd5b70 (LWP 19614) 0x0012d422 in __kernel_vsyscall ()<br />
3 Thread 0xb77d6b70 (LWP 19613) 0x0012d422 in __kernel_vsyscall ()<br />
2 Thread 0xb7fd7b70 (LWP 19610) 0x0012d422 in __kernel_vsyscall ()<br />
* 1 Thread 0xb7fd8800 (LWP 19607) 0x0012d422 in __kernel_vsyscall ()</div>
<span style="font-family: "Courier New",Courier,monospace;"></span><br />
<b>6. Switch to the owning thread.</b><br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
(gdb) thread 7</div>
<span style="font-family: "Courier New",Courier,monospace;">[Switching to thread 7 (Thread 0xb57d2b70 (LWP 19617))]#0 0x0012d422 in __kernel_vsyscall ()</span><br />
<br />
At this point, you could run a backtrace on the owning thread to see what it's doing and perhaps get clues as to why it never unlocked the mutex our original thread is still gamely waiting for.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-33613461.post-51922425638655010302012-06-02T21:58:00.000-06:002012-06-02T21:58:17.008-06:00BeesJust a quick picture of our bees!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-YavEHjJKh5E/T8rgqMhdANI/AAAAAAAAB4E/HyTmZTqYKTs/s1600/bees.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-YavEHjJKh5E/T8rgqMhdANI/AAAAAAAAB4E/HyTmZTqYKTs/s400/bees.jpg" width="400" /></a></div>
<br />Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-33613461.post-33066938944673337892012-05-28T21:45:00.000-06:002012-05-28T21:47:08.560-06:00Fence II: The Return of the Fence's RevengeDespite naturally missing my wife and daughter terribly, with them on vacation, today was a great day for getting things done. I tackled the fence on the right side of the house and even without missionaries from church to dig the postholes it was fairly easy going.<br />
<br />
Unlike the <a href="http://46dogs.blogspot.com/2012/04/pictures.html" target="_blank">left side </a>of the house with its five sections, steep hill, nearby tree, and double-wide gate, this piece was only two eight-foot sections on flat ground. The most complicated part was figuring out how to join it with the Leaning Tower of Cheap Engineering that was the remains of the previous fence.<br />
<br />
Fortunately, it was tilting enough that the termites apparently had a hard time keeping their footing and had left enough wood that it was still somewhat translucent. I decided to salvage what I could, but some of it was bad enough that it had to go. As I dug up one of the posts that I was going to replace, I was amazed by how little concrete the builders had originally used. No wonder it was leaning! I've seen more concrete stuck in the treads of my tires.<br />
<br />
The finished product was decent (guess which half is the new half):<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Dy2BUTXGic4/T8Q7iKF16oI/AAAAAAAAB3k/jtlxzxBaSUo/s1600/20120528_185458.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-Dy2BUTXGic4/T8Q7iKF16oI/AAAAAAAAB3k/jtlxzxBaSUo/s320/20120528_185458.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-AoQ9pGKY3tU/T8Q7fGu6K3I/AAAAAAAAB3c/tgmRcMXNOV4/s1600/20120528_185435.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-AoQ9pGKY3tU/T8Q7fGu6K3I/AAAAAAAAB3c/tgmRcMXNOV4/s320/20120528_185435.jpg" width="320" /></a></div>
<br />
When our company had moved into its new building, the landlord was going to throw away some old chain-link fence material, so I had borrowed the U-Haul our company was using and took it home instead. This is what I still have left after doing the fence today:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-kGpd67WqTXY/T8RDVEvhFrI/AAAAAAAAB34/ue7PalYW8rc/s1600/P5280006.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-kGpd67WqTXY/T8RDVEvhFrI/AAAAAAAAB34/ue7PalYW8rc/s320/P5280006.JPG" width="320" /></a></div>
<br />
While an elephant-proof fence is a laudable goal, an eight-foot tall gate has a certain imposing feel that could be a little off-putting to neighbors and visiting relatives, and perhaps lead to passing policemen wondering if we were <a href="http://46dogs.blogspot.com/2011/12/hello-all-in-revered-tradition-ofyear.html" target="_blank">growing marijuana</a> in our backyard. Then again, maybe they wouldn't care. Anyway, I bought a metal-cutting blade, took my handy Sawz-All, and trimmed two feet off the gate:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-t_gcFOrZDwg/T8RDSy1D5sI/AAAAAAAAB3w/lEqjQh7dQm8/s1600/P5280005.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-t_gcFOrZDwg/T8RDSy1D5sI/AAAAAAAAB3w/lEqjQh7dQm8/s320/P5280005.JPG" width="240" /></a></div>
<br />
When mounted, it looked a little...headless, but that didn't affect operations. At least we don't have to worry about Ash being carted off by coyotes now! Or at least once I mount a latch of some kind. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-2V4iuNtu3Ws/T8Q7Zqiv1PI/AAAAAAAAB3M/EXBsFe99d60/s1600/20120528_185403.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-2V4iuNtu3Ws/T8Q7Zqiv1PI/AAAAAAAAB3M/EXBsFe99d60/s320/20120528_185403.jpg" width="240" /></a></div>
<br />
All in all, a good day's project. Next up, the 130 feet of fence at the back of our property! And by next, I mean of course next year.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Pj3ozu4eCfA/T8Q7cA_LSRI/AAAAAAAAB3U/mKHIjxs5MK0/s1600/20120528_185417.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-Pj3ozu4eCfA/T8Q7cA_LSRI/AAAAAAAAB3U/mKHIjxs5MK0/s320/20120528_185417.jpg" width="320" /></a></div>
<br />
<br />
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-33613461.post-13633032219862178072012-05-25T09:34:00.003-06:002012-05-25T09:34:28.465-06:00Free TimeAn apparent side-effect of KLa and Ash being on vacation is that I have lots of time to blog.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-48058930184802197652012-05-25T09:33:00.001-06:002012-05-25T10:27:04.781-06:00Future Politicians, TodayI can't be the only one wondering how the politicians of tomorrow are going to spin the Facebook posts and Twitter tweets that they're generating today. <br />
<br />
During any given election season, political mudslingers dig up old college newsletters or newspaper articles where their opponents may have said something potentially spin-worthy. Their resources are limited, however, and rarely extend past the point that their opponent became a public figure and therefore news-worthy.<br />
<br />
Nowadays, however, anywhere between 25% and 50% of Americans have Facebook accounts, and that probably skews young. There will be no shortage of embarrassing photos, awkward tweets, and ill-advised posts made in a brief moment of insanity (the so-called "teenage years").<br />
<br />
The more I thought about it, though, the more I started to lean towards "it won't matter." Politicians are naturally shameless to begin with and besides, these social media accounts are so ubiquitous that their opponents will probably have one too, leading to a <a href="http://en.wikipedia.org/wiki/Mutual_assured_destruction" target="_blank">MAD </a>scenario.<br />
<br />
Regardless, it will be interesting to see how it plays out. With Myspace and Facebook hitting nine and eight years old, respectively, the standard teenage early-adopter will be halfway through their law degree by now. Give them another decade and we'll start to see the fireworks.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-33613461.post-84054929481655501232012-05-25T09:19:00.004-06:002012-05-25T10:28:59.243-06:00Vacation Pros and ConsPros and cos of KLa and Ash being on vacation:<br />
<br />
Pros:<br />
<ul>
<li>I vacuumed an entire floor without the vacuum being unplugged even once.</li>
<li>I got to sleep in until 6:45 am</li>
<li>I took an entire shower without having to lean out dripping wet to lift someone onto the potty.</li>
</ul>
Cons:<br />
<ul>
<li>I didn't get to chase a squealing and laughing two-year-old around with the vacuum.</li>
<li>I woke up alone in bed, without a wife to drape an arm over or a two-year-old climbing in saying, "Food time?"</li>
<li>I had a cheese sandwich for breakfast instead of an omelette or banana-raisin waffles. </li>
</ul>
Not sure if I'll survive two weeks.Unknownnoreply@blogger.com0