<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title type="text">Big Bang Technology Blog</title>
  <subtitle type="text">Big Bang Technology Blog:</subtitle>
  <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/blog" />
  
  <updated>2019-05-13T00:00:00+00:00</updated>
  <rights>Copyright (c) 2013, Cameron Westland</rights>
  <id>tag:bigbangtechnology.com,2013:05:19</id>

  
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/bigbangtechnology" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="bigbangtechnology" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>Installing Postgresql for use with Rails 3.x using Homebrew on Mac OS X Lion</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/installing_postgresql_on_mac_os_x/" />
    <id>http://bigbangtechnology.compost/installing-postgresql-on-mac-os</id>
    <updated>2012-05-18T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Tutorials" scheme="http://bigbangtechnology.com/categories/tutorials.html" label="Tutorials" />
    

    <content type="html">
      
        
          &lt;p&gt;This installation process has always frustrated me and I always do something wrong. I decided to finally document it.
&lt;/p&gt;
        

          &lt;h4&gt;Pre-Requisites&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;Make sure that &lt;a href="https://github.com/mxcl/homebrew" target="_blank"&gt;Homebrew&lt;/a&gt; is installed and &lt;strong&gt;`brew doctor`&lt;/strong&gt; is happy.&lt;/li&gt;
    &lt;li&gt;Make sure &lt;a href="https://rvm.io/" target="_blank"&gt;rvm&lt;/a&gt; (or equivalent) is installed and configured.&lt;/li&gt;
    &lt;li&gt;You know how to edit files in terminal and are comfortable using sudo.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h4&gt;Installation&lt;/h4&gt;
  &lt;p&gt;
    The biggest gotcha is that by default OS X Lion comes with postgres installed already. 
    It resides in &lt;strong&gt;/usr/bin&lt;/strong&gt; which by default takes precedence over &lt;strong&gt;/usr/local/bin/&lt;/strong&gt; which is 
    where homebrew will install postgres. To fix this edit /etc/paths to order &lt;strong&gt;/usr/local/bin&lt;/strong&gt; 
    above &lt;strong&gt;/usr/bin&lt;/strong&gt;. Your file should look like this:
  &lt;/p&gt;

  &lt;script src="https://gist.github.com/2910413.js"&gt; &lt;/script&gt;
  &lt;p&gt;&lt;strong&gt;*Note:&lt;/strong&gt; You'll need to use sudo to edit this file.&lt;/p&gt;

  &lt;h4&gt;Install postgres using homebrew&lt;/h4&gt;
  &lt;script src="https://gist.github.com/2910420.js"&gt; &lt;/script&gt;

  &lt;h4&gt;Follow all installation instructions&lt;/h4&gt;
  &lt;p&gt;Make sure you pay attention to the output after installing via homebrew. You need to make sure you've done the following before proceeding:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Initialize the database&lt;/li&gt;
    &lt;li&gt;Setup the server to run using launch&lt;/li&gt;
    &lt;li&gt;Install the pg gem using the proper arguments&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h4&gt;Verify paths are correct&lt;/h4&gt;
  &lt;script src="https://gist.github.com/2910433.js"&gt; &lt;/script&gt;
  &lt;p&gt;&lt;strong&gt;*Note:&lt;/strong&gt; If this command returns something different you may need to restart your terminal session or double check the steps above.&lt;/p&gt;

  &lt;h4&gt;Create admin user&lt;/h4&gt;
  &lt;script src="https://gist.github.com/2910435.js"&gt; &lt;/script&gt;

  &lt;h4&gt;Add pg gem to Gemfile&lt;/h4&gt;
  &lt;p&gt;&lt;strong&gt;gem 'pg'&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;*Note:&lt;/strong&gt; Make sure to remove any other database adapters such as sqlite.&lt;/p&gt;
  &lt;script src="https://gist.github.com/2910441.js"&gt; &lt;/script&gt;

  &lt;h4&gt;Add database details to the config/database.rb&lt;/h4&gt;
  &lt;script src="https://gist.github.com/2910447.js"&gt; &lt;/script&gt;
  &lt;p&gt;&lt;strong&gt;*Note:&lt;/strong&gt; my_rails_app should be the name of the user you created above.&lt;/p&gt;

  &lt;h4&gt;Test &amp; Verify&lt;/h4&gt;
  &lt;script src="https://gist.github.com/2910450.js"&gt; &lt;/script&gt;
  &lt;p&gt;&lt;strong&gt;*Note:&lt;/strong&gt; If this returns without errors then you've done everything correctly!&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/HybXH44BcyU" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Javascript Hack Night #10
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/javascript_hack_night_10/" />
    <id>http://bigbangtechnology.compost/javascript_hack_night_10</id>
    <updated>2012-04-09T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Community" scheme="http://bigbangtechnology.com/categories/community.html" label="Community" />
    

    <content type="html">
      
        
          &lt;p&gt;Hey folks, I wanted you to know that I'm not going to be facilitating this
months Javascript Hack Night as I'll be unavailable Tuesday night, my partner
Max Cameron will be here though and everything else is business as usual.
Feel free to bring your own ideas or come with an open mind willing to help
others with their project. Hit up &lt;a href="http://www.meetup.com/torontojshackers/events/52112802/"&gt;the meetup page&lt;/a&gt;
for more details.
&lt;/p&gt;
        

        &lt;h4&gt;Facts:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.google.com/maps?q=642+king+street+west+toronto&amp;hl=en&amp;sll=37.0625,-95.677068&amp;sspn=43.528905,79.013672&amp;t=v&amp;hnear=642+King+St+W,+Toronto,+Toronto+Division,+Ontario,+Canada&amp;z=16"&gt;Big Bang Technology HQ - 642 King Street West&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tuesday April 9th at 6:30 PM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you there!&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/iIQmTOz1UGY" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Effectively owning your roadmap</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/owning_your_roadmap/" />
    <id>http://bigbangtechnology.compost/roadmapping_with_influence</id>
    <updated>2012-03-25T00:00:00+00:00</updated>

    

    <author>
      <name>Dave Banks</name>
      <email>davebanks@bigbangtechnology.com</email>
    </author>

    
    <category term="Community" scheme="http://bigbangtechnology.com/categories/community.html" label="Community" />
    
    <category term="Project Management" scheme="http://bigbangtechnology.com/categories/project_management.html" label="Project Management" />
    
    <category term="Startup 101" scheme="http://bigbangtechnology.com/categories/startup_101.html" label="Startup 101" />
    

    <content type="html">
      
        
          &lt;p&gt;A few good tricks to help you maintain influence over your product roadmap.
