<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Ziki - Contenu r&#233;cemment publi&#233; par Justin Pease</title>
    <link>http://www.ziki.com/fr/justinpease+16952</link>
    <pubDate>Sat, 28 Nov 2009 19:40:26 +0100</pubDate>
    <ttl>120</ttl>
    <description>Mon contenu chez Ziki.com</description>
    <item>
      <title>What If Hosting Was a Library?</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/-1m-OwhIfJw/what-if-hosting-was-library.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"># Was thinking, "if hosting was a library, what might it look like..."<br />
<br />
require 'ProviderX'<br />
<br />
# We'll pretend we already have an account with fictitious ProviderX<br />
<br />
host = ProviderX.new(:user =&gt; 'foo', :password =&gt; 'secret')<br />
<br />
# Let's see what ProviderX will allow us to deploy to<br />
<br />
host.provides<br />
&gt; ['Amazon', 'Google']<br />
<br />
# Let's create a new environment to deploy to<br />
<br />
production = host.cloud.new(:vendor =&gt; 'Amazon', :name =&gt; 'production', :min_cpu =&gt; 2, :min_mem =&gt; 1024)<br />
<br />
# We also would need to define the application that we wish to deploy<br />
<br />
application = host.application.new(:repository =&gt; 'http://foo.com/foo.git', :type =&gt; 'Rails', :name =&gt; 'foo', :domain =&gt; 'foo.com', :ssl_enabled =&gt; true)<br />
<br />
# All set! Let's deploy.<br />
<br />
application.deploy_to production<br />
<br />
application.deployed?<br />
&gt; true<br />
<br />
application.deployed_to<br />
&gt; ['production']<br />
<br />
production.applications<br />
&gt; ['foo']<br />
<br />
# Maybe we forgot that we want to redirect www.foo.com to foo.com<br />
<br />
application.redirects.add :from =&gt; 'www.foo.com', :to =&gt; 'foo.com'<br />
<br />
# We don't want to deploy the code again, we just want to sync configuration changes (the redirect).<br />
<br />
application.sync_configs production<br />
<br />
# Perhaps we could control our resources from within our application<br />
<br />
if production.swapping?<br />
&nbsp;&nbsp;production.ram.add 128<br />
end<br />
<br />
# That's it for my day-dreaming.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-3809601497705502556?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=-1m-OwhIfJw:fjvZglpFNBY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=-1m-OwhIfJw:fjvZglpFNBY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=-1m-OwhIfJw:fjvZglpFNBY:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=-1m-OwhIfJw:fjvZglpFNBY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=-1m-OwhIfJw:fjvZglpFNBY:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=-1m-OwhIfJw:fjvZglpFNBY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=-1m-OwhIfJw:fjvZglpFNBY:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sat, 28 Nov 2009 19:40:26 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2009:/article/11320885</guid>
    </item>
    <item>
      <title>HAProxy: Routing by domain name</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/0S4yaeSt2BY/haproxy-routing-by-domain-name.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">Without too much effort I was able to find multiple search results that said <a href="http://haproxy.1wt.eu/">HAProxy</a> could direct traffic according to domain name. Unfortunately I was hard pressed to find any example configurations demonstrating that functionality. Turns out it is in section 7.7 of the <a href="http://haproxy.1wt.eu/download/1.3/doc/configuration.txt">documentation</a>.<br />
<br />
If we wanted to direct traffic for foo.com and bar.com to different servers we could do so as follows:<br />
<pre>
<br />frontend http_proxy<br />  bind 192.168.0.1:80<br />  acl is_foo hdr_dom(host) -i foo<br />  acl is_bar hdr_dom(host) -i bar<br />  use_backend cluster1 if is_foo<br />  use backend cluster2 if is_bar<br /><br />backend cluster1<br />  server server1 192.168.0.2:80<br />  server server2 192.168.0.3:80<br /><br />backend cluster2<br />  server server3 192.168.0.4:80<br />
</pre><br />
So first we create a frontend called http_proxy that will listen on port 80 of 192.168.0.1. The next lines are the key parts.<br />
<br />
We create an acl called is_foo which checks the Host portion of the HTTP header for the provided value, in this case 'foo' in one and 'bar' in the second acl. The '-i' flag in both examples sets the match to be case insensitive.<br />
<br />
The last part of the frontend configuration is to tell it to use a backend named cluster1 or cluster2 depending on if the is_foo or is_bar acl matches.<br />
<br />
Finally we define the backends cluster1 and cluster2. The backend cluster1 has 2 servers, backend cluster2 only has 1.<br />
<br />
So in this case if we sent a request for http://foo.com to 192.168.0.1:80 the acl that checks for the value 'foo' in the host should pass, and our request should be proxied to port 80 of either 192.168.0.2 or 192.168.0.3.<br />
<br />
The practical example shown in the HAProxy documention is that you could use this to direct traffic for assets.foo.com to a server for static content, and www.foo.com over to your application server. However, if you found this article through a search, I'm sure you already have in mind how you want to use this.<br />
<br />
In addition to the hdr_dom shown in this example, there are many other hdr_* matchers, as well as many other configuration options with HAProxy. For full details and options see the <a href="http://haproxy.1wt.eu/download/1.3/doc/configuration.txt">official HAProxy documentation</a>.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-6686588122428817495?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=0S4yaeSt2BY:Mg6W9ro7w9o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=0S4yaeSt2BY:Mg6W9ro7w9o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=0S4yaeSt2BY:Mg6W9ro7w9o:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=0S4yaeSt2BY:Mg6W9ro7w9o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=0S4yaeSt2BY:Mg6W9ro7w9o:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=0S4yaeSt2BY:Mg6W9ro7w9o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=0S4yaeSt2BY:Mg6W9ro7w9o:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Tue, 03 Nov 2009 03:43:49 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2009:/article/11272548</guid>
    </item>
    <item>
      <title>Tiny email sending service with Amazon SQS</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/q6XwfRIaO4k/tiny-email-sending-service-with-amazon.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">I found the "<a href="http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf">Dynamo Paper</a>" by Amazon to be interesting. In particular I liked the idea of small services. Nothing new, but I liked the concept and wanted to play with it.<br />
<br />
The result was the 71 line <a href="http://github.com/jpease/sqs-mailer">SQS Mailer</a>, available on Github.<br />
<br />
For this experiment the code polls an <a href="http://aws.amazon.com/sqs/">Amazon SQS</a> queue. If there are messages in that queue, it retrieves them, parses them, and sends them out as emails via SMTP. If there are no messages waiting, it just sleeps for 5 seconds and tries again. So if you ran multiple applications that all needed to send email, they could send it out through this single service by sending a message to the queue. Which SMTP server account the message would go out through is controlled by a combination of a potentially application-specific identifier in the message you send to the queue, and a service-side lookup in accounts.yml.<br />
<br />
Will this be useful? Not sure. But it was fun to put together!<br />
<br />
Basically I sketched this out onto some notepaper one night, and then later filled in the functionality for each method when I had time:<br />
<br />
<br />
<br />
At the current <a href="http://aws.amazon.com/sqs/#pricing">Amazon SQS pricing</a> of $0.01 per 10,000 requests, leaving this idling would incur a cost of about $6.50 per year from AWS.<br />
<br />
As the disclaimer in the README file states, this doesn't handle failure scenarios with any grace. If I decide it is useful for anything, I will give that some attention. Or you can fork the project and let me know what you come up with.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-3733095788221675649?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=q6XwfRIaO4k:pwP0HlwsXvo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=q6XwfRIaO4k:pwP0HlwsXvo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=q6XwfRIaO4k:pwP0HlwsXvo:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=q6XwfRIaO4k:pwP0HlwsXvo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=q6XwfRIaO4k:pwP0HlwsXvo:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=q6XwfRIaO4k:pwP0HlwsXvo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=q6XwfRIaO4k:pwP0HlwsXvo:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Tue, 27 Oct 2009 04:41:17 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2009:/article/11213081</guid>
    </item>
    <item>
      <title>Do you spend significant time &amp;quot;off-hours&amp;quot; on tech projects?</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/DzpkbBUD5G0/do-you-spend-significant-time-off-hours.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">Do you spend significant time "off-hours" on tech projects?<br />
<br />
If so, are you driven by passion or fear of becoming irrelevant?<br />
<br />
Whether driven by passion or fear, does the amount of time involved negatively impact other areas of your life?<br />
<br />
Would be interested to hear what people think.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7473711497169396615?l=jit.nuance9.com" height="1" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=DzpkbBUD5G0:BsbZn7BYVKw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=DzpkbBUD5G0:BsbZn7BYVKw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=DzpkbBUD5G0:BsbZn7BYVKw:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=DzpkbBUD5G0:BsbZn7BYVKw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=DzpkbBUD5G0:BsbZn7BYVKw:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=DzpkbBUD5G0:BsbZn7BYVKw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=DzpkbBUD5G0:BsbZn7BYVKw:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Wed, 21 Oct 2009 19:55:50 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2009:/article/11164447</guid>
    </item>
    <item>
      <title>Abort: couldn&amp;apos;t find mercurial libraries</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/ATQL77j3nO8/abort-couldnt-find-mercurial-libraries.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">I've been setting up my fresh Snow Leopard installation today.</span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">I followed the guide from Hivelogic: <a href="http://hivelogic.com/articles/compiling-mercurial-on-snow-leopard/">Compiling Mercurial on Snow Leopard</a>. The installation completed without issue and 'which hg' showed everything was in place.</span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">However, when I tried to issue an 'hg' command the following error popped up:</span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">"abort: couldn't find mercurial libraries"</span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">Google came to the rescue, and revealed these tweets:</span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><a href="https://wincent.com/twitter/155">https://wincent.com/twitter/155</a></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><a href="https://wincent.com/twitter/156">https://wincent.com/twitter/156</a></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">For Snow Leopard, I just needed:</span>
