<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>v-nessa.net &#187; ruby</title>
	<atom:link href="http://www.v-nessa.net/tag/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://www.v-nessa.net</link>
	<description>pink is the new black</description>
	<lastBuildDate>Tue, 20 Jul 2010 13:48:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>More of Using PHP for Server Info</title>
		<link>http://www.v-nessa.net/2007/12/17/more-of-using-php-for-server-info</link>
		<comments>http://www.v-nessa.net/2007/12/17/more-of-using-php-for-server-info#comments</comments>
		<pubDate>Mon, 17 Dec 2007 05:53:32 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/2007/12/19/more-of-using-php-for-server-info</guid>
		<description><![CDATA[I&#8217;ll eventually get the whole thing up here, but I&#8217;ve been working on a simple server info script to help me and the other members of the system admin team keep up with the gazillion servers we have and all their different configurations. One of the reasons it&#8217;s taking so long (aside from my recent [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F12%2F17%2Fmore-of-using-php-for-server-info"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F12%2F17%2Fmore-of-using-php-for-server-info&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.seobook.com/3029-0-1-19.html" target="_blank"><img src="http://www.seobook.com/rf/banners/seobook300x250.gif" align="left" border="0" height="250" hspace="10" vspace="10" width="300" /></a></p>
<p>I&#8217;ll eventually get the whole thing up here, but I&#8217;ve been working on a simple server info script to help me and the other members of the system admin team keep up with the gazillion servers we have and all their different configurations.  One of the reasons it&#8217;s taking so long (aside from my recent alcohol binges) is that it has to be portable to every server without the need for specific modifications, regardless of their setup.  This eventually calls for using a simple if statement and empty() function to decide what info to output.  Really, it&#8217;s so easy that I don&#8217;t even know why I&#8217;m posting it, but it kinda supplements <a href="http://www.v-nessa.net/2007/10/15/using-php-to-display-version-info">this</a> and <a href="http://www.v-nessa.net/2007/10/17/using-php-to-display-version-info-part-ii">this</a>.</p>
<p>I&#8217;ll take the Ruby example I used earlier to find out what version of Ruby is installed:</p>
<p><font color="#ff66cc"><code> $rubyver = exec("ruby -v |awk {'print $2'}"); ?&gt;</code></font></p>
<p>Most of our servers don&#8217;t have Ruby installed, so  I instead of getting an ugly ass error or nothing at all, I&#8217;d rather the script gracefully output its absence:<br />
<font color="#ff66cc"><code><br />
if (empty($rubyver)) {<br />
echo "&lt;font color='red'&gt;Ruby is not installed on this server&lt;/font&gt;";<br />
} else {<br />
echo "Ruby Version $rubyver";<br />
}</code></font></p>
<p>This code fragment will check the output of the <strong>$rubyver</strong> variable, so if Ruby is not installed then the variable will return no value.  Since the variable is then considered empty, the first echo statement is executing telling the viewer that Ruby is not installed on the server.  If Ruby <em>is</em> installed on the server, then the second echo statement will run.</p>
<p><map name='google_ad_map_130_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/130?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_130_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=130&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F12%2F17%2Fmore-of-using-php-for-server-info' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=130&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/12/17/more-of-using-php-for-server-info/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interactive RoR Tutorial</title>
		<link>http://www.v-nessa.net/2007/12/05/interactive-ror-tutorial</link>
		<comments>http://www.v-nessa.net/2007/12/05/interactive-ror-tutorial#comments</comments>
		<pubDate>Thu, 06 Dec 2007 03:24:57 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/2007/12/05/interactive-ror-tutorial</guid>
		<description><![CDATA[So it&#8217;s official, I&#8217;ve started my Ruby programming classes in school and I&#8217;ll finally be able to see what it can do.  We started offering Ruby on some of our servers here and we&#8217;re all learning a little bit about it before we start offering it on our mainstream hosting&#8230;because you have to have at [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F12%2F05%2Finteractive-ror-tutorial"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F12%2F05%2Finteractive-ror-tutorial&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>So it&#8217;s official, I&#8217;ve started my Ruby programming classes in school and I&#8217;ll finally be able to see what it can do.  We started offering Ruby on some of our servers here and we&#8217;re all learning a little bit about it before we start offering it on our mainstream hosting&#8230;because you have to have at least one person who knows the feature well enough to help other people.  From what I&#8217;ve played with so far it seems to be the same logic as PHP and perl, so let&#8217;s just see how it goes.  For those of you wanting to try out some Ruby, there&#8217;s a nifty little Ruby emulator and mini-tutorial at <a href="http://tryruby.hobix.com/" title="Try Ruby" target="_blank">http://tryruby.hobix.com/</a><span class="content"></span></p>
<p><map name='google_ad_map_127_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/127?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_127_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=127&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F12%2F05%2Finteractive-ror-tutorial' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=127&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/12/05/interactive-ror-tutorial/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Which Programming Language is For You?</title>
		<link>http://www.v-nessa.net/2007/10/30/which-programming-language-is-for-you</link>
		<comments>http://www.v-nessa.net/2007/10/30/which-programming-language-is-for-you#comments</comments>
		<pubDate>Tue, 30 Oct 2007 16:23:22 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[site design]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/2007/10/30/which-programming-language-is-for-you/</guid>
		<description><![CDATA[Working with a webhosting company I get asked all the time &#8212; which programming language is better? It&#8217;s obvious that I&#8217;m more bias towards PHP, but there are other great languages out there that may be more suitable for certain people creating certain sites. I&#8217;ve decided to write a nutshell comparison on the most common [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F10%2F30%2Fwhich-programming-language-is-for-you"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F10%2F30%2Fwhich-programming-language-is-for-you&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Working with a webhosting company I get asked all the time &#8212; which programming language is better?  It&#8217;s obvious that I&#8217;m more bias towards PHP, but there are other great languages out there that may be more suitable for certain people creating certain sites.  I&#8217;ve decided to write a  nutshell comparison on the most common languages, so you can decide for yourself.</p>
<p><a href="http://php.net" title="PHP" target="_blank">PHP</a></p>
<p>My preferred language, PHP, is the most popular and widely-used dynamic programming language on the Internet.  As a result, it&#8217;s increasingly become easy to learn (I have 4 brain cells and even I could do it) and can be run on virtually any operating system.  It&#8217;s popularity has resulted in the availability of thundreds of contributions, modules, and addons for PHP to increase its functionality and integration with other software.  It&#8217;s also free to download and easy to install (for most people), and is the most common in CMS&#8217;s and prebundled website software.</p>
<p>The major downside to PHP is that it&#8217;s so popular that security holes are being found all the time.  Its very nature requires some configuration changes and restrictions in order to boost security.<br />
<a href="http://www.perl.org/" title="Perl" target="_blank"></a></p>
<p><a href="http://www.perl.org/" title="Perl" target="_blank">Perl</a></p>
<p>Perl is one of the oldest and most successful languages to date.  With thousands of modules that can be added, it can pretty much do anything.  While it&#8217;s currently not as popular as PHP, it&#8217;s more efficient for server management in its double use as a shell scripting language.   It&#8217;s also open-source and compatible for most all OS&#8217;s.  The only real downside is that it&#8217;s not as quick and easy to learn, and even the simplest tasks can take more programming and lines of code to accomplish.  Also, the camel logo is <a href="http://images.google.com/images?gbv=2&amp;svnum=10&amp;hl=en&amp;q=perl+logo&amp;btnG=Search+Images" target="_blank">fugly</a>.<br />
<a href="http://www.asp.ne" title="ASP.net" target="_blank"></a></p>
<p><a href="http://www.asp.ne" title="ASP.net" target="_blank">ASP/VBScript</a></p>
<p>I&#8217;ll try to be nice about this one.  Really, I&#8217;m not an ASP fan mainly because it&#8217;s proprietary to Windows and IIS.  That being said, I&#8217;m sure you can figure how secure and reliable it is.  It&#8217;s not as actively maintained by its developers (Microsoft) so major bugs have been known to linger for months &#8212; unacceptable for busy webmasters trying to manage professional websites.  While ASP, .net, and VBScript (aka the ASP family) are all &#8220;free&#8221;, if you want any of the fancy addons or modules for them you&#8217;ll be owing Microsoft a nice little licensing fee.  On a positive note, <a href="http://www.chilisoft.com/" title="ChiliSoft" target="_blank">Chilisoft</a> has made is possible to port ASP over to Linux, so it&#8217;s no longer 100% platform dependent.</p>
<p><a href="http://java.sun.com/products/jsp/" title="JSP" target="_blank">JSP</a></p>
<p>Java Server Pages (developed by <a href="http://java.sun.com/products/jsp/" title="Sun" target="_blank">Sun</a>) is more similar to the ASP framework, but targeted towards Java fanatics.  Out of all the programming languages I&#8217;ve studied in school, JSP is probably my least favorite.  Not only is it hard to learn, but there&#8217;s no such thing as simplicity with it.  However, it&#8217;s very powerful software and is platform-independent, as long as you have a Java Environment for it to run in.  <a href="http://tomcat.apache.org/" title="Tomcat" target="_blank">Tomcat</a> (an <a href="http://apache.org/" title="Apache" target="_blank">Apache </a>Project) is the most common servlet container for JSP.  But, Java takes up a lot of memory and JSP servers are very difficult to maintain and administer for non-experts.</p>
<p><a href="http://www.ruby-lang.org" title="Ruby" target="_blank">Ruby</a></p>
<p>Ruby is one of the newer programming language to hit the web developer market, and it&#8217;s actually quite close in concept to PHP except that it&#8217;s 100% object-oriented, and very clean because you don&#8217;t need as much punctuation.   It&#8217;s also very beginner-friendly, and is growing in popularity.  The main disadvantage to Ruby is that it&#8217;s difficult to troubleshoot runtime errors because its reluctance to declare variables before their use.  And being that it&#8217;s a newer language, there are definitely less resources available and not as many applications currently employing Ruby as a framework.  However, it is cross-platform compatible, easy to install, and even easier to learn.</p>
<p><a href="http://python.org" title="Python" target="_blank">Python</a></p>
<p>I really don&#8217;t know a whole lot about Python other than that expert programmers claim that it&#8217;s such a strong language.  I personally think it&#8217;s crap&#8230;my one shot at Python and I find out that it&#8217;s very whitespace/tab sensitive, so one extra space can ruin your program.  Coming from PHP I don&#8217;t find that very appealing&#8230;I personally think it&#8217;s a mistake, and that its developers just call it a &#8216;programming guideline&#8217; since they can&#8217;t figure out how to fix it.  Really, there&#8217;s no huge benefit in using Python other than for your Google sitemaps, so all I&#8217;m going to say is steer clear.</p>
<p><a href="http://en.wikipedia.org/wiki/HTML" title="HTML" target="_blank">HTML</a></p>
<p>I put this at the bottom of the list because I don&#8217;t really consider it a programming language, but it is the more predominate and widely used language that all the others revolve around.  I do think it&#8217;s important that every programmer become an expert in HTML before going dynamic with their coding.  While other languages rely on HTML for output, it&#8217;s very common for sites to be purely HTML and nothing else.  However, HTML is a static language with no dynamic capabilities in itself whatsoever, so it&#8217;s somewhat boring on its own</p>
<p><strong>Client-side</strong></p>
<p>In a category all its own, there are several client-side languages that augment the others.  Client side languages no require any server-side software to be installed, just a browser capable of interpreting them.  CSS (Cascading Style Sheets) is a language primarily used in formatting and creating a uniform and repetitive style for use across multiple pages.  <a href="http://en.wikipedia.org/wiki/JavaScript" title="JavaScript" target="_blank">JavaScript </a>is a mini-java language used to create mild effects for a website, like popup windows and form validation.  I also consider it to be very insecure, so it should be used sparingly.  <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" title="AJAX" target="_blank">AJAX</a> is a newer JavaScript framework that is more appealing to the eye and lets you create those special effects that you see on many web 2.0 sites&#8230;things like refresh-less page loading.</p>
<p><map name='google_ad_map_101_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/101?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_101_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=101&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F10%2F30%2Fwhich-programming-language-is-for-you' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=101&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/10/30/which-programming-language-is-for-you/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Using PHP to Display Version Info</title>
		<link>http://www.v-nessa.net/2007/10/15/using-php-to-display-version-info</link>
		<comments>http://www.v-nessa.net/2007/10/15/using-php-to-display-version-info#comments</comments>
		<pubDate>Mon, 15 Oct 2007 14:38:11 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/2007/10/15/using-php-to-display-version-info/</guid>
		<description><![CDATA[I&#8217;ve been working on this application for work that does some simple server reporting, part of which involves displaying the versions of major software running on the machines. The importance of this to me personally is that since we have over 30 shared servers hosting multiple customers, we are continually moving websites between servers. Some [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F10%2F15%2Fusing-php-to-display-version-info"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F10%2F15%2Fusing-php-to-display-version-info&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been working on this application for work that does some simple server reporting, part of which involves displaying the versions of major software running on the machines.  The importance of this to me personally is that since we have over 30 shared servers hosting multiple customers, we are continually moving websites between servers.  Some of our older generation servers are still running MySQL 4.0 and PHP 4.3, so I need to be aware of this to make sure that customers are being moved to servers with compatible versions.  It&#8217;s also good in tracking and planning upgrades.</p>
<p>I find it best to use the <strong><a href="http://www.php.net/function.exec" target="_blank">exec()</a> </strong>function since it&#8217;s not blocked by most hosts.  However, if you are on a shared host it&#8217;s very likely that certain PHP functions are disallowed in the php.ini.  In that case you may be able to subsitute exec with <a href="http://www.php.net/function.system" target="_blank">system</a>, <a href="http://www.php.net/function.passthru" target="_blank">passthru</a>, <a href="http://www.php.net/manual/en/function.escapeshellcmd.php" target="_blank">escapeshellcmd</a>, or <a href="http://www.php.net/function.shell_exec" target="_blank">shell_exec</a>&#8230;unless those are blocked too.  Then I guess you&#8217;re out of luck.</p>
<p>Start by creating some variables to store ordinary shell commands.  If you wanted to find the php version from command line, you would usually type:</p>
<blockquote><p>php -v</p></blockquote>
<p>This will give a huge chunk of crap that you really don&#8217;t need if you&#8217;re making a simple version display script.  In this case, you can use <strong>grep</strong>, <strong>awk</strong>,<strong> sed</strong>, and <strong>cut</strong> to trim down the output into a one-liner:</p>
<blockquote><p>php -v |grep built |awk {&#8216;print $2&#8242;}</p></blockquote>
<p>The awk command prints out columns, so in the above example I&#8217;m printing out the second column of the line that contains the word &#8216;built&#8217;.   Once the desired output is figured out, you simply assign it to a variable passed through exec() or a similar function:</p>
<p><font color="#ff66cc"><br />
<code>$phpver = exec("php -v |grep built |awk {'print $2'}");</code><br />
</font><br />
Then you can call the variable <strong>$phpver</strong> anywhere in your script:<br />
<font color="#ff66cc"><br />
<code>echo "PHP Version: $phpver";</code><br />
</font></p>
<p>You can probably go through and figure out the commands to show other software versions on your server.   In my script I&#8217;m showing the perl, php, mysql, apache, python, cpanel, and ruby versions.  Here are the commands I used:<br />
<font color="#ff66cc"><br />
<code></code></font></p>
<p><font color="#ff66cc"><code>&lt;?php</code></font></p>
<p><font color="#ff66cc"><code>$perlver = exec("perl -v |grep linux |awk {'print $4'}|sed -e 's/v//'");<br />
$phpver = exec("php -v |grep built |awk {'print $2'}");<br />
$mysqlver = exec("mysql -V |awk {'print $5'} | sed -e 's/,//'");<br />
$apachever = exec("apachectl -v |grep version |awk {'print $3 $4'}|sed -e 's/Apache\///'");<br />
$pythonver = exec("python -V 2&gt;&amp;1 | sed -e 's/Python //'");<br />
$cpanelver = exec("cat /usr/local/cpanel/version");<br />
$rubyver = exec("ruby -v |awk {'print $2'}"); ?&gt;</code><br />
</font></p>
<p>Then I just echoed out all the variables  to display my version numbers:</p>
<p><a href="http://v-nessa.net/wp-content/scripts/versions.php" title="Version Info" target="_blank">See here</a> .</p>
<p><!--adsense--></p>
<p><map name='google_ad_map_96_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/96?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_96_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=96&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F10%2F15%2Fusing-php-to-display-version-info' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=96&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/10/15/using-php-to-display-version-info/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ruby Isn&#8217;t Too Bad</title>
		<link>http://www.v-nessa.net/2007/05/02/ruby-isnt-too-bad</link>
		<comments>http://www.v-nessa.net/2007/05/02/ruby-isnt-too-bad#comments</comments>
		<pubDate>Wed, 02 May 2007 09:52:48 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/2007/05/02/ruby-isnt-too-bad/</guid>
		<description><![CDATA[I haven&#8217;t really had a whole time to play around with Ruby, but I managed to write a little script that I call boobs.rb.  It was my attempt to take advantage of Ruby&#8217;s ability to define your own functions. Maybe if I&#8217;m lucky I would be able to actually define my own bra size too. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F05%2F02%2Fruby-isnt-too-bad"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F05%2F02%2Fruby-isnt-too-bad&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I haven&#8217;t really had a whole time to play around with Ruby, but I managed to write a little script that I call boobs.rb.  It was my attempt to take advantage of Ruby&#8217;s ability to define your own functions.  Maybe if I&#8217;m lucky I would be able to actually define my own bra size too.<br />
<font color="#ff66cc"><br />
<code>#!/usr/bin/ruby</code></font><br />
<code><br />
<font color="#ff66cc">def sayBoobs(name)<br />
result = "Hey, " + name + " wears a size DD. \n "<br />
return result<br />
end</font></code><br />
<code><br />
<font color="#ff66cc">puts sayBoobs("Nessa")<br />
</font></code><br />
This puts out something that looks like this:</p>
<p><a href="http://v-nessa.net/rubyboobs.rb" target="_blank"><img src="http://v-nessa.net/images/rubyboobs.jpg" title="Weeee" /></a></p>
<p><a href="http://v-nessa.net/rubyboobs.rb" target="_blank" alt="Weeee" align="left" height="80" width="344"></a></p>
<p><map name='google_ad_map_59_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/59?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_59_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=59&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F05%2F02%2Fruby-isnt-too-bad' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=59&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/05/02/ruby-isnt-too-bad/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to Make a Sexy Tag Cloud with PHP and MySQL</title>
		<link>http://www.v-nessa.net/2007/02/12/how-to-make-a-sexy-tag-cloud</link>
		<comments>http://www.v-nessa.net/2007/02/12/how-to-make-a-sexy-tag-cloud#comments</comments>
		<pubDate>Mon, 12 Feb 2007 06:59:39 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/2007/02/12/how-to-make-a-sexy-tag-cloud/</guid>
		<description><![CDATA[Well it seems that everyone has one, and I&#8217;d have to admit that a tag cloud is a good way to spice up your site a little bit. I first thought of this when setting up a friend&#8217;s site&#8230; he wasn&#8217;t using a CMS like WordPress or anything that I could find a quick tag [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F02%2F12%2Fhow-to-make-a-sexy-tag-cloud"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F02%2F12%2Fhow-to-make-a-sexy-tag-cloud&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://v-nessa.net/images/tag_cloud.gif" rel="lightbox[groupname]" title="Tag Cloud"><img src="http://v-nessa.net/images/tag_cloud.gif" alt="Tag Cloud" align="right" height="189" width="246" /></a>Well it seems that everyone has one, and I&#8217;d have to admit that a tag cloud is a good way to spice up your site a little bit.  I first thought of this when setting up a friend&#8217;s site&#8230; he wasn&#8217;t using a CMS like <a href="http://wordpress.org" title="WordPress" target="_blank">WordPress</a> or anything that I could find a quick tag cloud plugin for, so I figured I could probably just make my own.  Well, I did and now I shall share it.</p>
<p>This tutorial will show you how to set up a simple tag cloud using PHP and MySQL, with a little bit of Ajax effects<br />
Before we get started, take a quick look at the <a href="http://www.v-nessa.net/cloud/" onclick="NewWindow(this.href,'windowname','300','150','no','center');return false" onfocus="this.blur()">sample cloud</a>.<br />
<span id="more-32"></span></p>
<p><strong><br />
Getting Started</strong></p>
<p>The server requirements to make a tag cloud are minimal.  You will need a new or existing <a href="http://mysql.com" title="MySQL" target="_blank">MySQL</a> database and <a href="http://php.net" title="PHP" target="_blank">PHP4+</a>.  It would also be extremely helpful to have something like <a href="http://www.phpmyadmin.net" title="phpMyAdmin" target="_blank">phpMyAdmin</a> or a MySQL command prompt to create the table.</p>
<p><strong><br />
</strong></p>
<p><strong>Creating the Table</strong></p>
<p>The first thing you need to do is create the database table.  You can do this in either a new or existing database:<br />
<font color="#ff66cc"><br />
<code>CREATE TABLE tags (<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
PRIMARY KEY(id),<br />
tag varchar(100) NOT NULL,<br />
count int(11) NOT NULL DEFAULT '0'<br />
);</code></font></p>
<p>I ran this query via command line, but it may be easier to use phpMyAdmin or whatever database tool you use.  Basically, this is a simply MySQL command that creates the &#8216;<strong>tags</strong>&#8216; table with three columns: <strong>id</strong>, <strong>tag</strong>, and <strong>count</strong>.  The <strong>id</strong> table is being set to auto-increment, meaning that every time a new entry is added the number will go up by 1.  Depending on how you are implementing your tag cloud, you may want to remove this value if you have trouble adding entries.</p>
<p><strong>Creating the Cloud </strong><br />
Now for the actual code itself.  In this section I will break down the script that fetches the tags from the database and creates a pretty tag cloud.  At the end you will find a full sample script that you can use for reference.</p>
<p><font color="#ff66cc"><code>$db_host = "localhost";<br />
$db_user = "username";<br />
$db_pass = "password";<br />
$db_name = "cloud";<br />
</code><code><br />
mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());<br />
mysql_select_db($db_name);</code></font></p>
<p>This is the section where you define a few variables and use them to connect to the database.  You wil obviously need to input your database name, username, and password in order to allow the script to connect.</p>
<p><font color="#ff66cc"><code>function tag_info() {<br />
$result = mysql_query("SELECT * FROM tags GROUP BY tag ORDER BY count DESC");<br />
while($row = mysql_fetch_array($result)) {<br />
$arr[$row['tag']] = $row['count'];<br />
}<br />
ksort($arr);<br />
return $arr;<br />
}</code></font></p>
<p>This is the function that grabs the tag information from the database and displays everything in the tag column as an array.  Now to build the cloud:<br />
<font color="#ff66cc"><br />
<code>function tag_cloud() {</code></font></p>
<p><code><font color="#ff66cc">$min_size = 10;</font></code><font color="#ff66cc"><br />
<code>$max_size = 30;</code></font></p>
<p><code><font color="#ff66cc">$tags = tag_info();</font></code></p>
<p><code><font color="#ff66cc">$minimum_count = min(array_values($tags));<br />
$maximum_count = max(array_values($tags));<br />
$spread = $maximum_count - $minimum_count;</font></code></p>
<p><code><font color="#ff66cc">if($spread == 0) {<br />
$spread = 1;<br />
}</font></code><font color="#ff66cc"><br />
<code><br />
$cloud_html = '';<br />
$cloud_tags = array();</code></font></p>
<p><font color="#ff66cc"><code>foreach ($tags as $tag =&gt; $count) {<br />
$size = $min_size + ($count - $minimum_count)<br />
* ($max_size - $min_size) / $spread;<br />
$cloud_tags[] = '&lt;a style="font-size: '. floor($size) . 'px'<br />
. '" class="tag_cloud" href="http://www.v-nessa.net/index.php?s=' . $tag<br />
. '" title="\'' . $tag  . '\' returned a count of ' . $count . '"&gt;'<br />
. htmlspecialchars(stripslashes($tag)) . '&lt;/a&gt;';<br />
}<br />
$cloud_html = join("\n", $cloud_tags) . "\n";<br />
return $cloud_html;</code></font></p>
<p><code><font color="#ff66cc">}</font></code></p>
<p><code><font color="#ff66cc">?&gt;</font></code></p>
<p>Take special note of this code:<br />
<font color="#ff66cc"><br />
<code>class="tag_cloud" href="http://www.v-nessa.net/index.php?s=' . $tag</code></font></p>
<p>In this section I&#8217;m basically telling the script to append the tag name at the end of a link&#8230;in this case it&#8217;s my search path, meaning that clicking on, for instance, the ruby tag will take you to this link:</p>
<p><strong>http://www.v-nessa.net/index.php?s=ruby</strong></p>
<p>This will just take you to a search for the term &#8220;ruby&#8221; on my site, but you can specify how you want the tag name to be incorporated into a link.  For instance:<br />
<font color="#ff66cc"><br />
<code>class="tag_cloud" href="http://www.v-nessa.net/tags/' . $tag</code></font></p>
<p>The above example shows the primary purpose of a tag cloud, which will take the tag pulled from a database and pull all articles under that tag.  An example of this is on the menu of my site, to the right.</p>
<p>The last part of the script should be the style sheet, which will direct how the cloud will look:<br />
<font color="#ff66cc"><br />
<code>&lt;style type="text/css"&gt;<br />
.tag_cloud<br />
{padding: 3px; text-decoration: none;<br />
font-family: verdana;   }<br />
.tag_cloud:link  { color: #FF66CC; }<br />
.tag_cloud:visited { color: #9900FF; }<br />
.tag_cloud:hover { color: #FF66CC; background: #000000; }<br />
.tag_cloud:active { color: #6699FF; background: #000000; }<br />
&lt;/style&gt;</code><br />
</font></p>
<p>To Display the tag cloud, you just need to insert this code into your web page (or sidebar):</p>
<p><font color="#ff66cc"><code> &lt;div id="wrapper"&gt;<br />
&lt;?php print tag_cloud(); ?&gt;<br />
&lt;/div&gt;</code></font></p>
<p>And there you go&#8230;your very own tag cloud.  You&#8217;ll of course need to populate the table with your own tags, ids and count numbers, or plug this script into your blog to fetch the tags from its database.</p>
<p>You can find a full copy of the script <a href="http://www.v-nessa.net/scripts/tag_cloud.phps" title="Tag Cloud" target="_blank">here</a>.</p>
<p><a href="http://tinyurl.com/3cu9zg"><br />
</a></p>
<p><!--adsense#img_banner--></p>
<p><map name='google_ad_map_32_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/32?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_32_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=32&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F02%2F12%2Fhow-to-make-a-sexy-tag-cloud' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=32&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/02/12/how-to-make-a-sexy-tag-cloud/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Radiant CMS is Gorgeous</title>
		<link>http://www.v-nessa.net/2007/01/15/radiant-cms-is-gorgeous</link>
		<comments>http://www.v-nessa.net/2007/01/15/radiant-cms-is-gorgeous#comments</comments>
		<pubDate>Tue, 16 Jan 2007 02:41:35 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[site design]]></category>

		<guid isPermaLink="false">http://v-nessa.net/2007/01/15/radiant-cms-is-gorgeous/</guid>
		<description><![CDATA[If you haven&#8217;t heard the news, Radiant CMS is finally making its presence on the internet. Of course, you wouldn&#8217;t have heard the news unless you&#8217;re a dork like me. Anyways, I thought it would be worth mentioning as this is probably one of the sexiest content management systems I&#8217;ve seen yet. But really, I [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F01%2F15%2Fradiant-cms-is-gorgeous"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F01%2F15%2Fradiant-cms-is-gorgeous&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a target="_blank" title="Radiant CMS" href="http://radiantcms.org/"><img align="left" title="Radiant CMS" alt="Radiant CMS" src="http://v-nessa.net/images/radiant.gif" /></a>If you haven&#8217;t heard the news, <a title="Radiant CMS" target="_blank" href="http://radiantcms.org/">Radiant CMS</a> is finally making its presence on the internet.  Of course, you wouldn&#8217;t have heard the news unless you&#8217;re a dork like me.  Anyways, I thought it would be worth mentioning as this is probably one of the sexiest content management systems I&#8217;ve seen yet.  But really, I just like the color.  And the logo&#8217;s nice too.</p>
<p>Check out <a title="Chris" target="_blank" href="http://seancribbs.com/">Chris</a> and <a title="Luke" target="_blank" href="http://lukewendling.com/">Luke&#8217;s</a> sites, which are currently running <a title="Radiant CMS" target="_blank" href="http://radiantcms.org/">Radiant</a> with <a title="Ruby" target="_blank" href="http://ruby-lang.org">Ruby</a> on <a title="Rails" target="_blank" href="http://www.rubyonrails.org/">Rails</a>.</p>
<p><map name='google_ad_map_14_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/14?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_14_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=14&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F01%2F15%2Fradiant-cms-is-gorgeous' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=14&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/01/15/radiant-cms-is-gorgeous/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Ruby on cPanel</title>
		<link>http://www.v-nessa.net/2007/01/15/installing-ruby-on-cpanel</link>
		<comments>http://www.v-nessa.net/2007/01/15/installing-ruby-on-cpanel#comments</comments>
		<pubDate>Mon, 15 Jan 2007 07:22:43 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://v-nessa.net/?p=12</guid>
		<description><![CDATA[Here&#8217;s how to install Ruby on Rails on a cPanel system: Update: These instructions were modified for Ruby 1.8.6, since 1.8.5 is no longer available! First install Ruby: wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz tar -xvzf ruby-1.8.6.tar.gz cd ruby-1.8.6 ./configure make make install Now, install the Gems and Rails: wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz tar -xvzf rubygems-0.9.0.tgz cd rubygems-0.9.0 ruby setup.rb gem [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F01%2F15%2Finstalling-ruby-on-cpanel"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2007%2F01%2F15%2Finstalling-ruby-on-cpanel&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Here&#8217;s how to install Ruby on Rails on a cPanel system:</p>
<p>Update:  These instructions were modified for Ruby 1.8.6, since 1.8.5 is no longer available!</p>
<p align="left">First install Ruby:</p>
<blockquote><p>wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz<br />
tar -xvzf ruby-1.8.6.tar.gz<br />
cd ruby-1.8.6<br />
./configure<br />
make<br />
make install</p></blockquote>
<p>Now, install the Gems and Rails:</p>
<blockquote><p>wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz<br />
tar -xvzf rubygems-0.9.0.tgz<br />
cd rubygems-0.9.0<br />
ruby setup.rb<br />
gem install rails</p></blockquote>
<p>Install Fast CGI</p>
<blockquote><p>wget fastcgi.com/dist/fcgi-2.4.0.tar.gz<br />
tar -xvzf fcgi-2.4.0.tar.gz<br />
cd fcgi-2.4.0<br />
./configure<br />
make<br />
make install</p></blockquote>
<blockquote><p>wget fastcgi.com/dist/mod_fastcgi-2.4.2.tar.gz<br />
tar -xvzf mod_fastcgi-2.4.2.tar.gz<br />
cd mod_fastcgi-2.4.2<br />
/usr/local/apache/bin/apxs -o mod_fastcgi.so -c *.c<br />
/usr/local/apache/bin/apxs -i -a -n fastcgi mod_fastcgi.so<br />
gem install fcgi</p></blockquote>
<p>Edit the Apache config file and add the fcgi module:</p>
<blockquote><p>pico /usr/local/apache/conf/httpd.conf</p></blockquote>
<blockquote><p>LoadModule fastcgi_module libexec/mod_fastcgi.so<br />
FastCgiIpcDir /tmp/fcgi_ipc/<br />
AddHandler fastcgi-script .fcgi<br />
&lt; /IfModule&gt;</p></blockquote>
<p>Then restart Apache</p>
<p>Install RMagick and GetText:</p>
<blockquote><p>wget http://umn.dl.sourceforge.net/sourceforge/graphicsmagick/GraphicsMagick-1.1.7.tar.gz<br />
tar -xvzf GraphicsMagick-1.1.7.tar.gz<br />
cd GraphicsMagick-1.1.7<br />
./configure<br />
make<br />
make install</p>
<p><gem></gem></p></blockquote>
<p>Install MySQL for Ruby:</p>
<blockquote><p>gem install mysql</p></blockquote>
<p>Now make the test Installation.  To do this, log in as your user (not root)</p>
<blockquote><p>su user<br />
cd ~<br />
rails test<br />
cd public_html<br />
ln -s ../test/public/ rails<br />
cd ../test/<br />
chmod -Rf 777 tmp/<br />
cd public<br />
chmod 755 dispatch.fcgi<br />
pico .htaccess</p></blockquote>
<p>Now, find the line in the .htaccess that looks something like this:</p>
<blockquote><p>RewriteRule ^(.*)$ dispatch.cgi [QSA,L]</p></blockquote>
<p>And change “dispatch.cgi” to “dispatch.fcgi”</p>
<p>To see if you&#8217;ve installed everything properly, just browse to the Rails folder:</p>
<p>http://yourdomain.com/rails/</p>
<p><a href="http://tinyurl.com/3cu9zg"><br />
</a></p>
<p><!--adsense#img_banner--></p>
<p><map name='google_ad_map_12_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/12?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_12_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=12&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2007%2F01%2F15%2Finstalling-ruby-on-cpanel' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=12&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2007/01/15/installing-ruby-on-cpanel/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Hottest Hacker on Earth</title>
		<link>http://www.v-nessa.net/2006/12/28/hottest-hacker-on-earth</link>
		<comments>http://www.v-nessa.net/2006/12/28/hottest-hacker-on-earth#comments</comments>
		<pubDate>Fri, 29 Dec 2006 03:28:33 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[annoyances]]></category>
		<category><![CDATA[guys]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://v-nessa.net/2007/01/22/hottest-hacker-on-earth/</guid>
		<description><![CDATA[Just when we all though the world couldn&#8217;t get any worse, it seems that Google, O-Reilly, and Wired Magazine got together to name David Hansson (the creator of Rails) the Hottest Hacker on Earth. It&#8217;s like they just decided to come up with a new award that no one&#8217;s ever heard of. What now? Is [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2006%2F12%2F28%2Fhottest-hacker-on-earth"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2006%2F12%2F28%2Fhottest-hacker-on-earth&amp;source=nessa421&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Just when we all though the world couldn&#8217;t get any worse, it seems that <a target="_blank" title="Google" href="http://google.com">Google</a>, <a target="_blank" title="O'Reilly" href="http://www.oreilly.com/">O-Reilly</a>, and <a target="_blank" title="Wired" href="http://wired.com">Wired</a><a target="_blank" title="David Hansson" href="http://www.loudthinking.com/about.html"><img align="right" alt="David Hansson" title="David Hansson" src="http://v-nessa.net/images/david.jpg" /></a> Magazine got together to name David Hansson (the creator of <a target="_blank" title="Ruby on Rails" href="http://www.rubyonrails.org/">Rails</a>) the Hottest Hacker on Earth.  It&#8217;s like they just decided to come up with a new award that no one&#8217;s ever heard of.  What now?  Is this kid going to get a scholarship to Harvard?  Is he going to land a gig with a top technology firm?  Hardly not.  You&#8217;ll most likely find him sitting on his couch wearing a wifebeater and chucking mustard at the TV.  He is kind of cute though, but I could never marry a guy who&#8217;s middle name sounds like a penis metaphor.</p>
<p><map name='google_ad_map_15_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/15?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_15_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=15&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2006%2F12%2F28%2Fhottest-hacker-on-earth' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=15&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2006/12/28/hottest-hacker-on-earth/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