&lt;/p&gt;
        

        &lt;p&gt;As products grow balancing the feature requests from customers and internal stakeholders can become increasingly difficult. The more people involved, the longer the list gets and the harder it becomes to identify what the most important things to focus on are.&lt;/p&gt;

&lt;p&gt;It can be even more of a challenge convincing those that hold the purse strings to sign off and give you the resources you need to execute. If you are a Product Manager like me, you may not have the authority to make these decisions on your own but it is your job to know and advocate for what is best for the product. So to ensure your next planning session produces a roadmap that everybody is happy and committed to, take a look at some of the persuasion techniques outlined in &lt;a href= "http://www.amazon.ca/Influence-Psychology-Persuasion-Robert-Cialdini/dp/006124189X/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1331068933&amp;sr=1-1"&gt;Influence: The Psychology of Persuasion&lt;/a&gt;. This book is primarily targeted at sales professionals but is full of great ideas for the software pro as well. 

&lt;h4&gt;Commitment and Consistency&lt;/h4&gt; 

&lt;p&gt;Engage the decision makers. One of the most effective ways to earn trust and reach an agreement is to involve the stakeholders in the process. This doesn't have to be complicated, for example when it comes time for planning here at Big Bang we like to write each feature/release down on sticky notes and then work together to prioritize them. This is a common practice in the agile development community and is not only a quick way to get organized but by getting stakeholders to physically write things down and agree on the priority they are far more likely to honour that commitment... even if the estimates or cost do change a bit in the future. The more people that witness the commitment the better so don’t be afraid to post their work on the wall where everyone will see it.&lt;/p&gt;

&lt;h4&gt;Liking&lt;/h4&gt;
&lt;p&gt;People tend to be easily persuaded by others that they like or respect. If a key stakeholder is a little unsure find a second opinion from someone the stakeholder often looks to for advice or guidance. If they can see that others that they respect are on-board it will make it much easier for them to make the commitment. &lt;/p&gt;

&lt;h4&gt;Scarcity&lt;/h4&gt;
&lt;p&gt;Create the opportunity to make the required decisions. Whether it is a “new” opening in the release calendar or some newly available resources, creating that “limited time offer” will help generate the necessity to act quickly in order to take advantage of the opportunity.&lt;/p&gt;

&lt;h4&gt;Social Proof&lt;/h4&gt;
&lt;p&gt;If you are in catch up mode or are finding it hard to compete use this to your advantage. Your VP or CEO may not be aware of your platforms vulnerabilities. If there is something others have that your product needs, don’t be afraid to show your stakeholders how and where you are exposed. If a feature has already been validated in the market there is less risk associated with the commitment making it an easier decision one to make. If others are doing it, it is much easier to follow than to trail blaze. &lt;/p&gt;

&lt;h4&gt;Reciprocity&lt;/h4&gt;
&lt;p&gt;Sometimes you need to give in order to receive. During your next planning session don’t be afraid to ask for more features and releases then you are prepared to settle for. By asking for more, getting shot down and then retreating to your initial stance  you are likely to be more successful and get buy in for what you really wanted all along. Being able to make a concession or 2 to the other party their natural instinct is going to be to find a way to return the favour. By following up with a smaller option your stakeholder will be more likely to agree and repay you after they have taken other items off the table. &lt;/p&gt;

&lt;p&gt;So the next time you are walking into that big meeting, keep a few of these ideas in your back pocket and you will no doubt emerge successful.&lt;/p&gt;
      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/9dJNUCd2OWc" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Javascript Hack Night #9: Spring Time!
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/javascript_hack_night_9/" />
    <id>http://bigbangtechnology.compost/javascript_hack_night_9</id>
    <updated>2012-03-12T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Community" scheme="http://bigbangtechnology.com/categories/community.html" label="Community" />
    

    <content type="html">
      
        
          &lt;p&gt;Don&amp;apos;t let the beautiful weather deter you from hacking on Javascript.
This month we&amp;apos;re doing a regular evening of pizza and programming.
Feel free to bring your own ideas or come with an open mind willing to help
others with their project. Hit up &lt;a href="http://www.meetup.com/torontojshackers/events/52112802/"&gt;the meetup page&lt;/a&gt;
for more details.
&lt;/p&gt;
        

        &lt;h4&gt;Facts:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.google.com/maps?q=642+king+street+west+toronto&amp;hl=en&amp;sll=37.0625,-95.677068&amp;sspn=43.528905,79.013672&amp;t=v&amp;hnear=642+King+St+W,+Toronto,+Toronto+Division,+Ontario,+Canada&amp;z=16"&gt;Big Bang Technology HQ - 642 King Street West&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tuesday March 13th at 6:30 PM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you there!&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/Pt-LYV5kDsI" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 10</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_10/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_10</id>
    <updated>2012-03-07T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;This Week: Design, HTML5, Rails, Dev-Ops, iPad, Privacy Policy
&lt;/p&gt;
        

        &lt;h4&gt;Design&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://thew.me/writing/developers-should-design/"&gt;Developers Should Design&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am trying to build a company full of developers like this.&lt;/p&gt;