</div>
<div>
  <span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);"><br /></span>
</div><span style="font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(102, 0, 0);">export PYTHONPATH=/usr/local/lib/python2.6/site-packages</span>
<div>
  <span style="color: #660000; font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 100%;"><br /></span>
</div>
<div>
  <span style="color: #660000; font-family: monospace, Geneva, Arial, Verdana, sans-serif; font-size: 100%;">If you hit the same, hope this works for you.</span>
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-8921973914091102243?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=ATQL77j3nO8:cDcze6_H3J4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=ATQL77j3nO8:cDcze6_H3J4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=ATQL77j3nO8:cDcze6_H3J4:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=ATQL77j3nO8:cDcze6_H3J4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=ATQL77j3nO8:cDcze6_H3J4:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=ATQL77j3nO8:cDcze6_H3J4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=ATQL77j3nO8:cDcze6_H3J4:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Mon, 07 Sep 2009 04:14:47 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2009:/article/10767852</guid>
    </item>
    <item>
      <title>David vs United Airlines: An Internet Lesson</title>
      <link>http://feedproxy.google.com/%7Er/Nuance9/%7E3/UIf17rSWo_M/internet-lesson-from-united-airlines.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">If you have any doubt that the Internet changes the dynamics of "business as usual", take a moment to consider the case of <a href="http://www.davecarrollmusic.com/">Mr. Dave Carroll</a>.<br />
<br />
According to his side of the story, while flying <a href="http://www.united.com/">United Airlines</a> his guitar was broken. After 1 year of frustrated attempts to receive compensation for his loss he was told "No".<br />
<br />
5 to 10 years ago that would have been the end of the story.<br />
<br />
<span style="font-weight: bold;">Not so today.</span><br />
<br />
Dave Carroll told United Airlines that he was going to write <span style="font-weight: bold;">3 songs</span> about the incident and produce videos for them for the whole world to see. <a href="http://www.youtube.com/watch?v=5YGc4zOqozo">Installment 1</a> was released 3 days ago.<br />
<br />
In 3 days, "<a href="http://www.youtube.com/watch?v=5YGc4zOqozo">United Breaks Guitars</a>" has been viewed <span style="font-weight: bold;">over 700,000 times</span>. My search for "United" brought his video up as the <span style="font-weight: bold;">#3 result in Google</span>. All within 3 days. Wow.<br />
<br />
And of those 700,000 views (and who knows how many more to come), how many do you suppose will side with United? The next time you go to book a flight and see the name United, will you remember the catchy chorus to "United Breaks Guitars"? How much will that cost United in the end? Will it be more than just doing the right thing 12 months ago? Probably. Probably by a lot.<br />
<br />
If your business has survived by dominating the voiceless consumer, or thrived due to lack of competition... times are changing.<br />
<br />
On the other hand, if your business is based upon providing remarkable products or services delivered with class, never before has there been the opportunity for the news to spread like there is today.<br />
<br />
So the next time you have a difficult interaction with a customer: Remember the story of David vs United. Then do the right thing.<br />
<br />
<span style="font-weight: bold; font-size: 130%;">Your Turn</span><br />
What has been your experience? Have you seen first hand how the internet has changed the face of business?
<div>
  <img src="https://blogger.googleusercontent.com/tracker/6509333266222982148-310280912116348438?l=blog.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/Nuance9?a=UIf17rSWo_M:s-jhbNCHOaY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=UIf17rSWo_M:s-jhbNCHOaY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=7Q72WNTAKBA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=UIf17rSWo_M:s-jhbNCHOaY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=UIf17rSWo_M:s-jhbNCHOaY:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=UIf17rSWo_M:s-jhbNCHOaY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=UIf17rSWo_M:s-jhbNCHOaY:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Fri, 10 Jul 2009 06:35:31 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2009:/article/10285512</guid>
    </item>
    <item>
      <title>Typing? I&amp;apos;m a programmer not a secretary.</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/FoLFpL68EmI/typing-im-programmer-not-secretary.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">This last week has seen a few posts on the necessity, or lack thereof, for good touch typing skills.
<div>
  <br />
</div>
<div>
  <a href="http://www.codinghorror.com/blog/archives/001188.html">We Are Typists First, Programmers Second</a> - Jeff Atwood
</div>
<div>
  <a href="http://ifacethoughts.net/2008/11/19/is-typing-a-necessity-for-programming/">Is Typing A Necessity For Programming?</a> -&nbsp;Abhijit Nadgouda
</div>
<div>
  <br />
</div>
<div>
  I originally was going to say something along the lines of "I think it depends on how you view programming." &nbsp;I was then going to differentiate between whether you just view programming as a job (where you are looking to scrape by with minimum investment), or a skill/craft/art to be cultivated.
</div>
<div>
  <br />
</div>
<div>
  But in the process of assembling my ideas, I thought back to how I learned to touch type. &nbsp;I wanted a job that at the time seemed to pay pretty decent. &nbsp;However, the job required a minimum typing speed of 40WPM. &nbsp;I was a 2 finger typist up till that point, which wasn't going to cut it. &nbsp;Since I wanted the job I put forth some effort. &nbsp;In about 1 month, using some free typing tutor programs, I learned to touch type sufficiently to pass the test and get the job. &nbsp;Once on the job further increases in speed and accuracy came. &nbsp;
</div>
<div>
  <br />
</div>
<div>
  The glorious job that prompted this investment of effort was data entry. &nbsp;It was boring as could be. &nbsp;Really. &nbsp;If you have never done data entry yourself it would be hard to imagine the level of boredom involved. &nbsp;There was no craft or art to it, just glossy eyes and sore wrists.
</div>
<div>
  <br />
</div>
<div>
  Now programming is not "just typing". &nbsp;It's not just entering characters into a buffer. &nbsp;Believe me, I speak from experience, it is not just data entry. &nbsp;So a 10x improvement in your typing speed will not equate to a 10x increase in your productivity. &nbsp;Hopefully between all that typing, programming requires you to stop and think.
</div>
<div>
  <br />
</div>
<div>
  Nevertheless, whether you use some auto-complete super-fancy intellisensical snippet-fu brain scanning IDE or a bare bones text editor, you most likely use a keyboard as your central physical tool to transfer your thoughts from your brain into the computer. &nbsp;If that is the case, even if programming is just your "job", you owe it to yourself to put forth a little bit of effort and learn to touch type.&nbsp;
</div>
<div>
  <br />
</div>
<div>
  It really is worth the effort, and the initial awkwardness. &nbsp;If you don't know how to touch type you won't understand until you do. &nbsp;There is something, well, just "cool" about being able to see words appear on the screen as you think them without giving any conscious thought to directing the individual fingers and keystrokes. &nbsp;
</div>
<div>
  <br />
</div>
<div>
  If you are going to use a tool on a daily basis, I can't imagine any reasonable argument against taking the time to learn to use it well.
</div>
<div>
  <br />
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7017096482896949694?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=FoLFpL68EmI:62XE9LqX8Oc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=FoLFpL68EmI:62XE9LqX8Oc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=FoLFpL68EmI:62XE9LqX8Oc:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=FoLFpL68EmI:62XE9LqX8Oc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=FoLFpL68EmI:62XE9LqX8Oc:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=FoLFpL68EmI:62XE9LqX8Oc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=FoLFpL68EmI:62XE9LqX8Oc:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Thu, 27 Nov 2008 18:08:00 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/8371399</guid>
    </item>
    <item>
      <title>Knowing Your Languages</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/HUaydQnyRlQ/knowing-your-languages.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><div>
  You may only speak one language, but how well do you know your tools? &nbsp;There are likely many similarities between learning a language and learning the tools you use daily.
</div>
<div>
  <br />
</div>Today I was thinking about the difference between someone who is just learning a spoken language and someone who knows it well, and how this may at times be seen by their knowledge of it's vocabulary. &nbsp;For example, imagine someone explaining "I need a tool that you use to hit those little metal things that connect two pieces of wood together. &nbsp;It has a wooden handle about 12" long and has a metal part on top. &nbsp;You know? &nbsp;The tool that people who build houses use."
<div>
  <br />
