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

<channel>
	<title>be present now &#187; programming</title>
	<atom:link href="http://durdn.com/blog/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://durdn.com/blog</link>
	<description>modern alchemy for joyful living.</description>
	<lastBuildDate>Sun, 01 Nov 2009 20:24:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>I love staring at branches and shuffle, reorder and squash commits</title>
		<link>http://durdn.com/blog/2009/08/16/i-love-staring-at-branches-and-shuffle-reorder-and-squash-commits/</link>
		<comments>http://durdn.com/blog/2009/08/16/i-love-staring-at-branches-and-shuffle-reorder-and-squash-commits/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 20:49:53 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=48</guid>
		<description><![CDATA[I don&#8217;t know what it is. Maybe it&#8217;s inherent to human nature to strive for and to create order. Maybe it&#8217;s just me. But I love staring at branches and I love cleaning up my commit history until it shines. This is of course possible and encouraged with git and it&#8217;s only possible if you [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know what it is. Maybe it&#8217;s inherent to human nature to strive for and to create order. Maybe it&#8217;s just me.</p>
<p>But I love staring at branches and I love cleaning up my commit history until it shines. This is of course possible and encouraged with <a href="http://git-scm.com/">git</a> and it&#8217;s only possible if you haven&#8217;t shared your code with anyone else publicly (pushed to a shared remote repository). So how does a shuffling cleaning frenzy look like? Here: (The screen-shot below is from <a href="http://gitx.frim.nl/">GitX</a> just for eye candy).</p>
<p><a href="http://durdn.com/blog/wp-content/uploads/2009/08/Picture-3.png"><img class="alignnone size-full wp-image-49" title="staring at branches" src="http://durdn.com/blog/wp-content/uploads/2009/08/Picture-3.png" alt="staring at branches" width="432" height="351" /></a></p>
<p>How do I work? Before I share my work with other developers I commit stuff to local branches furiously and in very small increments, I branch away like crazy. Then after a while I realize things are messy and commits are not elegantly divided per feature. So I stop coding and start cleaning the history of commits until they fit into a clean list of recognizable units of work. At that point I can merge the work back into the mainline, say the master branch or some shared topic branch.</p>
<p>Tools of the trade ? <a href="http://www.kernel.org/pub/software/scm/git/docs/git-branch.html">git branch</a>, <a href="http://www.kernel.org/pub/software/scm/git/docs/git-reset.html">git reset</a>, git cherry-pick and the very powerful <a href="http://www.kernel.org/pub/software/scm/git/docs/git-commit.html">git commit &#8211;interactive</a>.</p>
<p>If you&#8217;re wondering why I like git and why I don&#8217;t use x (where x could be svn, hg, bzr or perforce) a good collection of reasons can be found at <a href="http://whygitisbetterthanx.com/">Why Git is Better Than X</a> .</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2009%2F08%2F16%2Fi-love-staring-at-branches-and-shuffle-reorder-and-squash-commits%2F';
  addthis_title  = 'I+love+staring+at+branches+and+shuffle%2C+reorder+and+squash+commits';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2009/08/16/i-love-staring-at-branches-and-shuffle-reorder-and-squash-commits/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>how to integrate compass into your default pinax project</title>
		<link>http://durdn.com/blog/2009/07/02/how-to-integrate-compass-into-your-default-pinax-project/</link>
		<comments>http://durdn.com/blog/2009/07/02/how-to-integrate-compass-into-your-default-pinax-project/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 03:33:38 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[960]]></category>
		<category><![CDATA[blueprint]]></category>
		<category><![CDATA[compass]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[pinax]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=43</guid>
		<description><![CDATA[Lately I&#8217;ve been really impressed and experimented joyfully with Compass and Sass. They make css/layout design fun again for me. Even if the whole tool chain is in Ruby you don&#8217;t have to touch any Ruby to use them &#8211; don&#8217;t misunderstand me: I like Ruby and I&#8217;ve been a Rails early adopter; my brain [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been really impressed and experimented joyfully with<br />
<a href="http://compass-style.org/">Compass</a> and <a href="http://haml.hamptoncatlin.com/docs/">Sass</a>. They make css/layout design fun again for me. Even if the whole tool chain is in Ruby you don&#8217;t have to touch any Ruby to use them &#8211; don&#8217;t misunderstand me: I like Ruby and I&#8217;ve been a Rails early adopter; my brain is very well tuned in with Python, that&#8217;s all -.</p>
<p>Compass makes the creation of a semantic layout using any of the<br />
popular css frameworks (<a href="http://blueprintcss.org/">blueprint</a>, <a href="http://960.gs">960</a>, etc.) a breeze.</p>
<p>There&#8217;s ton of documentation around, for example <a href="http://blog.carbonfive.com/2009/03/html/compass-960-semantics">this</a> is what got me into it a while ago.</p>
<p>So today after a furious coding spree I achieved what I wanted. I integrated Compass into a default <a href="http://pinaxproject.com">Pinax</a> project.</p>
<p>To prove that I could quickly change the layout in an elegant way I tried to alter the default theme to have the menus vertically aligned instead than horizontally.</p>
<p>I know people love pretty pictures and screenshots so here is a taste of the end result:</p>
<p><a href="http://durdn.com/vertical-menu-pinax-theme.png"><img class="alignnone" src="http://durdn.com/vertical-menu-pinax-theme.png" alt="default theme of pinax with vertical menus" width="476" height="267" /></a></p>
<p>And another one:</p>
<p><a href="http://durdn.com/vertical-menu-pinax-theme-2.png"><img class="alignnone" src="http://durdn.com/vertical-menu-pinax-theme-2.png" alt="vertical menu in pinax theme" width="446" height="206" /></a></p>
<p>And if you find any of this interesting be my guest and peruse the newly created <a href="http://github.com">github</a> project:</p>
<ul>
<li>The <a href="http://github.com/durdn/pinax-compass-integration/tree/master">master</a> just plugs in Compass without changing anything in the default theme. You can alter the layout by working in the media/sass folder and running compass -u in the media folder.</li>
<li>The <a href="http://github.com/durdn/pinax-compass-integration/tree/vertical">vertical</a> branch includes the changes needed to come up with the vertical menu you see above. By looking into the media/sass/base.sass file you should see how to use Compass directives to include a 960 grid into Pinax.</li>
</ul>
<p>Please note, this is nothing fancy nor hard, but I expect this integration to be a life/time saver in all my next projects.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2009%2F07%2F02%2Fhow-to-integrate-compass-into-your-default-pinax-project%2F';
  addthis_title  = 'how+to+integrate+compass+into+your+default+pinax+project';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2009/07/02/how-to-integrate-compass-into-your-default-pinax-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>my desktop during an intense coding session using xmonad</title>
		<link>http://durdn.com/blog/2009/07/01/my-desktop-during-an-intense-coding-session-using-xmonad/</link>
		<comments>http://durdn.com/blog/2009/07/01/my-desktop-during-an-intense-coding-session-using-xmonad/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 11:40:22 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[editors]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[compass]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[pinax]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[tiling]]></category>
		<category><![CDATA[wm]]></category>
		<category><![CDATA[xmonad]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=42</guid>
		<description><![CDATA[Here is what a coding session of mine looks like when I am in full swing. This is specifically the coding screen. That&#8217;s a 1920&#215;1600 resolution screen-shot . I obviously also have a browsing screen not shown. In the image above I am immersed into integrating Compass into Pinax (full post on that will follow). [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Here is what a coding session of mine looks like when I am in full swing. This is specifically the coding screen. That&#8217;s a 1920&#215;1600 resolution screen-shot <img src='http://durdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . I obviously also have a browsing screen not shown.</p>
<p style="text-align: left;"><a href="http://durdn.com/coding-session-xmonad.png"><img src="http://durdn.com/coding-session-xmonad.png" alt="coding session using xmonad" width="500" height="400" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">In the image above I am immersed into integrating <a title="Compass" href="http://compass-style.org">Compass</a> into <a href="http://pinaxproject.com">Pinax</a> (full post on that will follow).</p>
<p style="text-align: left;">When developing under Linux (<a title="Ubuntu" href="http://ubuntu.com">Ubuntu 9.04</a> at the moment) I have settled for a long time now on the ultra-productive tiling window manager <a title="Xmonad" href="http://xmonad.org">Xmonad</a>. Nothing I tried beats it. My fingers and my brain now are one with the keyboard short-cuts and the concept of mouse-less zen.</p>
<p style="text-align: left;">Yes I use <a href="http://www.vim.org/">vim</a> extensively and yes I use <a href="http://en.wikipedia.org/wiki/GNU_Screen">screen</a> with the new ubuntu <a href="http://arstechnica.com/open-source/news/2009/04/ubuntu-brings-advanced-screen-features-to-the-masses.ars">screen-profiles</a>. It rocks.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2009%2F07%2F01%2Fmy-desktop-during-an-intense-coding-session-using-xmonad%2F';
  addthis_title  = 'my+desktop+during+an+intense+coding+session+using+xmonad';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2009/07/01/my-desktop-during-an-intense-coding-session-using-xmonad/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>vim mind share soaring: roundup of 10 vim articles, recent and older gems</title>
		<link>http://durdn.com/blog/2008/11/26/vim-mind-share-soaring-roundup-of-10-vim-articles-recent-and-older-gems/</link>
		<comments>http://durdn.com/blog/2008/11/26/vim-mind-share-soaring-roundup-of-10-vim-articles-recent-and-older-gems/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 19:29:30 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[editors]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[guides]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[roundup]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=40</guid>
		<description><![CDATA[Am I the only one to notice that there is a lot of vim love in the airwaves recently? I saw the trend very clearly, spanning from reddit to news.yc and let me say that the material that came up recently is very good; those neat posts prompted me to improve my vimrc dramatically and [...]]]></description>
			<content:encoded><![CDATA[<p>Am I the only one to notice that there is a lot of <a href="http://www.vim.org/">vim</a> love in the airwaves recently?</p>
<p>I saw the trend very clearly, spanning from <a href="http://www.reddit.com/r/programming/search?q=vim">reddit</a> to <a href="http://news.ycombinator.com">news.yc</a> and let me say that the material that came up recently is very good; those neat posts prompted me to improve my vimrc dramatically and I really like what I learned.</p>
<p>In this installment, instead than annotating my vimrc (another one? not that interesting, I&#8217;ll refrain) , I want to compile a roundup of the best vim articles I saw recently.</p>
<p>I&#8217;ll also add a few classics that changed me from a hater to a vim lover and will conclude with some minor tips out of my bag.</p>
<p>So here we go with the roundup.</p>
<h3>Recent Vim Articles Roundup</h3>
<p>Jamis Buck</p>
<p style="padding-left: 30px;"><a href="http://weblog.jamisbuck.org/2008/11/17/vim-follow-up">Vim Follow Up</a></p>
<p style="padding-left: 30px;"><a href="http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim">Coming Home To Vim</a></p>
<p style="padding-left: 30px;">Jamis Buck switches back to vim from a period using <a href="http://macromates.com/">TextMate</a> and talks about his experience and his configuration. Many useful tips in there.</p>
<p>Stephen Bach</p>
<p style="padding-left: 30px;"><a href="http://items.sjbach.com/319/configuring-vim-right">Configuring Vim Right</a></p>
<p style="padding-left: 30px;">Sensible defaults for your vimrc, recommended.</p>
<p>Learnr dev blog</p>
<h1><a href="http://blog.learnr.org/"></a></h1>
<p style="padding-left: 30px;"><a href="http://blog.learnr.org/post/59098925/configuring-vim-some-more">Configuring Vim Some More</a></p>
<p style="padding-left: 30px;">Some additional configuration options that totally make sense and I incorporated in my config too.</p>
<p>Swaroop C H</p>
<p style="padding-left: 30px;"><a href="http://www.swaroopch.com/notes/Vim">A byte of vim</a></p>
<p style="padding-left: 30px;">A new free e-book on vim, worth reading. Covers also advanced topics like writing your own plug-ins.</p>
<p style="padding-left: 30px;"><a href="http://www.swaroopch.com/blog/effective-vim/">Effective Vim</a></p>
<p>This ends the recent vim trend spotting. But there are some older links that are worth sharing in my opinion.</p>
<h3>Older Vim Gems</h3>
<p>Jonathan McPherson</p>
<p style="padding-left: 30px;"><a href="http://jmcpherson.org/editing.html">Efficient Editing With Vim</a></p>
<p style="padding-left: 30px;">This is a true gem, an intermediate level tutorial that will convert you from a beginner vim user to a way more proficient one.<a href="http://jmcpherson.org/editing.html"><br />
</a></p>
<p>Jerry Wang</p>
<p style="padding-left: 30px;"><a href="http://www.jerrywang.net/vi/vitutor1.html">vi for smarties</a></p>
<p style="padding-left: 30px;">Very good beginners guide to vim.<a href="http://www.jerrywang.net/vi/vitutor1.html"><br />
</a></p>
<p><span style="font-family: arial;">David Rayner</span></p>
<p style="padding-left: 30px;"><a href="http://www.rayninfo.co.uk/vimtips.html?dupe=with_honor">best of vim tips</a></p>
<p style="padding-left: 30px;">Raw tips from a very long time vi/vim user</p>
<h3>Vim is also great for Python development, 3 ideas&#8230;</h3>
<p style="padding-left: 30px;"><a href="http://blogs.warwick.ac.uk/dwatkins/entry/vim_omnicomplete_awesomeness/">vim omnicomplete awesomeness</a></p>
<p style="padding-left: 30px;"><a href="http://blog.sontek.net/2008/05/11/python-with-a-modular-ide-vim/">How to make vim a modular Python IDE</a></p>
<p style="padding-left: 30px;"><a href="http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/">How to replicate SLIME in vim</a></p>
<h3><strong>Finally a few tips from myself</strong></h3>
<p><strong>vimperator</strong>: If you&#8217;re a heavy vim user you might want to checkout the great Firefox extension <a href="http://vimperator.org/trac/wiki/Vimperator">vimperator</a>. You&#8217;ll find yourself browsing mouse-less with familiar vim keystrokes in a matter of minutes. I love it.</p>
<p><strong>viPlugin for Eclipse</strong>: If you&#8217;re a Java developer (been there, done that) and you&#8217;re stuck with <a href="http://www.eclipse.org/">Eclipse</a>, you definitely want to have <a href="http://www.satokar.com/viplugin/">viPlugin</a>. It makes the Eclipse experience something much more pleasurable for one who has vi keystrokes embedded in the fingers.</p>
<p><strong>cool color scheme</strong>: If you&#8217;ve seen &#8220;<a href="http://media.rubyonrails.org/video/rails_take2_with_sound.mov">some</a>&#8221; screen-casts and you have just a subterranean <a href="http://macromates.com/">TextMate</a> envy and you can&#8217;t stop thinking at that cool color-scheme, well think no more, you can use <a href="http://www.vim.org/scripts/script.php?script_id=1794">this one</a> or my <a href="http://durdn.com/vibrantink-durdn.vim">humbly tweaked version</a>.</p>
<p>For <a href="http://delicious.com">delicious</a> users <a href="http://delicious.com/durdn/vim?setcount=50">here is the page</a> of my bookmarks that made me notice the trend.</p>
<h3>Ending note</h3>
<p>For full disclosure I have to say that I have been &#8211; and still am sometimes &#8211; an <a href="http://www.gnu.org/software/emacs/">Emacs</a> user. One of the rebel ones daring enough to use <a href="http://www.delorie.com/gnu/docs/emacs/viper.html">Viper</a> mode. So now you know.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F26%2Fvim-mind-share-soaring-roundup-of-10-vim-articles-recent-and-older-gems%2F';
  addthis_title  = 'vim+mind+share+soaring%3A+roundup+of+10+vim+articles%2C+recent+and+older+gems';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/11/26/vim-mind-share-soaring-roundup-of-10-vim-articles-recent-and-older-gems/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
<enclosure url="http://media.rubyonrails.org/video/rails_take2_with_sound.mov" length="54364199" type="video/quicktime" />
		</item>
		<item>
		<title>idea for a useful tool for a web entrepreneur/developer</title>
		<link>http://durdn.com/blog/2008/11/21/idea-for-a-useful-tool-for-a-web-entrepreneurdeveloper/</link>
		<comments>http://durdn.com/blog/2008/11/21/idea-for-a-useful-tool-for-a-web-entrepreneurdeveloper/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 10:52:51 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[colinux]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=39</guid>
		<description><![CDATA[This is the scenario I was thinking about: I want to interact with a graphic designer remotely, who is very very good with Photoshop and HTML/CSS but who might have trouble setting up the Linux environment needed to run my web app. What I would like to build (or find if it already exists) is [...]]]></description>
			<content:encoded><![CDATA[<p>This is the scenario I was thinking about: I want to interact with a graphic designer remotely, who is very very good with Photoshop and HTML/CSS but who might have trouble setting up the Linux environment needed to run my web app.</p>
<p>What I would like to build (or find if it already exists) is a custom CD that when inserted into a Windows or Mac OSX box does the following:</p>
<ul>
<li>Start a virtualbox/vmware instance with my Linux distribution of choice.</li>
<li>Inside the virtual machine the web app is started automatically in debug mode.</li>
<li>Proper networking is in place so that the web app is accessible to the host operating system on a specified port.</li>
<li>The template/media folder of my web app is shared via SMB with the host OS.</li>
</ul>
<p>This way the graphic designer could work on the templates/design of the application having (almost) zero knowledge of the technology behind and no access to the code.</p>
<p>I have already developed a solution like this for myself using <a href="http://colinux.org/">colinux</a>. But the process required quite some fiddling and was all but automatic. <img src='http://durdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Automated is the keyword.</p>
<p>That&#8217;s it.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F21%2Fidea-for-a-useful-tool-for-a-web-entrepreneurdeveloper%2F';
  addthis_title  = 'idea+for+a+useful+tool+for+a+web+entrepreneur%2Fdeveloper';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/11/21/idea-for-a-useful-tool-for-a-web-entrepreneurdeveloper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>testing out tuttivisti widgets</title>
		<link>http://durdn.com/blog/2008/11/19/testing-out-tuttivisti-widgets/</link>
		<comments>http://durdn.com/blog/2008/11/19/testing-out-tuttivisti-widgets/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 23:40:14 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[goodies]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tuttivisti]]></category>
		<category><![CDATA[viral]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=38</guid>
		<description><![CDATA[One of the first things I implemented for tuttivisti &#8211; to add just a hint of viral marketing to the project &#8211; was a widget that you can import on your own blog, maybe on the sidebar, to show the latest movies you either want to see or just watched. Let me test it here [...]]]></description>
			<content:encoded><![CDATA[<p>One of the first things I implemented for <a href="http://tuttivisti.com">tuttivisti</a> &#8211; to add just a hint of viral marketing to the project &#8211; was a widget that you can import on your own blog, maybe on the sidebar, to show the latest movies you either want to see or just watched. Let me test it here for you (and for me <img src='http://durdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ):</p>
<p><script src="http://tuttivisti.com/goodies/widgets/nick/widget.js?num_movies=8&amp;movies_per_row=4" type="text/javascript"></script></p>
<p>How does it work? Just go to the <a href="http://tuttivisti.com/goodies/">goodies page</a> (well login first) select how many columns and how many movies you want to show, click preview, copy the short Javascript snippet into your blog, website, myspace,etc. and you&#8217;re done.</p>
<p>I don&#8217;t think anybody is using this yet, but it&#8217;s understandable, tuttivisti has only a little above 100 users at the moment, most of whom never came back.</p>
<p>We&#8217;ll see if adding the next level of viral-ity will improve things: think posting your movies to twitter, pwnce, plurk, friendfeed, facebook, etc&#8230; <img src='http://durdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . I&#8217;ll try. I think I&#8217;ll start from twitter this week. Pinax supports it out of the box (together with openmicroblogging which is way cool).</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F19%2Ftesting-out-tuttivisti-widgets%2F';
  addthis_title  = 'testing+out+tuttivisti+widgets';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/11/19/testing-out-tuttivisti-widgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>a webapp in 1 week (part 2): the source of data</title>
		<link>http://durdn.com/blog/2008/11/18/a-webapp-in-1-week-part-2-the-source-of-data/</link>
		<comments>http://durdn.com/blog/2008/11/18/a-webapp-in-1-week-part-2-the-source-of-data/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 16:20:25 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[freebase]]></category>
		<category><![CDATA[semanticweb]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=36</guid>
		<description><![CDATA[In the first installment of this series I&#8217;ve spoken about a set of technologies that can speed up the time to market quite a bit. Read about it here if you missed it. This time I want to talk about where to get the content for your niche web app &#8211; if you need a [...]]]></description>
			<content:encoded><![CDATA[<p>In the first installment of this series I&#8217;ve spoken about a set of technologies that can speed up the time to market quite a bit. Read about it <a href="http://durdn.com/blog/2008/11/09/tools-for-rapid-prototyping-a-webapp-in-1-week/">here</a> if you missed it.</p>
<p>This time I want to talk about where to get the content for your niche web app &#8211; if you need a source of content, that is.</p>
<p><strong>Leverage the Semantic Web</strong></p>
<p>I apologize if you all know it and I am late to the news. But really, the semantic web is alive and here and I think one of its most promising incarnations is <a href="http://freebase.com">Freebase</a>.</p>
<p>What is Freebase?</p>
<p>Take the whole of Wikipedia, in it&#8217;s unstructured &#8211; well I should say semi-structured &#8211; mass of data, structure it properly creating schemas on schemas of semantic relations amongst articles, and expose a <a href="http://www.freebase.com/make">clean API</a> on top of it. Keep the openness part, allow anyone to create new domains (called <a href="http://www.freebase.com/view/guid/9202a8c04000641f8000000004f382c7">bases</a>) and to contribute structured content by hand or programmatically. That is freebase as I understand it.  <strong>Beautiful</strong>.</p>
<p><strong>How did I use it</strong></p>
<p>So the secret is out, that&#8217;s exactly what I used to present cool thumbnails and basic movie data for my tiny <a href="http://tuttivisti.com"></a><a href="http://tuttivisti.com">tuttivisti</a> &#8211; now at the second week of life (check it out by the way, the new release is out).</p>
<p>Let me go into deeper depth here because I realize the audience requires it.</p>
<p>The Freebase folks have <a href="http://www.freebase.com/make">extensive documentation</a> on how to interact with their service. In addition to that they publish two very nice <a href="http://www.python.org">Python</a> libraries, <a href="http://code.google.com/p/freebase-suggest/">freebase-suggest</a> and <a href="http://code.google.com/p/freebase-python/">freebase-python</a>. The first to add a cool, jquery based autocompletion dropdown to your forms, the second to query Freebase programmatically from a Python program.</p>
<p><strong>freebase-suggest example</strong></p>
<p>Using the freebase-suggest library is very easy. To achieve this:</p>
<p><a href="http://durdn.com/blog/wp-content/uploads/2008/11/autocompletion.png"><img class="alignnone size-full wp-image-37" title="tuttivisti autocompletion" src="http://durdn.com/blog/wp-content/uploads/2008/11/autocompletion.png" alt="" width="500" height="183" /></a></p>
<p>I just had to add this jquery snippet to the bottom of the page:<br />
<code><br />
&lt;script type="text/javascript"&gt;<br />
var options = {<br />
soft: false,<br />
ac_param: {<br />
type: '/film/film',<br />
category: 'instance',<br />
disamb: '1',<br />
limit: '10'<br />
}<br />
};<br />
</code></p>
<p><code> $('#searchbox')<br />
.freebaseSuggest(options)<br />
.bind('fb-select', function(e, data) {<br />
$('#searchbox').val(data.name);<br />
$('#freebase_id').val(data.id);<br />
$('#freebase_image_id').val(data.image.id);<br />
$('#search_movie_form').submit();<br />
return false;<br />
});<br />
&lt;/script&gt;<br />
</code></p>
<p>And mark the text input of the search with id=&#8221;searchbox&#8221;.</p>
<p>The freebase-python library is also very easy to use and I encourage you to take a look at the documentation, here.</p>
<p>So in conclusion, before your app gains traction and your content is produced by your users, leverage the Semantic Web if you can, use freebase!</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F18%2Fa-webapp-in-1-week-part-2-the-source-of-data%2F';
  addthis_title  = 'a+webapp+in+1+week+%28part+2%29%3A+the+source+of+data';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/11/18/a-webapp-in-1-week-part-2-the-source-of-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One-liner to list Ubuntu packages you installed recently</title>
		<link>http://durdn.com/blog/2008/11/09/one-liner-to-list-ubuntu-packages-you-installed-recently/</link>
		<comments>http://durdn.com/blog/2008/11/09/one-liner-to-list-ubuntu-packages-you-installed-recently/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 15:25:54 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[ubuntu xargs dpkg awk]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=34</guid>
		<description><![CDATA[Quick one liner to list the ubuntu packages you recently installed on a machine. I needed this to copy the configuration of one of my production boxes onto a dev environment: sudo cat /var/log/dpkg.log &#124; grep \ installed &#124; awk {'print $5'} &#124; xargs mysql-client-5.0 mysql-server-5.0 ... apache2 addthis_url = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F09%2Fone-liner-to-list-ubuntu-packages-you-installed-recently%2F'; addthis_title = 'One-liner+to+list+Ubuntu+packages+you+installed+recently'; addthis_pub [...]]]></description>
			<content:encoded><![CDATA[<p>Quick one liner to list the ubuntu packages you recently installed on a machine. I needed this to copy the configuration of one of my production boxes onto a dev environment:</p>
<p><code>sudo cat /var/log/dpkg.log | grep \ installed | awk {'print $5'} | xargs</code></p>
<p><code>mysql-client-5.0 mysql-server-5.0 ... apache2</code></p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F09%2Fone-liner-to-list-ubuntu-packages-you-installed-recently%2F';
  addthis_title  = 'One-liner+to+list+Ubuntu+packages+you+installed+recently';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/11/09/one-liner-to-list-ubuntu-packages-you-installed-recently/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools for rapid prototyping: a webapp in 1 week</title>
		<link>http://durdn.com/blog/2008/11/09/tools-for-rapid-prototyping-a-webapp-in-1-week/</link>
		<comments>http://durdn.com/blog/2008/11/09/tools-for-rapid-prototyping-a-webapp-in-1-week/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 00:35:33 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[ycombinator]]></category>
		<category><![CDATA[startup tuttivisti dev tools django pinax jquery bluetr]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=33</guid>
		<description><![CDATA[First things first.  My new webapp tuttivisti is live! This post is about how it came to be. In just one week. One person team. Crazy working hours. So I was there immediately after receiving the news that YC did not select my team for this round. I thought I would feel depressed. I thought [...]]]></description>
			<content:encoded><![CDATA[<p>First things first.  My new webapp <a href="http://tuttivisti.com">tuttivisti</a> is live!</p>
<p>This post is about how it came to be. In just one week. One person team. Crazy working hours.</p>
<p>So I was there immediately after receiving the news that <a href="http://ycombinator.com">YC</a> did not select my team for this round. I thought I would feel depressed. I thought that the put down would ruin my mood.</p>
<p>Well it didn&#8217;t! I actually felt a jolt of energy. For some reason I felt a bit as if I had been freed. Can&#8217;t really explain why but my motivation and excitement bounced back up.</p>
<p>So what did I do with all this creative energy? Well my partner for <a href="http://diffract.me">diffract.me</a> (the other project I am preparing to launch) had to go for a few days back home and we hadn&#8217;t planned our next iteration yet. So I decided to dive into something new, short and sweet.</p>
<p>Yep, I started coding. Again. From scratch.</p>
<p>I sat on the shoulders of giants. For this 1 week challenge I picked some of the most productive tools I know (and these will be topic for a future post):</p>
<ul>
<li><a href="http://djangoproject.com">Django<br />
</a></li>
<li><a href="http://pinaxproject.com">Pinax</a></li>
<li><a href="http://bluetrip.org">Bluetrip</a></li>
<li><a href="http://jquery.com/">jquery</a></li>
</ul>
<p>I&#8217;d love to communicate properly the productivity boost that the set of frameworks above can give a developer.</p>
<p>No more spending endless hours trying to create a decent CSS/HTML layout. Bluetrip (and by saying Bluetrip I mean also the great <a href="http://www.blueprintcss.org/">Blueprint</a> and <a href="http://devkick.com/lab/tripoli/">Tripoli</a> from which Bluetrip has been created) makes it trivial to put the stuff exactly where you want it on the screen. Cross-browser. No hassle.</p>
<p><a href="http://pinaxproject.com">Pinax</a>. Ah, the joy. No more coding for the nth time a registration module. No messing with authentication emails. No rewriting another <a href="http://openid.net/">openid</a> library. No more. It&#8217;s all there. Ready to use. Greatly structured. Amazing stuff. This is a game changer in my opinion.</p>
<p><a href="http://jquery.com/">Jquery</a>. Well it needs no introduction. Jquery is a work of genius. For me it changed coding in Javascript from a painful experience into a pleasurable one. I love Javascript again.</p>
<p>Now will <a href="http://tuttivisti.com">tuttivisti </a>fly? I sure hope so, but the truth is that it does not matter. What I am saying to myself is: If I can build something like this in 1 week the question is not &#8220;will I ever manage to build a webapp that gains some traction?&#8221; but &#8220;How many attempts will it take? Is 5 going to be enough? 10?&#8221;. Maybe. <img src='http://durdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>I have a lot more to say but will cut it short. I am at the end of a very very long and demanding coding spree.</p>
<p><strong>Update:</strong> The past weekend a new version of tuttivisti has gone live, my 2nd week of work on the project, which incorporated much of the feedback I received, but a lot of work is still needed. So feedback is welcome, and &#8211; yes I know &#8211; I need a graphic designer.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F11%2F09%2Ftools-for-rapid-prototyping-a-webapp-in-1-week%2F';
  addthis_title  = 'Tools+for+rapid+prototyping%3A+a+webapp+in+1+week';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/11/09/tools-for-rapid-prototyping-a-webapp-in-1-week/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>one line search and replace in a folder [OSX]</title>
		<link>http://durdn.com/blog/2008/10/01/one-line-search-and-replace-in-a-folder-osx/</link>
		<comments>http://durdn.com/blog/2008/10/01/one-line-search-and-replace-in-a-folder-osx/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 10:10:30 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://durdn.com/blog/?p=27</guid>
		<description><![CDATA[Beautiful tip to search and replace all occurrences of a string in a given folder.  I had to change it slightly to make it work under OSX so here it is for future reference:   find . -type f -exec sed -i -e &#8216;s/Old/New/g&#8217; {} \; addthis_url = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F10%2F01%2Fone-line-search-and-replace-in-a-folder-osx%2F'; addthis_title = 'one+line+search+and+replace+in+a+folder+%5BOSX%5D'; addthis_pub = 'durdn';]]></description>
			<content:encoded><![CDATA[<p>Beautiful <a href="http://www.teachmejoomla.net/code/misc/sed-find-and-replace-in-folder.html">tip</a> to search and replace all occurrences of a string in a given folder. </p>
<p>I had to change it slightly to make it work under OSX so here it is for future reference:</p>
<p>  find . -type f -exec sed -i -e &#8216;s/Old/New/g&#8217; {} \;</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fdurdn.com%2Fblog%2F2008%2F10%2F01%2Fone-line-search-and-replace-in-a-folder-osx%2F';
  addthis_title  = 'one+line+search+and+replace+in+a+folder+%5BOSX%5D';
  addthis_pub    = 'durdn';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://durdn.com/blog/2008/10/01/one-line-search-and-replace-in-a-folder-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.323 seconds -->