&lt;h4&gt;HTML5&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://clear.youyuxi.com/"&gt;HTML5 Clear&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It's definitely not as polished as the Objective-C version but this shows that we're not that far off.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/"&gt;Replacing the -9999px Hack&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A better way of doing the -9999px hack.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.twilio.com/engineering/2012/03/05/open-sourcing-bankersbox"&gt;Open Sourcing BankersBox&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seems like a much cleaner way of interacting with LocalStorage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/CardinalPath/gas"&gt;CardinalPath / gas&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A better way of working with the GA JavaScript API.&lt;/p&gt;

&lt;h4&gt;Rails&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://afreshcup.com/home/2012/3/5/double-shot-831.html"&gt;Rails Master GitHub Security Mess&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The best overview of the situation from &lt;a href="http://afreshcup.com/"&gt;Mike Gunderloy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblog.rubyonrails.org/2012/2/26/edge-rails-patch-is-the-new-primary-http-method-for-updates"&gt;Edge Rails: PATCH is the new primary HTTP method for updates&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I will embrace this change. PATCH is the right way to think about this type of interaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/jfirebaugh/konacha"&gt;jfirebaugh / konacha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Integrate the fantastic Mocha testing framework into your Rails stack.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/atmos/smeagol"&gt;atmos / smeagol&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I think this will greatly decrease the cost of setting up a new developer workstation.&lt;/p&gt;

&lt;h4&gt;iPad&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://zchristopoulos.com/2012/02/how-to-disable-ipad-home-button-kioskstore-demo-mode/"&gt;How to Disable iPad Home Button (Kiosk/Store Demo Mode)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Self-Explanatory&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.macworld.com/article/165563/2012/02/photoshop_touch_app_arrives_for_the_ipad.html"&gt;Photoshop Touch app arrives for the iPad&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Another step towards world domination for the iPad.&lt;/p&gt;

&lt;h4&gt;Privacy Policy&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/tumblr/policy"&gt;tumblr / policy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A great way of showing changes to your privacy policy by using GitHub.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.iubenda.com/en"&gt;iubenda - privacy policy generator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hey man, you've got a privacy policy in your privacy policy.&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/2NX_IaRGB6Q" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>An Async Experiment</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/an_async_experiment/" />
    <id>http://bigbangtechnology.compost/an_async_experiment</id>
    <updated>2012-02-27T00:00:00+00:00</updated>

    

    <author>
      <name>Adam Doeler</name>
      <email>adam@bigbangtechnology.com</email>
    </author>

    
    <category term="Startup 101" scheme="http://bigbangtechnology.com/categories/startup_101.html" label="Startup 101" />
    
    <category term="Community" scheme="http://bigbangtechnology.com/categories/community.html" label="Community" />
    

    <content type="html">
      
        
          &lt;p&gt;Or: How we let our agile team work remotely and asynchronously.
&lt;/p&gt;
        

        &lt;p&gt;As our team grows, it’s become apparent that not everyone is necessarily ready to drop bombs at 9am sharp. During one of our recent &lt;a href="http://www.ianburgess.me.uk/en/software-development/agile-retrospective-lessons-learned"&gt;retrospectives&lt;/a&gt;, we identified several “&lt;a href="http://en.wikipedia.org/wiki/Sacred_cow_(idiom)"&gt;sacred cows&lt;/a&gt;” that were regimenting our work. One of them happened to be our nine-to-five workday. So we decided to slay it.&lt;/p&gt;

&lt;p&gt;And since we LOVE experiments, we decided to to break our highly controversial, never imitated, nine-to-five workday to see if a less structured schedule would improve morale and help us work more effectively.&lt;/p&gt;

&lt;p&gt;The basic ground rules are simple:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We’re still working 40 hours per week, slackers!&lt;/li&gt;
	&lt;li&gt;Come in whenever you want, or work from home&lt;/li&gt;
	&lt;li&gt;When working, you must be hanging out in the Campfire room&lt;/li&gt;
	&lt;li&gt;Ask for help if you are blocked - &lt;a href="http://bigbangtechnology.com/post/why_we_dont_work_overtime/"&gt;still no heroes here&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Our weekly iteration goal is whatever our &lt;a href="http://www.pivotaltracker.com/help#whatisvelocity"&gt;natural velocity&lt;/a&gt; is&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://twitter.com/#!/davehbanks"&gt;Dave Huntington Banks&lt;/a&gt;, the Product Manager, controls task priority&lt;/li&gt;
	&lt;li&gt;When you start your day, tell the gang what you did yesterday, what’s blocking you, and &lt;a href="http://bigbangtechnology.com/post/doing_the_board1/"&gt;what you’re going to do today&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Check the calendar for important company events so you don’t look like an ass walking into someone’s presentation&lt;/li&gt;
	&lt;li&gt;If you are not in the office for an important event, we’ll Skype you in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And most importantly...&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Be here Mondays at Noon if you want to participate in our world famous company lunch!&lt;/li&gt;
	&lt;li&gt;Be here every second Friday for our retrospective&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The team is responding quite well to this experiment, and we definitely have an interesting mix of early risers, with others coming in later. (Personally, I’m mixing it up to find my groove.)  We’ve also noticed some pains, but nothing mission critical yet. Watch for a post-mortem once we’ve let the experiment play out for a few more weeks.&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/L5p6MlO3M00" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 9</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_9/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_9</id>
    <updated>2012-02-22T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;This Week: An Essential Video, Static Analysis Tools, Web Developer, Community, Rails, Design, Misc
&lt;/p&gt;
        

        &lt;h4&gt;Essential Video&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://vimeo.com/36579366"&gt;Bret Victor - Inventing on Principle&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  Are you a craftsmen focused on skills? How about a problem solver focused 
  on the opportunities? Are you willing to take responsibility for a principle 
  and become an activist? This mind-blowing video will force you to question 
  what you spend your time doing and why.
 &lt;/p&gt;

&lt;h4&gt;Static Analysis Tools&lt;/h4&gt;

