<?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>Kevin Deldycke</title> <atom:link href="http://kevin.deldycke.com/feed/?utm_source=feedburner&#038;utm_medium=twitter&#038;utm_campaign=kdeldycke" rel="self" type="application/rss+xml" /><link>http://kevin.deldycke.com</link> <description>Free software engineer &#38; wannabe videomaker</description> <lastBuildDate>Fri, 03 Feb 2012 19:08:27 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>How-to generate PDF from Markdown</title><link>http://kevin.deldycke.com/2012/01/how-to-generate-pdf-markdown/</link> <comments>http://kevin.deldycke.com/2012/01/how-to-generate-pdf-markdown/#comments</comments> <pubDate>Tue, 31 Jan 2012 18:06:29 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[convertion]]></category> <category><![CDATA[Gimli]]></category> <category><![CDATA[GitHub]]></category> <category><![CDATA[LaTeX]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[markdown]]></category> <category><![CDATA[natty]]></category> <category><![CDATA[pandoc]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[ruby]]></category> <category><![CDATA[TeX]]></category> <category><![CDATA[Ubuntu 11.04]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4560</guid> <description><![CDATA[Pandoc The first tool you can use to convert a Markdown file to PDF is Pandoc. To install Pandoc and all its dependencies on my Ubuntu 11.04, I used the following command: Then I applied the PDF transformation on the &#8230; <a href="http://kevin.deldycke.com/2012/01/how-to-generate-pdf-markdown/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Pandoc</h2><p>The first tool you can use to convert a <a href="http://en.wikipedia.org/wiki/Markdown">Markdown</a> file to PDF is <a href="http://johnmacfarlane.net/pandoc/">Pandoc</a>.</p><p>To install Pandoc and all its dependencies on my Ubuntu 11.04, I used the following command:</p><pre class="brush: bash; title: ; notranslate">
$ aptitude install pandoc nbibtex texlive-latex-base texlive-latex-recommended texlive-latex-extra preview-latex-style dvipng texlive-fonts-recommended
</pre><p>Then I applied the PDF transformation on the <a href="https://github.com/kdeldycke/openerp.buildout/blob/master/README.md">README.md</a> file from my <a href="https://github.com/kdeldycke/openerp.buildout">openerp.buildout GitHub project</a>:</p><pre class="brush: bash; title: ; notranslate">
$ wget https://raw.github.com/kdeldycke/openerp.buildout/master/README.md
$ markdown2pdf README.md -o readme-pandoc.pdf
</pre><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/readme-pandoc.pdf">The result</a> is good, but not perfect. For example code blocks with long lines don&#8217;t break at the end of the page:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/pandoc-non-wraping-code-blocks.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/pandoc-non-wraping-code-blocks-300x53.png" alt="" title="pandoc-non-wraping-code-blocks" width="300" height="53" class="aligncenter size-medium wp-image-4562" /></a></p><p>While trying to solve this issue, I stumble upon another tool&#8230;</p><h2>Gimli</h2><p><a href="https://github.com/walle/gimli">Gimli</a> is an utility that was explicitly written with GitHub in mind.</p><p>Gimli is written in Ruby, so let&#8217;s install it the Ruby way:</p><pre class="brush: bash; title: ; notranslate">
$ aptitude install rubygems wkhtmltopdf
$ gem install gimli
</pre><p>Then we can convert our Markdown file to a PDF. The following will generate a README.pdf file in the current folder:</p><pre class="brush: bash; title: ; notranslate">
$ /var/lib/gems/1.8/bin/gimli -f ./README.md
</pre><p>The <a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/readme-gimli.pdf">resulting PDF</a> is really close to how GitHub renders Markdown content on its website. And it solve the bad code block style of Pandoc:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/gimli-wraping-code-blocks.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/gimli-wraping-code-blocks-300x53.png" alt="" title="gimli-wraping-code-blocks" width="300" height="53" class="aligncenter size-medium wp-image-4564" /></a></p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2012/01/how-to-generate-pdf-markdown/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Burlesque Burglary music video released</title><link>http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/</link> <comments>http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/#comments</comments> <pubDate>Tue, 24 Jan 2012 13:28:23 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Canon EOS 7D]]></category> <category><![CDATA[Cool Cavemen]]></category> <category><![CDATA[KDE]]></category> <category><![CDATA[subtitle]]></category> <category><![CDATA[Subtitling]]></category> <category><![CDATA[translation]]></category> <category><![CDATA[Video]]></category> <category><![CDATA[youtube]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4478</guid> <description><![CDATA[I&#8217;ve just released my last video project: a music video for Burlesque Burglary by Cool Cavemen. Here is the official announcement on the band website, and here is the video: It&#8217;s also the first time I produce subtitles, since I &#8230; <a href="http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;ve just released</a> my last video project: a music video for <a href="http://coolcavemen.com/discography/songs-and-lyrics/burlesque-burglary/">Burlesque Burglary</a> by <a href="http://coolcavemen.com">Cool Cavemen</a>. Here is the <a href="http://coolcavemen.com/2012/nouveau-clip-video-burlesque-burglary/">official announcement</a> on the band website, and here is the video:</p> <span style="text-align:center; display: block;"><a href="http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/"><img src="http://img.youtube.com/vi/JYQ0YehsLyU/2.jpg" alt="" /></a></span><p>It&#8217;s also the first time I produce subtitles, since I found out about <a href="http://sourceforge.net/projects/subcomposer/">Subtitle Composer</a> last week, which is a great and simple subtitling software for KDE. This software was so good that I basically <a href="https://twitter.com/#!/coolcavemen/status/160641358762229760">added subtitles</a> <a href="https://twitter.com/#!/coolcavemen/status/161783153567076352">to all</a> <a href="http://www.youtube.com/user/coolcavemen">Cool Cavemen&#8217;s video on YouTube</a> over the week-end. BTW, if you want to contribute to this effort and offer us translation of lyrics and subtitles, send me an email and I&#8217;ll help you.</p><p>I&#8217;ll try to produce detailed production notes in an upcoming article. So don&#8217;t forget to subscribe to the <a href="http://kevin.deldycke.com/feed/">RSS feed of that blog</a> to not miss it ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>And finally, here are some stills from the video:<br /><a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0000/' title='burlesque-burglary-0000'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0000-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0000" title="burlesque-burglary-0000" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0001/' title='burlesque-burglary-0001'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0001-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0001" title="burlesque-burglary-0001" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0002/' title='burlesque-burglary-0002'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0002-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0002" title="burlesque-burglary-0002" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0003/' title='burlesque-burglary-0003'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0003-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0003" title="burlesque-burglary-0003" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0004/' title='burlesque-burglary-0004'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0004-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0004" title="burlesque-burglary-0004" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0005/' title='burlesque-burglary-0005'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0005-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0005" title="burlesque-burglary-0005" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0006/' title='burlesque-burglary-0006'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0006-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0006" title="burlesque-burglary-0006" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0007/' title='burlesque-burglary-0007'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0007-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0007" title="burlesque-burglary-0007" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0008/' title='burlesque-burglary-0008'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0008-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0008" title="burlesque-burglary-0008" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0009/' title='burlesque-burglary-0009'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0009-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0009" title="burlesque-burglary-0009" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0010/' title='burlesque-burglary-0010'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0010-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0010" title="burlesque-burglary-0010" /></a> <a href='http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/burlesque-burglary-0011/' title='burlesque-burglary-0011'><img width="150" height="150" src="http://kevin.deldycke.com/wp-content/uploads/2012/01/burlesque-burglary-0011-150x150.jpg" class="attachment-thumbnail" alt="burlesque-burglary-0011" title="burlesque-burglary-0011" /></a></p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2012/01/burlesque-burglary-music-video-released/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Reusing vintage footage for Cool Cavemen&#8217;s concert intro</title><link>http://kevin.deldycke.com/2012/01/reusing-vintage-footage-cool-cavemens-concert-intro/</link> <comments>http://kevin.deldycke.com/2012/01/reusing-vintage-footage-cool-cavemens-concert-intro/#comments</comments> <pubDate>Tue, 17 Jan 2012 11:14:30 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Belgium]]></category> <category><![CDATA[classic 21]]></category> <category><![CDATA[concert]]></category> <category><![CDATA[Cool Cavemen]]></category> <category><![CDATA[Gimp]]></category> <category><![CDATA[intro]]></category> <category><![CDATA[kdenlive]]></category> <category><![CDATA[radio]]></category> <category><![CDATA[RTBF]]></category> <category><![CDATA[tribute]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[Video]]></category> <category><![CDATA[youtube]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4358</guid> <description><![CDATA[The goal of that project was to illustrate a pre-recorded soundtrack. The latter being to Cool Cavemen what The Ecstasy of Gold is to Metallica: a piece that is played before each show and serve as concert intro. It&#8217;s an &#8230; <a href="http://kevin.deldycke.com/2012/01/reusing-vintage-footage-cool-cavemens-concert-intro/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>The goal of that project was to illustrate a pre-recorded soundtrack. The latter being to Cool Cavemen what <a href="http://en.wikipedia.org/wiki/The_Ecstasy_of_Gold">The Ecstasy of Gold</a> is to Metallica: a piece that is <a href="http://www.youtube.com/watch?v=PnX-wK2lVCQ">played before each show</a> and serve as concert intro.</p><p>It&#8217;s an original mockup of a radio broadcast, and a tribute to <a href="http://www.rtbf.be/classic21/">Classic 21</a> (<a href="http://en.wikipedia.org/wiki/Classic_21">ex &#8220;Radio 21&#8243;</a>), the (best) Belgian radio station we used to listen to as teenagers, and still do.</p><p>Footage used to produce this video is public domain material <a href="http://www.archive.org/details/movies">found at archive.org</a>. If you&#8217;re curious, the detailed list of all sources is available in the credits, at the end of the video.</p><p><a href="http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/">As for my previous project</a>, I have to warn you that it may not look as funny as for French-speaking audience. That being said, here is the final result:</p> <span style="text-align:center; display: block;"><a href="http://kevin.deldycke.com/2012/01/reusing-vintage-footage-cool-cavemens-concert-intro/"><img src="http://img.youtube.com/vi/wJeyu-xEL_0/2.jpg" alt="" /></a></span><p>The challenge of this project was to have video of people speaking in sync with the audio. I suffered a lot trying to make it as convincing as possible. If the final result is far from perfect, I find it to be believable enough for the amount of time I invested in.</p><p>As for the tools used to produce this video, I edited it in November with a development version of Kdenlive, under an Ubuntu 11.10. As usual, here is a screenshot of my timeline for reference:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/cool-cavemen-radio-concert-intro-kdenlive-edit.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/cool-cavemen-radio-concert-intro-kdenlive-edit-300x159.png" alt="" title="cool-cavemen-radio-concert-intro-kdenlive-edit" width="300" height="159" class="aligncenter size-medium wp-image-4400" /></a></p><p>The project is using Kdenlive&#8217;s &#8220;NTSC 29.97 fps&#8221; profile, which produce a 720&#215;486 pixels stream with a pixel aspect ratio of 8/9 and a display aspect ratio of 4/3. I choose this profile as it was the closest to the original videos I downloaded from archive.org.</p><p>I composed the credits and title card in Gimp, and tried to mimic the style of that period. This mean approximative composition and abuse of typography:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/title-card-gimp-edit.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/title-card-gimp-edit-300x156.png" alt="" title="title-card-gimp-edit" width="300" height="156" class="aligncenter size-medium wp-image-4398" /></a></p><p>To enhance the effect, I blurred everything and separated the text blocks in several layers. I then applied to each of them some random movements to add a parallax effect, thus getting closer to the look and feel produced by the imprecise optical process used in the early days of movie making.</p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2012/01/reusing-vintage-footage-cool-cavemens-concert-intro/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Windows glitches</title><link>http://kevin.deldycke.com/2012/01/windows-glitches/</link> <comments>http://kevin.deldycke.com/2012/01/windows-glitches/#comments</comments> <pubDate>Tue, 03 Jan 2012 11:32:39 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[glitches]]></category> <category><![CDATA[UI]]></category> <category><![CDATA[windows]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4367</guid> <description><![CDATA[Using the holidays to tidy up my archives, I stumble upon old screenshots of Windows glitches I encountered when I was a student. Yes, the base platform at school was Windows, but it was 10 years ago (if this can &#8230; <a href="http://kevin.deldycke.com/2012/01/windows-glitches/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Using the holidays to tidy up my archives, I stumble upon old screenshots of Windows glitches I encountered when I was a student. Yes, the base platform at school was Windows, but it was 10 years ago (if this can constitute a valid excuse to not use Linux). Wait. What ? 10 years ago ? How time flies !</p><p>Anyway. Without further ado, let&#8217;s start this moment of pure nostalgia with a 1.74 Gb floppy disk:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/SizePB.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/SizePB.png" alt="" title="SizePB" width="277" height="222" class="aligncenter size-full wp-image-4368" /></a></p><p>This one was produced by repeatedly screenshoting the current screen in a Word document. I found it interesting because of the decaying pink color. I think this degradation was the result of cumulative color dithering or any other image compression artifact:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/df.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/df-300x225.png" alt="" title="df" width="300" height="225" class="aligncenter size-medium wp-image-4369" /></a></p><p>The last ones are not glitches <em>per se</em> but major UI issues. Here automated system upgrades triggered a modal window you weren&#8217;t able to close or dismiss, leaving you with no choice but reboot the machine and lose any unsaved work:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/update.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/update-300x225.png" alt="" title="update" width="300" height="225" class="aligncenter size-medium wp-image-4370" /></a></p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2012/01/ie1.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2012/01/ie1-300x225.png" alt="" title="ie" width="300" height="225" class="aligncenter size-medium wp-image-4372" /></a></p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2012/01/windows-glitches/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Auto-advance WordPress&#8217; TwentyEleven showcase slides</title><link>http://kevin.deldycke.com/2011/12/auto-advance-wordpress-twentyeleven-showcase-slides/</link> <comments>http://kevin.deldycke.com/2011/12/auto-advance-wordpress-twentyeleven-showcase-slides/#comments</comments> <pubDate>Tue, 27 Dec 2011 11:44:02 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[showcase]]></category> <category><![CDATA[Template]]></category> <category><![CDATA[Theme]]></category> <category><![CDATA[twentyeleven]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4227</guid> <description><![CDATA[WordPress default theme, TwentyEleven, has a built-in showcase mode that is displaying a set a slides (composed of sticky posts) at the top of a page. This mode can be activated by creating a static page and set its Template &#8230; <a href="http://kevin.deldycke.com/2011/12/auto-advance-wordpress-twentyeleven-showcase-slides/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>WordPress default theme, <a href="http://theme.wordpress.com/themes/twentyeleven/">TwentyEleven</a>, has a built-in <a href="http://twentyelevendemo.wordpress.com/showcase/">showcase mode</a> that is displaying a set a slides (composed of sticky posts) at the top of a page. This mode can be activated by creating a static page and set its <em>Template</em> page attribute to <em>Showcase Template</em>.</p><p>The problem with this mode to me was the lack of an auto-advance feature that will cycle through the slides every X seconds. Luckily I <a href="http://pastebin.com/s6JEthVi">found a way</a> to automate implement this with some lines of JavaScript:</p><pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
    // Auto-advance the showcase slider
    // Source: http://pastebin.com/s6JEthVi
    jQuery(document).ready(function(){
        var change_every = 5; // The number of seconds that the slider will auto-advance in
        var current = 1;
        function auto_advance(){
            if(current == -1) return false;
            jQuery('.feature-slider a').eq(current % jQuery('.feature-slider a').length).trigger('click', [true]);
            current++;
        };
        setInterval(function(){auto_advance()}, change_every * 1000);
    });
