<?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>Josh Bryan</title>
	<atom:link href="http://www.joshbryan.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joshbryan.com/blog</link>
	<description>ruminations &#038; occupations</description>
	<lastBuildDate>Tue, 22 Mar 2011 16:37:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Reinforcement Learning Demo</title>
		<link>http://www.joshbryan.com/blog/2010/12/16/reinforcement-learning-demo/</link>
		<comments>http://www.joshbryan.com/blog/2010/12/16/reinforcement-learning-demo/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 05:40:48 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=80</guid>
		<description><![CDATA[I recently put together a short demo about Q learning and SARSA learning for a class I was taking. The demo involved running the two algorithms in parallel in a simple maze world. The world, the agent, and the learned Q function are drawn using OpenGL. A few people suggested I make the presentation and [...]]]></description>
			<content:encoded><![CDATA[<p>I recently put together a short demo about Q learning and SARSA learning for a class I was taking.  The demo involved running the two algorithms in parallel in a simple maze world.  The world, the agent, and the learned Q function are drawn using OpenGL.  </p>
<p>A few people suggested I make the presentation and demo code available for others, so here it is:  You can download the code for the <a href="http://github.com/jbryan/rl_demo">reinforcement learning demo</a> from GitHub, and I have attached the <a href='http://www.joshbryan.com/blog/wp-content/uploads/2010/12/presentation.pdf'>presentation</a>  as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2010/12/16/reinforcement-learning-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More NXT Tools</title>
		<link>http://www.joshbryan.com/blog/2010/01/04/more-nxt-tools/</link>
		<comments>http://www.joshbryan.com/blog/2010/01/04/more-nxt-tools/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 03:25:00 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[NXT]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=74</guid>
		<description><![CDATA[Over the holiday, I&#8217;ve added a few tools to the NXT Tools I&#8217;ve been developing. One is a simple python tool to use gstreamer to convert any gstreamer readable audio format to the NXT&#8217;s native RSO format. Also I&#8217;ve added a very basic tool to use a computer to interface a Wii remote (aka wiimote) [...]]]></description>
			<content:encoded><![CDATA[<p>Over the holiday, I&#8217;ve added a few tools to the <a href="http://github.com/jbryan/nxt-tools">NXT Tools</a> I&#8217;ve been developing.  One is a simple python tool to use gstreamer to convert any gstreamer readable audio format to the NXT&#8217;s native RSO format.  Also I&#8217;ve added a very basic tool to use a computer to interface a Wii remote (aka wiimote) to the NXT brick.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2010/01/04/more-nxt-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fuse + Python + Lego NXT</title>
		<link>http://www.joshbryan.com/blog/2009/12/15/fuse-python-lego-nxt/</link>
		<comments>http://www.joshbryan.com/blog/2009/12/15/fuse-python-lego-nxt/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 20:18:18 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[fuse]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=73</guid>
		<description><![CDATA[I&#8217;ve been recently playing with my new Lego NXT robotics kit. Being a Linux nerd, I naturally wanted to do the programming on Linux using languages I like. To this end, I&#8217;ve been using the nxt-python project and NXC. However, I found the nxt-push script a little cumbersome and not very user friendly, and the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been recently playing with my new <a href="http://mindstorms.lego.com/en-us/Default.aspx">Lego NXT</a> robotics kit.  Being a Linux nerd, I naturally wanted to do the programming on Linux using languages I like.  To this end, I&#8217;ve been using the <a href="http://code.google.com/p/nxt-python/">nxt-python</a> project and <a href="http://bricxcc.sourceforge.net/nbc/">NXC</a>.  However, I found the nxt-push script a little cumbersome and not very user friendly, and the nxt-filer gui was less than useful.  I didn&#8217;t want to develop a complete file manager interface.  After all, file managers have been redesigned and reimplemented a million different ways.  All I really needed was a file interface to the NXT.  Enter <a href="http://fuse.sourceforge.net/">Fuse</a>.  So, I spent some time yesterday and developed a <a href="http://github.com/jbryan/nxt-tools">Fuse interface for the NXT</a> using nxt-python and fuse python bindings.  You can find the interface in, what will be, a collection of tools for manipulating and controlling the NXT brick on GitHub.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2009/12/15/fuse-python-lego-nxt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Git &#8230; my favorite vcs</title>
		<link>http://www.joshbryan.com/blog/2009/11/14/git-my-favorite-vcs/</link>
		<comments>http://www.joshbryan.com/blog/2009/11/14/git-my-favorite-vcs/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 19:50:30 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Favorite Tools]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=72</guid>
		<description><![CDATA[After having used CVS, Subversion, and Perforce, I&#8217;ve recently been using Git for all of my version control. The two things I like about above the others mentioned are its speed and trivial and intuitive branching. Though I can&#8217;t say I was ever a fan of CVS branches, I always found that the subversion/perforce approach [...]]]></description>
			<content:encoded><![CDATA[<p>After having used CVS, Subversion, and Perforce, I&#8217;ve recently been using <a href="http://git-scm.com">Git</a> for all of my version control.  The two things I like about above the others mentioned are its speed and trivial and intuitive branching.  Though I can&#8217;t say I was ever a fan of CVS branches, I always found that the subversion/perforce approach of just creating another directory when you want to branch to somewhat ignore the semantics of being a branch.  Why shouldn&#8217;t every version be a new directory?  Obviously that would get cluttered and confusing.  Why would you not expect the same of branches?  Yes, I understand that directory copying is cheap in Subversion and Perforce, and I understand they do preserve history, but I expect branches to split and merge and though directories do represent the splitting very well, they unfortunately don&#8217;t represent the concept of a merge very well.  Git on the otherhand, has explicit branches that are separate from the concept of a directory.  Plus, it has many powerful tools for managing those branches, not to mention <a href="http://github.com">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2009/11/14/git-my-favorite-vcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life Update</title>
		<link>http://www.joshbryan.com/blog/2009/11/14/life-update/</link>
		<comments>http://www.joshbryan.com/blog/2009/11/14/life-update/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 19:38:28 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[About Me]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=71</guid>
		<description><![CDATA[I&#8217;ve been a little busy &#8230; well, very busy &#8230; this last year, so here is a little update about projects in my life. I finished up my masters thesis this last semester, and started work toward my Ph.D. in computer science at UIC. I am researching rationality in multiagent settings for the UIC Multi [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a little busy &#8230; well, very busy &#8230; this last year, so here is a little update about projects in my life.   I finished up my masters thesis this last semester, and started work toward my Ph.D. in computer science at <a href="http://www.uic.edu">UIC</a>.  I am researching rationality in multiagent settings for the <a href="http://mas.ai.uic.edu">UIC Multi Agent Systems laboratory</a>.  Particularly, I am looking at ways to update POMDP models from agent experience.   Between school, various freelance projects, and a short year long career at <a href="http://www.cashnetusa.com">CashNetUSA</a>, I&#8217;ve been pretty busy and haven&#8217;t been posting much, hopefully that will change.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2009/11/14/life-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colored man pages</title>
		<link>http://www.joshbryan.com/blog/2008/09/05/colored-man-pages/</link>
		<comments>http://www.joshbryan.com/blog/2008/09/05/colored-man-pages/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 20:00:58 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=70</guid>
		<description><![CDATA[I just discovered this very cool tip. If you want a colored man pages, adding the following to your environment does it: export LESS_TERMCAP_mb=$'\E[01;31m' export LESS_TERMCAP_md=$'\E[01;31m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_us=$'\E[01;32m' I found the tip while searching for a way to preserve the colored output of grep after it has [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered this very cool <a href="http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html">tip</a>.  If you want a colored man pages, adding the following to your environment does it:</p>
<p><code><br />
export LESS_TERMCAP_mb=$'\E[01;31m'<br />
export LESS_TERMCAP_md=$'\E[01;31m'<br />
export LESS_TERMCAP_me=$'\E[0m'<br />
export LESS_TERMCAP_se=$'\E[0m'<br />
export LESS_TERMCAP_so=$'\E[01;44;33m'<br />
export LESS_TERMCAP_ue=$'\E[0m'<br />
export LESS_TERMCAP_us=$'\E[01;32m'<br />
</code></p>
<p>I found the tip while searching for a way to preserve the colored output of grep after it has been piped into less.  &#8216;less -r&#8217; preserves the terminal escape sequences from the input.  The following will get preserve the colors:</p>
<p><code><br />
grep --color=always &lt;search_term&gt; | less -r<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2008/09/05/colored-man-pages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Origin of Wealth</title>
		<link>http://www.joshbryan.com/blog/2008/08/16/origin-of-wealth/</link>
		<comments>http://www.joshbryan.com/blog/2008/08/16/origin-of-wealth/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 21:21:28 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=68</guid>
		<description><![CDATA[Origin of Wealth is a very entertaining and captivating survey of recent developments in economics. He repeatedly takes traditional economic theories to task for failing to match real world empirical data while painting a picture of the economy as a complex, adaptive, and evolutionary system rather than the traditional overly simplistic system of market equilibrium. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FOrigin-Wealth-Evolution-Complexity-Economics%2Fdp%2F157851777X&#038;tag=josbry-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Origin of Wealth</a><img src="http://www.assoc-amazon.com/e/ir?t=josbry-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is a very entertaining and captivating survey of recent developments in economics.  He repeatedly takes traditional economic theories to task for failing to match real world empirical data while painting a picture of the economy as a complex, adaptive, and evolutionary system rather than the traditional overly simplistic system of market equilibrium.  This is definitely worthwhile read.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2008/08/16/origin-of-wealth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back in town &#8230;.</title>
		<link>http://www.joshbryan.com/blog/2008/08/15/back-in-town/</link>
		<comments>http://www.joshbryan.com/blog/2008/08/15/back-in-town/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 23:00:18 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[About Me]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/?p=67</guid>
		<description><![CDATA[I just returned from a month long vacation in Europe. My wife and I took a budget (hostels and Easy Jet) tour of Europe starting in Ireland, and moving through Sweden, Norway, Denmark, Holland, Germany, and England. The trip was a blast, but I&#8217;m still glad to be back home. You can see pictures of [...]]]></description>
			<content:encoded><![CDATA[<p>I just returned from a month long vacation in Europe.  My wife and I took a budget (hostels and Easy Jet) tour of Europe starting in Ireland, and moving through Sweden, Norway, Denmark, Holland, Germany, and England.  The trip was a blast, but I&#8217;m still glad to be back home.  You can see <a href="http://picasaweb.google.com/jenniferbenoit/EuropeTripHighlights">pictures of our trip</a> on Jen&#8217;s Picasa album.  </p>
<p>While on the trip, I decided to spend more time maintaining this blog.  We will see how strong my resolve to do so really is in the next few months.  However, since I am paying for the blog, I may as well make more regular use of it.  In addition, I think the writing could prove to be therapeutic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2008/08/15/back-in-town/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LVM2 Mirrors vs. MD Raid 1</title>
		<link>http://www.joshbryan.com/blog/2008/01/02/lvm2-mirrors-vs-md-raid-1/</link>
		<comments>http://www.joshbryan.com/blog/2008/01/02/lvm2-mirrors-vs-md-raid-1/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 23:19:51 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/2008/01/02/lvm2-mirrors-vs-md-raid-1/</guid>
		<description><![CDATA[I recently added a new hard drive to my desktop and reorganized the partition structure. In doing so I wanted my /home partition to be mirrored for safety, but I also wanted to use lvm to make managing my multiple partitions less painful. In my research, I found there are basically two ways to do [...]]]></description>
			<content:encoded><![CDATA[<p>I recently added a new hard drive to my desktop and reorganized the partition structure.  In doing so I wanted my /home partition to be mirrored for safety, but I also wanted to use lvm to make managing my multiple partitions less painful.  In my research, I found there are basically two ways to do this.  One is to create a linux RAID1 device from the two drives and then use that device as a physical extent in a lvm volume group (here is a basic <a href="http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID_mirror_and_LVM2_on_top_of_RAID">tutorial</a>).  The other method is to us LVM2&#8242;s mirroring capabilities.  I personally would rather use the latter solution if there is no performance impact since moving the partitions around later would be much easier, however what I read gave the impression that LVM2 mirroring would be slower. </p>
<p>To test this, I setup a quick informal benchmark.  I created 2 partitions on each of two drives and set one up as plain raid1 (no lvm) and the other as lvm with a mirror.  I then ran <a href="http://www.coker.com.au/bonnie++/">bonnie++</a> on each of the partitions.  The results were surprising.  MD RAID1 gave about 25MB/sec write and 50MB/sec read.  However LVM2 mirrored gave about 50MB/sec write and 55MB/sec read.  Since the test was not perfectly sterile (there were other processes running at the same time) I would be willing to give these number +/- 10MB/sec.  However still, LVM write was considerably faster than MD RAID1.  I so far have no explanation for this, but will test further.  If anyone has an explanation, I&#8217;d be happy to hear.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2008/01/02/lvm2-mirrors-vs-md-raid-1/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>FEMA fake news</title>
		<link>http://www.joshbryan.com/blog/2007/10/29/fema-fake-news/</link>
		<comments>http://www.joshbryan.com/blog/2007/10/29/fema-fake-news/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 04:27:04 +0000</pubDate>
		<dc:creator>jbryan</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.joshbryan.com/blog/2007/10/29/fema-fake-news/</guid>
		<description><![CDATA[I mean really, of all the juvenile things&#8230;]]></description>
			<content:encoded><![CDATA[<p>I mean really, of all the <a href="http://www.chicagotribune.com/news/nationworld/chi-102507-femabriefing,1,272790.story">juvenile things&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joshbryan.com/blog/2007/10/29/fema-fake-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