&lt;p&gt;
  &lt;a href="http://twitter.com/amckinnell"&gt;Alistair McKinnell&lt;/a&gt; and 
  &lt;a href="http://twitter.com/jpcky"&gt;Jason Cheong-Kee-You&lt;/a&gt; gave a great talk
  last night at &lt;a href="http://xptoronto.com"&gt;XP Toronto&lt;/a&gt; on Commonality and
  Variability. The big takeaway was you should be using static analysis to find
  code smells and make them visible to your team. I've compiled a list of the best
  tools currently available for modern Ruby projects.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/colszowka/simplecov"&gt;colszowka/simplecov&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://corner.squareup.com/2012/02/cane.html"&gt;square/cane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/codegram/pelusa"&gt;codegram/pelusa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codeclimate.com/"&gt;Code Climate&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Web Developer&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://darcyclarke.me/development/front-end-job-interview-questions/"&gt;Front-end Job Interview Questions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  Saved for reference. I'm sure we'll ask some of these questions in our next 
  job interview. Thanks to my friend &lt;a href="http://twitter.com/darcy_clarke"&gt;Darcy&lt;/a&gt; 
  for doing all the hard work for me.
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://labs.kojo.com.au/flickable-zepto-plugin/"&gt;Flickable.js&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More and more evidence that native apps are overkill for most problems.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://lostechies.com/derekgreer/2012/02/17/javascript-closures-explained/"&gt;JavaScript Closures Explained&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you're just getting started with JavaScript closures can be very confusing. Here is yet another blog post explaining them in detail.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://javascriptweblog.wordpress.com/2011/05/31/a-fresh-look-at-javascript-mixins"&gt;A fresh look at JavaScript Mixins&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A great way to write testable and maintainable Javascript. Used heavily by our friends &lt;a href="http://twitter.com/danwrong"&gt;Dan Wrong&lt;/a&gt; and &lt;a href="http://twitter.com/angustweets"&gt;Angus Croll&lt;/a&gt; at Twitter.&lt;/p&gt;

&lt;h4&gt;Community&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://www.mikealrogers.com/posts/face-of-the-faceless.html"&gt;Face of the Faceless&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A great argument for putting your open source projects on an individual account instead of on an organization account.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://remysharp.com/2012/02/09/vendor-prefixes-about-to-go-south/"&gt;Vendor Prefixes - about to go south&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Probably the best starting point to build context on the vendor prefixes issue.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.alistapart.com/articles/the-vendor-prefix-predicament-alas-eric-meyer-interviews-tantek-celik/"&gt;The Vendor Prefix Predicament: ALA’s Eric Meyer Interviews Tantek Çelik&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Another take on the vendor prefix issue, this time an interview with &lt;a href="http://twitter.com/t"&gt;Tantek&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Rails&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/rumblelabs/asset_sync"&gt;rumblelabs/asset_sync&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A sweet way to sync your assets over to S3 when you pre-compile them. Designed for use with &lt;a href="http://heroku.com"&gt;Heroku&lt;/a&gt;. We'll probably get this to work very easily with &lt;a href="http://aws.amazon.com/cloudfront/"&gt;CloudFront&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/radar/guides/blob/master/gem-development.md"&gt;Developing a RubyGem using Bundler&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I keep looking for this when I need it. Saved for reference.&lt;/p&gt;

&lt;h4&gt;Design&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://37signals.com/svn/posts/3111-basecamp-next-ui-preview"&gt;Basecamp Next: UI Preview&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You might think client side MVC is the only way to build websites these days but you'd be dead wrong. &lt;a href="http://37signals.com"&gt;37signals&lt;/a&gt; shows time and time again that simplicity and developer happiness are the only things worth optimizing for.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.offscreenmag.com/"&gt;Offscreen Magazine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Physical media of the best kind.&lt;/p&gt;

&lt;h4&gt;Misc&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://rubyconf-webmachine.heroku.com/"&gt;Presentation about RubyMachine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'd like to try building a small app in this.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://julialang.org/blog/2012/02/why-we-created-julia/"&gt;Why We Created Julia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This new programming language seems to have lofty goals, but it also seems frickin' badass. Bring it on!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://kennethreitz.com/xcode-gcc-and-homebrew.html"&gt;Xcode, GCC, and Homebrew&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What a great story. I'm a big fan of the smaller &lt;a href="https://github.com/kennethreitz/osx-gcc-installer"&gt;osx-gcc-installer&lt;/a&gt; and the fact that this is now an officially supported project by &lt;a href="http://apple.com"&gt;Apple&lt;/a&gt; is even better.&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/wQsQ3GDa12U" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Javascript Hack Night #8: HTML5 Video
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/javascript_hack_night_8_html5_video/" />
    <id>http://bigbangtechnology.compost/javascript_hack_night_8_html5_video</id>
    <updated>2012-02-13T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Community" scheme="http://bigbangtechnology.com/categories/community.html" label="Community" />
    

    <content type="html">
      
        
          &lt;p&gt;This month my friend &lt;a href="https://twitter.com/#!/wesbos"&gt;Wes Bos&lt;/a&gt; is giving a short
talk about HTML5 video to kick things off. This is a small deviation from the normal
hack nights. We're hoping that it will give a little bit of focus to the night and
let people try things out with video. Hit up &lt;a href="http://www.meetup.com/torontojshackers/events/48357232/"&gt;the meetup page&lt;/a&gt;
for more details.
&lt;/p&gt;
        

        &lt;h4&gt;Facts:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.google.com/maps?q=642+king+street+west+toronto&amp;hl=en&amp;sll=37.0625,-95.677068&amp;sspn=43.528905,79.013672&amp;t=v&amp;hnear=642+King+St+W,+Toronto,+Toronto+Division,+Ontario,+Canada&amp;z=16"&gt;Big Bang Technology HQ - 642 King Street West&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wednesday February 15th at 6:30 PM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you there!&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/EHPtYEnyY_g" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 8</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_8/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_8</id>
    <updated>2012-02-08T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;This Week: Essential Reading, Testing, Ruby/Rails, Database, Javascript, Design&lt;/p&gt;
        

        &lt;h4&gt;Essential Reading&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://www.startuplessonslearned.com/2012/02/hacker-way.html?m=1"&gt;The Hacker Way&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Essential Reading.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://chrome.blogspot.com/2012/02/introducing-chrome-for-android.html"&gt;Introducing Chrome for Android&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I hope this spurs some competition from Apple. I'd love to use that remote debugging everywhere.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://playbook.thoughtbot.com/"&gt;thoughtbot presents: The Playbook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Noticed a bunch of new improvements on the playbook. Very inspiring.&lt;/p&gt;

