<?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>HansGutknecht.org &#187; Web</title>
	<atom:link href="http://hansgutknecht.org/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://hansgutknecht.org</link>
	<description></description>
	<lastBuildDate>Mon, 05 Jul 2010 02:21:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Drupal: How do I pull a CCK field from a node associated with a menu-item into a menu block</title>
		<link>http://hansgutknecht.org/2009/11/25/how-do-i-pull-a-cck-field-from-a-node-associated-with-a-menu-item-into-a-menu-block/</link>
		<comments>http://hansgutknecht.org/2009/11/25/how-do-i-pull-a-cck-field-from-a-node-associated-with-a-menu-item-into-a-menu-block/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 20:25:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/2009/11/25/how-do-i-pull-a-cck-field-from-a-node-associated-with-a-menu-item-into-a-menu-block/</guid>
		<description><![CDATA[Solving my own problems, word.
http://drupal.org/node/640780
]]></description>
			<content:encoded><![CDATA[<p>Solving my own problems, word.</p>
<p><a href="http://drupal.org/node/640780">http://drupal.org/node/640780</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/11/25/how-do-i-pull-a-cck-field-from-a-node-associated-with-a-menu-item-into-a-menu-block/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal: Using taxonomy term to control block visibility</title>
		<link>http://hansgutknecht.org/2009/11/23/drupal-using-taxonomy-term-to-control-block-visibility/</link>
		<comments>http://hansgutknecht.org/2009/11/23/drupal-using-taxonomy-term-to-control-block-visibility/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 13:51:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=432</guid>
		<description><![CDATA[Documenting this code, it was useful in a recent project
Displays a  block on node or listing page

&#60;?php
     $make_block_visible = FALSE;
     // the term id to show this block on
     $term_id_to_trigger_show_block = 1;
     // LISTING PAGE. taxonomy/terms/x
   ]]></description>
			<content:encoded><![CDATA[<p>Documenting this code, it was useful in a recent project</p>
<p>Displays a  block on node or listing page</p>
<pre class="brush: php;">
&lt;?php
     $make_block_visible = FALSE;
     // the term id to show this block on
     $term_id_to_trigger_show_block = 1;
     // LISTING PAGE. taxonomy/terms/x
     if ((arg(0) == 'taxonomy') &amp;&amp; (arg(1) == 'term') &amp;&amp; (arg(2) == $term_id_to_trigger_show_block)) {
          $make_block_visible = TRUE;
     }
     // NODES
     if (arg(0) == 'node' &amp;&amp; arg(1) &amp;&amp; is_numeric(arg(1))) {
          $node = node_load(arg(1));
          foreach ($node-&gt;taxonomy as $term) {
               if ($term-&gt;tid == $term_id_to_trigger_show_block) $make_block_visible = TRUE;
          }
      }
      return $make_block_visible;
?&gt;
</pre>
<p>Reference <a href="http://drupal.org/node/320795">http://drupal.org/node/320795</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/11/23/drupal-using-taxonomy-term-to-control-block-visibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal &#8211; Using a taxonomy term to control a section header on page.tpl.php</title>
		<link>http://hansgutknecht.org/2009/11/17/drupal-using-a-taxonomy-term-to-control-a-section-header-on-page-tpl-php/</link>
		<comments>http://hansgutknecht.org/2009/11/17/drupal-using-a-taxonomy-term-to-control-a-section-header-on-page-tpl-php/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 23:12:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=428</guid>
		<description><![CDATA[Wanted to store this here, I ended up not using it but I wanted to keep it in case I needed it in the future.



&#60;!-- Get taxonomy term, ID 2 (section background image) to write out section header --&#62;
&#60;?php
     if (arg(0) == 'node' &#38;&#38; is_numeric(arg(1)) &#38;&#38; !arg(2)) {
    ]]></description>
			<content:encoded><![CDATA[<p>Wanted to store this here, I ended up not using it but I wanted to keep it in case I needed it in the future.</p>
<p><code><br />
</code></p>
<pre class="brush: php;">
&lt;!-- Get taxonomy term, ID 2 (section background image) to write out section header --&gt;
&lt;?php
     if (arg(0) == 'node' &amp;&amp; is_numeric(arg(1)) &amp;&amp; !arg(2)) {
     $node = node_load(arg(1));
     $taxonomy_terms = $node-&gt;taxonomy;
     foreach ($taxonomy_terms as $term) {
          if ($term-&gt;vid == 2) {
               $ld_bg = $term-&gt;name;
          }
      }
    }
?&gt;

&lt;img src=&quot;/sites/all/themes/collective/img/&lt;?php print $ld_bg; ?&gt;_bkg.jpg&quot; border=&quot;0&quot; alt=&quot;&lt;?php print $ld_bg; ?&gt;&quot; /&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/11/17/drupal-using-a-taxonomy-term-to-control-a-section-header-on-page-tpl-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWOes</title>
		<link>http://hansgutknecht.org/2009/08/14/gwoes/</link>
		<comments>http://hansgutknecht.org/2009/08/14/gwoes/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:01:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[AB test]]></category>
		<category><![CDATA[googe]]></category>
		<category><![CDATA[Google Web Optimizer]]></category>
		<category><![CDATA[gwo]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/2009/08/14/gwoes/</guid>
		<description><![CDATA[Ever have one of those days where it just seems impossible to debug the code? GWO is not your friend or mine when it comes to debugging.
You can easily set up the experiment to look at your staging server and test like that but you are not going to get too many visits and/or conversions ]]></description>
			<content:encoded><![CDATA[<p>Ever have one of those days where it just seems impossible to debug the code? GWO is not your friend or mine when it comes to debugging.</p>
<p>You can easily set up the experiment to look at your staging server and test like that but you are not going to get too many visits and/or conversions since it is a staging environment with only developers and a few others testing on it. When you launch a project on a site with decent traffic, that is when you can start having some issues. GWO and GA usually work together fairly well but I have run a couple of experiments that jogged the GAs numbers as soon as you implemented GWO.<br />
<span id="more-385"></span></p>
<p>The main problem I had recently was on a very complex issue, that ended up being a simple fix. Here is the flow of the experiment, an AB experiment testing 2 registration funnels</p>
<p>[image]</p>
<p>Everything was looking good except on side (Control) was getting a few more visits on staging. Not a huge deal with only around 30 visits accrued. We decided to move forward and launch. That is when the discrepancy between the 2 numbers became quite clear. After one day the numbers were<br />
1344/75 (visits/conversions)<br />
Control has 37/127<br />
Variation had 38/47</p>
<p>There was a problem with the tracking script on Funnel B. We realized there was a problem and thus began me trying to figured out what was happening.</p>
<p>The way the experiment was set up was a little hacky, the first page the user hit has the GWO control code and sets the _utmx and _utmxx cookie to determine which version A or B it will display, if it is A it continues to display the first page, then it hit a META redirect to pass the user into funnel A. if the GWO determines the user should see B, the user was passed to that funnel.</p>
<p>I thought that maybe the redirect was taking a hold of the page before it got the response from google. That was not the case.</p>
<p>Funnel B also had ClickTale running on it, so the entire page was wrapped in a ClickTale JS. That was my first warning flag, I thought for sure the scripts were conflicting and not allowing the pageTracker tracking script on funnel B page to fire. Removing CT did nothing.</p>
<p>Back to the drawing board and a lot of testing both funnels using Firebug and Charles to track requests and cookies.<br />
Everything looked good, the AB GWO decision was definitely working correctly. The tracking for the control page Funnel A was working correctly. And conversions for both pages were working as well. It just looked like Funnel B tracking wasn&#8217;t working. </p>
<p>But how was the conversions working? Well the cookie set from the control script chooses what page to display A or B, that is a permanent cookie so that users get the same page or variation of a page every time they visit. The conversion goal is determined by the pageTracker call and by determining what cookie the user has set on their browser. So it reads the cookie, determines the user in on Variation X, and then sends the tracker to GWO.</p>
<p>So the last thing I tried (of course it was the solution) was to check out the domains. The tracking script on Funnel B was on a secure server AND a sub-domain. Well you don&#8217;t have to look far to see how many times that question is asked in the GWO support. The solution is to modify the control and tracking scripts and add in your domain so it will track all the sub-domains.</p>
<p>Before the Control script<br />
[<br />
<code><br />
&lt;script&gt;<br />
_udn = &quot;.example.com&quot;;<br />
&lt;/script&gt;<br />
</code></p>
<p>Within the Tracking script</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;
var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;);
document.write(unescape(&quot;%3Cscript src='&quot; + gaJsHost + &quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&quot;));
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
try{
var pageTracker = _gat._getTracker(&quot;UA-xxxxxx-x&quot;);
pageTracker._setDomainName(&quot;.example.com&quot;);
pageTracker._trackPageview(&quot;/xxxxxxxxxx/yyyy&quot;);
} catch(err) {}
&lt;/script&gt;
</pre>
<p>2 hours after I implemented this (about how long GWO needs to collect some data), along with doing some subtractions from the bogus numbers, we started seeing the correct numbers come in.</p>
<p>Of course I should have spotted the sub-domain issue earlier, but all of this did allow me to get my hands dirty and learn a lot about the behind the scenes of the GWO AB test.</p>
<p>~ Snah</p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/08/14/gwoes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogging with TextMate, another first post</title>
		<link>http://hansgutknecht.org/2009/05/20/blogging-with-textmate-another-first-post/</link>
		<comments>http://hansgutknecht.org/2009/05/20/blogging-with-textmate-another-first-post/#comments</comments>
		<pubDate>Thu, 21 May 2009 01:03:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/2009/05/20/blogging-with-textmate-another-first-post/</guid>
		<description><![CDATA[I just started working with TextMate to see if I can start using it as my main code editor (on my Mac). It turns out to have a nifty &#8220;post to blog&#8221; feature for use with all of the top blogging platforms (Joomla, Druplal, Wordpress et all).
As nice as the Wordpress API is, I think ]]></description>
			<content:encoded><![CDATA[<p>I just started working with TextMate to see if I can start using it as my main code editor (on my Mac). It turns out to have a nifty &#8220;post to blog&#8221; feature for use with all of the top blogging platforms (Joomla, Druplal, Wordpress et all).</p>
<p>As nice as the Wordpress API is, I think this may be my new more convenient way to publish my blogs. Publishing from the text editor I do the most work <em>should</em> prod me to blog more often and hopefully better.</p>
<p><span style="text-decoration: line-through;">Many thanks to <a href="http://blog.kristankenney.com/2009/02/08/using-textmate-to-blog-with-wordpress/">Kristan Kenny</a> for her very helpful post.</span></p>
<p>Seems like that blog has been deactivated, there is plenty of documentation about this on the <a href="http://blog.macromates.com/2006/blogging-from-textmate/">Textmate site itself,</a> happy blogging!<span style="text-decoration: line-through;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/05/20/blogging-with-textmate-another-first-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSL, XSLT</title>
		<link>http://hansgutknecht.org/2009/05/01/xsl-xslt/</link>
		<comments>http://hansgutknecht.org/2009/05/01/xsl-xslt/#comments</comments>
		<pubDate>Fri, 01 May 2009 15:56:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[learning XSLT]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=242</guid>
		<description><![CDATA[I wanted to do some experimenting with  XSL (extensible styles sheets) and XSLT (XSLT is used to transform an XML document into another XML document, or another type of document that is recognized by a browser, like HTML and XHTML.) I did my initial hunt on the web and came across a pretty thorough ]]></description>
			<content:encoded><![CDATA[<p>I wanted to do some experimenting with  XSL (extensible styles sheets) and XSLT (XSLT is used to transform an XML document into another XML document, or another type of document that is recognized by a browser, like HTML and XHTML.) I did my initial hunt on the web and came across a <a href="http://www.w3schools.com/xsl/xsl_intro.asp">pretty thorough tutorial</a> on w3 schools. The most important sentence for newbies to XSLT is the statment &#8220;XSLT transforms an XML source-tree into an XML result-tree.&#8221;</p>
<p><span id="more-242"></span><br />
XSLT is a way to format XML data into a template based format, not the way you would usually think of a style sheet. For my particular example I wanted to have a better way to format my audio discography. The first step I did was to range all of the data in a logical format in a XML doc. That can be viewed <a href="http://audio.hdcmedia.com/disco_x.xml">here</a>.</p>
<p>The finished formatted XML with XSL can be viewed <a href="http://audio.hdcmedia.com/disco.xml">here</a>. (with the exception of Safari, it has a known issue with XSL and it has to be parsed for it to be read correctly)</p>
<p>I wanted to parse this out into a HTML doc to fix the Safari issue and so it could be presented along with some addition hard coded video pieces and some other layout constraints I had with WordPress.</p>
<p>This was easily handled by a simple PHP script&#8230;</p>
<pre class="brush: php;">
&lt;?php
   $xslDoc = new DOMDocument();
    $xslDoc-&gt;load(&quot;disco.xsl&quot;);
    $xmlDoc = new DOMDocument();
    $xmlDoc-&gt;load(&quot;disco.xml&quot;);
    $proc = new XSLTProcessor();
    $proc-&gt;importStylesheet($xslDoc);
    echo $proc-&gt;transformToXML($xmlDoc);
?&gt;
</pre>
<p>And the <a href="http://audio.hdcmedia.com">finished product</a>.</p>
<p>I&#8217;m going to go more in depth on XPATH selectors, another part of XSL in another post.<br />
~ H</p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/05/01/xsl-xslt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Web Optimizer &#8211; Part 1</title>
		<link>http://hansgutknecht.org/2009/04/20/google-web-optimizer-part-1/</link>
		<comments>http://hansgutknecht.org/2009/04/20/google-web-optimizer-part-1/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 16:53:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Google Web Optimizer]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[web optimization]]></category>
		<category><![CDATA[web testing]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=81</guid>
		<description><![CDATA[During December 2008 at TAKKLE I began to explore Google&#8217;s Website Optimizer tool. It seemed like a great tool to do testing for a lot of projects I was involved in. A lot of business decisions can come through knee jerk reactions and a lot of those decisions get passed down from &#8220;HiPPO&#8221;s, Highest Paid ]]></description>
			<content:encoded><![CDATA[<p>During December 2008 at <a href="http://www.takkle.com" target="_blank">TAKKLE</a> I began to explore Google&#8217;s Website Optimizer tool. It seemed like a great tool to do testing for a lot of projects I was involved in. A lot of business decisions can come through knee jerk reactions and a lot of those decisions get passed down from &#8220;HiPPO&#8221;s, Highest Paid Person’s Opinion’. [<a href="http://rich-page.com/win-at-web-analytics/win-at-web-analytics-top-7-ways-to-influence-your-hippo/">Here is a fun article on how to train influence your HiPPO</a>] Testing on a site is vital to prove why some of the decisions are right and some are wrong.</p>
<p>I began by reading &#8220;<a href="http://www.amazon.com/Always-Be-Testing-Complete-Optimizer/dp/0470290633/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1233333054&amp;sr=1-1">Always Be Testing: The Complete Guide to Google Website Optimizer</a>&#8221; which was given to me by our marketing department who knows the author. While the book is a bit heavy on marketing concepts, it gives many valid reasons for testing, testing stratigies and served as a great guide to what GWO can do for you for free and what it&#8217;s limitations are.</p>
<p>I gave a presentation to the company (I will soon share this through Google Docs) where I used an example of a few ways we  could change the homepage to see if we could achieve more conversions to our register page.</p>
<p><span id="more-81"></span></p>
<p>The main concept behind the WO engine is testing either completely different versions of a page (A/B testing) or testing variations of sections on a page (Multivariate testing) to get the used to a specified conversion page. There are ways to test driving users through different funnel pages to get to that conversion,<a href="http://www.google.com/support/websiteoptimizer/bin/answer.py?hl=en-au&amp;answer=74345"> testing time on site</a>,  <a href="http://www.google.com/support/websiteoptimizer/bin/answer.py?answer=93181&amp;topic=14314">conversion on click</a> and <a href="http://www.google.com/support/websiteoptimizer/bin/answer.py?answer=93178&amp;topic=14314">conversion on form submission</a>. I put links to those conversion tactics since they are a bit harder to set up and are pretty buried within the WO help files</p>
<p>The WO can be tied to your <a href="http://www.google.com/support/websiteoptimizer/bin/answer.py?answer=77069">Google Analytics account</a>, but not have different account profiles attached to it. There are quite a few issues that need to be resolved, or other things that would make their product so much more robust, mave they will be announcing some of these in the future via their blog <a href="http://websiteoptimizer.blogspot.com/">http://websiteoptimizer.blogspot.com/</a>. But for free, this is a great testing tool that everyone involved in UI, testing and juggling peoples opinions should be using.</p>
<p style="text-align: left;"><a href="http://hansgutknecht.org/wp-content/uploads/2009/01/experimentresults.png"><img class="size-medium wp-image-85 alignright" title="Optimizer experiment results - TAKKLE 12_2008" src="http://hansgutknecht.org/wp-content/uploads/2009/01/experimentresults-300x149.png" alt="" width="300" height="149" /></a>The reports are pretty simple compared to what Google has in their Analytic tools, there are 2 pages listing conversions and page section conversion with comparisons to how the different combinaiton beat or lost to the origianl. I have included my result for the experiametn I ran on an interstitial on TAKKLE.</p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/04/20/google-web-optimizer-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accessibility and Validation: ARIA_Required</title>
		<link>http://hansgutknecht.org/2009/02/05/accessibility-and-validation-aria_required/</link>
		<comments>http://hansgutknecht.org/2009/02/05/accessibility-and-validation-aria_required/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 16:22:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[aria_required]]></category>
		<category><![CDATA[screen reader]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=109</guid>
		<description><![CDATA[While making sure all my code was validation via w3 (http://validator.w3.org/) I kept receiving an error on my single post page. After tracking this down to the comment form that exists on all single post page, I read up on the attribute.

There is a good explanation here&#8230;
http://dev.aol.com/accessibility/bestpractices/ARIA_Required
Accessibility has always been in the back of my ]]></description>
			<content:encoded><![CDATA[<p>While making sure all my code was validation via w3 (http://validator.w3.org/) I kept receiving an error on my single post page. After tracking this down to the comment form that exists on all single post page, I read up on the attribute.</p>
<p><a href="http://hansgutknecht.org/wp-content/uploads/2009/02/validation.png"><img class="aligncenter size-medium wp-image-112" title="validation" src="http://hansgutknecht.org/wp-content/uploads/2009/02/validation-300x69.png" alt="" width="300" height="69" /></a></p>
<p>There is a good explanation here&#8230;</p>
<p><a href="http://dev.aol.com/accessibility/bestpractices/ARIA_Required" target="_blank">http://dev.aol.com/accessibility/bestpractices/ARIA_Required</a></p>
<p>Accessibility has always been in the back of my head but has always come 2nd to the fast paced production environment I work in most of my employment career. I am going to blog about some of these issues in the coming months, issues with screen readers, mobile content, etc&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/02/05/accessibility-and-validation-aria_required/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 and beyond</title>
		<link>http://hansgutknecht.org/2009/01/09/css3-and-beyond/</link>
		<comments>http://hansgutknecht.org/2009/01/09/css3-and-beyond/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 20:51:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=60</guid>
		<description><![CDATA[I&#8217;m trying to experiment with some new CSS3 properties on the site, one example is the rounded and transparent block items within the content (sorry IE6 users, you&#8217;ll have to take my word on it). Here are a couple of great articles on the future of CSS, some new properties and their browser limitations. 
The ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to experiment with some new CSS3 properties on the site, one example is the rounded and transparent block items within the content (sorry IE6 users, you&#8217;ll have to take my word on it). Here are a couple of great articles on the future of CSS, some new properties and their browser limitations. </p>
<p>The selector block article has some innovative ideas on grouping selectors into blocks and making them Macros.</p>
<p>~ H</p>
<p><a href="http://www.smashingmagazine.com/2009/01/08/push-your-web-design-into-the-future-with-css3/">New Properties</a> | <a href="http://meyerweb.com/eric/thoughts/2009/02/12/selector-blocks/">Selector Blocks</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/01/09/css3-and-beyond/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Interview &#8211; Part 1</title>
		<link>http://hansgutknecht.org/2009/01/02/pellentesque-at-turpis-web/</link>
		<comments>http://hansgutknecht.org/2009/01/02/pellentesque-at-turpis-web/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 17:50:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[front end]]></category>
		<category><![CDATA[Front End Development basics]]></category>
		<category><![CDATA[Google interview]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Web Development (CSS)]]></category>

		<guid isPermaLink="false">http://hansgutknecht.org/?p=6</guid>
		<description><![CDATA[I received an introductory email via Linkedin from a Google recruiter asking if I had interest in working for the Big G. I wasn't looking for work at the time but thought that if anything it would be a great learning experience and see how they handle their hiring practices]]></description>
			<content:encoded><![CDATA[<p>Or <em>&#8220;So you want to be a Front End Developer&#8221;</em></p>
<p>I received an introductory email via Linkedin from a Google recruiter asking if I had interest in working for the Big &#8220;G&#8221;. I wasn&#8217;t looking for work at the time but thought that if anything it would be a great learning experience and see how they handle their hiring practices. I graduated with my BS in Computer Science from Georgia Southern, far from the ivy league expectations that I had heard about Google&#8217;s hiring practices but the recruiter was legit and I started the process. After narrowing down the field to Google Front End Engineer, she quickly quizzed me with 3 questions over the phone to move on to the next phase of the interviewing/testing process. I did not sign any confidentially agreement, so I can reprint them here for any would be tech recruits looking to work for the Google.</p>
<p><span id="more-6"></span></p>
<p>Included after the questions are links to the most correct/in-depth responses from my knowledge and some basic link you could find the information on the web.</p>
<p><strong>#1. What is a HTML DOCTYPE (DTD) and what is it&#8217;s purpose.</strong></p>
<blockquote><p>Per HTML and XHTML standards, a DOCTYPE (short for “document type declaration”) informs the validator which version of (X)HTML you’re using, and must appear at the very top of every web page.</p>
<p>DOCTYPEs are a key component of compliant web pages: your markup and CSS won’t validate without them.<br />
<a href="http://www.alistapart.com/articles/doctype/">http://www.alistapart.com/articles/doctype/</a></p>
<p>Follow up &#8211; why is validation important?</p>
<ol>
<li><a href="http://validator.w3.org/docs/why.html#debug">Validation as a debugging tool</a></li>
<li><a href="http://validator.w3.org/docs/why.html#futureproof">Validation as a future-proof quality check</a></li>
<li><a href="http://validator.w3.org/docs/why.html#maintenance">Validation eases maintenance</a></li>
<li><a href="http://validator.w3.org/docs/why.html#learning">Validation helps teach good practices</a></li>
<li><a href="http://validator.w3.org/docs/why.html#professionalism">Validation is a sign of professionalism</a></li>
</ol>
<p><a href="http://validator.w3.org/docs/why.html">http://validator.w3.org/docs/why.html</a></p></blockquote>
<p><strong>#2 What is the difference between the CSS properties Visibility: hidden and Visibility: none?</strong></p>
<blockquote><p>&#8216;display: none&#8217; means that the the tag in question will not appear on the page at all (although you can still interact with it through the DOM). There will be no space allocated for it between the other tags.</p>
<p>&#8216;visibility:hidden&#8217; means that unlike display:none, the tag is not visible, but space is allocated for it on the page.</p>
<p><a href="http://stackoverflow.com/questions/133051/what-is-the-difference-between-visibilityhidden-and-displaynone">http://stackoverflow.com/questions/133051/what-is-the-difference-between-visibilityhidden-and-displaynone</a></p>
<p>Some additional information on the display property <a href="http://www.quirksmode.org/css/display.html">http://www.quirksmode.org/css/display.html</a></p></blockquote>
<p><strong>What is a Javascript JS Closure?</strong></p>
<blockquote><dl>
<dd>A &#8220;closure&#8221; is an expression (typically a function) that 		    can have free variables together with an environment that binds those variables (that &#8220;closes&#8221; the expression).<br />
<br />
<a href="http://www.jibbering.com/faq/faq_notes/closures.html">http://www.jibbering.com/faq/faq_notes/closures.html</a></dd>
</dl>
</blockquote>
<p>I did well on questions and 2 and completely blew question #3. In hindsight I knew plenty about closures but not enough to define them on the spot and I chocked. I assumed 66% was not a great score and I would not move on the next phase, which was an at home test that had to be completed in under 3 hours. I was wrong, I will write a post about that <em>Google Front End Engineer &#8211; Coding</em> home test that I completed.</p>
<p><em>Follow up (04-13-09) | I have recently been on some more interviews, here is the ever growing list of potential employer questions I get.</em></p>
<p><strong>Define/describe the CSS box model</strong></p>
<blockquote><p>The CSS box model describes the boxes that are formed around elements of content in a Web page. Every element in a Web page is in a box or is a box, even if it&#8217;s an <a href="http://webdesign.about.com/cs/graphics/a/aasqrgraphics.htm">image of a circle</a>. The boxes on Web pages are constrained by rules defined by the box model.</p>
<p>Parts of the CSS Box Model: The CSS box model is made up of four parts:</p>
<ul>
<li>margin</li>
<li>border</li>
<li>padding</li>
<li>content</li>
</ul>
</blockquote>
<p><strong>What is the difference between absolute and relative positioning?</strong></p>
<blockquote><p>Absolute positioning is relative to the page itself, relative positions relative to the object it is within, it&#8217;s starting position. position: absolute;  tells the browser that whatever is going to be positioned should be removed from the normal flow of the document and will be placed in an exact location on the page. It is also taken out of the normal flow of the document &#8211; it won&#8217;t affect how the elements before it or after it in the HTML are positioned on the Web page.</p>
<p>Relative positioning uses the same four positioning properties as absolute positioning. But instead of basing the position of the element upon the browser view port, it starts from where the element would be if it were still in the normal flow.</p></blockquote>
<p><strong>What is !important mean and what does it do within a CSS class</strong></p>
<blockquote><p>An &#8220;!important&#8221; declaration (the keywords &#8220;!&#8221; and &#8220;important&#8221; follow the declaration) takes precedence over a normal declaration.  Both author and user style sheets may contain &#8220;!important&#8221; declarations, and user &#8220;!important&#8221; rules override author &#8220;!important&#8221; rules. This CSS feature improves accessibility of documents by giving users with special requirements (large fonts, color combinations, etc.) control over presentation.</p></blockquote>
<p><strong>What are sprites/sprite collections? </strong></p>
<blockquote><p>This is a simple technique used for page load performance purposes. Since HTTP requests are the most expensive thing you can do in regards to front-end performance, you strive for making as little requests as possible. So instead of having the browser download 4 rounded corner images for example, you create one image that has all four. Then you use CSS background-position to only show the part of the image you want.</p></blockquote>
<p><strong>What is semantic code? </strong></p>
<blockquote><p>Basically, it’s a way of writing your HTML in a more meaningful, structured and to be honest, sensible way. It’s all about using your header tags (H1, H2, etc) for yep, you guessed it &#8211; headers, instead of bolding the text and increasing the font size with the old &lt;i&gt;span&lt;/i&gt; tag. For paragraphs, use the &lt;p&gt; tag rather than sizing the font and adding hundreds of line breaks, for lists use the &lt;li&gt; tag, and so on.</p>
<p>If you want to add an image, you use the &lt;img&gt;  tag because it’s the tag for inserting images, so it stands to reason really that when you’re adding a heading, list, etc, you use the correct tag, not some sort of bodge. </p>
<p>So why use Semantic HTML? What are the benefits? Why can&#8217;t I just do things my way? Well you can just do things your way if you want, but I&#8217;d probably not advise it. The biggest benefit of using Semantic Code is that you’ll be adhering to the Internet standard. And the benefit of that is that when things change and progress as they like to do on the Internet, the stuff that makes your site work isn’t going to get left behind.</p>
<p><a href="http://boagworld.com/technology/semantic-code-what-why-how">http://boagworld.com/technology/semantic-code-what-why-how</a></li>
<p></span>
</p></blockquote>
<p><span>~ H</span></p>
]]></content:encoded>
			<wfw:commentRss>http://hansgutknecht.org/2009/01/02/pellentesque-at-turpis-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