</div>
<div>
  Do you know what tool they are talking about? &nbsp;Probably. &nbsp;When I was learning Spanish, this is the sort of description I would find myself having to use at times. (To all the patient people who put up with me, Thank you.)
</div>
<div>
  <br />
</div>
<div>
  Of course, a person who knew the language well could have conveyed the same thought more concisely and clearly: "I need a hammer."
</div>
<div>
  <br />
</div>
<div>
  This same idea goes beyond spoken language. &nbsp;
</div>
<div>
  <br />
</div>
<div>
  I use VIM on a daily basis. &nbsp;Until recently my VIM vocabulary consisted of :wq, dd, i, /, :%s and esc. &nbsp;Not a vary wide vocabulary at all for such a powerful tool. &nbsp;I could get most anything done, but it was more like that first long-winded description of a hammer. &nbsp;I am continuing to work on expanding my VIM vocabulary, and in doing so finding that what previously took many keystrokes can now be done nearly instantly with a single command.
</div>
<div>
  <br />
</div>
<div>
  However, the real value of a rich vocabulary is much more than simply the ability to be concise. &nbsp;A rich vocabulary allows you multiple options to express your thoughts depending on the intended goal.
</div>
<div>
  <br />
</div>
<div>
  Instead of simply stating that it was "humid", a story-teller may choose to describe the air as "thick with moisture, soaking one's clothes and sapping one's strength." &nbsp;Not as concise, but perhaps adding important details.
</div>
<div>
  <br />
</div>
<div>
  The same is true with our programming language vocabulary. &nbsp;The goal of a rich vocabulary in Ruby, Erlang, or (insert your favorite language here)&nbsp; is not always to write the least lines of code. &nbsp;Our goal may be to increase maintainability, expose intentions, improve performance, etc. &nbsp;By improving our vocabulary and grasp of the language, we are able to express our thoughts both efficiently and in the way that best fits the specific situation at hand.
</div>
<div>
  <br />
</div>
<div>
  How is your vocabulary with the tools that you use? &nbsp;What are you doing to improve?<br />
  <div>
    <div>
      <br />
    </div>
    <div>
      <br />
    </div>
  </div>
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-3158473252870275718?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=HUaydQnyRlQ:3AvSRmvyq2o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=HUaydQnyRlQ:3AvSRmvyq2o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=HUaydQnyRlQ:3AvSRmvyq2o:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=HUaydQnyRlQ:3AvSRmvyq2o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=HUaydQnyRlQ:3AvSRmvyq2o:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=HUaydQnyRlQ:3AvSRmvyq2o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=HUaydQnyRlQ:3AvSRmvyq2o:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sun, 09 Nov 2008 02:42:14 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/8192464</guid>
    </item>
    <item>
      <title>Remove Gems By Prefix</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/AiFozCmr2S0/remove-gems-by-prefix.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">If you are working with Merb or DM you know that approximately a gazillion gems are involved. &nbsp;When, for whatever reason, I want to remove them it is a pain to do by hand.
<div>
  <br />
</div>
<div>
  Here is a simple script to help:
</div>
<div>
  <br />
</div>
<div>
  <div>
    <code>#!/bin/bash</code>
  </div>
  <div>
    <code>prefix=$1</code>
  </div>
  <div>
    <code>gem list --local | grep $prefix &nbsp;| awk '{ print $1 }' | xargs sudo gem uninstall</code>
  </div>
  <div>
    <br />
  </div>
  <div>
    I saved mine as remove_gem_by_prefix, gave it executable permissions and placed it in my path.
  </div>
  <div>
    <br />
  </div>
  <div>
    Now I can issue the commands:
  </div>
  <div>
    <br />
  </div>
  <div>
    <code>$ remove_gem_by_prefix merb</code>
  </div>
  <div>
    <br />
  </div>
  <div>
    or&nbsp;
  </div>
  <div>
    <br />
  </div>
  <div>
    <code>$ remove_gem_by_prefix dm</code>
  </div>
  <div>
    <br />
  </div>
  <div>
    And they all get blasted. &nbsp;You do need to be careful to make sure the prefix you provide is unique to the gems you wish to remove.
  </div>
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-4665321812080413196?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=AiFozCmr2S0:H-tztfiptL8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=AiFozCmr2S0:H-tztfiptL8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=AiFozCmr2S0:H-tztfiptL8:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=AiFozCmr2S0:H-tztfiptL8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=AiFozCmr2S0:H-tztfiptL8:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=AiFozCmr2S0:H-tztfiptL8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=AiFozCmr2S0:H-tztfiptL8:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sat, 27 Sep 2008 16:55:22 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7881961</guid>
    </item>
    <item>
      <title>Git-O-Mator</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/Bu31koXKxmk/git-o-mator.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">Inspired by Rein Henrichs <a href="http://reinh.com/blog/2008/08/27/hack-and-and-ship.html">Hack &amp;&amp; Ship</a>, I have created Git-O-Mator.
<div>
  <br />
</div>
<div>
  Git-O-Mator is more name than these 2 simple scripts deserve, but what fun is naming small?
</div>
<div>
  <br />
</div>
<div>
  <a href="http://github.com/jpease/git-o-mator">Git-O-Mator can be found on GitHub</a>, and contains the scripts new_repo and hack. &nbsp;
</div>
<div>
  <br />
</div>
<div>
  <span style="font-size: large; font-weight: bold;">New_repo</span>
</div>
<div>
  New_repo was originally mentioned in the last blog post "<a href="http://jit.nuance9.com/2008/09/quick-remote-git-repository-creation.html">Quick Remote Git Repository Creation Script</a>", and has the syntax of:<br />
</div>
<div>
  <br />
</div>
<div>
  <code>new_repo foo</code>
</div>
<div>
  <br />
</div>
<div>
  Which will create a Git repository locally and on a remote host account that you configure.
</div>
<div>
  <br />
</div>
<div>
  <span style="font-size: large; font-weight: bold;">Hack</span>
</div>
<div>
  Hack is very similar to Hack &amp;&amp; Ship. &nbsp;Syntax is:<br />
</div>
<div>
  <br />
</div>
<div>
  <code>hack on</code>
</div>
<div>
  <br />
</div>
<div>
  This will automatically switch to the default branch which you can easily configure.&nbsp;Alternatively you can use:
</div>
<div>
  <br />
</div>
<div>
  <code>hack on foo</code>
</div>
<div>
  <br />
</div>
<div>
  Where "foo" is the name of the specific branch you wish to use. &nbsp;If the branch does not exist, it is created. &nbsp;
</div>
<div>
  <br />
</div>
<div>
  To rebase with the master, you have:
</div>
<div>
  <br />
</div>
<div>
  <code>hack sync</code>
</div>
<div>
  <br />
</div>
<div>
  To merge and push to your remote repository:
</div>
<div>
  <br />
</div>
<div>
  <code>hack push</code>
</div>
<div>
  <br />
</div>
<div>
  It also supports Rein's ssp (Simple Software Process) with:
</div>
<div>
  <br />
</div>
<div>
  <code>hack ssp</code>
</div>
<div>
  <br />
</div>
<div>
  Which is equivalent to hack sync &amp;&amp; hack push. &nbsp;If you prefer hack sync &amp;&amp; rake &amp;&amp; hack push, then you may use the -t flag for testing:
</div>
<div>
  <br />
</div>
<div>
  <code>hack ssp -t</code>
</div>
<div>
  <br />
</div>
<div>
  Silly little experiment. &nbsp;If you see room for improvement, feel free to fork and improve!
</div>
<div>
  <br />
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7295859931808804023?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=Bu31koXKxmk:bAcefcJIkM4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=Bu31koXKxmk:bAcefcJIkM4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=Bu31koXKxmk:bAcefcJIkM4:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=Bu31koXKxmk:bAcefcJIkM4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=Bu31koXKxmk:bAcefcJIkM4:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=Bu31koXKxmk:bAcefcJIkM4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=Bu31koXKxmk:bAcefcJIkM4:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Tue, 16 Sep 2008 06:29:49 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7794932</guid>
    </item>
    <item>
      <title>Quick Remote Git Repository Creation Script</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/BHgwM69IOkw/quick-remote-git-repository-creation.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">If you are using <a href="http://git.or.cz/">Git</a> for your source code management, <a href="http://www.github.com/">GitHub</a> is an awesome tool. It especially shines for public projects where you freely allow others to fork your code and possibly pull patches back in.<br />
