<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:series="http://unfoldingneurons.com/" version="2.0"> <channel><title>VanDragt.com</title> <link>http://vandragt.com</link> <description>Commentary on Digital Media and Usability</description> <lastBuildDate>Fri, 17 Feb 2012 11:26:41 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/VanDragt-Entries" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="vandragt-entries" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Fork webpages</title><link>http://vandragt.com/2012/02/fork-webpages/</link> <comments>http://vandragt.com/2012/02/fork-webpages/#comments</comments> <pubDate>Fri, 17 Feb 2012 11:25:47 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[documentation]]></category> <guid isPermaLink="false">http://vandragt.com/?p=589</guid> <description><![CDATA[I&#8217;m looking for something a bit unusual. Say you are following the instructions for installing a software package (rl example: http://library.linode.com&#8230;/webmin/installing-webmin). Now you find out the instructions are outdated, or incomplete. How do you keep your notes/additional instructions together with the original? Now you have two problems, your instructions and the original can be updated independently. What [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;m looking for something a bit unusual. Say you are following the instructions for installing a software package (rl example: <a
href="http://library.linode.com/web-applications/control-panels/webmin/installing-webmin" target="_blank">http://library.linode.com&#8230;/webmin/installing-webmin</a>). Now you find out the instructions are outdated, or incomplete.</p><p>How do you keep your notes/additional instructions together with the original? Now you have two problems, your instructions and the original can be updated independently. What happens when the original is updated, or a new version of the software is released?</p><p>Wouldn&#8217;t it be great if you could fork the webpage and update it (or even submit a pull request to the maintainer)?</p><p>Is there any practical way of working this way &#8211; or will I be stuck with a notetaker / blog / bunch of outdated textfiles?</p><p>A lot of questions &#8211; maybe one of you has the answer.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2012/02/fork-webpages/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Link: Stop paying your jQuery tax</title><link>http://vandragt.com/2012/02/link-stop-paying-your-jquery-tax/</link> <comments>http://vandragt.com/2012/02/link-stop-paying-your-jquery-tax/#comments</comments> <pubDate>Fri, 17 Feb 2012 11:07:07 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[webdevelopment]]></category> <guid isPermaLink="false">http://vandragt.com/?p=586</guid> <description><![CDATA[Speed up your jQuery powered site by moving scripts to the footer. Turns out that pushing jQuery to the footer is quite easy for the common case. If all we want is a nice $.ready function that we have accessible everywhere we can explicitly define it without jQuery. Then we can pass the functions we capture to [...]]]></description> <content:encoded><![CDATA[<p>Speed up your jQuery powered site by moving scripts to the footer.</p><blockquote><p><span
style="font-family: Verdana, sans-serif; font-size: 14px; line-height: 22px; text-align: left;">Turns out that pushing jQuery to the footer is quite easy for the common case. If all we want is a nice </span><code
style="border-style: initial; border-color: initial; border-image: initial; font-size: 14px; line-height: 1; font-family: 'Courier New', Courier, monospace; text-align: left; vertical-align: baseline; background-color: #eeeeee; border-width: 0px; padding: 3px; margin: 0px;">$.ready</code><span
style="font-family: Verdana, sans-serif; font-size: 14px; line-height: 22px; text-align: left;"> function that we have accessible everywhere we can explicitly define it without jQuery. Then we can pass the functions we capture to jQuery later on after it loads.</span></p><p><span
style="font-family: Verdana, sans-serif; font-size: 14px; line-height: 22px; text-align: left;">The big lesson learned is that we could avoided this whole problem if we started off with my proposed helper.</span></p></blockquote><p>via <a
href="http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax">Stop paying your jQuery tax</a>.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2012/02/link-stop-paying-your-jquery-tax/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>What Happens When You Swear At Your Users</title><link>http://vandragt.com/2012/02/what-happens-when-you-swear-at-your-users/</link> <comments>http://vandragt.com/2012/02/what-happens-when-you-swear-at-your-users/#comments</comments> <pubDate>Tue, 07 Feb 2012 10:04:43 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[bestpractice]]></category> <category><![CDATA[links]]></category> <guid isPermaLink="false">http://vandragt.com/?p=578</guid> <description><![CDATA[A valuable lesson for anyone running a website: After working out a few technical kinks and several botched emails, thanks to missing line breaks, we sent out a final test email to ourselves.  Unfortunately, it went out to every user  fetchworthy notes • What Happens When You Swear At Your Users.]]></description> <content:encoded><![CDATA[<p>A valuable lesson for anyone running a website:</p><blockquote><p><span
style="color: #626566; font-family: 'Open Sans', sans-serif; line-height: 20px; background-color: #ffffff;">After working out a few technical kinks and several botched emails, thanks to missing line breaks, we sent out a final test email to ourselves.  Unfortunately, it went out to every user </span></p></blockquote><p><a
href="http://blog.fetchnotes.com/post/17155558880/what-happens-when-you-swear-at-your-users">fetchworthy notes • What Happens When You Swear At Your Users</a>.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2012/02/what-happens-when-you-swear-at-your-users/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Hide elements that will be shown by jQuery later</title><link>http://vandragt.com/2012/01/hide-elements-that-will-be-shown-by-jquery-later/</link> <comments>http://vandragt.com/2012/01/hide-elements-that-will-be-shown-by-jquery-later/#comments</comments> <pubDate>Mon, 30 Jan 2012 10:51:37 +0000</pubDate> <dc:creator>Sander</dc:creator> <guid isPermaLink="false">http://vandragt.com/?p=574</guid> <description><![CDATA[I stumbled upon this gem by Jerph on Stackoverflow: Right after the body tag, put a script tag with this javascript: jQuery('body').addClass('js'); This gives you a style hook for any elements that will look different in some way when Javascript enabled, and it happens immediately. via css &#8211; Hide jQuery Accordion while loading &#8211; Stack Overflow.]]></description> <content:encoded><![CDATA[<p>I stumbled upon this gem by Jerph on Stackoverflow:</p><blockquote><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; border-style: initial; border-color: initial; border-image: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; clear: both; word-wrap: break-word; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; text-align: left; border-width: 0px; padding: 0px;">Right after the body tag, put a script tag with this javascript:</p><pre class="lang-css prettyprint" style="margin-top: 0px; margin-bottom: 10px; border-style: initial; border-color: initial; border-image: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow-x: auto; overflow-y: auto; width: auto; max-height: 600px; line-height: 18px; text-align: left; border-width: 0px; padding: 5px;"><code style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; border-width: 0px; padding: 0px; margin: 0px;"><span class="pln" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-width: 0px; padding: 0px; margin: 0px;">jQuery</span><span class="pun" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-width: 0px; padding: 0px; margin: 0px;">(</span><span class="str" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: #800000; border-width: 0px; padding: 0px; margin: 0px;">'body'</span><span class="pun" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-width: 0px; padding: 0px; margin: 0px;">).</span><span class="pln" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-width: 0px; padding: 0px; margin: 0px;">addClass</span><span class="pun" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-width: 0px; padding: 0px; margin: 0px;">(</span><span class="str" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: #800000; border-width: 0px; padding: 0px; margin: 0px;">'js'</span><span class="pun" style="border-style: initial; border-color: initial; border-image: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-width: 0px; padding: 0px; margin: 0px;">);</span></code></pre><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; border-style: initial; border-color: initial; border-image: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; clear: both; word-wrap: break-word; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; text-align: left; border-width: 0px; padding: 0px;">This gives you a style hook for any elements that will look different in some way when Javascript enabled, and it happens immediately.</p></blockquote><p>via <a
href="http://stackoverflow.com/questions/703783/hide-jquery-accordion-while-loading/704022#704022">css &#8211; Hide jQuery Accordion while loading &#8211; Stack Overflow</a>.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2012/01/hide-elements-that-will-be-shown-by-jquery-later/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Preprocessing CCK field output</title><link>http://vandragt.com/2011/12/preprocessing-cck-field-output/</link> <comments>http://vandragt.com/2011/12/preprocessing-cck-field-output/#comments</comments> <pubDate>Wed, 07 Dec 2011 14:10:58 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[cck]]></category> <category><![CDATA[drupal6]]></category> <category><![CDATA[frustratingmorning]]></category> <guid isPermaLink="false">http://vandragt.com/?p=565</guid> <description><![CDATA[So I spent a totally unproductive morning figuring out how to override a single field&#8217;s output in Drupal without rewriting my complete template code for the content type &#8211; I want to keep using the $content variable. After many a fruitless attempt luckily Grag Harvey has the answer: Actually, control over CCK fields can be [...]]]></description> <content:encoded><![CDATA[<p>So I spent a totally unproductive morning figuring out how to override a single field&#8217;s output in Drupal without rewriting my complete template code for the content type &#8211; I want to keep using the $content variable. After many a fruitless attempt luckily Grag Harvey has the answer:</p><blockquote><p>Actually, control over CCK fields can be gained using CCK&#8217;s own templates.</p><p>Consider the situation where your field is called field_test.</p><p>Copy content-field.tpl.php to your theme directory and copy it again for the field whose mark-up you wish to alter, naming it content-field-field_test.tpl.php in this case.</p><p>Then change the mark-up in the file and it will alter the output of that specific CCK field.</p><p>No need to touch node.tpl.php!</p></blockquote><p>Adapted via greg.harvey&#8217;s answer at <a
href="http://api.drupal.org/api/drupal/modules--node--node.tpl.php/6#comment-1653">node.tpl.php | Drupal API</a>.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2011/12/preprocessing-cck-field-output/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Project Cars</title><link>http://vandragt.com/2011/11/project-cars-2/</link> <comments>http://vandragt.com/2011/11/project-cars-2/#comments</comments> <pubDate>Fri, 25 Nov 2011 14:35:56 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[gaming]]></category> <guid isPermaLink="false">http://vandragt.com/?p=559</guid> <description><![CDATA[Sign up to WMD, the somewhat unfortunate acronym chosen for Slightly Mad&#8217;s World of Mass Development platform, and you&#8217;re granted access to regularly released builds of the game, which you&#8217;re then free to pick apart in the official forums. That feedback then gets absorbed by Slightly Mad Studios, a simple loop that means that, when the [...]]]></description> <content:encoded><![CDATA[<blockquote><p><span
class="Apple-style-span" style="color: #333333; font-family: Proxima, Arial, Verdana, sans-serif; font-size: 14px; line-height: 18px; background-color: #ffffff;">Sign up to </span><a
style="text-decoration: none; color: #0069ff; font-family: Proxima, Arial, Verdana, sans-serif; font-size: 14px; line-height: 18px; text-align: left; background-color: #ffffff;" href="http://www.wmdportal.com/projects/cars/" target="_blank">WMD</a><span
class="Apple-style-span" style="color: #333333; font-family: Proxima, Arial, Verdana, sans-serif; font-size: 14px; line-height: 18px; text-align: left; background-color: #ffffff;">, the somewhat unfortunate acronym chosen for Slightly Mad&#8217;s World of Mass Development platform, and you&#8217;re granted access to regularly released builds of the game, which you&#8217;re then free to pick apart in the official forums. That feedback then gets absorbed by Slightly Mad Studios, a simple loop that means that, when the game is eventually released, it&#8217;ll be as much a product of the community as it is of the studio.</span></p></blockquote><p>via <a
href="http://www.eurogamer.net/articles/2011-11-24-project-cars-preview">Project Cars Preview • Eurogamer.net</a>.</p><p><span
class="Apple-style-span" style="color: #333333; font-family: Proxima, Arial, Verdana, sans-serif; font-size: 14px; line-height: 18px;">Looks like an interesting development strategy, made famous by Minecraft.</span></p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2011/11/project-cars-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Asynchronous UIs – the future of web user interfaces</title><link>http://vandragt.com/2011/11/asynchronous-uis-the-future-of-web-user-interfaces/</link> <comments>http://vandragt.com/2011/11/asynchronous-uis-the-future-of-web-user-interfaces/#comments</comments> <pubDate>Tue, 22 Nov 2011 16:10:07 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[webdevelopment]]></category> <guid isPermaLink="false">http://vandragt.com/?p=554</guid> <description><![CDATA[Discovered this javascript MVC framework SpineJS. The ToDo app is extremely impressive. Try and manipulate items as quickly as possible. Tthen close and reopen the browser. Nice. via Asynchronous UIs &#8211; the future of web user interfaces.]]></description> <content:encoded><![CDATA[<p
class="MsoNormal">Discovered this javascript MVC framework <a
href="http://spinejs.com/">SpineJS</a>. The ToDo app is extremely impressive. Try and manipulate items as quickly as possible. Tthen close and reopen the browser. Nice.</p><p>via <a
href="http://alexmaccaw.co.uk/posts/async_ui">Asynchronous UIs &#8211; the future of web user interfaces</a>.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2011/11/asynchronous-uis-the-future-of-web-user-interfaces/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The price of a messy codebase: No LaTeX for the iPad</title><link>http://vandragt.com/2011/11/the-price-of-a-messy-codebase-no-latex-for-the-ipad-valletta-ventures/</link> <comments>http://vandragt.com/2011/11/the-price-of-a-messy-codebase-no-latex-for-the-ipad-valletta-ventures/#comments</comments> <pubDate>Tue, 22 Nov 2011 12:34:45 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[links]]></category> <guid isPermaLink="false">http://vandragt.com/?p=551</guid> <description><![CDATA[The price of a messy codebase: No LaTeX for the iPad &#8211; Valletta Ventures. The first step in compiling WEB code is to run TANGLE to produce unhelpful Pascal source files. Thoughtfully the TeX build system includes a translator to produce compilable C files. Although WEB was hugely influential as the progenitor of modern source [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://vallettaventures.tumblr.com/post/13124883568/the-price-of-a-messy-codebase-no-latex-for-the-ipad">The price of a messy codebase: No LaTeX for the iPad &#8211; Valletta Ventures</a>.</p><blockquote><p>The first step in compiling WEB code is to run TANGLE to produce unhelpful Pascal source files. Thoughtfully the TeX build system includes a translator to produce compilable C files. Although WEB was hugely influential as the progenitor of modern source code documentation it is now obsolete, and modern extensions to TeX have been written in C. This is compiled alongside the translated WEB code. It is not hard to imagine the effect this has on the readability of the codebase.</p></blockquote><p>Why programming is not yet as advanced as nature in evolution.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2011/11/the-price-of-a-messy-codebase-no-latex-for-the-ipad-valletta-ventures/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Combining multiple Subversion repositories</title><link>http://vandragt.com/2011/11/combining-multiple-subversion-repositories/</link> <comments>http://vandragt.com/2011/11/combining-multiple-subversion-repositories/#comments</comments> <pubDate>Thu, 10 Nov 2011 15:30:52 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[subversion]]></category> <category><![CDATA[svn]]></category> <category><![CDATA[tricky]]></category> <category><![CDATA[webdevelopment]]></category> <guid isPermaLink="false">http://vandragt.com/?p=538</guid> <description><![CDATA[This post describes a step by step guide on how to combine multiple Subversion repositories whilst keeping individual history (and commit messages). Dumping Exporting from pagefeedbacktool repository the /trunk/public folder and integrating that into the services repository under /trunk/public/pagefeedback: Dump the repository including only /trunk/public as follows: E:\Repositories\pagefeedbacktool&#62;svnadmin dump .&#124; svndumpfilter include --drop-empty-revs --renumber-revs trunk/public [...]]]></description> <content:encoded><![CDATA[<p>This post describes a step by step guide on how to combine multiple Subversion repositories whilst keeping individual history (and commit messages).</p><h2>Dumping</h2><p>Exporting from <code>pagefeedbacktool</code> repository the <code>/trunk/public</code> folder and integrating that into the <code>services</code> repository under <code>/trunk/public/pagefeedback</code>:</p><p>Dump the repository including only <code>/trunk/public</code> as follows:</p><pre><code>E:\Repositories\pagefeedbacktool&gt;svnadmin dump .| svndumpfilter include --drop-empty-revs --renumber-revs trunk/public &gt; ..\services\filtered.dump
</code></pre><p></p><h2>Loading</h2><p>However as pathnames are stored as part of the dump (and replacing the path with a texteditor corrupts the dump), we have to include the full path under a different parent directory:</p><p>In VisualSVN create a <code>/trunk/public/pagefeedback/trunk/public</code> folder structure (try without the final <code>public</code> if import fails) then load the dump as follows:</p><pre><code>E:\Repositories\services&gt;svnadmin load . --parent-dir "trunk/public/pagefeedback" &lt; filtered.dump
</code></pre><p>The dump is successful but at the wrong path:</p><p>currently: <code>/trunk/public/pagefeedback/trunk/public</code> <br
/> should be: <code>/trunk/public/pagefeedback/</code></p><h2>Post-correction</h2><p>Open two Windows Explorer windows with both paths side by side, select all the files that should be moved, then RIGHT click drag them to the destination folder and choose <code>SVN Move versioned files here...</code></p><p>Commit from the repository root.</p><p>It is now safe to remove the <code>trunk/public</code> folders under <code>/trunk/public/pagefeedback/</code></p><p>Commit again.</p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2011/11/combining-multiple-subversion-repositories/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Useful Coding Tools and JavaScript Libraries For Web Developers</title><link>http://vandragt.com/2011/10/useful-coding-tools-and-javascript-libraries-for-web-developers/</link> <comments>http://vandragt.com/2011/10/useful-coding-tools-and-javascript-libraries-for-web-developers/#comments</comments> <pubDate>Mon, 31 Oct 2011 14:12:06 +0000</pubDate> <dc:creator>Sander</dc:creator> <category><![CDATA[links]]></category> <category><![CDATA[publish]]></category> <category><![CDATA[webdevelopment]]></category> <guid isPermaLink="false">http://vandragt.com/2011/10/useful-coding-tools-and-javascript-libraries-for-web-developers/</guid> <description><![CDATA[Here are some of the most useful coding and workflow tools released recently. via Useful Coding Tools and JavaScript Libraries For Web Developers]]></description> <content:encoded><![CDATA[<p>Here are some of the most useful coding and workflow tools released recently.</p><p>via <a
href="http://www.smashingmagazine.com/2011/10/28/useful-coding-workflow-tools-for-web-designers-developers/">Useful Coding Tools and JavaScript Libraries For Web Developers</a></p> ]]></content:encoded> <wfw:commentRss>http://vandragt.com/2011/10/useful-coding-tools-and-javascript-libraries-for-web-developers/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>

