<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Reformed Software - Home</title>
  <id>tag:reformedsoftware.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://reformedsoftware.com/blog/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://reformedsoftware.com/blog/" rel="alternate" type="text/html"/>
  <updated>2008-06-22T02:06:30Z</updated>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-06-22:20</id>
    <published>2008-06-22T02:05:00Z</published>
    <updated>2008-06-22T02:06:30Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/6/22/an-application-worth-waiting-for" rel="alternate" type="text/html"/>
    <title>An application worth waiting for</title>
<content type="html">
            Just a short note to say that the beta for Scribere has been delayed till late this year, but it will be well worth the wait.
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-05-23:19</id>
    <published>2008-05-23T12:07:00Z</published>
    <updated>2008-05-23T12:17:19Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/5/23/scribere-beta-testers-required" rel="alternate" type="text/html"/>
    <title>Scribere beta testers required</title>
<content type="html">
            &lt;p&gt;My friend, it has been a while. How are you and what have you been up to?&lt;/p&gt;
&lt;p&gt;As for me, I've been rather busy. &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; has been taking form and is quickly approaching a Beta release. To accomodate this, a couple of things need to happen first:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;p&gt;Completion of basic user documentation.&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Fine tuning of features.&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Raising of funds to continue development&lt;/p&gt;
&lt;p&gt;&amp;lt;embed type=&quot;application/x-shockwave-flash&quot; src=&quot;http://widget.chipin.com/widget/id/6d0f444caae24542&quot; allowscriptaccess=&quot;always&quot; flashvars=&quot;event_title=Reformed%20Software%20Startup&amp;event_desc=I%27m%20raising%20money%20%28%247000%29%20so%20that%20I%20can%20get%20Reformed%20Software%20started.&quot; height=&quot;250&quot; wmode=&quot;transparent&quot; width=&quot;250&quot;&gt;&amp;lt;/embed&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Though, to tide you over for the next week or two there are two screenshots which demonstrate the simplisity and power of Scribere.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2008/5/23/scribere_teaser_1.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2008/5/23/scribere_teaser_1.jpg&quot; width=&quot;500px&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2008/5/23/scribere_teaser_2.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2008/5/23/scribere_teaser_2.jpg&quot; width=&quot;500px&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I must beg you friend to pay respect to your mac and stop salivating over the keyboard. It isn't good for it. Please send an email through to &lt;a href=&quot;mailto:beta at scribere dot info&quot;&gt;Beta at Scribere dot info&lt;/a&gt; to be considered for the beta.&lt;/p&gt;
&lt;p&gt;Please do keep in contact.&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-05-20:18</id>
    <published>2008-05-20T01:12:00Z</published>
    <updated>2008-05-20T12:45:23Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/5/20/crazy-ideas" rel="alternate" type="text/html"/>
    <title>Crazy ideas</title>
<content type="html">
            &lt;p&gt;Dear Reader,&lt;/p&gt;

&lt;p&gt;As you are aware from my ramblings, I often have crazy ideas and schemes of grandeur, and nothing could be truer. This is precisely why I write.&lt;/p&gt;

&lt;p&gt;I have a crazy idea, and it is a grand scheme. That scheme is to see Academics return to a desire for knowledge and wisdom. To see both students and professional academics alike use technology to its fullest potential rather than wrestling with it daily. This is starting off with &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; which provides a way for taking notes whilst listening to podcasts and vodcasts. In fact, though it works by using an RSS feed to obtain and maintain the audio and video, it can be used for any stand alone file. This is perfect for listening to recorded lectures or church sermons. Further, &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; takes note of when in the audio/video the note was taken so that the notes can be reviewed and referenced with ease.&lt;/p&gt;

&lt;p&gt;That is the first of many crazy ideas and whilst I do love writing about the idea itself, it is nothing if it remains an idea. &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; has taken shape for the past year and though it is usable, it still has work to be done. This is the second reason that I write. &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; has generated a lot of interest and popularity amongst my friends and acquaintances and they have been clamouring for it. &quot;Gimme, gimme&quot; are the cries that come thick and fast over &lt;a href=&quot;http://twitter.com&quot;&gt;twitter&lt;/a&gt; as well as when I take out my laptop in a coffee shop on Glenferrie Rd.&lt;/p&gt;