<br />
Sometimes I'm just working on a project that I would prefer to keep in a private repository. GitHub provides paying accounts with such an option. However, I already have hosting accounts that are terribly underused. Here is a little script I use to create a remote git repository on one of my VPS accounts that I can then pull from and push to.<br />
<br />
<span style="font-size: large; font-weight: bold;">Prerequisites</span><br />
A hosting account which you can ssh / scp into.<br />
<br />
<span style="font-size: large; font-weight: bold;">The Script</span><br />
<br />
$ vim new_repo<br />
<code><br />
#! /bin/sh<br />
PWD=`pwd`<br />
<br />
# You must adjust these variables for your specifc hosting account.<br />
# Remote user you will connect as.<br />
REMOTE_USER="admin"<br />
# The IP address you will SSH / SCP to.<br />
REMOTE_HOST="123.456.123.456"<br />
# The remote path you wish to store your .git repositories in.<br />
REMOTE_REPO_PATH="/home/admin/repos/"<br />
<br />
if [ -d $1 ]; then<br />
&nbsp;&nbsp;echo "EXITING: Local directory '$1' already exists."<br />
&nbsp;&nbsp;exit 0<br />
else<br />
&nbsp;&nbsp;mkdir $1<br />
&nbsp;&nbsp;cd $1<br />
&nbsp;&nbsp;git init-db<br />
&nbsp;&nbsp;touch README<br />
&nbsp;&nbsp;git add .<br />
&nbsp;&nbsp;git commit -m "Initial Repository Creation"<br />
&nbsp;&nbsp;cd ..<br />
&nbsp;&nbsp;git clone --bare $1/.git $1.git<br />
&nbsp;&nbsp;echo "** Copying new repository $1.git to $REMOTE_HOST:$REMOTE_REPO_PATH"<br />
&nbsp;&nbsp;scp -r $1.git $REMOTE_USER@$REMOTE_HOST:$REMOTE_REPO_PATH<br />
&nbsp;&nbsp;rm -rf $1.git<br />
&nbsp;&nbsp;rm -rf $1<br />
&nbsp;&nbsp;echo "** Cloning locally at $PWD/$1"<br />
&nbsp;&nbsp;git clone $REMOTE_USER@$REMOTE_HOST:$REMOTE_REPO_PATH$1.git<br />
fi<br />
<br />
exit 0<br /></code><br />
<span style="font-size: large; font-weight: bold;">Or get it from GitHub</span><br />
<br />
<a href="http://github.com/jpease/git-o-mator">http://github.com/jpease/git-o-mator</a><br />
<br />
<span style="font-size: large; font-weight: bold;">Configuration</span><br />
<br />
<div>
  Of course, you will need to REMOTE_USER="admin" with an actual user on your hosting account, adjust REMOTE_HOST="123.456.123.456" to point to your accounts IP address, and edit REMOTE_REPO_PATH="/home/admin/repos/" with whatever path you wish to contain your Git repositories.<br />
  <br />
  Once that is done, provide executable permissions.<br />
  <br />
  $ chmod +x new_repo<br />
  <br />
  That's it. Now if you execute:<br />
  <br />
  $ ./new_repo testing<br />
  <br />
  You will end up with /home/user/repos/testing.git on your remote host, and ./testing locally. From ./testing you can git push to send commits to the remote repository, and git pull to retrieve from the remote repository.<br />
  <br />
  If you see room for improvement, I'm sure there is some, please leave a comment with your revision!
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-8656493293512869240?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=BHgwM69IOkw:ti7uVHdXqHk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=BHgwM69IOkw:ti7uVHdXqHk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=BHgwM69IOkw:ti7uVHdXqHk:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=BHgwM69IOkw:ti7uVHdXqHk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=BHgwM69IOkw:ti7uVHdXqHk:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=BHgwM69IOkw:ti7uVHdXqHk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=BHgwM69IOkw:ti7uVHdXqHk:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sun, 14 Sep 2008 01:59:26 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7779140</guid>
    </item>
    <item>
      <title>Compiling Nginx on OS X Leopard in 5 minutes</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/4CvH7qho9D0/compiling-nginx-on-os-x-leopard-in-5.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">I went to compile Nginx on my laptop this evening, and couldn't find a how-to for Leopard. Well at least not on the first page or 2 of search results.<br />
<br />
<span style="font-size: large; font-weight: bold;">Danger Weary Traveller!</span>
<div>
  <span style="font-weight: normal;">I happen to be running OS X version 10.5.4 build 9E17. &nbsp;</span>
  <div>
    <br />
  </div>
  <div>
    If you are running something different, these directions may fail. &nbsp;In fact, for all I know your computer may actually blow-up. &nbsp;Yes, as in burst into flames and melt into a smoldering heap of plastic mush. &nbsp;Compiling stuff really is that scary. &nbsp;Hide the children. &nbsp;Don eye protection.<br />
    &nbsp;
  </div>
  <div>
    <span style="font-size: large; font-weight: bold;">False Advertising Disclaimer</span>
  </div>
  <div>
    Whether it will really take <span style="font-style: italic;">you</span> 5 minutes or not probably depends on your processor and whether or not your copy &amp; paste skills are up to par. &nbsp;But seriously, it took me longer to write this post than to do the actual install.<br />
  </div>
  <div>
    <br />
    <span style="font-size: large; font-weight: bold;">Related Sites</span><br />
    <div>
      <a href="http://nginx.net/">Official Nginx Site</a><br />
      <a href="http://wiki.codemongers.com/">Nginx Wiki</a><br />
      <a href="http://www.pcre.org/">Official PCRE Site</a><br />
      <br />
      <span style="font-size: large; font-weight: bold;">Satisfy PCRE Dependency</span><br />
      Nginx requires PCRE to be installed. &nbsp;PCRE stands for Prank Calling Really is Evil, or something like that. &nbsp;But whatever it is, Nginx thinks it just can't live without it.<br />
      <br />
      $ sudo mkdir -p /usr/local/src<br />
      $ cd /usr/local/src<br />
      $ curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz<br />
      $ tar xvfz pcre-7.7.tar.gz<br />
      $ cd pcre-7.7<br />
      $ ./configure --prefix=/usr/local<br />
      $ make<br />
      $ sudo make install<br />
      $ cd ..<br />
      <br />
      <span style="font-size: large; font-weight: bold;">Install Nginx</span><br />
      $ curl -O http://sysoev.ru/nginx/nginx-0.6.32.tar.gz<br />
      $ tar xvfz nginx-0.6.32.tar.gz<br />
      $ cd nginx-0.6.32<br />
      $ ./configure --prefix=/usr/local --with-http_ssl_module<br />
      $ make<br />
      $ sudo make install<br />
      <br />
      Now if you ask:<br />
      <br />
      $ which nginx<br />
      <br />
      You should receive the answer /usr/local/sbin/nginx<br />
      <br />
      If not, you probably need to add /usr/local to your PATH.<br />
      <br />
      Nginx will setup a default index.html file in /usr/local/html. The default nginx.conf file will be in /usr/local/conf and will be set to serve this index.html file. To start Nginx:<br />
      <br />
      $ sudo nginx<br />
      <br />
      And finally, to see the fruits of your labors open your favorite browser and navigate to http://localhost<br />
      <br />
      Next you get to configure Nginx to serve up whatever it is you want to serve. But that search query will already provide you with many, many results...<br />
    </div>
    <div>
      <br />
    </div>
  </div>
</div>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7986871017989018432?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=4CvH7qho9D0:d-cqUlQ9SJA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=4CvH7qho9D0:d-cqUlQ9SJA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=4CvH7qho9D0:d-cqUlQ9SJA:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=4CvH7qho9D0:d-cqUlQ9SJA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=4CvH7qho9D0:d-cqUlQ9SJA:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=4CvH7qho9D0:d-cqUlQ9SJA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=4CvH7qho9D0:d-cqUlQ9SJA:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sun, 31 Aug 2008 18:37:35 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7677718</guid>
    </item>
    <item>
      <title>The Real Goal of Education</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/marhISnfV4M/real-goal-of-education.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">Is education about memorizing facts? No, it's about learning to learn. It's about learning how to think.<br />
<br />
"...developers today code in something called Python, but when I was in school C was all the rage. <span style="font-weight: bold;">The need for reasoning, though, remains constant</span>..." - <a href="http://feeds.feedburner.com/~r/blogspot/MKuf/~3/336599275/our-googley-advice-to-students-major-in.html">Our Googley advice to students: Major in learning</a>
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7539126679171872384?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=marhISnfV4M:gAWWsCFxJSQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=marhISnfV4M:gAWWsCFxJSQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=marhISnfV4M:gAWWsCFxJSQ:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=marhISnfV4M:gAWWsCFxJSQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=marhISnfV4M:gAWWsCFxJSQ:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=marhISnfV4M:gAWWsCFxJSQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=marhISnfV4M:gAWWsCFxJSQ:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Wed, 16 Jul 2008 17:49:08 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7354906</guid>
    </item>
    <item>
      <title>DataMapper: Many-to-many</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/nMBo7jta6_o/datamapper-many-to-many.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">You can define many-to-many associations using this syntax:<br />
