<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 <title>R.T. Lechow</title>
 <link href="http://rtlechow.com/atom.xml" rel="self"/>
 <link href="http://rtlechow.com/"/>
 <updated>2026-04-10T11:02:30-04:00</updated>
 <id>http://rtlechow.com/</id>
 <author>
   <name>R.T. Lechow</name>
   <email>rtlechow@gmail.com</email>
 </author>
 
 <entry>
   <title>Ruby DCamp 2013</title>
   <link href="http://rtlechow.com2013/09/26/ruby-dcamp-2013/"/>
   <updated>2013-09-26T00:00:00-04:00</updated>
   <id>http://rtlechow.com2013/09/26/ruby-dcamp-2013</id>
   <content type="html">&lt;p&gt;2013 marks my second &lt;a href=&quot;http://rubydcamp.org/&quot;&gt;Ruby DCamp&lt;/a&gt;, an annual Ruby-ish unconference. Located in Prince William Forest National Park, Viriginia, it literally takes place at a cabin in the woods.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0898.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Leslie Spit sends me off.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0900.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;During the day, 80 curated participants gather to &lt;em&gt;do Rubby&lt;/em&gt; at the central lodge.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0910.jpg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0907.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We cook together.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0905.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We code together.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0906.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We game together.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0908.jpg&quot; alt=&quot;Dominion&quot; /&gt;
&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0913.jpg&quot; alt=&quot;Chess&quot; /&gt;
&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0916.jpg&quot; alt=&quot;Artemis&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And we programme the conference together.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0911.jpg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0912.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At night we crash in these sleeper cabins.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0919.jpg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;/images/ruby-dcamp-2013/IMG_0922.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s probably the most fun you can have while still actually learning.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Kevin Mitnick's Business Card</title>
   <link href="http://rtlechow.com2013/04/29/kevin-mitnicks-business-card/"/>
   <updated>2013-04-29T00:00:00-04:00</updated>
   <id>http://rtlechow.com2013/04/29/kevin-mitnicks-business-card</id>
   <content type="html">&lt;p&gt;&lt;img src=&quot;/images/kevin-mitnicks-business-card.jpg&quot; alt=&quot;Yep, it doubles as a lockpick kit.&quot; /&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>A Test-Driven FizzBuzz Test</title>
   <link href="http://rtlechow.com2012/11/16/a-test-driven-fizzbuzz-test/"/>
   <updated>2012-11-16T00:00:00-05:00</updated>
   <id>http://rtlechow.com2012/11/16/a-test-driven-fizzbuzz-test</id>
   <content type="html">&lt;p&gt;Joey deVilla is &lt;a href=&quot;http://www.globalnerdy.com/2012/11/15/fizzbuzz-still-works/&quot;&gt;testing interview candidates with FizzBuzz&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I asked each candidate to do the exercise in the programming language of their choice, with pen and paper rather than on a computer. By requiring them to use pen and paper rather than letting them use a computer, I prevented them from simply Googling a solution. It would also force them to actually think about the solution rather than simply go through the “type in some code / run it and see what happens / type in some more code” cycle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Commenters are expressing violent disagreement, violent agreement, and violent alternative implementations in everything from &lt;a href=&quot;http://www.globalnerdy.com/2012/11/15/fizzbuzz-still-works/comment-page-1/#comment-19030&quot;&gt;Perl&lt;/a&gt; to &lt;a href=&quot;http://www.globalnerdy.com/2012/11/15/fizzbuzz-still-works/#comment-19052&quot;&gt;Racket&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One thing missing from the discussion was a &lt;strong&gt;worked example&lt;/strong&gt;. To fill the gap, here’s a video of me driving FizzBuzz with tests:&lt;/p&gt;