&lt;p&gt;This is where you, dear reader, come in. I'm at the point where finishing the app requires solid work and long hours, and these don't come cheap. In order to get the app completed, I'm in need of funds. One way of doing this is by a site called &lt;a href=&quot;http://reformedsoftware.chipin.com/business-startup&quot;&gt;ChipIn&lt;/a&gt; which collates the funds into a PayPal account. In order to participate in this fashion, the &lt;a href=&quot;http://reformedsoftware.chipin.com/business-startup&quot;&gt;ChipIn&lt;/a&gt; widget is provided bellow.&lt;/p&gt;

&lt;p&gt;&amp;lt;embed type=&quot;application/x-shockwave-flash&quot; src=&quot;http://widget.chipin.com/widget/id/6d0f444caae24542&quot; allowscriptaccess=&quot;always&quot; flashvars=&quot;event_title=Reformed%20Software%20Startup&amp;event_desc=I%27m%20raising%20money%20%28%247000%29%20so%20that%20I%20can%20get%20Reformed%20Software%20started.&quot; height=&quot;250&quot; wmode=&quot;transparent&quot; width=&quot;250&quot;&gt;&amp;lt;/embed&gt;&lt;/p&gt;

&lt;p&gt;If you feel that using the Internet is insecure or would rather do things the old fashioned way via a bank transfer, please contact me at &lt;a href=&quot;mailto:matt_at_reformedsoftware_dot_com&quot;&gt;Matt _at_ ReformedSoftware _dot_ com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But what is in it for yourself dear reader? If funding crazy ideas and schemes of grandure isn't enough reason then I shall detail what you will get for your donation.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Access to &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; beta.&lt;/li&gt;
  &lt;li&gt;A free copy of &lt;a href=&quot;http://scribere.info&quot;&gt;&lt;i&gt;Scribere&lt;/i&gt;&lt;/a&gt; (retail price will be roughly $30 when released).&lt;/li&gt;
  &lt;li&gt;Weekly updates on what is happening with Reformed Software.&lt;/li&gt;
  &lt;li&gt;Conversations over coffee.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This, dear reader, is regardless of how much you invest. If you want to invest $5 then you save money. Though I will openly say that my goal is to raise $7,000 so the more you invest, the higher the standard to which applications will be developed. To make good on this, please contact me so I know you've invested.&lt;/p&gt;

&lt;p&gt;If, dear reader, you are considering Reformed Software as a serious business investment, then please do contact me. I do love talking to you my friend, dear reader, and appreciate the advice that you give. There is a business plan written as well, and in true style it has been writen using LaTeX.&lt;/p&gt;

&lt;p&gt;I would like to hear from you soon, and if you decide to support using &lt;a href=&quot;http://chipin.com&quot;&gt;ChipIn&lt;/a&gt; then please send me an email so that I may respond.&lt;/p&gt;

&lt;p&gt;Take care in your travels and may the God of all peace and glory keep watch over you.&lt;/p&gt;

&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-05-03:17</id>
    <published>2008-05-03T05:03:00Z</published>
    <updated>2008-05-03T05:06:03Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/5/3/academic-pursuits" rel="alternate" type="text/html"/>
    <title>Academic pursuits</title>