<br />
#item.rb<br />
has n, :things, :through =&gt; Resource<br />
<br />
#thing.rb<br />
has n, :items, :through =&gt; Resource<br />
<br />
In this case it will create a table items_things to manage the assignments. Easy enough. Depending on the relationship you are mapping out, it may make more sense to use the :through =&gt; :model syntax.<br />
<br />
Now if you create an instance of an Item, you will get a method "things=". At first I thought this would be how you would assign a new Thing to your Item. Such as:<br />
<br />
@item = Item.get(1)<br />
@thing = Thing.get(1)<br />
@item.things = @thing<br />
<br />
FAIL! If you try adding a single Thing to your Item with this method you will receive a failure that the class you sent did not have a map method defined. Ah, ok. That makes sense, things= is obviously plural and will want an array of things. So how do you assign just one thing?<br />
<br />
If you are unsure, a handy tool is to remember the "methods" method. So in this case you can try out:<br />
<br />
@item.methods<br />
<br />
You will see that you have not only a "things=" method, but also a plain old "things" method. If you try:<br />
<br />
@item.things.methods<br />
<br />
You will see that you have a &lt;&lt; method, as should be expected. So to add our single Thing to our Item we do:<br />
<br />
@item.things &lt;&lt; @thing<br />
<br />
That's it.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7296234539895008025?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=nMBo7jta6_o:-KwDCcQBZC4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=nMBo7jta6_o:-KwDCcQBZC4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=nMBo7jta6_o:-KwDCcQBZC4:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=nMBo7jta6_o:-KwDCcQBZC4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=nMBo7jta6_o:-KwDCcQBZC4:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=nMBo7jta6_o:-KwDCcQBZC4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=nMBo7jta6_o:-KwDCcQBZC4:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Tue, 24 Jun 2008 04:11:46 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7176957</guid>
    </item>
    <item>
      <title>DataMapper: Parent / Child Relationship</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/yOEzmhxQUFg/datamapper-parent-child-relationship.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">I couldn't find an example at datamapper.org /docs for a parent child relationship.
<div>
  <br />
</div>
<div>
  After a little searching, I found the answer in the <a href="http://github.com/sam/dm-core/tree/master/spec/integration/association_spec.rb">integration tests</a>. &nbsp;Here is the example:<br />
  <pre>
<br /> class Node<br />   include DataMapper::Resource<br /><br />   def self.default_repository_name<br />     ADAPTER<br />   end<br /><br />   property :id, Integer, :serial =&gt; true<br />   property :name, String<br /><br /><span style="font-weight: bold;">     has n, :children, :class_name =&gt; 'Node', :child_key =&gt; [ :parent_id ]<br />   belongs_to :parent, :class_name =&gt; 'Node', :child_key =&gt; [ :parent_id ]</span><br /> end<br />
</pre>
</div><br />
Hope that helps someone else.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-2071619242030888669?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=yOEzmhxQUFg:jPg3op2EC08:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=yOEzmhxQUFg:jPg3op2EC08:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=yOEzmhxQUFg:jPg3op2EC08:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=yOEzmhxQUFg:jPg3op2EC08:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=yOEzmhxQUFg:jPg3op2EC08:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=yOEzmhxQUFg:jPg3op2EC08:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=yOEzmhxQUFg:jPg3op2EC08:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sat, 07 Jun 2008 05:15:33 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7047785</guid>
    </item>
    <item>
      <title>Marshal data too short</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/fAO2WhHwn3w/marshal-data-too-short.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">If you marshal data and then store it in a DB, make sure to either base64 encode it or store it in a binary data type (such as BLOB), otherwise it will probably cause errors.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-2169472109761623914?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=fAO2WhHwn3w:GVUdoC5I5CY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=fAO2WhHwn3w:GVUdoC5I5CY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=fAO2WhHwn3w:GVUdoC5I5CY:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=fAO2WhHwn3w:GVUdoC5I5CY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=fAO2WhHwn3w:GVUdoC5I5CY:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=fAO2WhHwn3w:GVUdoC5I5CY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=fAO2WhHwn3w:GVUdoC5I5CY:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Thu, 13 Mar 2008 23:43:41 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6419228</guid>
    </item>
    <item>
      <title>Merb Monday: Vacation Edition</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/z7TqS7vTdLA/merb-monday-vacation-edition.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">I'm on vacation visiting family (with limited Internet access). Back to semi-normal next week.
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-8888189073701350254?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=z7TqS7vTdLA:ZfiU6sKbYm0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=z7TqS7vTdLA:ZfiU6sKbYm0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=z7TqS7vTdLA:ZfiU6sKbYm0:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=z7TqS7vTdLA:ZfiU6sKbYm0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=z7TqS7vTdLA:ZfiU6sKbYm0:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=z7TqS7vTdLA:ZfiU6sKbYm0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=z7TqS7vTdLA:ZfiU6sKbYm0:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Fri, 29 Feb 2008 22:06:16 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6330636</guid>
    </item>
    <item>
      <title>Merb Monday: The Leap Year Edition</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/dN3SfP5OqRA/merb-monday-leap-year-edition.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><span style="font-weight: bold; font-size: 130%;">News</span><br />
<a href="http://www.merbivore.com/documentation.html">Official documentation</a> has been updated to include 0.9. Still a little light, but coming along. If you would like to help, <a href="http://gweezlebur.com/2008/2/1/so-you-want-to-contribute-to-merb-core-part-1">create your own git branch</a> and have at it!<br />
<br />
<a href="http://gweezlebur.com/2008/2/19/michael-has_baby-true">Ivey had a baby</a>. Congratulations!<br />
<br />
Expect 0.9.1 (developer release) today (or soon).<br />
<br />
You get an "extra" day this week. Use it wisely.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Teaser</span><br />
Code name: <a href="http://github.com/wvl/merb_demos/tree/master">Merblets</a>.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Q&amp;A</span><br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> What!? No RJS?</span><br />
<br />
<span style="font-weight: bold; font-size: 130%;">A:</span> You can do anything rjs can do with *.js.erb templates (<span style="font-style: italic;">Answer by ezmobius</span>)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> I read that Merb is template agnostic. What templates languages do I have available?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> erb out of the box (erubis), haml (merb_haml as a dependency in init.rb), markaby (<span style="font-style: italic;">Answer by sqred</span>)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> What does a named route in Merb look like?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> r.match("/login").to(:controller =&gt; "Sessions", :action =&gt; "new").name(:login)<br />
(<span style="font-style: italic;">Answer by jodo</span>)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Does Merb have a debugger tool?</span><br />
<br />
<span style="font-weight: bold; font-size: 130%;">A:</span> You can use ruby-debug. Start Merb with the -D option to enable ruby-debug support.<br />
Enter "debugger" somewhere in your code as a breakpoint. (<span style="font-style: italic;">Answer by jdempsey</span>)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> How do I find out what version of Merb I'm using?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> merb -v (<span style="font-style: italic;">Answer by ezmobius</span>)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> How can I see the current routes?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> merb -i<br />
merb.show_routes<br />
(<span style="font-style: italic;">Answer by ezmobius</span>)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Can the cookie session be used for large production apps?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> As long as you don't store really sensitive info in the session then cookie sessions are fine (<span style="font-style: italic;">Answer by ezmobius</span>)
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7804365641224006792?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=dN3SfP5OqRA:pMaoRsdb3ns:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=dN3SfP5OqRA:pMaoRsdb3ns:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=dN3SfP5OqRA:pMaoRsdb3ns:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=dN3SfP5OqRA:pMaoRsdb3ns:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=dN3SfP5OqRA:pMaoRsdb3ns:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=dN3SfP5OqRA:pMaoRsdb3ns:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=dN3SfP5OqRA:pMaoRsdb3ns:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Mon, 25 Feb 2008 22:47:44 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6299917</guid>
    </item>
    <item>
      <title>Merb Monday: State of flux</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/GMlnzPj7LI0/merb-monday-state-of-flux.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">This week's edition is a little short. Certainly not for lack of activity in #merb, but due to the continued disturbance in the force caused by the 0.9 transition.<br />
<br />
0.5 to 0.9 is a big jump (no wonder they skipped 0.6, 0.7 and 0.8!) Most of the discussion this week continued to be related to the transition to 0.9 and trouble ticket type "stuff".<br />
<br />
<span style="font-size: 130%; font-weight: bold;">News</span><br />
<a href="http://gweezlebur.com/2008/2/14/merb-0-9-0-released-kinda">0.9 was released (kinda)</a>, however this is a "developer" release and still has some wrinkles to be ironed out before a general public release will be pushed to RubyForge. If you are anxious to give it a spin, check <a href="http://merbivore.com/get_merb.html#stable">Merbivore</a>.<br />
<br />
It looks like there will likely be a 0.9.1 "developer" release in the near future. Once we get to a 0.9.x general public release things should settle down and this series should get back to normal.<br />
<br />
<a href="http://rubyforge.org/projects/merbful-auth/">merbful_authentication</a> should soon be updated to be compatible with 0.9.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Required Reading</span><br />
0.9 introduces some really cool changes. One of those is Rack integration. You should read Ezra's post "<a href="http://brainspl.at/articles/2008/02/16/so-merb-core-is-built-on-rack-you-say-why-should-i-care">So merb-core is built on rack you say? Why should I care?</a>"<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> If I use ActiveRecord as the ORM, do I then use ActiveRecord's migrations (and its syntax) by default?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> Yes. You can use ActiveRecord with Merb as you would with Rails. (<span style="font-style: italic;">Answer by amoeba</span>)<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> How do you generate an app in Merb 0.9?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> ./script/generate is gone. In it's place now lives merb-gen.<br />
<blockquote>
  <code>merb-gen myapp # a normal merb app<br />
  <br />
  merb-gen myapp --flat # a flattened app<br />
  <br />
  merb-gen myapp --very-flat # a single-file app</code>