&lt;h4&gt;Testing&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://robots.thoughtbot.com/post/16927767228/decoupling-data-from-presentation"&gt;Decoupling Data from Presentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm not a fan of using data-attributes for this purpose but it's an interesting take. Storing state in data-attributes always seems so non-semantic to me.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://solnic.eu/2012/02/02/yes-you-should-write-controller-tests.html"&gt;Yes, You Should Write Controller Tests!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yes. Yes you should.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://johnwilger.com/blog/2012/01/21/acceptance-and-integration-testing-with-kookaburra/"&gt;Acceptance and Integration Testing With Kookaburra&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I feel like I dreamt about this after reading the same book. This is killer, I can see even non-developers using the Domain Driver.&lt;/p&gt;

&lt;h4&gt;Ruby/Rails&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/ileitch/hijack"&gt;ileitch / hijack&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm not sure where I would use this, but I have a feeling I should save it for reference.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/josevalim/active_model_serializers"&gt;josevalim / active_model_serializers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I really want these to be in Rails. In any case I really want to convert our application to use them. Great idea.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/assembler/browsernizer"&gt;assembler / browsernizer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An easy way to inform people that they need to upgrade their browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://rubyreloaded.com/trickshots/"&gt;Ruby Trick Shots&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cool tips that you may not know about Ruby.&lt;/p&gt;

&lt;h4&gt;Database&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://bostonio-postgres.herokuapp.com/#1"&gt;PostgreSQL by Harold Giménez&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cool Presentation on PostgreSQL. Thanks to &lt;a href="http://twitter.com/releod"&gt;@releod&lt;/a&gt; for tweeting it.&lt;/p&gt;

&lt;h4&gt;VIM&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://blog.sanctum.geek.nz/vim-anti-patterns/"&gt;Vim anti-patterns&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I do basically everything that they say you should not. Slowly...weaning...&lt;/p&gt;

&lt;h4&gt;JavaScript&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://raw.github.com/gist/1732351/394300e27f56afd4f49476df79f7c90284f03d27/backbone-ember-back-and-forth-transcript.txt"&gt;Backbone versus Ember Transcript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Long and civil argument between wycats and jashkenas. Very very interesting.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://visionmedia.github.com/uikit/"&gt;UIkit Modern UI components for the modern web&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some of these components are pretty sweet. I can see myself using them on new projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://javascriptjabber.com/?utm_source=javascriptweekly&amp;utm_medium=email"&gt;JavaScript Jabber&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;New weekly JavaScript podcast.&lt;/p&gt;

&lt;h4&gt;Design&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/engineyard/engineyard-theme"&gt;engineyard / engineyard-theme&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is an interesting way to make your theme easily includable in other projects. We're following this approach for our next redesign of Woople.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.quora.com/Whats-the-difference-between-a-dashboard-and-an-activity-stream-feed"&gt;What's the difference between a dashboard and an activity stream/feed?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Surprisingly interesting thread. Last version of Woople we basically called everything a dashboard. Next version we be much clearer.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://pea.rs/"&gt;Pears&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was a little confused at first thinking this was another html/css framework. It's actually much better, a framework for documenting your framework. Huzzah!&lt;/p&gt;


      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/EIDYqCTs6ik" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 7</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_7/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_7</id>
    <updated>2012-01-31T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;This Week: Testing, Front-End, Back-End, Reference, Teamwork&lt;/p&gt;
        

        &lt;h4&gt;Testing&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/commondream/tconsole"&gt;commondream/tconsole&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seems like a great way to remove the startup overhead without hassling with the configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.emmanueloga.com/2011/07/26/taming-a-capybara.html"&gt;Taming a Capybara - Emmanuel Oga's Software and Stuff&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More on getting capybara to run smoothly. I'm glad the community is sharing these sorts of things, we're definitely benefiting from it.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.makinggoodsoftware.com/2012/01/27/the-evil-unit-test/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+MakingGoodSoftware+%28Making+Good+Software%29"&gt;The evil unit test&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I 100% advocate testing behaviour over implementation. That doesn't mean mocking is bad. It means you need to use it to mock out dependencies.&lt;/p&gt;

&lt;h4&gt;Front-End&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://html5please.us/"&gt;HTML5 Please - Use the new and shiny responsibly&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A good way to lookup how pervasive the feature you're about to use is. Ideally you'd just use Modernizr and make your application work either way.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://slexaxton.github.com/Jed/"&gt;Gettext style i18n for Modern JavaScript Apps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I know of a few front-end heavy projects that should be using something like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://color.method.ac/"&gt;Color - Method of Action&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Another cool game designed to teach developers about design.&lt;/p&gt;

&lt;h4&gt;Back-End&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://robots.thoughtbot.com/post/16466303962/inject-that-rails-configuration-dependency"&gt;Inject that Rails Configuration Dependency&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I love any article that helps me understand dependency injection more. We've recently started using our config more as we're connecting multiple applications together. 
This does make testing bothersome. Great tip.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://speirs.org/blog/2012/1/25/on-my-ipad.html"&gt;On My iPad&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A seriously great list of applications. Fraser is definitely an iPad expert.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://jcalcote.wordpress.com/2008/10/16/put-or-post-the-rest-of-the-story/"&gt;PUT or POST: The REST of the Story&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Great resource for API developers out there. Are all your PUT requests Idempotent?&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.plataformatec.com.br/2012/01/my-five-favorite-hidden-features-in-rails-3-2/"&gt;My five favourite "hidden" features in Rails 3.2&lt;/a&gt;
&lt;p&gt;Some of the lesser known features in Rails 3.2&lt;/p&gt;

