<?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>Yo! I’m David Caplan. I’m a co-founder of  Dolbeau, the online mens fashion accessory company. Previously, I studied biochemistry at the University of Toronto. I’m a published scientist, hacker, and player of the occasional song.</description><title>Proteins, Code &amp; Fashion</title><generator>Tumblr (3.0; @davecap)</generator><link>http://www.davecap.com/</link><item><title>Using Sentry/Raven.js with AngularJS to catch exceptions</title><description>&lt;p&gt;AngularJS makes it easy to override their default exception handler. This means we can plug in Raven-js to send all client exceptions to Sentry :)&lt;/p&gt;

&lt;p&gt;Just create your own module and service with the same name as the default AngularJS provider ($exceptionHandler):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;angular.module('myExceptions', []).factory('$exceptionHandler',
          ['$window', '$log',
  function ($window,   $log) {
    if ($window.Raven) {
      console.log('Using the RavenJS exception handler.');
      Raven.config('YOUR_PUBLIC_DSN').install();
      return function (exception, cause) {
        $log.error.apply($log, arguments);
        Raven.captureException(exception);
      };
    } else {
      console.log('Using the default logging exception handler.');
      return function (exception, cause) {
        $log.error.apply($log, arguments);
      };
    }
  }
]);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Just get your proper Sentry public DSN and add your allowed domains in the Sentry security settings for your app.&lt;/p&gt;</description><link>http://www.davecap.com/post/46522098029</link><guid>http://www.davecap.com/post/46522098029</guid><pubDate>Thu, 28 Mar 2013 14:43:44 -0400</pubDate></item><item><title>Mac OS X dock hiding speed!</title><description>&lt;p&gt;If you want to increase the speed that the dock hides and shows, and remove the delay so that you don&amp;#8217;t waste those precious milliseconds, copy/paste these commands into your terminal:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;defaults write com.apple.dock autohide-time-modifier -float 0.05
defaults write com.apple.dock autohide-delay -float 0
killall Dock
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You now have a fast hiding dock!&lt;/p&gt;</description><link>http://www.davecap.com/post/36267113672</link><guid>http://www.davecap.com/post/36267113672</guid><pubDate>Thu, 22 Nov 2012 00:43:00 -0500</pubDate><category>macs</category><category>tweeks</category><category>tech</category></item><item><title>The scientific communication revolution: Why disrupt the scientific publishing industry?</title><description>&lt;p&gt;In December of 2010, NASA published a paper in Science (Wolfe-Simon et al. 2010, A Bacterium That Can Grow by Using Arsenic Instead of Phosphorus.) in which they claimed to have isolated bacteria that substitutes arsenic for phosphorus on their macromolecules and metabolites. Of course, the implications of this finding would have been immense&amp;#8230; had it been true. Soon after publishing, Dr. Rosie Redfield presented meticulous criticism of the original paper on her Wordpress blog (&lt;a href="http://rrresearch.fieldofscience.com/2010/12/arsenic-associated-bacteria-nasas.html"&gt;http://rrresearch.fieldofscience.com/2010/12/arsenic-associated-bacteria-nasas.html&lt;/a&gt;), and was essentially shunned by the NASA group, citing the non-official nature of her blog. It took one whole year for Dr. Redfield to submit her rebuttal paper to Science (&lt;a href="http://rrresearch.fieldofscience.com/2012/01/arseniclife-manuscript-has-been.html"&gt;http://rrresearch.fieldofscience.com/2012/01/arseniclife-manuscript-has-been.html&lt;/a&gt;), and five months more for her manuscript to be accepted for publication. Overall, it took one year and a half for traditional publishing to catch up to a Wordpress blog.&lt;/p&gt;

&lt;p&gt;If there&amp;#8217;s one thing in this world that needs to die and be reborn it&amp;#8217;s the scientific publishing industry. One hundred years ago, the centralization of scientific publishing was necessary because content distribution was a hard problem. Now, as we all know, the problem of freely distributing content has largely been solved by the internet. Scientific publishing, as it stands today, is actually a hindrance to scientific progress. I&amp;#8217;m not talking about the scientific method here, but purely the mechanisms by which we organize, compile, and distribute the vast amounts of scientific information.&lt;/p&gt;