</blockquote>(<span style="font-style: italic;">Answer by ivey</span>)<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Answer Of The Week<br />
<br /></span>And the answer to many of the questions this week which followed the format of:<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> _____________________ in Merb 0.9?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> "It's not in -core anymore" (<span style="font-style: italic;">Answer by ivey</span>)<br />
<br />
<span style="font-size: 130%;"><span style="font-weight: bold;">Audience Participation<br /></span><span style="font-weight: bold;"><br /></span></span><span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Assuming you are using ActiveRecord with Merb, how can you share models with a Rails application?</span><br />
<br />
If you leave your answer in the comments, I'll post it next week. (<a href="http://railspikes.com/2007/4/1/merb">hint</a>) (<span style="font-style: italic;">Question &amp; link by seebg</span>)
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-1059409778585858816?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=GMlnzPj7LI0:4FcKhhMCKTQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=GMlnzPj7LI0:4FcKhhMCKTQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=GMlnzPj7LI0:4FcKhhMCKTQ:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=GMlnzPj7LI0:4FcKhhMCKTQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=GMlnzPj7LI0:4FcKhhMCKTQ:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=GMlnzPj7LI0:4FcKhhMCKTQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=GMlnzPj7LI0:4FcKhhMCKTQ:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Tue, 19 Feb 2008 00:15:59 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6252755</guid>
    </item>
    <item>
      <title>Merb Monday: &amp;quot;That&amp;apos;s the spirit&amp;quot;</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/MERv7uxWP0Y/merb-monday-thats-spirit.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">Tidbits from #merb for the week of Feb 4 - Feb 10.<br />
<br />
A lot of the conversation this week revolved around the pre 0.9 release. Many of the questions involved bugs or other issues that one can expect in a pre-release. In general I didn't include them as they will quickly be outdated and likely be of little on going value.<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> How do I install (freeze) gems within my application?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> Navigate to the root of your Merb application.<br />
<blockquote>
  <code>gem install foo -i gems</code>
</blockquote>In your merb.yml file include a line:<br />
<blockquote>
  <code>dependency "foo"</code>
</blockquote>(<span style="font-style: italic;">Answer by wycats</span>)<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> How do I support a new MIME type? Say for an Atom feed.</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span>
<blockquote>
  <code>Merb.add_mime_type(:atom,:to_atom,%w[application/x-atom])</code>
</blockquote>Replace application/x-atom with whatever the correct header for atom is then make a template: foo.atom.erb<br />
<br />
In your controller, use:<br />
<blockquote>
  <code>provides :atom</code>
