<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">  
  <title>christopherroach.com - </title>
  <link href="/feed/latest.xml" rel="self"/>
  <link href="http://christopherroach.com/"/>
  <updated>2012-01-08T22:47:17+00:00</updated>
  <id>http://christopherroach.com/</id>
  <author>
    <name>Christopher Roach</name>
    <email>christopher.roach@me.com</email>
  </author>
  
<entry>
<title>A TextMate Bundle for JSON That Formats Properly</title>
<link href="/2010/12/17/json-textmate-bundle"/>
<updated>2010-12-17T00:00:00+00:00</updated>
<id>http://christopherroach.com/2010/12/17/json-textmate-bundle</id>
<content type="html">
  &lt;p&gt;I work on the web and so I have to deal with &lt;a href=&quot;http://www.json.org/&quot; title=&quot;Javascript Object Notation Spec&quot;&gt;JSON&lt;/a&gt; a lot. My text editor of choice, since I work on a Mac, is TextMate. It's a terrific editor and does an absolutely beautiful job with very few flaws---in my honest opinion---nevertheless, one of the problems that I have come across with TextMate with respect to JSON is the code folding functionality. Due to the way that folding is handled in the language grammars, the editor has difficulty folding arrays properly when they contain other JSON objects. To solve this problem, I added a new &quot;Reformat Document / Selection&quot; command that formats the source in such a way as to allow the folding feature to function properly. A few others have done this as well, but from what I've seen, most have hand coded their own formatter, whereas, I feel a bit more comfortable using a package that is well tested and comes standard with a typical Python distribution. The rest of this post, details how to get and install the bundle and how to use it to properly format your own JSON code.&lt;/p&gt; &lt;h3&gt;Installing the bundle&lt;/h3&gt; &lt;p&gt;To install the new bundle,...
</content>
</entry>


<entry>
<title>Ruby Fibonacci Shootout, Part 2</title>
<link href="/2010/01/21/ruby-fibonacci-shootout-2"/>
<updated>2010-01-21T00:00:00+00:00</updated>
<id>http://christopherroach.com/2010/01/21/ruby-fibonacci-shootout-2</id>
<content type="html">
  &lt;p&gt;This is just a quick update on a &lt;a href=&quot;http://christopherroach.com/2010/01/02/ruby-fibonacci-shootout/&quot;&gt;short post&lt;/a&gt; I wrote a few days ago where I compared the speed of a few different Ruby VM's using a simple recursive Fibonacci algorithm (compliments of &lt;a href=&quot;http://antoniocangiano.com/2007/11/28/holy-shmoly-ruby-19-smokes-python-away/&quot;&gt;this article&lt;/a&gt;) to see just how well the new &lt;a href=&quot;http://www.macruby.org/&quot;&gt;MacRuby&lt;/a&gt; VM stacks up to the rest of them. The results had me pleasantly surprised when MacRuby blew them all away and was even able to compete with a C version (unoptimized&amp;#151;of course) of the same code.&lt;/p&gt; &lt;p&gt;Well, today as I was, once again, perusing the links on &lt;a href=&quot;http://www.reddit.com/r/programming/&quot;&gt;Proggit&lt;/a&gt;, I came across this tempting little morsel: &lt;a href=&quot;#&quot;&gt;&quot;LuaJIT makes Lua nearly as fast as Fortran on the Benchmarks Game&quot;&lt;/a&gt;. Considering that my interests in MacRuby are mainly to find a fast scripting language that is enjoyable to use and easily embeddable within a Cocoa application, I couldn't resist checking out the latest &lt;a href=&quot;http://luajit.org/&quot;&gt;LuaJIT&lt;/a&gt; compiler to see how it performed on the same test relative to MacRuby. Below is the Lua code that I used to perform the tests:&lt;/p&gt; &lt;script src=&quot;http://gist.github.com/267631.js&quot;&gt;&lt;/script&gt; &lt;p&gt;The results below show Lua's best time compared to the latest MacRuby implementation.&lt;br/&gt; &lt;/p&gt; &lt;h5&gt;LuaJIT 1.1.5&lt;/h5&gt; &lt;pre&gt;&lt;code&gt;real 0m2.068s user 0m2.049s sys...
</content>
</entry>


