<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>I’m a UX developer into Ruby on Rails, productivity, and cats.

</description><title>Andrew Cox</title><generator>Tumblr (3.0; @drewcox)</generator><link>http://andrewcox.org/</link><item><title>"The important thing is to use one [maturity model], and to use it deliberately with a genuine Kaizen..."</title><description>“&lt;p&gt;The important thing is to use one [maturity model], and to use it deliberately with a genuine Kaizen approach:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Pick a skill&lt;/li&gt;
&lt;li&gt;Assess your proficiency&lt;/li&gt;
&lt;li&gt;Make a decision to modify your behavior in a deliberate way&lt;/li&gt;
&lt;li&gt;Perform this new way&lt;/li&gt;
&lt;li&gt;Evaluate your skill level&lt;/li&gt;
&lt;li&gt;Repeat&lt;/li&gt;
&lt;/ul&gt;”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p&gt;&lt;a href="http://elegantcode.com/2009/05/04/on-measuring-agility-craftsmanship-and-everything-else/"&gt;Elegant Code » On Measuring Agility, Craftsmanship, and Everything Else&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ran across this while researching “Agile Maturity Models”. Great approach, but with two missing pieces:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Knowing which skills that are desirable&lt;/li&gt;
&lt;li&gt;Which order to tackle the skills&lt;/li&gt;
&lt;/ol&gt;&lt;/em&gt;</description><link>http://andrewcox.org/post/19023461694</link><guid>http://andrewcox.org/post/19023461694</guid><pubDate>Fri, 09 Mar 2012 18:12:00 -0500</pubDate></item><item><title>"Studying for pleasure is fine, if you’re honest about the fact that that’s what you’re doing. If..."</title><description>“Studying for pleasure is fine, if you’re honest about the fact that that’s what you’re doing. If you’re studying to train and get better, you need an action component alongside it to max out the chance of learning the lessons.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p class="author"&gt;
&lt;a href="http://www.sebastianmarshall.com/action-vs-learning-a-false-dichotomy-my-friend"&gt;Action vs. Learning? A False Dichotomy, My Friend!&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;I’ve recently been evaluating my “pleasure” reading vs. “study” reading. I’ve had to admit to myself that just because I’m reading a technical book or blog post, that does not mean that I’m learning something.&lt;/p&gt;

&lt;p&gt;When I read long articles or books that I want to learn something from, I now take notes on my iPhone with the &lt;a href="http://itunes.apple.com/us/app/elements-dropbox-and-markdown/id382752422?mt=8"&gt;Elements app&lt;/a&gt;. If I’m not taking notes, then I have to admit it’s just for pleasure (not that there’s anything wrong with that).&lt;/p&gt;&lt;/em&gt;</description><link>http://andrewcox.org/post/17114491700</link><guid>http://andrewcox.org/post/17114491700</guid><pubDate>Sun, 05 Feb 2012 16:31:00 -0500</pubDate></item><item><title>Who is SkillBonsai for?</title><description>&lt;p&gt;Who are the target users for &lt;a href="http://skillbonsai.com"&gt;SkillBonsai&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;When creating any application or website, it&amp;#8217;s helpful to identify the archetypes of your target users. It&amp;#8217;s a common trap for developers to think of themselves as a &amp;#8220;typical user&amp;#8221;. Personas allow you to step back from your application and  empathize with your users.&lt;/p&gt;

&lt;p&gt;Going further, I think it&amp;#8217;s helpful to explicitly prioritize your personas as well as create anti-personas. Sometimes it&amp;#8217;s just as important to remember who your application &lt;em&gt;isn&amp;#8217;t&lt;/em&gt; for as much as who it &lt;em&gt;is&lt;/em&gt; for.&lt;/p&gt;

&lt;h3&gt;User personas&lt;/h3&gt;

&lt;p&gt;Here&amp;#8217;s a prioritized list of the personas I&amp;#8217;m targeting for SkillBonsai.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Sam Wainwright&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Sam is an intermediate web application developer. He considers himself a &lt;a href="http://manifesto.softwarecraftsmanship.org/"&gt;Software Craftsman&lt;/a&gt; and is always looking for ways to become a better software developer.&lt;/p&gt;

&lt;p&gt;He&amp;#8217;s a motivated self-learner. Just like his dad, he believes that a good book is the best way to start learning a new subject. In addition to learning the basics, he also wants advice for the best ways to practice that new skill.&lt;/p&gt;

&lt;p&gt;Besides software development, he&amp;#8217;s also interested in becoming better at a number of other pursuits including Ultimate Frisbee, meditation and yoga. With all of these interests, he&amp;#8217;d like a way to prioritize and keep track of what he&amp;#8217;s currently trying to get better at.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Julie Anderton&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Julie works in Professional Services at an enterprise software company. Her company&amp;#8217;s Product Development team just started a new project with Ruby on Rails. She really wants to get out of the billable hours grind and knows that to get a spot on the Product Development team, she&amp;#8217;s going to need to get up-to-speed with a number of new technologies.&lt;/p&gt;

&lt;p&gt;She has solid experience with web development skills such as HTML, CSS, and JavaScript, but will need to understand Git workflows, Ruby, Rails, and automated testing. If she could learn how to contribute to open source projects, that would be a feather in her cap.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Bob Loblaw&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Bob has recently been laid off from his law firm. The prospects for lawyers in his city are not great, so he&amp;#8217;s looking for a career change. He knows there&amp;#8217;s demand in the software industry and is motivated to learn the skills necessary to get a job in the industry as soon as possible.&lt;/p&gt;

&lt;p&gt;He&amp;#8217;s very computer literate and even took a programming class in college, but he hasn&amp;#8217;t programmed anything in 10 years. He has lots of free time and wants to spend it as economically as possible, learning to program in a language and platform that will get him a good job soon.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Art Vandelay&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Art recently finished reading &lt;a href="http://www.amazon.com/4-Hour-Workweek-Anywhere-Expanded-Updated/dp/0307465357"&gt;The 4-Hour Workweek&lt;/a&gt; and has a great idea for his &amp;#8220;muse&amp;#8221;. He doesn&amp;#8217;t know the first thing about starting a company, but knows that everything he needs to know is learnable.&lt;/p&gt;

&lt;p&gt;He&amp;#8217;s heard about the &lt;a href="http://theleanstartup.com"&gt;Lean Startup&lt;/a&gt; methodology and wants to know how he can use that to test and launch his business. Meanwhile, he&amp;#8217;d like to bone up on the core elements of running a business &lt;a href="http://www.amazon.com/dp/1591843529?tag=cdbaby"&gt;without throwing away time and money on a real MBA&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Izzy Mandelbaum&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Izzy is a self-proclaimed autodidact. He&amp;#8217;s interested in learning more mathematics simply because he likes the mental exercise. He heard about &lt;a href="http://www.khanacademy.org/"&gt;Khan Academy&lt;/a&gt;, but doesn&amp;#8217;t know where to start.&lt;/p&gt;

&lt;p&gt;He&amp;#8217;s also interested in weight-lifting and chess. He doesn&amp;#8217;t enjoy losing, so he wants to do whatever possible to beat Jack Klompus at chess.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Dr. Van Nostrand&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Dr. Van Nostrand has a PhD in Computer Science. He has a clear idea of what he thinks is the best progression from an intermediate developer to expert. He&amp;#8217;d like to be able to outline a set of required reading along with practice exercises to get a student ready to apply to his own online course targeted at intermediate software developers.&lt;/p&gt;

&lt;h3&gt;Anti-persona&lt;/h3&gt;

&lt;p&gt;Who is SkillBonsai explicitly &lt;em&gt;not&lt;/em&gt; for? Lloyd Braun.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;Lloyd Braun&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Lloyd has a decent, well-paying job. He firmly believes in a clear work-life balance with a heavy emphasis on &amp;#8220;life&amp;#8221;. He has no interest in software development or &amp;#8220;self improvement&amp;#8221;.&lt;/p&gt;

&lt;h3&gt;Narrowing the scope&lt;/h3&gt;

&lt;p&gt;On one hand, I have a pretty broad spectrum of personas I&amp;#8217;m targeting with SkillBonsai - from software developers to weight lifters. On the other hand, I&amp;#8217;m explicitly &lt;em&gt;not&lt;/em&gt; interested in targeting people that are not already motivated to learn on their own.&lt;/p&gt;