<summary type="html">&lt;p&gt;As many do know, I&#8217;m still a student and can be called a student for life. It is a great gift from God to be able to study and to learn about the universe that he has created. Further, it is a joy to have a God who teaches and who has revealed to us his nature, his character and what he has done throughout history.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;As many do know, I&#8217;m still a student and can be called a student for life. It is a great gift from God to be able to study and to learn about the universe that he has created. Further, it is a joy to have a God who teaches and who has revealed to us his nature, his character and what he has done throughout history.&lt;/p&gt;
&lt;p&gt;Throughout the last couple of months I&#8217;ve been busily working on finishing the my university degree. It has been a long time coming, though thoroughly enjoyed. So come the end of the year I will be changing from one stage in my life to another. I&#8217;ll graduate from Swinburne. And there was thunderous applause.&lt;/p&gt;


	&lt;p&gt;My pursuits will still remain academic due to the direction that Reformed Software is taking. That direction is one of service to the Academic community through the writing of software that aids in studies. The first way in which this service is being accomplished is with &lt;a href=&quot;http://scribere.info&quot;&gt;Scribere&lt;/a&gt; a note taking application for podcasts and vodcasts. Talking to an academic today at Swinburne, after asking what I was up to and the subsequent disbelief that I was still a student, he loved the idea of Scribere and was impressed about the development thus far. He also provided some much needed usability input at that stage.&lt;/p&gt;


	&lt;p&gt;How does this square with my faith? Reformed Software is still a Christian software development company, and by God&#8217;s grace it always shall be. The difference is that it isn&#8217;t obtusely so.&lt;/p&gt;


	&lt;p&gt;Further the tagline for Reformed Software will change, though what it embodies will still be present.&lt;/p&gt;


	&lt;p&gt;God bless,
Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-03-27:16</id>
    <published>2008-03-27T01:53:00Z</published>
    <updated>2008-03-27T03:01:38Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/3/27/excitement-about-no-funds" rel="alternate" type="text/html"/>
    <title>Excitement about no funds</title>
<content type="html">
            &lt;p&gt;At the moment I'm still getting excited daily about the ways in which God provides and the ways in which he does. To know that it is by his grace that we live, eat and are merry is phenomenal. To know that the sun rises and the sun sets by his will is amazing.&lt;/p&gt;
&lt;p&gt;But what does that have to do with Reformed Software? It is that by the grace of the same God that work progresses. That despite having no funds I still work and enjoy every moment of it in full confidence. Does this mean that it is guaranteed success? By no means! I'm but conveying my joy in the work and knowing that God is in control of the finer details which are beyond my control. Am I able to make the sun rise or even set? No, but I know that the God who is does.&lt;/p&gt;
&lt;p&gt;So, back to the matters at hand. Though I enjoy every moment that I work for Reformed Software, I know that without funds there will come a day that I must remove the glasses and hand the code over to someone else. So I ask for investment. If you are wanting to invest in the work of a group of people who's very drive is &quot;writing software to glorify Jesus as Lord and Savior&quot; then I would like to hear from you. I can be contacted via &lt;a href=&quot;mailto:matt@reformedsoftware.com&quot;&gt;matt _at_ reformedsoftware _dot_ com&lt;/a&gt;.
&lt;p&gt;With regards to development, a lot of work has been going into fine tuning the process of how the beta testing is going to be run. This will hopefully occur during the next couple of months along with a lot of improvements on the web front.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-03-07:15</id>
    <published>2008-03-07T02:22:00Z</published>
    <updated>2008-03-07T02:25:49Z</updated>
    <category term="About"/>
    <link href="http://reformedsoftware.com/blog/2008/3/7/over-a-month-is-just-not-good" rel="alternate" type="text/html"/>
    <title>Over a month is just not good</title>
<content type="html">
            &lt;p&gt;Hey folks, just a quick one to say that I'm alive and that everything is still progressing as far as Reformed Software. I've been busy getting back into university studies (final year after 7 long) and am doing a lot of coding. Unfortunately this has resulted in only a few updates. This makes me sad.&lt;/p&gt;
&lt;p&gt;So, I'll be updating more regularly from now on as things are starting to take shape. I've been working on graphics for the applications as well as websites so that the business looks a bit more professional than it currently is.&lt;/p&gt;
&lt;p&gt;Hang tight for more updates as this old blog engine will most likely disappear and a new website will be put up in its place.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-02-05:14</id>
    <published>2008-02-05T10:19:00Z</published>
    <updated>2008-02-05T10:28:06Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/2/5/the-fun-continues" rel="alternate" type="text/html"/>
    <title>The fun continues</title>