<entry>
<title>Ruby Fibonacci Shootout</title>
<link href="/2010/01/15/ruby-fibonacci-shootout"/>
<updated>2010-01-15T00:00:00+00:00</updated>
<id>http://christopherroach.com/2010/01/15/ruby-fibonacci-shootout</id>
<content type="html">
  &lt;p&gt;As I was perusing &lt;a href=&quot;http://www.reddit.com/r/programming/&quot;&gt;Proggit&lt;/a&gt; yesterday, I ran across a &lt;a href=&quot;http://www.mysoftparade.com/blog/ruby-19-doesnt-smoke-python-away/&quot;&gt;little rant&lt;/a&gt; in reply to an earlier &lt;a href=&quot;http://antoniocangiano.com/2007/11/28/holy-shmoly-ruby-19-smokes-python-away/&quot;&gt;blog post&lt;/a&gt; on the speed improvements of the new Ruby 1.9 VM vs Python. The Python article was a bit unfair in its assessment of Python's speed vs Ruby's since the author essentially translated a highly recursive algorithm into an iterative one and used that for his comparison. Nevertheless, it did get me a bit more interested in just how much better the new Ruby VM's are performing. After trying the tests in the original article a few times and being truly impressed with Ruby 1.9's nearly 5x speed improvement over the old 1.8 VM, I thought why not give &lt;a href=&quot;http://www.macruby.org/&quot;&gt;MacRuby&lt;/a&gt; a try since it is supposed to be a highly optimized Ruby VM for my computing platform of choice, and let me tell ya, it did not disappoint.&lt;/p&gt; &lt;p&gt;For those of you who are not in the know, MacRuby is a port of Ruby 1.9 for Mac OS X. But where MacRuby differs from other ports of Ruby to the Mac platform, is in its implementation details. MacRuby is built directly on top of Objective-C and, thus, shares...
</content>
</entry>


<entry>
<title>A New Year, A New Blog</title>
<link href="/2010/01/12/new-year-new-blog"/>
<updated>2010-01-12T00:00:00+00:00</updated>
<id>http://christopherroach.com/2010/01/12/new-year-new-blog</id>
<content type="html">
  &lt;p&gt;Ah, a new year and a new beginning. I love the start of a new year, it gives me a chance to press the reset button and completely obliterate the chaos that has accumulated during the past year. At the start of every new year, I get a chance to to do a full system wipe and begin anew with a fresh install. Of course, I'm speaking metaphorically of my life in general and not of my laptop. At the beginning of each new year, I try my best to put the brakes on all of my extracurricular activities and decide which ones are important enough to carry on into the new year and which are mere obstacles to my coming year's successes. To use another metaphor, This is the time when I decide my route for the coming year and try my best to remove all other detours that may take me miles off course and set me back on my journey. In this post I want to address the very first of these obstacles that I've decided to get rid of this year, namely my overly complicated and utterly unenjoyable blogging setup.&lt;/p&gt; &lt;h3&gt;Past Blogging Failures&lt;/h3&gt; &lt;p&gt;Roughly two years...
</content>
</entry>


<entry>
<title>The Road to Independence</title>
<link href="/2009/10/08/road-independence-month-1"/>
<updated>2009-10-08T00:00:00+00:00</updated>
<id>http://christopherroach.com/2009/10/08/road-independence-month-1</id>
<content type="html">
  &lt;p&gt;I have been busy, busy, busy, but I have finally found, correction, made the time (I mean sleep when you're dead, right?) to write the second post in my series on creating a small software business. So, considering that time is very short these days, let's just get right down to brass tacks, what have I been up to with respect to this journey I've set out for myself?&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;To keep my posts organized, I've tried to come up with a list of areas in which I will discuss my progress during the life of the product and of the company. Each of those areas is detailed below with a small summary of what I've been doing in each for the past time period (in this case the past month).&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;Design&lt;/h3&gt; &lt;p&gt;Well, first and foremost, I've worked on the design of my first application a bit more, fleshing out some of the details of how the app will work. The design of the GUI itself will stay roughly similar to my first draft until I can get something coded up that I can play around with. I did have another little breakthrough though with respect to application design&amp;mdash;a second application...
</content>
</entry>


</feed>