&lt;p&gt;Science is an old world institution where credit and reputation come mostly from journal article authorships. You can tell how well a scientist is performing by looking at their list of publications and by calculating something called an &amp;#8220;impact factor&amp;#8221;. An impact factor gauges the importance of a paper by calculating the number of times it is cited in the two year period after it is published. This is kind of like looking at the financial statements of a business. Both scientists and businesses require money to fuel their operations, and both must generate value from the fuel. In business, this value is typically represented by money. In science, value is knowledge in the form of publications. As a result, science has developed a strong dependence on the academic publishing industry. Over the past half-century, publishers have leveraged this dependence to build up the $20 billion scientific publishing industry that exists today.&lt;/p&gt;

&lt;p&gt;Unfortunately for science, the traditional publishing model has become costly, painfully slow, and inefficient. It can cost anywhere between $1000-$5000 to have a paper published and even more (upwards of $8000) to publish an Open Access paper (free to read without a subscription). It can take up to a year for a paper to become accessible to subscribers (and/or the public) as it goes through the drawn-out publishing process. I&amp;#8217;d venture to say that, because of this process, the vast majority of papers that come out today report on data that&amp;#8217;s over a year old. Scientists are busy people, but they do most of the heavy lifting throughout the process. In academic publishing, unlike many other industries, the two most important inputs are provided virtually free of charge by researchers. Publishers argue that they add value by supporting peer review, typesetting, printing, and web publishing. The reality is that their main role is in representing their brand (the journal&amp;#8217;s brand). All other processes can be fully automated over the internet (and they basically are already!).&lt;/p&gt;

&lt;p&gt;As a way of mitigating the costs of publishing, some fields such as physics and math have collectively decided to bypass traditional journals altogether and use Open Access &amp;#8220;e-print archives&amp;#8221; such as arXiv.org. But, biologically-oriented fields are way more stubborn, most likely because of how afraid many researchers are of being scooped and the potential for valuable intellectual property. They&amp;#8217;ll be sticking with traditional publishers until a reliable and trustworthy alternative comes along.&lt;/p&gt;

&lt;p&gt;Between the rise of Open Access publishing houses and preprint servers such as PLoS and arXiv, and the more recent global boycotts of specific publishers (&lt;a href="http://thecostofknowledge.com/"&gt;http://thecostofknowledge.com/&lt;/a&gt;), a lot of change is starting to happen. Many people have written about this issue (&lt;a href="http://michaelnielsen.org/blog/is-scientific-publishing-about-to-be-disrupted/,"&gt;http://michaelnielsen.org/blog/is-scientific-publishing-about-to-be-disrupted/,&lt;/a&gt; &lt;a href="http://www.nytimes.com/2012/02/14/science/researchers-boycott-elsevier-journal-publisher.html,"&gt;http://www.nytimes.com/2012/02/14/science/researchers-boycott-elsevier-journal-publisher.html,&lt;/a&gt; &lt;a href="http://scholarlykitchen.sspnet.org/2010/01/04/why-hasnt-scientific-publishing-been-disrupted-already/"&gt;http://scholarlykitchen.sspnet.org/2010/01/04/why-hasnt-scientific-publishing-been-disrupted-already/&lt;/a&gt;) and awareness is growing, but the future of scientific communication has yet to be discovered.&lt;/p&gt;</description><link>http://www.davecap.com/post/27922352917</link><guid>http://www.davecap.com/post/27922352917</guid><pubDate>Tue, 24 Jul 2012 14:47:00 -0400</pubDate><category>science</category></item><item><title>Slocans @ Brutopia! (Taken with Instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m5l6y7qbD71r1l4hvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Slocans @ Brutopia! (Taken with &lt;a href="http://instagr.am"&gt;Instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://www.davecap.com/post/25067793190</link><guid>http://www.davecap.com/post/25067793190</guid><pubDate>Wed, 13 Jun 2012 22:58:54 -0400</pubDate></item><item><title>How to get fashion advice from Google</title><description>&lt;p&gt;You know what&amp;#8217;s fun? Google Insights for Search. That&amp;#8217;s what&amp;#8217;s fun. You know what else is fun? Asking google for fashion trend advice. It&amp;#8217;s fun because it&amp;#8217;s kind of like asking Ronald McDonald for cooking tips.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s what&amp;#8217;s happening with &amp;#8220;hawaiian print&amp;#8221;:&lt;/p&gt;

&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=hawaiian+print&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=420&amp;amp;h=350&amp;amp;lang=en-US&amp;amp;title=Google+Insights+for+Search&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;p&gt;In the #menswear world, you might think that everyone&amp;#8217;s wearing Hawaiian prints. Maybe that&amp;#8217;s true in that world, but if we venture out into the mass market it looks like Hawaiian print was hot in 2004&amp;#8230; and kind of died off since then. As we might expect, it seems to peak mid-summer, every summer.&lt;/p&gt;

&lt;p&gt;How about &amp;#8220;camo pants&amp;#8221;:&lt;/p&gt;

&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=camo+pants&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=420&amp;amp;h=350&amp;amp;lang=en-US&amp;amp;title=Google+Insights+for+Search&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;p&gt;Camo pants are strange because there are all kinds of people that wear them, so it&amp;#8217;s not as easy to know if they are actually &amp;#8220;in style&amp;#8221; or not&amp;#8230; BUT here&amp;#8217;s the kicker. Camo pants usually peak in the fall/winter season. This year the peak has turned into a plateau! Camo pants (or camo everything!) might actually be in style this summer!&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s a cool one, &amp;#8220;selvedge denim&amp;#8221;:&lt;/p&gt;

&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=selvedge+denim&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=420&amp;amp;h=350&amp;amp;lang=en-US&amp;amp;title=Google+Insights+for+Search&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;p&gt;Now there&amp;#8217;s a positive trend. Pretty clear that lots of men are finding out about selvedge denim these days. That&amp;#8217;s cool.&lt;/p&gt;

&lt;p&gt;Ok, so here are the last two interesting ones. Bow ties. Are they back in style or not?&lt;/p&gt;

&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=bow+ties&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=420&amp;amp;h=350&amp;amp;lang=en-US&amp;amp;title=Google+Insights+for+Search&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;p&gt;Yes. Searches for bow ties are the highest ever in history (well, since 2004 to be specific). Bow ties are clearly coming back, at least for the time being.&lt;/p&gt;

&lt;p&gt;One extra little thing I thought was interesting was the data on &amp;#8220;how to tie a bow tie&amp;#8221;:&lt;/p&gt;

&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=how+to+tie+a+bow+tie&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=420&amp;amp;h=350&amp;amp;lang=en-US&amp;amp;title=Google+Insights+for+Search&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;p&gt;Once again, a slight increase in the past couple of years&amp;#8230; but what the hell are those peaks in December? WHAT IS HAPPENING IN DECEMBER? Someone please tell me&amp;#8230; Christmas? what is it?&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s all for today folks!&lt;/p&gt;</description><link>http://www.davecap.com/post/25056751295</link><guid>http://www.davecap.com/post/25056751295</guid><pubDate>Wed, 13 Jun 2012 20:15:00 -0400</pubDate><category>google</category><category>fashion</category><category>trends</category><category>charts</category><category>tech</category></item><item><title>Today is World IPv6 Launch day, and I predict...</title><description>&lt;p&gt;In the next 10-20 years, every baby born in the developed world will be allocated their own personal IPv6 address.&lt;/p&gt;

&lt;p&gt;Why? Well, wouldn&amp;#8217;t it be cool if everyone just had the same phone number for life? Fine, so there are services like Google Voice and the Yellowpages but come on, how many people actually use these things in real life? Instead, what if everyone just had a single address that they could link to their phone, computer, computer-phone, brain-implant-phone, tooth-implant-phone, eyeball-phone, or whatever you might have in your pocket in 10 years, to your personal IPv6 number!? Think about the possibilities!&lt;/p&gt;

&lt;p&gt;Also.. IPv6 also has &lt;a href="http://www.ip6.com/us/book/Chap8.pdf"&gt;cool integrated security features&lt;/a&gt; that should make the world a better place.&lt;/p&gt;

&lt;p&gt;Today is dedicated to IPv6 Launch Day and Giant Steps by Coltrane.&lt;/p&gt;

&lt;p&gt;&lt;object width="250" height="40" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsSong1857499" name="gsSong1857499"&gt;&lt;param name="movie" value="http://grooveshark.com/songWidget.swf"&gt;&lt;param name="wmode" value="window"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;amp;songIDs=18574&amp;amp;style=metal&amp;amp;p=0"&gt;&lt;object type="application/x-shockwave-flash" data="http://grooveshark.com/songWidget.swf" width="250" height="40"&gt;&lt;param name="wmode" value="window"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;amp;songIDs=18574&amp;amp;style=metal&amp;amp;p=0"&gt;&lt;span&gt;Giant Steps by &lt;a href="http://grooveshark.com/artist/John+Coltrane/2144" title="John Coltrane"&gt;John Coltrane&lt;/a&gt; on Grooveshark&lt;/span&gt;&lt;/object&gt;&lt;/object&gt;&lt;/p&gt;</description><link>http://www.davecap.com/post/24538680006</link><guid>http://www.davecap.com/post/24538680006</guid><pubDate>Wed, 06 Jun 2012 10:07:21 -0400</pubDate><category>geek</category><category>ipv6</category><category>predictions</category><category>tech</category></item><item><title>Ringing a bell in your browser through WebSockets</title><description>&lt;p&gt;Today at Dolbeau I wanted to make a bell ring when a new order comes in&amp;#8230; just like &lt;a href="http://online.wsj.com/article/SB10001424052970203914304576627102996831200.html"&gt;Jeff Bezos did in the early days of Amazon&lt;/a&gt;. I wanted to make sure that our bell rings in any browser that has the bell page open. It turns out it&amp;#8217;s super easy to do using NodeJS/Express and Socket.IO.&lt;/p&gt;

&lt;p&gt;This is how it all works:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Load the URL in any number of browsers&lt;/li&gt;
&lt;li&gt;Send a POST to the same url&lt;/li&gt;
&lt;li&gt;Listen to the bell ring in all open browsers!&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Also you can specify which sound you want to play by using the &amp;#8216;type&amp;#8217; POST parameter. Just check out the JS and HTML files and you&amp;#8217;ll be good to go!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/davecap/bell"&gt;Fork it on GitHub!&lt;/a&gt;&lt;/p&gt;</description><link>http://www.davecap.com/post/24511128862</link><guid>http://www.davecap.com/post/24511128862</guid><pubDate>Tue, 05 Jun 2012 21:39:06 -0400</pubDate><category>nodejs</category><category>web</category><category>programming</category><category>hacks</category><category>tech</category></item><item><title>“Feudal Japan’s sartorial laws”… this is...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m5054c8OFx1r1l4hvo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;“Feudal Japan’s sartorial laws”… this is what happens when you study the history of fashion in Japan. Dolbeau kills it with SEO!&lt;/p&gt;</description><link>http://www.davecap.com/post/24273547138</link><guid>http://www.davecap.com/post/24273547138</guid><pubDate>Sat, 02 Jun 2012 14:09:48 -0400</pubDate><category>japan</category><category>dolbeau</category><category>google</category></item><item><title>Just a little tidbit on the market share of Canadian-made...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m4wg7cfCv21r1l4hvo1_500.png"/&gt;&lt;br/&gt; Destination of Canadian apparel exports&lt;br/&gt;&lt;br/&gt; &lt;img src="http://25.media.tumblr.com/tumblr_m4wg7cfCv21r1l4hvo2_500.png"/&gt;&lt;br/&gt; US apparel market share&lt;br/&gt;&lt;br/&gt; &lt;p&gt;Just a little tidbit on the market share of Canadian-made apparel. It turns out that 84% of all clothing made in Canada is exported to the USA, accounting for only 1% of all apparel sold in the USA. This doesn’t include apparel made overseas by Canadian-owned companies.&lt;/p&gt;

&lt;p&gt;In case you’re wondering, 80% of clothing sold in Canada is made elsewhere (not sure how much of that is made in the USA, but probably not that much). Canadians seem to buy more locally-made clothing than Americans though (per capita), which is something that we’ve noticed at Dolbeau.&lt;/p&gt;</description><link>http://www.davecap.com/post/24138576486</link><guid>http://www.davecap.com/post/24138576486</guid><pubDate>Thu, 31 May 2012 14:18:00 -0400</pubDate><category>fashion</category></item><item><title>Julien Smith modeling his collabo edition (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m4un5yx9Gd1r1l4hvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Julien Smith modeling his collabo edition (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://www.davecap.com/post/24074195725</link><guid>http://www.davecap.com/post/24074195725</guid><pubDate>Wed, 30 May 2012 14:53:58 -0400</pubDate><category>fashion</category></item><item><title>Today dolbeau.ca was compared to apple.com in this random...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m3vjid7Kj41r1l4hvo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Today dolbeau.ca was compared to apple.com in this random stackoverflow question. Very flattering for us all here at Dolbeau HQ.&lt;/p&gt;</description><link>http://www.davecap.com/post/22854056999</link><guid>http://www.davecap.com/post/22854056999</guid><pubDate>Fri, 11 May 2012 15:58:59 -0400</pubDate><category>dolbeau</category><category>tech</category></item><item><title>Tie pyramid (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m3tnxlFEbP1r1l4hvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Tie pyramid (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://www.davecap.com/post/22791944276</link><guid>http://www.davecap.com/post/22791944276</guid><pubDate>Thu, 10 May 2012 15:39:20 -0400</pubDate><category>fashion</category></item><item><title>Knitting machines (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m3eqj5aeCR1r1l4hvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Knitting machines (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://www.davecap.com/post/22264223787</link><guid>http://www.davecap.com/post/22264223787</guid><pubDate>Wed, 02 May 2012 14:11:29 -0400</pubDate></item><item><title>C’est moi</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m3b4ceQMdM1qcyb97o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;C’est moi&lt;/p&gt;</description><link>http://www.davecap.com/post/22136696610</link><guid>http://www.davecap.com/post/22136696610</guid><pubDate>Mon, 30 Apr 2012 15:33:03 -0400</pubDate></item><item><title>Graph of Dolbeau newsletter subscribers… now all we need...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m37k2tnOCJ1r1l4hvo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Graph of Dolbeau newsletter subscribers… now all we need is the rest of the hockey stick :)&lt;/p&gt;</description><link>http://www.davecap.com/post/22002041333</link><guid>http://www.davecap.com/post/22002041333</guid><pubDate>Sat, 28 Apr 2012 17:08:53 -0400</pubDate><category>dolbeau</category><category>stats</category><category>tech</category></item><item><title>Sexy Dolbeau multicolor bow tie…. coming soon!</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m355k0yIoM1r1l4z2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Sexy Dolbeau multicolor bow tie…. coming soon!&lt;/p&gt;</description><link>http://www.davecap.com/post/21929755529</link><guid>http://www.davecap.com/post/21929755529</guid><pubDate>Fri, 27 Apr 2012 16:47:18 -0400</pubDate><category>menswear</category><category>dolbeau</category><category>fashion</category></item><item><title>Dolbeau website in 3D… courtesy of Firefox.</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m320dkq1qv1r1l4hvo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Dolbeau website in 3D… courtesy of Firefox.&lt;/p&gt;</description><link>http://www.davecap.com/post/21802254695</link><guid>http://www.davecap.com/post/21802254695</guid><pubDate>Wed, 25 Apr 2012 17:15:20 -0400</pubDate><category>dolbeau</category><category>tech</category></item><item><title>Provision &amp; deploy a simple Django stack on Debian 6 using Fabric &amp; Cuisine</title><description>&lt;p&gt;Warning: This post is for people who know what Python, Django, and Debian are.&lt;/p&gt;

&lt;p&gt;It turns out that most people ever only need a single VPS node (or less) for their Django site. When it comes to small sites, using Chef and Puppet for deployment is kind of overkill. In our previous iteration at &lt;a href="http://www.dolbeau.ca"&gt;Dolbeau&lt;/a&gt; I implemented Chef with the &lt;a href="http://wiki.opscode.com/display/chef/Deploy+Resource"&gt;Deploy Resource&lt;/a&gt;. It worked alright, except for the fact that my deploys took way too long, not to mention it was super overcomplicated and scary when it failed. I wanted to convert my huge ass Chef deployment into a tiny &lt;a href="http://fabfile.org"&gt;Fabric&lt;/a&gt; script (with the help of &lt;a href="https://github.com/sebastien/cuisine"&gt;Cuisine&lt;/a&gt;), so I did!&lt;/p&gt;

&lt;p&gt;You can find it in a &lt;a href="http://github.com/davecap/deploy-django"&gt;Github repo called deploy-django&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The stack is composed of:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Nginx&lt;/li&gt;
&lt;li&gt;Gunicorn&lt;/li&gt;
&lt;li&gt;Django&lt;/li&gt;
&lt;li&gt;Memcached&lt;/li&gt;
&lt;li&gt;Postgresql&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Supervisord is basically optional, but you need to edit the fabfile. Right now I personally just restart guncorn using a kill -HUP during the deploy process. This seems to work fine for my purposes. I&amp;#8217;ve included an example init script in the provision folder.&lt;/p&gt;

&lt;p&gt;To use the fabfile, you first need to install the requirements:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pip install -r requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then, edit the deploy_settings.py file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;APP_NAME = the name of your python app
APP_REPO = the git repo
APP_REPO_BRANCH = the branch you want to deploy
APP_HOSTS = a list of hosts
REMOTE_USER, REMOTE_GROUP = the linux user that should own the deploy directory on the server

DJANGO_STATIC_ROOT = the directory name of your static_root in your app
DJANGO_MEDIA_ROOT = the directory name of your media_root in your app

DEBIAN_PACKAGES = a list of debian packages to install, the default list contains a bunch of things that you may not need

DEPLOY_TREE = defines the deploy directory tree. The default deploy tree creates a /srv/&amp;lt;APP_NAME&amp;gt; for your app.


DEPLOY_TREE = {
    APP_NAME: {
        'releases': {},
        'shared': {
            'logs': {},
            'media_root': {},
            DJANGO_STATIC_ROOT: {}
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then, you edit the server config files in the provision directory. The provision directory is structured as if it is the root directory of your server&amp;#8217;s disk and it contains basic config files for your stack. You will need to edit these files (and rename some of them) before trying to deploy, they are NOT templates.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/etc/
    rc.local
    init.d/myapp
    gunicorn/myapp.conf.py
    nginx/
        nginx.conf
        sites-available/myapp
    postgresql/8.4/main/postgresql.conf
    supervisor/conf.d/myapp.conf
/srv/myapp/shared/settings_local.py
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then you can try to initialize, provision and deploy:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;fab initialize
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will set up the required user and inject your public ssh-key for passwordless login.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;fab provision
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will install the packages and set up the server config files&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;fab deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will deploy your app!&lt;/p&gt;

&lt;p&gt;It should all work&amp;#8230; if it doesn&amp;#8217;t then feel free to file an issue or fork the repo.&lt;/p&gt;</description><link>http://www.davecap.com/post/21780403407</link><guid>http://www.davecap.com/post/21780403407</guid><pubDate>Wed, 25 Apr 2012 09:06:20 -0400</pubDate><category>python</category><category>django</category><category>deploy</category><category>geeks</category><category>tech</category></item><item><title>Photo shoot with spence (Taken with instagram)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m2r5ovF3oT1r1l4hvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Photo shoot with spence (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://www.davecap.com/post/21409131957</link><guid>http://www.davecap.com/post/21409131957</guid><pubDate>Thu, 19 Apr 2012 20:36:31 -0400</pubDate><category>fashion</category></item><item><title>Dolbeau photo shoot! (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m2r37bKuZa1r1l4hvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Dolbeau photo shoot! (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://www.davecap.com/post/21405727971</link><guid>http://www.davecap.com/post/21405727971</guid><pubDate>Thu, 19 Apr 2012 19:42:47 -0400</pubDate><category>fashion</category></item></channel></rss>