<content type="html">
            &lt;p&gt;So, it has been a long time since I last posted here. Even longer with my personal blog.&lt;/p&gt;
&lt;p&gt;Things just seem to be getting busier and busier, which results in little time to blog and let people know just what is happening. First big news &quot;The King is dead! Long live the King!&quot;. Roughly translated, TheUnboundWord is no more. Instead, Scribere has taken its place. This is complete with a new website which is in the works as well as a more appropriate name. Scribere is Latin for 'to write' and fits the purpose of Scribere perfectly. The Beta (or Alpha) testing has been delayed by a couple of months. This is due to me not being comfortable with the level of usability in the program. Plus, I haven't done much in the way of documentation or administration work that I would like to get done.&lt;/p&gt;
&lt;p&gt;Add to this, I've been working on a new website for Reformed Software and by the time Scribere hits 1.0, the new site will be in place. Until then, this humble blog will continue and much fun will ensue.&lt;/p&gt;
&lt;p&gt;Currently I'm in the process of writing up business proposals and looking for venture capital to get things rolling. Once this comes through much will occur in rather rapid succession.&lt;/p&gt;
&lt;p&gt;Until then, I will be posting once a week with the progress of development and also random thoughts about Software Development as pertains to Scribere and other projects.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-01-18:13</id>
    <published>2008-01-18T23:34:00Z</published>
    <updated>2008-01-19T01:05:51Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/1/18/coarse-granularity-can-be-a-good-thing" rel="alternate" type="text/html"/>
    <title>coarse granularity can be a good thing</title>
<content type="html">
            &lt;p&gt;Every so often a bug comes along that ends up being a pain to get around. Unfortunately there are even those out there which have very little documentation on the correct use of the api required. So, many days were spent devouring internet sources for any and all documentation on NSURLDownload. All I could find though was sparse bits of open source code and apples documentation. The open source code is usually a gold mine for figuring out what I wanted, but alas that wasn't the case. The code was either undocumented or so convoluted that following it would be a week long effort of itself.&lt;/p&gt;
&lt;p&gt;So, I turned to the Cocoa development lists provided by Apple. These guys are top notch in the majority of cases and often rather helpful. In this case, not many of them had the expertise in using the api calls I was. This then caused me to be left with playing around on my own.&lt;/p&gt;
&lt;p&gt;Having some experience with Mathematics, I placed in that part to get what I wanted. This though caused values which were often ridiculous. I couldn't figure out why. I even went to the extent of making the method thread safe so that values weren't overwritten. This though proved to be futile.&lt;/p&gt;
&lt;p&gt;My second attempt at fixing it was to place in if statements so that the value was reset after a certain time interval. This still proved the same results.&lt;/p&gt;
&lt;p&gt;So, what was wrong?&lt;/p&gt;
&lt;p&gt;I then thought that I should, just for the fun of it, see the values that I'm actually getting back from the method. And this is where I found the problem to be. The values that I was getting were very close to zero. They were that small.&lt;/p&gt;
&lt;p&gt;So, as it happens when you divide a large number (number of bytes received) by a small number (time between packets received) you get something that is ridiculous. It all started to make sense. I was doing the calculations way too fast. This became a relief and I could simply place in an if statement that delayed the calculation until the duration was longer than one second.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now since there is very little documentation of calculating the rate of a download I will place in the required method here.&lt;/p&gt;
&lt;p&gt;&lt;blockquote&gt;
&lt;p&gt;- (void)download:(NSURLDownload *)download didReceiveDataOfLength:(unsigned)length&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;	bytesReceived += length;&lt;/p&gt;
&lt;p&gt;	tempBytesReceived += length;&lt;/p&gt;
&lt;p&gt;	[self setPercentageComplete:[[NSNumber alloc] initWithDouble:((bytesReceived / (double)expectedLength) * 100.0)]];&lt;/p&gt;
&lt;p&gt;	duration = [lastPacketReceived timeIntervalSinceNow] * -1;&lt;/p&gt;
&lt;p&gt;	if(duration &gt; 1) {&lt;/p&gt;
&lt;p&gt;		bytesPerSecond = tempBytesReceived / duration;&lt;/p&gt;
&lt;p&gt;		kilobytesPerSecond = bytesPerSecond / 1024;&lt;/p&gt;
&lt;p&gt;		tempBytesReceived = 0;&lt;/p&gt;
&lt;p&gt;		lastPacketReceived = [NSDate date];&lt;/p&gt;
&lt;p&gt;	}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-01-10:12</id>
    <published>2008-01-10T11:26:00Z</published>
    <updated>2008-01-18T23:54:21Z</updated>
    <category term="About"/>
    <link href="http://reformedsoftware.com/blog/2008/1/10/the-greatest-joy-of-all" rel="alternate" type="text/html"/>
    <title>The greatest joy of all</title>