&lt;/script&gt;
</pre><p>All you have to do is to embed this snippet of code within your home page. It could either be in the static page you use as a showcase template or in a showcase widget. The latter is the exact same method I used earlier that year to <a href="http://kevin.deldycke.com/2011/01/new-blog-header-and-tiny-wordpress-theme-customizations/">customize CSS in WordPress without messing with the original code</a>.</p><p>And of course this code is currently live at the front page of that very blog.</p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/12/auto-advance-wordpress-twentyeleven-showcase-slides/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Increase Dropbox free capacity with Google AdWords</title><link>http://kevin.deldycke.com/2011/12/increase-dropbox-free-capacity-google-adwords/</link> <comments>http://kevin.deldycke.com/2011/12/increase-dropbox-free-capacity-google-adwords/#comments</comments> <pubDate>Tue, 20 Dec 2011 11:00:12 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[adwords]]></category> <category><![CDATA[coupons]]></category> <category><![CDATA[dropbox]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Kfilebox]]></category> <category><![CDATA[kubuntu]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4187</guid> <description><![CDATA[I started to use Dropbox 6 months ago at work, but I only use it for personal files since November. Now that I seamlessly integrated it on my Kubuntu thanks to Kfilebox, it quickly became clear that Dropbox will potentially &#8230; <a href="http://kevin.deldycke.com/2011/12/increase-dropbox-free-capacity-google-adwords/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I started to use Dropbox 6 months ago at work, but I only use it for personal files since November. Now that I seamlessly integrated it on my Kubuntu thanks to <a href="http://kdropbox.deuteros.es">Kfilebox</a>, it quickly became clear that Dropbox will potentially be part of my everyday computer life. But before definitely integrate an external dependency to my workflow, I had to test Dropbox further, which requires me to go beyond the default 2Go account.</p><p>To maximize the free storage capacity of my account, I <a href="http://dropbox.com/gs">completed all the basic installation steps</a> (earned me 250 Mb), then I <a href="http://dropbox.com/free">connected my Dropbox account with Twitter</a> to get 500 Mb. I could have got more free space if I had a Facebook account or was a <a href="http://dropbox.com/edu">student</a>.</p><p>What&#8217;s left to enlarge your capacity is <a href="http://dropbox.com/account#referrals">referrals</a>. To speed up this process, and following the <a href="http://vladik.rikhter.org/2011/09/22/maxing-out-your-dropbox-referrals-how-i-got-16gb-for-less-than-10/">steps of others</a>, I setup an AdWords campaign (all of this triggered by a <a href="http://news.ycombinator.com/item?id=3126173">post on Hacker News</a>).</p><p>I only targeted the French audience because I feared the HN post would have temporarily inflated the cost of English keywords. Here are the daily stats of my campaign:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-daily-stats.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-daily-stats-300x268.png" alt="" title="dropbox-adwords-campaign-daily-stats" width="300" height="268" class="aligncenter size-medium wp-image-4190" /></a></p><p>And here are the ads I created:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-text-ads-details.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-text-ads-details-264x300.png" alt="" title="dropbox-adwords-campaign-text-ads-details" width="264" height="300" class="aligncenter size-medium wp-image-4191" /></a></p><p>The paused ads above are those which didn&#8217;t invited the user to install the Dropbox desktop client. And the latter action is absolutely required to unlock the bonus capacity.</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-referrals.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-referrals-300x240.png" alt="" title="dropbox-referrals" width="300" height="240" class="aligncenter size-medium wp-image-4196" /></a></p><p>And if your interested in all the details involved, here is a <a href="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-keyword-report.pdf">keyword report</a>.</p><p>At the end it costs me 31.77€ to get 8Go of additional Dropbox capacity trough referrals:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-france-report.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/12/dropbox-adwords-campaign-france-report-300x27.png" alt="" title="dropbox-adwords-campaign-france-report" width="300" height="27" class="aligncenter size-medium wp-image-4192" /></a></p><p>That&#8217;s not cheap, but was a fun hack and a great excuse to learn how to use Google AdWords. And next time I know what I&#8217;ll do with <a href="http://kevin.deldycke.com/2009/12/deux-bons-50-euros-offerts-google-adwords/">those</a> <a href="http://kevin.deldycke.com/2010/02/google-adwords-bon-reduction-75-euros-offert/">AdWords coupons</a> I <a href="http://kevin.deldycke.com/2010/10/75-euros-de-publicite-offerte-sur-google-adword/">regularly give away</a>&#8230; <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/12/increase-dropbox-free-capacity-google-adwords/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>WordPress commands</title><link>http://kevin.deldycke.com/2011/12/wordpress-commands/</link> <comments>http://kevin.deldycke.com/2011/12/wordpress-commands/#comments</comments> <pubDate>Tue, 13 Dec 2011 11:41:07 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Blog]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3410</guid> <description><![CDATA[To activate the debug mode of WordPress, add the following PHP code in wp-config.php: This SQL query remove all revisions of posts having the topic, reply and attachment type (tested on WordPress 3.1.x):]]></description> <content:encoded><![CDATA[<ul><li>To activate the debug mode of WordPress, add the following PHP code in <code>wp-config.php</code>:<pre class="brush: php; title: ; notranslate">
define('WP_DEBUG', true);
</pre></li><li>This SQL query remove all revisions of posts having the <code>topic</code>, <code>reply</code> and <code>attachment</code> type (tested on WordPress 3.1.x):<pre class="brush: sql; title: ; notranslate">
DELETE child.* FROM wp_posts AS child LEFT JOIN wp_posts AS parent ON parent.ID = child.post_parent WHERE child.post_type = &quot;revision&quot; AND parent.post_type IN (&quot;topic&quot;, &quot;reply&quot;, &quot;attachment&quot;);
</pre></li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/12/wordpress-commands/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Live Browser : a Python web app using Microsoft Live Connect API</title><link>http://kevin.deldycke.com/2011/12/live-browser-python-web-app-microsoft-live-connect-api/</link> <comments>http://kevin.deldycke.com/2011/12/live-browser-python-web-app-microsoft-live-connect-api/#comments</comments> <pubDate>Tue, 06 Dec 2011 11:27:03 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[API]]></category> <category><![CDATA[Boilerplate]]></category> <category><![CDATA[bootstrap]]></category> <category><![CDATA[cherrypy]]></category> <category><![CDATA[cloud-computing]]></category> <category><![CDATA[Git]]></category> <category><![CDATA[GitHub]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[mako]]></category> <category><![CDATA[microsoft]]></category> <category><![CDATA[microsoft live connect]]></category> <category><![CDATA[mongodb]]></category> <category><![CDATA[OAuth]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Web]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3901</guid> <description><![CDATA[5 months ago I was called by a recruiter for a position in a startup building cloud-computing solutions. At the end of my first interview with the engineers of the company, I was asked to write a little web application &#8230; <a href="http://kevin.deldycke.com/2011/12/live-browser-python-web-app-microsoft-live-connect-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>5 months ago I was called by a recruiter for a position in a startup building cloud-computing solutions. At the end of my first interview with the engineers of the company, I was asked to write a little web application to test my technical abilities.</p><p>The goal was to create a back-end talking to <a href="http://msdn.microsoft.com/windowslive">Microsoft&#8217;s Live Connect API</a> and keep a cache of user profiles. Then a front-end demonstrating my HTML/CSS/JS know-how was to be built. User authentication was supposed to use <a href="http://oauth.net">OAuth</a>.</p><p>The only technological constraint was to use Python. I decided to use <a href="http://cherrypy.org">CherryPy</a> and <a href="http://www.makotemplates.org">Mako</a> to leverage the <a href="http://kevin.deldycke.com/2011/08/cherrypy-mako-formish-ooop-boilerplate/">boilerplate code I just released back then</a>. For the persistent layer, my first intention was to use <a href="http://www.sqlalchemy.org">SQLAlchemy</a>, but quickly switched to <a href="http://www.mongodb.org">MongoDB</a> as I never played with it and this project was a great opportunity to.</p><p>If my web app was far from finished, it was still well-received by the team. After other interviews I was made an competitive offer. I finally declined as I wanted to finish what I stated at my current company.</p><p>What&#8217;s left of this experience is <em>Live Browser</em>, the web app I created, which <a href="https://github.com/kdeldycke/live_browser">source code is now available on GitHub</a>.</p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/12/live-browser-python-web-app-microsoft-live-connect-api/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Nichrome Preview (and Behind the Scene) video</title><link>http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/</link> <comments>http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/#comments</comments> <pubDate>Wed, 30 Nov 2011 23:12:39 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Canon EOS 7D]]></category> <category><![CDATA[Cool Cavemen]]></category> <category><![CDATA[Digital photography]]></category> <category><![CDATA[Gimp]]></category> <category><![CDATA[kdenlive]]></category> <category><![CDATA[kubuntu]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[nichrome]]></category> <category><![CDATA[outtakes]]></category> <category><![CDATA[tokina]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=4022</guid> <description><![CDATA[Two months ago (October 8th) I shot a video for Cool Cavemen. I haven&#8217;t talked about it on this blog yet, let&#8217;s fix this right now: The song is Nichrome, which is a brand new song that will be available &#8230; <a href="http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Two months ago (October 8th) I shot a video for <a href="http://coolcavemen.com">Cool Cavemen</a>. I haven&#8217;t talked about it on this blog yet, let&#8217;s fix this right now:</p> <span style="text-align:center; display: block;"><a href="http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/"><img src="http://img.youtube.com/vi/P1B-DUgKS9M/2.jpg" alt="" /></a></span><p>The song is <a href="http://coolcavemen.com/discography/songs-and-lyrics/nichrome/">Nichrome</a>, which is a brand new song that will be available on Cool Cavemen&#8217;s upcoming album (to be released in 2012). This is the first time Nichrome is made public. The video is only a preview of the song: it only contains the first 2 minutes and the audio track is a <a href="http://en.wikipedia.org/wiki/Demo_(music)">demo</a>, not the final studio version.</p><p>Demos are used not only for reference, but also for rehearsals when a band member is missing. That&#8217;s the case in this video: there is no bass player, but his parts are played in all musician&#8217;s headphones. Shooting the video in this playback setup is a huge advantage for me, as it removes all issues related to audio/video synchronizations and tempo deviations.</p><p>I shot with my <a href="http://www.amazon.com/gp/product/B002NEGTTW/ref=as_li_tf_tl?ie=UTF8&#038;tag=kevideld-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399381&#038;creativeASIN=B002NEGTTW">Canon EOS 7D</a><img src="http://www.assoc-amazon.com/e/ir?t=kevideld-20&#038;l=as2&#038;o=1&#038;a=B002NEGTTW&#038;camp=217145&#038;creative=399381" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> (1080p, 23.976 fps, 1/50s shutter speed) and a <a href="http://www.amazon.com/gp/product/B0014Z3XMC/ref=as_li_tf_tl?ie=UTF8&#038;tag=kevideld-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B0014Z3XMC">Tokina 11-16mm f/2.8</a><img src="http://www.assoc-amazon.com/e/ir?t=kevideld-20&#038;l=as2&#038;o=1&#038;a=B0014Z3XMC&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> wide open. I used this lens over my <a href="http://www.amazon.com/gp/product/B002OP5AY0/ref=as_li_ss_tl?ie=UTF8&#038;tag=kevideld-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=B002OP5AY0">8mm f/3.5 Fish-Eye</a><img src="http://www.assoc-amazon.com/e/ir?t=kevideld-20&#038;l=as2&#038;o=1&#038;a=B002OP5AY0&#038;camp=217145&#038;creative=399369" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> to save the distorting effects of the latter for others projects.</p><p>Shades of magenta were produced by 2 <a href="http://www.boutique-electroconcept.com/product_info.php?cPath=39_53&#038;products_id=361">PAR-56 LED cans</a> (controlled in DMX with <a href="http://qlc.sourceforge.net/">QLC</a>). I did not initially planned to bring them, but they were lying in the trunk of my car and I never filmed them, so I took the opportunity. Unfortunately, as you can see in the video, the frequency of the <a href="http://en.wikipedia.org/wiki/Pulse-width_modulation">PWM</a> that is driving the LEDs is not high enough and generate ugly flickers.</p><p>ISO was set to auto as the lighting conditions were really messy. A quick test in the darkest area of the room showed me that ISOs were pushed too high, increasing the noise too much. I avoided this issue by mounting an <a href="http://www.amazon.com/gp/product/B003UCGDSS/ref=as_li_ss_tl?ie=UTF8&#038;tag=kevideld-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B003UCGDSS">HDV-Z96 LED light</a><img src="http://www.assoc-amazon.com/e/ir?t=kevideld-20&#038;l=as2&#038;o=1&#038;a=B003UCGDSS&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> with its CTO diffuser filter, and carefully set its light level (around 60%):</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/11/canon-7D-with-HDV-Z96-LED-light.jpg"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/11/canon-7D-with-HDV-Z96-LED-light-300x225.jpg" alt="" title="canon-7D-with-HDV-Z96-LED-light" width="300" height="225" class="aligncenter size-medium wp-image-4126" /></a></p><p>According EXIF data, ISO did not get over 2500 with this method, and was measured at 5000 in the darkest place. Average seems to be around 600. But take these numbers with a big grain of salt as I have no better sources than the <code>.THM</code> preview files generated by the camera for each <code>.MOV</code> clip.</p><p>Meta-data also tells me that the white balance was set to auto at 2900K but I remember having set it manually to keep consist images colors. Always according EXIF, color profile was set to standard.</p><p>Finally, I created the title cards in Gimp and edited the video in Kdenlive (on Kubuntu 11.04):</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/11/nichrome-preview-kdenlive-timeline.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/11/nichrome-preview-kdenlive-timeline-300x185.png" alt="" title="nichrome-preview-kdenlive-timeline" width="300" height="185" class="aligncenter size-medium wp-image-4122" /></a></p><p>And two weeks after releasing Nichrome&#8217;s preview video, I edited another one with all left-overs. Here are the outtakes (which may not be as funny to you as for a French-speaking person, sorry):</p> <span style="text-align:center; display: block;"><a href="http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/"><img src="http://img.youtube.com/vi/dXoXtC55alc/2.jpg" alt="" /></a></span> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/12/nichrome-preview-behind-the-scene-video/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>GPG commands</title><link>http://kevin.deldycke.com/2011/11/gpg-commands/</link> <comments>http://kevin.deldycke.com/2011/11/gpg-commands/#comments</comments> <pubDate>Tue, 08 Nov 2011 11:20:19 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[CLI]]></category> <category><![CDATA[cryptography]]></category> <category><![CDATA[GPG]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[security]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3560</guid> <description><![CDATA[Generate a key (interactive mode): You can use the key generator in an unattended mode. Values in the example below are the same as the defaults proposed in the interactive mode above. Parameters in comments are there for reference: List &#8230; <a href="http://kevin.deldycke.com/2011/11/gpg-commands/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<ul><li>Generate a key (interactive mode):<pre class="brush: bash; title: ; notranslate">
gpg --gen-key
</pre></li><li>You can use the key generator in an unattended mode. Values in the example below are the same as the defaults proposed in the interactive mode above. Parameters in comments are there for reference:<pre class="brush: bash; title: ; notranslate">
gpg --gen-key --batch &lt;&lt;EOF
Key-Type: RSA
Key-Length: 2048
Subkey-Type: RSA
Subkey-Length: 2048
Expire-Date: 0
Name-Real: Kevin
# Name-Email: kevin@deldycke.com
# Name-Comment: My auto-generated key
# Passphrase: my_secret_passphrase
EOF
</pre></li><li>List available keys for the current user:<pre class="brush: bash; title: ; notranslate">
gpg --list-keys
</pre></li><li>Decrypt a file:<pre class="brush: bash; title: ; notranslate">
gpg --decrypt archive.001.tar.gpg --output archive.001.tar
</pre></li><li>Same as above but for a collection of files:<pre class="brush: bash; title: ; notranslate">
gpg --multifile --decrypt archive.*.tar.gpg
</pre></li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/11/gpg-commands/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (Requested URI contains query)
Database Caching 1/36 queries in 0.011 seconds using apc
Object Caching 1875/1983 objects using apc

Served from: kevin.deldycke.com @ 2012-02-13 10:57:01 -->