&lt;video id=&quot;fizzbuzz&quot; class=&quot;video-js vjs-default-skin&quot; controls=&quot;&quot; preload=&quot;auto&quot; width=&quot;700&quot; height=&quot;438&quot;&gt;
&lt;source src=&quot;/images/fizzbuzz.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;source src=&quot;/images/fizzbuzz.ogv&quot; type=&quot;video/ogg&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;Some thoughts:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Tests “force you to think about the solution”, without googling, and without pen &amp;amp; paper.&lt;/li&gt;
  &lt;li&gt;You see the algorithm built &lt;strong&gt;in small steps&lt;/strong&gt;. When you take big steps, it’s easy to get lost. When you take small steps, errors are small and easy to find. Being able to take small steps is a useful skill. Demonstrating that skill with pen &amp;amp; paper in about 3 minutes seems… tricky.&lt;/li&gt;
  &lt;li&gt;These are &lt;strong&gt;my tools at work&lt;/strong&gt;. This is much closer to how I solve other problems. A formal, repeatable feedback loop helps thinking through the problem.&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>2011 Global Day Of Coderetreat Toronto</title>
   <link href="http://rtlechow.com2011/12/03/2011-global-day-of-coderetreat-toronto/"/>
   <updated>2011-12-03T00:00:00-05:00</updated>
   <id>http://rtlechow.com2011/12/03/2011-global-day-of-coderetreat-toronto</id>
   <content type="html">&lt;p&gt;December 3rd was the first &lt;a href=&quot;http://globalday.coderetreat.org/&quot;&gt;Global Day of Coderetreat&lt;/a&gt;. Over 2200 developers in 90 cities participated. Back in November, while planning a trip to Chicago for &lt;a href=&quot;http://scna.softwarecraftsmanship.org/&quot;&gt;SCNA&lt;/a&gt;, Corey confirmed that nobody was facilitating in Toronto. This city has a really active software scene, so I figured I’d give it a shot. Here’s the result:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7164/6449597293_0f81b32946_b.jpg&quot; alt=&quot;Global Day of Coderetreat Toronto Group Picture&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It couldn’t have happened without help:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Thanks to my fellow Coderetreaters. Practicing your craft at 8:30am? On a Saturday? Many commuting over an hour? That’s just baller.&lt;/li&gt;
  &lt;li&gt;Thanks to my employer, &lt;a href=&quot;http://learnhub.com/&quot;&gt;Learnhub&lt;/a&gt;, for the office and license to cause mayhem with furniture.&lt;/li&gt;
  &lt;li&gt;Thanks to &lt;a href=&quot;http://twitter.com/jaydedios&quot;&gt;Jay de Dios&lt;/a&gt; at &lt;a href=&quot;http://hireglyphics.com/&quot;&gt;Hireglyphics&lt;/a&gt; for sponsoring lunch, and moreso, helping build community.&lt;/li&gt;
  &lt;li&gt;Thanks to &lt;a href=&quot;http://www.cinquecentotrattoria.com/&quot;&gt;Cinquecento Trattoria&lt;/a&gt; for cooking delicious lasagna and tiramisù (as you do).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We had 18 Coderetreaters, who roughly broke up into one-third Rubyists, one-third Java, and one-third .NET. Python, Clojure, Javascript, and &lt;a href=&quot;http://gosu-lang.org/&quot;&gt;Gosu&lt;/a&gt; made appearances too.&lt;/p&gt;

