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

<channel>
	<title>Dmitry Kalashnikov</title>
	<atom:link href="http://klimb.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://klimb.com/blog</link>
	<description></description>
	<pubDate>Mon, 25 Aug 2008 19:26:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Breakdancing with friends at LO-FI</title>
		<link>http://klimb.com/blog/2008/08/14/lofi_seattle_bboy_sessio</link>
		<comments>http://klimb.com/blog/2008/08/14/lofi_seattle_bboy_sessio#comments</comments>
		<pubDate>Thu, 14 Aug 2008 00:17:57 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=174</guid>
		<description><![CDATA[Dancing with Free and Orbitron (Circle of Fire crew), and other local bboys at club &#8220;LO_FI&#8221; (Seattle):
Orbitron is freestyling on the second half of the video.
Listen to 4:23
&#8220;&#8230; great to see release - my man goes
Dmitry is in the circle &#8212; he spins and let goes
with the palm on a hand over jacket
grant stand I [...]]]></description>
			<content:encoded><![CDATA[<p>Dancing with Free and Orbitron (Circle of Fire crew), and other local bboys at club &#8220;LO_FI&#8221; (Seattle):</p>
<p>Orbitron is freestyling on the second half of the video.</p>
<p>Listen to 4:23</p>
<p>&#8220;&#8230; great to see release - my man goes<br />
<span style="color: #ff0000;">Dmitry is in the circle &#8212; he spins and let goes<br />
with the palm on a hand over jacket</span><br />
grant stand I can grand slam when I got here<br />
Tip the beat, rock and nod, spot the block, till I get off to my forehead<br />
Ya&#8217;ll know where its at, ya&#8217;ll spin on a hat &#8230;&#8221;</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/A723CyBtPD4&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/A723CyBtPD4&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object><br />
My ankle is feeling much better! I can finally start dancing again!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/08/14/lofi_seattle_bboy_sessio/feed</wfw:commentRss>
		</item>
		<item>
		<title>Klimb Movie Project: Random Footage!</title>
		<link>http://klimb.com/blog/2008/08/10/klimb-movie-project-random-footage</link>
		<comments>http://klimb.com/blog/2008/08/10/klimb-movie-project-random-footage#comments</comments>
		<pubDate>Sun, 10 Aug 2008 08:37:16 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=170</guid>
		<description><![CDATA[
Just uploaded some footage to youtube


and this:

]]></description>
			<content:encoded><![CDATA[<p><a title="Climb Movie Project Footage" href="http://klimb.com/blog/2008/08/10/klimb-movie-project-random-footage"><img class="alignnone size-full wp-image-172" title="klimb_dmitry_kalashnikov_johny_goicoechea3" src="http://klimb.com/blog/wp-content/uploads/2008/08/klimb_dmitry_kalashnikov_johny_goicoechea3.jpg" alt="" width="500" height="415" /></a></p>
<p>Just uploaded some footage to youtube</p>
<p><span id="more-170"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/9AcMJqsgSBg&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/9AcMJqsgSBg&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>and this:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/YwtaFxU3R2I&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/YwtaFxU3R2I&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/08/10/klimb-movie-project-random-footage/feed</wfw:commentRss>
		</item>
		<item>
		<title>Found a video of me on youtube</title>
		<link>http://klimb.com/blog/2008/08/10/found-a-video-of-my-on-youtube</link>
		<comments>http://klimb.com/blog/2008/08/10/found-a-video-of-my-on-youtube#comments</comments>
		<pubDate>Sun, 10 Aug 2008 08:30:10 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=169</guid>
		<description><![CDATA[I was uploading our climbing movie project and found this video of me on youtube. I think it was shot by UW students for studying dynos?  

]]></description>
			<content:encoded><![CDATA[<p>I was uploading our climbing movie project and found this video of me on youtube. I think it was shot by UW students for studying dynos?  </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/--xJQHyJuGQ&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/--xJQHyJuGQ&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/08/10/found-a-video-of-my-on-youtube/feed</wfw:commentRss>
		</item>
		<item>
		<title>Time goes by faster the older you get?</title>
		<link>http://klimb.com/blog/2008/08/08/time-goes-by-faster-the-older-you-get</link>
		<comments>http://klimb.com/blog/2008/08/08/time-goes-by-faster-the-older-you-get#comments</comments>
		<pubDate>Fri, 08 Aug 2008 02:48:07 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=167</guid>
		<description><![CDATA[After having a discussion earlier today about this, as I was driving home &#8230; I realized something about this saying - its just not true.
Any kind of excitement and anticipation make it feel like time is sloooowing down. Think about it. Lets say you’re so excited to do something with your friends on Friday. You [...]]]></description>
			<content:encoded><![CDATA[<p>After having a discussion earlier today about this, as I was driving home &#8230; I realized something about this saying - its just not true.</p>
<p>Any kind of excitement and anticipation make it feel like time is sloooowing down. Think about it. Lets say you’re so excited to do something with your friends on Friday. You have these huge plans. The whole week is going to feel like a month, because you just can’t wait for it to be that day!</p>
<p><span id="more-167"></span></p>
<p>I think as people get older, they get less and less excited about Life in general, with an attitude “been there, done that”. Nothing surprises them. Nothing really takes their breath away, or disappoints them. They’ve been through many ups and downs etc. Its all about the same&#8230;</p>
<p><strong>Don&#8217;t do that! Get excited :)</strong></p>
<p>I think the key to enjoying life is always to be “in the mystery” like its your first day on this planet, to be excited to see what’s around the corner. I think its somewhere right in between of whats called &#8220;The beginner&#8217;s mind&#8221; in Zen, and &#8220;becoming a child again&#8221; in Matthew 18:1 .</p>
<p>Hope, desire, and passion make Life worth living!</p>
<p>Is there something you always wanted to do but gave up on? Get really inspired and <strong>time will fell normal again</strong>, just like when you were a little kid.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/08/08/time-goes-by-faster-the-older-you-get/feed</wfw:commentRss>
		</item>
		<item>
		<title>Evolution: Keep the wing or go wingless?</title>
		<link>http://klimb.com/blog/2008/08/04/evolution-keep-the-wing-or-go-wingless</link>
		<comments>http://klimb.com/blog/2008/08/04/evolution-keep-the-wing-or-go-wingless#comments</comments>
		<pubDate>Mon, 04 Aug 2008 02:44:52 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[carbon]]></category>

		<category><![CDATA[evo]]></category>

		<category><![CDATA[evolution]]></category>

		<category><![CDATA[fiber]]></category>

		<category><![CDATA[ix]]></category>

		<category><![CDATA[lip]]></category>

		<category><![CDATA[mitsubishi]]></category>

		<category><![CDATA[mr]]></category>

		<category><![CDATA[rexpeed]]></category>

		<category><![CDATA[type-c]]></category>

		<category><![CDATA[wing]]></category>

		<category><![CDATA[wingless]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=151</guid>
		<description><![CDATA[What do you guys think? Should I keep the stock wing, take it off, or get a little &#8220;trunk lip&#8221; for my car?
Stock Wing 
So, here is a picture of my car (first pic). I think the stock wing is kinda big and silly, but it is functional &#8230; if I am taking 90-degree corners [...]]]></description>
			<content:encoded><![CDATA[<p>What do you guys think? Should I keep the stock wing, take it off, or get a little &#8220;trunk lip&#8221; for my car?</p>
<p><strong>Stock Wing </strong></p>
<p>So, here is a picture of my car (first pic). I think the stock wing is kinda big and silly, but it is functional &#8230; if I am taking 90-degree corners at 160 mph.</p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/dmitrys_car.jpg"><img class="alignnone size-medium wp-image-165" title="dmitrys_car" src="http://klimb.com/blog/wp-content/uploads/2008/08/dmitrys_car-300x153.jpg" alt="" width="300" height="153" /></a></p>
<p>This car isn&#8217;t meant to be &#8220;pretty&#8221; &#8212; its all purely functional. But I think taking a wing off might make it look more subtle.<br />
<span id="more-151"></span></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/evo_7069.jpg"><img class="alignnone size-medium wp-image-160" title="evo_7069" src="http://klimb.com/blog/wp-content/uploads/2008/08/evo_7069-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/evo_7046.jpg"><img class="alignnone size-medium wp-image-161" title="evo_7046" src="http://klimb.com/blog/wp-content/uploads/2008/08/evo_7046-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><strong>Without the Wing</strong></p>
<p>More &#8220;grown-up&#8221; look :) Less flashy and less attention from cops. Real subtle and clean. The only problem is when you take the wing off, it leaves 4 small holes in the trunk.</p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/100_1023.jpg"><img class="alignnone size-medium wp-image-152" title="Completely Wingless Evo" src="http://klimb.com/blog/wp-content/uploads/2008/08/100_1023-300x225.jpg" alt="Completely Wingless Evo" width="300" height="225" /></a></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/wingless008.jpg"><img class="alignnone size-medium wp-image-153" title="wingless008" src="http://klimb.com/blog/wp-content/uploads/2008/08/wingless008-300x225.jpg" alt="Wingless" width="300" height="225" /></a></p>
<p><strong>No Wing, but with a little carbon fiber lip</strong></p>
<p>I am leaning towards this look, it completes the car lines and also covers up those holes in the trunk that keep the wing on. (BTW, its made by Rexpeed and its called &#8220;Type-C&#8221; lip).</p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/evo3.jpg"><img class="alignnone size-medium wp-image-155" title="evo3" src="http://klimb.com/blog/wp-content/uploads/2008/08/evo3-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/mygd-15.jpg"><img class="alignnone size-medium wp-image-156" title="mygd-15" src="http://klimb.com/blog/wp-content/uploads/2008/08/mygd-15-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/mygd2.jpg"><img class="alignnone size-medium wp-image-159" title="mygd2" src="http://klimb.com/blog/wp-content/uploads/2008/08/mygd2-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/mygd-1.jpg"><img class="alignnone size-medium wp-image-162" title="mygd-1" src="http://klimb.com/blog/wp-content/uploads/2008/08/mygd-1-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p><a href="http://klimb.com/blog/wp-content/uploads/2008/08/typec-cf21.jpg"><img class="alignnone size-medium wp-image-164" title="typec-cf21" src="http://klimb.com/blog/wp-content/uploads/2008/08/typec-cf21-300x201.jpg" alt="" width="300" height="201" /></a></p>
<p>OK, please take a second and <strong>vote </strong>or leave a comment below if you like:</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/08/04/evolution-keep-the-wing-or-go-wingless/feed</wfw:commentRss>
		</item>
		<item>
		<title>Campusing Training Videos (Climbing without feet)</title>
		<link>http://klimb.com/blog/2008/07/20/campusing-videos-climbing-without-feet</link>
		<comments>http://klimb.com/blog/2008/07/20/campusing-videos-climbing-without-feet#comments</comments>
		<pubDate>Sun, 20 Jul 2008 07:45:13 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Rock Climbing]]></category>

		<category><![CDATA[bouldering]]></category>

		<category><![CDATA[campus]]></category>

		<category><![CDATA[campusing]]></category>

		<category><![CDATA[climbing]]></category>

		<category><![CDATA[finger]]></category>

		<category><![CDATA[strength]]></category>

		<category><![CDATA[tendon]]></category>

		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=148</guid>
		<description><![CDATA[
Campusing is a climbing exercise or &#8220;move&#8221; depending on your style :-) where you climb up the wall without using your feet. You don&#8217;t have to be able to do this in order to climb &#8212; There are plenty of climbers who can climb very hard but can&#8217;t even come close to doing what you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/2008/07/20/campusing-videos-climbing-without-feet"><img title="Johnny Goicoechea Campusing" src="http://klimb.com/blog/wp-content/uploads/2008/07/johnnycampusing-300x296.jpg" alt="Johnny Goicoechea Campusing" width="132" height="132" align="left" /></a></p>
<p>Campusing is a climbing exercise or &#8220;move&#8221; depending on your style :-) where you climb up the wall without using your feet. You don&#8217;t have to be able to do this in order to climb &#8212; There are plenty of climbers who can climb very hard but can&#8217;t even come close to doing what you&#8217;re about to see in these videos.</p>
<p style="text-align: left;">Climbing is not all about power and strength, but it is sure nice to have endless supplies of it!</p>
<p style="text-align: left;"><span id="more-148"></span><br />
<strong>Todd Meyers&#8217; Campusing Workout</strong>: We recorded these videos at Wild Walls (Climbing Gym in Spokane) a few years ago. I just found these videos, so I am sharing them.</p>
<p style="text-align: left;"><strong>Warmup Set: Doing one-arms on a campus board, while skipping every other rung</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/GHjzB6PPfaM&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/GHjzB6PPfaM&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;"><strong>Set 2: Doing one arms on very small (Metolius) rungs, skipping ever other one!</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/cGHcWXWFq4Q&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/cGHcWXWFq4Q&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;"><strong>Set 3: One-arm pullups with with 10 pound ankle weights on each leg. Skipping every other rung!</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/cqeFnglY4mI&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/cqeFnglY4mI&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;"><strong>Set 4: More one-arms with ankle weights!</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/13PS7os1ZAg&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/13PS7os1ZAg&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;"><strong>Set 5: Last but not least&#8230;</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/OBP5GV-wr74" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/OBP5GV-wr74"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/20/campusing-videos-climbing-without-feet/feed</wfw:commentRss>
		</item>
		<item>
		<title>Finding a balance in Life</title>
		<link>http://klimb.com/blog/2008/07/17/finding-a-ballance-in-life</link>
		<comments>http://klimb.com/blog/2008/07/17/finding-a-ballance-in-life#comments</comments>
		<pubDate>Thu, 17 Jul 2008 02:31:51 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[emotional]]></category>

		<category><![CDATA[family]]></category>

		<category><![CDATA[get things done]]></category>

		<category><![CDATA[gtd]]></category>

		<category><![CDATA[happiness]]></category>

		<category><![CDATA[health]]></category>

		<category><![CDATA[love]]></category>

		<category><![CDATA[spiritual]]></category>

		<category><![CDATA[wealth]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=144</guid>
		<description><![CDATA[I am going to share some of my very personal ideas on being balanced and staying on top of things. These things I figured out on my own a while back and I have been perfecting them every day. Being a software developer, I constantly trying to find an improved “algorithm” for &#8230; well, Living. I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/2008/07/17/finding-a-ballance-in-life"><img class="alignleft size-full wp-image-147" style="float: left;" title="Dmitry Kalashnikov" src="http://klimb.com/blog/wp-content/uploads/2008/07/dvk1.jpg" alt="Dmitry Kalashnikov" width="111" height="130" /></a>I am going to share some of my very personal ideas on being balanced and staying on top of things. These things I figured out on my own a while back and I have been perfecting them every day. Being a software developer, I constantly trying to find an improved “algorithm” for &#8230; well, <strong>Living</strong>. I can’t give it all away because it’s too personal but here are a few practical tips and ideas:</p>
<p><span id="more-144"></span></p>
<p><strong>1. Empty your concerns so you have room to think clearly!</strong></p>
<p>I am starting to think GTD stole all of my ideas :) Anyway, you can&#8217;t be productive if your mind is cluttered with to-do lists, pressing events, unsolved problems and projects. There is a really simple solution for this – just write it down, get it out of your head and realize that you’ll come back to it later, on your own terms so for now it won’t bother you. I’ve always thought the mind is similar to computer RAM – it has a limited “operational capacity”. Even though you can increase it, your “effective memory” is the thought space not preoccupied by background processes, or loops such as unresolved concerns and to-do lists. These things interrupt you from focusing. They make you constantly context-switch. A Zen-like approach is much more effective.</p>
<p><em>Maintain an All-Day “Journal” Event:<br />
</em>I carry a PDA and a paper notepad (in case the former fails). On my PDA (iPhone) I create an all-day (calendar) event called “journal”. Inside it, I make notes of anything important that happened during a day. I like to track it in software, because later I can search it for keywords. I’ve been meticulously journaling my life this way for the past 6 years and it has worked well for me.</p>
<p><em>Write down your concerns in a Daily Recurring Event<br />
</em>It is very convenient to have a daily recurring event (I renamed mine to “bucket”, credits to GTD). As you go through your day, open this “Bucket” event, and write down any kind of concerns, ideas, to-dos, etc in the notes section. I also carry a voice recorder (so if I am driving I can record things I need to remember and put them into my calendar later (plus its not a bad idea to become aware of what you sound like to people)).</p>
<p>If you do these 2 things you’ll have the ability to (1) search through your Life journal, and (2) copy and paste your items from bucket to other software. Make sure to make monthly backups of your calendar by burning them to a CD.</p>
<p><strong>2. Process your daily “bucket of concerns”</strong></p>
<p>At night, I sit down and go through each item in my daily bucket list. I empty it completely every day. You can only do one of the following things with the items in your bucket:</p>
<ol>
<li>If it’s something small (less than 2 minutes) - do it immediately!</li>
<li>Can someone else help you do it? Delegate it and create an event in your calendar to follow up on it later.</li>
<li>If it requires you to be in some place and time, schedule it to be done as soon as possible.</li>
<li>If it’s some kind of information that will really be useful to remember at a later time, on some specific day &#8230; put it in your calendar (and describe it in the notes section of the event).</li>
<li>If it’s not feasible at the moment, file it to review later, under “maybe/someday” folder.</li>
<li>If it’s a huge task, create a project for it. Break it down to specific “action items” and figure out what is blocking you from moving forward with it!</li>
<li>Don’t do it at all.</li>
</ol>
<p><strong>3. Get inspired: Reflect and Review </strong></p>
<ol>
<li>Refocus on your priorities and values. What do you want to do with your short and fleeting Life? What is important? If you don’t have a good answer for this question, schedule aside a personal time to pray, reflect, meditate etc.</li>
<li>How about the next year? What specific goals do you have?</li>
<li>How about this week? What specifically are you going to accomplish this week? Take a look at your maybe/someday list. Can you do any of it this week?</li>
<li>What specific things you’re not doing right now that would have amazing positive effect on your life only if you would do them every day?</li>
<li>Look over your schedule for tomorrow and go to sleep. When you wake up, glance over your schedule after breakfast.</li>
</ol>
<p>I look at every day as an opportunity to grow in all of Life. If I am not learning and growing, I am as good as dead. This is how I break it down in my mind:</p>
<p><em>Personal Areas (Inner):</em></p>
<ul>
<li><strong>Spiritual</strong>: Prayer, meditation, reflection etc. Keep yourself from being polluted by this world. Run towards the light.</li>
<li><strong>Emotional</strong>: Emotional Intelligence, Power under control (over your emotions, thoughts, desires, speech, etc). Guard your heart. Don&#8217;t be reactive.</li>
<li><strong>Intellectual</strong>: Use it or loose it! Progressing and learning something difficult, highly technical. Using your memory so your capacity increases.</li>
<li><strong>Physical</strong>: Training your body (your temple) to be in the best physical shape you can possibly be. Watching your diet. Getting enough sleep. I learned (from Aikido) on a very deep level that mind and body are inseparable. Healthy body is healthy mind, healthy emotions.</li>
</ul>
<p><em>People Areas (Outer):<br />
</em></p>
<ul>
<li><strong>Family</strong>: spending time with family</li>
<li><strong>Friends</strong>: connecting with friends and making new ones.</li>
<li><strong>Love Life</strong>: dating, etc.</li>
</ul>
<p>To simplify all of these things above and to understand how they all work together, you can just think of them as 3 things:</p>
<ul>
<li><strong>Love</strong>: Love for Your Family, Friends, Colleagues, Acquaintances, Complete Strangers. (<a href="http://cf.blueletterbible.org/lang/lexicon/lexicon.cfm?Strongs=G26&amp;t=kjv">Agapē</a>).</li>
<li><strong>Health</strong>: Your Spiritual, Emotional, Intellectual and Physical well-being.</li>
<li><strong>Wealth</strong>: Your ability to make money (for the sole purpose of keeping Love and Health in balance. Think about it!)</li>
</ul>
<p>Now watch how they&#8217;re connected:</p>
<p>Let’s say “Love” gets out of balance: you’re not in good relationships with your girlfriend – well, it will immediately take a toll on Health and Wealth. You might be stressing out, you won’t get enough sleep (Health), and you won’t be productive at your work (Wealth).</p>
<p>Let’s say you&#8217;re having financial problems (Wealth) – you&#8217;re not going to have any time to spend with your family, friends and loved ones. Your relationships will start to deteriorate (Love). Because of stress, your Health will be affected as well (Health)!</p>
<p>If you’re sick and in pain (Health), you won’t be able to work well (Wealth), or spend quality time with family, friends, etc (Love). You need to take care of your body so it takes care of you later.</p>
<p>All these 3 things are connected very strongly. Keeping them balanced will make you feel great!</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/17/finding-a-ballance-in-life/feed</wfw:commentRss>
		</item>
		<item>
		<title>Powershell and .NET</title>
		<link>http://klimb.com/blog/2008/07/16/powershell-and-dotnet</link>
		<comments>http://klimb.com/blog/2008/07/16/powershell-and-dotnet#comments</comments>
		<pubDate>Wed, 16 Jul 2008 18:55:48 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2008/07/16/powershell-and-net</guid>
		<description><![CDATA[Powershell gives you full access to Microsoft .NET framework objects. There is a special syntax for accessing static methods and properties (it uses square brackets). For creating new objecects and instantiating .NET classes you use Net-Object commandlet.

Accessing static methods and properties:

[class]::method(arg1, arg2 &#8230;)
[class]::SomeProp


Instantiating objects and accessing their methods and properties:

$obj = New-Object Foo.Bar
$obj.method(arg1, arg2 &#8230;)
$obj.PropName
or [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Powershell" href="http://klimb.com/blog/2008/07/16/powershell-and-dotnet"><img class="alignleft size-full wp-image-131" style="float: left;" title="powershell and .net" src="http://klimb.com/blog/wp-content/uploads/2008/07/powershell1.gif" alt="Powershell" width="75" height="75" /></a>Powershell gives you full access to Microsoft .NET framework objects. There is a special syntax for accessing static methods and properties (it uses square brackets). For creating new objecects and instantiating .NET classes you use Net-Object commandlet.<br />
<span id="more-143"></span><br />
<strong>Accessing static methods and properties:<br />
</strong><br />
[class]::method(arg1, arg2 &#8230;)<br />
[class]::SomeProp</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071608-1855-powershella1.png" alt="" /></p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071608-1855-powershella2.png" alt="" /></p>
<p><strong>Instantiating objects and accessing their methods and properties:<br />
</strong><br />
$obj = New-Object Foo.Bar<br />
$obj.method(arg1, arg2 &#8230;)<br />
$obj.PropName</p>
<p style="margin-left: 1pt">or shorter (anonymous var way):</p>
<p style="margin-left: 1pt">(new-object Foo.Bar).method(arg1, arg2 &#8230;)</p>
<p style="margin-left: 1pt">(new-object Foo.Bar).PropName</p>
<p style="margin-left: 1pt"><strong>Some of the libraries are not accessible in powershell until you load them:<br />
</strong></p>
<p style="margin-left: 1pt">[Reflection.Assembly]::LoadWithPartialName(&#8221;System.Windows.Forms&#8221;)</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071608-1855-powershella3.png" alt="" /></p>
<p style="margin-left: 1pt"><strong>Getting More Help<br />
</strong></p>
<p style="margin-left: 1pt">To find out more about net-object, use the &#8220;man&#8221; page (manual):</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071608-1855-powershella4.png" alt="" /></p>
<p style="margin-left: 1pt">Or you could have typed &#8220;get-help new-object&#8221; (man is just an alias to it)</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/16/powershell-and-dotnet/feed</wfw:commentRss>
		</item>
		<item>
		<title>New Climbing Movie Project!</title>
		<link>http://klimb.com/blog/2008/07/16/new-climbing-movie-project</link>
		<comments>http://klimb.com/blog/2008/07/16/new-climbing-movie-project#comments</comments>
		<pubDate>Wed, 16 Jul 2008 00:53:38 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Rock Climbing]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2008/07/16/new-climbing-movie-project</guid>
		<description><![CDATA[As many of you already know my friend Johnny Goicoechea and I are making a climbing movie. We have been going climbing every weekend in areas around Seattle (and further) and capturing the best climbs we can find.
It&#8217;s all being shot using a very nice hi-def camera, so 10 years from now when everything is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/wp-content/uploads/2008/07/main.jpg"><img class="alignleft size-medium wp-image-133" style="float: left;" title="Highball" src="http://klimb.com/blog/wp-content/uploads/2008/07/main-300x190.jpg" alt="Highball at Goldbar" width="300" height="190" /></a>As many of you already know my friend Johnny Goicoechea and I are making a climbing movie. We have been going climbing every weekend in areas around Seattle (and further) and capturing the best climbs we can find.</p>
<p>It&#8217;s all being shot using a very nice hi-def camera, so 10 years from now when everything is in HD, we&#8217;ll look back at it and be glad we did :) The plot of the movie is about us, and is about our training for climbing, using gymnastic rings, campusing and other methods. After showing different exercises, we are showing how they apply in real-world situations.</p>
<p><span id="more-132"></span></p>
<p>We&#8217;re still in the &#8220;shooting&#8221; stage capturing new footage, although we have plenty to finish this movie already. The name is to be announced soon. Reply if you have any suggestions &#8230; if we end up using it your name will be in the credits.</p>
<div class="gallery-items">
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4641"></p>
<p><img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4642&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 16"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4611"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4612&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 5"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4605"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4606&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 3"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4614"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4615&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 6"/><br />
</a></p>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4608"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4609&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 4"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4620"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4621&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 8"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4623"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4624&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 9"/><br />
</a>
</div>
<div class="gallery-thumb">
<p><a href="http://klimb.com/gallery/main.php?g2_itemId=4626"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4627&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 10"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4632"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4633&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 12"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4635"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4636&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 14"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4647"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4648&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 18"/></p>
<p></a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4638"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4639&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 15"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4644"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4645&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 17"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4650"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4651&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 19"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4653"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4654&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 20"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4656"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4657&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 13"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4668"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4669&amp;g2_serialNumber=2" width="150" height="95" alt="Picture flip"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4671"></p>
<p><img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4672&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 10"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4674"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4675&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 13"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4665"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4666&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 4"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4677"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4678&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 16"/><br />
</a></p>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4662"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4663&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 2"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4598"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4599&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 1"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4710"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4711&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 1"/><br />
</a>
</div>
<div class="gallery-thumb">
<p><a href="http://klimb.com/gallery/main.php?g2_itemId=4713"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4714&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 2"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4716"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4717&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 3"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4719"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4720&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 5"/><br />
</a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4722"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4723&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 6"/></p>
<p></a>
</div>
<div class="gallery-thumb">
<a href="http://klimb.com/gallery/main.php?g2_itemId=4725"><br />
<img src="http://klimb.com/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4726&amp;g2_serialNumber=2" width="150" height="95" alt="Picture 9"/><br />
</a>
</div>
<div class="clear"></div>
</div>
<p>More Picst: <a href="http://klimb.com/gallery/main.php?g2_itemId=4596">Still Shot Picture Gallery</a></p>
<p>-Dmitry &amp; Johnny</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/16/new-climbing-movie-project/feed</wfw:commentRss>
		</item>
		<item>
		<title>Powershell vs UNIX Shells</title>
		<link>http://klimb.com/blog/2008/07/13/powershell-vs-unix-shells</link>
		<comments>http://klimb.com/blog/2008/07/13/powershell-vs-unix-shells#comments</comments>
		<pubDate>Sun, 13 Jul 2008 23:15:38 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2008/07/13/powershell-vs-unix-shells-2</guid>
		<description><![CDATA[First of all, I love Powershell. For those of you that don&#8217;t know, Powershell is (relatively) new command-line and scripting language for Microsoft Windows platform. The Powershell team has spent a lot of time looking at existing UNIX scripting tools and in my opinion cherry-picking the best features from them. Its the best of Ruby, [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Powershell" href="http://klimb.com/blog/2008/07/13/powershell-vs-unix-shells"><img class="alignleft size-full wp-image-131" style="float: left;" title="powershell1" src="http://klimb.com/blog/wp-content/uploads/2008/07/powershell1.gif" alt="Powershell" width="75" height="75" /></a>First of all, I love Powershell. For those of you that don&#8217;t know, Powershell is (relatively) new command-line and scripting language for Microsoft Windows platform. The Powershell team has spent a lot of time looking at existing UNIX scripting tools and in my opinion cherry-picking the best features from them. Its the best of Ruby, Perl, Zsh etc. The language syntax is very similar to Ruby and Perl. I am a big fan of both. In this article I&#8217;ll try to compare it to other unix shells and scripting languages.</p>
<p style="margin-left: 1pt"><span id="more-129"></span></p>
<p style="margin-left: 1pt"><strong>Powershell vs Unix Shells<br />
</strong></p>
<p style="margin-left: 1pt">The biggest difference between Powershell and UNIX shells is object orientation - Powershell deals with (.NET) objects for input/output, and Unix shells deal with simple text character streams for IO.</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071308-2315-powershellv1.png" alt="" /></p>
<p style="margin-left: 1pt">If you&#8217;re dealing with objects, you&#8217;re concerned with accessing its properities and sub-objects to find things, instead of grepping through text streams in a very unstructured manner.</p>
<p style="margin-left: 1pt">Powershell has built-in &#8220;commandlets&#8221; (cmdlets). Think of them as built-in commands in unix shells, such as ls, cd etc. In powershell, all commandlets follow action-verb naming convention, like Test-Path, or Get-Aliases.</p>
<p style="margin-left: 1pt">This naming convention is actually very emacs-like:</p>
<p style="margin-left: 1pt">Open Emacs and type M-x view-[Hit Tab]. You&#8217;ll see view-file, view-todo etc.</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071308-2315-powershellv2.png" alt="" /><span style="font-size: 12pt; font-family: Times New Roman;"><br />
</span></p>
<p style="margin-left: 1pt">Anyway, to make scripting for Windows platform more accessible and attractive to UNIX devs, Powershell provides aliases that map to proper commandlets. For instance, &#8220;ls&#8221; is an alias for Get-ChildItem, &#8220;dir&#8221; is also another alias for Get-childItem:</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071308-2315-powershellv3.png" alt="" /></p>
<p style="margin-left: 1pt"><strong>Providers<br />
</strong></p>
<p style="margin-left: 1pt">Powershell has a layer of abstraction that lets you manage different aspects of Windows: this layer is called &#8220;providers&#8221;. So, there is a provider for dealing with the file system, registry, wmi, certificate store, variables, namespaces, functions etc.</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071308-2315-powershellv4.png" alt="" /><span style="font-size: 12pt; font-family: Times New Roman;"><br />
</span></p>
<p style="margin-left: 1pt">Similar to everything in Unix being a &#8220;file&#8221;, you can get a view of most things on Windows platform using right providers. It also lets you to create your own.</p>
<p style="margin-left: 1pt"><strong>Great Tab Completion Support<br />
</strong></p>
<p style="margin-left: 1pt">One of the really nice features in Unix shells is tab completion. For example, Zsh (my favorite unix shell) has versatile ways you can customize tab completion.</p>
<p style="margin-left: 1pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/071308-2315-powershellv5.png" alt="" /><span style="font-size: 12pt; font-family: Times New Roman;"><br />
</span></p>
<p style="margin-left: 1pt">Powershell also has a support of tab-completing pretty much everything: variable names, functions, even .NET namespaces, classes etc. There is a plugin from <a href="http://thepowershellguy.com/blogs/posh/">Powershell Guy</a> called <a href="http://thepowershellguy.com/blogs/posh/pages/powertab.aspx">PowerTab</a>. I rely on it every day &#8230; highly recommend it.</p>
<p style="margin-left: 1pt"><strong>Daily Work<br />
</strong></p>
<p style="margin-left: 1pt">I try to avoid clicking buttons if I can automate it do it quicker from a command line, so my powershell console is always opened. Its great for development - I can test and script stuff using .NET without having to compile it etc, and it is also convenient for system administration in general.</p>
<p style="margin-left: 1pt">I&#8217;ll post some tips and tricks on both later on &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/13/powershell-vs-unix-shells/feed</wfw:commentRss>
		</item>
		<item>
		<title>Jackie Chan and Mitsubishi</title>
		<link>http://klimb.com/blog/2008/07/13/jackie-chan-mitsubishi-evolution</link>
		<comments>http://klimb.com/blog/2008/07/13/jackie-chan-mitsubishi-evolution#comments</comments>
		<pubDate>Sun, 13 Jul 2008 06:59:31 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[chan]]></category>

		<category><![CDATA[evolution]]></category>

		<category><![CDATA[ix]]></category>

		<category><![CDATA[jackie]]></category>

		<category><![CDATA[mitsubishi]]></category>

		<category><![CDATA[mr]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=113</guid>
		<description><![CDATA[Jackie Chan loves EVOs (Mitsubishi Evolution) and owns all generations of them (which is 1 through 10). Most of his movies have an Evo chase seen - watch &#8220;Who am I&#8221;, &#8220;Thunderbolt&#8221;). As you know, he does his own stunts and most of he is also a great driver.

Here is a video of him driving Evo IX [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/2008/07/13/jackie-chan-has-exact-same-car-as-me"><img class="alignleft size-medium wp-image-130" style="float: left;" title="Jackie Chan has the same car as me" src="http://klimb.com/blog/wp-content/uploads/2008/07/chan1-223x300.jpg" alt="Jackie Chan has the same car as me" width="156" height="200" /></a>Jackie Chan loves EVOs (Mitsubishi Evolution) and owns all generations of them (which is 1 through 10). Most of his movies have an Evo chase seen - watch &#8220;Who am I&#8221;, &#8220;Thunderbolt&#8221;). As you know, he does his own stunts and most of he is also a great driver.</p>
<p><span id="more-113"></span><br />
Here is a video of him driving Evo IX MR GG (Graphite Gray), exact same configuration as mine.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/1OhbW5oNPwM&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/1OhbW5oNPwM&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>Here is another one of his Evos. I don&#8217;t know about this. I think he has a very bad taste, but whatever. Its a show car with all kinds of expensive carbon junk on it (I like the clean look).</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/6sLhBBfBN4M&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/6sLhBBfBN4M&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>Here is a chase seen from one of his movies:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/-9dnO_k92jY&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/-9dnO_k92jY&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>Here is <a href="http://bbs.auto.sohu.com/read_art_sub.new.php?b=mche&amp;a=185316&amp;sr=0&amp;allchildnum=16">more info on Jackie Chan&#8217;s Evos</a>. I can&#8217;t read this :)</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/13/jackie-chan-mitsubishi-evolution/feed</wfw:commentRss>
		</item>
		<item>
		<title>Foods to get you ripped</title>
		<link>http://klimb.com/blog/2008/07/12/foods-to-get-you-ripped</link>
		<comments>http://klimb.com/blog/2008/07/12/foods-to-get-you-ripped#comments</comments>
		<pubDate>Sat, 12 Jul 2008 07:40:47 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Rock Climbing]]></category>

		<category><![CDATA[climbing]]></category>

		<category><![CDATA[food]]></category>

		<category><![CDATA[lean]]></category>

		<category><![CDATA[ripped]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=106</guid>
		<description><![CDATA[People are always wondering what I eat, or if I do any other training besides climbing. I do lots of other stuff, like martial arts, dancing, gymnastic rings, etc. But as far as foods, I actually do have a system that balances my energy.  

Here is a list of great food that you should [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Foods to get you ripped" href="http://klimb.com/blog/2008/07/12/foods-to-get-you-ripped"><img class="alignright size-thumbnail wp-image-109" style="float: right;" title="Good Goods" src="http://klimb.com/blog/wp-content/uploads/2008/07/img_1084-150x150.jpg" alt="Foods to get you ripped" width="150" height="150" /></a>People are always wondering what I eat, or if I do any other training besides climbing. I do lots of other stuff, like martial arts, dancing, gymnastic rings, etc. But as far as foods, I actually do have a system that balances my energy.  </p>
<p><span id="more-106"></span><br />
Here is a list of great food that you should just try to always keep in your fridge:</p>
<ul>
<li>Water - get a purifier, or drink hot tea (from real loose leafs)</li>
<li>Almonds and other nuts</li>
<li>Spinach</li>
<li>Broccoli</li>
<li>Instant unsweetened unflavored oatmeal</li>
<li>Eggs (get good kind, like freerange &amp; gressfed)</li>
<li>Turkey, Lean Stake, Tuna and other Fish</li>
<li>Greens for salad</li>
<li>Peanut butter (increases testosterone levels)</li>
<li>Whole grain breads and cereals (instead of white or whole weat)</li>
<li>Whey protein shakes</li>
<li>Raspberries and other berries</li>
<li>Plain Yogurt, Cottage Cheese</li>
</ul>
<p><strong>Simple Rules</strong></p>
<p style="font-size: 11pt; margin: 0in; font-family: Calibri;">
<p style="font-size: 11pt; margin: 0in; font-family: Calibri;">
<ol>
<li>
<div style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt; font-family: Calibri;">Don&#8217;t overeat - snack throughout the day. (OK, you already know this :) but are you actually doing it? Are you proactively preparing food for yourself so you can eat it when you&#8217;re at work?<br />
</span></div>
</li>
<li>
<div style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt; font-family: Calibri;">If you missed a dinner &#8212; don&#8217;t eat one. Have a little snack at night, go to sleep and have a big breakfast when you wake up. </span></div>
</li>
<li>
<div style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt; font-family: Calibri;">Here is a big secret: Eat fruits and nuts for breakfast, (only) carbs for lunch/day, and (only) protein for dinner. Start every meal with a salad. Carbs is the best source of energy, so you need it throughout your day. Protein is needed to repair your body for when you go to sleep. Snacking on nuts (good fat) in the morning gives you a steady long energy levels and keeps your bloodsugar from spiking.</span></div>
</li>
<li>
<div style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt; font-family: Calibri;">Bring your own food (from the list above) to work with you so you can eat it <strong>before</strong> you get hungry. If you&#8217;re feeling hungry, it means your blood sugar has already dropped! You&#8217;ll be less productive with your day.</span></div>
</li>
<li><span style="font-size: 11pt; font-family: Calibri;">Never eat fast food, anything deep fried, processed, foods with lots of ingredients, white flour, lunch meats, nothing with hfcs (high fructose corn syrup), msg. Instead, try to eat the rawest most &#8220;first hand&#8221; type of energy sources. Plans get energy directly from sun, animals &#8220;process&#8221; them, we kill the animals and process those etc. The closer you get to the &#8220;caveman&#8221; way of eating, the better off you&#8217;ll be. Read the ingredients and stay away from foods with a lot ingredients. Simpler is easier to digest.</span></li>
<li><span style="font-size: 11pt; font-family: Calibri;">Never eat food from someone who prepared it for you in the bad mood, including yourself. I&#8217;ve always believed we extract much more then just nutrients from food. There are other things that get transported through food that scientists don&#8217;t have a name for. (prov 15:17).<br />
</span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/12/foods-to-get-you-ripped/feed</wfw:commentRss>
		</item>
		<item>
		<title>Insertion Sort Explained</title>
		<link>http://klimb.com/blog/2008/07/12/insertion-sort</link>
		<comments>http://klimb.com/blog/2008/07/12/insertion-sort#comments</comments>
		<pubDate>Sat, 12 Jul 2008 04:13:55 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=105</guid>
		<description><![CDATA[Basic Idea: You have a deck of unsorted cards. Lets start a sorted pile. So you take one card at a time from unsorted pile and appropriately place it in sorted pile. You keep doing it until you just left with a sorted pile.
OK, now lets break it down in high-level pseudo code. Lets assume [...]]]></description>
			<content:encoded><![CDATA[<p><span style="FONT-WEIGHT: bold">Basic Idea:</span> You have a deck of unsorted cards. Lets start a sorted pile. So you take one card at a time from unsorted pile and appropriately place it in sorted pile. You keep doing it until you just left with a sorted pile.</p>
<p>OK, now lets break it down in high-level pseudo code. Lets assume we&#8217;re talking about arrays as a data structure.</p>
<p><span id="more-105"></span></p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">Function InsertionSort (A):</p>
<ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed">
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">n = number of elements in A</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">for i=1 to n-1:</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.75in; FONT-FAMILY: Calibri">for (j=i; j&gt;0 &amp;&amp; x[j-1] &gt; x[j]; j&#8211;)</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 1.125in; FONT-FAMILY: Calibri">swap (x, j-1, j)</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
</ul>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">OK, that was some dense code :) It also happens to be one very bad-ass implementation of it. Lets break go through it and see whats going &#8230;</p>
<ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
</ul>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">So, the outter loop:</p>
<ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">walk from i=1 to n-1</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
</ul>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">is going to walk left to right and leave everything before i sorted, but everything it hasn&#8217;t touched yet unsorted. (you&#8217;ll see in a second why we&#8217;re starting with 1 instead of 0)</p>
<ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
<div style="DIRECTION: ltr">
<table style="BORDER-RIGHT: #a3a3a3 1pt solid; BORDER-TOP: #a3a3a3 1pt solid; BORDER-LEFT: #a3a3a3 1pt solid; DIRECTION: ltr; BORDER-BOTTOM: #a3a3a3 1pt solid; BORDER-COLLAPSE: collapse" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 0.883in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">sorted pile</p>
</td>
<td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 0.667in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-ALIGN: center">i</p>
</td>
<td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 1.072in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">unsorted pile</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
</ul>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">The inner loop:</p>
<ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">for (j=i; j&gt;0 &amp;&amp; x[j-1] &gt; x[j]; j&#8211;)</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.75in; FONT-FAMILY: Calibri">swap (x, j-1, j)</p>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
</ul>
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">is going to try to stick the new element into appropriate place in the &#8220;sorted&#8221; pile. The key thing to notice here is <span style="color: #008000;">it walks right to left.</span></p>
<ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed">
<p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
</ul>
<p style="font-size: 11pt; margin: 0in; font-family: Calibri;">Now Visualize the inner loop:</p>
<ul>
<li>
<div style="font-size: 11pt; margin: 0in; font-family: Calibri;"><span style="font-size: 11pt; font-family: Calibri;">we have a sorted pile, with new element being at the very right of it. </span></div>
</li>
<li>
<div style="font-size: 11pt; margin: 0in; font-family: Calibri;"><span style="font-size: 11pt; font-family: Calibri;">if the element to the left of it is bigger then our new element, we&#8217;ll swap them</span></div>
</li>
<li>
<div style="font-size: 11pt; margin: 0in; font-family: Calibri;"><span style="font-size: 11pt; font-family: Calibri;">we&#8217;ll keep looking and seeing if the element to the left of us is smaller and swapping positions until there is nothing left.</span></div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/12/insertion-sort/feed</wfw:commentRss>
		</item>
		<item>
		<title>Mergesort Explanation</title>
		<link>http://klimb.com/blog/2008/07/12/mergesort-explanation</link>
		<comments>http://klimb.com/blog/2008/07/12/mergesort-explanation#comments</comments>
		<pubDate>Sat, 12 Jul 2008 03:26:06 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=102</guid>
		<description><![CDATA[Mergesort: Split data in two halfs, mergesort each half, then merge these already sorted halfs back into a single piece.
Mergesort and merge are two separate functions. Think of merge as a helper function that does most of the work. Its much easier to explain with a very high-level pseudo code:

Function Mergesort (A):
B = First half [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Mergesort</strong>: Split data in two halfs, mergesort each half, then merge these already sorted halfs back into a single piece.</p>
<p>Mergesort and merge are two separate functions. Think of merge as a helper function that does most of the work. Its much easier to explain with a very high-level pseudo code:</p>
<p><span id="more-102"></span></p>
<p>Function Mergesort (A):</p>
<p>B = First half of A<br />
C = Second half of A<br />
Mergesort(B)<br />
Mergesort(C)</p>
<p>/* Important: B and C area already sorted at this point. We just need to merge them into A */<br />
Merge(B, C, A)</p>
<p>Function Merge(B, C, A):<br />
/* Merges 2 already sorted arrays (B and C) into one sorted array (A) */<br />
While B and C still have elements:<br />
keep taking the smallest element from B or C, and appending it to A</p>
<p><strong>Analysis</strong>: It’s a two step process:</p>
<ol>
<li>We constantly keep splitting data into two (until we can&#8217;t split it any more)</li>
<li>Then we keep merging splited pieces into a single piece.</li>
</ol>
<p>it &#8220;Big O&#8221; is: O(n lg n) because it takes lg n &#8220;levels&#8221; in the tree to break it down, then n-times to merge them. See my refresher on logarithms if you don&#8217;t understand what lg n means.</p>
<p>So, thats the basic idea. Its pretty simple really. I&#8217;ll update this post and add some actual code in various languages later on. Maybe using C# and ruby.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/12/mergesort-explanation/feed</wfw:commentRss>
		</item>
		<item>
		<title>iPhone upgrade to v2.0 problems</title>
		<link>http://klimb.com/blog/2008/07/11/iphone-firmware-upgrade-to-v20-problems</link>
		<comments>http://klimb.com/blog/2008/07/11/iphone-firmware-upgrade-to-v20-problems#comments</comments>
		<pubDate>Fri, 11 Jul 2008 17:13:15 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=100</guid>
		<description><![CDATA[Yep, I just made my phone into a brick: I tried installing v2.0 firmware update. It partially updated my phone and left it in locked state. It says to connect it to itunes, but iTunes can&#8217;t connect to its servers for whatever reason. I am getting network timeout messages. Probabily too many people are trying [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/wp-content/uploads/2008/07/capture.jpg"><img class="alignleft size-thumbnail wp-image-101" style="float: left;" title="iTunes Error Message" src="http://klimb.com/blog/wp-content/uploads/2008/07/capture-150x150.jpg" alt="Network Timeout" width="150" height="150" /></a>Yep, I just made my phone into a brick: I tried installing v2.0 firmware update. It partially updated my phone and left it in locked state. It says to connect it to itunes, but iTunes can&#8217;t connect to its servers for whatever reason. I am getting network timeout messages. Probabily too many people are trying to update their phones &#8230; but how is that my problem? Now my phone is completely dead and I need to make some calls! This sucks.</p>
<p><span id="more-100"></span></p>
<p><strong>Update</strong>: So the update worked like 4 hours later. Meanwhile, my phone was completely unusable. This whole thing is a major hit on Apple&#8217;s reputation for quality!</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/11/iphone-firmware-upgrade-to-v20-problems/feed</wfw:commentRss>
		</item>
		<item>
		<title>Logarithms Revisited</title>
		<link>http://klimb.com/blog/2008/07/09/logarithms</link>
		<comments>http://klimb.com/blog/2008/07/09/logarithms#comments</comments>
		<pubDate>Wed, 09 Jul 2008 18:49:44 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2008/07/09/logarithms</guid>
		<description><![CDATA[You might remember that a logarithm of a number is the power to which its base must be raised to produce your number. OK, that was a mouthful. Its much easier to describe with math examples. English just doesn&#8217;t cut it for things like this.

Base 10 Logs:
log10(1000)=3
10 ^ 3 = 1,000
Base 2 (lg):
lg 32 = [...]]]></description>
			<content:encoded><![CDATA[<p>You might remember that a logarithm of a number is the power to which its base must be raised to produce your number. OK, that was a mouthful. Its much easier to describe with math examples. English just doesn&#8217;t cut it for things like this.</p>
<p><span id="more-98"></span></p>
<p>Base 10 Logs:</p>
<p style="margin-left: 27pt">log10(1000)=3</p>
<p style="margin-left: 27pt">10 ^ 3 = 1,000</p>
<p>Base 2 (lg):</p>
<p style="margin-left: 27pt">lg 32 = 5</p>
<p style="margin-left: 27pt">2 ^ 5 = 32</p>
<p>Binary Tree Example:</p>
<p style="margin-left: 27pt">The height of a binary tree is lg num_nodes</p>
<p style="margin-left: 27pt">If a tree has 16 nodes:</p>
<ul style="margin-left: 54pt">
<li>common sense: its height is 4 &#8212; that&#8217;s how many &#8220;rows&#8221; it has<span style="font-size: 12pt; font-family: Times New Roman;"><br />
</span></li>
<li>lg 16 = 4</li>
<li>proof: 2 ^ 4 = 16</li>
</ul>
<p style="margin-left: 27pt"><img src="http://klimb.com/blog/wp-content/uploads/2008/07/070908-1849-logarithms1.png" alt="" /></p>
<div style="margin-left: 24pt">
<table style="border-collapse:collapse" border="0">
<colgroup span="1"><col style="width: 64px;" span="1"></col><col style="width: 64px;" span="1"></col><col style="width: 64px;" span="1"></col><col style="width: 64px;" span="1"></col><col style="width: 64px;" span="1"></col><col style="width: 64px;" span="1"></col><col style="width: 69px;" span="1"></col></colgroup>
<tbody>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  solid #a3a3a3 1.0pt; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">n</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">1</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">2</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">4</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">8</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">16</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  solid #a3a3a3 1.0pt; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">32</td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #a3a3a3 1.0pt; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">lg(n)</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt"></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">1</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">2</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">3</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">4</td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #a3a3a3 1.0pt; border-right:  solid #a3a3a3 1.0pt">5</td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left: 27pt">So, as you can see … as n grows rapidly, lg(n) is growing very slowly. Why is this important? Its important in computer science, were we are always concern with what happens to our program when the data it processes increases. What happens to its speed if input data is of enourmous size? Will the algorithm choke?</p>
<p style="margin-left: 27pt">As n approaches infinity &#8230; what happens to it? A lot of algorithms in computer science have this logarithmic properity &#8230;</p>
<p style="margin-left: 27pt">(I&#8217;ll update this after I post some sorting algos)</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/09/logarithms/feed</wfw:commentRss>
		</item>
		<item>
		<title>Create Unix Aliases in Vista</title>
		<link>http://klimb.com/blog/2008/07/09/create-unix-aliases-in-vista</link>
		<comments>http://klimb.com/blog/2008/07/09/create-unix-aliases-in-vista#comments</comments>
		<pubDate>Wed, 09 Jul 2008 18:47:31 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2008/07/09/95</guid>
		<description><![CDATA[Its kind of funny &#8211;commands like ls, grep, find, cat etc are so wired into my hands, I always make a mistake of typing them even when I am using Windows. Its even a bigger problem for me, since I work for Microsoft and I develop on Windows all day. So what I usually do [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in 0in 0pt 5.35pt;">Its kind of funny &#8211;commands like ls, grep, find, cat etc are so wired into my hands, I always make a mistake of typing them even when I am using Windows. Its even a bigger problem for me, since I work for Microsoft and I develop on Windows all day. So what I usually do it (1) avoid cmd.exe completely :) and use powershell since it already has these aliases. (2) if I have to use cmd.exe I run these settings to remap things for my brain :) Enjoy.</p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span id="more-95"></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;">To make cmd.exe more unix-like, do the following:</p>
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">1. Create a shortcut:</span></span></span></p>
<table class="MsoNormalTable" style="margin: auto auto auto 5.35pt; border-collapse: collapse; mso-border-alt: solid #A3A3A3 1.0pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;">
<td style="border: 1pt solid #a3a3a3; padding: 4pt; width: 48pt; background-color: transparent;" width="64" valign="top">
<p style="margin-bottom: 0pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">Target</span></span></span></p>
</td>
<td style="border-right: #a3a3a3 1pt solid; border-top: #a3a3a3 1pt solid; border-left: #f0f0f0; width: 370.3pt; border-bottom: #a3a3a3 1pt solid; background-color: transparent; mso-border-left-alt: solid #A3A3A3 1.0pt; padding: 4pt;" width="494" valign="top">
<p style="margin-bottom: 0pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">C:\Windows\System32\cmd.exe /k C:\Users\<strong>JohnDoe</strong>\Documents\profile.cmd</span></span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;">
<td style="border-right: #a3a3a3 1pt solid; border-top: #f0f0f0; border-left: #a3a3a3 1pt solid; width: 48pt; border-bottom: #a3a3a3 1pt solid; background-color: transparent; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt;" width="64" valign="top">
<p style="margin-bottom: 0pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">Start In</span></span></span></p>
</td>
<td style="border-right: #a3a3a3 1pt solid; border-top: #f0f0f0; border-left: #f0f0f0; width: 370.3pt; border-bottom: #a3a3a3 1pt solid; background-color: transparent; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt;" width="494" valign="top">
<p style="margin-bottom: 0pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">C:\Users\<strong>JohnDoe</strong></span></span></span></p>
</td>
</tr>
</tbody>
</table>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">2. Create Profile.cmd with contents:</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">@echo off</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">prompt [$p]$_$g</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey ls=dir $*</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey ll=dir $*</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey cat=type $*</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey ..=cd..</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="font-size: small;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-family: Calibri;">doskey grep=find “$1</span></span><span style="font-family: ">″</span><span style="font-family: Calibri;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"> $2</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey mv=ren $*</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey rm=del $*</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">doskey pwd=dir</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;"><span style="mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">echo Environment is set</span></span></span></p>
<p style="margin: 0in 0in 0pt 5.35pt;">-</p>
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">
<p style="margin: 0in 0in 0pt 5.35pt;">Better yet, forget about it and just start using Powershell. Thats where its at! It already has aliases for both Unix and Windows commands, corresponding to the proper Powershell built-in commandlets.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2008/07/09/create-unix-aliases-in-vista/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hagakure</title>
		<link>http://klimb.com/blog/2007/11/20/hagakure</link>
		<comments>http://klimb.com/blog/2007/11/20/hagakure#comments</comments>
		<pubDate>Tue, 20 Nov 2007 22:53:41 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/11/20/hagakure/</guid>
		<description><![CDATA[
Hagakure is a very interesting book I picked up &#8212; it has a lot of historical value since it describes life during ancient japan, when the shogun and samurai ruled the country. I&#8217;ve been a student of Aikido and other martial arts for some time now, so this is very interesting to me. Some of [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://klimb.com/blog/wp-content/uploads/2008/07/hagakure.jpg"><img class="size-thumbnail wp-image-107 alignleft" style="float: left;" title="Hagakure" src="http://klimb.com/blog/wp-content/uploads/2008/07/hagakure-150x150.jpg" alt="Hagakure, The Code of the Samurai" width="150" height="150" /></a></p>
<p style="text-align: left;">Hagakure is a very interesting book I picked up &#8212; it has a lot of historical value since it describes life during ancient japan, when the shogun and samurai ruled the country. I&#8217;ve been a student of Aikido and other martial arts for some time now, so this is very interesting to me. Some of the stuff in this book is too wild and gruesome to mention but I thought these quotes were great.</p>
<p style="text-align: left;"><span id="more-85"></span></p>
<p style="text-align: left;">&#8220;To give a person one&#8217;s opinion and correct his faults is an important thing. It is compassionate and comes first in matters of service. But the way of doing this is extremely difficult. To discover the good and bad points of a person is an easy thing, and to give an opinion concerning them is easy, too.</p>
<p style="text-align: left;">For the most part, people think that they are being kind by saying the things that others find distasteful or difficult to say. But if it is not received well, they think that there is nothing more to be done. This is completely worthless. It is the same as bringing shame to a person by slandering him. It is nothing more than getting it off one&#8217;s chest.</p>
<p style="text-align: left;">To give a person an opinion one must first judge well whether that person is of the disposition to receive it or not. One must become close with him and make sure that he continually trusts one&#8217;s word. Approaching subjects that are dear to him, seek the best way to speak and to be well understood.Judge the occasion and determine whether it s better by letter or at the time of leave-taking. Praise his good points and use every device to encourage him, perhaps by talking about one&#8217;s own faults without touching on his, but so that they will occur to him. Have him receive this in the way that a man would drink water when his throat is dry, and it will be an opinion that will correct faults.This is extremely difficult.</p>
<p style="text-align: left;">If a person&#8217;s fault is a habit of some years prior, by and large it won&#8217;t be remedied. I have had this experience myself. To be intimate with all one&#8217;s comrades, correcting each other&#8217;s faults, and being of one mind to be of use to the master is the great compassion of a retainer. By bringing shame to a person, how could one expect to make him a better man?&#8221;</p>
<p style="text-align: left;">(From Yamamoto Tsunetomo, &#8220;Hagakure&#8221;, The Book of the Samurai, 1716)</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/11/20/hagakure/feed</wfw:commentRss>
		</item>
		<item>
		<title>Sprained Ankle</title>
		<link>http://klimb.com/blog/2007/11/10/sprained-ankle</link>
		<comments>http://klimb.com/blog/2007/11/10/sprained-ankle#comments</comments>
		<pubDate>Sat, 10 Nov 2007 03:43:17 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/11/10/sprained-ankle/</guid>
		<description><![CDATA[Bummer! I injured my ankle while climbing at Stone Gardens. They just got done upgrading the floor at the gym – now it has a padded floor. No more rocks. As I came off the wall, my foot got stuck in-between pads and my body pivoted around it. I&#8217;ll be on crutches for a week [...]]]></description>
			<content:encoded><![CDATA[<p>Bummer! I injured my ankle while climbing at Stone Gardens. They just got done upgrading the floor at the gym – now it has a padded floor. No more rocks. As I came off the wall, my foot got stuck in-between pads and my body pivoted around it. I&#8217;ll be on crutches for a week and wear an ancle splint for a month.</p>
<p><span id="more-82"></span></p>
<p>I guess its time to get strong on gymnastic rings again!</p>
<p>[update] I did get strong on rings and  now I am climbing way harder! Sweet.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/11/10/sprained-ankle/feed</wfw:commentRss>
		</item>
		<item>
		<title>The best climbing day of the year</title>
		<link>http://klimb.com/blog/2007/11/06/the-best-climbing-day-of-the-year</link>
		<comments>http://klimb.com/blog/2007/11/06/the-best-climbing-day-of-the-year#comments</comments>
		<pubDate>Tue, 06 Nov 2007 00:54:27 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Rock Climbing]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/11/06/the-best-climbing-day-of-the-year/</guid>
		<description><![CDATA[This weekend went to Leavenworth again and I&#8217;ve had a really good day of climbing. It was one of those perfect temperature zero-gravity days. I warmed up by ripping a hold off the problem that everyone was trying. Haha. Felt kinda bad about it, since we were all going to do it. Then we went [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend went to Leavenworth again and I&#8217;ve had a really good day of climbing. It was one of those perfect temperature zero-gravity days. I warmed up by ripping a hold off the problem that everyone was trying. Haha. Felt kinda bad about it, since we were all going to do it. Then we went up the hill and I ended up flashing some v8 and also flashing the harder, direct version of it!</p>
<p><span id="more-81"></span></p>
<p>My friend Adam Heley came over from Portland with a bunch of his buddies, including Boone Speed. Johnny (Goicoechea), Lena, Cole, Kyle, and Joel Cambel were already there when I got to L-town. Later on that day we ran into John from EPIC (EWU) program and like 10 other people from Spokane.</p>
<p>I&#8217;ve never seen that many monkeys at Leavenworth campgrounds before. Boone took some awesome pictures, Johnny, Cole and Joel went climbing at some new area they recently discovered. We all had fun and partied afterwards at the camp ground. Too bad I had to leave early in the morning to help my friend move.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/11/06/the-best-climbing-day-of-the-year/feed</wfw:commentRss>
		</item>
		<item>
		<title>Reserved filename in Windows</title>
		<link>http://klimb.com/blog/2007/06/05/reserved-filename-in-windows</link>
		<comments>http://klimb.com/blog/2007/06/05/reserved-filename-in-windows#comments</comments>
		<pubDate>Tue, 05 Jun 2007 18:21:20 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/06/05/reserved-filename-in-windows/</guid>
		<description><![CDATA[I just found out, you can&#8217;t create a file/directory named &#8220;con&#8221; on windows. I thought I was going crazy for a second there.

Just try it! It won&#8217;t work. Does anyone know why though?
]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/wp-content/uploads/2008/07/windows_vista_logo.jpg"><img class="alignnone size-medium wp-image-111 alignright" style="float: right;" title="windows_vista_logo" src="http://klimb.com/blog/wp-content/uploads/2008/07/windows_vista_logo-300x219.jpg" alt="" width="122" height="89" /></a>I just found out, you can&#8217;t create a file/directory named &#8220;con&#8221; on windows. I thought I was going crazy for a second there.</p>
<p><span id="more-73"></span></p>
<p>Just try it! It won&#8217;t work. Does anyone know why though?</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/06/05/reserved-filename-in-windows/feed</wfw:commentRss>
		</item>
		<item>
		<title>C# Events and Delegates for UNIX developers</title>
		<link>http://klimb.com/blog/2007/02/27/c-events-and-delegates-explained-to-unix-cjava-people</link>
		<comments>http://klimb.com/blog/2007/02/27/c-events-and-delegates-explained-to-unix-cjava-people#comments</comments>
		<pubDate>Tue, 27 Feb 2007 21:52:38 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/02/27/c-events-and-delegates-explained-to-unix-cjava-people/</guid>
		<description><![CDATA[In this tutorial I’ll explain events and delegates the easy way! The intended audience is UNIX people with minimal C and Java experience. Sending events is super simple in .NET framework. The C# language has “delegate” and “event” keywords.

Delegates are kind of like a C function pointer, and they’re even more like C++/STL functors. Except [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">In this tutorial I’ll explain events and delegates the easy way! The intended audience is UNIX people with minimal C and Java experience. Sending events is super simple in .NET framework. The C# language has “delegate” and “event” keywords.</p>
<p class="MsoNormal"><span id="more-69"></span></p>
<p class="MsoNormal">Delegates are kind of like a C function pointer, and they’re even more like C++/STL functors. Except for the following distinctions:</p>
<ol style="margin-top: 0in" type="1">
<li class="MsoNormal">They’re      safe</li>
<li class="MsoNormal">They      also have a multicasting feature. Unlike a C function pointer, you can      subscribe multiple callbacks to the delegate. Whenever you invoke a      delegate, in return it will call all subscribed methods. More on this      later.</li>
</ol>
<p class="MsoNormal">So, the whole GUI system in Java or Windows Form is all based on events. It’s also called the “observer” pattern. So, it’s important to get events/delegates mechanism down. In this very simple example we’ll have a Broadcaster and a TV. The broadcaster “fires” and event and everyone that is subscribed to it will get it.</p>
<p class="MsoNormal">I like to oversimplify things, so to break it down from each side.</p>
<p class="MsoNormal">The broadcaster:</p>
<ul style="margin-top: 0in" type="disc">
<li class="MsoNormal">Defines      a delegate. Basically it’s syntax is like defining a function prototype in      C. The functions the will be subscribing to us will need to have a      matching signatures.</li>
<li class="MsoNormal">In      order to use a delegate as an “event”, we need to attach it to a class      with an event keyword.</li>
<li class="MsoNormal">The      broadcaster will have a “fire” method. First we make a defensive copy of      the event, to avoid a possible race condition. Second, we check if its      null (no one is subscribed to us yet). Then we call it. By calling a      delegate (once), it calls all of the subscribed methods in the order they      were attached. They way it works is delegate keeps track of all the      functions that are subscribed to it. You can access them by      del.GetInvokationList().</li>
</ul>
<p class="MsoNormal">The TV:</p>
<ul style="margin-top: 0in" type="disc">
<li class="MsoNormal">Just      has one method, nothing special, no special keywords. But … this method’s      signature is the same as the delegate’s.</li>
</ul>
<p class="MsoNormal">The Program Driver:</p>
<ul style="margin-top: 0in" type="disc">
<li class="MsoNormal">We      create the Broadcaster and TV objects</li>
<li class="MsoNormal">We      fire an event from broadcaster, no one is listening at this point</li>
<li class="MsoNormal">We      attach a bunch of listeners to broadcaster</li>
<li class="MsoNormal">We      fire again and watch what happens</li>
</ul>
<p class="MsoNormal">Things to note:</p>
<ul style="margin-top: 0in" type="disc">
<li class="MsoNormal">We can      attach any method to a delegate with += operator. The only requirement is      the method has to have the same signature.</li>
<li class="MsoNormal">In      broadcaster.fire() by calling on a delegate, we’re invoking the chain of      subscribed methods. Some of them are anonymous. Watch for the output and      how .NET names them. Its interesting.</li>
</ul>
<p>Here is the code:</p>
<p class="MsoNormal">
<div class="igBar"><span id="lcsharp-4"><a href="#" onclick="javascript:showPlainTxt('csharp-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">C#:</span>
<div id="csharp-4">
<div class="csharp">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #FF0000;">class</span> Broadcaster <span style="color: #000000;">&#123;</span><span style="color: #008080; font-style: italic;">// event fieldpublic event NewProgramDel NewProgramEvent;public void Fire() {msg(&quot;Trying to fire an event&quot;);NewProgramDel tmp = NewProgramEvent;if (tmp != null) {msg(&quot;About to call a delegate with following subscribers:&quot;);foreach (Delegate d in tmp.GetInvocationList()) {Console.WriteLine(&quot;* {0}&quot;, d.Method );}// calls the delegatetmp(this, new EventArgs());// delegates are kind of like function pointers, except:// the above line calls ALL of the &quot;subscribers&quot; to our delegate// (in our example there are two subscribers)} else {msg(&quot;No one is listening me!&quot;);}}private static void msg(string s) {Console.WriteLine(&quot;Broadcaster: {0}&quot;, s);}} </span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
<div class="igBar"><span id="lcsharp-5"><a href="#" onclick="javascript:showPlainTxt('csharp-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">C#:</span>
<div id="csharp-5">
<div class="csharp">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #FF0000;">class</span> Tv <span style="color: #000000;">&#123;</span><span style="color: #008080; font-style: italic;">// This Callback method has the same signature as the delegate.// thats why we can subscribe this method to a delegatepublic void Callback(object sender, EventArgs args) {Console.WriteLine(&quot;TV: Got a msg from {0}&quot;, sender.ToString());}} </span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
<div class="igBar"><span id="lcsharp-6"><a href="#" onclick="javascript:showPlainTxt('csharp-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">C#:</span>
<div id="csharp-6">
<div class="csharp">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #FF0000;">class</span> Program <span style="color: #000000;">&#123;</span><span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>Broadcaster b = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Broadcaster<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;Tv tv = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Tv<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;<span style="color: #008080; font-style: italic;">// no one is listening yetb.Fire();/* subscribe some methods with += operator */// subscribe a method from some other objectb.NewProgramEvent += tv.Callback;// subscribe a method from our classb.NewProgramEvent += new NewProgramDel(b_NewProgramEvent);// this is kinda cool, its a new feature in C# 2.0. This creates// an anonymous function and subscribes it.b.NewProgramEvent += delegate(object sender, EventArgs e) {Console.WriteLine(&quot;hi, I am anonymous method!&quot;);};// watch the output ... see how this anonymous method gets// named to b__1(). Cool.b.NewProgramEvent += delegate(object sender, EventArgs e) {Console.WriteLine(&quot;I am yet another anonymous method!&quot;);};b.Fire();// so the console doesn't die. Ahh. I miss my xterm.Console.ReadLine();}// This method has the same signature as the delegate.// thats why we can subscribe this method to a delegatestatic void b_NewProgramEvent(object sender, EventArgs args) {Console.WriteLine(&quot;hi, I am another subscriber&quot;);}} </span></div>
</li>
</ol>
</div>
</div>
</div>
<p><strong>Download The Code:</strong><strong> </strong></p>
<ul>
<li><strong><a id="p70" href="http://klimb.com/blog/wp-content/uploads/2007/02/freshevents.zip">freshevents.zip</a></strong></li>
<li><strong>Events And Delegates (Visual Studio 2005 Solution)</strong></li>
</ul>
<p><strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/02/27/c-events-and-delegates-explained-to-unix-cjava-people/feed</wfw:commentRss>
		</item>
		<item>
		<title>Seattle Impressions</title>
		<link>http://klimb.com/blog/2007/02/23/seattle-impressions</link>
		<comments>http://klimb.com/blog/2007/02/23/seattle-impressions#comments</comments>
		<pubDate>Fri, 23 Feb 2007 23:55:44 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/02/23/seattle-impressions/</guid>
		<description><![CDATA[I've been in Seattle for about a week now. I love it. Should have done it a long time ago! Its going to be hard to live anywhere else now, especially in a small town. I really like the city life, all the people, constant motion, traffic ... everything. I am starting over.
I was going [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image58" src="http://klimb.com/blog/wp-content/uploads/2007/02/img_0316.thumbnail.JPG" alt="img_0316.JPG" align="left" />I've been in Seattle for about a week now. I love it. Should have done it a long time ago! Its going to be hard to live anywhere else now, especially in a small town. I really like the city life, all the people, constant motion, traffic ... everything. I am starting over.</p>
<p>I was going to continue running my own business from Seattle, but decided to take a job offer form Microsoft -- it seems really fun and its a totaly different environment then what I am used to (me).<span id="more-54"></span>They are treating me very very well. I have to say ... MS has the very best coffee I've had anywhere! Thats really good because I am a coffee addict.</p>
<p>I also found an awesome apartment right in the middle of downtown, in a brand new building. I am the very first person to live in it. It has a downtown city view and I can also see the Ocean.</p>
<p>Its on the top floor (penthouse), plus I have a ruff access where I can chill and work. It really couldn't be any more perfect. I am making lots of friends and enjoying life.</p>
<p>Oh, my cell phone has changed.</p>
<p><img id="image56" src="http://klimb.com/blog/wp-content/uploads/2007/02/img_0316.JPG" alt="img_0316.JPG" /></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/02/23/seattle-impressions/feed</wfw:commentRss>
		</item>
		<item>
		<title>Moving to Seattle</title>
		<link>http://klimb.com/blog/2007/02/16/moving-to-seattle</link>
		<comments>http://klimb.com/blog/2007/02/16/moving-to-seattle#comments</comments>
		<pubDate>Fri, 16 Feb 2007 06:08:05 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/2007/02/16/moving-to-seattle/</guid>
		<description><![CDATA[I am moving to Seattle. Its sad because I am leaving all of my friends and family, but at the same time its a really good change for me, especially in the long-run. I am very excited and looking forward to new opportunities and challenges.
]]></description>
			<content:encoded><![CDATA[<p align="left"><a href="http://klimb.com/blog/?attachment_id=49" title="flag" class="imagelink" rel="attachment" id="p49"></a><a href="http://klimb.com/blog/2007/02/16/moving-to-seattle/dmitry/" title="Dmitry" class="imagelink" rel="attachment" id="p51"><img src="http://klimb.com/blog/wp-content/uploads/2007/02/img_0213.thumbnail.JPG" alt="Dmitry" id="image51" align="left" /></a>I am moving to Seattle. Its sad because I am leaving all of my friends and family, but at the same time its a really good change for me, especially in the long-run. I am very excited and looking forward to new opportunities and challenges.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2007/02/16/moving-to-seattle/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu 6.10 impressions on Toshiba Satellite A105 S4134</title>
		<link>http://klimb.com/blog/2006/12/24/ubuntu-610-impressions-on-toshiba-satellite-a105-s4134</link>
		<comments>http://klimb.com/blog/2006/12/24/ubuntu-610-impressions-on-toshiba-satellite-a105-s4134#comments</comments>
		<pubDate>Sun, 24 Dec 2006 09:08:09 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=33</guid>
		<description><![CDATA[My very first experience with UNIX/Linux was Red Hat 2.1, when it first came out in 1996. Since then, I “lived and breathed” it. When I was in high school, my friends and I started a Linux User Group in Spokane, and later on, founded Toolbuilders Labs LLC. After our business moved towards security/cryptography applications, [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image34" src="http://klimb.com/blog/wp-content/uploads/2006/12/ubuntuguide_logo.png" alt="Ubuntu" align="left" />My very first experience with UNIX/Linux was Red Hat 2.1, when it first came out in 1996. Since then, I “lived and breathed” it. When I was in high school, my friends and I started a Linux User Group in Spokane, and later on, founded Toolbuilders Labs LLC. After our business moved towards security/cryptography applications, I switched exclusively to OpenBSD for a few years and used it as my primary desktop and development platform, so 1998 was the last time I actually used Linux (as a desktop machine). Since then, I've also purchased 3 Macs, so basically, I've been using BSDs all of this time (OpenBSD, FreeBSD, Darwin/OS X) but I've always been curious about whats going on in Linux World.</p>
<p><span id="more-33"></span><strong>FreeBSD</strong><img id="image35" src="http://klimb.com/blog/wp-content/uploads/2006/12/freebsd.png" alt="FreeBSD" align="left" />I was very impressed with how small the default OpenBSD install was, and how well organized and clean the file system layout and all the configs were. The only complaint I had was the lack of software that I could get on Linux, especially multimedia, like playing movies and watching TV (I had a TV Card). OpenBSD is targeted more towards servers and security, less towards the end-users.After a while, I discovered FreeBSD! FreeBSD was the logical choice for me. It has everything I like about OpenBSD, plus thousands of programs to choose from. It is a beautiful system. It is the cleanest, most well-designed and engineered of all operating systems in my opinion.Any time I'd try to go back and use Linux (after using Mac OS X 10.4 "Tiger" and FreeBSD 6.X), it would feel like a hack job to me.</p>
<p>I really like the FreeBSD file system layout, their package management, ports, awesome documentation. A lot of FreeBSD development comes from Russia and Japan so they have great localized support and translations for all manual pages, handbook, howtos, and shell commands. I could make everything be in Russian, just by setting my login user class to by of type "russian".Linux really isn't an operating System ... at least in the FreeBSD-sense of the word. "Linux" is really just a Linux kernel.A Linux distribution is a bundle of Linux kernel, GNU-based commands and utilities, some form of package management (deb, rpm) and X11 with some window mangers.The FreeBSD, in comparison, is just one. Its not separated in all of those different components, and the whole thing is under source control.</p>
<p>There is only one FreeBSD Kernel, only one set of BSD commands and utilities (userland), packages and ports, documentation and way of configuring things. FreeBSD development is either in stable or current tree. You can sync to either one you like, or just use snapshots of the “stable” tree, also known as "releases". Everything in FreeBSD is tracked under source control, including kernel, userland, system manuals and documentation, so you can just pull the latest sources and recompile the whole system (and kernel) by typing “make world”. I really like that about FreeBSD. It is engineered, not hacked and pieced together! To recompile a kernel you simply "make kernel"!</p>
<p><strong>Ubuntu</strong><img id="image34" src="http://klimb.com/blog/wp-content/uploads/2006/12/ubuntuguide_logo.png" alt="Ubuntu" align="left" />: Anyway, back to Ubuntu. So, I was kinda disappointed with Linux distro's for a long time and I'd never consider switching to it from FreeBSD. I have Toshiba Satellite A105 S4134 Laptop dual booted with FreeBSD and Windows XP. I use both operating systems as development platforms. I don't ever play games ... etc, but I do need WiFi and sound. After many attempts, I gave up on trying to get my built-in WiFi card to work on FreeBSD. Eventually, I did get the sound to work with the comercial <a href="http://www.opensound.com/">Open Sound System (OSS) driver</a>, but the native FreeBSD 6.x drivers didn't have support my sound card.Here is my impression of Ubuntu: It is Stunning! It is sooo easy to install and use. I couldn't believe it. I also have a 2 Macs installed with OS X 10.4.I was surprised to see that Gnome is actually catching up on GUI usability and KDE has really cool graphics and effects, similar to Aqua's (Mac's proprietary windowing system, they don't use X11).</p>
<p>Anyway, I put in the installer CD, and it started with a very nice logo. After that, it detected my video card and a USB mouse, X11 started in full-resolution and played a welcome sound! My WiFi card was also detected right out of the box. I was so impressed!I spent hours trying to get that stuff to work on FreeBSD, recompiling the kernel with all kinds of tweaks ... etc.The installer is also a "live" cd. It lets you play with all the stuff you'll get without actually installing the system. So, I erased my FreeBSD partition and reformatted it with ext3. I didn't need swap since this laptop has like 2GB of RAM.The installer went very smooth. Everything worked and it didn't mess up my Windows XP partition.</p>
<p>After I rebooted, Ubuntu offered me a list of available updates! Even though I am a developer, unlike all of my friends, I don't like to mess with configurations and the system itself (unless that is my goal). Most of the time I have very specific things I am trying to accomplish and I just want my computer to work! I am just another user. I just want to spend my time writing software and I want all of my tools to work and be available to me immediately if I need them.So, out of the box I had everything I needed:</p>
<ul>
<li>OpenOffice 2.0</li>
<li>FireFox (SwiftFox, optimized version)</li>
<li>Evolution</li>
<li>JDK 1.5, Eclipse, ant</li>
<li>Compilers, Interpreters, and other Dev tools.</li>
<li>Automatic Software Updates (for the system itself and all the packages)</li>
</ul>
<p>The sound card, video card, USB, bluetooth, power management, DVD, and CD-burning works! On FreeBSD I only got the video card, sound and usb to work. I am VERY satisfied with Ubuntu, and I am actually going to keep it! Every piece of hardware on my laptop was detected and everything is working perfectly!Thanks to Ubuntu project, awesome job!</p>
<p><strong>Screenshot:</strong></p>
<p><a class="imagelink" title="Ubuntu Screenshot" href="http://klimb.com/blog/wp-content/uploads/2006/12/screenshot.png"><img id="image36" src="http://klimb.com/blog/wp-content/uploads/2006/12/screenshot.thumbnail.png" alt="Ubuntu Screenshot" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2006/12/24/ubuntu-610-impressions-on-toshiba-satellite-a105-s4134/feed</wfw:commentRss>
		</item>
		<item>
		<title>Regex Notes</title>
		<link>http://klimb.com/blog/2006/12/15/regex-notes</link>
		<comments>http://klimb.com/blog/2006/12/15/regex-notes#comments</comments>
		<pubDate>Fri, 15 Dec 2006 20:29:57 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=29</guid>
		<description><![CDATA[Regular expressions (regex) let you search for a particular pattern. Regex consist of literal characters, and special characters, also called meta characters. Regex syntax has 2 modes, one inside of character classes, which is inside [ ] and one outsided of character classes.
Character classes []:  Regex inside [] are in different mode and have [...]]]></description>
			<content:encoded><![CDATA[<p>Regular expressions (regex) let you search for a particular pattern. Regex consist of literal characters, and special characters, also called meta characters. Regex syntax has 2 modes, one inside of character classes, which is inside [ ] and one outsided of character classes.<span id="more-29"></span>
<pre>Character classes []:  Regex inside [] are in different mode and have different syntax. It matches a  single character specified as a list, range or class shortcut.  03[-./]19[-./]76  Will match the above date delimited by a dot or a hyphen.  Inside [] the dot is no longer a meta-character, its matched literally!  Negation Operator ^  f[^u]  matches something with f, followed by any character other then u  Character classes shortcuts  \d [0-9] digit  \D non digit  \w [a-zA-Z0-9_] part of word  \W non word  \s [ \t\n\r\f\v] whitespace  \S non whitespaceAlternation:  | operator is 'or'  Jeff(re|er|izz)y  =&gt; Jeffrey, Jeffery, JeffizzyConditionals:  (?if then | else)  if the "if" part is true, "then" expression is attmpted, otherwise  "else" is attempted  (?if then)  else condition is optional, so is the pipe character prefixing itAnchors:  ^  beg of line  $  end of line  \b word boundary  \B non-word boundary  Ruby:  \A begining of a string  \Z end of string (or before newline at the end)  \z end of stringOptional Items:  ? optionally matches a character before it, or you can specify a group() of  characters before it:  colou?r  will match color and colour  4(th)?  will match 4 and 4thRepetitions:  +            s1 or more times  *            0 or more times  ?            1 or 0 times  {n}          match exactly n times  {min, max}   min to max times  {min,}       at least min  {,max}       at most max (ruby)Backreferences:  First matched group ():    sed, vi: \1    ruby: $1    php: $m[1]    python, java: m.group(1)    c#: m.Groups[1]  Group zero is typically the entire matchEscape:  \. will escape dot meta characterMore Info:  http://www.regular-expressions.info/</pre>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2006/12/15/regex-notes/feed</wfw:commentRss>
		</item>
		<item>
		<title>B-Boy Performance at Big Easy for Red Bull &#8220;Flight Club&#8221; party!</title>
		<link>http://klimb.com/blog/2006/12/08/bboy-performance-at-big-easy-for-redbull-flight-club-party</link>
		<comments>http://klimb.com/blog/2006/12/08/bboy-performance-at-big-easy-for-redbull-flight-club-party#comments</comments>
		<pubDate>Fri, 08 Dec 2006 07:41:04 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=21</guid>
		<description><![CDATA[Today was one of those memorable days I'll always remember! My bboy crew, "Flovolution" performed at Big Easy for the RedBull "Flight Club" theme party. We shared the stage with breakers from Tri-Cities, and the "Circle Of Fire" (Seattle). Crazy Legs was there too, but he didn't perform. Everyone was pretty sore from his workshop [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><img id="image28" src="http://klimb.com/blog/wp-content/uploads/2006/12/uidktc1dl45sd3erqto8ohpsnzpyo2ul279gczj4bj3ylmjmzytzpvnl_hs6pzamdepbys3kyqogh5wqfwccvjyqa.thumbnail.jpeg" alt="Flovolution Crew" align="left" />Today was one of those memorable days I'll always remember! My bboy crew, "Flovolution" performed at Big Easy for the RedBull "Flight Club" theme party. We shared the stage with breakers from Tri-Cities, and the "Circle Of Fire" (Seattle). Crazy Legs was there too, but he didn't perform. Everyone was pretty sore from his workshop a day before. The Red Bull and Big Easy kindly provided us with Davenport hotel rooms, hats ...</p>
<p align="left">
<p align="left">
<p><span id="more-21"></span> Thank you very much! I'll gather up some pics and movies form this event and post it here, so please check back soon!</p>
<p><strong>Links</strong></p>
<ul>
<li><a title="Flovolution Crew" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&amp;friendid=84874507">Flovolution Crew<br />
</a></li>
<li><a title="JWalk" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&amp;friendid=2295932">Jimmy (JWalk)<br />
</a></li>
<li><a title="Alex" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&amp;friendid=63138927">Alex (<span id="ctl00_Main_ImageListings1_dtImageList_ctl01_lblCaption">Conxept)</span> </a></li>
<li><a title="Thom" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&amp;friendid=63809573">Thom (<span id="ctl00_Main_ucImageView_lblCaption">Trantastic)</span></a></li>
<li><a title="Jarrod" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&amp;friendid=34491879">Jarrod <span id="ctl00_Main_ucImageView_lblCaption">(Harmoniq)</span></a></li>
<li><a title="Orb, Circle Of Fire Crew" href="http://www.myspace.com/orbcircleoffirecrew">Orb, Circle Of Fire<br />
</a></li>
<li><a title="Crazy Legs, Rock Steady Crew" href="http://www.rocksteadycrew.com/crazylegs/crazylegs.html">Crazy Legs, Rock Steady Crew</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2006/12/08/bboy-performance-at-big-easy-for-redbull-flight-club-party/feed</wfw:commentRss>
		</item>
		<item>
		<title>Crazy Legs of Rock Steady Crew will be at our studio</title>
		<link>http://klimb.com/blog/2006/11/28/crazy-legs-of-rock-steady-crew-will-be-at-our-studio</link>
		<comments>http://klimb.com/blog/2006/11/28/crazy-legs-of-rock-steady-crew-will-be-at-our-studio#comments</comments>
		<pubDate>Tue, 28 Nov 2006 08:59:05 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[bboy]]></category>

		<category><![CDATA[breakdancing]]></category>

		<category><![CDATA[crazy legs]]></category>

		<category><![CDATA[rock steady]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=20</guid>
		<description><![CDATA[I got to teach a hip hop / footwork class tonight because my buddy Shanner was gone. Heard some great news ... "Crazy Legs" of the Rock Steady Crew is going to be teaching a workshop at our dance studio (Simply Dance). I am pretty psyched about it. This guy pretty much invented breaking, windmills [...]]]></description>
			<content:encoded><![CDATA[<p>I got to teach a hip hop / footwork class tonight because my buddy Shanner was gone. Heard some great news ... "Crazy Legs" of the Rock Steady Crew is going to be teaching a workshop at our dance studio (Simply Dance). I am pretty psyched about it. This guy pretty much invented breaking, windmills ... etc.</p>
<p><span id="more-20"></span></p>
<p>He is one of my favorite dancers of all time. I also got some new pics from doing some freezes at the climbing gym from last week.</p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2006/11/28/crazy-legs-of-rock-steady-crew-will-be-at-our-studio/feed</wfw:commentRss>
		</item>
		<item>
		<title>jEdit for Emacs fans</title>
		<link>http://klimb.com/blog/2006/11/26/jedit-for-emacs-people</link>
		<comments>http://klimb.com/blog/2006/11/26/jedit-for-emacs-people#comments</comments>
		<pubDate>Sun, 26 Nov 2006 13:07:40 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=15</guid>
		<description><![CDATA[If you're a big emacs fan like me, and you like good things, then you should check out jEdit. Is an open-source editor written in Java that is super-fast (unlike most of Java software that is typically bloated). I am a very long-term emacs fan. I've written emacs modes, and all kinds of elisp tools [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://klimb.com/blog/wp-content/uploads/2006/11/logo64.png" alt="jEdit" id="image16" align="left" />If you're a big emacs fan like me, and you like good things, then you should check out jEdit. Is an open-source editor written in Java that is super-fast (unlike most of Java software that is typically bloated). I am a very long-term emacs fan. I've written emacs modes, and all kinds of elisp tools for me in the past. The way that I look at it, jEdit is just the next Emacs. It takes all of the things we love about emacs a step further.<span id="more-15"></span> <strong>Why try jEdit?</strong>
<ul>
<li>Super fast and responsive, unlike most java software</li>
<li>Modern interface with Java5/Swing!</li>
<li>Modern language with much larger (lang) user base</li>
<li>An easy-to-use Plugin system that actually works! It can do self-updates, checks dependencies, versions.</li>
<li>Code completion, "intelli-sence" popup helpers ... etc, modern IDE stuff!</li>
<li>Code Folding and Comment Folding</li>
<li>XML for configs, instead of elisp (trust me, I love elisp more then you do)</li>
<li>Multiplatform</li>
<li>Unified Development (like FreeBSD haha, there is only one jEdit. Penguins make tasty snacks.)</li>
</ul>
<p>I loved the default jEdit functionality, but emacs key bindings are so engraved in my head, I can't use anything else. By the way, Mac OS X uses emacs shortcut keys on all of the programs! I love OSX. Anyway, back to the topic.So, with a little bit of customization you can make jEdit behave just like Emacs. On the mac, there is a weird meta keys are bound to Opton key by default. I don't particularly like that. So, what I did is I rebound Meta-key to Command key ("Mac" symbol key).<strong>Looks</strong>Being emacs fans, we don't like to use mouse and click buttons more then necessary. So, I don't need a permanent button bar that just takes up my screen realestate. OK, my mac laptop screen is like 17 inches but thats not really the point. You can go to preferences to remove it. To do the same in emacs, add this to your .emacs:
<div class="igBar"><span id="lcode-8"><a href="#" onclick="javascript:showPlainTxt('code-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-8">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#40;</span>tool-bar-mode -<span style="color:#800000;color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p><strong>Remote Editing</strong>When I use Emacs, I pretty much always have "dired" mode open, angle-ftp, and TRAMP mode. With tramp, you can remotely edit files over top of ssh, ftp, sftp, webdav and emacs transparently handles saving changes, uploading files and other operations. jEdit actually has the same feature that works even better. Its faster and it doesn't hang on sftp sessions at random times. Its called 'FTP' plugin, and it also works over sftp. One nice thing about it, is that it remembers your username/password and the last files you accessed.<strong>Language Support</strong>It has support for over 150 languages, including folding of comments, heredocs, weird language constructs parsing etc. In emacs a lot of things originate from cc-mode, which explains why syntax coloring doesn't render correctly. Oh, if you're into ruby, it has a super-nice <a href="http://www.jedit.org/ruby/">ruby plugin</a> you should check out.<strong>Screen Shots</strong><a href="http://klimb.com/blog/wp-content/uploads/2006/11/picture-3.png" class="imagelink" title="picture-3.png"><img src="http://klimb.com/blog/wp-content/uploads/2006/11/picture-3.thumbnail.png" id="image19" alt="picture-3.png" height="121" width="98" /></a><a href="http://klimb.com/blog/wp-content/uploads/2006/11/picture-2.png" class="imagelink" title="picture-2.png"><img src="http://klimb.com/blog/wp-content/uploads/2006/11/picture-2.thumbnail.png" id="image18" alt="picture-2.png" height="75" width="96" /></a><a href="http://klimb.com/blog/wp-content/uploads/2006/11/picture-1.png" class="imagelink" title="picture-1.png"><img src="http://klimb.com/blog/wp-content/uploads/2006/11/picture-1.thumbnail.png" id="image17" alt="picture-1.png" height="85" width="97" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://klimb.com/blog/2006/11/26/jedit-for-emacs-people/feed</wfw:commentRss>
		</item>
		<item>
		<title>CakePHP vs Ruby On Rails</title>
		<link>http://klimb.com/blog/2006/11/24/cakephp-vs-ruby-on-rails</link>
		<comments>http://klimb.com/blog/2006/11/24/cakephp-vs-ruby-on-rails#comments</comments>
		<pubDate>Fri, 24 Nov 2006 03:37:15 +0000</pubDate>
		<dc:creator>Dmitry</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://klimb.com/blog/?p=12</guid>
		<description><![CDATA[CakePHP is a MVC (Model-View-Controller pattern) framework that tries to mimic the way RoR (Ruby on Rails) does things. After developing a large web application on CakePHP platform, I decided to write a little bit about it and compare it the real thing. Haha, as you can tell, I am just a little bit slightly [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://klimb.com/blog/wp-content/uploads/2008/07/cake-logo.png"><img class="alignleft size-thumbnail wp-image-112" style="float: left;" title="cake-logo" src="http://klimb.com/blog/wp-content/uploads/2008/07/cake-logo-150x150.png" alt="" width="150" height="150" /></a>CakePHP is a MVC (Model-View-Controller pattern) framework that tries to mimic the way RoR (Ruby on Rails) does things. After developing a large web application on CakePHP platform, I decided to write a little bit about it and compare it the real thing. Haha, as you can tell, I am just a little bit slightly biased towards Ruby.Being a ruby programmer, and having to make a web app that uses php+mysql I immediately started looking for something similar to Rails. There are many rails-like frameworks for php, and I ended up narrowing down my search to cakephp and symfony. Because my client specified php4 (symphony only works on php5), I went with Cake.<span id="more-12"></span><strong>Scaffolder </strong></p>
<p>Cake is a mature MVC framework with a large user base, excellent tutorials and API documentation. Scaffolder is a tool that generates website forms and pages for you, by looking at your Database schema. Most web MVC frameworks have a scaffolding feature and they typically generate add, edit, delete, and list functionality. This lets you quickly get things up and running.The very first step in scaffolding is generating a "model". A Model (M in MVC pattern) is an object representation of your sql table. Thats too vague ... what does it all mean? Well, if its in PHP, then you might have a Person class (that inherits from AppModel) that is bound to "people" table.</p>
<div class="igBar"><span id="lphp-15"><a href="#" onclick="javascript:showPlainTxt('php-15'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-15">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">class</span> Person extends AppModel <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#000000; font-weight:bold;">var</span> <span style="color:#0000FF;">$name</span> = <span style="color:#FF0000;">'Person'</span>;<span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Or in RoR, you have a Person class (that inherits from ActiveRecord::Base) that is bound to "people" table:</p>
<div class="igBar"><span id="lruby-16"><a href="#" onclick="javascript:showPlainTxt('ruby-16'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">RUBY:</span>
<div id="ruby-16">
<div class="ruby">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">class</span> Person &amp;lt;ActiveRecord::Baseend </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>In the second step, you tell the scaffolder how your models are related. Some of the relations could be described as:</p>
<ul>
<li>A has_many B (Person has multiple email addresses)</li>
<li>C belongs_to D (email address belongs to a person)</li>
<li>E has_and_belongs_to_many G (E permission has and belongs to many G Roles)</li>
<li>X has_one Y (wife has one husband, vise versa)</li>
</ul>
<p>In cake, the scaffolder is in 'cake/cake/scripts/bake.php', and in RoR there is 'scripts/generate'. Cake's scaffolder is more interactive, as in it asks questions while it runs. It understands relationships between models. The RoR scaffolder is also a command line tool that takes a bunch of arguements and don't really asks any questions when it runs. The default RoR scaffolder is simplistic and doesn't generate pulldown menus ... etc, for models that are related to each other. Cake's default scaffolder does.</p>
<p>For instance, if you people and emails table, it will generate a pull-down menu of people inside emails add and edit screens. There are many scaffolders available for RoR, that generate pretty views and know how to handle complex relationships. RoR is way more comprehensive than cake, especially when it comes to scaffolding. One of the "alternative" scaffolders you can get for RoR is <a title="AjaxScaffold" href="http://www.ajaxscaffold.com/">AjaxScaffold</a>.</p>
<p><strong>Model (ActiveRecord vs ... nothing?)</strong></p>
<p>In web MVC frameworks, a model typically is an implementation of "Active Record" pattern. Ruby's ActiveRecord gem (package) is an object to database table mapping, kind of like DataTable in ADO.NET (yuck!). For instance, Person class is mapped to people table. You can access person.emails, delete a person with person.destroy ... etc, set a person's name with person.first_name = 'Dmitry', person.save.</p>
<div class="igBar"><span id="lruby-17"><a href="#" onclick="javascript:showPlainTxt('ruby-17'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">RUBY:</span>
<div id="ruby-17">
<div class="ruby">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal