<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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>Jay McGavren's Journal</title>
	<link>http://jay.mcgavren.com/blog</link>
	<description>Ramblings on Ruby on Rails</description>
	<pubDate>Sun, 07 Mar 2010 07:09:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Another Ruby tweet&#8230;</title>
		<link>http://jay.mcgavren.com/blog/archives/1385</link>
		<comments>http://jay.mcgavren.com/blog/archives/1385#comments</comments>
		<pubDate>Sun, 07 Mar 2010 07:05:08 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1385</guid>
		<description><![CDATA[Was browsing the new Popular Science archives, which led to an article from 1984, which had a picture of the book Creative Graphics for the BBC Microcomputer, which led me to an archived copy of the book online, which had a dirt-simple program to draw Lissajous curves, which led me to write this tweetable Ruby [...]]]></description>
			<content:encoded><![CDATA[<p>Was browsing the new Popular Science archives, which led to an article from 1984, which had a picture of the book <em>Creative Graphics for the BBC Microcomputer</em>, which led me to an archived copy of the book online, which had a dirt-simple program to draw Lissajous curves, which led me to write this tweetable Ruby version.  (Phew!)</p>
<pre>ruby -rcurses -e"include Curses;i=0;loop{setpos 12*(Math.sin(i)+1),40*(Math.cos(i*0.2)+1);addstr'.';i+=0.01;refresh}" #ruby</pre>
<pre>
****         *******                ********                ******           **
*  *        **     **              **      **              **     *         * **
*  **       *       **            **        **            **       *        *  *
*   *      *         **          *           **          **        **      *   *
*   *      *          *         **             *         *          **     *   *
*    *    *            *        *              **       *            *    *    *
*    *   **             *      *                **     **            **   *    *
*    **  *              **    *                  *     *              *   *    *
*     * **               *   **                  **   *               ** *     *
*     * *                ** **                    *  *                 * *     *
*     * *                 * *                      * *                 **      *
*      **                  **                      **                   *      *
*      *                   **                       *                   *      *
*      **                 * *                      * *                 ***     *
*     * *                **  *                    *   *                * *     *
*     *  *               *   **                  **   *               ** *     *
*    *   *              *     *                  *     *              *  **    *
*    *   **            *       *                *      *             *    *    *
*   **    *            *       *               *        *            *    *    *
*   *     **          **        **            **         *          *      *   *
*   *      *         *           **           *          **         *      *   *
*  *        *       **            **        **            **       *       **  *
** *         *     **              **      **              **     **        * **
 **           ******                 *******                *******         ***
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1385/feed</wfw:commentRss>
		</item>
		<item>
		<title></title>
		<link>http://jay.mcgavren.com/blog/archives/1384</link>
		<comments>http://jay.mcgavren.com/blog/archives/1384#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:29:15 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1384</guid>
		<description><![CDATA[If your code base has .xsl files, and you sometimes confuse them with with the .xls files&#8230;  You might be a Java dev.
]]></description>
			<content:encoded><![CDATA[<p>If your code base has .xsl files, and you sometimes confuse them with with the .xls files&#8230;  You might be a Java dev.</p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1384/feed</wfw:commentRss>
		</item>
		<item>
		<title>An underinsured taxpayer&#8230;</title>
		<link>http://jay.mcgavren.com/blog/archives/1379</link>
		<comments>http://jay.mcgavren.com/blog/archives/1379#comments</comments>
		<pubDate>Wed, 24 Feb 2010 21:04:35 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[family]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1379</guid>
		<description><![CDATA[Posted (in vain, I&#8217;m sure) to Sen. Jon Kyl&#8217;s Facebook wall:

I&#8217;m a productive, tax-paying, native-born American with inadequate health insurance for myself and my family.  Oh, we tried to purchase private insurance, but no one will underwrite us because my wife had major surgery too recently.  We wound up having to settle for [...]]]></description>
			<content:encoded><![CDATA[<p>Posted (in vain, I&#8217;m sure) to Sen. Jon Kyl&#8217;s Facebook wall:</p>
<blockquote><p>
I&#8217;m a productive, tax-paying, native-born American with inadequate health insurance for myself and my family.  Oh, we tried to purchase private insurance, but no one will underwrite us because my wife had major surgery too recently.  We wound up having to settle for a $250-a-month out-of-pocket plan.  We pay an additional $300 a month for medications because there&#8217;s no prescription benefit.</p>
<p>I&#8217;ve gone from contractor to salaried status with my employer, so the situation will improve for me.  In June, when my benefits start.  Until then, I have to wait and worry about my family.</p>
<p>Senator Kyl, I ask you, is this an acceptable situation?  Is it acceptable for the millions of Americans who won&#8217;t have a reprieve in a few months?</p>
<p>-Jay McGavren, Mesa
</p></blockquote>
<p>Given <a href="http://www.votesmart.org/voting_category.php?can_id=26721&#038;type=category&#038;category=38&#038;go.x=9&#038;go.y=8">Kyl&#8217;s voting record on this issue</a> I doubt it will even be read.  By Senator Kyl, that is.  But at least it&#8217;ll make the topic a little harder for him to ignore.</p>
<p>I did this as part of <a href="http://pol.moveon.org/virtualmarch10/action.html?rc=homepage">MoveOn.org&#8217;s virtual march for healthcare reform</a>.  Please consider doing the same!</p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1379/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ruby Tweets!</title>
		<link>http://jay.mcgavren.com/blog/archives/1378</link>
		<comments>http://jay.mcgavren.com/blog/archives/1378#comments</comments>
		<pubDate>Wed, 24 Feb 2010 05:49:51 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1378</guid>
		<description><![CDATA[
ruby -e "i=0;loop{puts ' '*(29*(Math.sin(i)/2+1))+'&#124;'*(29*(Math.cos(i)/2+1)); i+=0.1}" #ruby

about 23 hours ago via web

ruby -rtk -e "w=TkCanvas.new(TkRoot.new{title:paint});w.pack.bind('B1-Motion',proc{&#124;x,y&#124;TkcOval.new(w,x,y,x+4,y+4)},'%x %y').mainloop" #ruby

about 3 hours ago via web
Almost got this one short enough to tweet:

ruby -rtk -e"v,w=0,0;a=[1]*9;c=TkCanvas.new;c.pack.bind('Motion',proc{&#124;x,y&#124;a&#60;&#60;TkcLine.new(c,v,w,v=x,w=y,:arrow=&#62;'last');a.shift.delete rescue 1},'%x %y').mainloop"


]]></description>
			<content:encoded><![CDATA[<pre>
ruby -e "i=0;loop{puts ' '*(29*(Math.sin(i)/2+1))+'|'*(29*(Math.cos(i)/2+1)); i+=0.1}" #ruby
</pre>
<p><i>about 23 hours ago via web</i></p>
<pre>
ruby -rtk -e "w=TkCanvas.new(TkRoot.new{title:paint});w.pack.bind('B1-Motion',proc{|x,y|TkcOval.new(w,x,y,x+4,y+4)},'%x %y').mainloop" #ruby
</pre>
<p><i>about 3 hours ago via web</i></p>
<p><em>Almost</em> got this one short enough to tweet:</p>
<pre>
ruby -rtk -e"v,w=0,0;a=[1]*9;c=TkCanvas.new;c.pack.bind('Motion',proc{|x,y|a&lt;&lt;TkcLine.new(c,v,w,v=x,w=y,:arrow=&gt;'last');a.shift.delete rescue 1},'%x %y').mainloop"
</pre>
<p><a href='http://jay.mcgavren.com/blog/wp-content/uploads/2010/02/picture-7.png' title='Ruby Tk'><img src='http://jay.mcgavren.com/blog/wp-content/uploads/2010/02/picture-7.png' alt='Ruby Tk' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1378/feed</wfw:commentRss>
		</item>
		<item>
		<title>Killing the Pegasus&#8230;</title>
		<link>http://jay.mcgavren.com/blog/archives/1373</link>
		<comments>http://jay.mcgavren.com/blog/archives/1373#comments</comments>
		<pubDate>Tue, 26 Jan 2010 00:01:28 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[family]]></category>

		<category><![CDATA[friends]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1373</guid>
		<description><![CDATA[Going salaried at my current employer, and have to fill out a job application as a formality.  So I was digging around for past employer info in my archives, and came across this e-mail, sent on the occasion of departing Pegasus Solutions&#8230;

Date: Sat, 22 Oct 2005
From: Me
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
To: John
Subject: Re: New [...]]]></description>
			<content:encoded><![CDATA[<p>Going salaried at my current employer, and have to fill out a job application as a formality.  So I was digging around for past employer info in my archives, and came across this e-mail, sent on the occasion of departing Pegasus Solutions&#8230;</p>
<pre>
Date: Sat, 22 Oct 2005
From: Me
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
To: John
Subject: Re: New job!

John McGavren wrote:
 > What level are you now, and what did you put your stat points into?
 > Oh! I'm curious about the loot you got from killing the pegasus too.
 > Any tomes of knowledge? Or swords?

Um, no.  But I am gonna take my stapler with me.

-Jay
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1373/feed</wfw:commentRss>
		</item>
		<item>
		<title>Jemini Tutorial (Part 2 of 2)</title>
		<link>http://jay.mcgavren.com/blog/archives/1371</link>
		<comments>http://jay.mcgavren.com/blog/archives/1371#comments</comments>
		<pubDate>Sun, 17 Jan 2010 05:47:10 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1371</guid>
		<description><![CDATA[In Part 2 of our tutorial, we&#8217;ll create some enemies for our player to fight.  We&#8217;ll set up collision detection, use timers to make a pretty fading effect, and set up a custom manager to coordinate enemy movements and shooting. 
Be sure to visit jemini.org for help on starting your own game!
You can view [...]]]></description>
			<content:encoded><![CDATA[<p>In Part 2 of our tutorial, we&#8217;ll create some enemies for our player to fight.  We&#8217;ll set up collision detection, use timers to make a pretty fading effect, and set up a custom manager to coordinate enemy movements and shooting. </p>
<p>Be sure to visit <a href="http://jemini.org">jemini.org</a> for help on starting your own game!</p>
<p>You can <a href="http://jay.mcgavren.com/blog/archives/1369">view part 1 here</a>.</p>
<p><a href="http://jay.mcgavren.com/files/jemini_tutorial_part_2.mov">Jemini Tutorial (Part 2 of 2)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1371/feed</wfw:commentRss>
<enclosure url="http://jay.mcgavren.com/files/jemini_tutorial_part_2.mov" length="95361563" type="video/quicktime" />
		</item>
		<item>
		<title>Jemini Tutorial (Part 1 of 2)</title>
		<link>http://jay.mcgavren.com/blog/archives/1369</link>
		<comments>http://jay.mcgavren.com/blog/archives/1369#comments</comments>
		<pubDate>Sun, 17 Jan 2010 03:42:34 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1369</guid>
		<description><![CDATA[Jemini is a Ruby-based framework for game development. In this screencast, we&#8217;ll create a shooter game from scratch.
Part 1 shows creating a project, setting up a game state, loading animations, music and sound effects, and setting up keyboard input and event handlers. (Not bad for 22 minutes, right?)
You can view part 2 here.
Jemini Tutorial (Part [...]]]></description>
			<content:encoded><![CDATA[<p>Jemini is a Ruby-based framework for game development. In this screencast, we&#8217;ll create a shooter game from scratch.</p>
<p>Part 1 shows creating a project, setting up a game state, loading animations, music and sound effects, and setting up keyboard input and event handlers. (Not bad for 22 minutes, right?)</p>
<p>You can <a href="http://jay.mcgavren.com/blog/archives/1371">view part 2 here</a>.</p>
<p><a href="http://jay.mcgavren.com/files/jemini_tutorial_part_1.mov">Jemini Tutorial (Part 1 of 2)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1369/feed</wfw:commentRss>
<enclosure url="http://jay.mcgavren.com/files/jemini_tutorial_part_1.mov" length="109963690" type="video/quicktime" />
		</item>
		<item>
		<title></title>
		<link>http://jay.mcgavren.com/blog/archives/1365</link>
		<comments>http://jay.mcgavren.com/blog/archives/1365#comments</comments>
		<pubDate>Mon, 04 Jan 2010 00:11:04 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[family]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1365</guid>
		<description><![CDATA[Puerto Penasco/Rocky Point was fun, if not exactly my cup of tea&#8230;  This was my first time to Mexico, so we weren&#8217;t exactly seasoned travelers, but we got by and actually had a good time.

]]></description>
			<content:encoded><![CDATA[<p>Puerto Penasco/Rocky Point was fun, if not exactly my cup of tea&#8230;  This was my first time to Mexico, so we weren&#8217;t exactly seasoned travelers, but we got by and actually had a good time.</p>
<p><a href='http://jay.mcgavren.com/blog/wp-content/uploads/2010/01/img_5271.JPG' title='Rocky Point'><img src='http://jay.mcgavren.com/blog/wp-content/uploads/2010/01/img_5271.thumbnail.JPG' alt='Rocky Point' /></a><a href='http://jay.mcgavren.com/blog/wp-content/uploads/2010/01/img_5347.JPG' title='Rocky Point'><img src='http://jay.mcgavren.com/blog/wp-content/uploads/2010/01/img_5347.thumbnail.JPG' alt='Rocky Point' /></a></p>
<p> <a href="http://jay.mcgavren.com/blog/archives/1365#more-1365" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1365/feed</wfw:commentRss>
		</item>
		<item>
		<title>SVG On Acid&#8230;</title>
		<link>http://jay.mcgavren.com/blog/archives/1359</link>
		<comments>http://jay.mcgavren.com/blog/archives/1359#comments</comments>
		<pubDate>Mon, 14 Dec 2009 02:03:13 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1359</guid>
		<description><![CDATA[Everything so far has relied on some tricky-to-install GUI gem&#8230;  Working in SVG lets Ruby On Acid make pretty graphics (viewable in any modern browser) by outputting plain text.
Here&#8217;s a few samples.  I&#8217;m sure I could produce more consistently pretty results with more SVG expertise, but that&#8217;s something I&#8217;ll have to play with [...]]]></description>
			<content:encoded><![CDATA[<p>Everything so far has relied on some tricky-to-install GUI gem&#8230;  Working in SVG lets Ruby On Acid make pretty graphics (viewable in any modern browser) by outputting plain text.</p>
<p>Here&#8217;s a few samples.  I&#8217;m sure I could produce more consistently pretty results with more SVG expertise, but that&#8217;s something I&#8217;ll have to play with another time.</p>
<p><a href="http://jay.mcgavren.com/files/ruby_on_acid_svg/00013.svg">1</a><br />
<a href="http://jay.mcgavren.com/files/ruby_on_acid_svg/00024.svg">2</a><br />
<a href="http://jay.mcgavren.com/files/ruby_on_acid_svg/00082.svg">3</a><br />
<a href="http://jay.mcgavren.com/files/ruby_on_acid_svg/00106.svg">4</a><br />
<a href="http://jay.mcgavren.com/files/ruby_on_acid_svg/00120.svg">5</a></p>
<p> <a href="http://jay.mcgavren.com/blog/archives/1359#more-1359" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1359/feed</wfw:commentRss>
		</item>
		<item>
		<title></title>
		<link>http://jay.mcgavren.com/blog/archives/1357</link>
		<comments>http://jay.mcgavren.com/blog/archives/1357#comments</comments>
		<pubDate>Sun, 06 Dec 2009 06:43:07 +0000</pubDate>
		<dc:creator>jay</dc:creator>
		
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://jay.mcgavren.com/blog/archives/1357</guid>
		<description><![CDATA[A computer can mimic the style of a classical composer by analyzing sheet music.  I bet GUIs could be (partially) generated for command-line tools.  You just analyze how people mapped a CLI tool&#8217;s functions to a GUI wrapper (say, Git vs. GitX), then apply the rules you learn to other CLI tools.
]]></description>
			<content:encoded><![CDATA[<p>A computer can mimic the style of a classical composer by analyzing sheet music.  I bet GUIs could be (partially) generated for command-line tools.  You just analyze how people mapped a CLI tool&#8217;s functions to a GUI wrapper (say, Git vs. GitX), then apply the rules you learn to other CLI tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://jay.mcgavren.com/blog/archives/1357/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.251 seconds -->
<!-- Cached page served by WP-Cache -->