&lt;p&gt;In other words, if you&amp;#8217;re already interested in learning or getting better at something, you&amp;#8217;re in the right place.&lt;/p&gt;</description><link>http://andrewcox.org/post/16897261136</link><guid>http://andrewcox.org/post/16897261136</guid><pubDate>Wed, 01 Feb 2012 21:03:34 -0500</pubDate></item><item><title>Do Research-based Study Methods Apply to Learning Webcraft?</title><description>&lt;p&gt;Last week, I enrolled in &lt;a href="http://p2pu.org/"&gt;P2PU&amp;#8217;s&lt;/a&gt; free &lt;a href="http://p2pu.org/en/groups/how-to-teach-webcraft-and-programming-to-free-range-students/"&gt;How to Teach Webcraft and Programming to Free-Range Students&lt;/a&gt; course. The first assignment was to read &lt;a href="http://ies.ed.gov/ncee/wwc/practiceguide.aspx?sid=1"&gt;Organizing Instruction and Study to Improve Student Learning&lt;/a&gt;, a 2007&amp;#160;&lt;a href="http://ies.ed.gov/"&gt;Institute of Education Sciences&lt;/a&gt; study that &amp;#8220;includes a set of concrete actions relating to the use of instructional and study time that are applicable to subjects that demand a great deal of content learning, including social studies, science, and mathematics. The guide was developed with some of the most important principles to emerge from research on learning and memory in mind.&amp;#8221;&lt;/p&gt;

&lt;h3&gt;The 7 recommendations&lt;/h3&gt;

&lt;p&gt;The report was organized around 7 recommendations and how you can apply them in the classroom. Each recommendation is weighed against how strong the supporting research is along with common pitfalls for applying the recommendations and how to avoid them.&lt;/p&gt;

&lt;p&gt;I recommend reading the whole report to get the context of the studies that support, but the summaries of each of the 7 recommendations are available on IES&amp;#8217; &lt;a href="http://ies.ed.gov/ncee/wwc/practiceguide.aspx?sid=1"&gt;overview of the study&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since you can read the summaries on the study&amp;#8217;s overview page, I&amp;#8217;m mostly just going to talk about how well the recommendations apply to learning software development, and how using a digital medium for teaching is either a benefit or a hinderance.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;1. Space learning over time&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;Students should be exposed to each main element on at least 2 separate occasions, preferably spaced out over weeks or months rather than days. This is something I had not considered for &lt;a href="http://skillbonsai.com"&gt;SkillBonsai&lt;/a&gt;. On one hand, many skills related to software development build on each other, so are automatically reinforced as the student progresses. Additionally, it&amp;#8217;s often enough to know a technology or technique exists and be able to reference it when you need to apply it. Rote memorization isn&amp;#8217;t as important for many concepts in software development.&lt;/p&gt;

&lt;p&gt;I do believe this concept could be put to use though. For some skills that &lt;em&gt;are&lt;/em&gt; worth committing to long term memory, I could email periodic, spaced reminders that include links to refresher or review versions of the initial instruction. Having a reference version of an instruction is valuable in its own right, so this is definitely something I&amp;#8217;m going to consider.&lt;/p&gt;

&lt;p&gt;The report also added a note that may address some issues with spaced learning as it applies to software development:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;One limitation of the literature is that few studies have examined acquisition of complex bodies of structured information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;&lt;strong&gt;2. Interleave worked example solutions and problem-solving exercises&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;I really like this idea and think it applies very well to both software development and online learning. I think one of the more difficult aspects of learning software development is knowing if your code is well formed. Seeing worked examples of good code should be a great way to see if your own code looks similar in terms of simplicity and readability.&lt;/p&gt;

&lt;p&gt;The study also recommends that you decrease the examples as you progress:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As students develop greater expertise, decreased example use and correspondingly increased problem solving appears to improve learning.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;&lt;strong&gt;3. Combine graphics with verbal descriptions&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;In addition to graphics or video, you should also provide an audio track since the brain can process the visuals better when they don&amp;#8217;t have to use their eyes for both reading and interpreting the graphics.&lt;/p&gt;

&lt;p&gt;Graphics are often not as obvious in the world of software development, but perhaps the rise of screencasts on the web indicates that video with an audio voiceover is an effective teaching aid. There are &lt;a href="http://fnoschese.wordpress.com/2011/03/17/khan-academy-and-the-effectiveness-of-science-videos/"&gt;other studies&lt;/a&gt;, however, that indicate videos are often misleading in how much information is retained by the student.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;4. Connect and integrate abstract and concrete representations of concepts&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;The studies show that students struggle more with abstract representations initially, but are better able to use the learned concepts in different contexts.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m not exactly sure how to apply this to software development. Is the &lt;a href="http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata"&gt;bowling kata&lt;/a&gt; an example of an abstract concept? Or are we talking about visualizing the MVC framework? I&amp;#8217;m going to need to think about this one a little more.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;5. Use quizzing to promote learning&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;If you think of quizzing as a means to help students understand what areas they need to study rather than an evaluation for a grade, quizzing suddenly seems much more powerful.&lt;/p&gt;

&lt;p&gt;One concept that I will definitely adopt is the idea of pre-quizzing to prepare students for the material they&amp;#8217;re about to learn. This could work very well with SkillBonsai when using an external resource like another site&amp;#8217;s tutorial or a chapter in a book.&lt;/p&gt;

&lt;p&gt;But how do we validate that a software solution is &amp;#8220;correct&amp;#8221;? Aside from simple &amp;#8220;check the output&amp;#8221; tests, perhaps we could add a more subjective checklist for the student to do a self-check on the quality of code, including:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Do your variable and method names express intent (i.e. are they named clearly)?&lt;/li&gt;
&lt;li&gt;Are your methods less than 10 lines long?&lt;/li&gt;
&lt;li&gt;Are your classes doing more than one thing?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Each quality question could provide links for the student to review what each of those quality checks means in detail if they need a refresher. We could also encourage them to have their solution checked by someone in their local or online programming community.&lt;/p&gt;

&lt;p&gt;I think there are limits to what we can do with online quizzing for software development, but there&amp;#8217;s a lot of untapped potential with simple multiple choice or fill-in-the-blank quizzing.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;6. Help students allocate study time efficiently&lt;/strong&gt;&lt;/h4&gt;

&lt;blockquote&gt;
  &lt;p&gt;It is our belief, however, that students’ ability to manage their own studying is one of the more important skills that students need to learn.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is probably &lt;em&gt;the&lt;/em&gt; key takeaway for me. Students are notoriously poor at &amp;#8220;metacognition&amp;#8221;, or knowing how much they know. This really resonated with me and I think it&amp;#8217;s one of the most important aspects I can bring to &lt;a href="http://skillbonsai.com"&gt;SkillBonsai&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In addition to quizzing, the study suggests that students rate each question based on their confidence that they know the answer (before seeing any of the possible answers). This allows them to evaluate how much they &lt;em&gt;think&lt;/em&gt; they know and direct them to the areas that need the most study.&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;7. Help students build explanations by asking and answering deep questions&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;At first I thought this would be a nonstarter for online learning, but I think there&amp;#8217;s a simple solution: ask students to write a blog post about a question or topic. Blogging is a &lt;em&gt;fantastic&lt;/em&gt; way to explore a topic and organize your own thoughts. There&amp;#8217;s really no way to validate whether a student did it in any automated way, but I don&amp;#8217;t think that should be a deterrent.&lt;/p&gt;

&lt;h3&gt;Do classroom learning methods apply software development?&lt;/h3&gt;

&lt;p&gt;So, do these classroom instruction and study methods apply to learning software development? I think the short answer is &lt;strong&gt;absolutely&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On the other hand, many of the recommendations apply to &lt;em&gt;learning&lt;/em&gt; as opposed to &lt;em&gt;improving skills&lt;/em&gt;. Is software development more similar to learning history than to becoming a better artist, musician or athlete? If not, does that imply that we should be using different methods to complement the learning methods listed above?&lt;/p&gt;

&lt;p&gt;Here are some ways that I think learning software development is different from learning history, math or a foreign language:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Most problems are unique (though they may have common foundations or principles)&lt;/li&gt;
&lt;li&gt;There is a wide range of &amp;#8220;correct&amp;#8221; answers&lt;/li&gt;
&lt;li&gt;You need to be both aware of a broad range of technologies as well as being well-practiced in core fundamentals&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;Weaknesses of online learning&lt;/h3&gt;

&lt;p&gt;The most obvious weakness of online learning applications is that it&amp;#8217;s often hard or impossible to validate that a student has completed assignments correctly. For my purposes, I&amp;#8217;m completely ok with this. My target audience is the motivated self-learner, so if someone wants to say they completed an assignment (like writing a blog post) and they didn&amp;#8217;t, then so be it.&lt;/p&gt;

&lt;p&gt;However! It is important to be able to provide timely feedback to foster their metacognition and head off any misconceptions as early as possible. For that reason, I think many of these core learning concepts are very applicable.&lt;/p&gt;

&lt;p&gt;Finally, the report issued the comforting thought:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As with professionals in other fields, such as medicine, that also seek to rely on a base of evidence and yet must deal with important practical problems on a daily basis, educators must make the best use they can of the current knowledge as it is, even while being mindful of its imperfection.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, even if we can&amp;#8217;t apply all learning principles to every subject, the more we know about effective instruction and learning techniques, the better we can work them into our education applications and material.&lt;/p&gt;</description><link>http://andrewcox.org/post/16120144443</link><guid>http://andrewcox.org/post/16120144443</guid><pubDate>Thu, 19 Jan 2012 12:03:39 -0500</pubDate></item><item><title>Coderetreat: A first-time facilitator's perspective</title><description>&lt;p&gt;On Saturday, I helped facilitate the &lt;a href="http://coderetreat.org/"&gt;Global Day of Coderetreat 2011&lt;/a&gt; in Pittsburgh. Over 2000 people attended in 90 cities on 6 continents. There were more coderetreat events on this single day than in the combined 3-year history of coderetreats.&lt;/p&gt;

