<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-1175026480841117268</id><updated>2009-09-26T07:22:40.236-07:00</updated><title type='text'>Gigism</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-6358453096771300023</id><published>2009-07-30T19:35:00.000-07:00</published><updated>2009-07-30T19:50:16.437-07:00</updated><title type='text'>Finally understanding BigTable/HBase</title><content type='html'>A month or two ago I started evaluating &lt;a href="http://en.wikipedia.org/wiki/Hadoop"&gt;Hadoop&lt;/a&gt;, primarily &lt;a href="http://en.wikipedia.org/wiki/Hadoop#Hadoop_Distributed_File_System"&gt;HDFS&lt;/a&gt;.  That was when I caught up to where people were 2+ years ago.  I knew the Google papers were out, but I didn't pay much attention to them.  Now, I'm back using Hadoop (I'm in the process of creating a development cluster, 4 nodes total - baby steps) and trying to understand the sparse multidimensional map approach to data storage (primarily &lt;a href="http://en.wikipedia.org/wiki/HBase"&gt;HBase&lt;/a&gt; - but it would seem to also apply to &lt;a href="http://en.wikipedia.org/wiki/Bigtable"&gt;BigTable&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Cassandra_%28database%29"&gt;Cassandra&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Dynamo_%28storage_system%29"&gt;Dynamo&lt;/a&gt;, and &lt;a href="http://project-voldemort.com/"&gt;Voldemort&lt;/a&gt;).  I think &lt;a href="http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable"&gt;this&lt;/a&gt; wiki entry from Jim Wilson has put more over the top - I think I actually get it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-6358453096771300023?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/6358453096771300023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=6358453096771300023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6358453096771300023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6358453096771300023'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2009/07/finally-understanding-bigtablehbase.html' title='Finally understanding BigTable/HBase'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-6630766006952178870</id><published>2008-11-13T16:00:00.000-08:00</published><updated>2008-11-13T16:17:29.329-08:00</updated><title type='text'>SVN - you amuse me....</title><content type='html'>&lt;span style="font-family: georgia;"&gt;After getting knee-deep in Git, I've struggled with questions about whether branching &amp;amp; merging with Git is truly better than SVN (well, we know it is because Mr. Torvalds' said so).  My current project is something I had been planning on moving to Git.  However, I didn't think since it's just me (a single developer) that the distributed qualities of Git would be enough to warrant the intellectual burden the next developer would have learning it.  I had always planned on keeping a version of the codebase in SVN (via the bi-directional git-svn application).  But a friend at OOPSLA swayed me to learn at just doing the branching &amp;amp; tagging with SVN.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;I mean, I haven't experienced the pain of merging w/ SVN firsthand - so why not?  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;Here's one reason why: SVN has zero idea about branches.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;A branch is a branch to you - but to SVN, it's just a copy operation.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;How do you know when you branches off of the trunk (or another branch)?  Well, you just look for the last copy operation!  YUP!&lt;/span&gt; &lt;pre class="screen"&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new;"&gt;$ svn log --verbose --stop-on-copy \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;          http://svn.example.com/repos/calc/branches/my-calc-branch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;…&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;r341 | user | 2002-11-03 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Changed paths:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   A /calc/branches/my-calc-branch (from /calc/trunk:340)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;So - that's interesting.  Yet, I can sort of accept it (though I feel like an idiot doing so).  The kicker is this.... when you do a merge, "how do you know what you've merge?"  Good question!&lt;br /&gt;&lt;br /&gt;Say you have a long-life feature branch.  You've done some development and merged the changes into the trunk (or mainline).  Now, you're continuing to do development.  How will you know where to merge from? &lt;br /&gt;&lt;br /&gt;Interestingly enough, you don't know - unless you follow the branching/merging "best practice" of including your revision numbers for the branch when committing the merge (I'll let that sink in). &lt;br /&gt;&lt;br /&gt;Now - I believe that you have full history with Git.  So I need to go back now and see if that's true.  But I believe you can even look at the merges with something like gitk and you can see the history.  So there is no looking for the last copy operation or checking commit messages to see what revision to start merging from. &lt;br /&gt;&lt;br /&gt;Oh - I am reading an older version of the SVN book (because we are using an old, out-of-date version of SVN).  Perhaps there is a better way to do it now.  But I just wanted to share my amusement.&lt;br /&gt;&lt;br /&gt;source: http://svnbook.red-bean.com/en/1.2/svn-book.html#svn.branchmerge.commonuses.wholebr&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-6630766006952178870?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/6630766006952178870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=6630766006952178870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6630766006952178870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6630766006952178870'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/11/svn-you-amuse-me.html' title='SVN - you amuse me....'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-6580234282997488713</id><published>2008-08-24T20:01:00.000-07:00</published><updated>2008-08-24T20:05:03.456-07:00</updated><title type='text'>Interesting String behavior in Groovy</title><content type='html'>I've been writing some &lt;a href="http://groovy.codehaus.org"&gt;Groovy&lt;/a&gt; code in the last week. I did something silly that the Java compiler would have caught and scolding me for doing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;def body&lt;br /&gt;// ....&lt;br /&gt;body += someContent&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;What happened was my body strings were all prefixed with the character string "null."  Apparently doing a concatenation on a null String causes "null" to be produced.&lt;br /&gt;&lt;br /&gt;I do not claim this to be good or bad - I just think it's interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-6580234282997488713?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/6580234282997488713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=6580234282997488713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6580234282997488713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6580234282997488713'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/08/interesting-string-behavior-in-groovy.html' title='Interesting String behavior in Groovy'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-5918310715950136043</id><published>2008-08-24T19:52:00.000-07:00</published><updated>2008-08-24T20:01:19.051-07:00</updated><title type='text'>getResourceAsStream() depends on what you're calling it on...</title><content type='html'>In writing some unit tests I ran into something I didn't expect.  I had a .properties file that I was using to state metadata.  In this case, the full path to a file my "Class Unit Test" was creating.&lt;br /&gt;&lt;br /&gt;It seems that calling getResourceAsStream() off of getClass() does not return the resource.  It's unfortunately that the Class class has a getResourceAsStream() method if it's not going to actually work.&lt;br /&gt;&lt;br /&gt;So...&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;InputStream input = getClass().getResourceAsStream("./test.properties")&lt;/span&gt;&lt;/blockquote&gt; returns null.&lt;br /&gt;&lt;br /&gt;If you use ResourceBundle to fetch "test" - it works.&lt;br /&gt;&lt;br /&gt;I thought that was odd.  I made a mention to my friend and he suggested that I need to be asking the ClassLoader to fetch the resource, not the class.&lt;br /&gt;&lt;br /&gt;So...&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;InputStream input = getClass().getClassLoader().getResourceAsStream("./test.properties")&lt;/span&gt;&lt;/blockquote&gt;returns the resource.&lt;br /&gt;&lt;div dir="ltr"&gt;&lt;br /&gt;Now - I am executing this from a GroovyTestCase instance.  I do not know the reason for this.  But either way, it's frustrating.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-5918310715950136043?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/5918310715950136043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=5918310715950136043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/5918310715950136043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/5918310715950136043'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/08/getresourceasstream-depends-on-what.html' title='getResourceAsStream() depends on what you&apos;re calling it on...'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-6783911698190335960</id><published>2008-08-24T19:24:00.000-07:00</published><updated>2009-07-14T10:29:19.800-07:00</updated><title type='text'>Install Git/Gitosis on a server (Debian) - Part 2</title><content type='html'>So I ran into some more issues before getting my Git hosting (via Gitosis) all working.&lt;br /&gt;&lt;br /&gt;The first hurdle was getting past an error thrown when attempting to do a `git clone` of the gitosis-admin repository.  The error was being thrown by os.py (remember that gitosis-admin is python based).  The error message looked like this:&lt;br /&gt;&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;File ”/usr/bin/gitosis-serve”, line 7, in ?  &lt;br /&gt;sys.exit(   File ”/usr/lib/python2.4/site-packages/gitosis-0.2-py2.4.egg/gitosis/app.py”, line 24, in run     return app.main()&lt;br /&gt;File ”/usr/lib/python2.4/site-packages/gitosis-0.2-py2.4.egg/gitosis/app.py”, line 38, in main     self.handle_args(parser, cfg, options, args)&lt;br /&gt;File ”/usr/lib/python2.4/site-packages/gitosis-0.2-py2.4.egg/gitosis/serve.py”, line 205, in handle_args     os.execvp(‘git-shell’, [‘git-shell’, ‘-c’, newcmd])&lt;br /&gt;File ”/usr/lib/python2.4/os.py”, line 341, in execvp     _execvpe(file, args)   File ”/usr/lib/python2.4/os.py”, line 379, in _execvpe     func(fullname, *argrest)&lt;br /&gt;OSError: [Errno 2] No such file or directory&lt;/blockquote&gt;The root cause of this is that the executable `git-shell` is missing from your install directory (be /usr/bin or /usr/local/bin).  I've done a install locally and all the 140-some executables were places in my install directory (/usr/bin).&lt;br /&gt;&lt;br /&gt;Originally, I just copied `git-shell` into /usr/bin.  That's hack-ish, what I ended up doing was creating a symlink to `git-shell` from where I have git (in my case, /opt/git-1.6.0, with a symlink to it named /opt/git).&lt;br /&gt;&lt;br /&gt;So now we can do our clone of the repository:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; `git clone git@YOUR_SERVER:gitosis-admin.git`&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;This appears in both tutorials I looked at [&lt;a href="http://www.urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian"&gt;urban puddle&lt;/a&gt;] [&lt;a href="http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way/comments/2419#comment-2419"&gt;scie.nti.st&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Now we want to create a new repository.  That was my next hurdle; and you won't need to overcome it if you follow directions.  Notably, the simple directions in either.  Which is that you need to modify the gitosis.conf  (which is Step 6 in the Urban Puddle tutorial and "Creating new repositories" in the scie.nti.st tutorial).&lt;br /&gt;&lt;br /&gt;I attempted to simply do something like initialize a git repository, do some commits, add a remote (origin) to the server, and then push to that remote (origin).&lt;br /&gt;&lt;br /&gt;If you have gone awry - like me - you'll run into the following error:&lt;br /&gt;&lt;br /&gt;&lt;span class="caps"&gt;ERROR&lt;/span&gt;:gitosis.serve.main:Repository read access denied&lt;br /&gt;fatal: The remote end hung up unexpectedly&lt;br /&gt;&lt;br /&gt;If you add the following under [gitosis] in the gitosis.conf:&lt;br /&gt;&lt;br /&gt;loglevel = DEBUG&lt;br /&gt;&lt;br /&gt;You'll get some &lt;a href="http://paste.ubuntu.com/40020/"&gt;helpful debug output&lt;/a&gt;.&lt;br /&gt;&lt;div class="paste"&gt;&lt;pre&gt;&lt;blockquote&gt;lenards@deedee:~/devel/cs453/project$ git push origin master:refs/heads/master&lt;br /&gt;DEBUG:gitosis.serve.main:Got command "git-receive-pack 'cs453-project.git'"&lt;br /&gt;DEBUG:gitosis.access.haveAccess:Access check for 'lenards@deedee' as 'writable' on 'cs453-project.git'...&lt;br /&gt;DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'cs453-project.git', new value 'cs453-project'&lt;br /&gt;DEBUG:gitosis.group.getMembership:found 'lenards@deedee' in 'gitosis-admin'&lt;br /&gt;DEBUG:gitosis.group.getMembership:found 'lenards@deedee' in 'cs453-project'&lt;br /&gt;DEBUG:gitosis.access.haveAccess:Access check for 'lenards@deedee' as 'writeable' on 'cs453-project.git'...&lt;br /&gt;DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'cs453-project.git', new value 'cs453-project'&lt;br /&gt;DEBUG:gitosis.group.getMembership:found 'lenards@deedee' in 'gitosis-admin'&lt;br /&gt;DEBUG:gitosis.group.getMembership:found 'lenards@deedee' in 'cs453-project'&lt;br /&gt;DEBUG:gitosis.access.haveAccess:Access check for 'lenards@deedee' as 'readonly' on 'cs453-project.git'...&lt;br /&gt;DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'cs453-project.git', new value 'cs453-project'&lt;br /&gt;DEBUG:gitosis.group.getMembership:found 'lenards@deedee' in 'gitosis-admin'&lt;br /&gt;DEBUG:gitosis.group.getMembership:found 'lenards@deedee' in 'cs453-project'&lt;br /&gt;ERROR:gitosis.serve.main:Repository read access denied&lt;br /&gt;fatal: The remote end hung up unexpectedly&lt;/blockquote&gt;&lt;/pre&gt;&lt;/div&gt;I missed the step in the directions about adding a new group to the gitosis.conf, which is why when doing your `git push origin master:refs/heads/master` it complains about not have readonly access.  There is *no* group to access, so you don't have writable or readonly access.&lt;br /&gt;&lt;br /&gt;After doing Step 6 from Urban Puddle tutorial - I was able to push my new repository for my compiler project.&lt;br /&gt;&lt;br /&gt;I hope this helps someone.&lt;br /&gt;&lt;br /&gt;Andy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-6783911698190335960?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/6783911698190335960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=6783911698190335960' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6783911698190335960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/6783911698190335960'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/08/install-gitgitosis-on-server-debian.html' title='Install Git/Gitosis on a server (Debian) - Part 2'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-1707884965680123717</id><published>2008-08-21T09:45:00.000-07:00</published><updated>2008-08-21T09:46:25.034-07:00</updated><title type='text'>Installing Git on a server (Debian)</title><content type='html'>&lt;a href="http://www.urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian" target="_blank"&gt;http://www.urbanpuddle.com/&lt;wbr&gt;articles/2008/07/11/&lt;wbr&gt;installing-git-on-a-server-&lt;wbr&gt;ubuntu-or-debian&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First off - a thank you to Vincent for pulling all these things together. &lt;br /&gt;&lt;br /&gt;I ran into an issue that seem to be related to the version of the git-core package (I'm running debian etch stable).  The version of git-core is 1.4.4, and apparently they had not introduced `git-init` until 1.5.* - so my calls to `gitosis-init` were erroring out (like this gentlemen's: &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473908" target="_blank"&gt;http://bugs.debian.org/cgi-&lt;wbr&gt;bin/bugreport.cgi?bug=473908&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;So - I just did an install from source for git-1.6.0 ... there are instructions out there, so I bother pointing to those.&lt;br /&gt;&lt;br /&gt;Thank again! I really did appreciate using this.&lt;br /&gt;&lt;br /&gt;The only thing I'd mention after that is the call to `gitosis-init` looks like this for debian:&lt;br /&gt;&lt;br /&gt;su - git -c gitosis-init &lt; /home/joeuser/.ssh/authorized_keys&lt;br /&gt;&lt;br /&gt;I tried to post this as a comment on Vincent's blog but I kept getting Apache errors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-1707884965680123717?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/1707884965680123717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=1707884965680123717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/1707884965680123717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/1707884965680123717'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/08/installing-git-on-server-debian.html' title='Installing Git on a server (Debian)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-3598048238607015391</id><published>2008-08-14T07:50:00.000-07:00</published><updated>2008-08-14T07:54:49.617-07:00</updated><title type='text'>Late again...</title><content type='html'>I've missed my self-made deadline again.  I had a horrible time trying to get my initial site done with the toolset I use daily (which is depressing, and makes me think about the toolset I use). &lt;br /&gt;&lt;br /&gt;Right now, I'm back to looking at Grails.  It still have issues with getting things to work in Grails.  There is something I'm missing, or it's just not clear that how I approach things is wrong.  But I've decided to invest time in learning more about Grails and Groovy for the time being.&lt;br /&gt;&lt;br /&gt;I've also been learning as much as possible about Git.  I recently gave a talk at the local Java Users Group about Git.  It seems to be definite improvement over Subversion.  And if you're thinking about all those posts ripping on Git's implementation or internal design, being a user at the porcelain I honestly don't care how it's implemented underneath.&lt;br /&gt;&lt;br /&gt;Plugging on ... we'll see if I can post more than every four months.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-3598048238607015391?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/3598048238607015391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=3598048238607015391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/3598048238607015391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/3598048238607015391'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/08/late-again.html' title='Late again...'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-9071923861590427477</id><published>2008-04-11T11:52:00.000-07:00</published><updated>2008-04-11T12:00:48.474-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gigism-dev gigism-alpha gigism-beta'/><title type='text'>Beta Release - Deadline June 4, 2008</title><content type='html'>I'm hoping to have a beta release of the gigism site up by June 4, 2008.  The beta will likely have a feature-set of a a central syndication feed (in RSS, with the potential for Atom support) along with a venue listing and some "editor choice" syndication feeds.  I've way behind - if you consider I was hoping to have something in place in October.  I've been rather business with work, consulting, and just attempting to stay fit.  I recently read a book called "&lt;a href="http://www.powells.com/biblio/2-9780465024117-2"&gt;Finding Flow&lt;/a&gt;" - and decided that coding on Gigism was good for my soul, overall.&lt;br /&gt;&lt;br /&gt;I'm gunning for an alpha release in the middle of May.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-9071923861590427477?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/9071923861590427477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=9071923861590427477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/9071923861590427477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/9071923861590427477'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/04/beta-release-deadline-june-4-2008.html' title='Beta Release - Deadline June 4, 2008'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-2481900321719952342</id><published>2008-04-11T11:40:00.001-07:00</published><updated>2008-04-11T11:51:52.018-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gigism-dev groovy grails tapestry selenium'/><title type='text'>Gigism Redux</title><content type='html'>So I failed horrible at getting an alpha version of Gigism running with Grails.  It wasn't because of the programming language or web framework (Groovy and Grails, in this case).  It was mainly because I was mentally fried and not in a good spot to be learning a new language and framework when I really had not be exposed to the object relational mapping that I attempting to make use. &lt;br /&gt;&lt;br /&gt;I've spent the last three weeks reading, playing, and coding object relationships with Hibernate now.  I think I understand more of the principles that were at play with GORM (the Groovey Object Relational Mapping API).  But I've decided to change the overall foundation of Gigism and go with something that I'm much more familiar with: Tapestry. &lt;br /&gt;&lt;br /&gt;Well, not just Tapestry.  I'm really attempting to mimic the application setup that I use on a daily basis at my current job (Tapestry with Spring and Hibernate). &lt;br /&gt;&lt;br /&gt;Since making the decision to go down the familiar route, I've managed to get an initial database schema in place along with building a good alpha data-layer with Hibernate (using annotations).  I've got some unit-tests in place, and I'm rather happy with the progress in that area.  I've also bogarted a template/layout for the initial site.  I'm not really a wizard with the ol' HTML/CSS - so having a good, attractive setting point is nice (and it appears that there is no shortage of free layouts on the web - many of which are released under Creative Commons). &lt;br /&gt;&lt;br /&gt;Along with unit-testing my code, I've started to play with Selenium RC to get testing in place for the client interface.  I'm hoping that it will allow me to deliver something a bit more stable (or at least stable early on).  Coming from the .NET side of the development fence, I'm not an avid tester (like many in the Java community).  I guess this is an attempt at coming "test infected."  Oh, and I am looking at using Groovy for my unit-tests.  The initial stuff I have is just regular Java with JUnit - but I would like to use Groovy when coming tests just because of the terseness of the code.  I really do like the language overall, I just found myself in over my head when trying to do a site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-2481900321719952342?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/2481900321719952342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=2481900321719952342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/2481900321719952342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/2481900321719952342'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2008/04/gigism-redux.html' title='Gigism Redux'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-8549510707303349858</id><published>2007-08-04T12:16:00.000-07:00</published><updated>2007-08-04T12:36:22.763-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gigism-dev gigism-idea'/><title type='text'>Gigism... a vision for the quest</title><content type='html'>So you go to that show, that gig, you've been waiting for and before the bands go on you bump into  friend.  They drop the news that your favorite band just rolled through town and you missed it. &lt;br /&gt;&lt;br /&gt;Now that sucks!  You weren't paying attention; or, perhaps, you forgot to go out to the website for each venue in town (say, there's maybe 7+ active venues in Tucson) and scroll through the upcoming shows.  It's a sinking feeling - sure, you'll get over it.  But what if the band breaks upon returning home (like Murder City Devils and At The Drive-in did after a tour together).  Or the band never makes it back to your hometown.  Or the lead singer DO'd and dies.  Or one of the guys kills themselves.  Or that was the last show before they started writing shitty music.  There's a ton of things that can happen to generate intense regret.  And ya, regret is bad - but instead becoming better at dealing with regret I'd rather not have to miss said gigs. &lt;br /&gt;&lt;br /&gt;The above example is caused more often when you're not looking - something cool happens and you miss it.  I've also experienced the Gig-Doppler effect - you see the show coming, but things get business in your life and you hear it after it's already passed you. &lt;br /&gt;&lt;br /&gt;This is why I wanted to do 'gigism.'  The goal?  Create a common, easily consumable master-listing of all shows in town (Tucson).  Now, that's casting a large net!  So let's narrow it a bit - a master-listing of all shows from touring-bands coming to town.&lt;br /&gt;&lt;br /&gt;How do you create such a thing?  Well - find some technology that let's you aggregate data efficiently.  And, in my case, be able to program.&lt;br /&gt;&lt;br /&gt;I got into the idea of aggregating data with feeds (Live Bookmarks, RSS, Atom, whatever you want to call it) after google started their google personalized homepage (which is now going by the lame-name igoogle).  I was in San Francisco staying at my friend Stump's and he had a sweet homepage with all this news and information - right there, and automatically updated via ajax.&lt;br /&gt;&lt;br /&gt;And you have it - gigism... the motto I picked when pitching the idea to my friends was "no gossip, no photos - just gig info."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-8549510707303349858?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/8549510707303349858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=8549510707303349858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/8549510707303349858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/8549510707303349858'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2007/08/gigism-vision-for-quest.html' title='Gigism... a vision for the quest'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1175026480841117268.post-2787052303883800862</id><published>2007-07-30T18:32:00.000-07:00</published><updated>2007-07-30T18:44:23.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gigism-dev groovy grails'/><title type='text'>The Holy GRAILS</title><content type='html'>Last year at OOPSLA in Portland I picked up the &lt;a href="http://www.pragmaticprogrammer.com/titles/rails/index.html"&gt;Pragmatic Rails&lt;/a&gt; book.  Sure, I fell in love with the quick ways that I could rough out functionality (check out the weblog in 15 minutes - a &lt;a href="http://www.rubyonrails.org/screencasts"&gt;video of Rails&lt;/a&gt; in action).  But, I was far from a proficient Ruby programmer.  Anyway, I liked the idea - but I didn't want to "move there" until I was a better Ruby programmer. &lt;br /&gt;&lt;br /&gt;Over the weekend, I went to &lt;a href="http://www.nofluffjuststuff.com/"&gt;No Fluff, Just Stuff&lt;/a&gt; in Phoenix and was introduced the &lt;a href="http://groovy.codehaus.org/"&gt;Groovy &lt;/a&gt;programming language (a gateway dynamic programming language was C/C#/Java programmers, like myself).  Even better?  There's &lt;a href="http://grails.codehaus.org/"&gt;Grails&lt;/a&gt; - like Rails, but with Groovy as the programming language (there are some differences, but it's not worth me getting into here).   I actually stayed up until 2am that night playing with Groovy - and dreaming of how much easier doing gigism will be in this paradigm.&lt;br /&gt;&lt;br /&gt;Ah, so what is gigism?  Well, it's a term that I hope gets popular - and something I'll leave to another post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1175026480841117268-2787052303883800862?l=gigism.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gigism.blogspot.com/feeds/2787052303883800862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1175026480841117268&amp;postID=2787052303883800862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/2787052303883800862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1175026480841117268/posts/default/2787052303883800862'/><link rel='alternate' type='text/html' href='http://gigism.blogspot.com/2007/07/holy-grails.html' title='The Holy GRAILS'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/16254226981261945404</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05484774526917721533'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>