<?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>Ryan &#187; Uncategorized</title>
	<atom:link href="http://ryan.ryan-megan.com/topics/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryan.ryan-megan.com</link>
	<description>Chasing greatness</description>
	<lastBuildDate>Wed, 14 Jul 2010 09:31:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Immersion Experiment</title>
		<link>http://ryan.ryan-megan.com/2010/04/20/immersion-experiment/</link>
		<comments>http://ryan.ryan-megan.com/2010/04/20/immersion-experiment/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 22:35:40 +0000</pubDate>
		<dc:creator>rl</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ciara livingston]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[immersion]]></category>
		<category><![CDATA[neogence]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://ryan.ryan-megan.com/?p=578</guid>
		<description><![CDATA[Since nobody reads this, I feel fine writing about it here.
I have nearly finished a little experiment on player immersion.  I got the idea when I was listening to Robert Rice&#8217;s talk on video game immersion at TGC.  He broke down elements of immersion and helped draw connections between technology and it&#8217;s impact [...]]]></description>
			<content:encoded><![CDATA[<p>Since nobody reads this, I feel fine writing about it here.</p>
<p>I have nearly finished a little experiment on player immersion.  I got the idea when I was listening to <a title="Robert Rice's personal site" href="http://curiousraven.squarespace.com/" target="_blank">Robert Rice</a>&#8217;s talk on video game immersion at TGC.  He broke down elements of immersion and helped draw connections between technology and it&#8217;s impact on player&#8217;s experience.</p>
<p>Anyway, I still have 3 things to do.  I&#8217;m going to be getting art from Ciara Livingston, someone I work with at the bookstore, whose style is perfect for this, edit all of the text for better style and impact, and finally get the final voice recording for the closing.</p>
<p>I can&#8217;t count.  The fourth thing I need to so is create a Google form to collect information on the experiment so I can get an idea of how good it is or how much of a waste of time it is.</p>
<p>Anyway, here&#8217;s the <a title="The Immersion Experiment" href="http://www.ryan-megan.com/Immersion/" target="_self">link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryan.ryan-megan.com/2010/04/20/immersion-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogging From Textmate.</title>
		<link>http://ryan.ryan-megan.com/2010/04/20/blogging-from-textmate/</link>
		<comments>http://ryan.ryan-megan.com/2010/04/20/blogging-from-textmate/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 19:35:59 +0000</pubDate>
		<dc:creator>rl</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://ryan.ryan-megan.com/2010/04/20/blogging-from-textmate/</guid>
		<description><![CDATA[Well, here we go.  I hope this isn&#8217;t horrible and doesn&#8217;t require too much editing, but essentially, I&#8217;m posting through TextMate.  It&#8217;s a great editor, and the more I use it, the more I love it.
This is a new paragraph.

I know kung fu.
]]></description>
			<content:encoded><![CDATA[<p>Well, here we go.  I hope this isn&#8217;t horrible and doesn&#8217;t require too much editing, but essentially, I&#8217;m posting through <a href="http://www.macromates.com" target="_blank">TextMate</a>.  It&#8217;s a great editor, and the more I use it, the more I love it.</p>
<p>This is a new paragraph.</p>
<p><span id="more-581"></span><br />
I know kung fu.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryan.ryan-megan.com/2010/04/20/blogging-from-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>White Stock, Immersion, and Stuff.</title>
		<link>http://ryan.ryan-megan.com/2010/04/16/white-stock-immersion-and-stuff/</link>
		<comments>http://ryan.ryan-megan.com/2010/04/16/white-stock-immersion-and-stuff/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 22:10:47 +0000</pubDate>
		<dc:creator>rl</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[chicken stock]]></category>
		<category><![CDATA[cooking]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[immersion]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[system administration]]></category>
		<category><![CDATA[white]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://ryan.ryan-megan.com/?p=575</guid>
		<description><![CDATA[So I&#8217;m making white chicken stock for the first time.  I guess it isn&#8217;t technically hard to do, but then again neither is boiling an egg, but most people can&#8217;t do that right either.  So we&#8217;ll see how this turns out.
After being inspired at the Triangle Game Conference, I decided to open up some projects. [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m making white chicken stock for the first time.  I guess it isn&#8217;t technically hard to do, but then again neither is boiling an egg, but most people can&#8217;t do that right either.  So we&#8217;ll see how this turns out.</p>
<p>After being inspired at the Triangle Game Conference, I decided to open up some projects.  First, I&#8217;m writing a simple little experiment that will hopefully prove some ideas I have on immersing players in a story.  I&#8217;ve already done the technical work, so I just have to create content.  Thankfully I made it a point to do this rather low tech, so it wont&#8217; require much, but I have got an artist to help.  Her name is Ciara Livingston and I think her artwork will only make this better.  I&#8217;ve also convinced my wife to do a voice recording.  Exciting stuff!</p>
<p>In the job world, I&#8217;ve started a project that involves actual software development.  Web development specifically.  I&#8217;m creating a web tool that will modify apache configurations live.  I don&#8217;t think anyone has done this before, mostly because it isn&#8217;t something you want a lot of people to go around doing.  Either way, it&#8217;s an exciting change of pace from my normal system administration work.</p>
<p>On Sunday my wife and I will have been married two years.  Holy shit.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryan.ryan-megan.com/2010/04/16/white-stock-immersion-and-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Triangle Game Conference 2010.</title>
		<link>http://ryan.ryan-megan.com/2010/04/08/triangle-game-conference-2010/</link>
		<comments>http://ryan.ryan-megan.com/2010/04/08/triangle-game-conference-2010/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 21:17:50 +0000</pubDate>
		<dc:creator>rl</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[insomniac]]></category>
		<category><![CDATA[neogence]]></category>
		<category><![CDATA[republic of fun]]></category>
		<category><![CDATA[spark plug]]></category>
		<category><![CDATA[triangle]]></category>
		<category><![CDATA[video game]]></category>

		<guid isPermaLink="false">http://ryan.ryan-megan.com/?p=573</guid>
		<description><![CDATA[So I&#8217;m home after the Triangle Game Conference 2010.  I wasn&#8217;t sure if I was going to go considering it has a pretty steep entrance fee for non-students.  In the end though, I went and I am glad that I did.
First, I should say that this wasn&#8217;t really a gathering for hiring.  It was for [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m home after the Triangle Game Conference 2010.  I wasn&#8217;t sure if I was going to go considering it has a pretty steep entrance fee for non-students.  In the end though, I went and I am glad that I did.</p>
<p>First, I should say that this wasn&#8217;t really a gathering for hiring.  It was for people to come together to learn about various areas of game development, technologies, and general networking.  Looking at the conference in that light, it was really great.</p>
<p>The place was crawling with students though.  I&#8217;ve written plenty in the past of the wretchedness of engineers in social settings, and these past two days were like living in unwelcome drug flashbacks of poor hygiene and awkward social interaction.  Thankfully the hotel had their  AC cranked so body odor didn&#8217;t linger long.  I also noted that a lot of the merchandise involved breath mints.  Smart move on their part.</p>
<p>Despite the throngs of fail walking around, I did hear some really great talks by great people.  Insomniac was probably the single largest game developer there and led most of the bigger talks.  This was really good actually as they have earned the respect of a lot of developers over the years and do things differently enough to have very interesting takes on game development.</p>
<p>I don&#8217;t remember all of the people I talked to, but one gentleman gave a great talk on user testing and how important it is, how it is done poorly, and how it can be done well without a huge budget.  Another was a no-bullshit talk about making a game and why every excuse you can give is utter crap.  He was from Republic of Fun and was very good.  One of the few women whose talk I attended was based on educational and intergenerational interactions.  I really enjoyed her talk, because it reminded me a lot of the process I used to make games in Japan for teaching English.  One guy I talked to specializes in rapid game development.  By rapid I mean 48 hours.  He was really great to hear and eased the fear of, &#8220;Making a shitty game,&#8221; by saying, &#8220;Oh, you&#8217;ll make a shitty game, but at least it only wasted 48 hours of your life instead of more.&#8221;  There was a guy from Neogence games who talked about game immersion who said a lot of the things I&#8217;ve felt, and I spent a little time afterwards picking his brain about various immersion techniques.</p>
<p>I tried to talk to everyone who was interested in talking back to me and aside from the speakers who were easily cornered, the Spark Plug Games group were fantastic.  They came with everything they needed to develop a game within the two days at the conference.  They had an artist with an eisle and a programmer with a computer.  There was also a really great guy there who was in production that I talked to quite extensively about the game market, his past, my direction, and all of that.  The programmer was squirrelly and awkward, but very gifted.  The artist was very personable and also very gifted.  It was pretty eye-opening to see professionals kicking-ass at what they do right in front of you.</p>
<p>All in all it was a great experience, and even though I couldn&#8217;t give my resume out to anyone, I was really glad that I went.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryan.ryan-megan.com/2010/04/08/triangle-game-conference-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command Line Wizardry 2.</title>
		<link>http://ryan.ryan-megan.com/2010/02/12/command-line-wizardry-2/</link>
		<comments>http://ryan.ryan-megan.com/2010/02/12/command-line-wizardry-2/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 19:46:05 +0000</pubDate>
		<dc:creator>rl</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[line]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[more]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[system administration]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://ryan.ryan-megan.com/?p=564</guid>
		<description><![CDATA[Today, I thought I might just write about some general commands that help navigate files safely.
Now, the commands in the arsenal of what we&#8217;ll be using are:cat, more, grep, awk, sed, and vim

Now, in general if you&#8217;re working with files you fall into two categories: Looking at them, and editing them.  It is really [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I thought I might just write about some general commands that help navigate files safely.</p>
<p>Now, the commands in the arsenal of what we&#8217;ll be using are:<code>cat, more, grep, awk, sed, and vim</code></p>
<p><span id="more-564"></span></p>
<p>Now, in general if you&#8217;re working with files you fall into two categories: Looking at them, and editing them.  It is really important to know how to do both of those tasks separately so you eliminate a lot of accidental mistakes.</p>
<p>So lets talk about looking at files.  The first command is cat.  Cat is a concatenate tool.  It is most commonly used for dumping output to the console, so if you did:</p>
<pre>cat foo.bar</pre>
<p>It would spill its guts on the screen.  Sometimes that is exactly what you want, especially if you are going to pipe the output somewhere else.  Usually you want to read the contents, and the command more is used for that.</p>
<pre>more foo.bar</pre>
<p>This will also spill the guts of the file out, but it will only do it one screen at a time, it is like a file viewer.  Press <code>spacebar</code> to hop a page down, q to quit, and you can even search in a file.  To search type a <code>/</code> followed by the search string and press enter.  It will find the first match.  Press <code>n</code> to find the next match.  Say you want to go to a specific line number, type the line number in and press <code>G</code>.  That is a capital <code>G</code>.</p>
<p>The next tool that is extraordinarily useful is grep.  Grep finds things in files.  Grep is way too powerful to go into a huge amount of detail, but the basic format is.</p>
<pre>grep -options search_string files</pre>
<p>So, without options it will output the filename and the matched line.  Sometimes you want line numbers (So you can check it out in more).  So you can use the <code>n</code> option.  Sometimes you want to ignore case because people who made the file are inconsistent and that is the <code>i</code> option.  Now grep&#8217;s real power is that you can use regular expressions to search.  I&#8217;m not going into regular expressions here, but if you need to find strings of data that are somewhat variable, then they are the way to do it.</p>
<p>Up until this point, the commands I&#8217;ve explained will not alter a file&#8217;s contents, but allow you some pretty powerful methods to find what you want in them.  The next group of tools will allow you to manipulate them, and require a certain amount of care.</p>
<p>First up is awk.  Awk is actually an interpreted programming language.  It is really powerful and equally cryptic.  Now, it is really useful for finding data in formatted text.  Lets say you only wanted to look at file sizes.</p>
<pre>ls -l | awk '{print $5}'</pre>
<p>The <code>ls -l</code> will list the contents of the directory with the <code>-l</code> flag listing all the details such as access rights, ownership, size, date, and name.  Then it is piped into (Fed into), the awk command.  Now the part in single quotes is the program.  The program consists of a print command and the variable <code>$5</code>.  See, awk splits strings up by default on whitespace and creates an array of $0-$X where $X is the last item split.  <code>$0</code> is the entire line.  So for this example, <code>print $1</code> will print the rights, <code>$2</code> will print the number of files contained, <code>$3</code> the owner, <code>$4</code> the group, <code>$5</code> the size, <code>$6</code> month, <code>$7</code> day, <code>$8</code> time, and <code>$9</code> the actual file name.</p>
<p>Now awk is way  more powerful than that.  You can use conditionals to say, &#8220;Hey, if there are 5 fields on the line, do this,&#8221; which is really great if you have a file with lots of different sorts of information in it.</p>
<p>Next up in the commands is <code>sed</code>.  Sed is like awk in that it is extremely powerful and somewhat hard to use.  Sed is based on commands and addresses.  Addresses are almost always defined by regular expressions, but other options exist.  By default sed doesn&#8217;t alter a file, but it can if you aren&#8217;t careful.  The option to be especially careful of is the <code>-i</code> option which tells sed to do all of its work, &#8220;In place.&#8221;  So, the basic sed command that is most useful is:</p>
<pre>sed -e 's/foo/bar/g' &lt; file</pre>
<p>This brings the content of file into sed, which has the command of <code>s</code> which is search for foo and replace with bar.  The <code>g</code> at the end means globally, which will do that in the entire file.  So what you have is a command line find and replace.  Now, like I said, this won&#8217;t alter the file, but instead it will spit out all of the work it did to your screen.  Its a great way to test your command out first.  If you wanted to have it edit the file in place you can use this.</p>
<pre>sed -i bak -e 's/foo/bar/g'  file</pre>
<p>Now, the new edition is the <code>-i</code> option.  That tells sed to operate on the file instead of just telling you what it would do.  The <code>-i</code> option asks for an extension for a backup file to be created.  Thats because people make more mistakes with this one option than not.  So it will create a backup of your file named file.bak.  If you are 100% sure about your command you can do this.</p>
<pre>sed -i '' -e 's/foo/bar/g' file</pre>
<p>There is no turning back from that one, it will find all occurrences of foo and change them to bar.</p>
<p>Lastly is vim.  Vim is an editor.  Vim is an editor on drugs.  The first time you use it, you probably won&#8217;t be able to figure out how to quit, move the cursor, or even type.  Sounds great doesn&#8217;t it?  Once you get over it&#8217;s interface, it can be extremely efficient to edit files in.  There are tons of vim tutorials out there and I recommend you use them.  Of course, most systems with vim have the vitutor command which will teach you as well.</p>
<p>So to edit a file you would do this:</p>
<pre>vim file</pre>
<p>That will open up vim with the contents of the file loaded.  I will do my best to give a quick and dirty overview of how vim operates, so at least you can move around and quit.</p>
<p>So, first up is moving around.  That is done by the <code>hjkl</code> keys.  That takes a little while to get used to, but becomes natural quickly enough.  If you want it to be second nature, play nethack a little bit.</p>
<p>Okay, so you can move around.  Now, how do you quit?  Well a fair bit of commands have to be entered a special way.  The best way to describe this is that when you&#8217;re moving around you&#8217;re kind of in a editing mode where keys do various things.  Now if you press <code>:</code> you will be able to enter commands.  You&#8217;ll see it down in the lower left corner.  Press <code>escape</code> to abort whichever mode you are in.  That is really important to remember.  If you aren&#8217;t sure what you are doing, escape will probably bring you back to normal.</p>
<p>So you press <code>:</code> and now there are a couple of different ways to quit.  To write the file and quit you do <code>:wq</code> To exit without saving you do <code>:qa!</code></p>
<p>Now, you can move around and quit.  Lets talk some editing.  First up is the <code>i</code> key.  If you press i in vim you will enter insert mode and be able to type wherever your cursor is.  To stop typing press <code>escape</code>.  Be wary of using actual arrow keys and backspace.  They may not be set up.  If thats the case you&#8217;ll have to do some googling to map those keys correctly.</p>
<p>Now, more often than not you&#8217;ll just want to change a word or letter or line.  There are super easy ways to do that.</p>
<p>To change something start with the <code>c</code> key.  Now if you want to change a word press <code>w</code>.  So actually you will move the cursor over a word and press <code>cw</code>.  Then you should see a $ pop up at the end of that word.  Simply type your changes, and press <code>escape</code>.  If you want to change a letter, move over top of it and press <code>r</code>.  Then type the key you want to replace it with.</p>
<p>If you want to type after your cursor, press <code>a</code>.  If you want to type on the next line, press <code>o</code>.  Capital <code>O</code> does something very similar, play around with them both.</p>
<p>To delete things, you will use the <code>d</code> command.  Now if it is just one letter, just press <code>x</code> over the character you want gone.  Otherwise we&#8217;ll use <code>d</code>.  If you want the word deleted, move the cursor over it and press <code>dw</code>.  If you want the entire line, press <code>dd</code>.  If you want everything from your cursor to the end of the line press <code>d$</code>.</p>
<p>I should mention that you have one level of undo with the <code>u</code> key.</p>
<p>Vim is really powerful and worth learning if you find yourself in a shell.  There is a huge division among followers of vim vs emacs.  I use vim because that was simply what I first saw, but getting comfortable with one is really important.</p>
<p>Thats all I have for now, but I&#8217;m pretty sure thats enough to put 80% of you to sleep.</p>
<p>One more command that will help out hugely when you are first learning about how to use files is a good way to back one up.  Here is the command I use for that:</p>
<pre>cp foo foo.`date +%m%d%Y`</pre>
<p>Now, this is the copy command.  It copies the file named foo to foo.02122010.  The <code>`date +%m%d%y`</code> is actually a nested command, anything in &#8220; is run as a command.  So this runs the date command and the <code>+%m%d%Y</code> formats the string to monthdayyear.  Very helpful for backing things up before you go monkey around.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryan.ryan-megan.com/2010/02/12/command-line-wizardry-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
