<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Tiny Candy Hammers</title>
    <link>http://tinycandyhammers.com</link>
    <description></description>
    <pubDate>Sun, 20 Feb 2011 18:30:32 CST</pubDate>
    <lastBuildDate>Sun, 20 Feb 2011 18:30:32 CST</lastBuildDate>
    <webMaster>beenewilliamr@gmail.com</webMaster>
	
 	<item>
   		<title>Parasol: A GLSL shader development/learning tool</title>
   		<link>http://tinycandyhammers.com/2010/07/04/parasol.html</link>
   		<guid>http://tinycandyhammers.com/2010/07/04/parasol</guid>
   		<description><![CDATA[<p>I ordered the <span class="caps">GLSL</span> Shader book recently and started looking for a tool to test out shaders on linux. I couldn&#8217;t find anything that I wanted to use so I started my own called Parasol.</p>
<p>Parasol is a very minimalistic tool for helping me quickly test out shaders while learning <span class="caps">GLSL</span>. Parasol itself just displays a single window with the utah teapot with settings specified in the config file. It watches three files: a config file, a vertex shader, and a fragment shader and when one of these files changes it will reload the file and apply the changes to the view. I plan on expanding this as I need to while learning. I&#8217;ll probably need some way to specify uniform variables for input into the shaders so that may be next. I plan on putting it on github soon.</p>]]></description>
   		<pubDate>Sun, 04 Jul 2010 00:00:00 CST</pubDate>
 	</item>
 	
 	<item>
   		<title>Status report</title>
   		<link>http://tinycandyhammers.com/2010/06/26/status-report.html</link>
   		<guid>http://tinycandyhammers.com/2010/06/26/status-report</guid>
   		<description><![CDATA[<p><img src="/images/blockComposerPlayerRobotModel.png" style="float: right;" alt="" /><br />
I am very pleased with how productive I have been this week, however I didn&#8217;t do exactly what I mentioned in the previous post. I only worked on Block Composer and I had a lot of fun doing so. What I did this week:</p>
<ul>
	<li>Learned how to use blender to create 3D models</li>
	<li>Created a model for the player/robot in Block Composer (You can see it on the right without its texture)</li>
	<li>Wrote (my first) python script to export 3D models out of blender into a custom binary format for Block Composer</li>
	<li>Replaced all hard-coded models in Block Composer with models exported from blender</li>
	<li>Created textures for new models</li>
	<li>Game intro screen is now 3D and rendered using the game engine</li>
	<li>Level selection now shows the levels themselves instead of just the name</li>
	<li>Implemented animation of blocks and player</li>
	<li>Refactored the code base because it was getting ugly</li>
	<li>Spent some time looking into how to play <span class="caps">MOD</span> files but it was more work than I had thought</li>
</ul>
<p>However, I&#8217;ve still got some bugs to work out before the next release. I&#8217;d like to get a release out by next Saturday.</p>]]></description>
   		<pubDate>Sat, 26 Jun 2010 00:00:00 CST</pubDate>
 	</item>
 	
 	<item>
   		<title>Plan for the week</title>
   		<link>http://tinycandyhammers.com/2010/06/20/plan-for-week.html</link>
   		<guid>http://tinycandyhammers.com/2010/06/20/plan-for-week</guid>
   		<description><![CDATA[<p>I have found being productive while self-employed challenging. I plan on working for at least eight hours each day Monday-Friday. The goal of this post is to keep myself accountable by having my performance publicly viewable so if I fail it will be embarrassing. At the end of the week I will post again to report on how I did. I will outline some of my projects below and what I will be working on during the week.</p>
<h4>My current projects and their statuses</h4>
<ul>
	<li><b>Block Composer</b> is a block pushing puzzle game kind of like a mix between Tetris and Sokoban. This game is currently available in the Android market for free and is fully playable. I do not see much of a future for this game, but there are a few things I&#8217;d like to add to it before I stop working on it. What I&#8217;d like accomplish this week:
	<ul>
		<li>Implement animation of blocks and the player</li>
		<li>Create new player model</li>
		<li>Create one additional level</li>
	</ul></li>
	<li><b>Symbolic Wars</b> is a turn based strategy game. I am a huge fan of Advance Wars and wanted to create something similar but different enough that it wasn&#8217;t just a clone. The design of the game has been more challenging than I had originally expected. What I&#8217;d like to accomplish this week:
	<ul>
		<li>Work out how the game will work on paper</li>
		<li>Add UI for attacking other units</li>
	</ul></li>
	<li><b>Joplin Public Library</b> is an Android app for my local library. This can be modified to work with other libraries that use the Horizon Information Portal. I&#8217;ve really only spent a few hours on this project and mostly wrote it while procrastinating on other projects, but I think it is worth spending some more time on. What I&#8217;d like accomplish this week:
	<ul>
		<li>Search by scanned barcode</li>
		<li>Book view activity</li>
	</ul></li>
</ul>]]></description>
   		<pubDate>Sun, 20 Jun 2010 00:00:00 CST</pubDate>
 	</item>
 	
 	<item>
   		<title>Script for activation of plain text</title>
   		<link>http://tinycandyhammers.com/2010/06/13/script-activate-text.html</link>
   		<guid>http://tinycandyhammers.com/2010/06/13/script-activate-text</guid>
   		<description><![CDATA[<p>I often run into web links that are plain text and eventually got annoyed enough to write this extremely simple script. It works by using xclip to grab what you have highlighted and if the contents look like an http address it will open in your browser of choice. As a bonus, if it doesn&#8217;t look like an http address it will open up google maps and attempt to map the contents. It should be obvious that this can easily be extended to suit other purposes.</p>
<div class="highlight"><pre><code class="ruby"><span class="c1">#!/usr/bin/ruby</span>

<span class="n">x</span> <span class="o">=</span> <span class="sb">`xclip -o`</span>

<span class="k">if</span> <span class="n">x</span> <span class="o">=~</span> <span class="sr">/^[ \t]*https?:\/\/.*/</span> <span class="c1"># Goto web address</span>
	<span class="sb">`gnome-open </span><span class="si">#{</span><span class="n">x</span><span class="si">}</span><span class="sb">`</span>
<span class="k">else</span> <span class="c1"># Map location</span>
	<span class="sb">`gnome-open http://maps.google.com/?q=</span><span class="si">#{</span><span class="n">x</span><span class="o">.</span><span class="n">gsub</span><span class="p">(</span><span class="sr">/[ \t\n]+/</span><span class="p">,</span> <span class="s1">&#39;+&#39;</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span>
<span class="k">end</span>
</code></pre>
</div><p>In order to install the script, copy the script above and save as $<span class="caps">HOME</span>/bin/controlshiftz.rb and make it executable. To bind it to a key combination in gnome use the following two commands. By default this will cause control-shift-z to activate the script. You will also need to install the xclip package.</p>
<div class="highlight"><pre><code class="sh">gconftool-2 -s /apps/metacity/keybinding_commands/command_1 -t string <span class="nv">$HOME</span>/bin/controlshiftz.rb
gconftool-2 -s /apps/metacity/global_keybindings/run_command_1 -t string <span class="s1">&#39;&lt;Control&gt;&lt;Shift&gt;z&#39;</span>
</code></pre>
</div><p>If you extend the script in an interesting way, comment or send me an email about it.</p>]]></description>
   		<pubDate>Sun, 13 Jun 2010 00:00:00 CST</pubDate>
 	</item>
 	
  </channel>
</rss>


