<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>ruby &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/ruby/</link>
	<description>Feed of posts on WordPress.com tagged "ruby"</description>
	<pubDate>Sat, 11 Oct 2008 06:24:56 +0000</pubDate>

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

<item>
<title><![CDATA[Rails Tip Roundup]]></title>
<link>http://innovativethought.wordpress.com/?p=85</link>
<pubDate>Sat, 11 Oct 2008 04:50:47 +0000</pubDate>
<dc:creator>Tim</dc:creator>
<guid>http://innovativethought.ca.wordpress.com/2008/10/11/rails-tip-roundup/</guid>
<description><![CDATA[I&#8217;ve been working on a few new projects lately and wanted to share a few little tips I&#8217;v]]></description>
<content:encoded><![CDATA[<p>I've been working on a few new projects lately and wanted to share a few little tips I've started doing.</p>
<h2>Conditional Buttons for Shared Forms</h2>
<p>Something that I like to do is use a shared form for both my edit and new views. Doing this however means I need to be friendly to the user interface and make sure the submit button is properly instructional. So for example if I have a Customer model with an instance variable @customer my button would look like this:</p>
<pre>&#60;%= f.submit((@customer.new_record? ? "Create" : "Update") + " Customer") %&#62;</pre>
<p>With this I'm checking to see if the @customer instance variable belongs to a new record and if so it's outputs Create, otherwise it's an Update button.</p>
<h2>Cleaner RedCloth Helper</h2>
<p>There is the built-in textile helper that comes with Rails, it's carage return rendering is a bit lame so most people typically upgrade their RedCloth gem and using something like:</p>
<pre>&#60;%= RedCloth.new("My copy that requires formatting").to_html =&#62;</pre>
<p>I prefer to instead create an application level helper for redcloth (some people might instead overwrite the textile helper here, but I find that can be confusing to some people looking at your code for the first time). My helper looks like this:</p>
<pre>def redcloth(str)
   RedCloth.new(str).to_html
end</pre>
<p>So now when I want to redcloth something I just call:</p>
<pre>&#60;%= redcloth("My copy that requires formatting") %&#62;</pre>
<h2>Simple Little Permalink</h2>
<p>When I have a simple object that I want to create more user-friendly URLs for, I'll create a basic permalink. In the instance of the same Customer model from tip 1 above, I like to use the customer name as the permalink. To do this of course the name has to be unique so make sure you are validating it's uniquiness above all. Then I create a permalink column in the database table and write something like this in my model.</p>
<pre>def name=(value)
  write_attribute :name, value
  write_attribute :permalink, value.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase
end

def to_param
  permalink
end</pre>
<p>This uses the value of the name that is entered, clears it of puncuation, replaces spaces with hyphens and drops the casing. The first line makes sure it still remembers it needs to write the value itself to the name column in the model.</p>
<p>Now it's still important that you confirm that the permalink is unique too, but I'll let you do that on your own.</p>
<p>So that's it - I hope you guys find it useful.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Silverfish]]></title>
<link>http://beautifulnoise.wordpress.com/?p=1423</link>
<pubDate>Sat, 11 Oct 2008 02:27:46 +0000</pubDate>
<dc:creator>Ilya</dc:creator>
<guid>http://beautifulnoise.ca.wordpress.com/2008/10/11/silverfish/</guid>
<description><![CDATA[If they were from New York, we&#8217;d be mad for them of course. (John Peel)
A few seconds of any S]]></description>
<content:encoded><![CDATA[<blockquote><p>If they were from New York, we'd be mad for them of course. (John Peel)</p>
<p>A few seconds of any Silverfish song could wrench the most cast-iron gut,   leaving a mess of entrails in its wake. (Trouser Press)</p></blockquote>
<p>Probably best-known for having Lesley Rankine (Ruby) as a lead singer, UK based Silverfish were a ferocious band both on stage and on record. Musically, they couldn't have been further removed from Ruby, a project that Lesley Rankine started after the band dissolution in 1993 - Silverfish were a multi-racial group of pranksters/musical terrorists inspired by the themes of revenge, sexism and feminism, taking cues from the likes of Butthole Surfers (albeit, with a feminist twist).</p>
<p>Bassist Chris P. and drummer Stuart were originally in a band called Rover Girls and together with guitarist Fuzz (In-Stinks) and Lesley Rankine, whom they met after she was kicked out of Terminal Cheesecake show for starting a fight, they started the band in the late 80s.</p>
<p>Their debut was a self-titled EP which came out on a local label Wiija Records (also a home to aforementioned Terminal Cheesecake) in 1989 and was followed by Cockeye LP - their first record released in States via Touch and Go label.</p>
<p>1990 Fat Axl was recorded by Steve Albini (Pixies, Nirvana, Breeders) and featured a twisted cover of Mellie Mel's "White Lines". Much of their further material came out on Creation Records 1991 "Fucking Driving Or What" EP, "Silverfish With Scrambled Eggs" EP, "Organ Fan" CD (produced by Jim Thirlwell/Foetus) and the band last record - 1993 "Damn Fine" EP (also produced by Foetus).</p>
<p>By the end of 1993, Rankine quit the band and started Ruby along with Mark Walk - an electronic project inspired by the likes of Portishead, which also led to a transformation of her image from a sexless tomboy to a chanteuse/diva.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Python Will Not Be The Programming Language of the Future ]]></title>
<link>http://wonderfullyflawed.wordpress.com/?p=100</link>
<pubDate>Fri, 10 Oct 2008 13:49:17 +0000</pubDate>
<dc:creator>wonderfullyflawed</dc:creator>
<guid>http://wonderfullyflawed.com/2008/10/10/python-will-not-be-the-programming-language-of-the-future/</guid>
<description><![CDATA[I&#8217;ve blogged previously about sitting in the School of Informations&#8217;s SI 539: Design of ]]></description>
<content:encoded><![CDATA[<p>I&#8217;ve blogged previously about sitting in the <a href="http://si.umich.edu">School of Informations</a>&#8217;s <a href="http://si539.com/">SI 539: Design of Complex Websites</a>, my <a href="http://wonderfullyflawed.com/2008/09/08/python-for-all-sure-why-not/">opinion of language choice</a>, and my <a href="http://wonderfullyflawed.com/2008/09/29/enginelight-a-small-google-app-engine-framework/">frustrations with parts of App Engine</a>.  After the last session of the course I had a short conversation with <a href="http://www.dr-chuck.com/csev-blog/">Chuck</a> about the nature of the SI&#8217;s programming requirement, the state of various languages and development environments, and the possibility of offering a solid selection of high-level, high-specificity half semester courses focusing on a single development space (Rails, App Engine, iPhone, Android, OLPC, RFID, etc). SI&#8217;s current programming offerings aim for a basic competency level.  This aim is a major disservice to the HCI students in the program who graduate with no completed projects and no &#8220;hard&#8221; skills they can apply, even at a beginner level.  </p>
<p>This, I think, is putting them at a major disadvantage against graduates from places like <a href="http://www.hcii.cmu.edu/">CMU</a> who leave with several completed projects under their belt.  SI&#8217;s students are leaving with some reports, diagrams, and concept pieces untempered by actual development experience. I&#8217;ve found almost SI student suffer from a near-fatal case of wouldn&#8217;t-it-be-cool-itis. They&#8217;re full of great ideas but, lacking practical experience, unable to  weigh the value added to product against the cost of adding it (&#8220;Feature X will be very valuable to users, but more costly than features A, B, and C which combined will do more to improve the experience&#8221;).</p>
<p>During this conversation Chuck tossed out one of those nuggets so surprising that you can only nod along, mouth agape.  I can&#8217;t recall the exact quote, but this comes close, &#8220;I think Ruby had its year, but now it&#8217;s pretty much over. Python&#8217;s everywhere. I mean, Google uses it. It&#8217;s the future world programming language.&#8221;</p>
<p>Two thing struck me as odd in this statement. First, the notion that Python has somehow become a major language recently and Ruby&#8217;s growth since its 2005 entrance into popular attention has stalled. The second, that some language is on its way to becoming the One Language To Rule Them All.</p>
<p>Sadly, I don&#8217;t carry around a Ruby Defense Kit, so I just had to trust the the experience behind Chuck&#8217;s opinion.</p>
<p>His assertion <em>seemed</em> odd to me, though. Based on my experience I see roughly the same amount of Python and Ruby chatter.  I encounter Ruby developers in the wild more often, and meet more people interesting in moving to Ruby than to Python, but this could just be my personal experience. Clearly I needed to dig a little deeper and get some perspective on the question.</p>
<p>Based on what I found, I think Chuck is experiencing perspective bias from his recent heavy Python involvement.  Generally I found the following things:</p>
<ul>
<li>Python is growing</li>
<li>Ruby is growing</li>
<li>Python grew faster this year than last</li>
<li>Ruby grew faster last year than this year</li>
<li>Python grew from almost no interest to its current level over 12 years</li>
<li>Ruby grew from almost no interest to its current level in 3 years</li>
<li>There&#8217;s a slight trend towards Ruby over Python for new web projects (likely caused by Rails)</li>
</ul>
<p>Although book trends aren&#8217;t a perfect representation of language use <a href="http://radar.oreilly.com/archives/2008/03/state-of-the-computer-book-mar-23.html">O&#8217;Reilly book sales chart</a> from earlier this year is a nice summary of what I generally found:</p>
<p><a href="http://radar.oreilly.com/Language_all.jpg"><img src="http://radar.oreilly.com/Language_all-tm.jpg" alt="" title=""></a></p>
<p>You can also find some great data by doing trend searches on <a href="http://www.indeed.com/jobtrends">indeed.com</a>.</p>
<p>Neither Python nor Ruby is a minority language, but neither are they majority languages. They appear to be growing by cannibalizing from Java, C/C++, PHP, and Perl. The question that speaks directly to Chuck&#8217;s second point (Python is on its way to becoming <em>the</em> world programming language) is whether one of these languages will continue to cannibalize until it becomes the dominant language.</p>
<p>That seemed to be happening with C++, until it didn&#8217;t. That was the hope with Java until everyone realized  <a href="http://en.wikipedia.org/wiki/Write_once,_run_anywhere">WORA</a> was a myth.</p>
<p>Chuck thinks we're in store for another round of this, but I don't.  The need, and desire, for a single language for all your development has passed.  The number, and variety, of devices we develop for has grown and each device has particular needs better met by particular languages and frameworks.</p>
<p>Consider the Mac platform.  I could develop native Ruby (or Python) applications for Mac OS X, but I lose all the major productivity boosts of <a href="http://en.wikipedia.org/wiki/Cocoa_(API">Cocoa</a>). I could develop Cocoa apps with Ruby (or Python) but Cocoa is filled with an expression style better suited to Objective-C so I use obj-c.</p>
<p>You can tell a similar story about Windows. </p>
<p>The iPhone uses Cocoa, Java dominates on other mobile devices, there&#8217;s a lot of interest in Erlang for highly concurrent systems, if your market is web you need Javascript (unless you use GWT, Pyjamas, or soon-to-be-released <a href="http://github.com/jessesielaff/red/">Red</a>), Lua is starting to dominate in game scripting, C# is king for Xbox XNA games, and some day Nintendo will realize that <a href="http://www.warioworld.com/apply/">requiring a separate, secure office and charging $2,000 - $10,000</a> is driving indie game developers to the iPhone/Touch.</p>
<p>There&#8217;s a high chance you&#8217;re currently working professionally in multiple languages each best suited to its particular job.  I don&#8217;t foresee a massive move to ruby cocoa or iron python. Who is so tied to a particular language that they&#8217;d be willing to give up major advantages of programming in another language where it&#8217;s most appropriate?</p>
<p>Certainly not me. My love of Ruby can&#8217;t overcome my love of being lazy.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Supernatural's ‘Metamorphosis' Finds the Winchester Boys Divided]]></title>
<link>http://redlightnaps.wordpress.com/?p=948</link>
<pubDate>Fri, 10 Oct 2008 13:37:53 +0000</pubDate>
<dc:creator>vacelts</dc:creator>
<guid>http://redlightnaps.ca.wordpress.com/2008/10/10/supernatural-metamorphosis/</guid>
<description><![CDATA[Last night during Supernatural&#8217;s &#8220;Metamorphosis,&#8221; I saw a real rift developing bet]]></description>
<content:encoded><![CDATA[<p>Last night during <a title="Supernatural" href="http://redlightnaps.wordpress.com/category/television/supernatural/" target="_blank"><em>Supernatural's</em> </a>"Metamorphosis," I saw a real rift developing between the Winchester brothers and it scared me, more than the rugaru.</p>
[caption id="attachment_949" align="alignright" width="300" caption="&#34;Metamorphosis&#34; - LtoR: Jared Padalecki as Sam and Jensen Ackles as Dean in SUPERNATURAL on The CW. Photo: Sergei Bachlakov/The CW �2008 The CW Network, LLC. All Rights Reserved."]<a href="http://redlightnaps.wordpress.com/files/2008/10/supernatural-metamorphosis.jpg"><img class="size-medium wp-image-949 " title="SUPERNATURAL" src="http://redlightnaps.wordpress.com/files/2008/10/supernatural-metamorphosis.jpg?w=300" alt="Sergei Bachlakov/The CW �2008 The CW Network, LLC. All Rights Reserved." width="300" height="199" /></a>[/caption]
<p>One of the great things about <em>Supernatural</em> is the impenetrable bond between Dean and Sam.  But last night that bond broke.  It was kind of like that moment when you realize your hero is only human.  It was a blow to my belief in the Winchesters to conquer all.</p>
<p>It makes sense for the story itself, but I never thought I'd see the day when something came between the boys.  Sure they've fought before and disagreed on many occasions, but this season they lost trust in each other.</p>
<p>And I don't know about Dean, but I didn't believe Sam when he said that he wasn't going to mess with his ESP abilities.  And even if Sam was speaking the truth, I don't think Ruby is going to let her little prodigy that easy.</p>
<p>I think Sam wants to think he's doing good with his psychic exorcisms.  And the fact that the human victims are still alive is a big plus.  But I think he knows deep down that he's crossing a line or else he'd share his work with Dean.</p>
<p>I know that living up to big brother's expectations can be rough and that Sam has always felt like he's different, but Sam has always confided in Dean.  So the fact that he didn't this time, says something.</p>
<p>Did Sam see a little of himself in the Rugaru who was fighting a hunger that would cause him to lose control and cross a point of no return?</p>
<p>I still have a lot of questions about what Sam and Ruby are doing.</p>
<p>Why are they still looking for Lilith?  Is it for vengeance or is about the whole 66 seals until Lucifer walks the earth thing?  What are they going to do when they find her?  Why are they keeping the search from Dean?</p>
<p>I thought when Castiel showed up on the scene, Ruby split.  Why did she stay around?  Surely she knows that the angel is going to fill in Dean on her extracurricular activities.  Or does she think her power over Sam is already strong enough to prevent losing him?</p>
<p>I'm assuming that Sam summoned Ruby back from Hell.  But it seems a little too convenient that she's the one to tutor Sam in his powers.  Is Ruby working for Lilith?  Or Azazel?  Or someone else entirely?</p>
<p>What is her (or whoever she works for) plan for Sam?  And has Sam gone too far to turn back?</p>
<p>I can't wait to see what happens next.  But at the same time I'm dreading it.  The thought of Dean having to fight his own brother is going to tear me apart.  Sam better get his act together, dump Ruby and get back in the game - soon.</p>
<p>And did I mention how much I hate Ruby right now!</p>
<p>It's a good thing next week looks like it'll be a little lighter.  Here's a preview:</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/K2jboHYAkQY'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/K2jboHYAkQY&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>What did you think of the episode?  Is there hope for Sam?  Can Dean stop him or will Castiel have to intervene?  And how gross was the rugaru?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Source Online Testing System (OSOTS)]]></title>
<link>http://nunojob.wordpress.com/?p=450</link>
<pubDate>Fri, 10 Oct 2008 12:32:41 +0000</pubDate>
<dc:creator>nunojob</dc:creator>
<guid>http://nunojob.ca.wordpress.com/2008/10/10/open-source-online-testing-system-osots/</guid>
<description><![CDATA[
I simply can&#8217;t believe that I forgot to post this project in my blog. Anyway if you have to d]]></description>
<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://gitorious.org/projects/online-testing-system" target="_blank"><img class="aligncenter" title="Open Source Online Testing System OSOTS - Show Questions by Categories" src="http://img.skitch.com/20081010-f343ks9y3i2yw7n8391kcu9xqc.png" alt="" width="454" height="550" /></a></p>
<p>I simply can't believe that I forgot to post this project in my blog. Anyway if you have to deploy a multiple choice test and you feel like messing arround with Ruby on Rails and DB2 here goes the link.</p>
<p style="text-align:center;"><a href="http://gitorious.org/projects/online-testing-system" target="_blank">Open Source Online Testing System (OSOTS)</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Double Shot #310]]></title>
<link>http://afreshcup.com/?p=486</link>
<pubDate>Fri, 10 Oct 2008 10:35:11 +0000</pubDate>
<dc:creator>Mike Gunderloy</dc:creator>
<guid>http://afreshcup.com/2008/10/10/double-shot-310/</guid>
<description><![CDATA[
Spree 0.4.0 Released - New version of this open-source Rails e-commerce platform.
Blacktree Visor -]]></description>
<content:encoded><![CDATA[</ul>
<li><strong><a href="http://spreehq.org/articles/2008/10/02/spree-0-4-0-released/">Spree 0.4.0 Released</a></strong> - New version of this open-source Rails e-commerce platform.</li>
<li><strong><a href="http://code.google.com/p/blacktree-visor/">Blacktree Visor</a></strong> - Pull-down console window for OS X. Cute, but I found it less effective for working than actually having a Terminal window open where I could see when a long-running process completed.</li>
<li><strong><a href="http://coderrr.wordpress.com/2007/09/14/incompatibility-between-rails-116-and-ruby-186/">Incompatibility between Rails 1.1.6 and Ruby 1.8.6</a></strong> - I'm sorry to say that I just needed to deploy this fix.</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Yellow Eyes]]></title>
<link>http://aneurinv.wordpress.com/?p=272</link>
<pubDate>Fri, 10 Oct 2008 09:19:19 +0000</pubDate>
<dc:creator>aneurinv</dc:creator>
<guid>http://aneurinv.ca.wordpress.com/2008/10/10/yellow-eyes/</guid>
<description><![CDATA[Castiel threw Dean back into the past.
As it turnd out, once upon a time, John Winchester was a naiv]]></description>
<content:encoded><![CDATA[<p>Castiel threw Dean back into the past.</p>
<p>As it turnd out, once upon a time, John Winchester was a naive civilian and Mary Winchester was a Hunter.</p>
<p>I have no idea who it took more by surprise, me or Dean.</p>
<p>Anyway, as it turns out, Mary made a deal with Azazel, or Yellow Eyes. Yellow Eyes would bring John back from the dead, after he killed him, and in turn, in ten years, Yellow Eyes would pay a visit to the Winchester House and 'as long as he wasn't interrupted, no one would get hurt" At this point i had  an aha moment" that's why MAry said you when Yellow Eyes went to visit Sam.</p>
<p>Anyway, in the end Castiel tells Dean that Sam is down a dangerous road and they have no idea where its leading, and the stil have no idea what Yellow Eye's Endgame is.</p>
<p>Castiel then says, in a dramatic climax:</p>
<p>"Stop him, or we Will"</p>
<p>Sam is b the way, with Ruby.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Interpreters as calculators]]></title>
<link>http://everydayscripting.wordpress.com/?p=95</link>
<pubDate>Fri, 10 Oct 2008 07:20:35 +0000</pubDate>
<dc:creator>schwanksta</dc:creator>
<guid>http://everydayscripting.wordpress.com/2008/10/10/interpreters-as-calculators/</guid>
<description><![CDATA[Sometimes when you&#8217;re sitting at a computer you need to hammer out a quick calculation. Despit]]></description>
<content:encoded><![CDATA[<p>Sometimes when you're sitting at a computer you need to hammer out a quick calculation. Despite not being a huge math fan, I find this to be true more often than I'd like.</p>
<p>The problem is, I find calculators to be fairly limited and annoying machines to work with. If you make a mistake, you have to go back and do all of those steps over again. As your math gets more complicated, this tends to get more and more aggrevating.</p>
<p>What does this have to do with scripting? Well, if you have a Perl, Python or Ruby interpreter on hand, you can hammer out calculations quickly using just the command line.</p>
<p><strong>Perl</strong><br />
With Perl, just fire up a command line and type your calculations (prefaced by the word "print") in single-quotes after "perl -e":</p>
<p><code><br />
kschwen$ perl -e 'print sqrt((5 + (2 * 80))/2) . "\n"'<br />
9.08295106229247<br />
</code></p>
<p>I think it's pretty nifty because you can see your whole equation mapped out. The  '. "\n"' at the end forces the answer to print on its own line, otherwise the number would run into the beginning of your command prompt.</p>
<p>Perl is widely known for its command-line scripting abilities. Savvy system administrators know that executing a "perl -e" can save a ton of time when there's work to be done. I've actually found a great <a href="http://sial.org/howto/perl/one-liner/">resource on perl one-liners</a> if you're interested.</p>
<p><strong>Python</strong><br />
In Python, the easiest way is to just type "python" at the prompt, and do your calculations in the interactive interpreter:</p>
<p><code><br />
kschwen$ python<br />
&#62;&#62;&#62; from math import sqrt<br />
&#62;&#62;&#62; sqrt((5 + (2 * 80))/2)<br />
9.0553851381374173<br />
</code></p>
<p>I like doing it this way better, as you don't have to add print statements or force a newline at the end. Also, since you're in the interpreter, you can import new modules from the math library to do different things as you please.</p>
<p><strong>Ruby</strong><br />
I know I haven't really talked about Ruby, but that's because I don't use it. However, Ruby is interesting because you can accomplish this two ways:</p>
<p><code><br />
kschwen$ ruby -e 'print 5 *5; print "\n";'<br />
25<br />
</code></p>
<p>Or:</p>
<p><code><br />
kschwen$ irb<br />
&#62;&#62; 5 * 5<br />
=&#62; 25<br />
</code></p>
<p>From what I know, this is because Ruby has two interpreters. The interactive one, "irb", is like Python's interpreter -- you can play with the language, executing different statements in your session. The actual "ruby" program interprets your script files, but can also be given the -e switch like perl's interpreter, allowing you to execute one-liners on the command prompt.</p>
<p>If that's inaccurate, please feel free to correct me, as I am not a ruby person.</p>
<p>In any case, doing math in a scripting language's interepreter is an interesting and simple way to both play with a language and get some serious math done.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Pimp my console]]></title>
<link>http://mediapeers.wordpress.com/?p=25</link>
<pubDate>Thu, 09 Oct 2008 21:18:53 +0000</pubDate>
<dc:creator>Ingemar Edsborn</dc:creator>
<guid>http://mediapeers.ca.wordpress.com/2008/10/09/pimp-my-console/</guid>
<description><![CDATA[It&#8217;s definitely fall now and it&#8217;s getting dark outside, so why not bling up your console]]></description>
<content:encoded><![CDATA[<p>It's definitely fall now and it's getting dark outside, so why not bling up your console with some color and other goodies?</p>
<p>First you need some nice gems:</p>
<p>[sourcecode language='ruby']$ sudo gem install wirble guessmethod[/sourcecode]</p>
<p>Then, in create or edit <em>~/.irbrc</em> :</p>
<p>[sourcecode language='ruby']<br />
IRB_START_TIME = Time.now<br />
module Kernel<br />
  # list or search an object's methods<br />
  def meths(query = "")<br />
    (self.methods - Object.methods).select {&#124;name&#124; name.include?(query.to_s) }.sort<br />
  end</p>
<p>  # list local methods<br />
  def lmeths(query = "")<br />
    self.methods(false).select {&#124;name&#124; name.include?(query.to_s) }.sort<br />
  end</p>
<p>  # search documentation<br />
  def ri(query = "")<br />
    # RiDriver.new.get_info_for [self.name, query].join('#')<br />
    puts `ri --format ansi --no-pager #{ [self.name, query].join('#') }`<br />
  end<br />
end</p>
<p>require 'irb/ext/save-history'<br />
require 'rdoc/ri/ri_driver'<br />
require 'irb/completion'<br />
require 'pp'<br />
require 'rubygems'<br />
require 'wirble'</p>
<p>IRB.conf[:AUTO_INDENT] = true<br />
IRB.conf[:IRB_RC] = Proc.new { require 'guessmethod' }<br />
IRB.conf[:SAVE_HISTORY] = 2000<br />
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"</p>
<p># Wirble and Prompt<br />
Wirble.init(:skip_prompt => true, :skip_libraries => true, :skip_shortcuts => true, :init_colors => true)<br />
[/sourcecode]</p>
<p><em>Object.meths</em> and <em>lmeths</em> list your object's methods and local methods, and your able to search through them by passing a string.</p>
<p>Now you can access the ruby docs directly from irb or your Rails console, Like <em>Array.ri</em> or <em>Array.ri "sort"</em>.</p>
<p>The <em>guessmethod</em> adds some fuzzy logic to your console. I'm not really sure yet if I like it, but I'll give it a try for now. My protip would be not to use it in product environments...</p>
<p>The <em>wirble</em> add some color to your console. Doesn't work in Windows environments and has it flaws too, but generally is pretty neat.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ruby - Segmentation fault]]></title>
<link>http://tpeklak.wordpress.com/?p=38</link>
<pubDate>Thu, 09 Oct 2008 19:53:28 +0000</pubDate>
<dc:creator>thomaspeklak</dc:creator>
<guid>http://tpeklak.ca.wordpress.com/2008/10/09/ruby_segmentation_fault/</guid>
<description><![CDATA[Today I had a really nasty Ruby error, that bugged me quite a while.
I wanted to extract parts of an]]></description>
<content:encoded><![CDATA[<p>Today I had a really nasty <em>Ruby</em> error, that bugged me quite a while.</p>
<p>I wanted to extract parts of an <acronym title="Xtensible Markup Language"><span class="caps">XML</span></acronym> file and insert them into another one using the <a href="http://libxml.rubyforge.org/">libxml-ruby</a> gem. From time to time I got the following <em>segementation fault</em> error.</p>
<pre>[BUG] Segmentation fault
ruby 1.8.7 (2008-05-31 patchlevel 0) [i386-mswin32]

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.</pre>
<p>I tracked down the place in my code, where it happened, but could not really explain why it did. I tried to rewrite my code several times, always with the same result. The only thing that helped in the end, was to make sure that the <em>Ruby garbage collector</em> was running with <code>GC.enable</code> and to start it with <code>GC.start</code> after each XML file was processed.</p>
<p>What bugs me most, is the fact that I am not sure, what the real problem is. Otherwise I could write a bug report to ruby or libxml.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Why I am Interested in Ruby]]></title>
<link>http://jlusenhop.wordpress.com/?p=29</link>
<pubDate>Thu, 09 Oct 2008 16:47:03 +0000</pubDate>
<dc:creator>jlusenhop</dc:creator>
<guid>http://jlusenhop.ca.wordpress.com/2008/10/10/why-i-am-interested-in-ruby/</guid>
<description><![CDATA[I became intrigued with Ruby in our last consulting assignment for an information systems processing]]></description>
<content:encoded><![CDATA[<p>I became intrigued with Ruby in our last consulting assignment for an information systems processing company.  We were developing a new web enabled non-standard auto insurance processing platform, and we were very successful from the client’s perspective.</p>
<p class="Body">But not from mine - why should it take over 10 people 18 months to create a relatively simple system (no data conversion, 75 screens, no back end reporting)?  I know I used to hate this when my dad said it, but back when I was programming (he was not a programmer, but I think you understand what I mean) this effort would not have taken this long with HALF the staff and the budget!!  Yes, I think we do eventually become our parents!</p>
<p class="Body">This effort was J2EE, built on an insurance framework, with so much configuration, overhead, and complexity that the simplest of changes took weeks.  Yet, I was perplexed by the acceptance of this “productivity” by the client.  What is wrong here?</p>
<p class="Body">It was during the many times that I suggested to the programming staff that I could write this in Visual Basic (by the way, what I have forgotten about programming is staggering, what I remember is humbling!) by myself in the time it was taking them to do a minor change, that I stumbled across Ruby, Ruby on Rails, and Watir for which we created a framework and utilized this tool for our automated user acceptance testing for the system.</p>
<p class="Body">What this blog, and hopefully some screencasts and podcasts, will document is my journey into this new technology.   I will write about my fascination, my learning, my confusion, and many times my exasperation with Ruby, Rails, Watir, RSpec, the Rails community, and the manner in which the technology is being implemented for both development and testing applications.</p>
<p class="Body" style="padding-bottom:0;">As I create this site, please comment if you agree, disagree, or even if you are indifferent.  I find, though, that there are very few people that are indifferent to Ruby.  And that is where my story will begin in my next posting.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Anmol Anand : Web Designer ]]></title>
<link>http://anmolanand.wordpress.com/?p=122</link>
<pubDate>Thu, 09 Oct 2008 11:36:38 +0000</pubDate>
<dc:creator>anmolanand</dc:creator>
<guid>http://anmolanand.ca.wordpress.com/2008/10/09/anmol-anand-web-designer-skid-software/</guid>
<description><![CDATA[In my last post I had written code for cropping an image using Ruby and Rmagick and I had mentioned ]]></description>
<content:encoded><![CDATA[<p>In my last post I had written code for cropping an image using Ruby and Rmagick and I had mentioned that I was working upon a simple picture editor for Skid software, which is  software(web site) designed for people with Autism,cerebral palsy, dyslexia or anyone who has a problem with keyboard or mouse. .</p>
<p>I have not written any post on my blog for quite some time now as I was waiting for something significant to talk about . So, the significant thing is that I have completed my share of work for Skid software and developed two modules ,instead of one ,which was planned earlier .</p>
<p>My first module is "Crop module" which was developed in the Expert Guidance of Prof. Arun Mehta  . The crop module allows you to have some fun with pictures , It allows you to crop a picture from all sides i.e. 'left','right','top' and 'bottom' . The crop module works in conjunction with picbrowser module . First , you have to selct a picture from the picbrowser module and then move to the crop module . On moving to the crop module , first select the side from where you want to crop  the picture i.e. 'left','right','top' and 'bottom' and the by the help of up and down arrow increase or decrease the amount of cropping you want to do on the side which you have selected . After doing the desired cropping , select the picture and your picture  will be saved in the relevant directory .</p>
<p>There is a special way in which we save the name of the files that are cropped and finalised by the users . For example:</p>
<p>If you selected a picture of 'Football.jpg' and then you go to the crop module and perform 40% cropping from right and save it , So the name of the new cropped file will be 'Football<strong>cr40</strong>'.jpg meaning Football.jpg croped 40% from right . Each time you perform a new operation on  a picture , it's abbreviation is appended to the name of the orignal file and saved.</p>
<p><strong>left crop - cl</strong></p>
<p><strong>right crop - cr</strong></p>
<p><strong>top crop - ct</strong></p>
<p><strong>bottom crop - cb</strong></p>
[caption id="attachment_123" align="alignnone" width="493" caption="A picture of crop moule on www.skid.org.in"]<a href="http://anmolanand.wordpress.com/files/2008/10/page12.jpeg"><img class="size-medium wp-image-123" title="page12" src="http://anmolanand.wordpress.com/files/2008/10/page12.jpeg?w=300" alt="A picture of crop moule on www.skid.org.in" width="493" height="251" /></a>[/caption]
[caption id="attachment_134" align="alignnone" width="487" caption="Above picture cropped 60% from left with help of crop module "]<a href="http://anmolanand.wordpress.com/files/2008/10/page14.jpeg"><img class="size-medium wp-image-134" title="page14" src="http://anmolanand.wordpress.com/files/2008/10/page14.jpeg?w=300" alt="Above picture cropped 60% from left with help of crop module " width="487" height="338" /></a>[/caption]
<p>Now, let me talk about the  second module which was made independently after Prof Arun Mehta taught me , how to go about the process  , during the making of crop module . This module is the 'picedit' module . This module lets you to have even more fun with pictures by allowing you to add effects such as border , wave , blur , radialblur , rotate and charcoal effects to the picture you have selected .  The methodology is the same , First go to picbrowser , select the picture on which you want to add picture effects . Once you have selected the picture , move on to the picedit module and select the effect which you want to add to the picture . Once you have selected the effect , increase or decrease the amount of effect with the help of up and down buttons on the left side of the page . When you are done with your work , save the picture with the help of select button.</p>
<p>Again, there is a special way in which we save the name of the files that are cropped and finalised by the users . For example: If you selected a picture of 'Football.jpg' and then you go to picedit module and add a border of  40 pixels to the image and save it , the name of the new file will be 'Football<strong>b40</strong>.jpg' meaning Football.jpg added with 40 pixel border . Each time you perform a new operation on a picture , it's abbreviation is appended to the name of the orignal file and saved.</p>
<p><strong>border - b</strong></p>
<p><strong>wave - w</strong></p>
<p><strong>rotate - rot<br />
</strong></p>
<p><strong>blur - bl</strong></p>
<p><strong>radialblur - rdb</strong></p>
<p><strong>charcoal - co</strong></p>
[caption id="attachment_133" align="alignnone" width="519" caption="picedit module showing wave effect in the flower image"]<a href="http://anmolanand.wordpress.com/files/2008/10/page13.jpeg"><img class="size-medium wp-image-133" title="page13" src="http://anmolanand.wordpress.com/files/2008/10/page13.jpeg?w=300" alt="picedit module showing wave effect in the flower image" width="519" height="262" /></a>[/caption]
<p>You can go and try the software on <a href="http://www.skid.org.in" target="_blank">http://www.skid.org.in</a> and apart from this module there is wikipedia module , email module etc .</p>
<p><strong>I would like to thank God and my Parents who have helped me and supported me throughout the period of making of this module and also given me strength when my spirits were down .<br />
</strong></p>
<p><strong>Once again I would like to thank Prof Arun Mehta for giving me a chance and making me part of this noble mission to help Autistic Children and also giving me guidance and support throughout the period of making this module and also when I was struck with errors in the program .<br />
</strong></p>
<p><strong>Thank you all !!!!</strong></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Double Shot #309]]></title>
<link>http://afreshcup.com/?p=482</link>
<pubDate>Thu, 09 Oct 2008 09:33:08 +0000</pubDate>
<dc:creator>Mike Gunderloy</dc:creator>
<guid>http://afreshcup.com/2008/10/09/double-shot-309/</guid>
<description><![CDATA[
Random - An alternative to faker for generating fake data in ruby. This one includes a hook to add ]]></description>
<content:encoded><![CDATA[</ul>
<li><strong><a href="http://random-data.rubyforge.org/">Random</a></strong> - An alternative to faker for generating fake data in ruby. This one includes a hook to add your own file of arbitrary random data.</li>
<li><strong><a href="http://www.dcmanges.com/blog/ruby-dsls-instance-eval-with-delegation">Ruby DSLs: instance_eval with delegation</a></strong> - Dan Manges presents an approach to sensibly using some ruby magic.</li>
<li><strong><a href="http://blog.fiveruns.com/2008/10/8/ruby-on-rails-opportunity-in-a-financial-downturn">Ruby on Rails: Opportunity in a Financial Downturn</a></strong> - I agree that there's an opportunity if you're good. If you're not good, you're going to be roadkill.</li>
<li><strong><a href="http://hasmygembuiltyet.org/">Has My Gem Built Yet?</a></strong> - Service to check whether GitHub has gotten round to building a gem from your latest upload.</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undefined local variable or method ` ']]></title>
<link>http://workbooks.wordpress.com/?p=27</link>
<pubDate>Thu, 09 Oct 2008 09:03:59 +0000</pubDate>
<dc:creator>Chris</dc:creator>
<guid>http://workbooks.ca.wordpress.com/2008/10/09/undefined-local-variable-or-method/</guid>
<description><![CDATA[Ever had this little nugget of information?  Lets play spot the difference&#8230;
Example 1
def my_m]]></description>
<content:encoded><![CDATA[<p>Ever had this little nugget of information?  Lets play spot the difference...</p>
<p>Example 1<br />
<code>def my_method(args)  # :nodoc:</code></p>
<p>Example 2<br />
<code>def my_method(args)  # :nodoc:</code></p>
<p>You will notice that there is no apparent difference, which is why I couldn't work out why one line of code ran, and one caused an error.  Anyway, to cut a long story short, I found a unicode character on the line that wasn't working - and that unicode character didn't have a corresponding variable or method!</p>
<p>So, Chris' Thursday Tip is to turn on invisible characters in TextMate (View -&#62; Show Invisibles  ⌥⌘I).</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Jython and Mysql]]></title>
<link>http://situated.wordpress.com/?p=146</link>
<pubDate>Thu, 09 Oct 2008 07:51:54 +0000</pubDate>
<dc:creator>Ben</dc:creator>
<guid>http://situated.ca.wordpress.com/2008/10/09/jython-and-mysql/</guid>
<description><![CDATA[For the life of me I could not get Jython to recognize my mysql driver using JDBC.  I literally spen]]></description>
<content:encoded><![CDATA[<p>For the life of me I could not get Jython to recognize my mysql driver using JDBC.  I literally spent hours trying to get it to work.  Fooling with my classpath, my version of the mysql-connector and my version of Jython.  Finally I gave up and wrote a really simple wrapper class.</p>
<p>This is the Error:</p>
<blockquote><p>#the following line is "print sys.path"<br />
['./mysql-connector-java-5.1.6-bin.jar', '/Volumes/UserHome/bcx/work/istuff/iros/jar', '/Volumes/UserHome/bcx/jython2.5a3/Lib', '__classpath__', '/Volumes/UserHome/bcx/jython2.5a3/Lib/site-packages']<br />
Traceback (most recent call last):<br />
  File "ss.py", line 12, in<br />
    Class.forName(driverName)<br />
        at java.lang.Class.forName0(Native Method)<br />
        at java.lang.Class.forName(Class.java:164)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:585)</p>
<p>java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: com/mysql/jdbc/Driver
</p></blockquote>
<p>So I dealt with various version of that error for a while.  Finally I gave up and wrote a wrapper class, which didn't work until I downloaded and installed jython 2.5a3, previously I was using the latest stable, 2.2.1.</p>
<p>Here is my quick wrapper class:</p>
<blockquote><p>  import java.sql.*;</p>
<p>   public class Connect<br />
   {<br />
      public static Connection getConnection(String url, String usr, String pass) throws Exception{<br />
       Class.forName ("com.mysql.jdbc.Driver").newInstance ();<br />
       return DriverManager.getConnection(url, usr, pass);<br />
      }<br />
   }</p></blockquote>
<p>Here is how I used it in my Jython code.</p>
<blockquote><p>import Connect<br />
import sys<br />
sys.path.append("./mysql-connector-java-5.1.6-bin.jar")</p>
<p>url = "jdbc:mysql://localhost/replay"<br />
con = Connect.getConnection(url,"root","")  #this line uses my wrapper</p>
<p>stmt = con.createStatement()
</p></blockquote>
<p>In other news I implemented a mDNS enabled mysql-based indexed logger for EventHeap.  The next step is to build a simple interface for replaying marked logs.  I really wish I could write this interface using a language other than Jython or Java, so the next step will be fooling around with my various options.  I am not sure if I am feeling adventurous enough to try out JRuby, but Ruby on Rails would be a nice way to build a really quick web front end.  I am leaning towards some sort of Jython based EventHeap RPC server, that has "jobs" which can be started / stopped/ monitored/ and modified over REST or XMLRPC.  This shouldn't be that bad, but I "really" would prefer to do the network code using twisted, although I think the "goal" of this stage, is to pretty much hack this thing together asap.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Tensile and Pneumatic Structures in SketchUp]]></title>
<link>http://bldgsim.wordpress.com/?p=482</link>
<pubDate>Thu, 09 Oct 2008 07:15:43 +0000</pubDate>
<dc:creator>bldgsim</dc:creator>
<guid>http://bldgsim.ca.wordpress.com/2008/10/08/tensile-and-pneumatic-structure-in-sketchup/</guid>
<description><![CDATA[Tensile Structures are fascinating buildings. Everyone who want to sketch such buildings, have the p]]></description>
<content:encoded><![CDATA[<p>Tensile Structures are fascinating buildings. Everyone who want to sketch such buildings, have the problem of the visualization of a structure.<br />
<img class="alignnone size-full wp-image-483" title="tensile" src="http://bldgsim.wordpress.com/files/2008/10/tensile.jpg" alt="" width="425" height="246" /><br />
<a href="http://www.tensile-structures.de/" target="_blank">Tensile Structures for Sketchup</a> is a tool collection for the design of mechanical and pneumatically strained surfaces. You can download <a href="http://www.tensile-structures.de/sb_software.html" target="_blank">Soap Skin &#38; Bubble</a> now for free. Other tools are in development and will follow up in the near future:</p>
<p>Formfinding:<br />
the Tool produces the 3D form. It is an extended version of Soap Skin &#38; Bubble by the following functions.</p>
<ul>
<li>Visual modification of the net (move, rotate)</li>
<li>Boarder , ridge and vally cable</li>
<li>Anchoring cables</li>
<li>Manipulation of the net characteristics</li>
</ul>
<p>Membrane Analysis</p>
<ul>
<li>Membran forces</li>
<li>Cable forces</li>
<li>Anchoring forces</li>
</ul>
<p>Support Structures Analysis</p>
<ul>
<li>for rough cost precalculaion</li>
<li>Cutting Pattern for scale model</li>
<li>Cutting Pattern for model construction, not suitably for manufacturing prototypes</li>
</ul>
<p>See this demo and video tutorial through YouTube</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/mcOrlX5wgLE'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/mcOrlX5wgLE&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Great Lakes Ruby Bash]]></title>
<link>http://gayleforce.wordpress.com/?p=51</link>
<pubDate>Wed, 08 Oct 2008 22:56:35 +0000</pubDate>
<dc:creator>Gayle</dc:creator>
<guid>http://gayleforce.ca.wordpress.com/2008/10/08/great-lakes-ruby-bash/</guid>
<description><![CDATA[As I&#8217;ve mentioned before, I&#8217;ve enjoyed going beyond my local network of technical folks ]]></description>
<content:encoded><![CDATA[<p>As I've mentioned before, I've enjoyed going beyond my local network of technical folks and attending regional events in Ohio and Michigan such as <a href="http://codemash.org">CodeMash</a>, <a href="http://www.clevelanddodn.org/">Cleveland Day of .Net</a> (even though I've never been a .Net developer) and <a href="http://agilesummercamp.com/">Agile Summer Camp</a>. </p>
<p>It's high time I expand my Ruby-specific regional network, especially now that I'm getting paid to write Ruby code! :)</p>
<p>This weekend, I'm looking forward to attending the<br />
<a href="http://greatlakesrubybash.org/"><img src="http://greatlakesrubybash.org/images/glrb_cropped.jpg" alt="Great Lakes Ruby Bash" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Fork and Ruby!]]></title>
<link>http://awesomerails.wordpress.com/?p=150</link>
<pubDate>Wed, 08 Oct 2008 18:36:19 +0000</pubDate>
<dc:creator>TylerMontgomery</dc:creator>
<guid>http://awesomerails.ca.wordpress.com/2008/10/08/fork-and-ruby/</guid>
<description><![CDATA[Utilizing a huge amount of resources&#8230;i.e. pwnage on a Dell 2950:

Uploaded with plasq&#8217;s ]]></description>
<content:encoded><![CDATA[<p>Utilizing a huge amount of resources...i.e. pwnage on a Dell 2950:</p>
<div class="thumbnail"><a href="http://skitch.com/tbonequads/2dbq/terminal-ssh-135x55"><img src="http://img.skitch.com/20081008-x2bwe2mbxfurk1stb4ef4k2kan.preview.jpg" alt="Terminal — ssh — 135×55" /></a></div>
<div class="thumbnail"><span style="font-size:10px;font-family:Lucida Grande,Trebuchet,sans-serif,Helvetica,Arial;color:#808080;">Uploaded with <a href="http://plasq.com/">plasq</a>'s <a href="http://skitch.com">Skitch</a>!</span></div>
<p>Check out how all 8 cores are getting used and both network cards are screaming from my 16 ruby processes pulling down a shit-ton of data.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[~flirt~ Tiffany Range officially released]]></title>
<link>http://flirtacious.wordpress.com/?p=167</link>
<pubDate>Wed, 08 Oct 2008 14:47:05 +0000</pubDate>
<dc:creator>Peter Stindberg</dc:creator>
<guid>http://flirtacious.ca.wordpress.com/2008/10/08/flirt-tiffany-range-officially-released/</guid>
<description><![CDATA[Since its release in June, the ~flirt~ Tiffany Ring has been one of the signature items of jeweller ]]></description>
<content:encoded><![CDATA[<p>Since its release in June, the ~flirt~ Tiffany Ring has been one of the signature items of jeweller Skinkie Winkler, praised in many reviews and worn by well known fashion icons.  An exclusive Pink Diamond version got auctioned for Relay for Life in July. Today, we officially release the complete range of Tiffany items, consisting of bracelet, 3 necklaces (regular, pendant and double strand), stud and drop earrings and the ring, available in amethyst, diamond, emerald, ruby and sapphire.</p>
<p><a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffBraceletPLAT-SAPPHIREGradient51.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Bracelet in Sapphire" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffBraceletPLAT-SAPPHIREGradient51.jpg" border="0" alt="Photobucket" width="512" height="512" /></a></p>
<p>The Tiffany jewellery range was inspired, unsurprisingly, by the designs of the jewellers Tiffany &#38; Co. of London.  As with every design, the finished product is rarely identical to the inspiration, the process of building, the qualities of the prims and the limitations/lack of limits of Second Life each adding to it's<br />
uniqueness.</p>
<p><a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffDropsPLAT-RUBYGradient512.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Drop Earrings in Ruby" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffDropsPLAT-RUBYGradient512.jpg" border="0" alt="Photobucket" width="512" height="512" /></a></p>
<p>The Tiffany Drop Earrings consist of glittering diamonds set in the finest platinum and fall in two strings from a large, rare gem encircled by precision placed micro-prim diamonds to form an earring that few will surpass. “Luxury, elegance, and decadent sexuality in equal measure.”</p>
<p><a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffNecklacePLAT-DIAGradient512.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Necklace in Diamond" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffNecklacePLAT-DIAGradient512.jpg" border="0" alt="Photobucket" width="512" height="512" /></a><br />
<a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffPendantPLAT-AMETHYSTGradient512.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Pendant in Amethyst" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffPendantPLAT-AMETHYSTGradient512.jpg" border="0" alt="Photobucket" width="512" height="512" /></a><br />
<a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffDSNecklacePLAT-RUBYGradient512.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Double Strand Necklace in Ruby" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffDSNecklacePLAT-RUBYGradient512.jpg" border="0" alt="Photobucket" width="512" height="512" /></a></p>
<p>The three Tiffany necklaces are hand built and djusted to perfection. The Tiffany Pendant uses two attachment points (chest &#38; spine) and boasts a combined weight of 346 prims, an ARC of only 40 and two pendant types, to suit shapes of all proportions. Finally the Tiffany Double Strand Necklace  - the necklace of every woman’s dreams -  showcases 417 tiny twisted and hand placed prim jewels and  should be worn with pride  to be seen in.</p>
<p><a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffStudsPLAT-EMERALDGradient512.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Stud Earrings in Emerald" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffStudsPLAT-EMERALDGradient512.jpg" border="0" alt="Photobucket" width="512" height="512" /></a></p>
<p>Weighing in at a mere 126 prims each, the subtle design of the Tiffany Studs add class to any outfit. In spite of the number of prims, careful design and build technique has ensured that these gems won’t lag you down, their Avatar Rendering Cost being only 35.</p>
<p><a href="http://s536.photobucket.com/albums/ff323/FlirtFineJewellery/?action=view&#38;current=TiffSilver-AmethystGradient512.jpg" target="_blank"><img style="border:0 none;" title="Tiffany Ring in Amethyst" src="http://i536.photobucket.com/albums/ff323/FlirtFineJewellery/TiffSilver-AmethystGradient512.jpg" border="0" alt="Photobucket" width="512" height="512" /></a></p>
<p>Comprising a single flawless 7.15 carat Linden precious gemstone surronded by double row of 75 melee diamonds set in platinum on a band shouldered by a further double row of diamonds, the ring is available with five central gemstones - Diamond, Ruby, Amethyst, Sapphire and Emerald. With an Avatar Rendering Cost of only 20-25 (minumum possible being 10, suggested avatar total being 500-1000) this ring is the perfect way to show a loved one just how much you care. Two rings are included in the box, fitted to the left and right hand respectively, and whilst sized for the average female hand size (20), it is fitted with a resize script to ensure the perfect fit for every shape.</p>
<p><strong>~flirt~ jewellery and Avatar Rendering Cost</strong><br />
Each piece of ~flirt~ jewellery is hand built and 100% prim-based. Care has been taken to assure the lowest possible Avatar Rendering Cost (contribution to sim lag) possible whilst 7 below 100 in whichever combination you choose.</p>
<p>Where required, your jewellery is fitted with a resize script.  Simply click on the root prim, usually the largest central gem, to open a dialogue box and follow the instructions.  A full instructions notecard is included should you need it. You are strongly advised to use a pose stand when repositioning your<br />
jewellery, one is provided.  Should you run into difficulty, and if your shape is transferable, I will be more than happy to fit your jewellery for you.  This service is only available for transferable items.</p>
<p><strong>Customisations</strong></p>
<p>We offer customisation services for all items. This can be changes to metals and stones and - where applicable - engravings. An additional cost of 500 L$ per customisation applies.</p>
<p><strong>Pricing and availability</strong></p>
<p>~flirt~ Tiffany Bracelet: 400 L$<br />
~flirt~ Tiffany Necklace: 700 L$<br />
~flirt~ Tiffany Double Strand Necklace: 1000 L$<br />
~flirt~ Tiffany Drop Earrings: 450 L$<br />
~flirt~ Tiffany Pendant: 1000 L$<br />
~flirt~ Tiffany Ring: 700 L$<br />
~flirt~ Tiffany Stud Earrings: 350 L$<br />
~flirt~ Tiffany Set: 3000 L$ (1600 L$ rebate compared to single items)</p>
<p>Right now, these items are only availbale in-world at the ~flirt~ mainstore (<a href="http://slurl.com/secondlife/Juicy/39/213/23/?img=http%3A//flirtacious.files.wordpress.com/2008/04/flirt-blog-header-full-opactiy.png&#38;title=%7Eflirt%7E&#38;msg=Fine%20Prim%20Jewellery">SLURL</a>), our booth at Glamour Expo (<a href="http://slurl.com/secondlife/VANITY%20UNIVERSE/170/8/24">SLURL</a>) and our booth at Jewelry Expo (<a href="http://slurl.com/secondlife/Jewelry%20Exposition/131/129/26">SLURL</a>). It will take a bit until we have listed them on Xstreel SL (SL Exchange) and OnRez - please bear with us.</p>
<p>At all 3 locations you will also find DEMOS of the pieces, so you can try them on before you buy.</p>
<p>Please enjoy the Tiffany Range!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Camp]]></title>
<link>http://mindapples.wordpress.com/?p=93</link>
<pubDate>Wed, 08 Oct 2008 13:52:01 +0000</pubDate>
<dc:creator>Andy Gibson</dc:creator>
<guid>http://mindapples.org/2008/10/08/apple-camp/</guid>
<description><![CDATA[Lots of activity around the Mindapples project at the moment, very exciting times.
I pitched the pro]]></description>
<content:encoded><![CDATA[<p>Lots of activity around the Mindapples project at the moment, very exciting times.</p>
<p>I pitched the project at the first <a title="Social Innovation Camp Meetup" href="http://web.meetup.com/158/" target="_blank">Social Innovation Camp Meetup</a> last week, and found a whole bunch of people who would be interested in helping us develop a better website and various other useful services. So, later this month or early in November, we'll be holding <strong>Apple Camp 2008</strong> (please don't sue us Steve), a hack day at the School of Everything offices in Bethnal Green, to put together a better website and develop the campaign further.</p>
<p>So, if you're interested in helping out, please e-mail Andy Gibson at andy[at]sociability.org.uk. We need help clarifying what we need to build for the new site (if you have ideas, please leave us a comment here), and although we haven't decided what platform to build in, if you're a Ruby on Rails expert then please do get in touch as that will probably be our initial jumping-off point.</p>
<p>So that's great progress, I'm very pleased people are so willing to help us out. And hot on the heels of that, Maureen Rice at Psychologies Magazine has written <a title="Maureen Rice, Editor of Psychologies Magazine, blogs about Mindapples" href="http://www.psychologies.co.uk/index.php/eng/Editor-s-Blog/What-s-your-mental-five-a-day" target="_blank">some very kind words about us</a> on her blog. So thank you very much to her as well. If you know anyone who might like to write about Mindapples or use it in their work, please do introduce us!</p>
<p style="text-align:right;"><a title="Andy Gibson, Sociability" href="http://sociability.org.uk/about/andy" target="_self">Posted by Andy Gibson</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[JRuby, sharing objects across multiple runtimes. JMagLev?]]></title>
<link>http://fabiokung.wordpress.com/?p=72</link>
<pubDate>Wed, 08 Oct 2008 09:39:31 +0000</pubDate>
<dc:creator>Fabio Kung</dc:creator>
<guid>http://fabiokung.com/2008/10/08/jruby-sharing-objects-across-multiple-runtimes-jmaglev/</guid>
<description><![CDATA[MagLev was a show from the last RailsConf (2008). Presentation and demos of the product are really i]]></description>
<content:encoded><![CDATA[<p>MagLev was a show from the last RailsConf (2008). Presentation and demos of the product are <a href="http://www.vimeo.com/1147409">really impressive</a>.</p>
<p>Recently, <a href="http://www.workingwithrails.com/person/8888-brian-takita">Brian Takita</a> asked in the <a href="http://archive.hausfoundation.org/lists/org.codehaus.jruby.dev/msg/1d7ddd110809291539t213f56c1s5ef79d7755976c5f@mail.gmail.com">JRuby mailing list</a>:</p>
<blockquote><p>JRuby + TerraCotta == Maglev?</p></blockquote>
<p>What an idea! In the last few days I've tried to make something useful and I'm happy to have something to show.</p>
[caption id="attachment_78" align="aligncenter" width="323" caption="Screencast: Reproducing Avi Bryant's Demo with JRuby + Nailgun and JRuby + Terracotta. (5 min)"]<a href="http://blog.caelum.com.br/video/jruby/fabiokung-jmaglev.swf" target="_blank"><img src="http://fabiokung.wordpress.com/files/2008/10/jmaglev-demo.png" alt="JRuby + Nailgun and JRuby + Terracotta" title="JRuby + Nailgun and JRuby + Terracotta" width="323" height="373" class="size-full wp-image-78" /></a>[/caption]
<p>The first demo runs with Nailgun. The basic idea is to share a single Java VM across all clients, so they can share some objects. The second is much more complete, as its clients have their own Java VM. There are many true interpreters running, and they are sharing objects through <a href="http://www.terracotta.org/">Terracotta</a>. Terracotta is responsible for sharing memory in Java VM clusters and, despite of its slow startup, has much more to offer. The shared objects (hats and rabbits) could be automatically persisted by Terracotta, as MagLev also does.</p>
<p>I've patched JRuby and configured Terracotta to make demos run. I'll upload the patches and configuration somewhere, ASAP.</p>
<p>Working on JRuby to make it run multiple runtimes (VMs) at the same time is being really fun!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ruby Warrior]]></title>
<link>http://tpeklak.wordpress.com/?p=33</link>
<pubDate>Wed, 08 Oct 2008 06:39:13 +0000</pubDate>
<dc:creator>thomaspeklak</dc:creator>
<guid>http://tpeklak.ca.wordpress.com/2008/10/08/ruby-warrior/</guid>
<description><![CDATA[A fun way to learn Ruby
The subtitle is a bit of a contradiction, because Ruby is fun to learn. But ]]></description>
<content:encoded><![CDATA[<h3>A fun way to learn <a href="http://www.ruby-lang.org/en/">Ruby</a></h3>
<p>The subtitle is a bit of a contradiction, because <em>Ruby</em> is fun to learn. But still you can have more fun, when you play <a href="http://github.com/ryanb/ruby-warrior/tree/master">Ruby Warrior</a> by <a href="http://railscasts.com">Ryan Bates</a>.</p>
<p><em>Ruby Warrior</em> is a role based game, where you have to guide a warrior through a dungeon. It starts quite easy, but quickly gets harder. Each level the brave warrior gets attributes, that help him to get through all trouble. You control your warrior with Ruby commands like <code>warrior.walk!</code> or <code>warrior.attack!</code> – see the <a href="http://github.com/ryanb/ruby-warrior/tree/master/README">readme</a> for all commands.</p>
<p>On higher levels life gets really hard for the warrior. Trying to develop an artifical intellegence for the hero gets tricky. Of course you can cheat by defining the exact moves for each level, because the game does not know any randomness. The code you write to guide your warrior to the end of a level, has to be changed quite often – methods are defined and refactored nearly each level, because you do not know what expects you on the next level, it is hard to predict how to define your methods.</p>
<p>I encourage you to give the game a try, even if you have not any Ruby knowledge at all.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Autotest Notifications in Ubuntu with Mumbles]]></title>
<link>http://dambalah.wordpress.com/?p=105</link>
<pubDate>Tue, 07 Oct 2008 23:05:43 +0000</pubDate>
<dc:creator>Luc Castera</dc:creator>
<guid>http://dambalah.com/2008/10/07/autotest-notifications-in-ubuntu-with-mumbles/</guid>
<description><![CDATA[
Autotest is a nice utility that automatically run your rails tests whenever you make a change to on]]></description>
<content:encoded><![CDATA[<p>
<a href="http://www.zenspider.com/ZSS/Products/ZenTest/#rsn">Autotest</a> is a nice utility that automatically run your rails tests whenever you make a change to one of your source files. It is part of the <a href="http://www.zenspider.com/ZSS/Products/ZenTest/">ZenTest</a> package from <a href="http://www.zenspider.com">Ryan Davis</a>.
</p>
<p>It would be nice if you could be notified of the test results without having to switch to the terminal window running AutoTest. <a href="http://marcus.ahnve.net/2007/03/30/rspec-and-autotest/">Some</a> <a href="http://blog.codefront.net/2007/04/01/get-your-testing-results-via-growl-notifications/">Mac</a> <a href="http://blog.internautdesign.com/2006/11/12/autotest-growl-goodness">users</a> already found a way to do this using Growl. However, that only works if you have a Mac, and I don't have one, so I figured out a way to do something similar in Ubuntu.  Let's get going.
</p>
<h3>Step 1: Install Mumbles</h3>
<p>
<a href="http://www.mumbles-project.org/">Mumbles</a> is a 'plugin-driven, modern notification system for Gnome'. It is very similar to Growl and even speaks the Growl protocol if you want to receive growl notifications on your Ubuntu/Linux desktop.  Installing Mumbles is a breeze thanks to the deb package that you can download <a href="http://www.mumbles-project.org/download/">here</a>.
</p>
<p>
Once installed, you can start Mumbles by going to Applications -&#62; Accessories --&#62; Mumbles. You will then see the Mumbles icon Gnome panel applet, as shown in the picture below:</p>
[caption id="attachment_106" align="alignnone" width="479" caption="Mumbles Icon in Gnome Panel Applet"]<a href="http://dambalah.files.wordpress.com/2008/10/mumbles-icon.png"><img class="size-full wp-image-106" title="mumbles-icon" src="http://dambalah.wordpress.com/files/2008/10/mumbles-icon.png" alt="Mumbles Icon in Gnome Panel Applet" width="479" height="74" /></a>[/caption]
<p>
You can right-click on the Mumbles icon, and edit the preferences. In particular, you can change the theme of your notifications. I like the <em>mumbles-round</em> theme.  </p>
[caption id="attachment_108" align="alignnone" width="303" caption="Mumble Preferences"]<a href="http://dambalah.files.wordpress.com/2008/10/mumbles-prefs.png"><img src="http://dambalah.wordpress.com/files/2008/10/mumbles-prefs.png" alt="Mumble Preferences" title="mumbles-prefs" width="303" height="318" class="size-full wp-image-108" /></a>[/caption]
<p>
If you do not want Mumbles to show up in your Gnome Panel applet, you can start it from a shell using the 'mumbles -d' command.
</p>
<p>If you want Mumbles to be automatically started when you login, go to System --&#62; Preferences --&#62; Session. On the startup tab, add mumbles with the 'mumbles' command.
</p>
<h3>Step 2: Test Mumbles Installation</h3>
<p>
Mumble ships with a 'mumbles-send' utility. To test it out, type the following in your shell: <code>mumbles-send --help</code> As you can see, <em>mumbles-send</em> takes in a title and an optional message. Let's try it out now: <code>mumbles-send 'Testing Title' 'This is a test of mumble-send'</code> You should see the notification in the top right of the screen:  </p>
<p><a href="http://dambalah.files.wordpress.com/2008/10/mumbles-test.png"><img src="http://dambalah.wordpress.com/files/2008/10/mumbles-test.png" alt="" title="mumbles-test" width="455" height="192" class="alignnone size-full wp-image-109" /></a>
</p>
<h3>Step 3: Installing AutoTest</h3>
<p>
Autotest is part of the ZenTest Ruby gem. To install it, run: <code>sudo gem install ZenTest</code> That's about it. Now go to the RAILS_ROOT directory of your application, and run: <code>autotest</code> Autotest should start running your tests.
</p>
<h3>Step 4: Adding Autotest hooks to Mumbles</h3>
<p>
To have Autotest results show up as Mumbles notifications, create a file called <em>.autotest</em> and save it in your $HOME directory. Copy the following content into that file: </p>
<pre><span class="keyword">module </span><span class="module">Autotest::Mumbles</span>
  <span class="keyword">def </span><span class="method">self.mumbles</span> <span class="ident">title</span><span class="punct">,</span> <span class="ident">msg</span>
    <span class="ident">system</span> <span class="punct">&#34;</span><span class="string">mumbles-send <span class="escape">\&#34;</span><span class="expr">#{title}</span><span class="escape">\&#34;</span> <span class="escape">\&#34;</span><span class="expr">#{msg}</span><span class="escape">\&#34;</span></span><span class="punct">&#34;</span>
  <span class="keyword">end</span>

  <span class="constant">Autotest</span><span class="punct">.</span><span class="ident">add_hook</span> <span class="symbol">:red</span> <span class="keyword">do</span> <span class="punct">&#124;</span><span class="ident">at</span><span class="punct">&#124;</span>
    <span class="ident">errors</span> <span class="punct">=</span> <span class="ident">at</span><span class="punct">.</span><span class="ident">files_to_test</span><span class="punct">.</span><span class="ident">map</span> <span class="punct">{</span> <span class="punct">&#124;</span><span class="ident">k</span><span class="punct">,</span> <span class="ident">v</span><span class="punct">&#124;</span> <span class="punct">&#34;</span><span class="string"><span class="expr">#{k}</span>:<span class="escape">\n</span> <span class="expr">#{v.join(&#34;\n &#34;)}</span></span><span class="punct">&#34;}.</span><span class="ident">join</span><span class="punct">(&#34;</span><span class="string"><span class="escape">\n\n</span></span><span class="punct">&#34;)</span>
    <span class="ident">mumbles</span> <span class="punct">&#34;</span><span class="string">TESTS FAILED</span><span class="punct">&#34;,</span> <span class="ident">errors</span>
  <span class="keyword">end</span>

  <span class="constant">Autotest</span><span class="punct">.</span><span class="ident">add_hook</span> <span class="symbol">:green</span> <span class="keyword">do</span> <span class="punct">&#124;</span><span class="ident">at</span><span class="punct">&#124;</span>
    <span class="comment">#res = at.results[/\d+ tests.*$/]</span>
    <span class="ident">res</span> <span class="punct">=</span> <span class="ident">at</span><span class="punct">.</span><span class="ident">results</span><span class="punct">.</span><span class="ident">scan</span><span class="punct">(/</span><span class="regex">Finished.*failures</span><span class="punct">/</span><span class="ident">m</span><span class="punct">).</span><span class="ident">to_s</span><span class="punct">.</span><span class="ident">gsub</span><span class="punct">(/</span><span class="regex"><span class="escape">\e\[</span>32m</span><span class="punct">/,'</span><span class="string"></span><span class="punct">')</span>
    <span class="ident">mumbles</span> <span class="punct">&#34;</span><span class="string">TESTS PASSED</span><span class="punct">&#34;,</span> <span class="ident">res</span>
  <span class="keyword">end</span>
<span class="keyword">end</span>
</pre>
</p>
<h3>Step 5: Verify everything is running smoothly</h3>
<p>
At this point, you should be done. Go back to your RAILS_ROOT directory and start autotest. It should now report whether the tests PASSED or FAILED via Mumbles, as shown below:   </p>
<p><a href="http://dambalah.files.wordpress.com/2008/10/mumbles-failed.png"><img src="http://dambalah.wordpress.com/files/2008/10/mumbles-failed.png" alt="" title="mumbles-failed" width="251" height="84" class="alignnone size-full wp-image-111" /></a></p>
<p><br></p>
<p><a href="http://dambalah.files.wordpress.com/2008/10/mumbles-passed.png"><img src="http://dambalah.wordpress.com/files/2008/10/mumbles-passed.png" alt="" title="mumbles-passed" width="253" height="84" class="alignnone size-full wp-image-112" /></a></p>
<p><br></p>
<p><em>I hope this helped! Enjoy your Mumbles Autotest notifications</em></p>
]]></content:encoded>
</item>

</channel>
</rss>