<content type="html">
            &lt;p&gt;So, I recently blogged about why and when coding is fun. Yet I forgot to mention the greatest joy of all that comes from doing the work here at Reformed Software. That is, worshiping God.&lt;/p&gt;
&lt;p&gt;How can coding be worship? Because the end result is the production of software applications and resources that allow for people to know God in greater depth and worship him. The software created has the ultimate purpose of helping Christians study God's word and worshiping him. This is why the greatest joy of all is worshiping Jesus and this is done through the work here at Reformed Software.&lt;/p&gt;
&lt;p&gt;Now for all of you theological nitpicks out there, coding isn't the only way of worshiping God. Using the software developed and sold by Reformed Software isn't the only way to worship God. The idea is to show God as the glorious Father, Son and Holy Spirit. My joy comes from knowing that God is worshiped by the work I do.&lt;/p&gt;
&lt;p&gt;So, I encourage you all, whatever your work, to do so to the glory of God. As Paul says in 1 Corinthians 10:31-33:&lt;/p&gt;
&lt;p&gt;&lt;blockquote&gt;So, whether you eat or drink, or whatever you do, do all to the glory of God. 32 Give no offense to Jews or to Greeks or to the church of God, 33 just as I try to please everyone in everything I do, not seeking my own advantage, but that of many, that they may be saved.&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-01-10:11</id>
    <published>2008-01-10T09:55:00Z</published>
    <updated>2008-01-10T11:35:16Z</updated>
    <link href="http://reformedsoftware.com/blog/2008/1/10/40-degrees-a-couch-and-air-conditioning" rel="alternate" type="text/html"/>
    <title>40 degrees, a couch and air conditioning</title>
<content type="html">
            &lt;p&gt;Melbourne unfortunately has a rather unique weather pattern. One day it can be a mild 25 degrees and the next an unbearable 42 degrees. Thankfully, there is but one room in my house with air conditioning and it just happens to be the one with a nice comfy couch.&lt;/p&gt;
&lt;p&gt;So, this day has turned from something that could have been rather uncomfortable into one whereby I have been surprisingly productive. I have spent much of the day getting data presented properly in TheUnboundWord. That is, there was a lot of information relating to the podcasts that hadn't been handled properly, so today was spent generating the code required to populate that data.&lt;/p&gt;
&lt;p&gt;So, for today's efforts there are two nice new screenshots.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2008/1/10/tokencrazy.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2008/1/10/tokencrazy.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2008/1/10/updated_download_window.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2008/1/10/updated_download_window.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2008-01-09:10</id>
    <published>2008-01-09T06:27:00Z</published>
    <updated>2008-01-09T06:56:30Z</updated>
    <category term="About"/>
    <link href="http://reformedsoftware.com/blog/2008/1/9/why-and-when-coding-is-fun" rel="alternate" type="text/html"/>
    <title>Why and when coding is fun</title>
<content type="html">
            &lt;p&gt;For me, work should always be fun. If it isn't fun, it just doesn't get done.&lt;/p&gt;
