<?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>BlockQuote &#187; Web development</title>
	<atom:link href="http://blockquote.be/facet/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blockquote.be</link>
	<description>a blog for webmasters practicing Information Architecture</description>
	<lastBuildDate>Tue, 27 Mar 2012 15:36:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Hiring a webmaster, asking questions</title>
		<link>http://blockquote.be/2011/05/17/hiring-a-webmaster-asking-questions/</link>
		<comments>http://blockquote.be/2011/05/17/hiring-a-webmaster-asking-questions/#comments</comments>
		<pubDate>Tue, 17 May 2011 15:31:06 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[hiring]]></category>
		<category><![CDATA[Questionnaire]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[webmaster]]></category>

		<guid isPermaLink="false">http://blockquote.be/?p=976</guid>
		<description><![CDATA[7 years ago, you might have found yourself in a server-room fiddling with pcs and servers. The next minute you were answering a marketing manager somewhere on the other side of Europe, about how to get his page to show &#8230; <a href="http://blockquote.be/2011/05/17/hiring-a-webmaster-asking-questions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>7 years ago, you might have found yourself in a server-room fiddling with pcs and servers. The next minute you were answering a marketing manager somewhere on the other side of Europe, about how to get his page to show up on the first page of a google search. As a webmaster you&#8217;re Jack of all trades, master of none.</p>
<p>Marketing mixed with IT, design and coding, all these things are part of a webmaster&#8217;s job.<br />
At least they were.</p>
<p>I am not a server administrator, but 7 years ago that was still part of the webmaster job. This is impossible in todays world and most webmaster jobs nowadays focus on the communication side. Communication and marketing, usability and user experience: these are are all the hit words of 2011 and you have to have them on your CV. </p>
<p>One thing is very clear about what a webmaster does: handle communication between business and IT. You have to be able to talk to a programmer/sysadmin as well as talk to one of the board members.</p>
<p>Can you handle a sentence that consists of nothing but acronyms?<br />
Can you say one that a business person doesn&#8217;t understand, but IT does?<br />
Can you do the same for the IT person?<br />
<span id="more-976"></span><br />
Hiring people is not my job, but I am a webmaster and I was asked to create a questionnaire to check the technical knowledge of the webmaster candidate.<br />
The questionnaire focuses on 4 areas:</p>
<ul>
<li><a href="./2/">Marketing / SEO / Communication</a>
			</li>
<li><a href="./2/">Web development, client side</a>
			</li>
<li><a href="./3/">Usability / Accessibility</a>
			</li>
<li><a href="./3/">Web development – server side</a>
			</li>
</ul>
<p>The 4 fields are a bit crammed together, I know, but you need to limit the number of questions a bit. Below are the questions and answers with some remarks. Candidates took between 45 minutes to 1 hour to answer all of them.  </p>
<p>The questions are both specific and open. Not everything (definitely no server setup questions anymore) is covered but it is a <a href="./2/">good start to measure the technical knowledge of you webmaster candidate</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2011/05/17/hiring-a-webmaster-asking-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The key to Umbraco and XSLT</title>
		<link>http://blockquote.be/2011/04/22/the-key-to-umbraco-and-xslt/</link>
		<comments>http://blockquote.be/2011/04/22/the-key-to-umbraco-and-xslt/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 12:17:47 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[razor]]></category>
		<category><![CDATA[Umbraco]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://blockquote.be/?p=669</guid>
		<description><![CDATA[I always wonder why programmers don&#8217;t like XSLT (more?). After all it is just another language just like SQL and regular expressions which (almost) everyone seems to love. XSLT was the main reasons why I started with Umbraco way back &#8230; <a href="http://blockquote.be/2011/04/22/the-key-to-umbraco-and-xslt/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I always wonder why <a href="http://www.codinghorror.com/blog/2005/07/martin-fowler-hates-xslt-too.html">programmers don&#8217;t like XSLT</a> (<a href="http://our.umbraco.org/forum/developers/xslt/4595-This-Is-Why-I-Hate-XSLT" title="programmers don't like XSLT">more?</a>). After all it is just another language <a href="http://en.wikipedia.org/wiki/Declarative_programming">just like <abbr title="Structured Query Language">SQL</abbr></a> and regular expressions which (almost) everyone seems to love. </p>
<p><a href="http://blockquote.be/2011/04/22/the-key-to-umbraco-and-xslt/xslt-cowboy/" rel="attachment wp-att-739"><img src="http://blockquote.be/wp-content/uploads/2011/04/xslt-cowboy-e1303467802522.png" alt="" title="xslt-cowboy" width="600" height="108" class="alignleft size-full wp-image-739" /></a></p>
<p><abbr title="Extensible Stylesheet Transformations">XSLT</abbr> was the main reasons why <a href="http://www.flickr.com/photos/pollas/18165266/ ">I started with Umbraco way back in 2005</a> when Niels Hartvig was surprised that someone actually wanted to come to their conferences.  Things have changed since then. And now I am hearing voices about <a href="http://twitter.com/#!/warrenbuckley/status/28014403882323969">dropping <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> in Umbraco</a> and inline C# code mixed with <abbr title=" HyperText Markup Language">HTML</abbr>, what is this? </p>
<p>Do we really want to go back to spaghetti code?  I really hate to see Umbraco go down the path of so many module based, spaghetti code producing <abbr title="Content Management System">CMS</abbr>&#8216;s.</p>
<p><a href="http://umbraco.com/follow-us/blog-archive/2011/2/23/umbraco-47-razor-feature-walkthrough-%E2%80%93-part-1">Razor</a>, the new inline coding style in Umbraco,  seems interesting, simple and easy to learn. People have said that <a href="http://en.wikipedia.org/wiki/Occam's_razor#cite_ref-52" title="Occam's Razor">simplicity is the ultimate sophistication</a> but is Razor really the way forward?</p>
<p>I don&#8217;t know. There are so many reasons to love and stay with <abbr title="Extensible Stylesheet Transformations">XSLT</abbr>: it is verbose ( if you prefer <a href="http://www.perl.com/pub/2004/06/18/variables.html">obscure syntax</a> rules try Perl ), it creates clean and valid code and it&#8217;s fast.<span id="more-669"></span></p>
<h2>XSLT is <del style="text-decoration: line-through">too</del> verbose.</h2>
<p>Is it? I took the liberty to rewrite the functionality to <a href="http://www.cultiv.nl/blog/2011/2/17/how-to-use-razor-in-umbraco-paging">display a paged list of articles</a> found on the <a href="http://www.cultiv.nl/blog/">cultiv.nl blog</a>. The Razor code is around 60 lines, but <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> only needs 30 lines. At least if you use <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> for what it is meant to do. If you find yourself in a <a href="http://our.umbraco.org/projects/developer-tools/paging-xslt">loophole</a>, the first thing to do is stop digging and look at what you need.</p>
<ul>
<li><a href="http://blockquote.be/wp-content/uploads/2011/04/xslt-example1.txt"> Solution 1: 29 lines</a></li>
<li><a href="http://blockquote.be/wp-content/uploads/2011/04/xslt-example2.txt"> Solution 2: 28 lines</a></li>
</ul>
<p>Have a look at the presentation from <a href="http://pimpmyxslt.com/presentations/2010/xslt-beyond-for-each/XSLT_Beyond_for-each.pdf">Chriztian Steinmeier</a>, learn how to call and apply templates, learn <a href="http://www.dpawson.co.uk/xsl/sect2/N4486.html">XSLT grouping</a> and <a href="http://www.dpawson.co.uk/xsl/sect1/N169.html">design patterns</a>, learn how to use <a href="http://www.jenitennison.com/xslt/keys.html">keys</a> and your life with <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> will be so much easier.</p>
<h2> XSLT is faster than your shadow </h2>
<p>Some say <a href="http://our.umbraco.org/forum/developers/razor/19563-XSLT-Vs-Razor-Navigation#comment74296">Razor is slower</a>.  I don&#8217;t know about that but I do know that I solved several performance problems by using <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> instead of usercontrols.</p>
<p>If you have to create a navigation bar and check each page against 8000 groups to see whether the user belongs to one of these groups, you will love the speed of <abbr title="Extensible Stylesheet Transformations">XSLT</abbr>. In such a case it is much easier to select what you need with <abbr title="Extensible Stylesheet Transformations">XSLT</abbr>, and compare against the <a href="http://blockquote.be/2008/04/07/updated-my-xslt-library-for-umbraco/">imported access.xml</a> file than iterating over each membergroup in C#. Other examples are the<a href="http://www.percipientstudios.com/xsltsearch/overview.aspx"> XSLT search from Douglas Robar</a> and the <a href="http://our.umbraco.org/search?q=xslt&#038;content=project,&#038;p=3">many XSLT related projects on our.umbraco.org</a></p>
<h2> XSLT creates clean and valid code </h2>
<p>Looking at the <a href="http://blog.pbdesk.com/2011/01/umbraco-razor-syntax-for-breadcrumb.html">Razor examples</a> it is easy to create invalid code. <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> enforces valid code, and you really have to jump through a lot of hoops to write invalid code with <abbr title="Extensible Stylesheet Transformations">XSLT</abbr>.</p>
<p>True, valid code doesn&#8217;t matter for the end product, not for <abbr title="Search Engine Optimisation">SEO</abbr> and not even for your visitors, but having a consistent presentation tree will save you from a lot of cross-browser headaches and css bugs. Write clean code. Save hours of debugging. Eat more fruit.</p>
<h2> The best way out of a difficulty is through it. </h2>
<p>There are 2 main rasons for dissing <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> that pop up regularly on the forums. The first one is that <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> is difficult to learn.  The second reason is basically a result of the first one and boils down to using procedural programming concepts in a declarative language (thinking for else loops instead of apply template). Programmers who are not familiar with <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> have a hard time learning how to use <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> and as a result, turn to what they know. It&#8217;s a vicious circle.</p>
<p>Imagine yourself spending all those hours you spent on learning <abbr title="ObjectOriented Programming">OOP</abbr><abbr> logic and procedural programming, learning </abbr><abbr title="Extensible Stylesheet Transformations">XSLT</abbr> instead. I am guessing you would have a hard time writing C#. Don&#8217;t diss <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> because you don&#8217;t understand it. The more you learn the easier <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> becomes.</p>
<p>The numerous questions on the internet and on the umbraco forum on how to do for loops already says enough. If you are thinking &#8220;loop&#8221; in <abbr title="Extensible Stylesheet Transformations">XSLT</abbr>, forget it. It&#8217;s going to be annoyingly verbose, slow and difficult to maintain. It is not about how ( if then that else this) you are going to get it, you already have everything, you just have to select what you need. </p>
<p>Let it be a warning. Every-time you think: <em>why the f#$k can I not increment that counter</em>, take a step back and realize that you are going the wrong way. Remember that if you only have a hammer, you tend to see every problem as a nail.</p>
<p>Isn&#8217;t it necessary to look at what <abbr title="Extensible Stylesheet Transformations">XSLT</abbr> really is? Why it was chosen in the first place, and whether we really need to go yet another way of doing the same thing?</p>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2011/04/22/the-key-to-umbraco-and-xslt/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Installing DBD::mysql with MAMP</title>
		<link>http://blockquote.be/2011/02/02/installing-dbdmysql-with-mamp/</link>
		<comments>http://blockquote.be/2011/02/02/installing-dbdmysql-with-mamp/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 14:37:06 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blockquote.be/?p=540</guid>
		<description><![CDATA[I got a new MacBook, which is wonderful. It truly is a great machine. It looks good, feels good, but its an empty box. Everything needs to be reinstalled, including DBD::mysql. I used macports before for this sort of thing &#8230; <a href="http://blockquote.be/2011/02/02/installing-dbdmysql-with-mamp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I got a new MacBook, which is wonderful. It truly is a great machine.<br />
It looks good, feels good, but its an empty box. Everything needs to be reinstalled, including DBD::mysql. </p>
<p>I used <a href="http://www.macports.org/">macports</a> before for this sort of thing but I ditched them in favor of <a href="http://www.mamp.info">MAMP</a>. But not without any disadvantages. DBD::mysql doesn&#8217;t install nicely when using MySQL used by MAMP. </p>
<p>The new MacBook is running Snow Leopard which comes with <a href="http://transfixedbutnotdead.com/2010/01/24/mac-os-x-snow-leopard-10-6-and-perl/">several installations of Perl</a>, the default being version 5.10, 64 bit. MAMP runs a 32 bit MySQL version (<a href="http://localhost:8888/MAMP/English/faq.php" class="broken_link">the one I run is 5.1.44</a> ). </p>
<p><strong>The install problem is a result of the difference between the SQL versions and some missing files.</strong><br />
<span id="more-540"></span><br />
These are the prerequisites:</p>
<ol>
<li>Mac OS 10.6 Snow Leopard</li>
<li>Developer tools installed</li>
<li>Perl v5.10, 64bit (verify with terminal: perl -v should give you something like this /This is perl, v5.10.0 built for darwin-thread-multi-2level/)</li>
<li>MAMP</li>
</ol>
<p>First install the DBI bundle.<br />
<code>perl -MCPAN -e 'install DBI' </code></p>
<p>Before we continue and try to compile the DBD::mysql module, we have to add the necessary libraries to the MAMP MySQL folders. Since we are using 64 bit perl we need to <a href="http://www.mysql.com/downloads/mysql/5.1.html#downloads">download the 64 bit version of MySQL</a>, one that is the same as the one we have running with MAMP (I used version 5.1.54).</p>
<p>Unpack the archive and copy the following folder into the MAMP folders:<br />
<code>include -> /Applications/MAMP/Library/</code></p>
<p>Copy the contents of the following folder:<br />
<code>lib/* -> /Applications/MAMP/Library/lib/mysql/</code><br />
Don&#8217;t overwrite the existing files and folders.</p>
<p>As suggested in the comments, instead of the copying everything, you can also make symlinks and run the following command:<br />
<code>ln -s /Applications/MAMP/Library/include /usr/local/mysql/include<br />
ln -s /Applications/MAMP/Library/lib/mysql /usr/local/mysql/lib</code></p>
<p>If you got all that, open up terminal and cd into the expanded DBD::mysql module directory and issue the following command:<br />
<code>perl Makefile.pl<br />
    --mysql_config /Applications/MAMP/Library/bin/mysql_config<br />
    --testuser root<br />
    --testpassword root<br />
    --testhost localhost<br />
    --testport 8889<br />
    --testsocket /Applications/MAMP/tmp/mysql/mysql.sock</code></p>
<p>Please double check both the path to mysql_config and mysql.sock. The variables set here are so different from the common installation of MySQL that <a href="http://www.google.com/search?q=DBD::mysql+MAMP">many people fail</a> in getting this module to work properly with MAMP. </p>
<p>The following commands should be a known sequence:<br />
<code>sudo make<br />
sudo make install<br />
</code></p>
<p>Were are almost done: create a mysql directory in /usr/local:<br />
<code>sudo mkdir /usr/local/mysql<br />
sudo mkdir /usr/local/mysql/lib</code> </p>
<p>In that directory copy the missing libraries<br />
<code>cp -r  /Applications/MAMP/Library/include /usr/local/mysql/<br />
cp -r /Applications/MAMP/Library/lib/mysql/* /usr/local/mysql/lib</code></p>
<p>And you are done. Test your configuration with the following simple connect script:<br />
<code>#! perl<br />
use DBD::mysql;</p>
<p>my $dbh = DBI->connect(<br />
 'dbi:mysql:test:localhost:8889;mysql_socket=/Applications/MAMP/tmp/mysql/mysql.sock'<br />
);<br />
$dbh->disconnect();</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2011/02/02/installing-dbdmysql-with-mamp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Common Ant tasks for Mac OS X</title>
		<link>http://blockquote.be/2010/11/10/common-ant-tasks-for-mac-os-x/</link>
		<comments>http://blockquote.be/2010/11/10/common-ant-tasks-for-mac-os-x/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 16:00:53 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blockquote.be/?p=502</guid>
		<description><![CDATA[Did you ever run Apache Ant on a Mac? If you have, then you probably found out that running Ant on a Mac just doesn&#8217;t work as expected. Most common tasks like FTP and SCP are not available by default. &#8230; <a href="http://blockquote.be/2010/11/10/common-ant-tasks-for-mac-os-x/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Did you ever run Apache Ant on a Mac?</p>
<p>If you have, then you probably found out that running Ant on a Mac just doesn&#8217;t work as expected.</p>
<p>Most common tasks like FTP and SCP are not available by default. And <a href="http://www.google.com/search?q=ant+ftp+mac+os+x">looking around on the internet</a>, you are not the only one expecting these tasks to just work. </p>
<p>It seems that many <a href="http://mactip.blogspot.com/2009/02/ant-ftp-task-libraries-jakarta-oro.html">resort to downloading and compiling Ant</a> from scratch. After that they add the libraries to do common tasks like FTP and IF/THEN/ELSE structures.<br />
<span id="more-502"></span><br />
But it&#8217;s just as easy as using the buildin Ant from Mac. You just have to add the necessary jar files<br />
into the necessary directories and it will just work (hopefully :-). </p>
<p>To make life easier for you and me, I created a build file that installs the most common tasks for ant. <a href="http://dl.dropbox.com/u/234135/anttasksformac.build">Download the file</a> and run ant against the anttasksformac.build:</p>
<p><code>ant -buildfile anttasksformac.build</code></p>
<p>Let me know if something is not working for you.</p>
<h2>Update</h2>
<p>When running the SCP task, it hangs. So I checked and there is a conflict in the jsch jar, so I replaced jsch with version 0.1.29 and everything seems to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2010/11/10/common-ant-tasks-for-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Webstickies for Umbraco</title>
		<link>http://blockquote.be/2009/07/12/webstickies-for-umbraco/</link>
		<comments>http://blockquote.be/2009/07/12/webstickies-for-umbraco/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 18:55:59 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[Umbraco]]></category>

		<guid isPermaLink="false">http://blockquote.be/?p=319</guid>
		<description><![CDATA[After the Umbraco Codegarden 09 Conference I decided to write my own plugin, which is now available on the new <a href="http://our.umbraco.org/projects/webstickies">community website of Umbraco: Webstickies for Umbraco.</a>. <a href="http://blockquote.be/2009/07/12/webstickies-for-umbraco/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After attending the <a href="http://codegarden09.com/" class="broken_link">Umbraco Codegarden 09 Conference</a> I decided to write my own plugin, which is now available on the new <a href="http://our.umbraco.org/projects/webstickies">community website of Umbraco: Webstickies for Umbraco</a>.</p>
<p>The package provides a toolbar to editors who are logged in to add sticky-notes to any page in a website. It provides a way to communicate about changes and remarks on a page.</p>
<p>As many <a href="http://www.cpalm.dk/blog/tags/umbraco.aspx" class="broken_link">other Umbracians</a>, I have several bookmarks that help me debug Umbraco web-pages. I thought if I add them to this package, I will have them available at all time, no matter on which PC I am working. The toolbar has buttons to debug the page, and to provide the list of data available in the XML cache.</p>
<p><span id="more-319"></span></p>
<p>Credit where credit is due: please have a look at the service <a href="http://www.protonotes.com">ProtoNotes</a>, as the idea of the design for having notes or comments on the page is coming from that services. No code has been copied, but the interface is somehow based on the ProtoNotes service.</p>
<h2>See how it works</h2>
<p><a href='http://www.screencast.com/users/Astuanax/folders/Jing/media/e3f1d741-6363-4d27-8f2e-18213c5abfec'>Screencast showing how to install and use Webstickies for Umbraco</a></p>
<h2> Try it </h2>
<p>If you don&#8217;t know how to install a package, the <a href="http://our.umbraco.org/wiki/how-tos/packages-and-projects/how-to-install-a-package">community website has a small how to</a>.</p>
<p><strong>Files to download</strong></p>
<ul>
<li><a href="http://our.umbraco.org/projects/webstickies">Project website: report bugs, ask for features</a></li>
<li><a href="http://our.umbraco.org/FileDownload?id=91&#038;release=1">Download the Umbraco package</a></li>
<li><a href="http://webstickies.svn.beanstalkapp.com/webstickies/trunk/WebStickies/webstickies/">Get the source code from Beanstalk</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2009/07/12/webstickies-for-umbraco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSLT library for Umbraco: update</title>
		<link>http://blockquote.be/2008/04/07/updated-my-xslt-library-for-umbraco/</link>
		<comments>http://blockquote.be/2008/04/07/updated-my-xslt-library-for-umbraco/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 20:15:49 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Umbraco]]></category>
		<category><![CDATA[xslt library]]></category>

		<guid isPermaLink="false">http://blockquote.be/2008/04/07/updated-my-xslt-library-for-umbraco/</guid>
		<description><![CDATA[Some 2 years ago I published an xslt library extension for Umbraco. I added several methods to the class that proved to be useful for me, maybe they are useful for you too. The code is provided as is, no &#8230; <a href="http://blockquote.be/2008/04/07/updated-my-xslt-library-for-umbraco/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some 2 years ago I published an <a href="http://blockquote.be/2006/08/09/extending-umbraco-with-a-library/">xslt library extension</a> for <a href="http://umbraco.org">Umbraco</a>. I added several methods to the class that proved to be useful for me, maybe they are useful for you too.</p>
<p>The code is provided as is, no garanty, blabla &#8230; though should not harm anyone.</p>
<p>You can <a href="http://blockquote.be/wp-content/uploads/2008/04/astuanax.dll.public.zip">download the dll</a> and adjust your xslt configuration settings in Umbraco or <a href="http://blockquote.be/wp-content/uploads/2008/04/astuanax-public.zip">download the full VS2008 project [1.5 MB]</a> and have a look at the code.<br />
Just for the reference, below is a list of methods available in the class with a short description</p>
<dl style="font-size:0.8em; border: 1px solid #ccd0d6; background: #ebedef; padding: 1em;">
<dt style="font-weight:bold">XPathNodeIterator QueryDatabase(string conn, string query ) </dt>
<dd>Query the umbraco database or any other database that you need.</dd>
<dt style="font-weight:bold">string createMemberGroup(string memberGroupName) </dt>
<dd>Create a member group</dd>
<dt style="font-weight:bold">string isMemberOfGroup(string memberGroupName, string memberId) </dt>
<dd>Check if the member supplied belongs to the group supplied</dd>
<dt style="font-weight:bold"><del datetime="2008-04-09T08:40:43+00:00">XPathNodeIterator GetAccessingGroups(int documentId)</del></dt>
<dd>Not working, will be removed &#8230;</dd>
<dt style="font-weight:bold">XPathNodeIterator getAllMembersFromGroup(string groupId)</dt>
<dd>REturn all the members that are in a group</dd>
<dt style="font-weight:bold">string getMemberGroups()</dt>
<dd>Returns the list of groups the current memner belongs to</dd>
<dt style="font-weight:bold">XPathNodeIterator getAccesXml()</dt>
<dd>Returns the full xml document that contains the list of protected pags and groups.</dd>
<dt style="font-weight:bold">string getMemberFromFirstLetter(char letter)</dt>
<dd>Well, get member from the first letter</dd>
<dt style="font-weight:bold">XPathNodeIterator getMemberFromFirstLetterXml(char letter) </dt>
<dd>Well, same, but then in xml.</dd>
<dt style="font-weight:bold">string addMemberToGroup(string memberGroupName, int memberId)</dt>
<dd>Add a given member to a give group</dd>
<dt style="font-weight:bold">string addPageToGroup(int currentPage, int groupId, int loginPage, int errorPage )</dt>
<dd>Protect a page with a membergroup</dd>
<dt style="font-weight:bold">bool updateProperty(int DocumentId, string propName, string propValue)</dt>
<dd>Update any property (not the umbraco properties) for any given document.</dd>
</dl>
<h2>Download</h2>
<ul>
<li><a href="http://blockquote.be/wp-content/uploads/2008/04/astuanax.dll.public.zip">only the dll</a></li>
<li><a href="http://blockquote.be/wp-content/uploads/2008/04/astuanax-public.zip">the full xslt extension VS2008 project [1.5 MB]</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2008/04/07/updated-my-xslt-library-for-umbraco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireQx 3.0 treats snow as rain</title>
		<link>http://blockquote.be/2008/03/19/fireqx-30-treats-snow-as-rain/</link>
		<comments>http://blockquote.be/2008/03/19/fireqx-30-treats-snow-as-rain/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 12:53:22 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blockquote.be/2008/03/19/fireqx-30-treats-snow-as-rain/</guid>
		<description><![CDATA[Joel Spolsky wrote an article and again I feel like he is right all the way: web standards are a means to an end, not the end goal, sigh. They (as in your wife) don’t give a flicking flick about &#8230; <a href="http://blockquote.be/2008/03/19/fireqx-30-treats-snow-as-rain/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Joel Spolsky wrote an article and again I feel like he is right all the way: web standards are a means to an end, not the end goal, sigh.</p>
<blockquote><p>They (as in your wife) don’t give a flicking flick about your stupid religious enthusiasm for making web browsers which conform to some mythical, platonic “standard” that is not actually implemented anywhere. They don’t want to hear your stories about messy hacks. They want web browsers that work with actual web sites.<br />
<cite><a href="http://www.joelonsoftware.com/items/2008/03/17.html">Martian Headsets | Joel Spolsky</a></cite></p></blockquote>
<p>And besides he has a point, he is also a very funny writer:</p>
<blockquote><p>FireQx 3.0 treats snow as rain, because you need windshield wipers in the snow, Qxyzrhjjjjukltk 5.0 does not, because the programmer who worked on that feature lives in a warm part of Mars without snow and doesn’t have a driver’s license anyway. Yes, they have driver’s licenses on Mars.<cite><a href="http://www.joelonsoftware.com/items/2008/03/17.html">Martian Headsets | Joel Spolsky</a></cite></p></blockquote>
<p>If the last quote doesn&#8217;t make any sense to you, go and read the article: <a href="http://www.joelonsoftware.com/items/2008/03/17.html">Martian Headsets by Joel Spolsky</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2008/03/19/fireqx-30-treats-snow-as-rain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excel for project managers</title>
		<link>http://blockquote.be/2008/01/22/excel-for-project-managers/</link>
		<comments>http://blockquote.be/2008/01/22/excel-for-project-managers/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 16:02:24 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blockquote.be/2008/01/22/excel-for-project-managers/</guid>
		<description><![CDATA[I recently bought 2 books on project management (PM), a thin and concise one, and a large volume with all the bells and whistles that come with project management. The last one didn&#8217;t arrive yet, but the one that was &#8230; <a href="http://blockquote.be/2008/01/22/excel-for-project-managers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float:left; padding: 0 3px 3px 0"><a href='http://www.amazon.com/gp/product/0470052376?ie=UTF8&#038;tag=bloabloforweb-20' title='OPPM book cover' align='left'><img src='http://blockquote.be/wp-content/uploads/2008/01/oppm.thumbnail.jpg' alt='OPPM book cover' /></a></div>
<p> I recently bought 2 books on project management (PM), a thin and concise one, and a large volume with all the bells and whistles that come with project management.</p>
<p>The last one didn&#8217;t arrive yet, but the one that was delivered was <a href="http://www.amazon.com/gp/product/0470052376?ie=UTF8&#038;tag=bloabloforweb-20">&#8220;The One Page Project Manager&#8221; (OPPM)</a>. You can read it in 2 hours: it&#8217;s short, to the point, and it seems to work for me.</p>
<p>The book is not a study about Project Management but a story about a project manager that came up with a great format (spreadsheet) for communicating project status to anyone who is involved or just want to know what is going on with the project. The author is not focusing on planning, it&#8217;s about communication, making sure people are involved and helping these people getting things done, on time.</p>
<p>The <a href="http://www.oppmi.com/" title="OPPM -One Page Project Manager" class="broken_link">excel sheet</a>, because that&#8217;s what it&#8217;s all about, is structured around 5 main areas: how / objectives / timeline / cost / owners. The tasks are each connected to an objective. That way, objectives are done when all takss in that row are finished, simple and effective</p>
<p>The sheets really give a good overview of the how (tasks), the objectives (goals, what to achieve?) and on who owns the tasks, something I think is crucial. Less attention is given to the timeline, and the cost which is measurable and therefore better communicated in a different way. The timeline is still there, but the focus is on getting closer to the objective of the project.</p>
<p>Sounds great, doesn&#8217;t it?<br />
Well, the book is great and so are the excel sheets. Unfortunatly I am not using the excel sheets, because it is a generic approach, it works for every project, true,  but not for every manager.<br />
Some people need different info, and that is why I am not using the sheets at the moment, though I am connecting the 3 areas (how, objectives, owners) to make sure everyone knows what need to be done, when and why.</p>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2008/01/22/excel-for-project-managers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting IDs in html attribute IDs</title>
		<link>http://blockquote.be/2007/12/19/getting-ids-in-html-attribute-ids/</link>
		<comments>http://blockquote.be/2007/12/19/getting-ids-in-html-attribute-ids/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 15:43:05 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blockquote.be/2007/12/19/getting-ids-in-html-attribute-ids/</guid>
		<description><![CDATA[Prefix your numeric id&#8217;s (int) with a letter if you plan to use them as html id attributes, because you should. ID&#8217;s are not supposed to start with a number. ID and NAME tokens must begin with a letter ([A-Za-z]) &#8230; <a href="http://blockquote.be/2007/12/19/getting-ids-in-html-attribute-ids/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Prefix your numeric id&#8217;s (int) with a letter if you plan to use them as html id attributes, because you should.<br />
ID&#8217;s are not supposed to start with a number.</p>
<blockquote><p>
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens (&#8220;-&#8221;), underscores (&#8220;_&#8221;), colons (&#8220;:&#8221;), and periods (&#8220;.&#8221;).</p>
<p><cite><a href="http://www.w3.org/TR/html401/types.html#type-name">W3 HTML 4.01 Specs</a></cite>
 </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2007/12/19/getting-ids-in-html-attribute-ids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The web that wasn&#8217;t</title>
		<link>http://blockquote.be/2007/12/12/the-web-that-wasnt/</link>
		<comments>http://blockquote.be/2007/12/12/the-web-that-wasnt/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 13:21:57 +0000</pubDate>
		<dc:creator>Len</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blockquote.be/2007/12/12/the-web-that-wasnt/</guid>
		<description><![CDATA[The Web that wasn&#8217;t, a presentation about the concept and the history of the internet as we know it, is really one to watch. The Google Tech Talks go beyond the subject of the internet, but some of them are &#8230; <a href="http://blockquote.be/2007/12/12/the-web-that-wasnt/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Web that wasn&#8217;t, a presentation about the concept and the history of the internet as we know it, is really one to watch. The <a href="http://www.youtube.com/user/googletechtalks" title="YouTube - Broadcast Yourself.">Google Tech Talks</a> go beyond the subject of the internet, but some of them are really interesting.</p>
<p><a href='http://www.youtube.com/watch?v=72nfrhXroo8' title='The web that wasn’t'><br />
<img src='http://blockquote.be/wp-content/uploads/2007/12/thewebthatwasnt.jpg' alt='The web that wasn’t' /><br />
</a></p>
<p><a href="http://alexwright.org/" title="Alex Wright">Alex Wright</a> goes through several names that wrote about concepts like a keyboard, networks, terminals even before a computer was even thinkable.<br />
If you need more stuff, here is a list of some names and their corresponding Wikipage:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Pierre_Teilhard_de_Chardin" title="Pierre Teilhard de Chardin">Pierre Teilhard de Chardin</a></li>
<li><a href="http://en.wikipedia.org/wiki/Charles_Ammi_Cutter" title="Charles Ammi Cutter">Charles Ammi Cutter</a></li>
<li><a href="http://en.wikipedia.org/wiki/H._G._Wells" title="H. G. Wells">H. G. Wells</a></li>
<li><a href="http://en.wikipedia.org/wiki/Paul_Otlet" title="Paul Otlet">Paul Otlet</a></li>
<li><a href="http://people.lis.uiuc.edu/~wrayward/otlet/xanadu.htm" title="Visions of Xanadu">Visions of Xanadu, by  W. Boyd Rayward</a></li>
<li><a href="http://en.wikipedia.org/wiki/Douglas_Engelbart" title="Douglas Engelbart">Douglas Engelbart</a></li>
<li><a href="http://en.wikipedia.org/wiki/Vannevar_Bush" title="Vannevar Bush">Vannevar Bush</a></li>
<li><a href="http://en.wikipedia.org/wiki/Eugene_Garfield" title="Eugene Garfield">Eugene Garfield </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blockquote.be/2007/12/12/the-web-that-wasnt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