&lt;p&gt;Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. &lt;a href="http://coderetreat.org/about"&gt;Much&lt;/a&gt; &lt;a href="http://coderetreat.org/facilitating/structure-of-a-coderetreat"&gt;has&lt;/a&gt; &lt;a href="http://coderetreat.org/profiles/blogs/global-day-of-coderetreat-an-account-from-london"&gt;been&lt;/a&gt; &lt;a href="http://coderetreat.org/profiles/blogs/coderetreat-2011-in-prague"&gt;written&lt;/a&gt; about the format and experience of coderetreats, including &lt;a href="http://monospacedmonologues.com/post/13794728271/global-day-of-coderetreat"&gt;this excellent fictional account of a coderetreat attendee&lt;/a&gt;, so I&amp;#8217;ll focus instead on my perspective of the event as a first-time facilitator.&lt;/p&gt;

&lt;h3&gt;The goals of Coderetreat&lt;/h3&gt;

&lt;p&gt;In preparing for my role as a facilitator, I tried to dig deep into what the goals of the event were. The single, primary goal that I ended up with was:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Learn how to write code that adheres to the &lt;a href="http://theholyjava.wordpress.com/2011/02/14/clean-code-four-simple-design-rules/"&gt;rules of Simple Design&lt;/a&gt; in order to minimize the cost of change.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now &lt;em&gt;that&amp;#8217;s&lt;/em&gt; something both developers and managers can get behind. It reads like a &lt;a href="http://www.mountaingoatsoftware.com/topics/user-stories"&gt;user story&lt;/a&gt; explaining not only the &lt;em&gt;what&lt;/em&gt;, but also &lt;em&gt;why&lt;/em&gt; you would want to adhere to the rules of Simple Design.&lt;/p&gt;

&lt;p&gt;In addition to the primary goal of writing code to minimize the cost of change, a coderetreat has a ton of secondary benefits including, but not limited to:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Improve problem solving skills&lt;/li&gt;
&lt;li&gt;Try out different programming languages&lt;/li&gt;
&lt;li&gt;Experience and improve &lt;a href="http://en.wikipedia.org/wiki/Pair_programming"&gt;pair programming&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;TDD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Learn your tools&lt;/li&gt;
&lt;li&gt;Pick up tips from others&amp;#8217; development workflows and environments&lt;/li&gt;
&lt;li&gt;Socialize and network with local developers&lt;/li&gt;
&lt;li&gt;Spread the &lt;a href="http://manifesto.softwarecraftsmanship.org/"&gt;Software Craftsmanship&lt;/a&gt; bug&lt;/li&gt;
&lt;li&gt;Expose people to new object-oriented design concepts&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Is a coderetreat the absolute &lt;em&gt;best&lt;/em&gt; format for achieving this goal? That&amp;#8217;s a topic for another post. But, I do believe you&amp;#8217;d have a hard time finding a better way to level up your software development skills in under 10 hours.&lt;/p&gt;

&lt;h3&gt;Takeaways&lt;/h3&gt;

&lt;p&gt;This event was awesome. I think I got as much or more out of it as a facilitator than I did as a participant. But how can we make it better?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set expectations before the event&lt;/strong&gt;. We need some sort of a &amp;#8220;Before You Arrive&amp;#8221; kit that gives a very brief overview of the event and tells you how to get the most out of the day. This should include everything from setting up your development environment to bringing enough business cards to share.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make sure you have plenty of whiteboard space&lt;/strong&gt;. During a coderetreat, there&amp;#8217;s a lot to take in. I love having information radiators for active and passive learning. There are a number of things that I wanted to convey to the participants throughout the day, including:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Wi-Fi credentials&lt;/li&gt;
&lt;li&gt;Twitter hashtag&lt;/li&gt;
&lt;li&gt;The goal of Coderetreat&lt;/li&gt;
&lt;li&gt;The 4 rules of Conway&amp;#8217;s Game of Life&lt;/li&gt;
&lt;li&gt;The 4 rules of Simple Design&lt;/li&gt;
&lt;li&gt;The TDD cycle&lt;/li&gt;
&lt;li&gt;List of buzzwords and concepts&lt;/li&gt;
&lt;li&gt;Mark Twain quote, &amp;#8220;I didn&amp;#8217;t have time to write a short letter, so I wrote a long one instead.&amp;#8221;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Put more focus on goals at the beginning&lt;/strong&gt;. The primary goal should be written clearly on a whiteboard to remind everyone throughout the day why they chose to give up their Saturday to program. In addition to the primary goal, I think I could spend more time calling out secondary goals like getting better at pair programming and test-driven development, learning your tools, exposing new OO concepts, and spreading the software craftsmanship bug. If the participants leave with a firm idea of the goals of the event, it will help to spread the idea of coderetreats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don&amp;#8217;t push the challenges before the participants are ready&lt;/strong&gt;. Due to the big event, it was too tempting to pull out the whole bag of tricks for the sessions. I think it would&amp;#8217;ve been best to give cues to focus on fundamentals for the first 3 rounds and only start to introduce more modest constraints like &lt;a href="http://c2.com/cgi/wiki?PairProgrammingPingPongPattern"&gt;ping pong pairing&lt;/a&gt; and &lt;a href="http://gojko.net/2009/02/27/thought-provoking-tdd-exercise-at-the-software-craftsmanship-conference/"&gt;TDD as if you meant it&lt;/a&gt; late in the day, if at all. If you&amp;#8217;re working with developers who have all been to a coderetreat before, then you might be able to pull out things like &amp;#8220;no conditional statements&amp;#8221; or &amp;#8220;use verbs instead of nouns&amp;#8221;, but I think otherwise they put undue hardship on the teams. Learning pairing, TDD, simple design, and even new programming languages is more than enough for most people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ask more probing questions during walk-arounds&lt;/strong&gt;. Much of being a great facilitator is having a strong understanding of OO concepts yourself. This allows you to ask the right questions to stretch a practitioner and guide them toward simple design. I still have quite a way to go on this front, but I think I would do well by reading up on some of the OO concepts and forming questions that I can ask ahead of time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write down a list of buzzwords and concepts during the event&lt;/strong&gt;. If you&amp;#8217;ve been to a number of conferences and are interested in Software Craftsmanship, you might take for granted how many buzzwords you regularly sling around. People don&amp;#8217;t often want to expose their ignorance, so they may not ask what these buzzwords mean. I think it would be really useful to make note of buzzwords and concepts that pop up in conversation throughout the day like, &amp;#8220;DRY&amp;#8221;, &amp;#8220;YAGNI&amp;#8221;, &amp;#8220;tell, don&amp;#8217;t ask&amp;#8221;, &amp;#8220;law of demeter, &amp;#8220;loose coupling&amp;#8221;, and &amp;#8220;SOLID design principles&amp;#8221;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code swapping for the last session could be risky&lt;/strong&gt;. I&amp;#8217;m a big fan of swapping code after the 5th session because it reinforces the primary goal of minimizing the cost of change. When new developers have to deal with an existing codebase, your efforts for clean code are truly put to the test.&lt;/p&gt;

&lt;p&gt;There was a fair bit of good-natured ribbing about code quality after swapping code with another pair after the 5th session. If there is a wide gap in skill levels, or people don&amp;#8217;t know each other very well, this has the potential to  lead to hurt feelings. Use with caution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6 sessions may be too much for one day&lt;/strong&gt;. One comment that received a lot of nods at our closing circle was that they would have gone home totally satisfied after just 5 sessions. The 6th session left them a little fried and we only ended up with 8 people (out of about 50) for the traditional post-coderetreat beers. I had a similar experience when I participated in a coderetreat. On the one hand, that feeling of pushing your mind to the limit and leaving completely fried is kind of nice, but perhaps it comes at the expense of leaving people with more energy to challenge their development practices at work come Monday morning.&lt;/p&gt;

&lt;h3&gt;The rabbit hole&lt;/h3&gt;

&lt;p&gt;Once you start thinking about writing software using the principles of Simple Design, it&amp;#8217;s like opening Pandora&amp;#8217;s Box. You become curious about some of those buzzwords I mentioned above like, &amp;#8220;loose coupling&amp;#8221;, &amp;#8220;high cohesion&amp;#8221;, and &amp;#8220;single responsibility principle&amp;#8221;. You realize you&amp;#8217;re peering down a rabbit hole and start wondering just how deep the rabbit hole goes &amp;#8230;&lt;/p&gt;</description><link>http://andrewcox.org/post/13810557640</link><guid>http://andrewcox.org/post/13810557640</guid><pubDate>Mon, 05 Dec 2011 22:13:00 -0500</pubDate></item><item><title>Why I love Halloween</title><description>&lt;p&gt;Halloween is probably my favorite holiday. I say &amp;#8220;probably&amp;#8221; because Christmas &lt;em&gt;is&lt;/em&gt; pretty awesome. It&amp;#8217;s close.&lt;/p&gt;