&lt;h4&gt;Reference&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://nodemanual.org/latest/nodejs_ref_guide/index.html"&gt;Node.js reference&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A more readable form of the Node.js documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://openmymind.net/2012/1/23/The-Little-Redis-Book/"&gt;The Little Redis Book&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm going to use Redis for something one of these days. Saved for reference.&lt;/p&gt;

&lt;h4&gt;Teamwork&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://zachholman.com/talk/scaling-github"&gt;Scaling GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Zach shows why GitHub is so awesome.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://diegobasch.com/why-software-development-estimations-are-regu"&gt;Why Software Development Estimations Are Regularly Off&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An fresh perspective on why software estimates are bad bad mojo.&lt;/p&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/06xPM19qslw" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 6</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_6/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_6</id>
    <updated>2012-01-23T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;This Week: Movies!, Gems, Essential Geek Reading, Reference, Teamwork&lt;/p&gt;
        

        &lt;h4&gt;Movies!&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.destroyallsoftware.com/talks/wat"&gt;Wat&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seriously hilarious. Also an awesome catalog of e-learning videos. Why didn't I know about this
sooner?&lt;/p&gt;

&lt;h4&gt;Gems&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://fabrik42.github.com/acts_as_api/"&gt;acts_as_api&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Putting view logic in your model is never a good idea. This is an anti-pattern. 
Use a presenter to handle this.&lt;/p&gt;

&lt;p&gt;&lt;a
href="http://robots.thoughtbot.com/post/16196616388/factory-girl-2-5-gets-custom-constructors"&gt;Factory
Girl 2.5 Gets Custom Constructors&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;While we heavily use Factory Girl I can't help but think that it
keeps getting more complicated. We're relying on stubs a lot more these
days.&lt;/p&gt;

&lt;h4&gt;Essential Geek Reading&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://blog.fogcreek.com/the-trello-tech-stack/"&gt;The Trello
Tech Stack&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I love this stack. Although I'm not completely sold on 100% single
page apps things like pushState are slowly convincing me.&lt;/p&gt;

&lt;p&gt;&lt;a
href="http://calnewport.com/blog/2012/01/21/distraction-is-a-symptom-of-a-deeper-problem-the-convenience-principle-and-the-destruction-of-american-productivity/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+StudyHacks+%28Study+Hacks%29"&gt;Distraction is a Symptom of a Deeper Problem: The Convenience Principle and the Destruction of American Productivity&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We believe the right kind of distraction is a symptom that knowledge
hasn't been properly socialized on the team. Cross team interruptions
however are definitely bad.&lt;/p&gt;

&lt;p&gt;&lt;a
href="http://www.devthought.com/2012/01/18/an-object-is-not-a-hash/"&gt;An
object is not a hash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I can see a whole new generation of javascript injection/cross site
scripting issues because of this.&lt;/p&gt;

&lt;h4&gt;Reference&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://jsref.64p.org/"&gt;JSRef - JavaScript Reference
Manual&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seems like a YARD style reference for JavaScript built on top of the
&lt;a href="https://developer.mozilla.org/en-US/"&gt;MDN&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a
href="http://danielsz.posterous.com/how-to-run-rvm-scripts-as-cron-jobs"&gt;How to run rvm scripts as cron jobs?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/datwright"&gt;Dave&lt;/a&gt; was having problems with this one earlier this week.&lt;/p&gt;

&lt;h4&gt;Teamwork&lt;/h4&gt;

&lt;p&gt;&lt;a
href="https://github.com/visionmedia/git-extras"&gt;visionmedia/git-extras&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seems like there are some good commands in here for working with
teams.&lt;/p&gt;


      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/IroCqe71WVc" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Advice for Lean Startup Machine Toronto Attendees
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/advice_for_lean_startup_machine_toronto_attendees/" />
    <id>http://bigbangtechnology.compost/advice_for_lean_startup_machine_toronto_attendees</id>
    <updated>2012-01-18T00:00:00+00:00</updated>

    

    <author>
      <name>Max Cameron</name>
      <email>max@bigbangtechnology.com</email>
    </author>

    
    <category term="Customer Development" scheme="http://bigbangtechnology.com/categories/customer_development.html" label="Customer Development" />
    

    <content type="html">
      
        
          &lt;p&gt;Last year I flew down to Boston with some colleagues and we participated in &lt;a href="http://theleanstartupmachine.com/"&gt;Lean Startup Machine&lt;/a&gt;. I’m not lying when I say it changed my life. All of a sudden, I could separate and connect the theory of customer development from its practice. But more importantly, I was stripped of the fear (and any other excuse) of finding customers and trying to sell them a product. 
&lt;/p&gt;
        

        &lt;p&gt;I also &lt;a href="http://bigbangtechnology.com/post/the_critical_path_for_two_sided_products"&gt;learned a ton about customer development&lt;/a&gt; and I've been trying to &lt;a href="http://dooo.sh/it"&gt;share those lessons&lt;/a&gt; ever since. After that experience, I immediately knew that Toronto needed this event. This year, I’ve been lucky enough to be acting as an &lt;a href="http://theleanstartupmachine.com/events/toronto-january-26/"&gt;LSMTO&lt;/a&gt; event organizer and participate as a mentor. And because of my prior experience attending as a participant, I’d like to share what I learned last year so you can make the most out of your weekend.&lt;/p&gt;

&lt;h4&gt;Joining a Team&lt;/h4&gt;