</blockquote>(<span style="font-style: italic;">Answer by ezmobius</span>)<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Where could I define a constant which would then be accessible in different views, but should have a different value depending on the environment merb is running in?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> config/environment/*.rb where * represents the desired environment, for example development.rb.<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> How do I find the current controller and action in the view?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> In a helper you could create the two following methods.<br />
<blockquote>
  <code>def controller_name<br />
  controller.request.controller_name.split('_').first<br />
  end<br />
  <br />
  def action_name<br />
  controller.request.action<br />
  end<br /></code>
</blockquote>(<span style="font-style: italic;">Answer by slurry</span>)<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> What happened to MERB_ENV?</span><br />
<br />
<span style="font-weight: bold; font-size: 130%;">A:</span> Merb's application constants have been re-factored as follows:<br />
<blockquote>
  <code>Old constant : New method<br />
  <br />
  MERB_FRAMEWORK_ROOT : Merb.framework_root<br />
  MERB_ROOT : Merb.root<br />
  MERB_VIEW_ROOT : Merb.view_path<br />
  MERB_SKELETON_DIR : Merb.skeleton_path<br />
  MERB_LOGGER : Merb.logger<br />
  MERB_PATHS : Merb.load_paths<br />
  MERB_ENV : Merb.environment<br /></code>
</blockquote>(<span style="font-style: italic;">Answer by slurry</span>)<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Is there a way to list all the generators available?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> ruby ./script/generate<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Where is the source now?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> The Merb project has switched from using SVN to Git for source code management. With that change the source is now at <a href="http://www.github.com/">Github</a>. Specifically you will want to use wycats repo, which you can find at: git://github.com/wycats/<br />
<br />
The source code is broken down into merb-core, merb-more, and merb-plugins.<br />
<br />
For more information on how to work with Git, see "<a href="http://gweezlebur.com/2008/2/1/so-you-want-to-contribute-to-merb-core-part-1">So you want to contribute to Merb-core</a>".<br />
<br />
Once you have cloned the Git repos to your local system, you will then move into that directory and issue a "rake install" command to build the gem.<br />
(<span style="font-style: italic;">Answer by ivey</span>)<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Where are bugs / tickets being tracked now?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span> Along with the move to Github, bugs and ticket tracking has been moved from DevJaVu over to Lighthouse, specifically at <a href="http://merb.lighthouseapp.com/">merb.lighthouseapp.com</a>.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Answer of the week</span><br />
<br />
Here is one little snippet of conversation that may provide the answer regardless of your specific problem:<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Can I do _____________?</span><br />
<br />
<span style="font-size: 130%; font-weight: bold;">A:</span><br />
<span style="text-decoration: underline;">hassox</span>: I guess so<br />
<span style="text-decoration: underline;">hassox</span>: but I can't really help you on it...<br />
<span style="text-decoration: underline;">grrt</span>: :) I'll see how far I get<br />
<span style="text-decoration: underline;">hassox</span>: that's the spirit :)<br />
<span style="text-decoration: underline;">grrt</span>: it's great to just explore<br />
<br />
Sometimes it's best to just try something out.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Audience Participation</span><br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Q:</span> Merb-core has methods "render" and "display". What's the difference?</span><br />
<br />
Leave your answer in the comments. (<a href="http://github.com/wycats/merb-core/tree/master/docs/new_render_api">Hint</a>)
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-4471911985405373941?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=MERv7uxWP0Y:M2tZHyWKy2k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=MERv7uxWP0Y:M2tZHyWKy2k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=MERv7uxWP0Y:M2tZHyWKy2k:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=MERv7uxWP0Y:M2tZHyWKy2k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=MERv7uxWP0Y:M2tZHyWKy2k:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=MERv7uxWP0Y:M2tZHyWKy2k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=MERv7uxWP0Y:M2tZHyWKy2k:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Mon, 11 Feb 2008 20:38:56 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6202661</guid>
    </item>
    <item>
      <title>Working Remotely: The &amp;quot;Get Real&amp;quot; List.</title>
      <link>http://feedproxy.google.com/%7Er/nuance9/jit/%7E3/T44SurdaEmc/working-remotely-get-real-list.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">Every once in a while a post shows up on Digg or elsewhere about how to work remotely. Often it will be phrased like "How to work from the beach".<br />
<br />
After reading these lists, I can't help put wonder... "do any of these people have any idea what they are talking about?"<br />
<br />
Most of these articles are nothing more than recommendations for various online applications from flickr to mozy to zoho - which in my opinion have nothing to do with your ability to work remotely or not.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">My Credentials</span><br />
I lived in Cerro Punta, Chiriqui, Panama for 14 months. That's up in the mountains... in Central America... where most people don't have telephone service... or refrigerators.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">How To Really Work Remotely</span><br />
(from the beach or wherever you want)<br />
The ability to do this has nothing to do with online applications. Here are the seven requirements that I needed:<br />
<br />
<span style="font-weight: bold;">1) Laptop</span><br />
A laptop is the tool of choice for a number of reasons. It is easy to transport to your destination. If the power goes out, you still can work (and hopefully it will come back on before your battery dies).<br />
<br />
<span style="font-weight: bold;">2) Battery Back-Up / UPS / Surge Protector</span><br />
With a laptop, the battery back-up portion may not be as critical - but you definitely will want to have all of your hardware plugged in to quality surge protector. Surges happen.<br />
<br />
<span style="font-weight: bold;">3) Data Back-Up</span><br />
Your business likely depends upon your data. Get an external drive and make sure you are regularly backing up your data. As a second step, an internet based back-up can't hurt. But with a slower Internet connection (or even a fast one) this may be a slow way to recover your data in case of a catastrophe, and thus I wouldn't recommend it as your only back up.<br />
<br />
<span style="font-weight: bold;">4) Internet</span><br />
The Internet itself, not the online applications, is your connection to the outside world. Depending on your specific usage, the speed and reliability required will vary. You may also wish to secure two means of connection, as the reliability may be less than you are used to. I was able to secure a cellular based service (advertised at 256K, but more like 56-128k down/15k up), and also a wireless service (1MB up/down). The cell service was slow, but cool that it basically worked country-wide (yes, even at the beach). Between the two I was able to have very reliable service and even good enough quality for VoIP phone calls.<br />
<br />
<span style="font-weight: bold;">5) Phone number</span><br />
You (likely) need a phone number that can follow you wherever you happen to be. I used Packet8's VoIP service for my business line. This meant I could simply plug my little VoIP box into my router in Panama, and all my incoming / outgoing calls went through my TX number. Skype also worked pretty well.<br />
<br />
<span style="font-weight: bold;">6) A local relative / friend</span><br />
Mail still needed to be picked up from my PO Box. Checks still needed to be deposited in my Bank account. Having a trustworthy person that you are able to turn these simple, but important, tasks over to will be a huge help. There are mail processing services available, but not in every city (or even state). Having clients send mail to an address in a different state might make them uncomfortable.<br />
<br />
<span style="font-weight: bold;">7) A business / job that does not require your physical presence</span><br />
In the end this is the one that didn't work out. My line of work lends itself to remote work extremely well. Even when I am local, in person contact is very limited during the course of a project. The problem that arose was the initial phase of acquiring new projects. I would get leads, perform the initial interviews &amp; evaluations, compile a proposal and even get the proposal accepted. But then many clients would want to meet face to face to sign the contract. Obviously this won't be true for every business, or geographical location, but for my principally Texas based clients this became a sticking point.<br />
<br />
So that's what worked for me. For 14 months. In a cloud forest in Central America. And amazingly I didn't need any online applications to do it!
<div>
  <img src="https://blogger.googleusercontent.com/tracker/3545886534042322597-7470260885734899344?l=jit.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=T44SurdaEmc:KMA7uuZrqO4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=T44SurdaEmc:KMA7uuZrqO4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=T44SurdaEmc:KMA7uuZrqO4:F7zBnMyn0Lo" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=T44SurdaEmc:KMA7uuZrqO4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=T44SurdaEmc:KMA7uuZrqO4:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/nuance9/jit?a=T44SurdaEmc:KMA7uuZrqO4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/nuance9/jit?i=T44SurdaEmc:KMA7uuZrqO4:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Mon, 04 Feb 2008 18:52:18 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6176000</guid>
    </item>
    <item>
      <title>2008: Is the Internet in your plan?</title>
      <link>http://feedproxy.google.com/%7Er/Nuance9/%7E3/BgLFf6un3Wo/2008-is-internet-in-your-plan.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><a href="http://3.bp.blogspot.com/_pGfdZQGFgvE/R3vAeoPXJxI/AAAAAAAAAEQ/ueEeP03hbMs/s1600-h/blubl_200x150.shkl.jpg"><img name="BLOGGER_PHOTO_ID_5150922231258752786" src="http://3.bp.blogspot.com/_pGfdZQGFgvE/R3vAeoPXJxI/AAAAAAAAAEQ/ueEeP03hbMs/s320/blubl_200x150.shkl.jpg" alt="" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" /></a>Technology goes through various phases of growth. As a new technology emerges, adoption involves a fair amount of risk. As the technology becomes more widely accepted, the risk to adopt moves towards zero. In fact, at some point the risk or liability associated with not adopting the technology becomes the larger concern.<br />
<br />
Take the telephone as an example. When the telephone was first introduced it was no doubt expensive to get "connected". The potential business reward may also have been limited as few others had access to the technology. However, with the passage of time we know the telephone became globally adopted.<br />
<br />
Is acquiring a phone number considered a business risk today? Quite the opposite. Where would your business be competitively if it did not have a phone number? What about electricity?<br />
<br />
I'm not going to say the Internet has reached quite the same level of acceptance as the telephone or electricity, but it is moving ever closer to that end. We can safely say that nearly all of the people you do business with will have access to the Internet. Many of the people considering doing business with you will visit your website at some point during the sales process. Most of your customers would be able to take advantage of tools placed on your website to streamline your sales or service process.<br />
<br />
So as you consider your business plans &amp; budgets for 2008 - have you seriously considered the Internet? Are you competitively using this technology to reach out and engage with potential and existing customers?<br />
<br />
Remember the "Internet" involves more than just a website. It can include email, blogging, instant messaging, e-commerce, on-line tools, on-line classes, voice &amp; video conferencing, data transfer, etc.<br />
<br />
I'd love to hear how you plan to more fully web-enable your business in 2008!!
<div>
  <img src="https://blogger.googleusercontent.com/tracker/6509333266222982148-7160312194115708104?l=blog.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/Nuance9?a=BgLFf6un3Wo:4B0umQr405k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=BgLFf6un3Wo:4B0umQr405k:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=7Q72WNTAKBA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=BgLFf6un3Wo:4B0umQr405k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=BgLFf6un3Wo:4B0umQr405k:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=BgLFf6un3Wo:4B0umQr405k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=BgLFf6un3Wo:4B0umQr405k:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Wed, 02 Jan 2008 17:51:26 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/5936107</guid>
    </item>
    <item>
      <title>Local News: MDC Blog Recommendation</title>
      <link>http://feedproxy.google.com/%7Er/Nuance9/%7E3/sRSoBUUdoOM/local-news-mdc-blog-recommendation.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">It's not every day that local news is so tightly linked with the subject matter of this blog, so I'm going to jump on this opportunity.<br />
<br />
Although this is based on events in Midland, TX it could have happened and equally applies to business in Any Town, USA.<br />
<br />
DISCLAIMER: I live in Odessa, not Midland. I'm not familiar with the specific criticisms being made against the MDC. I'm not for or against them. I'm purely interested in the angle of technology impacting business.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Enter The Drama</span><br />
According to <a href="http://www.midlandtexasedc.org/">the website of the Midland Development Corporation</a> (MDC) their goal is to foster &amp; encourage a healthy business &amp; employment environment.<br />
<br />
Apparently not everyone thinks they are doing a good job. Are they? Well that is irrelevant to the point of this post.<br />
<br />
The related issue is that some of those who disagree with the MDC are people who publish their thoughts to the world through a blog.<br />
<br />
According to the <a href="http://www.mywesttexas.com/site/news.cfm?newsid=19033657&amp;BRD=2288&amp;PAG=461&amp;dept_id=475626&amp;rfi=6">article by Colin Guy</a> at the Midland Reporter-Telegram today (Nov 17, 2007) , John Roberts of TIPS Strategies Inc., one of the consultants hired by the MDC to help them develop a "strategic plan" noted:<br />
<br />
<blockquote>
  ...companies and prospective employees considering relocating to Midland likely are to come across these blogs when researching the city online...
</blockquote><br />
I couldn't agree more. If you are researching a potential relocation you are going to check the Internet. When the local Economic Development organization says "it's a great place", it's easy to dismiss it. After all, what town has an Economic Development organization that says "don't come here"? On the other hand, if locals are saying "there are serious problems" how will that impact your decision?<br />
<br />
You will never be able to get rid of critics. And with the Internet, they now have a voice that is as loud, or louder, than your own. What's a town or business to do?<br />
<span style="font-size: 130%;"><br />
<span style="font-weight: bold;">The Strategists' Proposed Solution</span></span><br />
As I understood the article, Mr. Roberts proposed a two part solution:<br />
<br />
1) Mr. Roberts said, "you need to be aware of these blogs".<br />
<br />
2) The article also stated, "it is important for the MDC to be able to provide an alternative impression of itself and the community."<br />
<br />
Seems like a great suggestion. Be aware of what is being said about you. Make sure that you are clearly communicating with your audience. In essence, be transparent and human. Let people know what you are doing. Have a conversation. Find out what others are thinking.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Beware Pre-Internet Thinking</span><br />
Times have changed. It is important that we keep pace. For example, from the MRT article:<br />
<br />
<blockquote>
  "I just think you have to be careful about spending a lot of time and resources on the vocal minority," MDC Chairman Jim Nelson said. "As the head of a company I'm not going to spend a lot of time on the 10 percent of employees you'll never make happy."
</blockquote><br />
I understand what Mr. Nelson is saying, but I'm not so sure it applies equally in this context. In the real world, if 10 percent of your employees are complaining that is a concern because it can spread. However, as Mr. Nelson said, it is a minority and other employees are able to maintain that perspective as they make contact with the other 90 percent during the day.<br />
<br />
On the other hand, that is not the case on the Internet. If the vocal minority are the only ones who are vocal - they make up 100 percent of the voice on the Internet. The individual or corporation researching Midland will hear a message loud and clear, and it will not be from the silent majority whether they are in fact pro-MDC or perhaps just indifferent.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Lessons To Be Learned</span><br />
This isn't about the MDC or West Texas. This is about your business in the Internet Age. The Internet is about communication. Unlike costly mediums of yesteryear such as Television and Radio, anyone with a computer can freely publish as much as they wish on the Internet.<br />
<br />
You as a business person need to keep an ear to the ground and know what is being said about your business. What's the buzz? Is it good? Is it bad? Or worse, is there none?<br />
<br />
You as a business person need to communicate with your audience. The ease of communication enabled by the Internet has also increased expectations of communication.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">What do you think?</span><br />
Has your business used a blog to facilitate communication with your customers, community or audience? Has your business used a blog to successfully counter-balance criticism or negative publicity?<br />
<br />
P.S. Please keep comments based on the technology angle invovled, and not the political elements of the topic. Thanks!!!
<div>
  <img src="https://blogger.googleusercontent.com/tracker/6509333266222982148-3517393254215778513?l=blog.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/Nuance9?a=sRSoBUUdoOM:r11vvIOQYQ8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=sRSoBUUdoOM:r11vvIOQYQ8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=7Q72WNTAKBA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=sRSoBUUdoOM:r11vvIOQYQ8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=sRSoBUUdoOM:r11vvIOQYQ8:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=sRSoBUUdoOM:r11vvIOQYQ8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=sRSoBUUdoOM:r11vvIOQYQ8:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Sat, 17 Nov 2007 19:04:55 +0100</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2007:/article/5298030</guid>
    </item>
    <item>
      <title>Don&amp;apos;t lead your customers down a dead end.</title>
      <link>http://feedproxy.google.com/%7Er/Nuance9/%7E3/7kFQj2qaUVU/dont-lead-your-customers-down-dead-end.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text">I recently tried to lease a server from Dell. Here is what happened, and hopefully what we can learn as business people from the experience.<br />
<br />
I placed my order through the Dell website, which was a fairly straight-forward process. I applied for the lease, and was approved.<br />
<br />
<span style="font-weight: bold; font-size: 130%;">Verification Required</span><br />
Shortly after I placed the order I received an email stating that I would need to contact the Dell Financial Services verification department before my order could proceed.<br />
<br />
No problem. I immediately called.<br />
<br />
I was asked for my Dell customer #, name, tax ID, address and phone number and put on hold. Standard and simple.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Welcome to the Dead End</span><br />
In the context of this discussion "dead ends" are places where the vendor leads a customer out to a point, and then abandons them. That's where I was about to end up.<br />
<br />
After a few minutes on hold the operator returned and told me that "verification failed".<br />
<br />
After four calls and speaking with a Supervisor, this was the dead end result:<br />
<ul>
  <li>Credit is fine it is a "verification" issue.<br />
  </li>
  <li>The account is locked indefinitely.
  </li>
  <li>There is no way to find out what information failed verification.<br />
  </li>
  <li>There is no way to resolve the issue.
  </li>
  <li>There is no one else to speak with.<br />
  </li>
</ul>I asked the Supervisor, "So you are telling me that I'm at a dead end. You are locking my account forever because you cannot verify some information - but you will not tell me what that information is or how to fix the issue?"<br />
<br />
"That is correct."<br />
<br />
It's like a bad episode of the Twilight Zone.<br />
<br />
<span style="font-weight: bold;"><span style="font-size: 130%;">Dead Ends: Tangible Effects</span><br /></span><span style="font-weight: bold;">Customer Perspecitve</span>: These dead ends produce feelings of frustration and helplessness - not exactly the adjectives you want associated with your brand.<br />
<br />
<span style="font-weight: bold;">Operator Perspective:</span> Instead of being able to help, policies relegate them to repeating "I'm sorry, but I'm not allowed to do anything". This leads to speaking with unhappy customers, and results in low job satisfaction.<br />
<br />
<span style="font-weight: bold;">Company Perspective:</span> Since the answer seemed so unreasonable I persistently made four attempts. In doing so I kept 4 different operators and ultimately a supervisor busy for a total of about 1 hour. The hour of time that Dell Financial Services paid those combined employees was totally wasted, because it did not accomplish anything positive for me or DFS, and worse it had all of the above mentioned negative results.<br />
<span style="font-weight: bold;"><br />
<span style="font-size: 130%;">Lessons to be Learned</span></span><br />
In brief, <span style="font-weight: bold;">d</span><span style="font-weight: bold;">on't create customer dead ends.</span><br />
<br />
You probably have policies that need to be enforced. Your may need to perform identity verification or other serious processes. Identify possible dead ends, and fix them. <span style="font-weight: bold;">Give your employees some way to help the customer back out. Provide some form of solution.</span><br />
<br />
Remember that <span style="font-weight: bold;">every interaction you have with customers is part of your marketing</span>. What is the message you are sending?<br />
<br />
<span style="font-size: 130%; font-weight: bold;">What do you think?</span><br />
Are "dead ends" inescapable, or is it simply a matter of bad business policies?
<div>
  <img src="https://blogger.googleusercontent.com/tracker/6509333266222982148-6550490114363526938?l=blog.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/Nuance9?a=7kFQj2qaUVU:G7KMuhoInko:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=7kFQj2qaUVU:G7KMuhoInko:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=7Q72WNTAKBA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=7kFQj2qaUVU:G7KMuhoInko:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=7kFQj2qaUVU:G7KMuhoInko:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=7kFQj2qaUVU:G7KMuhoInko:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=7kFQj2qaUVU:G7KMuhoInko:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Wed, 24 Oct 2007 21:38:28 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2007:/article/4909223</guid>
    </item>
    <item>
      <title>Biz on the Web: What is your response policy?</title>
      <link>http://feedproxy.google.com/%7Er/Nuance9/%7E3/tZBS5pcU4Vw/biz-on-web-what-is-your-response-policy.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><a href="http://4.bp.blogspot.com/_pGfdZQGFgvE/RwUvamrqeiI/AAAAAAAAADg/oZHIfAskw_E/s1600-h/492383_telephone_200x150.shkl.jpg"><img name="BLOGGER_PHOTO_ID_5117548685683227170" src="http://4.bp.blogspot.com/_pGfdZQGFgvE/RwUvamrqeiI/AAAAAAAAADg/oZHIfAskw_E/s320/492383_telephone_200x150.shkl.jpg" alt="" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" /></a>It is not uncommon for me to interface with photographers.<br />
<br />
A local photographer had in the past been hired by my client to take photos of the exterior of their building. That client now was wishing to have those shots used on the website. I was to contact the photographer and coordinate the purchase of the necessary rights to use the photos for the web.<br />
<br />
Sounds simple enough, right?<br />
<br />
I originally called and spoke with an assistant. She explained that I would need to speak with the photographer. She took my name and number, and told me he would call me back that same day.<br />
<br />
He never called.<br />
<br />
I gave him a few days and called again. This time no one answered and I left a message.<br />
<br />
Again, no response.<br />
<br />
After another week I called, and spoke with the same assistant again. I explained that I had left a message with her and one voicemail, but never received a response.<br />
<br />
"He isn't very good about returning phone calls", I was told. The solution? I was instructed to simply continue to call back until I was able to catch him at a time when he wasn't 1) at lunch, 2) busy with a client, or 3) "out of the office".<br />
<br />
What does this response policy tell me about the business, or at least the photographer? Plain and simple:<br />
<ul>
  <li>My business is not important to them.
  </li>
  <li>My time is not important to them.
  </li>
  <li>I am not important to them.
  </li>
</ul>Perhaps they would change their attitude and response policy if they stopped to consider the message that it sends to others.<br />
<br />
What is the "web" specific application of this little story?<br />
<br />
Email and other forms of digital communication can easily become overwhelming. That being the case, it is easy to become like the above mentioned photographer and simply ignore it.<br />
<br />
This is an approach that will never help your business. It certainly has potential to hurt your business.<br />
<br />
Instead, take a moment to review or establish a response policy for your business. It doesn't haven't to be a long formal written document. Perhaps it is a few sentences or keywords. The point is to take a moment to think about how you will choose to handle email or other digital communications, and the message you wish to send by the way you do so.<br />
<br />
Second, integrate that policy into how you and your co-workers go about their daily business. Include the necessary time in your schedule. Build it into your workflow.<br />
<br />
Personally, I try to respond to all digital communications within 1 business day (although it is often much sooner). In the actual response I try to focus on what I can do, instead of what I can't. If solving a problem I try to provide more than one option. I try to avoid placing blame.<br />
<br />
<span style="font-weight: bold; font-size: 130%;">What is your response policy?</span><br />
Do you have a policy regarding digital communication? If so, what is it?
<div>
  <img src="https://blogger.googleusercontent.com/tracker/6509333266222982148-1379432371600502477?l=blog.nuance9.com" height="1" alt="" width="1" />
</div>
<div>
  <a href="http://feeds.feedburner.com/~ff/Nuance9?a=tZBS5pcU4Vw:W0EOQq1m8kw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=yIl2AUoC8zA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=tZBS5pcU4Vw:W0EOQq1m8kw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Nuance9?d=7Q72WNTAKBA" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=tZBS5pcU4Vw:W0EOQq1m8kw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=tZBS5pcU4Vw:W0EOQq1m8kw:V_sGLiPBpWU" /></a> <a href="http://feeds.feedburner.com/~ff/Nuance9?a=tZBS5pcU4Vw:W0EOQq1m8kw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Nuance9?i=tZBS5pcU4Vw:W0EOQq1m8kw:gIN9vFwOqvQ" /></a>
</div>
</div>]]>
      </description>
      <pubDate>Thu, 04 Oct 2007 20:30:05 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2007:/article/4575983</guid>
    </item>
  </channel>
</rss>