&lt;p&gt;When I was working on my Halloween costume this year, I was trying to juggle a few other priorities and had the momentary thought, &amp;#8220;Why am I doing this?&amp;#8221; I didn&amp;#8217;t have any big Halloween parties to go to and it&amp;#8217;s not exactly a tradition to dress up for Halloween at my office (I think I was the only one this year).&lt;/p&gt;

&lt;p&gt;After a bit of reflection, I decided that even if I only wore my costume to work (yes, I always wear my costume to work), it would still be worthwhile.&lt;/p&gt;

&lt;h3&gt;What I love about making costumes&lt;/h3&gt;

&lt;p&gt;Why do I like making Halloween costumes?&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Creativity&lt;/li&gt;
&lt;li&gt;Problem solving&lt;/li&gt;
&lt;li&gt;Real artists ship&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;So there&amp;#8217;s the obvious creativity aspect. Since I tend to be on the more ambitious end of the Halloween costume spectrum, I need to start thinking about my costume at least a month in advance. I love trying to think of something unique that only 10-20% people get. When only a small percentage of people understand your costume, they get excited. It&amp;#8217;s like being in on an inside joke.&lt;/p&gt;

&lt;p&gt;Problem solving. My last two costumes in particular have involved a lot of schematics and trial and error. In 2009 I was working with chicken wire and PVC pipe. This year, it was all about 3D sprites built out of cardboard.&lt;/p&gt;

&lt;p&gt;Finally, I think the best aspect of making a Halloween costume:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Real artists ship.
  – Steve Jobs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The time and money pressures of making a Halloween costume force enough  constraints to make it an interesting problem. No matter how early I start making my costume, I always end up tweaking it up to the last minute. When October 31st comes though, you gotta get out the door with a costume one way or the other.&lt;/p&gt;

&lt;p&gt;I think there&amp;#8217;s a really interesting parallel with shipping software that I hadn&amp;#8217;t considered until this year. When you go to work or your party in your homemade costume, you know &lt;em&gt;every single flaw&lt;/em&gt; of your costume. You &lt;em&gt;know&lt;/em&gt; it could be better. But you know what? It doesn&amp;#8217;t matter. If you came up with a unique idea and it resonates with people? It doesn&amp;#8217;t matter if people can see your tape starting to curl up on your cardboard sword. Make something cool and ship it!&lt;/p&gt;

&lt;h3&gt;What makes a good costume?&lt;/h3&gt;

&lt;p&gt;To be a good costume, I think it has to be either:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Unique&lt;/li&gt;
&lt;li&gt;Really, really well done&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;If you&amp;#8217;re going as &lt;a href="http://en.wikipedia.org/wiki/Boba_fett"&gt;Boba Fett&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Jack_sparrow"&gt;Jack Sparrow&lt;/a&gt;, you&amp;#8217;d better be able to stand in as their stunt doubles in &amp;#8220;Star Wars: Rise of the Midi-chlorians&amp;#8221; or &amp;#8220;Pirates of the Caribbean V: Return to Disney World&amp;#8221;.&lt;/p&gt;

&lt;p&gt;For example, in 2007, Beth went as an Engineer from Star Trek TOS (The Original Series). She bought an &lt;a href="http://www.roddenberry.com/apparel/vintage-patches/tos-starfleet-engineering-officer-amp-amp-other-services-patch-3rd-season.html"&gt;authentic Gene Roddenberry insignia patch&lt;/a&gt; and had her mom sew her a Starfleet Engineering uniform in 2 days:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltyj5hzrKV1qawu4x.jpg" alt="Beth as Starfleet Engineer"/&gt;&lt;/p&gt;

&lt;p&gt;That costume was &lt;em&gt;solid&lt;/em&gt;. You could probably sell it on eBay to a Trekkie and they&amp;#8217;d be the talk of the next convention.&lt;/p&gt;

&lt;p&gt;I usually take the other tack - the unique costume. Not that I&amp;#8217;m the first person to think of a particular costume, but hopefully I&amp;#8217;m the first person &lt;em&gt;you&amp;#8217;ve&lt;/em&gt; seen with that costume.&lt;/p&gt;

&lt;h3&gt;The costumes&lt;/h3&gt;

&lt;p&gt;Here are my costumes from the previous 5 years. In 2007, I inadvertently started a theme of Saturday Night Live alum movie characters.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltyj702OJk1qawu4x.jpg" alt="The Jerk"/&gt;&lt;/p&gt;

&lt;p&gt;This is Navin R. Johnson (Steve Martin) from &lt;a href="http://www.youtube.com/watch?v=rSWBuZws30g"&gt;the last scene of &amp;#8220;The Jerk&amp;#8221;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltyj6hXC731qawu4x.jpg" alt="What About Bob? and Starbuck from Battlestar Galactica"/&gt;&lt;/p&gt;

&lt;p&gt;In 2008, I went as Bob Wiley (Bill Murray) from &lt;a href="http://www.imdb.com/title/tt0103241/"&gt;&amp;#8220;What About Bob?&amp;#8221;&lt;/a&gt;, one of my favorite movies. The unique element here is &amp;#8220;Gil&amp;#8221;, the live goldfish around my neck. This one didn&amp;#8217;t take too much work to put together (I bought the shirt online), but I loved the idea of having a live prop (don&amp;#8217;t worry, he found a happy home in a coworker&amp;#8217;s aquarium).&lt;/p&gt;

&lt;p&gt;Beth went as &lt;a href="http://en.wikipedia.org/wiki/Kara_Thrace"&gt;Starbuck&lt;/a&gt; from Battlestar Galactica. Notice a theme?&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltyj62SIlJ1qawu4x.jpg" alt="Me as The Three Amigos"/&gt;&lt;/p&gt;

&lt;p&gt;The pinnacle of my Halloween costumes - me as all 3 of the &lt;a href="http://www.imdb.com/title/tt0092086/"&gt;&amp;#8220;Three Amigos&amp;#8221;&lt;/a&gt;. It was the 3rd in my Saturday Night Live alum trilogy. It was also my most recognizable costume in years. Typically I wouldn&amp;#8217;t go for something so obvious, but I&amp;#8217;d wanted to do a multiple costume for years. This one special for 2 reasons:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The novelty of going as 3 characters&lt;/li&gt;
&lt;li&gt;The execution&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;It took me about 50-60 hours and cost more than I&amp;#8217;d like to think about. I made 2 full-size dummies from chicken wire and PVC pipe and Beth and her mom tailored and designed the outfits from Goodwill suits. Oh, and it has fully-articulated joints. At a party later that night, I fashioned a rod to each of their hands so I could perform &lt;a href="http://www.youtube.com/watch?v=3Mw9F5zawRQ"&gt;&amp;#8220;My Little Buttercup&amp;#8221;&lt;/a&gt;:&lt;/p&gt;

&lt;iframe width="640" height="480" src="http://www.youtube.com/embed/3Mw9F5zawRQ" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;This one&amp;#8217;s going to be tough for me to top.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltyizj6pKc1qawu4x.jpg" alt="The Hero from Atari 2600's &amp;quot;Adventure&amp;quot;"/&gt;&lt;/p&gt;

&lt;p&gt;And finally, here&amp;#8217;s my costume from this year. Do you recognize it? As I said, my personal barometer for costume success is about a 10-20% recognition percentage, so it might not be immediately obvious. If you grew up with an Atari 2600, you might be able &lt;a href="http://www.vintagecomputing.com/wp-content/images/costumes07/adventure_large.png"&gt;to guess it&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I went through the whole design process with this one - research, sketching, and even paper prototypes. Making the pixelized &amp;#8220;sword&amp;#8221; to scale was a lot of fun and gives me some new techniques I could potentially use for classic video game characters in the future &amp;#8230;&lt;/p&gt;

&lt;p&gt;Did you dress up for Halloween this year? Why or why not? Let me know on &lt;a href="http://twitter.com/#!/coxandrew"&gt;on Twitter&lt;/a&gt;&lt;/p&gt;</description><link>http://andrewcox.org/post/12183086383</link><guid>http://andrewcox.org/post/12183086383</guid><pubDate>Mon, 31 Oct 2011 22:07:00 -0400</pubDate></item><item><title>Ruby Tuesdays</title><description>&lt;p&gt;Since switching jobs in May, I&amp;#8217;ve done very little Ruby development. I have, however, been to several Ruby and Rails conferences that have kept my interest in Ruby alive. If anything, I think I&amp;#8217;m even more eager to get back into coding more regularly.&lt;/p&gt;

&lt;p&gt;There are a few real Ruby projects that I plan on digging back into very soon, but I also want to set aside some time to learn and keep up with the rapidly-evolving Ruby ecosystem.&lt;/p&gt;

&lt;p&gt;There are just so many great resources in the Ruby community these days that it takes a concerted effort just to keep up. My attempt at a solution is to batch my Ruby learning into one day a week. Naturally, that day of the week should be Tuesday. My plan is to spend 1-3 hours each Tuesday digging into some podcasts, blogs and code.&lt;/p&gt;

