<?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>Nuclear Rooster &#187; linux / os x</title>
	<atom:link href="http://dev.nuclearrooster.com/category/linux-os-x/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev.nuclearrooster.com</link>
	<description></description>
	<lastBuildDate>Mon, 19 Jul 2010 03:48:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Checking gzip/deflate server responses with CURL</title>
		<link>http://dev.nuclearrooster.com/2009/11/08/checking-gzipdeflate-server-responses-with-curl/</link>
		<comments>http://dev.nuclearrooster.com/2009/11/08/checking-gzipdeflate-server-responses-with-curl/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 01:23:20 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[linux / os x]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=185</guid>
		<description><![CDATA[Nginx and Apache can gzip/deflate content as it is leaving the server, which decreases the amount of data that has to cross the wire and therefor speeds up communication with the server. This can't be turned on for all requests, however, because not all clients know how to decompress the responses. Most commonly, the 'Accept-Encoding' [...]]]></description>
			<content:encoded><![CDATA[<p>Nginx and Apache can gzip/deflate content as it is leaving the server, which decreases the amount of data that has to cross the wire and therefor speeds up communication with the server.  This can't be turned on for all requests, however, because not all clients know how to decompress the responses. Most commonly, the 'Accept-Encoding' header of the HTTP 1.1 specification is sent with a value of 'gzip,deflate' to request compressed responses.</p>
<p>Testing this compression can be a little tricky, because often clients handle it so seamlessly you may not know it ever happens.  Additionally, server configuration may further complicate testing, compressing data for some requests and not others, i.e. Nginx's <a href="http://wiki.nginx.org/NginxHttpGzipModule#gzip_http_version">gzip_http_version</a> directive, which may only serve compressed data for HTTP 1.1 requests. </p>
<p>Curl provides a simple tool for checking server responses.</p>
<p>First, a few curl  arguments that will come in handy:</p>
<ul>
<li>"--silent" prevents curl from showing progress meter</li>
<li>"--write-out 'size_download=%{size_download}\n'" instructs curl to print out the download size</li>
<li>"--output" instructs curl to throw away the output, sending it to /dev/null</li>
</ul>
<p>Using these arguments, we can make a simple request for a path on the server:</p>
<pre class="brush: bash;">
ns:~ nick$ curl http://example.com/Service?wsdl --silent --write-out &quot;size_download=%{size_download}\n&quot; --output /dev/null
size_download=31032
</pre>
<p>Here, you can the response was 31032 bytes.  Next up, lets make the same request, this time adding the Accept-Encoding header to ask for compressed content.</p>
<pre class="brush: bash;">
ns:~ nick$ curl http://example.com/Service?wsdl --silent -H &quot;Accept-Encoding: gzip,deflate&quot; --write-out &quot;size_download=%{size_download}\n&quot; --output /dev/null
size_download=2553
</pre>
<p>Nice! This downloaded only 2553 bytes of data, so it the data is definitely being compressed.  Up next, lets try making the request a third time, now making the request a HTTP1.0 request.</p>
<pre class="brush: bash;">
ns:~ nick$ curl http://example.com/Service?wsdl --silent --http1.0 -H &quot;Accept-Encoding: gzip,deflate&quot; --write-out &quot;size_download=%{size_download}\n&quot; --output /dev/null
size_download=31032
</pre>
<p>This response was not request, which makes sense when using Nginx with the gzip_http_version set to '1.1'.  Additionally, this method can easily be applied to POST requests if you add the appropriate arguments to curl.</p>
<p>References:</p>
<ul>
<li><a href="http://wiki.nginx.org/NginxHttpGzipModule">Nginx Http Gzip Module</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">Apache mod_deflate</a></li>
<li><a href="http://www.howtoforge.com/apache2_mod_deflate">Mod Deflate example/logging</a></li>
<li><a href="http://curl.haxx.se/">Curl homepage</a></li>
<li><a href="http://linux.about.com/od/commands/l/blcmdl1_curl.htm">Curl man page</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2009/11/08/checking-gzipdeflate-server-responses-with-curl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going to Gem Med School: Open Source ruby projects with Dr. Nic Williams</title>
		<link>http://dev.nuclearrooster.com/2009/08/07/going-to-gem-med-school-open-source-ruby-projects-with-dr-nic-williams/</link>
		<comments>http://dev.nuclearrooster.com/2009/08/07/going-to-gem-med-school-open-source-ruby-projects-with-dr-nic-williams/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 07:11:37 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux / os x]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[runcoderun]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=143</guid>
		<description><![CDATA[Grooving with Dr. Nic, and digging in to some projects Going with the Flow Despite my feelings that the title Dr. should be strictly reserved for those that save lives, Dr. Nic Williams does have plenty of good advice to offer (and he offers it in a nice format on his website). After having made [...]]]></description>
			<content:encoded><![CDATA[<h1>Grooving with Dr. Nic, and digging in to some projects</h1>
<h2>Going with the Flow</h2>
<p>Despite my feelings that the title Dr. should be strictly reserved for those that save lives, Dr. Nic Williams does have plenty of good advice to offer (and he offers it in a nice format on <a href="http://drnicwilliams.com">his website</a>).  After having made some of the same mistakes and asked the same questions he has, I decided to try out the new and improved open-source project workflow.  There are several things to be achieved from these open-source projects:</p>
<ul>
<li>Have fun</li>
<li>Learn something new</li>
<li>Share code</li>
</ul>
<p>There are also some thing that should be avoided, less favorable outcomes:</p>
<ul>
<li>Write code, but don't go the full 9 yards to distribute + share it</li>
<li>Spend too much time on setup/distribution</li>
<li>Tie yourself down with maintaining your projects (they should set you freeeeee!)</li>
</ul>
<p>Two great presentations can help you achieve these goals, and avoid the pitfalls.  The first is a <a href="http://drnicwilliams.com/2009/07/13/futureruby-talk-living-with-1000-open-source-projects/">a great presentation</a> about what an open-source project should be, what it shouldn't be, and how they can make your life better, not worse.</p>
<p>The next presentation is about how to <a href="http://drnicwilliams.com/2008/12/05/my-rubygems-development-tools-and-workflow/">quickly and effectively distribute and share your projects</a>.</p>
<p>In order to get this all down, the good Dr. describes a workflow and a set of tools for each step.</p>
<ul>
<li>Packaging - <a href="http://rubygems.org">RubyGems</a></li>
<li>SCM - <a href="http://github.com>GitHub</a></li>
<li>Public Repostiroy  -  <a href="http://github.com>GitHub</a></li>
<li>Continuous Integration - <a href="http://runcoderun.com">RunCodeRun</a></li>
<li>Blog/Resume Integration - <a href="http://thinkrelevance.rubyforge.org/runcoderun_badge/">RunCodeRun Sexy Blog Badge</a></li>
</ul>
<h2>The Project</h2>
<p>I decided to write a little ruby wrapper for the 'ddate' command, part of the 'util-linux-ng' package, that convert Georgian dates to Discordian dates.  Why?  Because I like it, and if you are going to pick a project to learn on, it might as well be ridiculous.  I got attached enough as it was to this project, even though I don't think anybody could come up with an excuse to use Discordian dates, let alone happen to be using ruby.</p>
</h2>
<p>Snafoos</h2>
<p>One thing that started to bug my is the gem, class, module, and github repository names.  It seems simple enough, but sometimes you are so excited to get you idea down in code that you rush through this first step.  It will be around for a while, and is kind of a pain to change once you get it all set up.  So take a few minutes and think about a name. One without WeIRd caps or anything that might annoy you in the future.</p>
<p>I also found newgem to be a little wonky.  It a nice tool to have around, but I think (rightly so) it is tailored to Dr. Nic's workflows, and might not work for everybody.  </p>
<p>Lastly, I found myself wresting with Hoe.  The 'rake pacakge' task was failing if I added the Hoe require statement, and runcoderun was failing without the statement.  That brings me to a little tangent.  I didn't really dig into what was going on there, but this is an example of something that is unexpectedly not idempotent; you should be able to require and require and require, then run some code and everything should be fine and dandy.  I'm not sure how or why requiring Hoe (when it is clearly used, anyway) would break anything, and it almost annoys me enough to find out.  Almost.</p>
<h2>Good stuff</h2>
<p>I like <a href="http://www.runcoderun.com">RunCodeRun</a>.  It is simple continuous integration that makes sense.  I also like the <a href="http://thinkrelevance.rubyforge.org/runcoderun_badge/">blog badge</a>, although it currently looks horrible on my blog.</p>
<h2>Stuff I'll add</h2>
<p>Speaking of blog badges, I want to see if I can get the <a href="http://wordpress.org/extend/plugins/github-widget/">github projects</a> blog badge working.  Associating myself with a project is another step for creating a fully-rounded project.  This badge helps integrate that step right into the existing workflow.</p>
<p>For learning projects, I plan on adding some non-standard notes to the README, including sections about what I learned and what would have done differently.  Open source the code, and open source the learning process.  Its not like I have any customers to scare away with honest comments.</p>
<p>As Nic Williams said, "Don't attach your self-worth to your code - your code probably isn't that good."  Its true.  I am a better software developer than I am a coder, and I aim to be.  You can write code quite a few different ways and it all compiles down to the same thing.  To me, nailing the workflow and the tools is the hard part, and the part that deserves the most attention.  </p>
<p>Working with software, your code will always improve and you will keep learning new tricks.  But too many people let their workflow and tool-set become stagnant, which can leave you further behind than knowing a few extra tricks in this language or that one.   </p>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2009/08/07/going-to-gem-med-school-open-source-ruby-projects-with-dr-nic-williams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing mysql gem on RHEL 5.2 Tikanga.  This actually works.</title>
		<link>http://dev.nuclearrooster.com/2009/04/27/installing-mysql-gem-on-rhel-52-tikanga-this-actually-works/</link>
		<comments>http://dev.nuclearrooster.com/2009/04/27/installing-mysql-gem-on-rhel-52-tikanga-this-actually-works/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 18:54:51 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[Ruby/Rails]]></category>
		<category><![CDATA[linux / os x]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[RHEL 5]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=96</guid>
		<description><![CDATA[Ok, lets start at the beginning. Nice, freshish RHEL 5.2 box. Try to install mysql gem... [nick@Dev1 ~]$ sudo gem install mysql Password: Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for mysql_query() in -lmysqlclient... no checking for main() in -lm... [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, lets start at the beginning.  Nice, freshish RHEL 5.2 box.  Try to install mysql gem...</p>
<pre class="brush: bash;">
[nick@Dev1 ~]$ sudo gem install mysql
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
	ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/bin/ruby
	--with-mysql-config
	--without-mysql-config
	--with-mysql-dir
	--without-mysql-dir
	--with-mysql-include
	--without-mysql-include=${mysql-dir}/include
	--with-mysql-lib
	--without-mysql-lib=${mysql-dir}/lib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-mlib
	--without-mlib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-zlib
	--without-zlib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-socketlib
	--without-socketlib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-nsllib
	--without-nsllib
	--with-mysqlclientlib
	--without-mysqlclientlib

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out
</pre>
<p>Yikes! Look familiar? Bummer.  First step, brute force install everything I could think might be missing</p>
<pre class="brush: bash;">
sudo yum install gcc mysql-server mysql-devel ruby ruby-devel
</pre>
<p>Turns  out, the gcc was having some issues:</p>
<pre class="brush: bash;">
[nick@Dev1 mysql-2.7]$ sudo yum install gcc
Loading &quot;rhnplugin&quot; plugin
Loading &quot;security&quot; plugin
intensive-rhel-i386-serve 100% |=========================| 1.2 kB    00:00
rackspace-int-rhel-i386-s 100% |=========================| 1.2 kB    00:00
Excluding Packages in global exclude list
Finished
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package gcc.i386 0:4.1.2-42.el5 set to be updated
--&gt; Processing Dependency: libgomp = 4.1.2-42.el5 for package: gcc
--&gt; Processing Dependency: cpp = 4.1.2-42.el5 for package: gcc
--&gt; Processing Dependency: libgomp.so.1 for package: gcc
--&gt; Processing Dependency: glibc-devel &gt;= 2.2.90-12 for package: gcc
--&gt; Running transaction check
---&gt; Package cpp.i386 0:4.1.2-42.el5 set to be updated
---&gt; Package glibc-devel.i386 0:2.5-24.el5_2.2 set to be updated
--&gt; Processing Dependency: glibc-headers = 2.5-24.el5_2.2 for package: glibc-devel
--&gt; Processing Dependency: glibc-headers for package: glibc-devel
---&gt; Package libgomp.i386 0:4.1.2-42.el5 set to be updated
--&gt; Running transaction check
---&gt; Package glibc-headers.i386 0:2.5-24.el5_2.2 set to be updated
--&gt; Processing Dependency: kernel-headers &gt;= 2.2.1 for package: glibc-headers
--&gt; Processing Dependency: kernel-headers for package: glibc-headers
--&gt; Finished Dependency Resolution
Error: Missing Dependency: kernel-headers is needed by package glibc-headers
Error: Missing Dependency: kernel-headers &gt;= 2.2.1 is needed by package glibc-headers
</pre>
<p>Googling around a little, I found <a href="http://episteme.arstechnica.com/eve/forums/a/tpc/f/96509133/m/197006069831/inc/1">this helpful page</a>  which indicated that the default RHEL yum configuration excludes updates from the kernel.  That is probably good practice in general, but right now it is preventing us from doing what "needs to be done." </p>
<p>Looking at my /etc/yum.conf file, indeed the kernal was excepted from updates:</p>
<pre class="brush: bash;">
[nick@Dev1 ~]$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

# Default.
# installonly_limit = 3

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
exclude=kernel*
</pre>
<p>So I commented out that line, yum installed gcc, and then off to the races.  My googling also noted that passing the --with-mysql-config saves you some trouble, essentially letting it configure itself.</p>
<pre class="brush: bash;">

[nick@Dev1 ~]$ sudo gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.7
1 gem installed
</pre>
<p>Just in case, you might want to uncomment the kernal extension from your /etc/yum.conf file!</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2009/04/27/installing-mysql-gem-on-rhel-52-tikanga-this-actually-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple RHEL 5 smtp server with TLS in 30 minutes. Honest.</title>
		<link>http://dev.nuclearrooster.com/2009/01/13/simple-rhel-5-smtp-server-with-tls-in-30-minutes-honest/</link>
		<comments>http://dev.nuclearrooster.com/2009/01/13/simple-rhel-5-smtp-server-with-tls-in-30-minutes-honest/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 03:05:25 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[linux / os x]]></category>
		<category><![CDATA[RHEL 5]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[SMTP]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=83</guid>
		<description><![CDATA[After previously bashing my brains against setting up an external SMTP server, I did my best to shirk the work on somebody else. That of course, is not one of my strong points, so it landed squarely back in my lap. I am wary of any tool whose configuration requires other tools, as sendmail certainly [...]]]></description>
			<content:encoded><![CDATA[<p>After previously bashing my brains against setting up an external SMTP server, I did my best to shirk the work on somebody else.  That of course, is not one of my strong points, so it landed squarely back in my lap.  I am wary of any tool whose configuration requires other tools, as sendmail certainly does.  I also love a quote I ran across on some mail list: "Nicht ein Kernal Panik? Nicht ein Core dump? Est sendmail". Now I don't speak German, so forgive my paraphrasing, but you get the point.</p>
<p>Anyway, hats off to Joey, with his <a href="http://linuxgazette.net/158/prestia.html">simple instructions about a RHEL 5 SMTP server in Linux Gazette</a>.</p>
<p>Here are a few things that might help. Before you get started with Joey's instructions, run</p>
<pre class="brush: plain;">
sudo yum install sendmail-cf
export PATH=&quot;$PATH:/sbin:/usr/sbin&quot;
</pre>
<p>Additionally, the auth system goes off your linux users, so just add a user and give it a password if you want to authenticate.  </p>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2009/01/13/simple-rhel-5-smtp-server-with-tls-in-30-minutes-honest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rake task with arguments</title>
		<link>http://dev.nuclearrooster.com/2009/01/05/rake-task-with-arguments/</link>
		<comments>http://dev.nuclearrooster.com/2009/01/05/rake-task-with-arguments/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 01:26:43 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Ruby/Rails]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux / os x]]></category>
		<category><![CDATA[Rake]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=75</guid>
		<description><![CDATA[I couldn't find a short, concise example of a rake task with arguments, so I decided to write one up for the world to see. Firstly, the ability to add arguments was added somewhere along the line, so you might as well make sure you have a recent version of Rake: nicks-computer:~ nick$ sudo gem [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn't find a short, concise example of a rake task with arguments, so I decided to write one up for the world to see.  </p>
<p>Firstly, the ability to add arguments was added somewhere along the line, so you might as well make sure you have a recent version of Rake:</p>
<pre class="brush: plain;">
nicks-computer:~ nick$ sudo gem install rake
Password:
Successfully installed rake-0.8.3
1 gem installed
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for rake-0.8.3...
</pre>
<p>Great.  Now, lets dig in to an example rake file.  You can put this in a file name 'Rakefile' anywhere you like, or in RAILS_ROOT/lib/tasks/some_file.rake if you are rails-ish.</p>
<pre class="brush: ruby;">
desc &quot;An example task that uses a single argument&quot;
task :example_with_argument, :arg1 do |t, args|
  puts &quot;Running 'example_with_argument' with '#{args.arg1}' as the argument&quot;
end

desc &quot;An example task that uses multiple arguments&quot;
task :example_with_multiple_arguments, :arg1, :arg2 do |t, args|
  puts &quot;Running 'example_with_argument' with '#{args.arg1}' and '#{args.arg2}' as the arguments&quot;
end

desc &quot;An example task that uses multiple arguments, and has defaults&quot;
task :example_with_multiple_arguments_and_defaults, :arg1, :arg2 do |t, args|
  args.with_defaults(:arg1 =&gt; 'default_arg1', :arg2 =&gt; 'default_arg2')
  puts &quot;Running 'example_with_argument' with '#{args.arg1}' and '#{args.arg2}' as the arguments&quot;
end
</pre>
<p>Now, for how to run them.  Without specifying arguments, the defaults (or an empty string if no defaults are specified) will be used:</p>
<pre class="brush: plain;">
nicks-computer:~ nick$ rake example_with_multiple_arguments_and_defaults
(in /Users/nick)
Running 'example_with_argument' with 'default_arg1' and 'default_arg2' as the arguments
</pre>
<pre class="brush: plain;">
nicks-computer:~ nick$ rake example_with_multiple_arguments_and_defaults[myarg1, myarg2]
(in /Users/nick)
Running 'example_with_argument' with 'myarg1' and 'myarg2' as the arguments
</pre>
<p>TaDa!</p>
<p>UPDATE:</p>
<p>Rake a a great tool, and widely used, but there are some new tools that surpass rake in some areas.  For example check out <a href="http://yehudakatz.com/2008/05/12/by-thors-hammer/">Thor</a> and how <a href="http://www.opscode.com/">OpsCode<a/> uses it with their <a href="http://wiki.opscode.com/display/chef/Knife">Knife</a> tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2009/01/05/rake-task-with-arguments/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Install Apache 2.2.8 with SSL on RHEL 5</title>
		<link>http://dev.nuclearrooster.com/2008/05/09/install-apache-228-with-ssl-on-rhel-5/</link>
		<comments>http://dev.nuclearrooster.com/2008/05/09/install-apache-228-with-ssl-on-rhel-5/#comments</comments>
		<pubDate>Fri, 09 May 2008 17:58:48 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[linux / os x]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=38</guid>
		<description><![CDATA[Recently I was trying to install a fresh apache on a brand spankin' new RHEL 5 box, and had a problem while configuring apache, related to SSL. It looked like this. checking for SSL/TLS toolkit base... none checking for OpenSSL version... checking openssl/opensslv.h usability... no checking openssl/opensslv.h presence... no checking for openssl/opensslv.h... no checking openssl/ssl.h [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was trying to install a fresh apache on a brand spankin' new RHEL 5 box, and had a problem while configuring apache, related to SSL.  It looked like this.</p>
<pre>
checking for SSL/TLS toolkit base... none
checking for OpenSSL version... checking openssl/opensslv.h usability... no
checking openssl/opensslv.h presence... no
checking for openssl/opensslv.h... no
checking openssl/ssl.h usability... no
checking openssl/ssl.h presence... no
checking for openssl/ssl.h... no
no OpenSSL headers found
checking for SSL-C version... checking sslc.h usability... no
checking sslc.h presence... no
checking for sslc.h... no
no SSL-C headers found
configure: error: ...No recognized SSL/TLS toolkit detected
</pre>
<p>Simple fix, thanks to YUM.</p>
<pre class="brush: bash;">
sudo yum install openssl-devel
</pre>
<p>FYI, if you're not on RHEL 5, you could try </p>
<pre class="brush: bash;">
apt-get install openssl libssl-dev
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2008/05/09/install-apache-228-with-ssl-on-rhel-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Give your terminal greeting message a little ascii love</title>
		<link>http://dev.nuclearrooster.com/2008/04/03/give-your-terminal-greeting-message-a-little-ascii-love/</link>
		<comments>http://dev.nuclearrooster.com/2008/04/03/give-your-terminal-greeting-message-a-little-ascii-love/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 04:09:52 +0000</pubDate>
		<dc:creator>nick.stielau</dc:creator>
				<category><![CDATA[linux / os x]]></category>
		<category><![CDATA[stupid tricks]]></category>

		<guid isPermaLink="false">http://dev.nuclearrooster.com/?p=30</guid>
		<description><![CDATA[The /etc/motd file is displayed every time a terminal in open. I think 'motd' stands for message-of-the-day. It doesn't really matter. What does matter, is that /etc/motd + asciiart = more productive &#038; happy lifestyle. Think of it as a quality of life kinda deal. Anyway, check out any of the many text-to-ascii-art sites, including [...]]]></description>
			<content:encoded><![CDATA[<p>The /etc/motd file is displayed every time a terminal in open.  I think 'motd' stands for message-of-the-day.  It doesn't really matter.  What does matter, is that /etc/motd + asciiart = more productive &#038; happy lifestyle.  Think of it as a quality of life kinda deal.  Anyway, check out any of the many text-to-ascii-art sites, including this German gem, and create a sweet greeting.  </p>
<p>OS X comes with a to-the-point but not terribly inspiring "Welcome to Darwin!"  Spice that up a little.</p>
<p>Note that in addition to a message, maybe a little ascii dude is all you need.</p>
<pre>
            (peace out)
    _     _  /
  o' \,=./ `o
    (o o)
ooO--(_)--Ooo
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dev.nuclearrooster.com/2008/04/03/give-your-terminal-greeting-message-a-little-ascii-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
