<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>unobtrusive &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/unobtrusive/</link>
	<description>Feed of posts on WordPress.com tagged "unobtrusive"</description>
	<pubDate>Fri, 27 Nov 2009 17:06:23 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Kegels?  whispered ]]></title>
<link>http://shayla5.wordpress.com/2009/11/24/kegels-whispered/</link>
<pubDate>Tue, 24 Nov 2009 23:52:39 +0000</pubDate>
<dc:creator>shayla5</dc:creator>
<guid>http://shayla5.wordpress.com/2009/11/24/kegels-whispered/</guid>
<description><![CDATA[Kegels?  Yes, whispered.  And guys!  Don&#8217;t tune out so fast.  These are for you to do too. Goo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Kegels?  Yes, <em>whispered</em>.  And guys!  Don&#8217;t tune out so fast.  These are for you to do too.</p>
<p>Google<strong> kegel exercises</strong>, the benefits listed are mega many!  Too many to blog about here.  So, suffice it to say that:  I have had 3 kids, and  I am at what many would consider to be an advanced age.  (some would, some would not) Everyday gravity attempts to have its way with my lower body.  I counter with kegels!</p>
<p>100 kegels everyday.  At least.</p>
<p>You could do 100 kegels a day too.  Do them no matter how young you are and whether you&#8217;ve given birth or not.  Guys too!  They are completely unobtrusive.  Lying down, sitting up, standing in line at the grocery store, find your opportunities.  Not necessarily all 100 at once, but do them everyday, even on Christmas!  Your (lower) body, and quite possibly, your lover, will thank you.  Mine do.  (guys?)  Yes, kegels, <em>whispered</em> are that powerful.</p>
<p>I am doing them right now!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wedding Photographers in Dorset Content]]></title>
<link>http://weddingphotographersindorset.wordpress.com/2009/11/19/wedding-photographers-in-dorset-content/</link>
<pubDate>Thu, 19 Nov 2009 00:42:11 +0000</pubDate>
<dc:creator>dorsetweddingphotographer</dc:creator>
<guid>http://weddingphotographersindorset.wordpress.com/2009/11/19/wedding-photographers-in-dorset-content/</guid>
<description><![CDATA[Coming Soon!]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Coming Soon!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dorset Wedding Photographers content]]></title>
<link>http://dorsetweddingphotographer.wordpress.com/2009/11/19/dorset-wedding-photographers-content/</link>
<pubDate>Thu, 19 Nov 2009 00:06:02 +0000</pubDate>
<dc:creator>dorsetweddingphotographer</dc:creator>
<guid>http://dorsetweddingphotographer.wordpress.com/2009/11/19/dorset-wedding-photographers-content/</guid>
<description><![CDATA[Coming soon!]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Coming soon!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[All about Reactivity]]></title>
<link>http://asifjmir.wordpress.com/2009/04/19/all-about-reactivity/</link>
<pubDate>Sun, 19 Apr 2009 02:44:54 +0000</pubDate>
<dc:creator>Asif Mir</dc:creator>
<guid>http://asifjmir.wordpress.com/2009/04/19/all-about-reactivity/</guid>
<description><![CDATA[Reactivity simply means changes that come about in the client/system or in the problem due to the ac]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;"><span style="font-family:Times New Roman;">Reactivity simply means changes that come about in the client/system or in the problem due to the act of measurement itself. Reactive measures are those of which the client/system is aware and to which the client/system reacts. When reactivity occurs, the observation or monitoring process leads to change in the problem without any other intervention taking place. Conversely, non-reactive measures are those which do not themselves bring about change in whatever it is you are measuring.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;"><span style="font-family:Times New Roman;">Reactivity in a sense really affects the accuracy of your information. If the problem changes simply because of the measurement, you obviously would have a difficult time evaluating the intervention process and separating out the effects of the recording from the effects of your intervention. Reactivity, in short, affects the accuracy of the information you are recording. In addition, if any changes do occur as a result of reactivity, they often are not mentioned over time, leading to even more difficulty in achieving success in the long run.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;"><span style="font-family:Times New Roman;">There are a number of types of reactivity as well as ways of overcoming or diminishing reactivity. Primary among these ways of overcoming reactivity is attempting to select a measure that is non-reactive or unobtrusive. Our primary guideline in selecting a measure is, when everything else is equal (which, of course, it rarely is), try to use the least obtrusive measure possible. That is, try to use non-reactive measures when you can, or if you are using more than one measure, try to include at least one non-reactive measure.</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;"></span><span style="font-family:&#34;font-size:11pt;" lang="EN">My Consultancy–<a title="Asif J. Mir" href="http://www.asifjmir.com/" target="_blank"><span style="color:#800080;">Asif J. Mir </span></a>- Management Consultant–transforms organizations where people have the freedom to be creative, a place that brings out the best in everybody–an open, fair place where people have a sense that what they do matters. For details please visit <a title="Asif J. Mir" href="http://www.asifjmir.com/" target="_blank"><span style="color:#800080;">www.asifjmir.com</span></a>, <a title="Line of Sight" href="http://asifjmir.blogspot.com/" target="_blank">Line of Sight</a></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Field Help Method]]></title>
<link>http://missiondata.wordpress.com/2009/03/03/field-help-method/</link>
<pubDate>Tue, 03 Mar 2009 13:09:31 +0000</pubDate>
<dc:creator>toddbudnikas</dc:creator>
<guid>http://missiondata.wordpress.com/2009/03/03/field-help-method/</guid>
<description><![CDATA[http://devfiles.myopera.com/articles/295/FieldMethod.htm]]></description>
<content:encoded><![CDATA[http://devfiles.myopera.com/articles/295/FieldMethod.htm]]></content:encoded>
</item>
<item>
<title><![CDATA[The Photographer That Wasn't There.]]></title>
<link>http://stevieh2.wordpress.com/2009/01/07/the-photographer-that-wasnt-there/</link>
<pubDate>Wed, 07 Jan 2009 10:55:21 +0000</pubDate>
<dc:creator>stevieh2</dc:creator>
<guid>http://stevieh2.wordpress.com/2009/01/07/the-photographer-that-wasnt-there/</guid>
<description><![CDATA[&#8220;Thank you for being the photographer that wasn&#8217;t there.&#8221; It&#8217;s an unusual co]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>&#8220;Thank you for being the photographer that wasn&#8217;t there.&#8221;</p>
<p>It&#8217;s an unusual compliment and even wrong-footed me for a split second, until I realised it meant I&#8217;d photographed this wedding in exactly the way they&#8217;d hoped. I suppose it&#8217;s proof that I&#8217;m OK to use words like &#8216;unobtrusive&#8217;, &#8216;relaxed&#8217; and &#8216;observational&#8217; in my adverts! It&#8217;s not just spin, I&#8217;m almost not even there. A ha! &#8216;Stealth Wedding Photography&#8217;. Maybe I&#8217;ve invented a new category? I&#8217;d better not take to hiding in bushes though. I don&#8217;t want to get arrested half-way through a wedding really. I&#8217;d need a really long lens to finish the job off from the police station.</p>
<p>Now I&#8217;m off to finish working on my cloaking device.<br />
<a href="http://digg.com/"><br />
<img src="http://digg.com/img/badges/100x20-digg-button.gif" width="100" height="20" alt="Digg!" /><br />
</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Harmonica script for BBCode, the OmegaJunior way]]></title>
<link>http://omegajunior.wordpress.com/2008/08/23/harmonica-bbcode/</link>
<pubDate>Sat, 23 Aug 2008 09:59:33 +0000</pubDate>
<dc:creator>omegajunior</dc:creator>
<guid>http://omegajunior.wordpress.com/2008/08/23/harmonica-bbcode/</guid>
<description><![CDATA[So&#8230; you implemented a CMS (content management system) that allows for BBCode in an article tex]]></description>
<content:encoded><![CDATA[So&#8230; you implemented a CMS (content management system) that allows for BBCode in an article tex]]></content:encoded>
</item>
<item>
<title><![CDATA[JavaScript in Domino - Unobtrusive JavaScript and mandatory fields]]></title>
<link>http://rndnotes.wordpress.com/2008/08/06/javascript-in-domino-unobtrusive-javascript-and-mandatory-fields/</link>
<pubDate>Wed, 06 Aug 2008 14:20:00 +0000</pubDate>
<dc:creator>Tomas Ekström</dc:creator>
<guid>http://rndnotes.wordpress.com/2008/08/06/javascript-in-domino-unobtrusive-javascript-and-mandatory-fields/</guid>
<description><![CDATA[Finally I found a name for it. Chris Blatnick named it on his blog Interface Matters. The technique ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Finally I found a name for it. Chris Blatnick named it on his blog <a title="Unobtrusive JavaScript" href="http://interfacematters.com/2008/04/unobtrusive-javascriptyou-should.html" target="_self">Interface Matters</a>.</p>
<p>The technique was presented to me by Patrick Kwinten a while back. He as also blogged about it <a href="http://quintessens.wordpress.com/2007/10/23/update-warning-before/">here</a>.</p>
<p>Since then I find the technique really appealing since it in my opinion makes the coding in domino a lot cleaner. You can create a javascript library and put all the event management in there instead of having it in forms and subforms. Personally it goes along very well with my belief in separating style and content.</p>
<p>Here&#8217;s an example how to dynamically change the behavior on mandatory fields. In this case it uses css to show a red border around the field which is mandatory and is missing a value. I have not included the css here. But it is basic knowledge so it should not be hard to create one your self.</p>
<p><strong>This example requires </strong><strong>prototype.js</strong></p>
<p>First a function is used to get a Hash of mandatory fields. In this case the mandatory fields are different depending of a previous selection in a field. The selections are &#8220;IBAN&#8221;, &#8220;US-ABA&#8221;, &#8220;SE-BG&#8221;&#8230;<br />
There is a function for this so that the source of the information easily can be changed. Later its easy to implement a configuration document and fetch the information via ajax.</p>
<p><span style="color:#0000ff;"><code>function getMandatoryFields(){</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>var mandatoryFields = {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>"":{"mandatory":["Tx_BankName","Tx_BankID","Tx_AccountNumber</code><br />
<code>"IBAN":{"mandatory":["Tx_BankName","Tx_BankID","Tx_AccountNumber"]},</code><br />
<code>"US-ABA":{"mandatory":["Tx_BankName",<br />
"Tx_BankID", "Tx_AccountNumber"]},</code><br />
<code>"SE-BG":{"mandatory":["Tx_AccountNumber"]},</code><br />
<code>"SE-PG":{"mandatory":["Tx_AccountNumber"]},</code><br />
<code>"SE-Clearing":{"mandatory":["Tx_BankName",<br />
"Tx_BankID","Tx_AccountNumber"]},</code><br />
<code>"DE-BLZ":{"mandatory":["Tx_BankName", "Tx_BankID","Tx_AccountNumber"]},</code><br />
<code>"CANADA":{"mandatory":["Tx_BankName",<br />
"Tx_BankID", "Tx_AccountNumber"]}};</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>return mandatoryFields;</code></span></p>
<p><span style="color:#0000ff;"><code>}</code></span></p>
<p>Here&#8217;s the code:<br />
<span style="color:#0000ff;"><code>Function refreshMandatoryBankInfo(accountType, mandatoryFields){</code></span></p>
<p style="padding-left:30px;">//Get the list of fields to the specific account type<br />
<span style="color:#0000ff;"><code>mandatoryList = mandatoryFields[accountType].mandatory;</code></span></p>
<p style="padding-left:30px;">//This is not very modular for now.<br />
<span style="color:#0000ff;"><code>var allFields = ["Tx_Recipient","Tx_BankName","Tx_BankID","Tx_AccountNumber"];</code></span></p>
<p style="padding-left:30px;">//Now we reset all fields. Removing onFocus and onBlur events and styles for mandatory fields<br />
<span style="color:#0000ff;"><code>for (var i = 0; i &#60; allFields.length; i++){</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>$(allFields[i]).setAttribute('onFocus','');</code><br />
<code>$(allFields[i]).setAttribute('onBlur','');</code><br />
<code>$(allFields[i]).removeClassName('mandatoryField');</code><br />
<code>$(allFields[i]).removeClassName('required');</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>};</code></span></p>
<p style="padding-left:30px;">//Go through all mandatory fields and assign an onFocus and onBlur event.<br />
<span style="color:#0000ff;"><code>for (var i = 0; i &#60; mandatoryList.length; i++){</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>Event.observe($(mandatoryList[i]), 'focus', mandatoryOnFocusEvent);</code><br />
<code>Event.observe($(mandatoryList[i]), 'blur', mandatoryOnBlurEvent);</code></span></p>
<p style="padding-left:60px;">//Set initial class for the field.<br />
<span style="color:#0000ff;"><code>if (IsEmpty($(mandatoryList[i]))){</code></span></p>
<p style="padding-left:90px;"><span style="color:#0000ff;"><code>$(mandatoryList[i]).addClassName('mandatoryField');</code><br />
<code>$(mandatoryList[i]).addClassName('required');</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>}else{</code></span></p>
<p style="padding-left:90px;"><span style="color:#0000ff;"><code>$(mandatoryList[i]).removeClassName('mandatoryField');</code><br />
<code>$(mandatoryList[i]).removeClassName('required');</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>}</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>}</code></span></p>
<p><span style="color:#0000ff;"><code>}</code></span></p>
<p style="padding-left:15px;">//Function to check if field is empty<br />
<span style="color:#0000ff;"><code>function IsEmpty(aTextField) {</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>if ((aTextField.value.length==0) &#124;&#124; (aTextField.value==null)){</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>return true;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>}else {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code>return false;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code>}</code></span></p>
<p><span style="color:#0000ff;"><code>}</code></span></p>
<p style="padding-left:15px;">//The onFocus function<br />
<span style="color:#0000ff;"><code>function mandatoryOnFocusEvent(e){</code></span></p>
<p style="padding-left:30px;">//Find source element (field which event was triggered) read more about the technique <a href="http://www.quirksmode.org/js/events_properties.html">here</a>. The difference is due to different handling in ie and mozilla.<br />
<span style="color:#0000ff;"><code>if (typeof e == undefined) {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> var e = window.event;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> }</code><br />
<code> var source;</code><br />
<code> if (typeof e.target != undefined) {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> source = e.target;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> } else if (typeof e.srcElement != undefined) {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> source = e.srcElement;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> } else {</code></span></p>
<p style="padding-left:60px;">//Since it is a target type we do not handle, exit function<br />
<span style="color:#0000ff;"><code>return true;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> }</code></span></p>
<p style="padding-left:30px;">//Set class for active field (You can define a special style to show in which field the cursor is placed).<br />
<span style="color:#0000ff;"><code>source.addClassName('activeField');</code></span></p>
<p><code>}</code></p>
<p><span style="color:#0000ff;"><code>function mandatoryOnBlurEvent(e){</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> if (typeof e == undefined) {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> var e = window.event;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> }</code><br />
<code> var source;</code><br />
<code> if (typeof e.target != undefined) {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> source = e.target;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> } else if (typeof e.srcElement != undefined) {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> source = e.srcElement;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> } else {</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> return true;</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> }</code></span></p>
<p style="padding-left:30px;">//Remove class for active field<br />
<span style="color:#0000ff;"><code>source.removeClassName('activeField'); </code></span></p>
<p style="padding-left:30px;">//Different handle for text and textarea and a select object<br />
<span style="color:#0000ff;"><code>if (source.type =="text" &#124;&#124; source.type =="textarea"){</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> if (IsEmpty(source)){ </code></span></p>
<p style="padding-left:90px;"><span style="color:#0000ff;"><code> source.addClassName('mandatoryField')</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> } else{ </code></span></p>
<p style="padding-left:90px;"><span style="color:#0000ff;"><code> source.removeClassName('mandatoryField') </code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> } </code><br />
<code> source.value = Trim(source.value);</code></span></p>
<p style="padding-left:30px;">//Check if select statement is empty. Select-one is for on selection if you have a multiple selection object test for select-multiple. The test if it is empty may then have to be rewritten to work.<br />
<span style="color:#0000ff;"><code>}else if (source.type =="select-one"){</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> if(source.options.text == ""){</code></span></p>
<p style="padding-left:90px;"><span style="color:#0000ff;"><code> source.addClassName('mandatoryField')</code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> }else{</code></span></p>
<p style="padding-left:90px;"><span style="color:#0000ff;"><code> source.removeClassName('mandatoryField') </code></span></p>
<p style="padding-left:60px;"><span style="color:#0000ff;"><code> }</code></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;"><code> }</code></span></p>
<p><span style="color:#0000ff;"><code>}</code></span></p>
<p>How the function is called:<br />
<span style="color:#0000ff;"><code>refreshMandatoryBankInfo($F("Tx_AccountType"), getMandatoryFields());</code></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[$190 Donation (Not Kidding)]]></title>
<link>http://ismywebsite.wordpress.com/2008/06/07/190-donation-not-kidding/</link>
<pubDate>Sat, 07 Jun 2008 20:04:34 +0000</pubDate>
<dc:creator>ismywebsite</dc:creator>
<guid>http://ismywebsite.wordpress.com/2008/06/07/190-donation-not-kidding/</guid>
<description><![CDATA[I didn&#8217;t actually believe this would go through. (In fact, I was recently promised another $10]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I didn&#8217;t actually believe this would go through. (In fact, I was recently promised another $100 donation that has yet to be paid.) But here it is, actually sitting in my PayPal balance. $190.</p>
<p>It started yesterday with a tiny comment on the blog:</p>
<blockquote><p>Hmm&#8230; Tell me, what is the average cost of your nodes?</p>
<p>Depending on the price, I may be willing to donate enough for 1 year on 1 node, in exchange for waiving of ad requirements for my 1 site, provided that the money goes to a new node to help grow. Contact me on my email to discuss, please.</p></blockquote>
<p>Bryan Bartlett, username Valareos, issued the following statement about why he donated:</p>
<blockquote><p>The true value of any company, of any service, is not how they react when everything is running at 100% efficiency, but when a problem arises that shakes the very foundation of that company or service. What IsMyWebsite has went through these last few months could have been the end of the community entirely.</p>
<p>I joined IsMyWebsite just a few days before the great crash. In fact, I was in the queue to have my website accepted.  My entire purpose was finding a free hosting service that supported SQL databases so I could develop my scripts in a test environment before going live on my paid hosting account. I was also going to use this service as a backup for all my files.</p>
<p>When the site suddenly stopped responding for days, I assumed that they just folded up, and vanished off the face of the earth.  I continued to look for a different service, every so often checking back to see if perhaps the site would come back.  Finally, the blog appeared, explaining everything. I waited, I watched, and I was amazed how quickly IsMyWebsite addressed the problem, fixed the problem, AND worked to ensure the problem didn&#8217;t repeat itself.</p>
<p>As I was waiting for IsMyWebsite to finish their nodes, and give me domain space, my original host deleted my entire website.  Why? Clerical error caused them to show me a year behind on payments. There was nothing I could do. They offered to give me a year free service, but all my files were permanently gone, and there was no backups to go to.</p>
<p>So what did that show me? That IsMyWebsite, a relatively small, free hosting service that is supported by unobtrusive ads placed where the designer wants them handled a crisis with more professionalism, and more care for customer satisfaction than a large &#8220;professional&#8221; company.</p>
<p>It is for this reason, and many others, that I have donated $190 CDN, to pay for a full year hosting and domain for a new node, to help this community grow.</p>
<p>Thanks, and keep up the good work.</p></blockquote>
<p>This is the first donation to ring through in months, and I really hopes it stirs up more. <a title="IsMyWall - Donate Here!" href="http://www.ismywall.com/">Donate like Valareos here.</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Brightness: Found]]></title>
<link>http://idletigers.wordpress.com/2008/05/16/brightness-found/</link>
<pubDate>Fri, 16 May 2008 00:03:33 +0000</pubDate>
<dc:creator>Ross</dc:creator>
<guid>http://idletigers.wordpress.com/2008/05/16/brightness-found/</guid>
<description><![CDATA[There&#8217;s every chance that blogging will become increasingly synonymous with personality, or th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:left;">There&#8217;s every chance that blogging will become increasingly synonymous with personality, or the personal.  At the moment, though, I&#8217;m rather taken with <a href="http://ilookforbrightness.wordpress.com/">I Look For Brightness</a>, a blog focusing without fuss on &#8220;geometry, colour and light&#8221; in contemporary art.  The &#8220;I&#8221; in the blog&#8217;s title is the most personal thing you&#8217;ll find here &#8212; from there on, the blog is delightfully fresh and minimal in its presentation of works from a number of artists.  I can&#8217;t tell you much else about the person behind the blog, other than I believe it to be run from Barcelona.  The apparent anonymity of the blog itself is, of course, the virtual equivalent of good unobtrusive gallery-keeping.  Go enjoy the brightness for yourself!</p>
<p style="text-align:left;"><img class="aligncenter size-medium wp-image-546" src="http://idletigers.wordpress.com/files/2008/05/0601_uf_website.jpg?w=224" alt="Urban Forest" width="133" height="178" />Leon van den Eijkel in collaboration with Allan Brown: Urban Forest</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Advice on name-dropping (tips for teens, part two)]]></title>
<link>http://idletigers.wordpress.com/2008/04/18/advice-on-name-dropping-tips-for-teens-part-two/</link>
<pubDate>Fri, 18 Apr 2008 16:05:41 +0000</pubDate>
<dc:creator>Ross</dc:creator>
<guid>http://idletigers.wordpress.com/2008/04/18/advice-on-name-dropping-tips-for-teens-part-two/</guid>
<description><![CDATA[This from a recent discussion with a famous man: There is little to be gained from dropping the name]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This from a recent discussion with a famous man:<br />
There is little to be gained from dropping the names of famous people into your daily conversations.  No-one will be particularly impressed.  Instead, try casually inserting the names of entirely un-famous people into your chatter; or at least, people who are famous <em>only to you</em>. </p>
<p>Of course, you will notice that the unfamous names that you drop soon take on an impressive aura of their own.  People will generally pretend to know exactly who you&#8217;re talking about, and names will start to take on a life of their own, completely separate from the people they were once attached to.   </p>
<p>As you can see, total obscurity is much more difficult to achieve (and much more admirable) than fame.  The unobtrusiveness that comes with failure will increasingly come to be recognised as a real virtue.</p>
<p>Next week:<br />
<strong>preparing to make a big impression in cities you&#8217;ll never to go to</strong>. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Webstock 08: Monday PM: Simon Willison, Jazz Up your JavaScript]]></title>
<link>http://cclbibliofile.wordpress.com/2008/02/13/webstock-08-monday-pm-simon-willison-jazz-up-your-javascript/</link>
<pubDate>Wed, 13 Feb 2008 08:49:29 +0000</pubDate>
<dc:creator>Simone</dc:creator>
<guid>http://cclbibliofile.wordpress.com/2008/02/13/webstock-08-monday-pm-simon-willison-jazz-up-your-javascript/</guid>
<description><![CDATA[Monday’s second session was a complete change of tack: using unobtrusive JavaScript and JavaScript l]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span>Monday’s second session was a complete change of tack: using unobtrusive JavaScript and JavaScript libraries to improve the usability of your web site. This session was a lot more technical and although I followed most of it I have lots of links and things to follow up when I get back. First some background…</span></p>
<p class="MsoNormal"><span>We tend to think of websites as constructed of three elements. Firstly there is the content itself – the words, the images, the links that join it altogether, headings, lists etc. This is written in HTML which does not in and of itself have any information about what it all looks like. The second part is the look and feel of the site, font-faces, sizes, what sits where, colours, background, borders etc. This is handled by the stylesheet(s) written in CSS. Finally there is interactivity which is handled by scripting (programmes) either at the server end (where the website code sits) or at the client (web browser) end.</span></p>
<p class="MsoNormal"><span>Several years ago JavaScript had pretty bad press but over the last few years a new style of JavaScript – unobtrusive JavaScript – and the Ajax method, have brought JavaScript to the fore. The idea is to first make your site work well without the scripting, and then add it on top to add functionality and usability. An example would be to have something open in a new window for any user but if they have JavaScript then it might simply change the current page instead. JavaScript libraries are pre-packaged sets of functions that make it unnecessary to write all of your script from scratch each time – therefore speeding up development and I guess standardising functions to some extent. </span></p>
<p class="MsoNormal"><span>From our point of view these MAY enable us to do some things (like forms for example) in a more user-friendly way, without a large cost in terms of development time. The downside is that for most libraries the user has to download the entire library, so there is more investigation to be done here. Simon was in particular introducing a library called <a href="http://jquery.com/" title="jquery website">jQuery</a>. He liked it because its well documented, easy to learn and has a good balance between simplicity and productivity &#8211; sounds good to me.<br />
</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Haunted House Music: the living room]]></title>
<link>http://idletigers.wordpress.com/2007/12/31/haunted-house-music-the-living-room/</link>
<pubDate>Mon, 31 Dec 2007 17:44:22 +0000</pubDate>
<dc:creator>Ross</dc:creator>
<guid>http://idletigers.wordpress.com/2007/12/31/haunted-house-music-the-living-room/</guid>
<description><![CDATA[I was trying to suggest recently that the kitchen is the room where expressionism does voice impress]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I was trying to suggest <a href="http://idletigers.wordpress.com/2007/12/11/haunted-house-music-the-kitchen/">recently</a> that the kitchen is the room where expressionism does voice impressions of realism.  Let&#8217;s presume that the living room is more free of signifiers of &#8220;realness&#8221;, of the kitchen-sink sort.  </p>
<p>Take an example associated with kitchen sink realism &#8212; Alan Sillitoe&#8217;s <i>The Loneliness of the Long-Distance Runner</i>.  After the death of Colin Smith&#8217;s father, his family spend their £500 bereavement package on new objects, with which to furnish their living room.  Tony Richardson&#8217;s film of the story visualises the transformation of the Smith family&#8217;s little home, a transformation which is completed with the arrival of a television.  Suddenly, through their living room, the family can enter other realms, other worlds: America is in houses in Nottingham, and, as Colin Smith says in Sillitoe&#8217;s story, &#8220;the telly had shown us how much more there was in the world to buy when we&#8217;d looked in shop windows &#8230; we used to cock our noses at things in shops that didn&#8217;t move, but suddenly we saw their real value because they jumped and glittered around the screen.&#8221;  The idea that I want to take from Sillitoe&#8217;s critique of consumer culture is this: that the television is a quasi-object, but more importantly, has the effect of animating other objects.  The movement of objects on a screen causes the movement of three-dimensional objects.  The object world is agitated, made to dance according to this sort of magic capitalism.  The living room is the stage on which this choreography of objects is performed.</p>
<p>The living room is a theatre.  All of its objects &#8212; whether they be televisions and home cinemas, or inanimate knick-knacks, personal artifacts, photos and ornaments &#8212; are part of a giant, connected home entertainment system that is the room itself.  And all theatres are ways of entering new and unknown realms; the living room is really a departure lounge, a place where you sit and wait to be taken somewhere else.</p>
<p>Of course, this transformative possibilities of the domestic space don&#8217;t have to depend of modernity&#8217;s technologies (although they help).  The animation of the object-world (let&#8217;s just call it animism and be done with it) in Sillitoe&#8217;s story is, understandably, entirely a matter of economic materialism.  Other minds in other ages and other places have imagined a domestic fetishism that is entirely aesthetic.</p>
<p><img src="http://idletigers.wordpress.com/files/2007/12/zaid05.jpg" alt="zaid05.jpg" height="319" width="232" /></p>
<p>I&#8217;ve said before, and will probably say again, that <i>À rebours</i>  by J.-K. Huysmans, despite (or because of) being written in 1884, is the first novel about the digital age.  The book is a meticulous description of the hermetically decadent existence of Des Esseintes, who forsakes Parisian society in favour of existing in isolation in the meticulously-planned aesthetic environment of his own home.  A famous passage involves Des Esseintes deciding, on a whim, to journey to London in pursuit of imagined Dickensian atmospheres &#8212; just before boarding the boat, Des Esseintes decides to simply go home, because without even travelling he has &#8220;seen and felt all that I wanted to feel &#8230; It would be madness to risk spoiling such unforgettable experiences by a clumsy change of locality.&#8221;  Des Esseintes&#8217;s decision is a wonderful answer to clumsy cosmopolitans those who&#8217;d go off bothering the world with backpacking; instead, he is the armchair (and therefore unobtrusive, weirdly provincial) cosmopolitan familiar to the digital age.  Of course, weak-nerved Des Esseintes is also sick beyond all help.  There is a very special strain of travel-sickness that is the result of too many nights spent in one&#8217;s own living room.</p>
<p>Des Esseintes&#8217; home &#8212; equipped with means to synaesthetic delights such as the &#8220;taste organ&#8221;, an instrument filled with various liqueurs on which various taste &#8220;pieces&#8221; can be played &#8212; is a harbinger of digital domesticity; but this hermetically sealed home is a closed circuit.  I was going to say that Des Esseintes is the creator of his own environment but, more than that, he <i>is</i> his own envionment.  The failure of his project begins when he overdoses on specially-mixed perfumes and has to throw open a window.  The modern living room, through windows real or virtual, is a similarly permeable space.</p>
<p>On the subject of permeability: the &#8220;permeable narrator&#8221; is a concept introduced by Brian Richardson in his book <i>Unnatural Voices: Extreme Narration in Modern and Contemporary Fiction</i>.  Using Beckett&#8217;s The Unnameable as an example, Richardson defines the permeable narrator as being the result of &#8220;the uncanny and inexplicable intrusion of the voice of another within the narrator&#8217;s consciousness&#8221;.  Such a narrator is a psychological equivalent of the spatial intrusion of outside &#8220;voices&#8221; into the domestic environment.  An example from narrative that I&#8217;d give to show this is Don DeLillo&#8217;s <i>White Noise</i>.  Being a third-person narrative, this is a more complicated example than Beckett&#8217;s monologues.  What interests me here, though, is the way that voices &#8212; televisual voices, media voices, advertising voices &#8212; intrude into Jack Gladney&#8217;s family home.  This is the white noise that flickers in and out of the narrative as interference or static &#8212; domestically set dialogue between characters is punctuated by speaking parts given to electrical appliances: &#8220;the television said&#8230;&#8221;</p>
<p><img src="http://idletigers.wordpress.com/files/2007/12/fig1-schiefer.jpg" alt="fig1-schiefer.jpg" height="138" width="216" /></p>
<p>Are these voices the sound of the living room itself (since the television is a domestic object) or are they intrusions from outside?  Do televisions and radios, or high-speed  internet connections, somehow de-territorialize the domestic sphere?  John Cage&#8217;s 1940 piece <i>Living Room Music </i>liberated the noise of household objects &#8212; here are some instructions from the score:</p>
<blockquote><p>Any household objects or architectural elements may be used &#8230; magazines, newpaper &#8230; table &#8230; furniture &#8230;. largish books &#8230; floor, wall, door &#8230; Do not use conventional beaters.</p></blockquote>
<p>This is an early example of Cage&#8217;s career-long animistic engagement with the object.  Frances Dyson, in an essay on Cage, has asked what happens to this piece when &#8220;household object&#8221; is extended to include the &#8220;quasi-object technological sound-sources&#8221; in a room.</p>
<p>But to go all the way back to Sillitoe and the Nottingham living room in <i>The Loneliness of the Long-Distance Runner</i>: a favourite game (superbly included in the film version) of Colin Smith and his pal is to silence the television during the &#8220;improving&#8221; post-war speeches of Tory politicians.  Watching the politician gesticulating self-importantly onscreen, unaccompanied by any sound, the lads collapse into laughter.  They have guarded their domestic sound-space against intrusion, simply by use of the volume control.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ditch link_to_remote the unobtrusive way]]></title>
<link>http://pushrod.wordpress.com/2007/12/12/ditch-link_to_remote-the-unobtrusive-way/</link>
<pubDate>Wed, 12 Dec 2007 17:52:49 +0000</pubDate>
<dc:creator>ctagg</dc:creator>
<guid>http://pushrod.wordpress.com/2007/12/12/ditch-link_to_remote-the-unobtrusive-way/</guid>
<description><![CDATA[So, Rails 2.0 is out, but the somewhat dubious link_to_remote and other javascript helpers are still]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So, <a href="http://weblog.rubyonrails.org/2007/12/7/rails-2-0-it-s-done">Rails 2.0 is out</a>, but the somewhat dubious <a href="http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M000945">link_to_remote</a> and <a href="http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html">other javascript helpers</a> are still there, and haven&#8217;t been removed into a plugin, as I think was suggested at one point.</p>
<p>I think that&#8217;s a bit of a shame, as it encourages some fairly nasty practices, from filling your code with a series of links all with the same javascript code, to linking to a null anchor by default (and so failing to ecourage a non-javascript option), to putting code inline, when it really doesn&#8217;t need to be (and you wouldn&#8217;t think of doing that with CSS these days, would you?).<a href="http://www.danwebb.net/"></a></p>
<p><a href="http://www.danwebb.net/">Dan Webb</a> has written about this quite a bit and got me turned onto the whole thing at the Euro Railsconf 06 (see <a href="http://www.danwebb.net/2006/9/18/railsconf-presentation-slides-and-example-code">his presentation</a>). He is also responsible for the excellent <a href="http://www.danwebb.net/2007/7/17/low-pro-behaviours-101">lowpro</a>, a lightweight extension to <a href="http://www.prototypejs.org/">Prototype</a> that makes unobtrusive javascript a cinch and <a href="http://www.danwebb.net/2007/12/12/low-pro-0-5-now-compatible-with-prototype-1-6">has just been updated to work with Prototype 1.6</a>.</p>
<p>Time for an example. In <a href="http://autopendium.com">Autopendium, the old car community website</a> I run, when you view the page for a particular model, it shows the Youtube videos for that model. Clicking on the description or thumbnail inserts the Youtube embedded viewer above the videos and starts playing it.</p>
<p><img src="http://pushrod.wordpress.com/files/2007/12/picture-9.png" alt="Videos on Autopendium" width="500" /></p>
<p>There&#8217;s a number of ways to do this &#8212; including using pure javascript to write the HTML for the viewer, either from the video&#8217;s id or, if you want more details on the video (rating, date uploaded, tags etc) via Youtube&#8217;s API (which can return json if requested).</p>
<p>I&#8217;ve gone for a server-side solution, which has the added bonus of allowing me to show the video on a separate page, complete with the video&#8217;s title in the page&#8217;s title, and the video&#8217;s tags in the meta tags. Though the googlebot obviously doesn&#8217;t play the video, it does see all the other stuff, which all helps a little, and sends a few extra users my way.Functionality on the Rails side is pretty straightforward. There&#8217;s a VideosController, and a #show action, which uses the Youtube video id as the :id parameter, and a responds_to block which renders it in its own page if it&#8217;s a regular html request, and via an RJS action if it&#8217;s a js request.</p>
<p>As far as the links go, I could of course use link_to_remote:<br />
<code>link_to_remote "View video", {:url =&#62; {<br />
:controller =&#62; "videos", :action =&#62; "show", :id =&#62; video.id },<br />
:method =&#62; :get }</code><br />
A bit of a mess, and the output is no better:<br />
<code></code></p>
<p><code>&#60;a href="/videos/45" onclick="new Ajax.Request('/videos/45',<br />
{ asynchronous:true, evalScripts:true, method:'get'});<br />
return false;"&#62;View video&#60;/a&#62;</code></p>
<p>Perhaps we should add a few font tags while we&#8217;re at it&#8230;</p>
<p>The Unobtrusive alternative is rather nicer (this assumes you&#8217;re adding the lowpro library). In the application helper, define a link helper:</p>
<p><code>def remote_link_to(text, link, options={})<br />
html_class = "remote #{options.delete(:class)}".strip<br />
link_to(text, link, options.merge({:class =&#62; html_class}))<br />
end</code></p>
<p><code></code>This is super simple &#8212; it simply appends a remote class to your link. So, for the video viewing link we write<br />
<code></code></p>
<p><code>remote_link_to "View video", {:controller =&#62; "videos", :action =&#62; "show", :id =&#62; video.id }</code></p>
<p>which outputs:</p>
<p><code>&#60;a href="/videos/45" class="remote" &#62;View video&#60;/a&#62;</code></p>
<p><code></code>Then in your application.js, add the following:</p>
<p><code>Event.addBehavior({"a.remote": function(event) {<br />
this.observe('click', function(event) {<br />
new Ajax.Request(this.href, {asynchronous:true, evalScripts:true, method:'get'});<br />
return false;});})</code></p>
<p>Job done! Now all links with a class of &#8220;remote&#8221; will make an Ajax request if called by a js-enabled browser, or a regular request if called by a search engine or non-js-enabled browser.The code is neater, shorter, better, and it works so well I&#8217;ve extended the pattern for a couple of other helpers</p>
<ul>
<li>external_link_to &#8212; which appends a &#8220;external&#8221; class, which with pretty much a single line of js means that all such links open up in a new window. I&#8217;ve also CSS styled this to show an &#8220;external link icon&#8221;.</li>
<li>modal_link_to &#8212; open a modal (floating) box with the result of tan Ajax request using the <a href="http://livepipe.net/projects/control_modal/">Control.Modal</a> library</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Haunted House Music: introduction]]></title>
<link>http://idletigers.wordpress.com/2007/12/05/haunted-house-music-introduction/</link>
<pubDate>Wed, 05 Dec 2007 05:19:18 +0000</pubDate>
<dc:creator>Ross</dc:creator>
<guid>http://idletigers.wordpress.com/2007/12/05/haunted-house-music-introduction/</guid>
<description><![CDATA[I&#8217;m happy because my album, The Spirit Salon now has a face, following a serious photoshoot an]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;m happy because my album, The Spirit Salon now has a face, following a serious photoshoot and a bit of design.  The photos that were taken for the album cover, funnily enough, are much more &#8220;produced&#8221; than the music itself is.  The photography was done in a studio.  The music was recorded at home&#8230; at my home, mostly, with an honourable mention to The Manning House, as shown in the picture below.</p>
<p><img src="http://idletigers.wordpress.com/files/2007/12/manninghouse.jpg" alt="manninghouse.jpg" /></p>
<p>Practically, financially, it makes sense to work at home.  And I also believe that recordings should, on some level, <em>sound</em> like the space in which they were made (because rooms have voices, and these voices might as well contribute to the recording) &#8212; and of course the home, being a permeable sound-space and a container of audible memories, is likely to have a far richer voice than a recording studio.</p>
<p><img src="http://idletigers.wordpress.com/files/2007/12/homerecording1.jpg" alt="homerecording1.jpg" height="511" width="383" /></p>
<p>And home-recording causes something else to happen &#8212; when the home is made to double as a workplace, <em>domesticity</em> gets conceptually transformed.</p>
<p>Whatever the occasion, I like being at home.  I&#8217;m not a very good traveler, and staying in seems to be a good means of remaining <em>unobtrusive</em> &#8212; a quality which for me seems to have increasingly become an aesthetic principle of sorts.  The idea that, being an Englishperson who uprooted and moved across continents, I might <em>appear</em> to be some type of cosmopolitan, is just one of those peculiar jokes that I can&#8217;t really explain.</p>
<p>The Spirit Salon is very much about domesticity, but it&#8217;s also about haunting.  The means that the the home-as-soundscape is enormous and ultra-permeable, opening its little contained self up to channel voices from unexpected times and places.  That&#8217;s what singing means, by the way.</p>
<p>In the next couple of weeks I&#8221;m going to be making a series of posts that will function as a room-by-room guide to the sound of houses, as recorded (literally or imaginatively) in music, literature, philosophy&#8230; and memory.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Calendar]]></title>
<link>http://koorb.wordpress.com/2007/11/22/calendar/</link>
<pubDate>Thu, 22 Nov 2007 10:53:21 +0000</pubDate>
<dc:creator>koorb</dc:creator>
<guid>http://koorb.wordpress.com/2007/11/22/calendar/</guid>
<description><![CDATA[Finally a great unobtrusive, simple, functional date picker. And its written with mootools! Easy to ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Finally a great unobtrusive, simple, functional date picker. And its written with mootools!</p>
<p><img src='http://koorb.wordpress.com/files/2007/11/calendar.jpg' alt='calendar.jpg' /></p>
<ul>
<li>Easy to style with CSS</li>
<li>Configurable input types &#8211; you can use various combinations of drop-downs and text boxes</li>
<li>Restrict dates</li>
<li>Multiple calendar support</li>
<li>Multilingual</li>
</ul>
<p>Check it out <a href="http://www.electricprism.com/aeron/calendar/">http://www.electricprism.com/aeron/calendar/</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The seven rules of Unobtrusive JavaScript]]></title>
<link>http://koorb.wordpress.com/2007/11/16/the-seven-rules-of-unobtrusive-javascript/</link>
<pubDate>Fri, 16 Nov 2007 11:45:26 +0000</pubDate>
<dc:creator>koorb</dc:creator>
<guid>http://koorb.wordpress.com/2007/11/16/the-seven-rules-of-unobtrusive-javascript/</guid>
<description><![CDATA[Chris Heilmann, over at wait-till-i.com is doing a workshop at the Paris Web Conference on unobtrusi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Chris Heilmann, over at <a href="http://www.wait-till-i.com">wait-till-i.com</a> is doing a workshop at the Paris Web Conference on unobtrusive JavaScript and covering his &#8220;Seven rules of Unobtrusive JavaScript&#8221;</p>
<ol>
<li>Do not make any assumptions</li>
<li>Find your hooks and relationships</li>
<li>Leave traversing to the experts</li>
<li>Understand browsers and users</li>
<li>Understand Events</li>
<li>Play well with others</li>
<li>Work for the next developer</li>
</ol>
<p>Read more in <a href="http://icant.co.uk/articles/seven-rules-of-unobtrusive-javascript/">his article here</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Adding javascript to a real xhtml page, unobtrusively]]></title>
<link>http://omegajunior.wordpress.com/2007/09/05/adding-javascript-to-a-real-xhtml-page-unobtrusively/</link>
<pubDate>Wed, 05 Sep 2007 07:31:15 +0000</pubDate>
<dc:creator>omegajunior</dc:creator>
<guid>http://omegajunior.wordpress.com/2007/09/05/adding-javascript-to-a-real-xhtml-page-unobtrusively/</guid>
<description><![CDATA[Death to document.write()! The document.createElement() function (javascript, DOM 1) can create a sc]]></description>
<content:encoded><![CDATA[Death to document.write()! The document.createElement() function (javascript, DOM 1) can create a sc]]></content:encoded>
</item>

</channel>
</rss>