&lt;p&gt;This is the first big decision you’re going to make when you show up at LSM. A few people have asked me if they should try to pitch the idea they’re working on, or if they should join another project. My advice to them has always been the same; whether you’re pitching your own idea or joining another team, there are three things to keep in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customers - Choose a product that has customers who will be accessible to you over the weekend. Definitely avoid projects that can only be sold to the VP Marketing at fortune 500 companies. They don’t work weekends.&lt;/li&gt;
&lt;li&gt;Agility - Choose a project you’re not afraid to change. This might be a good argument not to pitch the project you’ve been married to for the past two years. LSM is about rapid change based on validated learning. So &lt;a href="http://bigbangtechnology.com/post/ugly_babies_and_customer_development"&gt;if you’re afraid to kill your ugly baby&lt;/a&gt;, don’t pitch it.&lt;/li&gt;
&lt;li&gt;Balance - find a team with a balance of designers, developers and “marketers.” The last thing you want is to join a group where nobody can install google analytics on your landing page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Tips for Winning&lt;/h4&gt;

&lt;p&gt;I believe the winning team will be the group of people who show the most acceleration in their &lt;a href="http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-version"&gt;pirate metrics&lt;/a&gt; based on the pivots they make. Each pivot should be based on validated learning. So how do you make that happen?&lt;/p&gt;

&lt;p&gt;Once you’ve picked a product to work on and you’re ready to get started, I would suggest that you split the group into two teams: the Inside Team and the Outside Team. The main strategy is for both teams to collaborate on structuring experiments, and then run each experiment independently to accelerate the learning process. Consensus among both teams is paramount, so there are certain activities which should be done together. Namely, defining the problem, defining the solution and agreeing on each pivot.&lt;/p&gt;

&lt;p&gt;The Inside Team is responsible for testing the viability of the online channel. They’ll be putting up landing pages and A/B testing various pricing models and value propositions. They’re going to be writing blog posts, and building out the MVP.&lt;/p&gt;

&lt;p&gt;The Outside Team is responsible for hitting the streets, making customer contact, validating problem areas, leading solution interviews and &lt;a href="http://bigbangtechnology.com/post/selling_lean_the_two_promises_approach_to_sales"&gt;selling the MVP face-to-face&lt;/a&gt;. Personally, I think this is the place where you want to be.&lt;/p&gt; 

&lt;p&gt;After each group completes a round of experiments, you should regroup, review the results, brainstorm many possible pivots, decide on which one should be implemented, and then start the experiment cycle all over again.&lt;/p&gt; 

&lt;h4&gt;How Can Mentors Help?&lt;/h4&gt;

&lt;p&gt;We have some great mentors attending the event that can help you out in a few different ways. The mentors are your objective source of feedback, your fresh eyes, who can tell the forest from the trees.&lt;/p&gt;

&lt;p&gt;They’ll let you know if they see an opportunity for you to pivot when you’re slamming your head against the desk. They’ll help you brainstorm novel ways to put yourself in front of customers, and they’ll do their best to help you structure your customer development experiments. And most importantly, they’ll motivate you, hold you accountable, and force you out of the building.&lt;/p&gt;

&lt;h4&gt;That’s it&lt;/h4&gt;

&lt;p&gt;I can’t wait to see everyone out at LSMTO. Good luck to everyone, and remember to look out for me if you want to work with the most aggressive mentor on the floor. And if you want to talk more before the event, &lt;a href="http://twitter.com/maxcameron"&gt;feel free to get in touch&lt;/a&gt;.&lt;/p&gt;


      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/WG6PsxbiSoQ" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 5
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_5/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_5</id>
    <updated>2012-01-17T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;Instead of posting links the minute I find them, I've started holding on to them for a week and then blasting you with them if they still hold my interested by the end of the week.
&lt;/p&gt;
        

        &lt;p&gt;&lt;a href="http://www.12factor.net/"&gt;The Twelve-Factor App&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If we wanted to move our app to Heroku here is how we'd have to design it!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://robots.thoughtbot.com/post/14825364877/evaluating-alternative-decorator-implementations-in"&gt;Evaluating alternative Decorator implementations in Ruby&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Decorators, and presenters, and patterns! Oh, my!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://adactio.com/journal/5147/"&gt;Media queries and multiple columns&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A cool way to use @media queries to create dynamic columns based on the vertical height. Not applicable to our upcoming redesign though.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/wbailey/command_line_reporter"&gt;wbailey/command_line_reporter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We have lots of scripts which execute on the command line. This seems like a good way to get feedback from them. We currently use "puts" :)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://robots.thoughtbot.com/post/15781666382/factory-girl-2-4-goes-meta"&gt;Factory Girl 2.4.0 (Factory Girl 2.4 Goes Meta)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our &lt;a href="http://woople.com"&gt;application&lt;/a&gt; has 6000 factory instances in it. This should speed things up a lot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/paulasmuth/fnordmetric"&gt;Paulasmuth/fnordmetric - GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seems like a self-hosted version of mixpanel.com with less analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://exceptionalruby.com/"&gt;Exceptional Ruby: Master the art of handling failure in Ruby&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://avdi.org/devblog/"&gt;Avdi&lt;/a&gt; has some great blog posts and this is sure to be great as well.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://developer.android.com/design/index.html"&gt;Android Design&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Design reading for all, not just Android developers.&lt;/p&gt;


      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/DSU3LvnLEOM" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Links of the Week 4
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/links_of_the_week_4/" />
    <id>http://bigbangtechnology.compost/links_of_the_week_4</id>
    <updated>2012-01-11T00:00:00+00:00</updated>

    

    <author>
      <name>Cameron Westland</name>
      <email>cameron@bigbangtechnology.com</email>
    </author>

    
    <category term="Links" scheme="http://bigbangtechnology.com/categories/links.html" label="Links" />
    

    <content type="html">
      
        
          &lt;p&gt;Instead of posting links the minute I find them, I've started holding on to them for a week and then blasting you with them if they still hold my interested by the end of the week.