&lt;h3&gt;Resources to learn from each week&lt;/h3&gt;

&lt;p&gt;Here&amp;#8217;s my initial list of resources I plan to draw from:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://rubyrogues.com/"&gt;Ruby Rogues podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ruby5.envylabs.com/"&gt;Ruby5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rubyinside.com/"&gt;Ruby Weekly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://railscasts.com/"&gt;Railscasts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://practicingruby.com/"&gt;Practicing Ruby&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Articles I find during the week &lt;a href="http://pinboard.in/u:andrewcox/t:rubytuesday/unread"&gt;tagged with rubytuesday via Pinboard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;My first Tuesday&lt;/h3&gt;

&lt;p&gt;So, tonight was my first Ruby Tuesday. Um &amp;#8230; wow! 1 hour is nowhere &lt;em&gt;near&lt;/em&gt; enough time to cover all of these resources.&lt;/p&gt;

&lt;p&gt;I tried to listen to the 1-hour Ruby Rogues podcast while reviewing the &lt;a href="http://ruby5.envylabs.com/"&gt;Ruby5&lt;/a&gt; notes. It was a little hard to divide my attention between the two and I didn&amp;#8217;t even finish reading through the Ruby5 notes. I &lt;em&gt;did&lt;/em&gt; end up learning a lot of useful stuff though, so the hour spent was very worthwhile.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s clear that 1-hour a week isn&amp;#8217;t nearly enough to keep up with Ruby. I&amp;#8217;m going to need to decide on the depth and breadth of my learning. I think next week I&amp;#8217;ll do a few things differently:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Start with the week&amp;#8217;s Railscast&lt;/li&gt;
&lt;li&gt;Next read Practicing Ruby&lt;/li&gt;
&lt;li&gt;Finish with the Ruby Weekly list&lt;/li&gt;
&lt;li&gt;Spend 2-3 hours instead of 1&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;That will at least give me a different set of resources than this week and I can see which provide the biggest value for my time. We&amp;#8217;ll see how it goes!&lt;/p&gt;</description><link>http://andrewcox.org/post/11935641417</link><guid>http://andrewcox.org/post/11935641417</guid><pubDate>Tue, 25 Oct 2011 22:47:42 -0400</pubDate></item><item><title>Eating Clean for a Month - My Whole30 Experience</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltjhucJfLD1qawu4x.jpg" alt="Softcore Albacore"/&gt;&lt;/p&gt;

&lt;div class="attribution"&gt;Photo from &lt;a href="http://nomnompaleo.com/post/11814588991/softcore-albacore-tuna-braised-in-olive-oil"&gt;Nom Nom Paleo&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;I just completed 30 days of eating and drinking clean with the &lt;a href="http://whole9life.com/2011/06/whole-30-v4/"&gt;Whole30 challenge&lt;/a&gt;. I&amp;#8217;ve been doing some form of a &lt;a href="http://en.wikipedia.org/wiki/Paleolithic_diet"&gt;Paleo diet&lt;/a&gt; off and on for about 2 years, but the Whole30 challenge really takes it to the next level. You can read about the whole challenge on &lt;a href="http://whole9life.com/2011/06/whole-30-v4/"&gt;Whole 9 Life&amp;#8217;s site&lt;/a&gt;, but it&amp;#8217;s basically a super-strict form of the Paleo diet for 30 days:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Eat real, clean foods: meat, fish, eggs, tons of vegetables, some fruit, and plenty of good fats&lt;/li&gt;
&lt;li&gt;No grain, dairy, legumes, white potatoes, alcohol, preservatives, or sweeteners of any kind (including artificial)&lt;/li&gt;
&lt;li&gt;Focus on quality, not quantity&lt;/li&gt;
&lt;li&gt;No &amp;#8220;paleo-ified&amp;#8221; foods like paleo pizza or paleo pancakes&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t weigh yourself&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The purpose of the challenge is to heal your digestive system and see what it feels like to eat an ideal diet for a month. The theory is that even trace amounts of some foods (like milk or wheat) can damage your digestive tract and reset your progress. After you make it through the 30 days, you can slowly start adding back some of the &amp;#8220;lesser evil&amp;#8221; foods (like dairy and legumes) to see how sensitive you are to them.&lt;/p&gt;

&lt;h3&gt;My experience&lt;/h3&gt;

&lt;p&gt;So how&amp;#8217;d it go? Well, I was about 99% compliant. I had one small glass of champagne to toast my friend&amp;#8217;s wedding and the food at the two weddings I went to undoubtedly had sugar and butter in them. I did stick with the most paleo food options available though. I&amp;#8217;m claiming success.&lt;/p&gt;

&lt;p&gt;The most noticeable outcome is that I lost 15.5 pounds. Of course, Whole30 advocates will tell you that weight loss is not the point. My goal was not to lose weight, but I did want to get rid of some belly fat. My belt loop is now about 1&amp;#160;1/2 notches looser than a month ago and my stomach is the flattest it&amp;#8217;s been since college.&lt;/p&gt;

&lt;p&gt;I had a few headaches in the first few days. But, after the first week, I felt more clear-headed and had more sustained energy throughout the day.&lt;/p&gt;

&lt;p&gt;Was it hard? Not too bad! The social pressure was by far the hardest. I had 3 major obstacles to success in my month of clean eating - 2 weddings and a 3-day conference in New Orleans. Hey, if I can make it through 5 nights of free alcohol and delicious food, anyone can. One of my favorite quotes from the Whole30 description sums it up well:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Quitting heroin is hard. Beating cancer is hard. Drinking your coffee black. Is. Not. Hard.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The toughest for me was the 3rd obstacle - the wedding of one of my best friends from college. Frankly, I felt a little socially awkward drinking a bottle of water instead of holding a bottle of beer or a glass of wine. I actually did quite well until late into the evening when my friend noticed I hadn&amp;#8217;t been drinking all night. It was hard to say, &amp;#8220;I&amp;#8217;m not drinking on your wedding day because I&amp;#8217;m doing this self-imposed diet challenge.&amp;#8221; I felt worse about disappointing him than any lack of personal enjoyment I might have had from drinking. I &lt;em&gt;did&lt;/em&gt; toast him with one small glass of champagne, but that was the only alcohol I had for the whole month.&lt;/p&gt;

