<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24008968</id><updated>2011-09-28T09:51:12.420-07:00</updated><title type='text'>Keith's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24008968.post-1300417751522392426</id><published>2007-01-31T16:25:00.000-08:00</published><updated>2007-01-31T16:27:26.544-08:00</updated><title type='text'>We have a winner</title><content type='html'>First post in awhile...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;While doing some code merging today, we found this&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;n += lpad = ( n += rpad ) % 2;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: times new roman;"&gt;&lt;/span&gt;&lt;/span&gt;Just sit and enjoy that for a moment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-1300417751522392426?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/1300417751522392426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=1300417751522392426' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/1300417751522392426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/1300417751522392426'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2007/01/we-have-winner.html' title='We have a winner'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115712411821875450</id><published>2006-09-01T08:12:00.000-07:00</published><updated>2006-09-01T08:21:58.236-07:00</updated><title type='text'>Waiting outside my door</title><content type='html'>I found this waiting outside my door this morning.  I grabbed my camera, and snapped some shots.  Macro shots are tricky while hand-held, but I got one sharp picture of it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/green-spider.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/green-spider.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In this 100% crop, you can see the eye cluster quite clearly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/green-spider-eyes.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/green-spider-eyes.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115712411821875450?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115712411821875450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115712411821875450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115712411821875450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115712411821875450'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/09/waiting-outside-my-door.html' title='Waiting outside my door'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115695302443334244</id><published>2006-08-30T08:40:00.000-07:00</published><updated>2006-08-30T08:50:24.446-07:00</updated><title type='text'>Car woes</title><content type='html'>Last weekend, I turn my car on, only to discover that the engine began making a very loud and unpleasant noise.  I then got out and opened up the hood.  The engine was violently shaking forward and backward!&lt;br /&gt;&lt;br /&gt;I later tried it with the A/C off, and it didn't have the problem.  So I took it to the local Pep Boys, and they told me it would cost about $500 to fix, oy.&lt;br /&gt;&lt;br /&gt;So, in frustration, I started looking at new cars.  The &lt;a href="http://automobiles.honda.com/models/model_overview.asp?ModelName=Insight"&gt;Honda Insight&lt;/a&gt;, with it's impressive 66 MPG caught my eye.  However, there aren't any available for test driving anywhere in the area.  That's the problem with a low production vehicle.&lt;br /&gt;&lt;br /&gt;At the Honda dealer, I test drove a 2003 Honda Civic Hybrid, and a brand new &lt;a href="http://automobiles.honda.com/models/model_overview.asp?ModelName=Civic+Sedan"&gt;2006 Honda Civic&lt;/a&gt;.  The '06 Civic Hybrid only comes in CVT, and I want manual, so I didn't bother test driving one.&lt;br /&gt;&lt;br /&gt;Both Civics drove well, but the clutch engages right at the floor.  I'm used to a car that engages at about 25% of the clutch throw.  This simply meant my test drive was a little shakey and uncoordinated.&lt;br /&gt;&lt;br /&gt;I was quite amazed by the short throw and power of the new Civic.  It's 140 horsepower really outshines my current Civic's 116.&lt;br /&gt;&lt;br /&gt;In the end though, with even the used hybrids going for $18K+, and the new Civic about the same, I decided to keep and fix my current car, and go for something new in a year or two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115695302443334244?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115695302443334244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115695302443334244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115695302443334244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115695302443334244'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/08/car-woes.html' title='Car woes'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115575462356251177</id><published>2006-08-16T11:42:00.000-07:00</published><updated>2006-08-21T15:04:50.443-07:00</updated><title type='text'>The power of clipart</title><content type='html'>Today I gave a presentation on a the software I've been working on since April.  The audience was technical, and I knew they would scrutinize everything from my design decisions to my implementation choices.  Knowing this, I knew I had to make a powerpoint presentation that would wow them.  I found the answer, clipart.&lt;br /&gt;&lt;br /&gt;The clipart both amused, and relaxed the people in the meeting.  They all loved to see which clever little graphic might grace the next slide.  Doing a presentation?  I highly recommend relevant but cute clipart.&lt;br /&gt;&lt;br /&gt;Here are some examples of the clipart I used&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/clipart.gif"&gt;&lt;img style="cursor: pointer;" src="http://www.keith-roberts.com/blog/clipart.gif" alt="" border="0" /&gt;&lt;/a&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/Picture2.gif"&gt;&lt;img style="cursor: pointer; width: 131px; height: 227px;" src="http://photos1.blogger.com/blogger/7505/2138/320/Picture2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/Picture3.png"&gt;&lt;img style="cursor: pointer; width: 198px; height: 186px;" src="http://photos1.blogger.com/blogger/7505/2138/320/Picture3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115575462356251177?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115575462356251177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115575462356251177' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115575462356251177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115575462356251177'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/08/power-of-clipart.html' title='The power of clipart'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115497181452915326</id><published>2006-08-07T10:17:00.000-07:00</published><updated>2006-08-07T10:33:18.716-07:00</updated><title type='text'>Bouldering at Pirate's Cove</title><content type='html'>This Sunday I climbed at a small little sandstone crag called Pirate's cove in Corona Del Mar.  It's a line of about 15 foot tall cliffs along a sandy beach right next to Newport Harbor.&lt;br /&gt;&lt;br /&gt;The climbing was less than stellar, as many of the holds are made of sand, and basically you end up rubbing them down with each climbing attempt.  Also, with sand on the bottom of your shoes, the holds are dreadfully slippery.  This being a bouldering crag (no ropes), you also have to deal with the fact that if your foothold blows then you fall (on sand, (or people)).  There was one fun traverse that involved getting one hand on a big sloping hold, and swinging your feet out without footholds, then grabbing the huge handhold with the other hand.&lt;br /&gt;&lt;br /&gt;The bizarre part was when this lifeguard came up to us, and went on a rant about how when we climb, little kids there see us and want to emulate us.  Then they fall and get hurt.  So therefore we shouldn't climb.  "Think of the children!"  We climbed anyway, but mentioned to any kids that happened to look our way that they shouldn't try this at home.&lt;br /&gt;&lt;br /&gt;The beach was pretty disgusting actually.  There was a ton of trash, and actually a few used diapers just sitting on the beach!  It's a sad state where some people care so little that they would just leave a diaper sitting on a public beach!  Before lunch, we washed our hands *very* well, due to the probable high bacterial content of the sand there. &lt;br /&gt;&lt;br /&gt;Probably not a crag I'll be going to again.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/1173840.06N08BalboaDepart3o3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/1173840.06N08BalboaDepart3o3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115497181452915326?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115497181452915326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115497181452915326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115497181452915326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115497181452915326'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/08/bouldering-at-pirates-cove.html' title='Bouldering at Pirate&apos;s Cove'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115448120932719384</id><published>2006-08-01T18:10:00.000-07:00</published><updated>2006-08-01T18:13:29.340-07:00</updated><title type='text'>New Super Mario!</title><content type='html'>An update on the new DS game I bought, New Super Mario Bros.  It's awesome!&lt;br /&gt;&lt;br /&gt;It's just like playing the original all those many years ago on my Nintendo, but with graphics just improved enough to look good, but not enough to take away from the gameplay.  Speaking of the gameplay, it's basically Super Mario Bros style with many SMB 3 updates.&lt;br /&gt;&lt;br /&gt;I'm just about ready to play the first castle in the first world, and I'm already hooked.&lt;br /&gt;&lt;br /&gt;I highly recommend this game if you happen to have a Nintendo DS.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/new-super-mario-bros-20060506070838117-000.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/new-super-mario-bros-20060506070838117-000.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115448120932719384?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115448120932719384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115448120932719384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115448120932719384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115448120932719384'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/08/new-super-mario.html' title='New Super Mario!'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115394477349405631</id><published>2006-07-26T13:02:00.000-07:00</published><updated>2006-07-26T13:15:41.330-07:00</updated><title type='text'>Out with the old, in with the New</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/supernes.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 171px; height: 147px;" src="http://photos1.blogger.com/blogger/7505/2138/320/supernes.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I pulled out the box containing my old Super Nintendo (SNES)  from the closet today.  I hadn't hooked it up for several years since I have all the ROMs and an emulator for the PC.  I even have a gravis gamepad that is similar to the SNES controller.  So, instead of throwing it out, I decided to see if I could trade it in.&lt;br /&gt;&lt;br /&gt;I went down to the town center game store, and put my SNES on the table.  The clerk was immediately excited.  His face beamed as he said, "yes, we do trade for those".  He then called the owner, and asked if he could buy it once I traded it in.  Never thought a 15 year old game system would fetch such excitement.&lt;br /&gt;&lt;br /&gt;For 1 SNES, 2 controllers, 1 Original Nintendo controller, 5 or 6 SNES games, 2 Gameboy games, and cables, he offered me $21 in store credit.  The store doesn't do cash.  Since it was ending up in the trash anyway, I took the store credit, and put it towards the new Super Mario Bros for the Nintendo DS.  Basically I got a $40 game for about $16.  And my closet has one less box occupying its space.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/mario.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 236px; height: 210px;" src="http://photos1.blogger.com/blogger/7505/2138/320/mario.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115394477349405631?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115394477349405631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115394477349405631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115394477349405631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115394477349405631'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/07/out-with-old-in-with-new.html' title='Out with the old, in with the New'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115351476580718752</id><published>2006-07-21T13:35:00.000-07:00</published><updated>2006-07-21T13:46:05.826-07:00</updated><title type='text'>Early Bird</title><content type='html'>Every day this week I was up at 5:30 AM to do some running before work.  This hasn't been my normal schedule.  In the past I was well renowned for my ability to sleep in.&lt;br /&gt;&lt;br /&gt;However, I've come to realize some things  about the morning.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Mornings are nice and peaceful.  There's a stillness and a quiet that just doesn't exist at any other time (while there is daylight anyway).&lt;/li&gt;&lt;li&gt;It's still cool in the mornings, making it ideal for summer time running.&lt;/li&gt;&lt;li&gt;When you get up at 5:30, you are at work at 7ish, and done by 4ish, that's pretty nice.  When I used to get to work at 10, I'd still be there at 7.&lt;/li&gt;&lt;li&gt;No worries about motivating yourself to work out after work.&lt;/li&gt;&lt;/ol&gt;I think I'll keep getting up early and running.  It's good training for high altitude hiking.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/mac50k.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 166px; height: 251px;" src="http://photos1.blogger.com/blogger/7505/2138/320/mac50k.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115351476580718752?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115351476580718752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115351476580718752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115351476580718752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115351476580718752'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/07/early-bird.html' title='Early Bird'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115317072790989579</id><published>2006-07-17T08:57:00.000-07:00</published><updated>2006-07-18T13:20:47.606-07:00</updated><title type='text'>Back from Europe</title><content type='html'>I have just returned from my first trip to Europe.  My sister and I went on a 2.5 week adventure through England, France, Holland, Germany, Austria, and Italy.  We saw things old and new, pious and racy, urban and natural.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I didn't expect:&lt;/span&gt; Graffiti everywhere!   It got worse as we proceeded south.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Something I learned:&lt;/span&gt; America is a wonderful place.  You truly can't appreciate it until you spend time in other countries.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Most Annoying:&lt;/span&gt; Europeans don't have the same concept of personal space, they have no problem being less than a foot from you, which can be quite uncomfortable when it's hot and you're stuck on a metro train.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Close 2nd:&lt;/span&gt; Discovering that our travel agent had booked us in a city 1.5 hours from Amsterdam, when we were there to see Amsterdam.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Most Interesting:&lt;/span&gt; Stonehenge, as well as it's history&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Least Interesting:&lt;/span&gt; Berlin.  I'd avoid the Checkpoint Charlie museum, it doesn't boast many interesting exhibits.  You get numb to seeing bigger and bigger peices of the Berlin wall.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Most Fun:&lt;/span&gt; My 600m ascent hike near Innsbruck, one of the most beautiful hikes I've ever been on.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Least Fun:&lt;/span&gt; 6 hour train rides&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Most comforable:&lt;/span&gt; Walking into our Rome accomodations with air conditions (the only air conditioned hotel in Europe apparently)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Least comfortable:&lt;/span&gt; Traveling in a couchette with 4 other people, on a hard bed with tissue paper sheets and flat pillow.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Oldest thing seen:&lt;/span&gt; Roman ruins in Rome&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Newest thing seen:&lt;/span&gt; Probably the World Cup stadium in Berlin&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pictures Taken:&lt;/span&gt; 268&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Most expensive tourist item:&lt;/span&gt; These string things that people con on you in Paris, (10 euros each!)&lt;br /&gt;&lt;br /&gt;It was a decent trip.  I'll probably go back someday, but I will take a very different trip next time.  Most likely with a concentration of hikes in the Alps.&lt;br /&gt;&lt;br /&gt;Pictures can be found at &lt;a href="http://www.keith-roberts.com/gallery2/v/EuropeTrip"&gt;http://www.keith-roberts.com/gallery2/v/EuropeTrip&lt;/a&gt;&lt;br /&gt;I'll be uploading the various countries throughout the week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115317072790989579?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115317072790989579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115317072790989579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115317072790989579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115317072790989579'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/07/back-from-europe.html' title='Back from Europe'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115092155871613561</id><published>2006-06-21T13:17:00.000-07:00</published><updated>2006-06-22T08:28:17.486-07:00</updated><title type='text'>Linking problem solved</title><content type='html'>Some time ago, I wrote in my blog about a linker problem g++ on AIX.  Something like this&lt;br /&gt;g++: -b must come at the beginning of the command line.&lt;br /&gt;&lt;br /&gt;Well, I discovered that I could replace my '-b' parameters with -Wl,-b, and the linker would accept the parameters as valid.  However, ld on AIX doesn't like this part of a singleton class.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;template &amp;lt;typename T&amp;gt; &lt;typename&gt; class Singleton&lt;/typename&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     static T* _instance;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;template &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;typename T&amp;gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;typename&gt; T* Singleton&lt;t&gt;::_instance = NULL;&lt;/t&gt;&lt;/typename&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This worked fine everywhere else, (HP-UX, Solaris, Linux, Windows, OSF) but not on AIX.&lt;br /&gt;The solution was to use a static local variable, instead of a static class variable.&lt;br /&gt;&lt;br /&gt;This seems to work, all four processes link, except one of them uses libcppunit, and this doesn't seem to work on AIX. :-(&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/aix_4.3.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/aix_4.3.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115092155871613561?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115092155871613561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115092155871613561' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115092155871613561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115092155871613561'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/linking-problem-solved.html' title='Linking problem solved'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115074406088716145</id><published>2006-06-19T12:01:00.000-07:00</published><updated>2006-06-19T12:07:40.910-07:00</updated><title type='text'>Graduation</title><content type='html'>Yesterday, my sister graduation from University of California, Riverside.&lt;br /&gt;&lt;br /&gt;After a lengthy drive all the way out to Riverside, we settled into the bleachers in the outdoor stadium at UCR.  The ceremony began at 6, and we arrived at 5 to get reasonable seats.  Imagine though, the Riverside heat, the blazing sun, and an outdoor stadium.  Not a good combination.&lt;br /&gt;&lt;br /&gt;We were lucky however.  We arrived early enough to find some seats with partial shade, that became full shade as the sun went down.  Those people on the other side, looking into the sun, were blanketed with heat for at least another hour or two.&lt;br /&gt;&lt;br /&gt;After 1.5 hours of names I couldn't pronounce, we heard my sister's name, clapped, cheered, and then went to dinner.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/graduation.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/graduation.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115074406088716145?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115074406088716145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115074406088716145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115074406088716145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115074406088716145'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/graduation.html' title='Graduation'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115048122357835909</id><published>2006-06-16T10:56:00.000-07:00</published><updated>2006-06-16T11:07:03.593-07:00</updated><title type='text'>Internationalization</title><content type='html'>My latest struggle and triumph at work involved internationalization.&lt;br /&gt;&lt;br /&gt;Throught my code, were lines like this&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;LOG( "Transfered " &amp;lt;&amp;lt; bytes &amp;lt;&amp;lt; " to server");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Which won't translate into foreign languages well because the variable bytes might need to go in a different place in the sentence, and a translator would see strings like "Transfered " and " to server", which would be hard to translate without proper context.&lt;br /&gt;&lt;br /&gt;And so I came up with the simple idea to use format specifiers.  I used the syntax from C#, and now the log line looks like this.&lt;br /&gt;LOG( "Transfered {0} bytes to server", bytes );&lt;br /&gt;&lt;br /&gt;Now a translator would see the string "Transfered {0} bytes to server", which would be much easier to translate.  As an added bonus, you can reuse the parameters ( "{0}.{1} {0}.{2}" ), and you can put them out of order (" {3}-{2}-{1} ").  Although it wasn't hard to write, I'm proud of it anyway.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/un_building2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 213px; height: 269px;" src="http://photos1.blogger.com/blogger/7505/2138/320/un_building2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115048122357835909?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115048122357835909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115048122357835909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115048122357835909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115048122357835909'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/internationalization.html' title='Internationalization'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-115013782076389074</id><published>2006-06-12T11:36:00.000-07:00</published><updated>2006-06-12T17:55:23.986-07:00</updated><title type='text'>Santa Cruz Island</title><content type='html'>This weekend I went on an overnight trip to Santa Cruz Island, part of the &lt;a href="http://www.nps.gov/chis/"&gt;Channel Islands National Park&lt;/a&gt;.  We hiked, we snorkeled, we camped, and we explored the old ruins of various ranches.&lt;br /&gt;&lt;br /&gt;This was my first attempt at snorkeling.  I could breath through the tube well enough, but the salt water kept getting into it somehow, and ended up in my sinuses, makeing my nose run.  I saw some fish, plenty of kelp, barnacles, urchins, and sea anenomes.&lt;br /&gt;&lt;br /&gt;Both days were cool and overcast in the mornings, and sunny in the afternoons.  The temperature at night was pleasant, not too cold. &lt;br /&gt;&lt;br /&gt;Next time, we will plan farther ahead of time, get kayaks, and spend two days kayaking and snorkeling.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/2737-2/P6112075.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 293px; height: 220px;" src="http://www.keith-roberts.com/gallery2/d/2737-2/P6112075.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pictures can be found at &lt;a href="http://www.keith-roberts.com/gallery2/v/SantaCruzIsland/"&gt;http://www.keith-roberts.com/gallery2/v/SantaCruzIsland/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-115013782076389074?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/115013782076389074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=115013782076389074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115013782076389074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/115013782076389074'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/santa-cruz-island.html' title='Santa Cruz Island'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114981319953697810</id><published>2006-06-08T17:29:00.000-07:00</published><updated>2006-06-09T12:37:37.266-07:00</updated><title type='text'>Ace Attourney DS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/925589_62506_front.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/200/925589_62506_front.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;During my off moments, over the past several months, I've been playing a game called "Phoenix Wright, Ace Attorney" on my Nintendo DS.&lt;br /&gt;&lt;br /&gt;The plot of the game is that you are a defense attorney, and you must investigate and defend your clients in some very interesting and convoluted cases.&lt;br /&gt;&lt;br /&gt;The game is unusual in that it's not particularly 3D, but instead focuses on discovery, logic, and analysis of clues.  I really enjoyed playing this game, and am a little sad that I finished the last case today.  If you happen to have a DS, and don't mind using many hours of your free time, I highly recommend this game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114981319953697810?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114981319953697810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114981319953697810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114981319953697810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114981319953697810'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/ace-attourney-ds.html' title='Ace Attourney DS'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114953219555050275</id><published>2006-06-05T11:25:00.000-07:00</published><updated>2006-06-05T11:31:43.893-07:00</updated><title type='text'>Malibu Creek</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/2552-1/DSCN2101.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://www.keith-roberts.com/gallery2/d/2552-1/DSCN2101.jpg" alt="" border="0" /&gt;&lt;/a&gt;This last weekend, I went to Malibu Creek again for some rock climbing with Sri, Eugene, Carrie, and Liz.  We arrived around 8:30 AM, expecting to find crowds of climbers at the Apes Wall.  However, when we got there, the place was deserted!  We set up three different top ropes, and everyone got a chance at each.   It was espescially impressive watching Eugene, Sri, and Carrie try the 11a 'Planet of the Apes' climb, the premeir climb on the wall.&lt;br /&gt;&lt;br /&gt;The day was *extremely* hot, so after climbing, we went down to the rock pool, and took a dip.  This included climbing a 12 foot boulder in the middle of the pool, and cannonballing off of it.  Eugene managed to "outsplash" me, and Sri the daredevil jumped from a much higher spot.&lt;br /&gt;&lt;br /&gt;After climbing, we all went to a pizza place in Malibu that according to Carrie "has the best pizza on the west coast".&lt;br /&gt;&lt;br /&gt;Pictures can be found at &lt;a href="http://www.keith-roberts.com/gallery2/v/MalibuCreek/"&gt;http://www.keith-roberts.com/gallery2/v/MalibuCreek/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114953219555050275?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114953219555050275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114953219555050275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114953219555050275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114953219555050275'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/malibu-creek.html' title='Malibu Creek'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114919448597530951</id><published>2006-06-01T13:33:00.000-07:00</published><updated>2006-06-01T13:41:58.883-07:00</updated><title type='text'>Pretty Slick Technology</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/i_5485.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/200/i_5485.jpg" alt="" border="0" /&gt;&lt;/a&gt; During lunch today, I took a few minutes to play 'Phoenix Wright: Ace Attourney' on my Nintendo DS.  The game follows a lawyer through several involved cases.&lt;br /&gt;&lt;br /&gt;On the current case, you are given a bottle of fingerprinting dust.  You apply the dust by tapping the lower screen with the stylus.  This in itself is impressive, the touch screen is very responsive.&lt;br /&gt;&lt;br /&gt;But the truly slick part, is how you remove the excess dust.  The game tells you to just "blow".  This stumped me at first.  I thought, "what, I'm just supposed to blow air at it?"  I tried all the other buttons, looking for a "blow air" button, but there was none to be found.  So I took a breath, and blew... and the screen responded!  Little pixular dust particles flew away as if I had blown them with my breath.&lt;br /&gt;&lt;br /&gt;At first I thought it might be sound, but it only worked if I blew directly into the little microphone slot on the bottom right.  If I covered up the slot, or I blew away from the slot, it didn't work.  My best guess is the DS hardware listens for static(blowing on a microphone), and reports it to the game.  Then the game can interpret the static how it sees fit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114919448597530951?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114919448597530951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114919448597530951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114919448597530951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114919448597530951'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/06/pretty-slick-technology.html' title='Pretty Slick Technology'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114911921410565276</id><published>2006-05-31T16:23:00.000-07:00</published><updated>2006-05-31T16:46:54.120-07:00</updated><title type='text'>Online Maps</title><content type='html'>Taking a short break from work, here is a not so comprehensive listing of "web 2.0" online mapping sites.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://maps.google.com"&gt;http://maps.google.com&lt;/a&gt; : The original.  When google maps first came out, I remember being amazed by what google had been able to do with a webpage.  They also have satellite images, with overlayed streets.  Although they were the first, and they are still the fastest, google maps feature set has been superseded.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://maps.ask.com"&gt;http://maps.ask.com&lt;/a&gt; : This one is actually my favorite.  It is almost as fast as google, and it allows for adding push-pins at any location, has the same satellite/hybrid view, and calculates routes nicely.  It even allows you to add stops, move the stops, and rearrange the stops.  And you can even convert the directions to walking directions (avoiding freeways and the like).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://maps.yahoo.com/beta/"&gt;http://maps.yahoo.com/beta/&lt;/a&gt; : I find this one quite annoying.  It's based on Flash, so it requires the flash plugin, and also responds a little slower to it's AJAX enabled counterparts.&lt;br /&gt;It has a similar concept of many stops on a route, but you can't easily move them, nor is the interface as intuitive or snappy.  Zooming in and out do this annoying scale, and then load at the new zoom level, looks pretty hokey to me.  The map itself also doesn't look as smooth&lt;br /&gt;&lt;br /&gt;&lt;a href="http://local.live.com/"&gt;http://local.live.com/&lt;/a&gt; : This is Microsoft's version.  The maps look nice, you can add pushpins, it even will show you traffic data on the freeways.  However, you can't use those pushpins in a route?  Why?  I'm not really sure what the pushpins are for if you can't use them in driving directions.  They have a really nift "Birds Eye View" of some areas where you get the satellite image tilted at an angle, so you can see building sides.  Nifty, but not available for most areas.&lt;br /&gt;&lt;br /&gt;Conclusion: Google Maps is still the best I think when all you want is a quick map, or even a quick map between two points.  But as soon as you want to specify stops, place pushpins, or do anything a little more complicated, use maps.ask.com. IMHO.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/scrolls.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 245px; height: 199px;" src="http://photos1.blogger.com/blogger/7505/2138/320/scrolls.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114911921410565276?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114911921410565276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114911921410565276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114911921410565276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114911921410565276'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/online-maps.html' title='Online Maps'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114903961118300310</id><published>2006-05-30T18:18:00.000-07:00</published><updated>2006-05-30T18:40:11.196-07:00</updated><title type='text'>Source Control</title><content type='html'>The concept of source code control is a fairly old one.  It consists of a system that allows people to modify a source file, compare differences to an old version, and to check in that file.  This allows collaboration between multiple engineers on the same source.&lt;br /&gt;&lt;br /&gt;I have used many different sorts of source control systems.  In order that I met them:&lt;br /&gt;&lt;br /&gt;Visual SourceSafe:  A Microsoft product, strictly GUI.  It's setup was kind of a nightmare, with file shares and user permissions; but once it worked, it was rather simple to use.  You quite simply checked in and out files, and you could download different versions (branches).  I liked it, and it integrated into Visual Studio so nicely.&lt;br /&gt;&lt;br /&gt;CVS:  (Concurrent Versioning System):  CVS is great because it's pretty easy to set up, quite configurable, and fairly lightweight.  It has the concept of multiple checkouts and merging, so two people can work on the same file at the same time.  I only ever had two problems with it.&lt;br /&gt;1. The file-based locking the server used kept messing up, requiring reboots.&lt;br /&gt;2. If the repository changes, and you have modified files, you might have to manually edit CVS files to update the repository location.&lt;br /&gt;&lt;br /&gt;RCS:  (Revision Control System):  I used this for quite a while at my new job, and it's a lot like CVS, but a lot simpler.  It has less options, and requires quite a bit of configuration and environment variables.  It's also a very old system, dating back to the early 80s.&lt;br /&gt;&lt;br /&gt;Subversion:  I've been using this on my new project for a few months now, and I think it's great.  The command line is beatifully simple, requiring no more than  "svn commit file.cpp" to commit a file.  It's fast, widely supported, and very featured.&lt;br /&gt;&lt;br /&gt;StarTeam: This is the new system that my product is moving towards.  It's primarily a Windows GUI product, but our source control guy has written scripts to allow for command line usage.  Although he tried to make it as simple as Subversion, it isn't quite so.  The tool requires info files to be created for every view/project you check out, and the # of command line options is a little staggering.  I imagine I'll get used to it, but I would have prefered Subversion, oh well.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/library.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 224px; height: 142px;" src="http://photos1.blogger.com/blogger/7505/2138/320/library.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114903961118300310?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114903961118300310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114903961118300310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114903961118300310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114903961118300310'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/source-control.html' title='Source Control'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114865653914517141</id><published>2006-05-26T08:09:00.000-07:00</published><updated>2006-05-26T08:15:39.160-07:00</updated><title type='text'>Too funny not to share</title><content type='html'>I ran across this "news" story today, apparently some British guy had a batleth sharpened.  The UK cops did a house raid, and found it.  The picture is priceless, some stodgy police officer holding a batleth.  Some trekkies take their Klingon props &lt;span style="font-style: italic;"&gt;very &lt;/span&gt;seriously.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thesun.co.uk/article/0,,2-2006240126,00.html"&gt;http://www.thesun.co.uk/article/0,,2-2006240126,00.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/0%2C%2C2006240197%2C00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 155px; height: 202px;" src="http://photos1.blogger.com/blogger/7505/2138/320/0%2C%2C2006240197%2C00.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114865653914517141?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114865653914517141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114865653914517141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114865653914517141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114865653914517141'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/too-funny-not-to-share.html' title='Too funny not to share'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114859028230429706</id><published>2006-05-25T13:45:00.000-07:00</published><updated>2006-05-25T13:51:22.316-07:00</updated><title type='text'>I must be getting old</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/Portrait_Old_Man.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/200/Portrait_Old_Man.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;While I was talking to someone at work today, the topic of braces came up.  We started relating our orthodontic horror stories.  In the middle, he said something along these lines,&lt;br /&gt;&lt;br /&gt;"I might be a little bit older than you, but when I was in High School in 82/83...."&lt;br /&gt;&lt;br /&gt;1982!!  I seem to recall, no wait, I don't recall the slightest bit from 1982.   Although there was probably some Sesame Street and Mr. Rogers.&lt;br /&gt;&lt;br /&gt;It must be the beard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114859028230429706?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114859028230429706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114859028230429706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114859028230429706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114859028230429706'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/i-must-be-getting-old.html' title='I must be getting old'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114843979902978670</id><published>2006-05-23T19:59:00.000-07:00</published><updated>2006-05-23T20:04:27.383-07:00</updated><title type='text'>Mini-Vin</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/38m.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/200/38m.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From the totally random dept:&lt;br /&gt;&lt;br /&gt;While taking a walk around the complex where I work, I saw this guy walking to his car.  I'd seen him around before, and everytime I see him, I think the same thing.&lt;br /&gt;&lt;br /&gt;"This guy looks just like a mini &lt;a href="http://www.imdb.com/name/nm0004874/"&gt;Vin Diesel&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;It's actually rather startling, he looks exactly like him, except that he's about 5'4".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114843979902978670?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114843979902978670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114843979902978670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114843979902978670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114843979902978670'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/mini-vin.html' title='Mini-Vin'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114801198488851959</id><published>2006-05-18T21:08:00.000-07:00</published><updated>2006-05-18T21:13:04.900-07:00</updated><title type='text'>Rude Climber</title><content type='html'>While I was climbing in the gym today, I witnessed a very poor example of climbing ettiqueite.  There was this guy there lead climbing with whom I can only suppose is his girlfriend.  She was attempting to lead a fairly overhung 5.7.&lt;br /&gt;&lt;br /&gt;She was obviously a new lead climber, as she hadn't quite figured out the ins and outs of clipping.  She clipped, and then reached under the clip to get the rope for the next clip.  Needless to say, she got herself into a mess.&lt;br /&gt;&lt;br /&gt;While she was in this connundrum, the guy belaying her was shouting things at her like "you didn't clip right!"  "you did that totally wrong"  "oh, it's so messed up, just come down!"  and the worst of all "just forget it, I'm letting you down".  Imagine him saying this in a very sarcastic, superior voice.  I looked at my belay partner and said to him, "that guy's being a total jerk, I wonder why she puts up with it?".&lt;br /&gt;&lt;br /&gt;My point is simply that, there are plenty of people climbing in a gym, no need to put up with a rude partner.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114801198488851959?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114801198488851959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114801198488851959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114801198488851959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114801198488851959'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/rude-climber.html' title='Rude Climber'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114779852593219076</id><published>2006-05-16T09:47:00.000-07:00</published><updated>2006-05-17T23:20:07.733-07:00</updated><title type='text'>Wilderness Critters</title><content type='html'>Below are some critters generally found in the wilderness.  Although they may look friendly, these are wild creatures, and should be treated as such.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/P5141856.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 206px; height: 154px;" src="http://photos1.blogger.com/blogger/7505/2138/320/P5141856.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Can you spot the frog in this picture?  He has excellent granite camoflauge.  It was so good, that I didn't notice him for several minutes, even though we were both sitting on the same rock.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/P5141872.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 204px; height: 153px;" src="http://photos1.blogger.com/blogger/7505/2138/320/P5141872.jpg" alt="" border="0" /&gt;&lt;/a&gt;    Here's a snake that seemed like he was trying to climb a sheer rock up out of the stream.  But he was actually after one of the granite frogs, that was completely invisible to my eyes until the moment the frog sensed it's impending doom and jumped to safety.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/P5141864.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 211px; height: 157px;" src="http://photos1.blogger.com/blogger/7505/2138/320/P5141864.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here's an odd woodland creature, who for some reason, is attempting to wade an ice cold stream.  You see these creatures out in the wilderness from time to time, but it's best to leave them to whatever they are doing at the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114779852593219076?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114779852593219076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114779852593219076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114779852593219076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114779852593219076'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/wilderness-critters.html' title='Wilderness Critters'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114771827412374423</id><published>2006-05-15T11:30:00.000-07:00</published><updated>2006-05-15T11:37:54.136-07:00</updated><title type='text'>Database breakage</title><content type='html'>This weekend, I was unhappy to learn that the database behind my photo gallery broke.  I went into the administration site, and saw that all the gallery tables were gone!   This obviously caused my photo gallery to provide an error messages, ERROR_STORAGE_FAILURE.  A singularly unhelpful message.&lt;br /&gt;&lt;br /&gt;Fortunately, my hosting provider has a restore feature, where I can restore database backups that occur about twice/day.  One click, and about 30 seconds later, all was well again.  However, I still don't know why it broke in the first place.&lt;br /&gt;&lt;br /&gt;On a totally unrelated note.  If you plan on sport climbing outdoors, please don't be rude and obnoxious.  Don't do things like asserting superiority, making snyde comments, and climbing directly underneath someone else.&lt;br /&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/tick.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/tick.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114771827412374423?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114771827412374423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114771827412374423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114771827412374423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114771827412374423'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/database-breakage.html' title='Database breakage'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114732300071988028</id><published>2006-05-10T21:44:00.000-07:00</published><updated>2006-05-11T16:44:45.783-07:00</updated><title type='text'>New Glasses</title><content type='html'>Today I picked up a new pair of glasses that I had ordered last week.  These new glasses are a bit of a style improvement over my last ones.  They have a much smaller, and more squarish shape.  They also are plastic lenses, which are thinner and lighter than my previous glass variants.  And a big bonus, they become clear, and not the slight yellow hue that plagued my previous pair.  The new ones also have the automatic sunglasses capability.&lt;br /&gt;&lt;br /&gt;So, in summary:&lt;br /&gt;   Upsides&lt;ul&gt;&lt;ul&gt;&lt;li&gt;thinner, lighter lenses&lt;/li&gt;&lt;li&gt;totally clear when indoors&lt;/li&gt;&lt;li&gt;more stylish        &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;    Downsides&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Right now, I have the fisheye effect going on, that will hopefully subside over the next day or so.&lt;/li&gt;&lt;li&gt;The bridge accross the nose is a little different, and I can feel it on my nose.  Hopefully this too will pass.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/glasses.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/glasses.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114732300071988028?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114732300071988028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114732300071988028' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114732300071988028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114732300071988028'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/new-glasses.html' title='New Glasses'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114710794714733196</id><published>2006-05-08T09:54:00.000-07:00</published><updated>2006-05-08T14:51:20.126-07:00</updated><title type='text'>Code Resurrection</title><content type='html'>This weekend I spent some hours resurrecting some old code I had written to present and modify a database of the various coins I had collected.  I built it originally back in 2000, and made updates over the next few years.  For some reason, I was inspired to dig it out and update it to run on my new hosting provider.  I ran into a few snags though.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The original version used ODBC to connect to SQL Server via Win32::ODBC (Perl).  My new hosting provider is Linux running MySql.  I didn't want to rewrite all the database access, so I wrote a wrapper on top of DBI::MySql that looks just like Win32::ODBC.  And it even works!&lt;/li&gt;&lt;li&gt;Originally, it ran in one directory, /coins, with the code in /coins/cgi-bin, and the images in /images/coins.  Now it runs in /cgi-bin/coins, and /coins/images.  This required a tedious search and replace&lt;/li&gt;&lt;li&gt;I only had an Access database containing the actual data.  I had to export as CSV, and write a program to turn those files into SQL insert statements.&lt;/li&gt;&lt;li&gt;The data I have is not the latest version, but the code is the latest, so the code uses some fields that don't exist in the data, most notabely some of the auto price update stuff I wrote.&lt;/li&gt;&lt;li&gt;It's really a 2000 website, complete with frames, "pure" HTML (no CSS), and even a client side image map!&lt;/li&gt;&lt;/ul&gt;It's not quite ready yet, so it's not viewable to the general public.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/coin.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.keith-roberts.com/blog/coin.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114710794714733196?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114710794714733196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114710794714733196' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114710794714733196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114710794714733196'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/code-resurrection.html' title='Code Resurrection'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114697841224663741</id><published>2006-05-06T22:00:00.000-07:00</published><updated>2006-05-06T22:45:37.843-07:00</updated><title type='text'>Carnivorous Herbivore</title><content type='html'>Today for lunch, I had two corn dogs.  These were not your normal corn dogs.  They had the same warm, soft outer corn based shell, a pink, highly processed hot dog at the core, and a stick up through the center.  However, these dogs contained no meat.  They were a clever infusion of soy and chemicals to produce a perfect synthetic meat that tastes as good as it looks.  In fact, if I didn't know I was eating soy, I would swear they were your everyday good old american corn dogs.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/vegcorndogs.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/200/vegcorndogs.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So far, I've also tried vegie burgers, chicken patties, chicken strips, sweet+sour chicken, bbq beef, ham, and sliced beef.  All pretty tasty, but some a better fakery than others.&lt;br /&gt;&lt;br /&gt;For a great vegan place in Irvine, try &lt;a href="http://www.wheelofliferestaurant.com/"&gt;http://www.wheelofliferestaurant.com/&lt;/a&gt;&lt;br /&gt;Their Thai food is very convincing, and no more expensive than a regular place.  It also has a nice family feel too it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114697841224663741?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114697841224663741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114697841224663741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114697841224663741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114697841224663741'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/carnivorous-herbivore.html' title='Carnivorous Herbivore'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114676002691989595</id><published>2006-05-04T09:20:00.000-07:00</published><updated>2006-05-04T09:27:06.933-07:00</updated><title type='text'>GTA: San Andreas</title><content type='html'>Nearly a year ago, I walked into a game store and bought a copy of Grand Theft Auto: San Andreas.  I played the game pretty consistantly, running, cycling, driving, and flying my way through the virtual Los Angeles, San Fransisco, and Las Vegas.  Some of the tasks were tedious, but most were very entertaining.  The story was also quite involved.  Your character, CJ, participates in gang warfare, driving contests, clandestine operation involving military aircraft, petty and grand theft, among many others.&lt;br /&gt;&lt;br /&gt;However, this game suffers from a major problem.  The final task is too difficult.  It involves a lengthy cutscene, then a challenging battle through a crack-house, followed by a gun-battle with a traitor to the gang, then you must escape a burning building while enemies are shooting you, all with a time clock.  This is followed (I've read, I didn't make it this far) by a car chase after the final villian.  It has so many challenges, and no saves, that I never could get all the way through, even after many tries.&lt;br /&gt;&lt;br /&gt;So I cheated, and downloaded the ending video on the internet.  After seeing that, I uninstalled the game and put away my strategy guide.  I wonder what game might be next?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/B0009I7KHY.08.LZZZZZZZ.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/320/B0009I7KHY.08.LZZZZZZZ.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114676002691989595?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114676002691989595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114676002691989595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114676002691989595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114676002691989595'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/gta-san-andreas.html' title='GTA: San Andreas'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114667301043098510</id><published>2006-05-03T09:09:00.000-07:00</published><updated>2006-05-03T09:16:50.443-07:00</updated><title type='text'>Triumph</title><content type='html'>Last night, after several attempts, I defeated Gannon in the Legend of Zelda: The Windwaker.  It was quite a surprise actually.  I was expecting to have to deliver several more hits to the foe, when all of a sudden, my character sinks his sword into Gannon's skull, and then end movie begins.&lt;br /&gt;&lt;br /&gt;It was actually kind of dissappointing.  I was expecting grand things from this pretty grand game, but the ending was less than 2 minutes worth, and mostly just talking.  I expected Hyrule to resume it's former state, but it ended much the way in began, just sans Gannon.&lt;br /&gt;&lt;br /&gt;I also expected to see all the characters I had met throughout the game, and how things were better now that I had defeated Gannon.  A few of them showed up, but not nearly enough to satisfy.  For how a Zelda game should end, see the Super Nintendo version, A Link to the Past.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/link.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/200/link.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114667301043098510?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114667301043098510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114667301043098510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114667301043098510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114667301043098510'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/triumph.html' title='Triumph'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114655142334211393</id><published>2006-05-01T23:18:00.000-07:00</published><updated>2006-05-01T23:30:23.353-07:00</updated><title type='text'>Annoying games</title><content type='html'>So I'm playing 'The Legend Of Zelda: The Windwaker", and I've finally reached the final boss of the game, Gannondorf himself.  But before this, there were these three puppet-bosses that I had to fight.  To beat them, I had to follow this pattern of hitting them, and then shoot a small section of them with a particular arrow.  Normally this wouldn't have been difficult, except that the targeting was set to target a non-vital section of the enemies.&lt;br /&gt;&lt;br /&gt;Which brings me to the "annoying" part of this game.  The 3D nature of the game makes "targeting" necessary.  Basically, you push a button, and it auto-targets something.  Without this, the game would be almost impossible.  So, the game designers, in all their infinite wisdom, decided to make the end bosses harder by messing up the targeting.  And then they had the boss move so fast that your view updates slower than the boss moves, making it hard to even see the boss.  I finally got the last puppet-boss via a lucky shot.&lt;br /&gt;&lt;br /&gt;None of the bosses are all that difficult, but they are tedious.  But perhaps it's because I grew up in the world of Super Mario Brothers, and the original Nintendo.  Children of the 90's seem to be able to handle these 3D games with much more grace.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/zelda.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 232px; height: 174px;" src="http://www.keith-roberts.com/blog/zelda.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114655142334211393?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114655142334211393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114655142334211393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114655142334211393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114655142334211393'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/05/annoying-games.html' title='Annoying games'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114627138764685919</id><published>2006-04-28T17:39:00.000-07:00</published><updated>2006-04-28T21:24:57.293-07:00</updated><title type='text'>Porting Successes</title><content type='html'>Over the last few days, I've made great strides with my porting efforts.  My program now works on Linux, Solaris 8, HP-UX, and it compiles and run on DEC/OSF.&lt;br /&gt;&lt;br /&gt;It's a client-server application, and so far these scenarios work:&lt;br /&gt;Solaris &lt;-&gt; HP-UX&lt;br /&gt;Solaris -&gt; Linux&lt;br /&gt;HP-UX -&gt; Linux&lt;br /&gt;Linux &lt;-&gt; Linux&lt;br /&gt;&lt;br /&gt;Still having those AIX link problems.  Anyone ever seen this error?&lt;br /&gt;&lt;span style="font-family: courier new; font-style: italic;"&gt;g++: `-b' must come at the start of the command line&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114627138764685919?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114627138764685919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114627138764685919' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114627138764685919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114627138764685919'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/porting-successes.html' title='Porting Successes'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114617982096452439</id><published>2006-04-27T16:13:00.000-07:00</published><updated>2006-04-27T21:04:25.186-07:00</updated><title type='text'>Raise!</title><content type='html'>I checked my paycheck, and discovered that the raise I was promised has been approved!  My paycheck is now 3% larger, which amounts to about $100 extra in my pocket each month.  Not a large raise, but still a nice thing to have.  If I add the little stepping raise I got when I moved to Quest about 7 months ago, it adds up to about 7.2%.&lt;br /&gt;&lt;br /&gt;It also means that $30 extra is going into my 401(k) every month.  This is a really good thing because not having any offspring nor real estate, I pay taxes like you wouldn't believe.  In fact, my 401(k) is pretty much my only tax shelter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114617982096452439?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114617982096452439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114617982096452439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114617982096452439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114617982096452439'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/raise.html' title='Raise!'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114600001222083817</id><published>2006-04-25T14:12:00.000-07:00</published><updated>2006-04-25T14:21:07.203-07:00</updated><title type='text'>Porting Pains</title><content type='html'>Yesterday and today, I've been porting my application to various UNIX platforms.  I develop on Red Hat Linux  Enterprise 4, on an dual amd64 machine.  Everything works great on Linux.  I also do some development on a Solaris 8/sparc machine, and pretty much everything works there as well.  However, the entire produce supports other UNIX variants.  Here's where I am with these.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Linux:&lt;/span&gt; 2.6/2.4 kernel - builds, links, works, yay!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solaris:&lt;/span&gt; 2.8/sparc - builds, links, works, (slow)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HP-UX:&lt;/span&gt; 11.00, builds, links, (problems with named-pipes being implemented differently, plus some extra defines needed for POSIX compliance (socklen_t comes to mind)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AIX:&lt;/span&gt; 5.1, builds, doesn't link due to some goofy "-b" options that g++ really doesn't care for&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OSF/TRU64:&lt;/span&gt; 5.1, build, links, but just you try and run, you'll see that libstdc++ is bad&lt;br /&gt;&lt;br /&gt;Makefile conditionals, system dependant #ifdefs, differing library dependancies, it all just makes you want to cry.  My question is, why doesn't everyone just use Linux?&lt;br /&gt;&lt;br /&gt;A totally unrelated note: I just installed Ubuntu on my laptop, and it's pretty cool.  Although I'll have to get used to a debian based distro vs a Redhat.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114600001222083817?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114600001222083817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114600001222083817' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114600001222083817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114600001222083817'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/porting-pains.html' title='Porting Pains'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114591938231532290</id><published>2006-04-24T15:56:00.000-07:00</published><updated>2006-04-24T15:56:22.316-07:00</updated><title type='text'>Big Rock pictures posted!</title><content type='html'>&lt;a href="http://www.keith-roberts.com/gallery2/v/BigRock/"&gt;http://www.keith-roberts.com/gallery2/v/BigRock/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114591938231532290?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114591938231532290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114591938231532290' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114591938231532290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114591938231532290'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/big-rock-pictures-posted.html' title='Big Rock pictures posted!'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114585051498709972</id><published>2006-04-23T20:26:00.000-07:00</published><updated>2006-04-24T15:55:36.053-07:00</updated><title type='text'>Climbing at Big Rock</title><content type='html'>This Saturday I climbed with Carrie, Sri, and Eugene at a large slabby sport climbing area near Riverside called Big Rock.  It has many sport climbs fro 5.5 all the way up to 11s.  However, the climbs are harder than the grades indicate.  Their holds are micro, and the feet are nothing by slight bulges that require careful smearing.&lt;br /&gt;&lt;br /&gt;I lead the climbs to set up a top rope, and, true to Big Rock style, the leads were a bit sketchy.  Imagine a 90 foot tall climb, with only 5 bolts!  That means 10 to 20 foot spaces between protection points.  A fall could potentially be as much as 40 feet!  Fortunately, the only fall of the day was about 6 feet.&lt;br /&gt;&lt;br /&gt;The scariest part was when I was leading this 5.9.  I pulled over a roof, shimmied up to a bolt,&lt;br /&gt;and took stock of the situation.  I couldn't see the next bolt!  I began to climb anyway, hoping I would see it.  After about 15 feet, I got discouraged as there was still no bolt.  Someone on a climb to the side informed me that there were anchors up higher.  I (fooloshly) chose to continue on about 10 feet more.  I finally found three bolts at the top.  But then we discovered that the rope wouldn't reach!  I saw some anchors off to the left, and those were my only choice.  I put one clip into the three bolts, and traversed 20 feet over.  I set up those anchors, and then traversed back to retrieve my clip.  Again I traversed back to be lowered, only to discover the rope was caught!  I traversed back to free it, and then forth to my anchors.  I finally began to lower.  While lowering, I had to remove the clips, and the pendulum swing was ridiculous.  After I finally reached the ground, it had been nearly 30 minutes up there!&lt;br /&gt;&lt;br /&gt;The really frightening part was, that if I had fallen before I reached those bolts, the fall could have been as much as 50 feet.  I would have broken legs and or ankles, and ruined the rope, scary.  It gives me the chills just ot think about it.&lt;br /&gt;&lt;br /&gt;All in all though, it was a great time.  Eugene and Sri did a lead climb, and Tala socialized with the local climbing community. &lt;a href="http://www.keith-roberts.com/gallery2/v/BigRock/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/bigrock.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.keith-roberts.com/blog/bigrock.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114585051498709972?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114585051498709972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114585051498709972' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114585051498709972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114585051498709972'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/climbing-at-big-rock.html' title='Climbing at Big Rock'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114563135729042724</id><published>2006-04-21T07:51:00.000-07:00</published><updated>2006-04-21T07:55:57.300-07:00</updated><title type='text'>Supreme Earliness</title><content type='html'>Today I woke up at 6:30, thanks to the ringing buzzing of an alarm clock.  I did this so that I could leave at 4ish to be somewhere important.  It's kind of strange being at my desk so early, when noone else is around.  The place is empty, quiet, and spooky.  I normally wouldn't even be awak until 8:30, and wouldn't be at work blogging until 10!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/wakeup.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 135px; height: 163px;" src="http://www.keith-roberts.com/blog/wakeup.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114563135729042724?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114563135729042724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114563135729042724' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114563135729042724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114563135729042724'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/supreme-earliness.html' title='Supreme Earliness'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114555686427837284</id><published>2006-04-20T11:10:00.000-07:00</published><updated>2006-04-20T11:14:24.290-07:00</updated><title type='text'>Climbing and Lunch</title><content type='html'>Last night I climbed in the gym with Carrie and Andrew's coworker Brandon.  We did some wall climbing, with Brandon doing some impressive 10as.   Carrie lead an overhung 5.8 in the cave without fear or hesitation.  I lead an 11a in the cave with much fear and hesitation, but I was successfuly regardless.&lt;br /&gt;&lt;br /&gt;We ended up staying so late, that I missed a phone call from my parents, who were going to stop by.  I guess I owe my mom another lunch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114555686427837284?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114555686427837284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114555686427837284' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114555686427837284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114555686427837284'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/climbing-and-lunch.html' title='Climbing and Lunch'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114540908620475116</id><published>2006-04-18T18:07:00.000-07:00</published><updated>2006-04-18T18:11:26.216-07:00</updated><title type='text'>Ping Pong</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/pingpong.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 287px; height: 162px;" src="http://www.keith-roberts.com/blog/pingpong.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;During work today I participated in a delightful little diversion.  On the fourth floor there lies a ping pong table.  Two coworkers and I ascended to this level and played several rip-roaring games of 21 point ping pong.  Throughout this excersize, I came to the conclusion that&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A better paddle (smooth side vs bumpy) really is better&lt;/li&gt;&lt;li&gt;There are many techniques and strategies to employ&lt;/li&gt;&lt;li&gt;I really suck&lt;/li&gt;&lt;/ol&gt;But it was fun nonetheless!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114540908620475116?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114540908620475116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114540908620475116' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114540908620475116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114540908620475116'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/ping-pong.html' title='Ping Pong'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114530131370380209</id><published>2006-04-17T11:57:00.000-07:00</published><updated>2006-04-17T13:07:20.336-07:00</updated><title type='text'>Joshua Tree</title><content type='html'>Climbing at Jtree isn't exactly a sport climbers dream.   Wandering around Indian Cove, there are probably 30 different areas to climb.  Unfortunately, very few are bolted, and even of those that are, they don't have anchors at the top.  Almost everyone who was there climbing had some sort of traditional gear.  Jtree rock is full of cracks, which are perfect for trad gear, and thus the only bolts tend to be where trad gear wouldn't be safe.&lt;br /&gt;&lt;br /&gt;There's this one mound that you can get to the top of from the back called "Morbid Mound".  Using all the webbing available we built anchors by wrapping them around boulders.  One of them was pretty good, the other was a little sketchy.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/jt_morbidmound.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/jt_morbidmound.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/jt_anchor.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/jt_anchor.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On another wall called "The Short Wall", we tried to set up a top rope, but I didn't have enough webbing.  However, we did discover a rattlesnake hiding in a key anchor crack.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/jt_snake.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/jt_snake.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And whilst hiking in the desert, we came across a cactus that had some very impressive red blooms.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/jt_flower.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/jt_flower.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114530131370380209?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114530131370380209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114530131370380209' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114530131370380209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114530131370380209'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/joshua-tree.html' title='Joshua Tree'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114507491601744409</id><published>2006-04-14T21:15:00.000-07:00</published><updated>2006-04-14T21:21:56.026-07:00</updated><title type='text'>Bug solved!</title><content type='html'>Today, while working at home, I solved the bug that had me perplexed yesterday.  I had the idea that perhaps it had something to do with the fact that it worked with Oracle 10g to 10g, but with Oracle 9i to 10g, it would hang.  I made the hypothesis that perhaps 10g's import doesn't know when 9i's export file is complete.  To test this hypothesis, I closed the named-pipe connected to the import process once all the data had transfered. &lt;br /&gt;&lt;br /&gt;I compiled, set up the test, ran it, and voila!  The import process completed, status was returned, and everything went swell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114507491601744409?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114507491601744409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114507491601744409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114507491601744409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114507491601744409'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/bug-solved.html' title='Bug solved!'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114499449140682770</id><published>2006-04-13T22:56:00.000-07:00</published><updated>2006-04-13T23:01:31.416-07:00</updated><title type='text'>Helmets, and bugs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/helmet.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 176px; height: 221px;" src="http://www.keith-roberts.com/blog/helmet.jpg" alt="" border="0" /&gt;&lt;/a&gt;I rented two Black Diamond helmets today from REI.  Only about $12 each for three days.  Better than the $75 to $90 to buy them.  I could have saved $3 each by getting them tomorrow, but I had this strange fear that they might be rented sometime between tonight and tomorrow.  And if I didn't get helmets, I wouldn't be able to spelunk on Saturday and Sunday.&lt;br /&gt;&lt;br /&gt;In other news, when testing my software between a Linux/amd64 box to a Solaris 8/sparc machine, I discovered a bug.  Everything works great, data transfers perfectly, until the very end.  After all the data transfers, an external process stops writing to it's log file, and my process waits forever for it.  Hmm, it's odd because everything works great when I go from Linux to Linux.  Then again, it might have something to do with going from Oracle 9i to 10g.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114499449140682770?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114499449140682770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114499449140682770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114499449140682770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114499449140682770'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/helmets-and-bugs.html' title='Helmets, and bugs'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114488464492003891</id><published>2006-04-12T16:27:00.000-07:00</published><updated>2006-04-12T16:34:46.860-07:00</updated><title type='text'>Training</title><content type='html'>I've been in training on Oracle RAC (real application cluster) today and yesterday.  Tomorrow is Oracle 10g new features.  The trainer is supposedly some famous Oracle expert.  Contrary to what you might think, this class isn't actually all that interesting.  I was hoping for an introduction to RAC and some practical experience using it.  What I'm getting is everything a DBA would ever want to know how to configure/manage a RAC environment.  Everything from clustering file systems to custom SQL scripts to extract RAC node performace statistics.&lt;br /&gt;&lt;br /&gt;Fortunately, I have a laptop and a wireless connection, so the time isn't wasted.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/training.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/training.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114488464492003891?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114488464492003891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114488464492003891' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114488464492003891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114488464492003891'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/training.html' title='Training'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114482231157012469</id><published>2006-04-11T23:06:00.000-07:00</published><updated>2006-04-11T23:11:51.570-07:00</updated><title type='text'>Makefile</title><content type='html'>Today I finally conquered my makefile problems.  Over the last week, I had been trying to get my makefile to not only compile all my source into object files in a separate directory, but to also support my source files being in subdirectories.  This is a challenge because makefiles are extremely cryptic and somewhat inflexible.  I kept running into the problem where if my source list contained this&lt;br /&gt;&lt;br /&gt;SRC = dir/source.cpp&lt;br /&gt;&lt;br /&gt;The compile rule would inevitably want to make&lt;br /&gt;&lt;br /&gt;output/dir/source.o    which isn't what I wanted, I wanted it to make output/source.o&lt;br /&gt;&lt;br /&gt;I finally got it to work today by using the VPATH macro, and using cd to change the link directory to the output directory.  Now my source tree is nice and orderly with subdirectories.  Yay!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114482231157012469?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114482231157012469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114482231157012469' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114482231157012469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114482231157012469'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/makefile.html' title='Makefile'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114482196558400606</id><published>2006-04-11T23:00:00.000-07:00</published><updated>2006-04-11T23:06:05.596-07:00</updated><title type='text'>Lead Climbing</title><content type='html'>Today I went to the climbing gym and spent an hour lead climbing!  I met Sri there, and we decided to spend the evening climbing in the cave.   At first I was a little concerned since he's somewhat new to belaying lead climbs.  But I soon realized that he's actually quite good at it, and I had no fear leading an overhung 10c.  We both lead several fun climbs.  It's been so long since I have climbed in the cave, that I had forgotten how much fun it can be.  Plus, at Rockreation, all the hard climbs are in the cave, so I had some challenge.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/leadclimb.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 140px; height: 187px;" src="http://www.keith-roberts.com/blog/leadclimb.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114482196558400606?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114482196558400606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114482196558400606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114482196558400606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114482196558400606'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/lead-climbing.html' title='Lead Climbing'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114469932448339080</id><published>2006-04-10T12:34:00.000-07:00</published><updated>2006-04-10T17:18:44.780-07:00</updated><title type='text'>Point Dume</title><content type='html'>Yesterday, a large group of friends and I went climbing a Point Dume in Malibu.  Normally, Carrie invites a few people, and I invite a few people, and 1 or 2 show up.  This time, almost everyone showed up!  And they brought friends!&lt;br /&gt;&lt;br /&gt;The attendee list was, Myself, Carrie, Sri, Liz, Rob, Rob's friend Alexa, and Sri's friend (I wouldn't be able to spell his name).  When we first got to the crag, it was a bit crowded, so I set up a top rope around the back on the ocean side of the cliff.  The only climb available was a pretty tough 10c.  I had to take a rest due to a general pumped feeling, but Rob managed to do the whole climb without a rest, pretty impressive.&lt;br /&gt;&lt;br /&gt;We swapped places with another group, and got on the main wall.  Everyone managed to finish this one, and everyone seemed to like the style (slabby with small ledges).  After that, Alexa wanted to try a lead, so I lead the 5.6 first to check it out, and then she lead it as her first outdoor lead.&lt;br /&gt;&lt;br /&gt;We also had some interesting wildlife sightings: Dolphins, a humpback whale that was only 40 or so feet off shore.  He stuck his nose way up in the air at one point, much to our delight.  We also had an enterprising squirrel who tore into our little camp, stole a granola bar, and whisked away with it.  He managed to get through the packaging before another climber rescued the bar.  A very brave squirrel!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/1853-2/DSCN2084.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/gallery2/d/1853-2/DSCN2084.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;All in all, it was a great trip, although in the future, a second rope will be a must, 7 people on 1 rope is not sufficient.  Below are some pictures, for more, go to &lt;a href="http://www.keith-roberts.com/gallery2/v/PointDume/" target="_new"&gt;http://www.keith-roberts.com/gallery2/v/PointDume/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.keith-roberts.com/gallery2/d/1848-2/DSCN2080.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;img src="http://www.keith-roberts.com/gallery2/d/1809-2/DSCN2067.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;img src="http://www.keith-roberts.com/gallery2/d/1788-2/DSCN2057.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt; &lt;img src="http://www.keith-roberts.com/gallery2/d/1824-2/DSCN2072.jpg" alt="" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114469932448339080?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114469932448339080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114469932448339080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114469932448339080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114469932448339080'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/point-dume.html' title='Point Dume'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114455730501415425</id><published>2006-04-08T21:29:00.000-07:00</published><updated>2006-04-08T21:35:05.033-07:00</updated><title type='text'>Ojai</title><content type='html'>Today I took a day trip up to Ojai.  We stopped at a cozy little diner in Oak View for lunch.  I had a tuna melt that was quite tasty.  We drove around some of the neighborhoods, soaked up some local culture in downtown Ojai, and marveled at the mountainous surroundings.  All in all, it's a place I wouldn't mind living.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/ojai.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/ojai.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114455730501415425?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114455730501415425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114455730501415425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114455730501415425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114455730501415425'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/ojai.html' title='Ojai'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114447340805631401</id><published>2006-04-07T22:14:00.000-07:00</published><updated>2006-04-07T22:16:48.070-07:00</updated><title type='text'>Talent Show</title><content type='html'>Tonight I attended the ECHS Talent Show.  The show consisted of singing, poetry, rap, comedy, gospel choir, and a latin dance show.  The performances were actually quite impressive.  Espescially the dancers.  Although I was reminded that I wasn't in the OC when during intermission, an altercation between a student and a parent occured.&lt;br /&gt;&lt;br /&gt;All in all, a great show, and I got to sit with the teachers, and be called "Mr. Roberts".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114447340805631401?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114447340805631401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114447340805631401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114447340805631401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114447340805631401'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/talent-show.html' title='Talent Show'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114430735145131765</id><published>2006-04-06T00:06:00.000-07:00</published><updated>2006-04-06T00:10:51.640-07:00</updated><title type='text'>10000 Lines</title><content type='html'>Today I finally got my project at work to follow a complete line of functionality from beginning to end.  It involves named-pipes, threads, TCP sockets, forking, executing other processes, and oracle queries.  When I finally got it to work, I did a quick wc -l, and discovered that I have written 10K lines of C++ in the last 3-4 weeks!&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/programmer.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 224px; height: 265px;" src="http://www.keith-roberts.com/blog/programmer.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114430735145131765?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114430735145131765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114430735145131765' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114430735145131765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114430735145131765'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/10000-lines.html' title='10000 Lines'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114421045985449659</id><published>2006-04-04T21:05:00.000-07:00</published><updated>2006-04-04T21:15:03.563-07:00</updated><title type='text'>Honda Civics</title><content type='html'>Today I went to get my car the 105K mile service.  It cost $129.95.  It included a clean air filter, oil changed, fluids and tire pressure checks, and strangely enough, a tightening of the emergency brake.  It now takes considerable effort to pull it.  The truly amazing thing though, is that both my front and rear brakes still have tens of thousands of miles left on them, and they're both at least 45K miles in, and I believe the rear have never been replaced!  This is pretty miraculous since brake pads usually last between 25 and 35&lt;br /&gt;&lt;br /&gt;Unfortunately, I need to take my car back in soon to get the timing belt replaced, for a whopping $550!&lt;br /&gt;&lt;br /&gt;While at the dealership, Andrew decided to test drive one of these.  A brand new 2006 Honda Civic.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://automobiles.honda.com/images/2006/civic_sedan/customize/base_car/SI_lx_34FRONT.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://automobiles.honda.com/images/2006/civic_sedan/customize/base_car/SI_lx_34FRONT.jpg" alt="" border="0" /&gt;&lt;/a&gt;He was very impressed with the added power, new features, and it's stopping ability.  Apparently the new Civic is best in class with a 60 to 0 in just 104 feet!  It was so impressive, I caught myself thinking about getting one.  Fortunately, my miracle car will be with me for some time yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114421045985449659?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114421045985449659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114421045985449659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114421045985449659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114421045985449659'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/honda-civics.html' title='Honda Civics'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114412439107124954</id><published>2006-04-03T21:16:00.000-07:00</published><updated>2006-04-03T21:19:51.083-07:00</updated><title type='text'>Pets</title><content type='html'>I sent two pictures to &lt;a href="http://pets.ocregister.com"&gt;pets.ocregister.com&lt;/a&gt;&lt;br /&gt;Those are some cute pets.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://pets.ocregister.com/?r=4544666"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 259px; height: 194px;" src="http://imageserver4.textamerica.com/user.images.x/76/IMG_478676/_0403/T52006040311532422.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://pets.ocregister.com/?r=4544666"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 260px; height: 194px;" src="http://imageserver4.textamerica.com/user.images.x/76/IMG_478676/_0403/T520060403115324350.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114412439107124954?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114412439107124954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114412439107124954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114412439107124954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114412439107124954'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/pets.html' title='Pets'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114403469992783572</id><published>2006-04-02T20:20:00.000-07:00</published><updated>2006-04-02T20:24:59.943-07:00</updated><title type='text'>Settlers: Update</title><content type='html'>Last night, myself, Carrie, Sri, Andrew, and Erin all met for some rip-roaring games of Settlers.  At first, there were confused looks and apprehension, but as the first game unfolded, both newbies caught up quickly and were playing like they knew what they were doing by the end.  Thanks to an eleventh hour sheep swap from Carrie to Erin, a victory was snatched from Andrew.  As often happens in these games, a beginner beats out the seasoned pros.&lt;br /&gt;&lt;br /&gt;Sri had to take off, so we played one more game, 4 player style.  We all put on a good offense, but Andrew managed to grab the win this time.  Although I never win at Settlers, it's still a great way to spend an evening.&lt;br /&gt;&lt;br /&gt;Sheep for Wood?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114403469992783572?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114403469992783572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114403469992783572' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114403469992783572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114403469992783572'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/04/settlers-update.html' title='Settlers: Update'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114386597536863133</id><published>2006-03-31T20:22:00.000-08:00</published><updated>2006-03-31T20:37:56.690-08:00</updated><title type='text'>Matzah Ball Soup</title><content type='html'>Today, with considerable assistance from Carrie, I cooked some Matzah Ball Soup.  First I mixed oil with eggs, and then I added the mixture to make the ball dough.  This was followed by adding some broth powder into some water, and boiling.&lt;br /&gt;&lt;br /&gt;Then the fun part.  We made small balls of the dough by rolling them around in our hands play-doh style.  Then we dropped them in the broth.  20 minutes later they were fluffy and tasty.  This was my first time making this kind of soup, and I declare it to be a success!&lt;br /&gt;&lt;br /&gt;Although, I'm not too sure what to do with the leftover matzah balls.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/mball.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 181px; height: 266px;" src="http://www.keith-roberts.com/blog/mball.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114386597536863133?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114386597536863133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114386597536863133' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114386597536863133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114386597536863133'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/matzah-ball-soup.html' title='Matzah Ball Soup'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114384377311241321</id><published>2006-03-31T14:17:00.000-08:00</published><updated>2006-03-31T14:23:06.940-08:00</updated><title type='text'>Cleaning</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/cleaning.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/cleaning.JPG" alt="" border="0" /&gt;&lt;/a&gt;Today I spent some time cleaning my apartment.  It involved various soaps, paper towels, bleach, sanitizing wipes, a roomba (robot vacuum), dishwasher, washer/dryer, and trash bags.&lt;br /&gt;&lt;br /&gt;And even though it's a lot of work, somehow you feel fulfilled after it's done.   To me, it's not the cleaning, but the organizing that makes me feel better.  Getting all the things out of place into place gives me a feeling that there is order still in the world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114384377311241321?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114384377311241321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114384377311241321' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114384377311241321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114384377311241321'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/cleaning.html' title='Cleaning'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114376529085403895</id><published>2006-03-30T16:30:00.000-08:00</published><updated>2006-03-30T17:03:24.696-08:00</updated><title type='text'>Settlers of Catan</title><content type='html'>This Saturday, I'm having a Settlers of Catan game playing night.  This involved me overcoming my less than steller social abilities in order to invite various individuals to play.  The results are in, and we're looking to have as many as 6 people, which is good, since the game only supports a maximum of 6 people.  I'm quite excited, as I haven't had a chance to play in quite some time.&lt;br /&gt;&lt;br /&gt;There will be snacks, drinks, and a whole lot of tradin' going on.  Let the settlements begin!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Settlers_of_Catan"&gt;http://en.wikipedia.org/wiki/Settlers_of_Catan&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/settlers.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.keith-roberts.com/blog/settlers.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114376529085403895?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114376529085403895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114376529085403895' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114376529085403895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114376529085403895'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/settlers-of-catan.html' title='Settlers of Catan'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114376495926595187</id><published>2006-03-30T16:25:00.000-08:00</published><updated>2006-03-30T16:29:51.896-08:00</updated><title type='text'>Doxygen</title><content type='html'>I downloaded a copy of Doxygen today.  It parses C++ code for special comments in order to automatically produce documentation.  I've used this before, but it's been awhile, and I'm rediscovering what a wonderful thing it is.  All I have to do is update comments in the code every time I change the code, and my documentation is automatically kept up to date!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.stack.nl/%7Edimitri/doxygen/"&gt;http://www.stack.nl/~dimitri/doxygen/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/doxygen.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/doxygen.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114376495926595187?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114376495926595187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114376495926595187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114376495926595187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114376495926595187'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/doxygen.html' title='Doxygen'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114359856960859887</id><published>2006-03-28T18:10:00.000-08:00</published><updated>2006-03-28T18:16:09.626-08:00</updated><title type='text'>Oranges suck</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/orange.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/orange.jpg" alt="" border="0" /&gt;&lt;/a&gt;My office building provides free fruit for the people working within it.  They have bins of apples, bananas, pears, and oranges all through the building.  Today I went for a pear, but they haven't refilled the bins yet this week, so all that was left was oranges.  Now I know why. &lt;br /&gt;&lt;br /&gt;Oranges are a pain in the ass.  I grabbed one, took it back to my desk with some paper towels, and began to slice.  With an apple or a pear, slicing the fruit twice top to bottom in an X shape produces four peices of easily edible fruit. &lt;br /&gt;&lt;br /&gt;However, the orange produce a lot of orange juice, which ended up all over my desk.  And then trying to eat, well rather "drink" the orange, proves futile.  You just end up with pulp and juice, which isn't all the appealing.  I think from now on, it's pears or bust.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114359856960859887?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114359856960859887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114359856960859887' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114359856960859887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114359856960859887'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/oranges-suck.html' title='Oranges suck'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114351911750996890</id><published>2006-03-27T20:04:00.000-08:00</published><updated>2006-03-28T09:47:50.306-08:00</updated><title type='text'>Working from Home</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/home-office.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/home-office.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today I "worked" from home in the morning.  It's such an amazingly convenient thing to be able to do.  There are many times when you have something that needs doing during the week, or you can't get into work on time, or you just plain don't want to.  All it takes is a quick email to the boss saying, "I'm working from home today".&lt;br /&gt;&lt;br /&gt;For those that are now thinking, "gee,  software seems like the perfect industry to work in!", realize that I actually do &lt;span style="font-weight: bold;"&gt;work&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;, &lt;/span&gt;when I work from home.  It's just less structured.  Flexible hours are a perk/privaledge that can be lost if abused. So I must use with moderation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114351911750996890?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114351911750996890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114351911750996890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114351911750996890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114351911750996890'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/working-from-home.html' title='Working from Home'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114348623228900596</id><published>2006-03-27T10:52:00.000-08:00</published><updated>2006-03-27T11:03:52.306-08:00</updated><title type='text'>Echo Cliffs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/1619-2/P3261427.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 207px;" src="http://www.keith-roberts.com/gallery2/d/1619-2/P3261427.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yesterday Carrie, myself, Joe, and Sri went on a climbing trip to Echo Cliffs.  It's quite a commitment to go there, as the drive is over an hour, and the walk is about 40 minutes!&lt;br /&gt;&lt;br /&gt;We stopped first at the Grotto, and climbed a 5.8 and 5.9.  Here's Joe on the 5.8&lt;br /&gt;&lt;br /&gt;I lead both climbs, which I was happy to do, as I don't get much leading done these days.  I set up a top rope so everyone else could climb, and they did great.  Everyone except for me seemed to be able to handle the red-ant nest running along the middle of the climb.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/1706-2/P3271462.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 169px; height: 225px;" src="http://www.keith-roberts.com/gallery2/d/1706-2/P3271462.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Joe then had to leave, so Carrie, Sri, and I proceeded alongside the cliff to Easy Street.  This is a beginner area which provides excellent first time leading experience.  Sri decided to lead one of the 5.6s, and he pulled it off without a hitch.  First time lead outdoors, nice job!&lt;br /&gt;&lt;br /&gt;Afterwards, we all went to the Java Wall, and climbed a 10b, and a 10a.  I lead the 10b, which can be a challenge, due to it's slightly overhung finish and it's 80 foot height.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/1712-2/P3271464.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 174px; height: 233px;" src="http://www.keith-roberts.com/gallery2/d/1712-2/P3271464.jpg" alt="" border="0" /&gt;&lt;/a&gt;Here's a picture of me doing what I do best.&lt;br /&gt;&lt;br /&gt;Another of Carrie in a good mood:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/1748-2/P3271480.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/gallery2/d/1748-2/P3271480.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And the intrepid pug, Tala, researching climbs for us.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/gallery2/d/1691-2/P3261457.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: right; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/gallery2/d/1691-2/P3261457.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114348623228900596?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114348623228900596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114348623228900596' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114348623228900596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114348623228900596'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/echo-cliffs.html' title='Echo Cliffs'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114332631575932940</id><published>2006-03-25T14:31:00.000-08:00</published><updated>2006-03-25T14:38:35.770-08:00</updated><title type='text'>Lazy Day</title><content type='html'>I am having a lazy day today after a hard week at work.  Friday made me feel disenchanted because of various programming difficulties.  I need today to recover.  I went to the diner for some lunch, visited the Verizon store, and now am contemplating the idea of watching a scary movie called &lt;span style="font-style: italic;"&gt;Skeleton Key&lt;/span&gt;.&lt;br /&gt;&lt;p class="MsoNormal"&gt;I am excited about tomorrow because Carrie, Tala, Joe, Amy, Sri, and I are going climbing at Echo Cliffs (with two ropes, both Carrie and Joe own ropes).&lt;br /&gt;&lt;br /&gt;Tala is looking forward to trying out the 5.7 lead on Easy Street but I am worried that that notorious pack of wild pugs may distract her from the climbing.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/1104redrock05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7505/2138/400/1104redrock05.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114332631575932940?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114332631575932940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114332631575932940' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114332631575932940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114332631575932940'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/lazy-day.html' title='Lazy Day'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114314291129926117</id><published>2006-03-23T11:35:00.000-08:00</published><updated>2006-03-23T11:42:12.546-08:00</updated><title type='text'>Cell phone: update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/cellphone-apart.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.keith-roberts.com/blog/cellphone-apart.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Since my phone has been officially dead for a few days, I decided to open it up and investigate.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One of the four mini-screws wouldn't come out, so I had to remove the plastic from the other side, and remove the screw socket.&lt;br /&gt;&lt;br /&gt;I was hoping to just use some compressed air, and perhaps save it, but when I opened it up, I discovered that the circuit board had some small burn spots.  These most likely developed when I turned it off the last time, at points where a tiny amount of water had collected.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/cellphone-apart-close.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.keith-roberts.com/blog/cellphone-apart-close.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114314291129926117?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114314291129926117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114314291129926117' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114314291129926117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114314291129926117'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/cell-phone-update.html' title='Cell phone: update'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114307472289461460</id><published>2006-03-22T16:31:00.000-08:00</published><updated>2006-03-22T16:46:06.430-08:00</updated><title type='text'>Lunchtime math</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/money.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 224px;" src="http://www.keith-roberts.com/blog/money.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here's a lunchtime math related story.&lt;br /&gt;I was attempting to purchase a chicken sandwich at the cafeteria today, it was labeled as $5.75.  This meal includes a 12oz fountain drink.  Instead of the fountain drink, I chose a bottle of apple juice that costs $1.75.&lt;br /&gt;&lt;br /&gt;My total at the cashier, $8.06.  I asked why it was so high, since the sandwich comes with a drink, and the conversation went like this.&lt;br /&gt;Him: &lt;span style="font-style: italic;"&gt;There's a price difference of 75 cents&lt;/span&gt;&lt;br /&gt;Me: OK&lt;br /&gt;Him: &lt;span style="font-style: italic;"&gt;Do you want to pay 75 cents more?&lt;br /&gt;&lt;/span&gt;Me: Uh...&lt;br /&gt;Him: &lt;span style="font-style: italic;"&gt;OK, your total is $7.00&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;So there you have it, I paid 75 cents more for a discount of $1.06&lt;br /&gt;&lt;br /&gt;(I did figure it out though:&lt;br /&gt;$5.75 + $1.75 + tax = $8.06&lt;br /&gt;$5.75 + tax = $6.25&lt;br /&gt;$5.75 + $1.25 + tax = $7.00&lt;br /&gt;&lt;br /&gt;So, I did pay 75 cents more, but he originally wanted to charge me for a fountain drink I didn't get)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114307472289461460?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114307472289461460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114307472289461460' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114307472289461460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114307472289461460'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/lunchtime-math.html' title='Lunchtime math'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114299127776676617</id><published>2006-03-21T17:29:00.000-08:00</published><updated>2006-03-21T17:34:37.800-08:00</updated><title type='text'>Top Rope Anchor</title><content type='html'>I was discussing the top rope anchor that I used with a friend today, and to illustrate, I drew this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/anchor.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 341px; height: 272px;" src="http://www.keith-roberts.com/blog/anchor.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I know it's not exactly a picasso, but it shows the basic idea of my anchor.  Two pieces of webbing attached to two bolts, plus one cord attached to a metal pipe.  This provided three independant protection points, reducing the possibility of failure to nearly zero.  However, I think in the future I'll throw a fourth piece somewhere, probably an extra webbing into one of the bolts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114299127776676617?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114299127776676617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114299127776676617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114299127776676617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114299127776676617'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/top-rope-anchor.html' title='Top Rope Anchor'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114291147486217874</id><published>2006-03-20T19:17:00.000-08:00</published><updated>2006-03-20T19:24:34.863-08:00</updated><title type='text'>Cell Phones Suck</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/cellphone.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px; height: 245px;" src="http://www.keith-roberts.com/blog/cellphone.jpg" alt="" border="0" /&gt;&lt;/a&gt;About a month ago, I spent $170 (minus $50 rebate) on a fancy new Samsung Vcast phone from Verizon Wireless.    Other than the fact that this phone tended to take pictures of the inside of my pocket, I liked this phone quite a bit.&lt;br /&gt;&lt;br /&gt;However, due to a slight mishap in the San Gabriel mountains a few weeks ago, my phone ended up underwater for a few seconds.  This led to water getting behind the screens, and the phone failing to turn on.  Fortunately for me, it dried out, and all was well.  Yesterday, while out, I decided to turn my phone off, only to realize later that day that it would not turn on.&lt;br /&gt;&lt;br /&gt;Today I took my phone to a Verizon Wireless store, where my phone was pronounced dead on arrival.  To repurchase the phone without a new contract costs well over $200.  The cheapest retail phone is $170.  They sell refirbs for $90, but they didn't have any.  So I am left with a dilemma.  For right now, I am cell-phoneless.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114291147486217874?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114291147486217874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114291147486217874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114291147486217874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114291147486217874'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/cell-phones-suck.html' title='Cell Phones Suck'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114291102207435734</id><published>2006-03-20T19:14:00.000-08:00</published><updated>2006-03-20T19:17:02.086-08:00</updated><title type='text'>Jury Duty</title><content type='html'>Today I fulfilled my civic duty and went to Jury duty.  My two previous experiences involved sitting in a room with a bunch of people for 8 hours.  I watched movies, worked, and played video games on my laptop.&lt;br /&gt;&lt;br /&gt;This time however, I was called into a courtroom after about 2 hours.  I spent the rest of the day watching the painfully slow process of Jury selection.  Listening to each and every one talk about their job, their past, their biases, etc. &lt;br /&gt;&lt;br /&gt;Although I was in the original selection, I was never called up into the Jury box for questioning, so I sat in the back of the courtroom for hours.  I would have opened up my laptop (they had wireless access), but I figured it might be innappropriate.  At about 4pm, they had a jury selected, and they let us go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114291102207435734?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114291102207435734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114291102207435734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114291102207435734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114291102207435734'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/jury-duty.html' title='Jury Duty'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114282980982263468</id><published>2006-03-19T20:11:00.000-08:00</published><updated>2006-03-19T20:43:29.840-08:00</updated><title type='text'>Climbing at Malibu Creek</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/P3191386_blog.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 224px; height: 168px;" src="http://www.keith-roberts.com/blog/P3191386_blog.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Today I went to Malibu Creek State Park for an outdoor climbing adventure.  The first step is the steep $8 parking fee, followed by a 15 minute walk to the "Apes Wall".  This wall was used in the Planet of the Apes TV show.  It's a 60 foot high, vertical, volcanic rock wall.&lt;br /&gt;&lt;br /&gt;It was too crowded at the time, so we continued into the canyon, to the Rock Pool.  The Rock Pool is a large, deep natural pool created by Malibu Creek.  To contiue, we had to boulder hop across the creek, and then traverse a 5.5 level wall right along the rock pool.  After successfully (i.e. not falling into the pool) traversing, we scrambled across house sized boulders to the bottom of our climbs.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/P3191387_blog.jpg"&gt;&lt;img style="margin: 10px; float: left; cursor: pointer; width: 224px; height: 168px;" src="http://www.keith-roberts.com/blog/P3191387_blog.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I lead climbed a 10a, and a 10c.  Both were filled with deep pockets, satisfying flakes, and crisp crimps.  It felt good to lead climb again, as I have been doing nothing but top roping in the gym for many months, as I have no regular gym partners who are lead qualified.&lt;br /&gt;&lt;br /&gt;After those two climbs, we proceeded back to the Apes wall, where I set up a top rope anchor on a 5.9, which we both climbed easily.  There was a group next to use on a 10a I would have liked to climb, but the group was uninterested in swapping ropes.  There was something odd about them though, none of them had climbing shoes!  All three were in sneakers, and yet their anchor displayed &lt;span style="font-style: italic;"&gt;some&lt;/span&gt; level of competence.  Very strange.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/P3201391_blog.jpg"&gt;&lt;img style="margin: 10px; float: left; cursor: pointer; width: 224px; height: 168px;" src="http://www.keith-roberts.com/blog/P3201391_blog.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A short walk and a long drive through Malibu ended a very fun outdoor experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114282980982263468?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114282980982263468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114282980982263468' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114282980982263468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114282980982263468'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/climbing-at-malibu-creek.html' title='Climbing at Malibu Creek'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114266108170689608</id><published>2006-03-17T21:47:00.000-08:00</published><updated>2006-03-17T21:51:21.713-08:00</updated><title type='text'>Better than laxatives</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.keith-roberts.com/blog/fiber-drink.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.keith-roberts.com/blog/fiber-drink.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I had an interesting thought while walking a dog tonight.&lt;br /&gt;&lt;br /&gt;Each morning and night, she gets a walk around the neighborhood, in order to do her business.  And each time, right after her business is done, she gets a treat.  This got me to thinking, what if people started giving themselves treats after each and every bowel movement.  Wouldn't that condition us to start having them more often?  (Or at least to condition us to look forward to them).  I know Tala looks forward to them, as the moment I grab the leash, she's off and jumping about excitedly.&lt;br /&gt;&lt;br /&gt;It seems like a worthwhile experiement that I will likely not do.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114266108170689608?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114266108170689608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114266108170689608' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114266108170689608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114266108170689608'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/better-than-laxatives.html' title='Better than laxatives'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114261619115797636</id><published>2006-03-17T09:13:00.000-08:00</published><updated>2006-03-17T09:23:11.166-08:00</updated><title type='text'>Crazy Boulderers</title><content type='html'>While bouldering last night, I took notice of a group of "boulderers".  These are people who&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Only boulder, they never climb on the walls, nor lead in the cave&lt;/li&gt;&lt;li&gt;Tackle a problem once every 10 minutes or so, so they stay for &lt;span style="font-style: italic;"&gt;hours&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Work on V6 to V8 level problems, which are equivalent to the hardest part of a 5.13&lt;/li&gt;&lt;li&gt;Won't talk to you unless you climb V6&lt;/li&gt;&lt;/ol&gt;It's just more friendly on the walls or in the cave.  And perhaps less intimidating. &lt;br /&gt;&lt;br /&gt;However, last night I managed to finish a red boulder, approximately V4.&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt; V0-   .9&lt;br /&gt;V0 -  10-&lt;br /&gt;V0 -  .10+&lt;br /&gt;V1  - 11-&lt;br /&gt;V2  - 11&lt;br /&gt;V3  - 11+&lt;br /&gt;V4  - 12-&lt;br /&gt;V5  - 12&lt;br /&gt;V6  - 12+&lt;br /&gt;V7  - 13-&lt;br /&gt;V8  - 13&lt;br /&gt;V9  - 13+&lt;br /&gt;V10  - 14a&lt;br /&gt;V11  - 14b&lt;br /&gt;V12  - 14c&lt;br /&gt;V13  - 14d&lt;br /&gt;V14 - .15a           &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114261619115797636?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114261619115797636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114261619115797636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114261619115797636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114261619115797636'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/crazy-boulderers.html' title='Crazy Boulderers'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114254433873007515</id><published>2006-03-16T13:19:00.000-08:00</published><updated>2006-03-16T13:25:38.730-08:00</updated><title type='text'>C++</title><content type='html'>I've been an old school C programmer for almost 6 months now.  The product I work on is written entirely in C on UNIX for speed and portability.  But I was just told that the new task I have been given can be written in C++!&lt;br /&gt;&lt;br /&gt;I am very excited, I have always thought C++ is easier to write clean, maintainable code.  Plus, I get default arguments again!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;void func( int arg1, char *arg2, int default = 4);   YAY!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Not to mention inheritance, operator overloading, the STL, type safety, etc...&lt;br /&gt;&lt;br /&gt;For those aspiring programmers out there, &lt;a href="http://www.cplusplus.com/doc/tutorial/"&gt;here&lt;/a&gt;'s a good place to start with C++&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114254433873007515?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114254433873007515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114254433873007515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114254433873007515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114254433873007515'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/c.html' title='C++'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114246346798736838</id><published>2006-03-15T14:54:00.000-08:00</published><updated>2006-03-15T14:57:47.996-08:00</updated><title type='text'>New Task</title><content type='html'>As of this week, I have been given a fairly large programming task.  It involves tens of thousands of lines of code, and I am expected to complete it in about two months.&lt;br /&gt;&lt;br /&gt;I always get apprehensive and worried at the beginning of large tasks.  I get a feeling of &lt;span style="font-style: italic;"&gt;"will I be able to get everything done"&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;"will I be smart enough to figure it all out"&lt;/span&gt;.  I'm feeling this now, and it sucks.&lt;br /&gt;&lt;br /&gt;What also sucks is that in about 1 month, I'll have most of it done, and I'll think back to myself, &lt;span style="font-style: italic;"&gt;"if only there was more to do, that was fun and it went too quickly"&lt;/span&gt;.  Oh well.  Back to coding!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114246346798736838?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114246346798736838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114246346798736838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114246346798736838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114246346798736838'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/new-task.html' title='New Task'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114237637018050300</id><published>2006-03-14T14:42:00.000-08:00</published><updated>2006-03-14T21:11:56.523-08:00</updated><title type='text'>Cars</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt; What follows is my complete car history, up to the present day...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/minivan.jpg" alt="" border="0" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;It all started with a &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;1990 Oldsmobile Silhouette&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;While driving, it had 17 enormous blind spots, stopped like an elephant, and turned like a battleship.&lt;br /&gt;Then there the problems with the brakes and the coolant.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/civic-hatch.jpg" alt="" border="0" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;So in the Spring of 1998, I cashed in my Bar Mitzvah money, &lt;/span&gt;&lt;br /&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;along with some parental funding, and purchased a &lt;span style="font-weight: bold;"&gt;1996 Honda Civic Hatchback&lt;/span&gt;.  It had power locks, alloy wheels, a moonroof, and a keyless entry system.&lt;br /&gt;It was a bit underpowered (it’s a Honda after all), but it maneuvered like a go-cart.&lt;br /&gt;&lt;/p&gt;       &lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/98civic.jpg" alt="" border="0" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Skip ahead to Summer 2000, when I negotiated with my Dad to get his &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;1998 Honda Civic LX Sedan&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.  My sister got the hatchback, painted it purple, and bumped it into many stationary objects.  This Civic is the car I drive today, now 8 years old and at 105,000 miles.  It’s a fun car to drive, but the automatic transmission has been grating on me the last few years, and the hills in OC challenge my poor 116 HP 4 cylinder engine.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;This leads me to the great car search.&lt;/p&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/rsx.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I began in late 2004, considering everything from another Honda Civic to a BMW 330i.&lt;/span&gt;&lt;br /&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;Then I sat in one of these. &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;An Acura RSX.  It was perfect, except that it lacked some doors.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/05tsx.jpg" alt="" border="0" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;So I looked at Acura’s 4 door model, the TSX.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;200 HP, 6 speed manual, dual zone climate control, power seats, leather interior, race-car style handling, etc.  I had found what I was looking for.   In early 2005, I began saving, with a purchase date around August ‘05.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;However, in August, the 2006 specs came out, which included more power, an auxiliary input jack for MP3 players, a Bluetooth connection for cellphones, and a new color, Royal Blue Pearl.&lt;/span&gt;&lt;br /&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;So I decided to wait.  The 06s were released in November, and I began dealing on December 1&lt;sup&gt;st&lt;/sup&gt;.&lt;br /&gt;But much to my disappointment, Royal Blue 6MT TSXs were just not to be found.  There was one in the entire state of CA, up in the Bay area, 400 miles away.  I tried to deal on that car, but they were only selling for MSRP.&lt;br /&gt;&lt;/p&gt;    &lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/06tsx.jpg" alt="" border="0" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I took another look at the Carbon Gray, &lt;/span&gt;&lt;br /&gt;   &lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;and I was just about to deal on new CG TSX, when I started looking at the money.  A new TSX out the door would cost me about $29,300.  That’s a lot of cash.  My frugality kicked in, and I started to consider other cars.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/civic.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;A 2006 Honda Civic: Won Car+Driver’s "Car of the Year" award. &lt;/span&gt;&lt;br /&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;A new EX 5MT would cost about $19K OTD.&lt;br /&gt;A practical choice, good mileage, fun to drive, reliable, cheap to maintain, and incredible unexciting vehicle.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 200px; color: rgb(0, 0, 0);" src="http://www.keith-roberts.com/blog/crv.jpg" alt="" border="0" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;A 2006 Honda CRV: A mini-suv perfect for camping trips to places where Civics fear to tread.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I had this idea because it’s fairly inexpensive (about $22K), and it would be most useful for outdoor trips, but still functional on OC freeways.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114237637018050300?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114237637018050300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114237637018050300' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114237637018050300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114237637018050300'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/cars.html' title='Cars'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24008968.post-114229312247080464</id><published>2006-03-13T15:18:00.000-08:00</published><updated>2006-03-14T21:13:46.216-08:00</updated><title type='text'>Laptop</title><content type='html'>&lt;div style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7505/2138/1600/a.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 216px; height: 163px;" src="http://photos1.blogger.com/blogger/7505/2138/320/a.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After many months at my new job, I finally have received a laptop.  It's an IBM T41, with 2 GB memory, 60 GB drive, and a 1.6 GHz Centrino processor.&lt;br /&gt;&lt;br /&gt;Unfortunately, it only has an XGA (1024x768) display, but I guess I just have to deal.  My previous job provided me with a laptop with a WUXGA (1680x1050), which spoiled me a bit.  Maybe someday I'll buy myself one of &lt;a href="http://configure.us.dell.com/dellstore/config.aspx?c=us&amp;cs=19&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;l=en&amp;oc=iMX170G2&amp;amp;s=dhs" target="_new"&gt;these&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm dual booting Windows XP and Red Hat Linux Enterprise WS 4.  I'm using a nifty trick to boot     Linux using NTLDR, instead of GRUB.  Go &lt;a href="http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html" target="_new"&gt;here&lt;/a&gt; if you're interested.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24008968-114229312247080464?l=karoberts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://karoberts.blogspot.com/feeds/114229312247080464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24008968&amp;postID=114229312247080464' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114229312247080464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24008968/posts/default/114229312247080464'/><link rel='alternate' type='text/html' href='http://karoberts.blogspot.com/2006/03/laptop.html' title='Laptop'/><author><name>karoberts</name><uri>http://www.blogger.com/profile/08563829399561780654</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.keith-roberts.com/images/blog.jpg'/></author><thr:total>3</thr:total></entry></feed>