&lt;/p&gt;
        

        &lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/flyerhzm/switch_user"&gt;flyerhzm/switch_user&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/pillowfactory/csv-mapper"&gt;pillowfactory/csv-mapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.carbonfive.com/2010/10/21/rspec-best-practices/"&gt;RSpec Best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://railscasts.com/episodes/314-pretty-urls-with-friendlyid"&gt;#314 Pretty URLs with FriendlyId&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://railscasts.com/episodes/315-rollout-and-degrade"&gt;#315 Rollout and Degrade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cbx33.github.com/gitt/intro.html"&gt;Git In The Trenches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/radar/guides/blob/master/gem-development.md"&gt;Developing a RubyGem using Bundler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rubyquicktips.com/post/15606878757/rails-hash-reverse-merge"&gt;Rails’ Hash#reverse_merge&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/BduXRnawC6w" height="1" width="1"/&gt;</content>
  </entry>
  
  <entry>
    <title>Resourcing Pair Programmers in an Agile Team
</title>
    <link rel="alternate" type="text/html" href="http://bigbangtechnology.com/post/resourcing_pair_programmers_in_an_agile_team/" />
    <id>http://bigbangtechnology.compost/resourcing_pair_programmers_in_an_agile_team</id>
    <updated>2011-12-27T00:00:00+00:00</updated>

    

    <author>
      <name>Max Cameron</name>
      <email>max@bigbangtechnology.com</email>
    </author>

    
    <category term="Startup 101" scheme="http://bigbangtechnology.com/categories/startup_101.html" label="Startup 101" />
    

    <content type="html">
      
        
          &lt;p&gt;Everyone knows that practicing &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/Pair_programming"&gt;agile development&lt;/a&gt; are the best ways to produce high quality software as fast as possible. But setting these pairs up is a lot harder than it looks. Here’s how we do it. How can we improve? 
&lt;/p&gt;
        

        &lt;h4&gt;The Challenge&lt;/h4&gt;

&lt;p&gt;Resourcing pairs in an agile shop is difficult for a lot of reasons. One of the big challenges is that they have to constantly change. While one of the big objectives of pairing is to reduce developer blind spots, the same thing can also happen if you pair the same developers together for too long.&lt;/p&gt;

&lt;p&gt;To further complicate matters, not everyone starts the day with a clean slate. They might have started a story yesterday and not finished it, or they might be leaving for an hour to go to the doctor’s office. The big point is that not everyone has the same amount of hours to devote to writing code.&lt;/p&gt;

&lt;p&gt;Every developer has areas of expertise - and every developer has areas where they’re a novice. One of the biggest opportunities pairing brings to our team is to have these areas of specialization transfer to other developers. And unfamiliarity increases the quality of the pair because the expert is forced to articulate the challenge in a simple way to the novice.&lt;/p&gt;

&lt;p&gt;In our experience, the key to resourcing pairs is to match people based on expertise and availability. We don’t have the perfect approach to resourcing, but we wanted to share what we’ve been doing lately in hopes of learning from you.&lt;/p&gt;

&lt;h4&gt;Our Approach&lt;/h4&gt;

&lt;p&gt;Every morning we meet for our day-planning  meeting. It runs from 9:15am to 10:00am. The first order of business is to review the work each person completed yesterday, and review the work they started but didn’t finish. This step is repeated for each team member. Based on the commitments they have, we count the hours they have available for writing code, and we write it on the whiteboard.&lt;/p&gt;

&lt;p&gt;The next thing we do is open &lt;a href="pivotaltracker.com"&gt;Pivotal Tracker&lt;/a&gt;. As a team, we review each &lt;a href="http://www.mountaingoatsoftware.com/topics/user-stories"&gt;user story&lt;/a&gt; that was completed yesterday, as well as each story that was started but not finished. Then, we begin selecting new stories from the current iteration - which have already been prioritized by our product manager and customer support agents.&lt;/p&gt;

&lt;p&gt;After we select each story (starting with the ones that weren’t completed yesterday), we create a pair based on their available hours, and their level of familiarity with the particular story. We’re looking for people who have about the same amount of productive time available. We also keep an eye out for an expert and a novice. We keep assigning stories until all the pairs have a full plate.&lt;/p&gt;

&lt;p&gt;Next, we sequence the stories - discussing any dependencies or scheduling conflicts, and discuss any risks associated with other commitments. Once that’s done, we open up the floor to questions, and when those are done it’s time for announcements, which can be professional or personal. And we generally save a few minutes to look at one of &lt;a href="http://vidstream.tumblr.com/"&gt;Dave’s awesome youtube favourites&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you like lists, I’ve included one below so you can review it and put it use. If you have an idea on how we can improve the way we resource pairs, please &lt;a href="http://twitter.com/maxcameron"&gt;find me on twitter&lt;/a&gt; or &lt;a href="http://news.ycombinator.com/item?id=3399763"&gt;write something more detailed on hacker news&lt;/a&gt;.&lt;/p&gt;


&lt;h4&gt;The Big Bang Morning Meeting:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Each person states yesterday’s accomplishments&lt;/li&gt;
&lt;li&gt;Each person states work that was started but not completed&lt;/li&gt;
&lt;li&gt;The number of available hours are recorded on the whiteboard&lt;/li&gt;
&lt;li&gt;Repeat for all developers&lt;/li&gt;
&lt;li&gt;Open Pivotal Tracker&lt;/li&gt;
&lt;li&gt;Review work finished yesterday&lt;/li&gt;
&lt;li&gt;Review work started but not completed&lt;/li&gt; 
&lt;li&gt;Select a story from the top of the current iteration (including stories started but not finished)&lt;/li&gt;
&lt;li&gt;Assign the pair based on available hours and Expert/Novice&lt;/li&gt;
&lt;li&gt;Sequence the activities to account for prior commitments&lt;/li&gt; 
&lt;li&gt;Assess any risks&lt;/li&gt;
&lt;li&gt;Questions and Announcements&lt;/li&gt;
&lt;li&gt;Get to work!&lt;/li&gt;
&lt;/ul&gt;

      
    &lt;img src="http://feeds.feedburner.com/~r/bigbangtechnology/~4/KD1H_Zz9zO4" height="1" width="1"/&gt;</content>
  </entry>
  

</feed>