&lt;p&gt;So with a total of $0 raised so far, many people would call it crazy that I still sit in front of my mac each day and code. So in order to clear up any perceived misconceptions about what Reformed Software is all about I will reveal how spending time working on the projects such as TheUnboundWord is fun.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When solving a problem:&lt;/strong&gt; this is the joy of any engineer or programmer. When an engineer is solved with a problem, they don't rest easy until that problem is solved. I don't just mean a quick hack to solve the problem, I mean a proper solution that involves design, testing and investigation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When the software has a purpose:&lt;/strong&gt; many times, developers work on projects that they simply don't want to use or will never use themselves. At Reformed Software, the software developed is actively used by the developers. TheUnboundWord started as a need that I had whilst listening to podcasts, and though it is in the early stages of development I actively use it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When the software is well designed:&lt;/strong&gt; A good design is always needed and this is pivotal to creating a solution. The design allows for problems to be mitigated before they occur and results in coding being about implementing features rather than fixing bugs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When the software is documented:&lt;/strong&gt; When working in a group, documentation always seems tedious, yet when it comes to working with code written by other developers if it isn't documented then all fun gets taken away as you have to figure out their mindset.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, just a couple of thoughts about why and when it is fun coding at/for Reformed Software.&lt;/p&gt;
&lt;p&gt;In more general news, testers are still required particularly if you live in Melbourne Australia. Contact &lt;a href=&quot;mailto:matt_at_reformedsoftware_dot_com&quot;&gt;Matt at ReformedSoftware dot com&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matthew Delves.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2007-12-29:9</id>
    <published>2007-12-29T00:30:00Z</published>
    <updated>2007-12-29T00:40:01Z</updated>
    <link href="http://reformedsoftware.com/blog/2007/12/29/when-a-long-time-is-really-defined-as-a-short-time" rel="alternate" type="text/html"/>
    <title>When a long time is really #defined as a short time</title>
<content type="html">
            &lt;p&gt;As it turns out, my troubles were due to the way in which I was using growl rather than anything else.&lt;/p&gt;
&lt;p&gt;Thankully, the helpful developers for growl (well, adium) were willing to look over some sample code and pointed out to me what is was doing wrong. As it happens, I was under the impression that GROWL_NOTIFICATIONS_DEFAULT was needing to be passed as @&quot;GROWL_NOTIFICATIONS_DEFAULT&quot; to the key argument of [NSDictionary setObject: forKey:]. I unfortunately forgot that ANYTHING_SPELT_LIKE_THIS_IS_USUALLY_A_DEFINED_STATEMENT.&lt;/p&gt;
&lt;p&gt;Once this was pointed out to me, I was then able to get growl working properly.&lt;/p&gt;
&lt;p&gt;My hat comes of in regard to the developers who helped me out. This is one of the many things I do love about the mac developer community.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2007/12/29/happygrowl.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2007/12/29/happygrowl.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This now means that the alpha release is going to be up and running during early January.&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2007-12-28:8</id>
    <published>2007-12-28T06:36:00Z</published>
    <updated>2007-12-28T06:47:50Z</updated>
    <link href="http://reformedsoftware.com/blog/2007/12/28/the-last-task-may-take-a-while" rel="alternate" type="text/html"/>
    <title>The last task may take a while</title>
<content type="html">
            &lt;p&gt;So development of The Unbound Word has progressed to a stage whereby it is almost ready for an alpha release. Though there is still one task left to go.&lt;/p&gt;
&lt;p&gt;That task is growl notifications. This may be a rather trivial task, though unfortunately as The Unbound Word uses garbage collection, growl notifications are a no go. This is simply due to the growl.framework not being compiled with -fobjc-gc or -fobj-gc-only.&lt;/p&gt;
&lt;p&gt;Though growl.framework can be recompiled to use -fobjc-gc or -fobjc-gc-only, the default notifications aren't picked up by growl. This makes me sad, though as I'm not involved in the development or maintinance of growl I have no right to complain. This does though leave me at the mercy of the growl developers to some extent with what features I want available in the alpha release.&lt;/p&gt;
&lt;p&gt;Things are still looking up for an early January release which makes up for it to some extent.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2007/12/28/badgrowl.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2007/12/28/badgrowl.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2007-12-24:7</id>
    <published>2007-12-24T09:52:00Z</published>
    <updated>2007-12-24T10:07:39Z</updated>
    <link href="http://reformedsoftware.com/blog/2007/12/24/appcasting-and-spelling-mistakes" rel="alternate" type="text/html"/>
    <title>Appcasting and spelling mistakes</title>
