<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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" version="2.0">

<channel>
	<title>GravityBlast</title>
	
	<link>http://gravityblast.com</link>
	<description>...coding blast beat!</description>
	<pubDate>Wed, 12 Nov 2008 10:02:01 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Gravityblast" type="application/rss+xml" /><item>
		<title>Radiant iPhone extension 0.0.1</title>
		<link>http://gravityblast.com/2008/10/09/radiant-iphone-extension-0-0-1/</link>
		<comments>http://gravityblast.com/2008/10/09/radiant-iphone-extension-0-0-1/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 10:33:32 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Radiant]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gravityblast.com/?p=67</guid>
		<description><![CDATA[
After some works for iPhone I decided to create an extension for Radiant that adds an iPhone tailored ui for the admin panel. It&#8217;s the first version and for now it just allows to edit existing pages and add new page parts.


 You can find more info in the README file on github.


]]></description>
			<content:encoded><![CDATA[<p>
After some works for iPhone I decided to create an extension for Radiant that adds an iPhone tailored ui for the admin panel. It&#8217;s the first version and for now it just allows to edit existing pages and add new page parts.
</p>
<p>
 You can find more info in the <a href="http://github.com/pilu/radiant-iphone-extension/tree/master/README">README</a> file on <a href="http://github.com/pilu/radiant-iphone-extension/tree/master">github</a>.
</p>
<p><img src="http://gravityblast.com/wp-content/uploads/2008/10/radiant-iphone-extension.jpg" alt="Radiant iPhone extension" /></p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2008/10/09/radiant-iphone-extension-0-0-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oh yeah!</title>
		<link>http://gravityblast.com/2008/10/02/oh-yeah-2/</link>
		<comments>http://gravityblast.com/2008/10/02/oh-yeah-2/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 11:31:36 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2008/10/02/oh-yeah-2/</guid>
		<description><![CDATA[It&#8217;s been a while since the last post. I&#8217;ve been super busy working on many projects, unfortunately not always with ruby. I worked with python and django, with php and drupal and other technologies. What I enjoyed the most was developing with cocoa for iphone. But obviously my favorite language is still ruby 
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since the last post. I&#8217;ve been super busy working on <a href="http://mikamai.com/portfolio">many projects</a>, unfortunately not always with ruby. I worked with python and django, with php and drupal and other technologies. What I enjoyed the most was developing with cocoa for iphone. But obviously my favorite language is still ruby <img src='http://gravityblast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2008/10/02/oh-yeah-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting Exif data using ImageScience</title>
		<link>http://gravityblast.com/2008/05/02/getting-exif-data-using-imagescience/</link>
		<comments>http://gravityblast.com/2008/05/02/getting-exif-data-using-imagescience/#comments</comments>
		<pubDate>Fri, 02 May 2008 09:39:54 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Exif]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2008/05/02/getting-exif-data-using-imagescience/</guid>
		<description><![CDATA[In my current rails project I need to upload photos and save some exif data taken from them. I use attachment_fu as uploading system that let me choose which image processor to use. Using rmagick and mini_magick I can extract exif data with the following code:

# rmagick
image = Magick::ImageList.new(filename).first
puts image['EXIF:Model'] # The camera model used [...]]]></description>
			<content:encoded><![CDATA[<p>In my current <a href="http://www.rubyonrails.org/" title="Ruby on Rails">rails</a> project I need to upload photos and save some exif data taken from them. I use <a href="http://github.com/technoweenie/attachment_fu/">attachment_fu</a> as uploading system that let me choose which image processor to use. Using rmagick and mini_magick I can extract exif data with the following code:</p>
<pre>
# rmagick
image = Magick::ImageList.new(filename).first
puts image['EXIF:Model'] # The camera model used to take the picture

# mini_magick
image = MiniMagick::Image.from_file(filename)
puts image["EXIF:Model"]
</pre>
<p>The problem is that I can&#8217;t do the same thing with <a href="http://seattlerb.rubyforge.org/ImageScience.html" title="ImageScience">image_science</a>, because it has no methods that return exif data, so I want to add a method to the ImageScience class to do that.<br />
Looking the <a href="http://freeimage.sourceforge.net/">FreeImage</a> <a href="http://freeimage.sourceforge.net/fip/index.html">documentation</a> I found some helpful functions, FreeImage_GetMetadata and FreeImage_TagToString. With these 2 functions I&#8217;m able to get an exif tag and convert it to a readable string. Each one of the available tags belongs to one of the following meta models:</p>
<pre>FI_ENUM(FREE_IMAGE_MDMODEL) {
  FIMD_NODATA         = -1,
  FIMD_COMMENTS       = 0,	// single comment or keywords
  FIMD_EXIF_MAIN      = 1,	// Exif-TIFF metadata
  FIMD_EXIF_EXIF      = 2,	// Exif-specific metadata
  FIMD_EXIF_GPS       = 3,	// Exif GPS metadata
  FIMD_EXIF_MAKERNOTE = 4,	// Exif maker note metadata
  FIMD_EXIF_INTEROP   = 5,	// Exif interoperability metadata
  FIMD_IPTC           = 6,	// IPTC/NAA metadata
  FIMD_XMP            = 7,	// Abobe XMP metadata
  FIMD_GEOTIFF        = 8,	// GeoTIFF metadata
  FIMD_ANIMATION      = 9,	// Animation metadata
  FIMD_CUSTOM         = 10	// Used to attach other metadata types to a dib
};</pre>
<p>Ok, now I can extract the model of the camera:</p>
<pre>FreeImage_GetMetadata(FIMD_EXIF_MAIN, bitmap, "Model", &#038;tag);
printf(FreeImage_TagToString(FIMD_EXIF_MAIN, tag, NULL));</pre>
<p>As you can see, I need to pass the model of the &#8220;Model&#8221; tag. But if I don&#8217;t know which model to use, I can loop through all of them until the returned value of the <strong>FreeImage_GetMetadata</strong> function is not NULL:</p>
<pre>for(model = 0; model < 11; model++) {
  if(FreeImage_GetMetadata(model, bitmap, tagName, &#038;tag))
    return rb_str_new2(FreeImage_TagToString(model, tag, NULL));
}</pre>
<p>Finally I can write a ruby module that extends ImageScience and adds the ability to get an exif tag:</p>
<pre>module ImageScienceExifData

  def [](key)
    if key =~ /^EXIF:(\w+)?/
      get_exif($1)
    end
  end

  inline do |builder|
    if test ?d, "/opt/local" then
      builder.add_compile_flags "-I/opt/local/include"
      builder.add_link_flags "-L/opt/local/lib"
    end
    builder.add_link_flags "-lfreeimage"
    builder.add_link_flags "-lstdc++" # only needed on PPC for some reason. lame
    builder.include '"FreeImage.h"'

    builder.prefix <<-"END"
      #define GET_BITMAP(name) FIBITMAP *(name); Data_Get_Struct(self, FIBITMAP, (name)); if (!(name)) rb_raise(rb_eTypeError, "Bitmap has already been freed")
    END

    builder.c <<-"END"
      VALUE get_exif(char *tagName) {
        GET_BITMAP(bitmap);
        FITAG *tag = NULL;
        const char *value;
        int model;

        for(model = 0; model < 11; model++) {
          if(FreeImage_GetMetadata(model, bitmap, tagName, &#038;tag))
            return rb_str_new2(FreeImage_TagToString(model, tag, NULL));
        }

        return Qnil;
      }
    END

  end
end
ImageScience.send(:include, ImageScienceExifData)

ImageScience.with_image(filename) do |img|
  puts img["EXIF:Model"]
end
</pre>
<p>The output with the picture I used is the following :</p>
<pre>NIKON
COOLPIX S3
2006:12:10 12:09:17</pre>
<p>It doesn&#8217;t work with all the exif names but for now it&#8217;s ok for my needs. The next step is to add the code above in my rails application and use it with attachment_fu. I&#8217;ll write another post about that soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2008/05/02/getting-exif-data-using-imagescience/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Moving to github</title>
		<link>http://gravityblast.com/2008/04/12/moving-to-github/</link>
		<comments>http://gravityblast.com/2008/04/12/moving-to-github/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 15:18:40 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Git]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2008/04/12/moving-to-github/</guid>
		<description><![CDATA[The github revolution has hit me too. I&#8217;m moving all my Radiant extension to my account on github.  Follow me and fork my projects :)!
]]></description>
			<content:encoded><![CDATA[<p>The <a href="https://github.com/" title="Github">github</a> revolution has hit me too. I&#8217;m moving all my Radiant extension to <a href="http://github.com/pilu/">my account</a> on github.  Follow me and fork my projects :)!</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2008/04/12/moving-to-github/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Radiant Newsletter extension has stats</title>
		<link>http://gravityblast.com/2008/03/27/radiant-newsletter-extension-has-stats/</link>
		<comments>http://gravityblast.com/2008/03/27/radiant-newsletter-extension-has-stats/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 21:53:04 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Radiant]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2008/03/27/radiant-newsletter-extension-has-stats/</guid>
		<description><![CDATA[Some weeks ago Casper Fabricius sent me a patch for the Radiant Newsletter extension. He added a statistics system to track how many times sent emails are opened. I have finally found the time to apply it and make a commit to my repository. Thank you very very much for your work Casper! I&#8217;ll write [...]]]></description>
			<content:encoded><![CDATA[<p>Some weeks ago <a href="http://casperfabricius.com/blog/">Casper Fabricius</a> sent me a patch for the <a href="http://gravityblast.com/projects/radiant-newsletter-extension/">Radiant Newsletter extension.</a> He added a statistics system to track how many times sent emails are opened. I have finally found the time to apply it and make a commit to my repository. Thank you very very much for your work Casper! I&#8217;ll write an article about this extension as soon as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2008/03/27/radiant-newsletter-extension-has-stats/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WillPaginate with ajax and unobtrusive js</title>
		<link>http://gravityblast.com/2008/03/25/will_paginate-with-ajax-and-unobtrusive-javascript/</link>
		<comments>http://gravityblast.com/2008/03/25/will_paginate-with-ajax-and-unobtrusive-javascript/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 16:43:44 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2008/03/25/will_paginate-with-ajax-and-unobtrusive-javascript/</guid>
		<description><![CDATA[Every day I use will_paginate plugin to paginate list of records. Today I need to paginate with ajax, and googling I only found a patch for the plugin that adds some code inside the generated links. Thus I decided to write a few lines of javascript to generate the same behaviour:
var Pagination = {  [...]]]></description>
			<content:encoded><![CDATA[<p>Every day I use <a href="http://rock.errtheblog.com/will_paginate" title="will_paginate">will_paginate</a> plugin to paginate list of records. Today I need to paginate with ajax, and googling I only found a patch for the plugin that adds some code inside the generated links. Thus I decided to write a few lines of javascript to generate the same behaviour:</p>
<pre><code>var Pagination = {  

  initLinks: function() {
    $('container').select('div.pagination a').invoke('observe', 'click', Pagination.linkHandler);
  },

  linkHandler: function(event) {
    event.stop();
    new Ajax.Updater('container', event.element().getAttribute('href'),{
      method: 'get',
      onComplete: Pagination.initLinks
    });
  }

}

document.observe('dom:loaded', Pagination.initLinks);
</code></pre>
<p>Obviously the code it&#8217;s not optimized, it&#8217;s just an example, but it works. You only need create a list of records inside a div caled &#8216;container&#8217;, and that div will be update with the content loaded by the ajax request.</p>
<p><strong>[UPDATE] </strong>I like the <a href="http://www.prototypejs.org/" title="PrototypeJS">prototype</a> OO way to write js. So I wote the same thing with a class:</p>
<pre><code>var Pagination = Class.create({ 

  initialize: function() {
    this.options = Object.extend({
      container: 'container'
    }, arguments[0] || {});
    this.initLinks();
  },  

  initLinks: function() {
    $(this.options.container).select('div.pagination a').invoke('observe', 'click', this.linkHandler.bind(this));
  },  

  linkHandler: function(event) {
    event.stop();
    new Ajax.Updater('container', event.element().getAttribute('href'),{
      method: 'get',
      onComplete: this.initLinks.bind(this)
    });
  }

});

document.observe('dom:loaded', function() {
  new Pagination();
});</code></pre>
<p>The latest version is more customizable because the constructor could receive a list of options. For now it&#8217;s only one, you can specify the container that will be updated, but you could add more options like the name of the spinner to show during requests and so on.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2008/03/25/will_paginate-with-ajax-and-unobtrusive-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speed up your sortable list with LiteSortable</title>
		<link>http://gravityblast.com/2007/12/17/speed-up-your-sortable-list-with-litesortable/</link>
		<comments>http://gravityblast.com/2007/12/17/speed-up-your-sortable-list-with-litesortable/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 16:32:24 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ria]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2007/12/17/speed-up-your-sortable-list-with-litesortable/</guid>
		<description><![CDATA[I love to use prototype and scriptaculous to create Rich Internet Application, and I love all the built-in effects and libraries of script.aculo.us.
Today I was working with Sortable.create to provide a simple way to reorder images inside a gallery. I started using the same code used in the SortableListsDemo page of the official wiki. Each [...]]]></description>
			<content:encoded><![CDATA[<p>I love to use <a href="http://prototypejs.org/">prototype</a> and <a href="http://script.aculo.us/">scriptaculous</a> to create Rich Internet Application, and I love all the built-in effects and libraries of script.aculo.us.<br />
Today I was working with <a href="http://wiki.script.aculo.us/scriptaculous/show/Sortable.create">Sortable.create</a> to provide a simple way to reorder images inside a gallery. I started using the same code used in the <a href="http://wiki.script.aculo.us/scriptaculous/show/SortableListsDemo">SortableListsDemo</a> page of the official wiki. Each time the list is updated, the serialized list is sent to the server. The server receives the list and updates all the images positions. It&#8217;s pretty simple and works fine, but the problem is that the server executes a query for each image in the gallery. This means that if I have 100 images, 100 queries will be run. It&#8217;s a hell for my server! The best way to improve this action is to send to the server more detailed information, such as the dragged image, the old position and the new position. In this way I can execute only 2 queries for each movement. To do that I wrote a simple javascript class called LiteSortable that acts like the Sortable.create method. It receives the same parameters, and the same callbacks: onUpdate, onChange. The only change is that these 2 callbacks will receive more information about the movement, and I can improve the previous client side code with:</p>
<pre><code>function sort(list, element, id, old_position, new_position) {
  new Ajax.Request('/admin/gallery_item/sort/', {
    evalScripts:true,
    parameters: {
      id: id,
      old_position: old_position,
      new_position: new_position
    }
  });
}

document.observe('dom:loaded', function() {
  new LiteSortable('list', {
    onUpdate: sort
  });
});</code></pre>
<p>And the server code become like the following:</p>
<pre><code>def sort
  old_position, new_position = params[:old_position].to_i, params[:new_position].to_i
  @item = GalleryItem.find(:first, :conditions =&gt; ["id = ? AND position = ?", params[:id], old_position])
  if @item
    x, y, z = old_position &lt; new_position ? ["-", "&lt;", "&gt;"] : ["+", "&gt;", "&lt;"]
    GalleryItem.update_all("position = (position #{x} 1)", ["parent_id IS NULL AND gallery_id = ? AND position #{y}= ? AND position #{z}= ?", @item.gallery_id, new_position, old_position])
    @item.update_attribute('position', new_position)
  else
    @error = true
  end
end</code></pre>
<p>If @error is true, it means that the dragged image it&#8217;s been deleted or moved by somone else.<br />
If you want to use LiteSortable you can check out the entire project with:</p>
<pre><code>svn co http://dev.gravityblast.com/svn/projects/js/LiteSortable/</code></pre>
<p>&#8230;or save download the lite_sortable.js file from <a href="http://dev.gravityblast.com/svn/projects/js/LiteSortable/src/lite_sortable.js">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2007/12/17/speed-up-your-sortable-list-with-litesortable/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Subversion Support for Gallery Extension</title>
		<link>http://gravityblast.com/2007/12/05/subversion-for-the-gallery-extension/</link>
		<comments>http://gravityblast.com/2007/12/05/subversion-for-the-gallery-extension/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 17:46:56 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Gor]]></category>

		<category><![CDATA[Radiant]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2007/12/05/subversion-for-the-gallery-extension/</guid>
		<description><![CDATA[I&#8217;m going to move all my projects to subversion. Now I&#8217;m moving the Gallery extension.The subversion repository is here:
http://dev.gravityblast.com/svn/projects/radiant/extensions/gallery/
You can check it out with
svn co http://dev.gravityblast.com/svn/projects/radiant/extensions/gallery/
The new version uses attachment_fu, and the filesystem organization is changed. In order to use the new version with galleries created by old versions of the Gallery extension you must [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to move all my projects to subversion. Now I&#8217;m moving the <a href="http://gravityblast.com/projects/radiant-gallery-extension/" title="Radiant Gallery extension">Gallery extension</a>.The subversion repository is here:</p>
<pre><code>http://dev.gravityblast.com/svn/projects/radiant/extensions/gallery/</code></pre>
<p>You can check it out with</p>
<pre><code>svn co http://dev.gravityblast.com/svn/projects/radiant/extensions/gallery/</code></pre>
<p>The new version uses <a href="http://svn.techno-weenie.net/projects/plugins/attachment_fu/" title="AttachmentFu">attachment_fu</a>, and the filesystem organization is changed. In order to use the new version with galleries created by old versions of the Gallery extension you must  run this rake task:</p>
<pre><code>rake RAILS_ENV="production" radiant:extensions:gallery:version_0_7_0:upgrade_filesystem_structure</code></pre>
<p>I suggest making a backup of all your pictures before running the above rake task. Let me know if everything works correctly!</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2007/12/05/subversion-for-the-gallery-extension/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CopyMove 1.9 is out!</title>
		<link>http://gravityblast.com/2007/11/29/copymove-19-is-out/</link>
		<comments>http://gravityblast.com/2007/11/29/copymove-19-is-out/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 14:48:52 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Radiant]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[copymove]]></category>

		<category><![CDATA[extension]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2007/11/29/copymove-19-is-out/</guid>
		<description><![CDATA[Now the CopyMove extension uses subversion, and you can check it out from its repository with:
svn co http://dev.gravityblast.com/svn/projects/radiant/extensions/copy_move/
Thanks to Benny Degezelle now it works with the shards extension. This is the best way to hack the Radiant admin UI!  Benny also helped me updating the rake tasks and rewriting the CopyMove html structure so [...]]]></description>
			<content:encoded><![CDATA[<p>Now the <a href="http://gravityblast.com/projects/radiant-copymove-extension/" title="Radiant CopyMove extension">CopyMove</a> extension uses subversion, and you can check it out from its repository with:</p>
<pre><code>svn co http://dev.gravityblast.com/svn/projects/radiant/extensions/copy_move/</code></pre>
<p>Thanks to Benny Degezelle now it works with the <a href="http://dev.radiantcms.org/svn/radiant/trunk/extensions/shards/" title="Radiant Shards extension">shards</a> extension. This is the best way to hack the <a href="http://radiantcms.org/" title="RadiantCMS">Radiant</a> admin UI!  Benny also helped me updating the rake tasks and rewriting the CopyMove html structure so it is  similar to the other admin screens&#8230;Thanks Benny :)I also moved all the code in a separated controller, wrote a complete test suite, and added the ability to choose the status for the copied pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2007/11/29/copymove-19-is-out/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GravityBlast respositories</title>
		<link>http://gravityblast.com/2007/11/19/garvityblast-respositories/</link>
		<comments>http://gravityblast.com/2007/11/19/garvityblast-respositories/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 11:41:23 +0000</pubDate>
		<dc:creator>Andrea Franz</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[extensions]]></category>

		<category><![CDATA[Radiant]]></category>

		<category><![CDATA[repositories]]></category>

		<guid isPermaLink="false">http://gravityblast.com/2007/11/19/garvityblast-respositories/</guid>
		<description><![CDATA[UPDATE: The new repository is based on subversion, and you can find it here.
I&#8217;ve just moved my repositories from darcs.bigchieflabs.com to darcs.gravityblast.com. Here you can find my projects, primarily extensions for radiant like Gallery, CopyMove, DefaultPageParts, Dynamic, Subscriber, Newsletter&#8230;
]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE</strong>: The new repository is based on subversion, and you can find it <a href="http://dev.gravityblast.com/svn/projects" title="GravityBlast repository">here</a>.</p>
<p>I&#8217;ve just moved my repositories from <a href="http://darcs.bigchieflabs.com" title="Old repositories">darcs.bigchieflabs.com</a> to <a href="http://darcs.gravityblast.com" title="GravityBlast repositories">darcs.gravityblast.com</a>. Here you can find my projects, primarily extensions for radiant like <a href="http://gravityblast.com/projects/radiant-gallery-extension/" title="Radiant Gallery Extension">Gallery</a>, <a href="http://gravityblast.com/projects/radiant-page-utilities/" title="Radiant CopyMove Extension">CopyMove</a>, <a href="http://gravityblast.com/projects/radiant-page-utilities/" title="Radiant DefaultPageParts Extension">DefaultPageParts</a>, <a href="http://gravityblast.com/projects/radiant-page-utilities/" title="Radiant Dynamic Extension">Dynamic</a>, Subscriber, <a href="http://gravityblast.com/projects/radiant-newsletter-extension/" title="Radiant Newsletter Extension">Newsletter</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://gravityblast.com/2007/11/19/garvityblast-respositories/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