&lt;p&gt;During these difficult social situations, I frequently thought of the tough love from the Whole30 challenge:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;You’re all big boys and girls. Toughen up. Learn to say no (or make your Mom proud and say, “No, thank you”). Learn to stick up for yourself. Just because it’s your sister’s birthday, or your best friend’s wedding, or your company picnic does not mean you &lt;em&gt;have&lt;/em&gt; to eat &lt;em&gt;anything&lt;/em&gt;. It’s &lt;em&gt;always&lt;/em&gt; a choice, and we would hope that you stopped succumbing to peer pressure in 7th grade.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Going out to eat is nearly impossible with the Whole30 rules, so it really forced us to plan ahead and make almost all of our meals at home. We added a ton of wonderful new meals to our recipe book (mostly from the highly-recommended &lt;a href="http://www.amazon.com/Primal-Blueprint-Quick-Easy-Meals/dp/0982207743/ref=sr_1_2?ie=UTF8&amp;amp;qid=1319404318&amp;amp;sr=8-2"&gt;Primal Blueprint Quick and Easy Meals&lt;/a&gt; by Mark Sisson of &lt;a href="http://www.marksdailyapple.com/"&gt;Mark&amp;#8217;s Daily Apple&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;I wasn&amp;#8217;t too hungry most of the time. Eating a lot of protein at every meal allows you to go pretty long without feeling hungry. I even skipped lunch once because of back-to-back meetings and was completely fine (which is not the norm for me). When I got hungry between meals, apples, nuts and hard-boiled eggs make excellent, satiating snacks. When you get hungry on this diet, you just get hungry - you don&amp;#8217;t turn into a carb-craving dizzy hulk.&lt;/p&gt;

&lt;p&gt;I also started seeking out vegetables. When you&amp;#8217;re limited to meat, fruits, vegetables, nuts and seeds, you learn to like vegetables because you know they&amp;#8217;re going to be satiating.&lt;/p&gt;

&lt;h3&gt;The aftermath&lt;/h3&gt;

&lt;p&gt;After I completed the 30 days, I indulged with a day that included Mexican for lunch (burrito, enchilada, chips &amp;amp; salsa), burger &amp;amp; chips for dinner, and several beers. The food and beer were definitely a treat, but I paid for it the next day. My stomach was &lt;em&gt;not&lt;/em&gt; pleased with me and I didn&amp;#8217;t end up going to my morning yoga class as a consequence.&lt;/p&gt;

&lt;p&gt;The most convincing thing for me that this diet is right is not how good I feel while I&amp;#8217;m eating clean (which is pretty good), but just how bad I feel when I&amp;#8217;m eating poorly (which is extremely gassy and bloated). If you&amp;#8217;re eating crap all the time, your body surely gets used to eating inflammatory foods, but I don&amp;#8217;t think your body is going to adapt to a diet of grains and dairy in one lifetime.&lt;/p&gt;

&lt;h3&gt;Keys to success&lt;/h3&gt;

&lt;p&gt;Interested in taking on the challenge yourself? Here are my keys to success:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Do it with your partner - if you&amp;#8217;re living with someone that&amp;#8217;s not eating clean too, it&amp;#8217;s going to be &lt;em&gt;tough&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Identify your biggest obstacles for the month so you can prepare (mostly mentally)&lt;/li&gt;
&lt;li&gt;Get a good paleo cookbook (I highly recommend &lt;a href="http://www.amazon.com/Primal-Blueprint-Quick-Easy-Meals/dp/0982207743/ref=sr_1_2?ie=UTF8&amp;amp;qid=1319404318&amp;amp;sr=8-2"&gt;Primal Blueprint Quick and Easy Meals&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Plan all your meals each week and get everything in one shopping trip&lt;/li&gt;
&lt;li&gt;Get a slow cooker - this was a new device for us and it was a godsend to have tender, seasoned meat ready for us most nights&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Whole 9 Life also recommends not to start a Whole30 challenge over the holidays, but if you start today, your last day will be the day before Thanksgiving. Do it!&lt;/p&gt;

&lt;h3&gt;My intention&lt;/h3&gt;

&lt;p&gt;In yoga, we often start by setting our intention - both for our practice and for the rest of the day. So what do I intend to do now that I&amp;#8217;ve made it through the challenge?&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m going to loosen the reigns on the rules just a bit. I&amp;#8217;ll start drinking a glass or two of wine in the evenings and beer only on social occasions. I&amp;#8217;m going to consider eating some dairy and legumes in moderation (still need to research this a bit more). I&amp;#8217;m not going to worry about trace amounts of sugar in sauces or condiments. When I eat out, I won&amp;#8217;t worry as much about whether the food was cooked in butter or if the sauce has sugar in it.&lt;/p&gt;

&lt;p&gt;But there are some new things that I definitely plan to stick to. I&amp;#8217;ve learned to like my coffee black. I&amp;#8217;m going to avoid diet sodas. I&amp;#8217;m going to stick to cooking eggs with coconut oil rather than PAM. I&amp;#8217;m going to eat more fruits and vegetables.&lt;/p&gt;

&lt;p&gt;Instead of doing a weekly cheat meal or cheat day that many diets recommend, I&amp;#8217;m going to try to have more mindful indulgences. I really like Whole 9&amp;#8217;s take on the cheat day (&lt;a href="http://whole9life.com/2010/11/eating-dirty-1/"&gt;part I&lt;/a&gt; and &lt;a href="http://whole9life.com/2010/11/the-whole9-guide-to-eating-dirty-part-ii/"&gt;part II&lt;/a&gt;). They encourage thinking critically about going &amp;#8220;cheating&amp;#8221;, and enjoying it when you do. The rationale is that your body can handle eating junk on occasion and it&amp;#8217;s simply more practical to enjoy celebrations as they come rather than abstaining just because it&amp;#8217;s not that specific day of the week. It also means no more binging on carbs and candy and spiking my weight by 5 pounds in a single day.&lt;/p&gt;

&lt;p&gt;Finally, I&amp;#8217;m going to continue educating myself on why certain foods are thought to be bad and be more mindful of how food affects me. I&amp;#8217;m curious to find out how sensitive I am to dairy and legumes. I just found out that tomatoes, eggplant and peppers are in the nightshade family, which can be bad for the gut and joints. Excellent! Another category of food that might cause trouble &lt;em&gt;sigh&lt;/em&gt;. The journey is just beginning.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;ve read this far, you might want to &lt;a href="http://twitter.com/#!/coxandrew"&gt;follow me on Twitter&lt;/a&gt;.&lt;/p&gt;</description><link>http://andrewcox.org/post/11861847252</link><guid>http://andrewcox.org/post/11861847252</guid><pubDate>Mon, 24 Oct 2011 08:11:35 -0400</pubDate></item><item><title>"Keep writing down one list of the 5 things you love to do and the 5 things you are good at. They..."</title><description>“Keep writing down one list of the 5 things you love to do and the 5 things you are good at. They will keep changing, but one day they will match up, and there is your path.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Hugh Jackman (via &lt;a href="http://www.guardian.co.uk/books/interactive/2011/oct/14/dear-me-celebrity-letters-extract?CMP=twt_gu"&gt;Dear Me: celebrity letters to their younger selves&lt;/a&gt;)&lt;/em&gt;</description><link>http://andrewcox.org/post/11523925476</link><guid>http://andrewcox.org/post/11523925476</guid><pubDate>Sun, 16 Oct 2011 10:30:39 -0400</pubDate></item><item><title>"At a restaurant last night I told Siri to “remind me to call Mom when I get home” and since she..."</title><description>“At a restaurant last night I told Siri to “remind me to call Mom when I get home” and since she doesn’t know me well yet she asked me to verify my home address. I did that and got the reminder as soon as the geolocation indicated I was home.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;I did not know you could do that. &lt;em&gt;Very&lt;/em&gt; cool. &lt;em&gt;(via &lt;a href="http://www.zdnet.com/blog/mobile-news/iphone-4s-day-1-with-an-android-phone-owner/5014"&gt;iPhone 4S: Day 1 with an Android phone owner&lt;/a&gt;)&lt;/em&gt;&lt;/em&gt;</description><link>http://andrewcox.org/post/11482507043</link><guid>http://andrewcox.org/post/11482507043</guid><pubDate>Sat, 15 Oct 2011 12:47:44 -0400</pubDate></item><item><title>"One of my favourite software development quotes is from W Edwards Deming, who says “Cease..."</title><description>“One of my favourite software development quotes is from W Edwards Deming, who says “Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place.” That means that testing is not a phase to be performed after development is complete. It needs to be done all the time throughout the delivery process by everybody, using techniques such as behaviour-driven development and acceptance test driven development. It also means that quality is not the responsibility of testers - it’s the responsibility of the whole team. Testers are essential to creating high-quality software, but their job is to make the quality of the system transparent, not to be responsible for that quality.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://www.infoq.com/articles/humble-farley-continuous-delivery"&gt;Jez Humble on Continuous Delivery&lt;/a&gt;&lt;/em&gt;</description><link>http://andrewcox.org/post/10261319466</link><guid>http://andrewcox.org/post/10261319466</guid><pubDate>Thu, 15 Sep 2011 21:21:35 -0400</pubDate></item><item><title>Setting up a fresh Rails 3.1 project safely</title><description>&lt;p&gt;So you want to start experimenting with some of the great new &lt;a href="http://weblog.rubyonrails.org/2011/5/22/rails-3-1-release-candidate"&gt;Rails 3.1 features&lt;/a&gt; like the new asset pipeline? Follow these instructions and you&amp;#8217;ll stay out of trouble.&lt;/p&gt;

&lt;p&gt;If you haven&amp;#8217;t already, install &lt;a href="https://rvm.beginrescueend.com/"&gt;rvm&lt;/a&gt;. Then fire up Terminal and follow these simple steps:&lt;/p&gt;

&lt;p&gt;Make sure rvm is up-to-date:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rvm get head
$ rvm reload
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Get the latest Ruby (1.9.2p180 is recommended for Rails 3.1):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rvm install 1.9.2
$ rvm 1.9.2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Get the latest Rails 3.1rc:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gem install rails -v "&amp;gt;=3.1.0rc"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Start a new Rails project:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rails new rails3play
$ cd rails3play
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Set up a new git repository (optional):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ git init
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Create a new rvm project gemset:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rvm --rvmrc --create use 1.9.2@rails3play
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will create a new gemset and project .rvmrc file. Edit the &lt;code&gt;.rvmrc&lt;/code&gt; file and uncomment the line in the bundler section at the bottom to add &lt;code&gt;./bin&lt;/code&gt; to your &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: rvm will only add this directory to your path when you&amp;#8217;re within the project directory, so no worries about it messing up other stuff.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#
# If you use bundler and would like to run bundle each time you enter the
# directory, you can uncomment the following code.
#
export PATH="./bin:$PATH"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is an important step based on the comments from &lt;a href="http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/"&gt;Yehuda&amp;#8217;s blog post about why you should always use &lt;code&gt;bundle exec&lt;/code&gt;&lt;/a&gt;. Read the post and comments if you want all the background, but essentially this allows you to run executables like &lt;code&gt;rake&lt;/code&gt; instead of &lt;code&gt;bundle exec rake&lt;/code&gt; and know that you are running the correct version of &lt;code&gt;rake&lt;/code&gt; based on properly-resolved Bundler dependencies.&lt;/p&gt;

&lt;p&gt;Now you need to leave and re-enter your project&amp;#8217;s directory for the new &lt;code&gt;.rvmrc&lt;/code&gt; settings to apply:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ cd ..
$ cd rails3play
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next, run &lt;code&gt;bundle install&lt;/code&gt; with the &lt;code&gt;--binstubs&lt;/code&gt; flag to create local executable wrappers:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ bundle install --binstubs
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You should now have a new Rails 3.1 project with safe executable gems that respect your Gemfile. Oh, and if you&amp;#8217;re using using git:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ git add .
$ git commit -m "Initial commit"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The conventional wisdom is that you should be checking in your .rvmrc, Gemfile.lock &lt;em&gt;and&lt;/em&gt; the new bin directory, so don&amp;#8217;t worry about adding anything to &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So that&amp;#8217;s that&amp;#8217;s it! Go make something cool! If you run into any problems, hit me up &lt;a href="http://twitter.com/#!/coxandrew"&gt;on twitter&lt;/a&gt;&lt;/p&gt;</description><link>http://andrewcox.org/post/6187261893</link><guid>http://andrewcox.org/post/6187261893</guid><pubDate>Sat, 04 Jun 2011 16:45:00 -0400</pubDate></item><item><title>"What is the humble approach to product design? Pay attention. Notice which things are working and..."</title><description>“What is the humble approach to product design? Pay attention. Notice which things are working and which aren’t. Experiment and iterate. Question your assumptions. Remember that you are wrong about a lot of things. Watch for the signals. Lose your technical and design snobbery. Whatever works, works.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://paulbuchheit.blogspot.com/2008/02/most-import-thing-to-understand-about.html"&gt;Paul Buchheit: The most important thing to understand about new products and startups&lt;/a&gt;&lt;/em&gt;</description><link>http://andrewcox.org/post/5845334743</link><guid>http://andrewcox.org/post/5845334743</guid><pubDate>Wed, 25 May 2011 18:32:01 -0400</pubDate></item><item><title>Work Hard, Play Hard</title><description>&lt;p&gt;I just returned from a week of traveling along the California Coast. When I go on vacation, I&amp;#8217;m usually looking for an opportunity to unwind and recharge. Between the incredible weather and books I brought with me, I succeeded on both counts. Here&amp;#8217;s my reading list from the last week:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.amazon.com/dp/1459612434/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=1459612434&amp;amp;adid=161CRHPPWYXZRGR5X466&amp;amp;"&gt;Brain Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/dp/1585425524/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=1585425524&amp;amp;adid=1QJ1V83HC5A298BAATCF&amp;amp;"&gt;The Now Habit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/dp/0452267560/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=0452267560&amp;amp;adid=1Z07RPJ1YM5AFD4TZ8CD&amp;amp;"&gt;Mastery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/dp/055380684X/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=055380684X&amp;amp;adid=1RCHJ1A2PTHQSRWEK14N&amp;amp;"&gt;The Talent Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Do-the-Work-ebook/dp/B004PGO25O/ref=sr_1_2?ie=UTF8&amp;amp;qid=1305029310&amp;amp;sr=8-2"&gt;Do The Work&lt;/a&gt; (free Kindle edition from &lt;a href="http://www.thedominoproject.com/"&gt;The Domino Project&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/dp/0446691437/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=0446691437&amp;amp;adid=1NY9BWPT4P2E997THVQR&amp;amp;"&gt;The War of Art: Break Through the Blocks and Win Your Inner Creative Battles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The books ended up having a surprisingly consistent theme considering it was just the stack of books I had on my &amp;#8220;to read&amp;#8221; pile. There&amp;#8217;s a lot of overlap between them, but they cover the spectrum from overcoming procrastination to the art of mastering skills.&lt;/p&gt;

&lt;p&gt;If I had to break it down, the basic lessons are:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Make time for the important things like exercise, entertainment and socializing&lt;/li&gt;
&lt;li&gt;Spend the rest of your time focusing on work&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Or, to be more trite, the secret to success is &amp;#8220;work hard, play hard&amp;#8221;. When you&amp;#8217;re relaxing or recharging, make sure you&amp;#8217;re completely committed to it. When you&amp;#8217;re watching TV or playing with your niece, do it with total focus. Don&amp;#8217;t spend your TV time &amp;#8220;working&amp;#8221; on your laptop - you&amp;#8217;ll do both poorly. Make conscious choices with your time and make it count.&lt;/p&gt;

&lt;p&gt;Like all good advice, it sounds like common sense when you hear it. If you want to lose weight, all you need to do is eat less and work out more, right? Similarly, &amp;#8220;work hard, play hard&amp;#8221; is easier said than done. Fortunately, there are tons of great tools and ideas within each of these books to help guide you. There&amp;#8217;s also a healthy dose of inspiration to get you going.&lt;/p&gt;

&lt;h3&gt;Takeaways&lt;/h3&gt;

&lt;p&gt;To get the most out of a book, spend the time to write down what you&amp;#8217;ve learned or what you&amp;#8217;re actually going to &lt;em&gt;do&lt;/em&gt; differently. Here are some of the key bits of information and actions I&amp;#8217;m going to take from these books.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The only way to get better at something is by doing&lt;/li&gt;
&lt;li&gt;Get out of your comfort zone regularly (from &lt;a href="https://www.amazon.com/dp/055380684X/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=055380684X&amp;amp;adid=1RCHJ1A2PTHQSRWEK14N&amp;amp;"&gt;The Talent Code&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make an &amp;#8220;unschedule&amp;#8221; (from &lt;a href="https://www.amazon.com/dp/1585425524/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=1585425524&amp;amp;adid=1QJ1V83HC5A298BAATCF&amp;amp;"&gt;The Now Habit&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Work for at least one uninterrupted hour every morning in my home office&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;If you want a quick dose of inspiration, start with &lt;a href="http://www.amazon.com/Do-the-Work-ebook/dp/B004PGO25O/ref=sr_1_2?ie=UTF8&amp;amp;qid=1305029310&amp;amp;sr=8-2"&gt;Do The Work&lt;/a&gt; (it&amp;#8217;s free!). If that gets you going, I&amp;#8217;d highly recommend picking up &lt;a href="https://www.amazon.com/dp/055380684X/ref=as_li_ss_til?tag=thebarmil-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=055380684X&amp;amp;adid=1RCHJ1A2PTHQSRWEK14N&amp;amp;"&gt;The Talent Code&lt;/a&gt; to learn the best ways to improve your skills. And remember:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Girls only want boyfriends who have great skills.&lt;br/&gt;
  &amp;#8212; Napoleon Dynamite&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://andrewcox.org/post/5359519847</link><guid>http://andrewcox.org/post/5359519847</guid><pubDate>Tue, 10 May 2011 08:46:18 -0400</pubDate></item><item><title>SkillBonsai: the skill tree for your life</title><description>&lt;p&gt;Two weeks ago, &lt;a href="http://jakegoulding.posterous.com/"&gt;Jake Goulding&lt;/a&gt; and I launched &lt;a href="http://skillbonsai.com"&gt;SkillBonsai&lt;/a&gt;. We took the week off work and used the whole staycation to kickstart it. This is an idea that we&amp;#8217;ve been kicking around for a few months now, but decided to make a concerted effort to get things off the ground.&lt;/p&gt;

&lt;h3&gt;What is it?&lt;/h3&gt;

&lt;p&gt;SkillBonsai is a collection of community-created skill trees that guide you through the learning and skill development process. Based on skill or &lt;a href="http://en.wikipedia.org/wiki/Technology_tree"&gt;technology trees&lt;/a&gt; popularized by role-playing games like Diablo, Civilization, or EVE Online, SkillBonsai allows you to level up in real life.&lt;/p&gt;

&lt;p&gt;Decide how to allocate your precious resources and focus your efforts as efficiently as possible. In a video game, you have to decide how to invest your experience points. In real life, you invest your time. SkillBonsai solves two main problems:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;It encourages you to focus on &lt;em&gt;what&lt;/em&gt; skills you want to improve.&lt;/li&gt;
&lt;li&gt;It provides a guided path &lt;em&gt;how&lt;/em&gt; to improve your skills.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Imagine a broad topic like web development. There is a daunting body of knowledge required to become proficient in web development and many different paths you could take. Here&amp;#8217;s a simple view of a web development skill tree (click for full size):&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i.min.us/imS8s4.png" target="_blank"&gt;&lt;img src="http://media.tumblr.com/tumblr_ljc20sdZe61qawu4x.png" alt="Web Development Skill Tree"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each one of those nodes in the tree would give you a sequence of steps to master that topic. Once you complete a node in the tree, more options open up for you to explore. You can either dig deep into Ruby or just learn enough to get started with a Rails app.&lt;/p&gt;

&lt;p&gt;This is just one simple perspective on web development. You could imagine having many different skill trees that provide different slices of technology and skills.&lt;/p&gt;

&lt;h3&gt;Motivation&lt;/h3&gt;

&lt;p&gt;SkillBonsai was born out of the need to know the best resources and methods for learning a new skill. I&amp;#8217;ve always been a self-paced learner. I come by it honestly - my dad taught my sister and me basketball from a book when we were 8 and 6 years old respectively. We didn&amp;#8217;t know the first thing about basketball and didn&amp;#8217;t have a basketball hoop. So, with my dad as coach and a book as our guide, we focused on the fundamentals in our basement: ball handling, passing, and defense. I didn&amp;#8217;t turn out to be the best basketball player in the world, but those fundamentals gave me an edge for years to come. Now, every time I want to learn a new skill, Amazon is my first stop.&lt;/p&gt;

&lt;p&gt;In the new year, I decided that I wanted to &lt;a href="http://andrewcox.org/post/2618317483/my-2011-foci"&gt;make a deliberate attempt&lt;/a&gt; to get better at web development with a specific focus on Ruby, Rails and Design. After reading &lt;a href="http://www.amazon.com/Art-Learning-Journey-Optimal-Performance/dp/0743277465/"&gt;The Art of Learning&lt;/a&gt;, I&amp;#8217;ve become convinced that learning and &lt;em&gt;mastering&lt;/em&gt; the fundamentals is key for excelling in anything. I was determined to get down to the fundamentals and make time for deliberate practice. &lt;em&gt;Deliberate&lt;/em&gt; is the key here. And, in order to make the most of my practice time, I needed to know the right skills  and resources to learn them.&lt;/p&gt;

&lt;p&gt;Though I&amp;#8217;ve been using Photoshop for over 10 years now (it feels weird to say that), I can&amp;#8217;t say I&amp;#8217;ve ever mastered some of the fundamentals like paths and layer masks. I was ready to go back to the basics and really master these tools so I could get to the next level.&lt;/p&gt;

&lt;p&gt;Amazon didn&amp;#8217;t seem to have clear cut answers on &lt;em&gt;the best&lt;/em&gt; books for my specific needs, so I &lt;a href="http://www.quora.com/What-are-the-best-Photoshop-books-for-web-design"&gt;asked Quora for advice&lt;/a&gt;. I asked what the best books were for learning the fundamentals of Photoshop for web design; specifically &lt;em&gt;not&lt;/em&gt; Photoshop for photographers.&lt;/p&gt;

&lt;p&gt;The first response pointed to two books for photographers (not what I asked for), but then there were additional recommendations for screencasts from &lt;a href="http://www.cs5.tv/"&gt;Adobe TV&lt;/a&gt; and &lt;a href="http://lynda.com"&gt;Lynda.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This was like a lightbulb going off for me. Not only was it difficult to find an &amp;#8220;authoritative&amp;#8221; source for learning progression and resources, but there really are a wide variety of learning methods beyond books. At the very least, there are:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Books&lt;/li&gt;
&lt;li&gt;Screencasts (e.g. &lt;a href="http://lynda.com"&gt;Lynda.com&lt;/a&gt;, &lt;a href="http://railscasts.com"&gt;Railscasts&lt;/a&gt;, &lt;a href="http://peepcode.com"&gt;PeepCode&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Articles (e.g. blog posts, academic papers, eBooks)&lt;/li&gt;
&lt;li&gt;Practice (e.g. &lt;a href="http://codekata.pragprog.com/"&gt;katas&lt;/a&gt;, &lt;a href="http://rubykoans.com/"&gt;koans&lt;/a&gt;, &lt;a href="http://www.coderetreat.com/"&gt;code retreats&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Training classes (&lt;a href="http://thecompleatrubyist.com/"&gt;The Compleat Rubyist&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Mentorships (e.g. &lt;a href="http://university.rubymendicant.com/"&gt;Ruby Mendicant University&lt;/a&gt;, &lt;a href="http://p2pu.org/"&gt;P2PU&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;By combining the skill tree concept with a list of the best available resources, I think we could have something.&lt;/p&gt;

&lt;h3&gt;Next steps&lt;/h3&gt;

&lt;p&gt;It is still in the very early stages, but you can &lt;a href="http://signup.skillbonsai.com/"&gt;sign up to secure a place in line&lt;/a&gt; to be a beta tester. We&amp;#8217;re following the &lt;a href="http://theleanstartup.com/"&gt;Lean Startup&lt;/a&gt; methodology for Customer Development on top of &lt;a href="http://agilemanifesto.org/"&gt;Agile&lt;/a&gt; Product Development. This means we will be shipping early and often to build something of real value to the community. If this idea sounds useful to use, please &lt;a href="http://signup.skillbonsai.com"&gt;sign up&lt;/a&gt; and help guide us in the right direction.&lt;/p&gt;</description><link>http://andrewcox.org/post/4524948172</link><guid>http://andrewcox.org/post/4524948172</guid><pubDate>Mon, 11 Apr 2011 08:41:14 -0400</pubDate></item><item><title>The "Saturday Morning Laundry" secret to productivity</title><description>&lt;p&gt;I do laundry early most Saturday mornings. It&amp;#8217;s a ritual.&lt;/p&gt;

&lt;p&gt;Why is that interesting? Because it has an amazing effect on my weekend productivity. It&amp;#8217;s easy to do and I feel an inordinate amount of accomplishment when I&amp;#8217;m done.&lt;/p&gt;

&lt;p&gt;I noticed about a year ago how the simple act of putting clothes into the wash automatically jump starts me to do other productive things. I start picking things up around the house, writing some code, or doing something else that just needs to get done. A sense of accomplishment begets productivity.&lt;/p&gt;

&lt;p&gt;The Saturday morning laundry keys to success:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Start early (I try to put the first load in by 9:00am)&lt;/li&gt;
&lt;li&gt;Fold and put away clothes when they&amp;#8217;re done&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Easy, right? That second step is important. You have to finish the task. Sometimes, I&amp;#8217;ll do my laundry, but fail to actually fold and put it away. Then I have to sift through my laundry basket for clothes throughout the week. It&amp;#8217;s inconvenient and oddly demotivating. Each morning, it reminds me that I didn&amp;#8217;t follow through with a simple task. On the flip side, for some reason it just feels really nice to reach into a full drawer of clean clothes and get dressed in the morning without hassle.&lt;/p&gt;

&lt;p&gt;One common reactioin I&amp;#8217;ve heard to this theory when I&amp;#8217;ve told people about it is, &amp;#8220;Why do you need to be productive on a weekend?&amp;#8221; While being productive is probably not the best goal for a weekend, there are usually at least a few things that I&amp;#8217;d like to get done. If I can use the spark created by doing my laundry, I can knock them off the list early and truly relax for the rest of the weekend.&lt;/p&gt;

&lt;p&gt;So how can you use this idea in your work life? What &amp;#8220;Saturday morning laundry&amp;#8221; can you do to start your work day? Try to accomplish just &lt;em&gt;one&lt;/em&gt; thing before checking your email in the morning. It doesn&amp;#8217;t have to be big, but you have to finish it. The effect on your motivation will be considerable.&lt;/p&gt;</description><link>http://andrewcox.org/post/4466733777</link><guid>http://andrewcox.org/post/4466733777</guid><pubDate>Sat, 09 Apr 2011 10:29:00 -0400</pubDate><category>productivity</category></item><item><title>"Be regular and orderly in your life, so that you may be violent and original in your work."</title><description>““Be regular and orderly in your life, so that you may be violent and original in your work.””&lt;br/&gt;&lt;br/&gt; - &lt;em&gt; Gustave Flaubert&lt;/em&gt;</description><link>http://andrewcox.org/post/4375065336</link><guid>http://andrewcox.org/post/4375065336</guid><pubDate>Tue, 05 Apr 2011 18:20:35 -0400</pubDate></item><item><title>How to Make Lots of Money During a Recession</title><description>&lt;a href="http://www.stevepavlina.com/blog/2008/12/how-to-make-lots-of-money-during-a-recession/"&gt;How to Make Lots of Money During a Recession&lt;/a&gt;: &lt;p&gt;(via &lt;a href="http://www.instapaper.com/"&gt;Instapaper&lt;/a&gt;)&lt;/p&gt;</description><link>http://andrewcox.org/post/4282540086</link><guid>http://andrewcox.org/post/4282540086</guid><pubDate>Sat, 02 Apr 2011 13:30:29 -0400</pubDate></item><item><title>Game Deaths (by boingboingvideo)</title><description>&lt;iframe width="400" height="245" src="http://www.youtube.com/embed/gJ6APKIjFQY?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Game Deaths (by &lt;a href="http://www.youtube.com/watch?v=gJ6APKIjFQY"&gt;boingboingvideo&lt;/a&gt;)&lt;/p&gt;</description><link>http://andrewcox.org/post/4183274321</link><guid>http://andrewcox.org/post/4183274321</guid><pubDate>Tue, 29 Mar 2011 08:33:53 -0400</pubDate></item><item><title>laughingsquid:

Red Pandas Playing In The Snow</title><description>&lt;iframe width="400" height="243" src="http://www.youtube.com/embed/y6GaPkkGZGw?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://links.laughingsquid.com/post/3970117063" class="tumblr_blog"&gt;laughingsquid&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://laughingsquid.com/red-pandas-playing-in-the-snow/"&gt;Red Pandas Playing In The Snow&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://andrewcox.org/post/4114470991</link><guid>http://andrewcox.org/post/4114470991</guid><pubDate>Sat, 26 Mar 2011 15:52:41 -0400</pubDate></item></channel></rss>