<content type="html">
            &lt;p&gt;As development progresses full steam towards a release, I have been putting in some bells and whistles that will make TheUnboundWord just that little bit easier to maintain with regards to having the app tested by a wide range of people.&lt;/p&gt;
&lt;p&gt;Though things are moving forward, there is still a fair bit of administrative work that I need to do before releases are ready for testing. With any luck, trust is warranted and disappointment lacking.&lt;/p&gt;
&lt;p&gt;Today's fun though came in the form of spelling mistakes whilst playing around with the &lt;a href=&quot;http://sparkle.andymatuschak.org&quot;&gt;Sparkle framework&lt;/a&gt; that makes appcasting a possibility. I unfortunately had incorrectly copied the example from the documentation which resulted in sparkle not identifying where to pick up the rss feed from. This resulted in a lot of frustration as I scoured documentation and setup logging on my dev server so that I could try and track everything. Eventually, the erroneous character was a double u.&lt;/p&gt;
&lt;p&gt;After clearing this up, sparkle worked like a charm.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2007/12/24/appcasting.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2007/12/24/appcasting.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As the season is upon us, a merry Christmas to you all as you remember the birth of the Lord Jesus Christ and to all a good night.&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://reformedsoftware.com/blog/">
    <author>
      <name>matt</name>
    </author>
    <id>tag:reformedsoftware.com,2007-12-21:6</id>
    <published>2007-12-21T06:32:00Z</published>
    <updated>2007-12-21T07:05:24Z</updated>
    <link href="http://reformedsoftware.com/blog/2007/12/21/downloading-bugs-is-a-bad-idea" rel="alternate" type="text/html"/>
    <title>Downloading bugs is a bad idea</title>
<content type="html">
            &lt;p&gt;NSProgressIndicators are notorious things, particularly when trying to shove them inside of an NSCell. This has been a thorn in my side since working on managing downloads and also giving feedback as to how they are going.&lt;/p&gt;
&lt;p&gt;Problem number one is that there is no easy way to implement an NSProgressIndicator inside of an NSCell. In order to do this, the instance of the NSProgressIndicator needs to be added as a subview to the control view of the NSCell.&lt;/p&gt;
&lt;p&gt;This though took many times to figure out with regards to just how to draw the NSProgressIndicator properly and more importantly who had ownership of the NSProgressIndicator.&lt;/p&gt;
&lt;p&gt;Though the fun doesn't end there.&lt;/p&gt;
&lt;p&gt;The biggest fun came when I tried to remove rows of completed downloads from the NSArrayController subclass. This proved a huge problem as though the rest of the row were deleted, the NSProgressIndicator instances remained.&lt;/p&gt;
&lt;p&gt;Eventually, after much frustration and headache, the culprate was found. Every time the drawWithFrame: method of the NSCell subclass was called, I was adding the NSProgressIndicator instance as a subview of the control view. This resulted in many redesigns and refactoring of the code till I found a way of only having one NSProgressIndicator for each row added and even removing it at the correct time.&lt;/p&gt;
&lt;p&gt;The final result after many days was a working download window who's objects could be removed once downloaded.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reformedsoftware.com/blog/assets/2007/12/21/new_download.jpg&quot;&gt;&lt;img src=&quot;http://reformedsoftware.com/blog/assets/2007/12/21/new_download.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;God bless,&lt;/p&gt;
&lt;p&gt;Matt.&lt;/p&gt;
          </content>  </entry>
</feed>