&lt;p&gt;Our sessions looked like this:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Intro to the Game of Life. For some, this Coderetreat was a first. Plus it’s good to warm-up before the coffee kicks in.&lt;/li&gt;
  &lt;li&gt;Kent Beck’s Four Rules of Simple Design. There are various formulations, but I prefer the minimal:
    &lt;ul&gt;
      &lt;li&gt;Tests pass.&lt;/li&gt;
      &lt;li&gt;Reveals intent.&lt;/li&gt;
      &lt;li&gt;No duplication.&lt;/li&gt;
      &lt;li&gt;Small code.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Choose Your Own Adventure. Pairs picked one or more constraints from a list. Popular choices included no conditionals, no iteration, methods under 2/5 lines, “Tell, Don’t Ask”, and no objects.&lt;/li&gt;
  &lt;li&gt;Evil Mute Ping Pong. “Mute” because talking is prohibited. “Evil” because Implementors can use whatever loopholes they find to make the tests pass.&lt;/li&gt;
  &lt;li&gt;Make It Work. Write the worst code you can. Give it your best shot. A good way to wind down.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The final retrospective offered a variety of thoughts, with a couple common themes: [re]discovering TDD, getting to know both new and familiar languages, and thinking about the social aspects of our craft.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7158/6449593235_d51a7568a5_b.jpg&quot; alt=&quot;Srdjan and Martin&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Srdjan and Martin plotting. Loaned my ARxTA/Github-stickered laptop. Pretty sure they tried breaking Ruby. Gonna have to check on that.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7159/6449593533_7f748eb0d1_b.jpg&quot; alt=&quot;Damon and Marcus&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Damon and Marcus in &lt;em&gt;Deep Pairing Mode&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7003/6449593801_02ce648200_b.jpg&quot; alt=&quot;Dan and Owen&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Dan tells me he had a great time retreating into deliberate practice. Owen was happy to spend some time with Ruby &lt;em&gt;sans&lt;/em&gt; Rails.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7149/6449594069_742b05b3b2_b.jpg&quot; alt=&quot;Tim and Taz&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Tim laughs at the code while Taz… gestures at the code. That’ll teach it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7004/6449594399_559a835899_b.jpg&quot; alt=&quot;Mark and Roxanne&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mark and Roxanne also in &lt;em&gt;Deep Pairing Mode&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7031/6449594741_873465c184_b.jpg&quot; alt=&quot;Anna and Austin&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Anna and Austin did unspeakable things with nested hashes. But hey, there’s a Clean Code guarantee.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7163/6449596429_15a033040e_b.jpg&quot; alt=&quot;Kyle and Chris&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Kyle firing eye lazors at the code while Chris drives.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7028/6449595305_fa5cbab6c4_b.jpg&quot; alt=&quot;Yehoram and James&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Yehoram concentrates despite James utterly smashing the fourth wall!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Jenna Morrison Critical Mass</title>
   <link href="http://rtlechow.com2011/11/14/jenna-morrison-critical-mass/"/>
   <updated>2011-11-14T00:00:00-05:00</updated>
   <id>http://rtlechow.com2011/11/14/jenna-morrison-critical-mass</id>
   <content type="html">&lt;p&gt;Jenna Morrison was killed while on her bike by the driver of a five-tonne cube truck &lt;a href=&quot;http://torontoist.com/2011/11/cyclist-killed-in-dundas-street-accident/&quot;&gt;one week ago&lt;/a&gt;. This morning, we had a Critical Mass to deliver her ghost bike:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6052/6343764967_8cb9fa0fe6_b.jpg&quot; alt=&quot;The Bridge&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6226/6344515252_b3acb5256f_b.jpg&quot; alt=&quot;Delivering Jenna Morrison&apos;s Ghost Bike&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6046/6344516178_3ce0167b39_b.jpg&quot; alt=&quot;Mourning at Dundas and Sterling&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6101/6343768087_8721602c7b_b.jpg&quot; alt=&quot;Bike-over-head Salute&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6031/6344516934_0bd5045c3a_b.jpg&quot; alt=&quot;Hundreds of cyclists&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6103/6344518310_54d0cbb0fb_b.jpg&quot; alt=&quot;Jenna Morrison Vigil and Petition-signing&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm7.static.flickr.com/6098/6343769975_832ba0828d_b.jpg&quot; alt=&quot;Sidewalk Chalking&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/rtlechow/sets/72157628126413832/with/6343768087/&quot;&gt;More on Flickr&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>256 Colors in Vim, inside Screen, in an iTerm, on OS X Leopard</title>
   <link href="http://rtlechow.com2008/12/15/256-colors-in-vim-inside-screen-in-an-iterm-on-os-x-leopard/"/>
   <updated>2008-12-15T00:00:00-05:00</updated>
   <id>http://rtlechow.com2008/12/15/256-colors-in-vim-inside-screen-in-an-iterm-on-os-x-leopard</id>
   <content type="html">&lt;p&gt;Borrowing a lot from &lt;a href=&quot;http://pjkh.com/articles/osx-iterm-screen-vim-256-colors.html&quot;&gt;this sage advice&lt;/a&gt;, I decided it’s time to figure out 256 color vim on OS X. That meant immediately leaving Terminal.app for dead, since he can’t display more than 8 (16 w/ANSI bold) colors. Here’s the alternative I came up with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Installed iTerm.&lt;/li&gt;
  &lt;li&gt;In iTerm, hit option+cmd+B for “Profiles”.
    &lt;ul&gt;
      &lt;li&gt;Under “Keyboard Profiles, Global”, I removed all the mappings and set the “Option Key as” to “+Esc”. This allows me to switch channels in irssi with option+number.&lt;/li&gt;
      &lt;li&gt;Under “Terminal Profiles, Default”, I changed “Type” to “xterm-256color” and checked “Blinking cursor”.&lt;/li&gt;
      &lt;li&gt;Under “Display Profiles”, for “Dark Background” and “Light Background”, I tweaked the “Cursor” colors to be more visible.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Grabbed &lt;a href=&quot;http://www.vim.org/scripts/script.php?script_id=1349&quot;&gt;this perl script&lt;/a&gt; that prints a 256 color test palette to the console. Ran it outside of GNU Screen, and everything looked good.&lt;/li&gt;
  &lt;li&gt;Added the following lines to my ~/.screenrc:
    &lt;blockquote&gt;
      &lt;p&gt;#terminfo and termcap for nice 256 color terminal&lt;br /&gt;
# allow bold colors - necessary for some reason&lt;br /&gt;
attrcolor b “.I”&lt;br /&gt;
# tell screen how to set colors. AB = background, AF=foreground&lt;br /&gt;
# the first two are for other terminal emulators, just in case.&lt;br /&gt;
termcapinfo xterm “Co#256:AB=E[48;5;%dm:AF=E[38;5;%dm”&lt;br /&gt;
termcapinfo xterm-color “Co#256:AB=E[48;5;%dm:AF=E[38;5;%dm”&lt;br /&gt;
termcapinfo xterm-256color “Co#256:AB=E[48;5;%dm:AF=E[38;5;%dm”&lt;br /&gt;
term xterm-256color&lt;br /&gt;
# erase background with current bg color&lt;br /&gt;
defbce “on”&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;Ran the test script inside of GNU Screen, everything looked good.&lt;/li&gt;
  &lt;li&gt;Added the following lines to the top of my ~/.vimrc, because apparently “set t_Co=256” must appear before any syntax and color settings:
    &lt;blockquote&gt;
      &lt;p&gt;set t_Co=256&lt;br /&gt;
:colorscheme railscasts&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;Started up vim inside GNU Screen, and voila!&lt;/li&gt;
  &lt;li&gt;Wrote about it here so I &lt;strong&gt;never forget this stuff&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
</feed>
