<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>config/swarm.config</filename>
    </added>
    <added>
      <filename>config/swarm_rails.config</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -15,3 +15,14 @@ http://github.com/guides/the-github-api
 = Top Gitters:
 http://github.com/mmcgrana/clj-garden/raw/master/gitcred/RESULTS.txt
 
+= Music:
+Credits to @gilesgoatboy (also @djgoatboy).
+http://gilesgoatboy.org
+
+= Generating a video
+
+# cutting an mp3 file to right length:
+ffmpeg -i music.mp3 -ss 00:00:00 -t 00:01:00 -vcodec copy -acodec mp3 music-cut.mp3
+
+# generating video from snapshots and mp3
+ffmpeg -f image2 -r 24 -i ./%05d.png -i music-cut.mp3 -acodec copy -sameq ./video.avi -pass 2</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,8 @@ require 'open-uri'
 require 'time'
 require 'json'
 
-username = 'igrigorik'
+username = ARGV[0]
+exit if username.nil?
 
 userdata = JSON.parse(open('http://github.com/api/v1/json/'+username).read)[&quot;user&quot;]
 puts &quot;Author: #{userdata[&quot;name&quot;]}&quot;
@@ -26,7 +27,11 @@ history = File.open(&quot;user-history.log.xml&quot;, &quot;w&quot;)
 user_commits = []
 userdata[&quot;repositories&quot;].each do |repo|
 
-  repodata = JSON.parse(open(&quot;http://github.com/api/v1/json/#{username}/#{repo[&quot;name&quot;]}/commits/master&quot;).read)
+  begin
+    repodata = JSON.parse(open(&quot;http://github.com/api/v1/json/#{username}/#{repo[&quot;name&quot;]}/commits/master&quot;).read)
+  rescue Exception =&gt; e
+    sleep 5; next
+  end
   commits = repodata[&quot;commits&quot;]
 
   # Sample commit information from API (JSON):
@@ -46,8 +51,12 @@ userdata[&quot;repositories&quot;].each do |repo|
     next if commit[&quot;committer&quot;][&quot;email&quot;] != userdata[&quot;email&quot;]
 
     puts &quot;#{repo[&quot;name&quot;]}: #{commit[&quot;id&quot;]}&quot;
+    begin
     commitdata = JSON.parse(open(&quot;http://github.com/api/v1/json/#{username}/#{repo[&quot;name&quot;]}/commit/#{commit[&quot;id&quot;]}&quot;).read)[&quot;commit&quot;]
-    
+    rescue Exception =&gt; e
+      sleep 5; next
+    end
+
     commit[&quot;committed_date&quot;] = Time.parse(commit[&quot;committed_date&quot;])
     commit[&quot;repository&quot;] = repo[&quot;name&quot;]
     commit[&quot;details&quot;] = commitdata</diff>
      <filename>gitter.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>swarm.config</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>3ba166ca6830e173bf239c565ba0b62dcde12762</id>
    </parent>
  </parents>
  <author>
    <name>Ilya Grigorik</name>
    <email>ilya@igvita.com</email>
  </author>
  <url>http://github.com/igrigorik/gitter/commit/48c09ab6404562bd6dbf950c0424c93af43c2b00</url>
  <id>48c09ab6404562bd6dbf950c0424c93af43c2b00</id>
  <committed-date>2009-01-26T23:50:59-08:00</committed-date>
  <authored-date>2009-01-26T23:50:59-08:00</authored-date>
  <message>recover on http fail, move configs</message>
  <tree>d200f12b99ded673a1305c7ed41ab10deb56c2e9</tree>
  <committer>
    <name>Ilya Grigorik</name>
    <email>ilya@igvita.com</email>
  </committer>
</commit>
