<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Milton Soares Filho</title>
	<atom:link href="http://blog.msoares.pro.br/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.msoares.pro.br</link>
	<description>Random rants and SW developers' stuff</description>
	<lastBuildDate>Thu, 08 Oct 2009 15:44:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sale</title>
		<link>http://blog.msoares.pro.br/archives/salesaldao</link>
		<comments>http://blog.msoares.pro.br/archives/salesaldao#comments</comments>
		<pubDate>Thu, 08 Oct 2009 14:59:51 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[classificados]]></category>
		<category><![CDATA[God of War]]></category>
		<category><![CDATA[notebook]]></category>
		<category><![CDATA[ps2]]></category>
		<category><![CDATA[vendo]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=172</guid>
		<description><![CDATA[Sorry, this entry is only available in Português Brasil.
]]></description>
			<content:encoded><![CDATA[<p>Sorry, this entry is only available in <a href="http://blog.msoares.pro.br/feed?lang=pt">Português Brasil</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/salesaldao/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt/openBossa Challenge</title>
		<link>http://blog.msoares.pro.br/archives/qtopenbossa-challenge</link>
		<comments>http://blog.msoares.pro.br/archives/qtopenbossa-challenge#comments</comments>
		<pubDate>Wed, 17 Jun 2009 15:04:51 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[FISL]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=143</guid>
		<description><![CDATA[Nice opportunity to win a Nokia N810 tablet at the FISL. (Free translation from pt_BR)

Do you have a good idea? Do you know the Qt library? Would you like to be awarded for that?
The INdT (Nokia Technology Institute), nowadays one of the main development excellence centers in Brazil, promotes the first Qt/openBossa challenge.
We look for [...]]]></description>
			<content:encoded><![CDATA[<p>Nice opportunity to win a <a href="http://www.forum.nokia.com/devices/N810">Nokia N810</a> tablet at the <a href="http://fisl.softwarelivre.org/10/www/">FISL</a>. (Free translation from pt_BR)</p>
<blockquote><p>
Do you have a good idea? Do you know the Qt library? Would you like to be awarded for that?</p>
<p>The INdT (Nokia Technology Institute), nowadays one of the main development excellence centers in Brazil, promotes the first Qt/openBossa challenge.</p>
<p>We look for developers capable of putting your ideas into practice and build Qt applications designed to Nokia&#8217;s mobile devices. Participants will create innovations which will be evaluated and awarded during the 10th International Free Software Forum (FISL).
</p></blockquote>
<p>More at <a href="http://openbossa.org/fisl/index.html">http://openbossa.org/fisl/index.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/qtopenbossa-challenge/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt Codestyle Automatic Check</title>
		<link>http://blog.msoares.pro.br/archives/qt-codestyle-automatic-check</link>
		<comments>http://blog.msoares.pro.br/archives/qt-codestyle-automatic-check#comments</comments>
		<pubDate>Sun, 14 Jun 2009 05:38:45 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[astyle]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[code style]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[testcase]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=133</guid>
		<description><![CDATA[Code style carries many benefits, such as improved maintainability and support for a rich Coding Standard. However it&#8217;s not safe to rely on developers to always comply to style rules along the source code, that&#8217;s why automatic code style verification should be an initial concern for professional-level works.
For the sake of coding-style-importance-aware people, there are [...]]]></description>
			<content:encoded><![CDATA[<p>Code style carries many <a href="http://www.articlesbase.com/programming-articles/10-benefits-of-using-coding-standards-to-software-development-team-312610.html">benefits</a>, such as improved maintainability and support for a rich <a href="http://www.ademar.org/texts/coding.html">Coding Standard</a>. However it&#8217;s not safe to rely on developers to always comply to style rules along the source code, that&#8217;s why automatic code style verification should be an initial concern for professional-level works.</p>
<p>For the sake of <em>coding-style-importance-aware people</em>, there are many great projects such as <a href="http://www.gnu.org/software/indent">GNU indent</a>, <a href="http://svn.browsershots.org/trunk/devtools/pep8/pep8.py">pep8</a> and <a href="http://astyle.sourceforge.net">astyle</a> that perform all the work for you, whose only need the appropriate setup <a href="http://techbase.kde.org/Policies/Kdelibs_Coding_Style">flags</a>.</p>
<p>For Qt projects, astyle is the recommended tool. But there are a few drawbacks on using it.</p>
<ul>
<li>it&#8217;s too intrusive. astyle performs code modification in-line, disturbing the repository sources instead of serving as a verification tool only</li>
<li>weak didactic factor. Unlike pep8 script, which tells the developer exactly what the problem is and contributes to avoid it at the future (as a <em>lesson learned</em> effect)</li>
<li>it&#8217;s output can not be <strong>easily</strong> integrated with another tools</li>
</ul>
<p>I&#8217;ve created a shell script in order to overcome some of the previous issues. It&#8217;s available <a href="http://gitorious.org/qt-codecheck">here</a>. Some relevant features.</p>
<ul>
<li><a href="http://www.vim.org/htmldoc/quickfix.html">quickfix</a>-style list output
</li>
<li><a href="http://doc.qtsoftware.com/4.5/qtestlib-manual.html">QTest</a> style output at the end
</li>
<li>Ignore moc created files</li>
<li>All suggested modifications can be applied as one patch, directly available to the user</li>
<li>Can be run inside a testsuite (make test) or as a standalone program
</li>
</ul>
<p>TODO</p>
<ul>
<li>try to <a href="http://astyle.sourceforge.net/develop">extend</a> astyle classes</li>
<li>allow alternative code styles</li>
<li>better source selection schema (integrated with qmake, maybe?)</li>
<li>fix-up improper indentation on some important macros (foreach, .e.g.)</li>
<li>test and make it work on MacOS</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/qt-codestyle-automatic-check/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>(Português Brasil) Teste Nerds</title>
		<link>http://blog.msoares.pro.br/archives/teste-nerds</link>
		<comments>http://blog.msoares.pro.br/archives/teste-nerds#comments</comments>
		<pubDate>Mon, 25 May 2009 21:59:13 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[nerd test]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=119</guid>
		<description><![CDATA[Sorry, this entry is only available in Português Brasil.
]]></description>
			<content:encoded><![CDATA[<p>Sorry, this entry is only available in <a href="http://blog.msoares.pro.br/feed?lang=pt">Português Brasil</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/teste-nerds/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Git Empty Branches</title>
		<link>http://blog.msoares.pro.br/archives/git-empty-branches</link>
		<comments>http://blog.msoares.pro.br/archives/git-empty-branches#comments</comments>
		<pubDate>Thu, 14 May 2009 18:38:15 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[VCS]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=85</guid>
		<description><![CDATA[Found out some interesting Git Hints presented as webcasts at the site below. The most interesting part was to learn how to create empty branches on it, so a project can be functionally separated without having to kludge your working dir with several directories.
GitCasts: Empty Branches
Summarizing the lesson:

$ git-symbolic-ref HEAD refs/heads/emptybranch
$ git-rm --cached -r .
$ [...]]]></description>
			<content:encoded><![CDATA[<p>Found out some interesting Git Hints presented as webcasts at the site below. The most interesting part was to learn how to create empty branches on it, so a project can be functionally separated without having to kludge your working dir with several directories.</p>
<p><a href="http://gitcasts.com/posts/empty-branches">GitCasts: Empty Branches</a></p>
<p>Summarizing the lesson:</p>
<pre>
$ git-symbolic-ref HEAD refs/heads/emptybranch
$ git-rm --cached -r .
$ git-commit --allow-empty -m "Initial commit for empty branch"
</pre>
<p>The library versus website example was perfect, but one can think about other relevant situations, like sub-projects inside a bigger project, management documentation or even meta-files configuring the repository itself (description and <a href="http://en.wikipedia.org/wiki/Access_control_list">ACL</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/git-empty-branches/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Português Brasil) Festa do Cartão Corporativo na Câmara Municipal de Manaus</title>
		<link>http://blog.msoares.pro.br/archives/festa-do-cartao-corporativo-na-camara-municipal-de-manaus</link>
		<comments>http://blog.msoares.pro.br/archives/festa-do-cartao-corporativo-na-camara-municipal-de-manaus#comments</comments>
		<pubDate>Fri, 08 May 2009 01:54:56 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[manaus]]></category>
		<category><![CDATA[política]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=91</guid>
		<description><![CDATA[Sorry, this entry is only available in Português Brasil.
]]></description>
			<content:encoded><![CDATA[<p>Sorry, this entry is only available in <a href="http://blog.msoares.pro.br/feed?lang=pt">Português Brasil</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/festa-do-cartao-corporativo-na-camara-municipal-de-manaus/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Old School Techniques</title>
		<link>http://blog.msoares.pro.br/archives/old-school-techniques</link>
		<comments>http://blog.msoares.pro.br/archives/old-school-techniques#comments</comments>
		<pubDate>Tue, 05 May 2009 22:24:52 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[past]]></category>

		<guid isPermaLink="false">http://blog.msoares.pro.br/?p=92</guid>
		<description><![CDATA[  <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&#038;articleId=9132061">Old-school programming techniques you probably don't miss</a>

I'm not a <em>punch card time</em> guy, but concerns like memory footprint size, code running faster and thread limitations still go around my mind nowadays.]]></description>
			<content:encoded><![CDATA[<p>Talking about old times stuff at the breakfast, it was so fortunate that I&#8217;ve already read a post about this issue earlier today.</p>
<p>  <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&#038;articleId=9132061">Old-school programming techniques you probably don&#8217;t miss</a></p>
<p>I&#8217;m not a <em>punch card time</em> guy, but concerns like memory footprint size, code running faster and thread limitations still go around my mind nowadays.</p>
<p>Don&#8217;t forget to take a look at the comments section for more funny and informative stories.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/old-school-techniques/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python-Debian Packaging for Maemo</title>
		<link>http://blog.msoares.pro.br/archives/python-debian-packaging-for-maemo</link>
		<comments>http://blog.msoares.pro.br/archives/python-debian-packaging-for-maemo#comments</comments>
		<pubDate>Tue, 28 Apr 2009 23:23:05 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[CDBS]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Make]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://msoares.dreamhosters.com/?p=41</guid>
		<description><![CDATA[Packaging a software component made using python to a Maemo device could be easier, if CDBS cared about hand-held devices and their limitations.
Knowing that using setup.py was the Right Way of Doing It&#8482; for python applications I tried to push myself into making CDBS work together, but not without a little harassment.
First of all, such [...]]]></description>
			<content:encoded><![CDATA[<p>Packaging a software component made using python to a <a href="http://maemo.org/">Maemo</a> device could be easier, if <a href="http://build-common.alioth.debian.org/cdbs-doc.html">CDBS</a> cared about hand-held devices and their limitations.</p>
<p>Knowing that using <strong>setup.py</strong> was the <em>Right Way of Doing It</em>&trade; for python applications I tried to push myself into making CDBS work together, but not without a little harassment.</p>
<p>First of all, such scope-limited distributions tend to gather components in customized places as to promote integration between them or just in sake of a plain different organization. This difficulty can be overcome by using <code>pycentral</code> and including the following line at <code>debian/rules</code> file.</p>
<pre name="code" class="xml">
export DH_PYCENTRAL=nomove</pre>
<p>Just as the manpage says, this will prevent the build-system from moving the files from the selected install prefix to a central place (like <code>/usr/share/pycentral</code>).</p>
<p>Secondly, because of limited storage capacity and speed-up necessities, usually python components install just their <code>.pyo</code> files. This requirement made me struggle trough CDBS&#8217; <strong>python-distutils.mk</strong> source code in hope for a simple fix. The answer I&#8217;ve found was to overrule the python-install target with the following commands (look <a href="http://blog.msoares.pro.br/wp-content/uploads/2009/04/python-distutils.diff">here</a> for the diff).</p>
<pre name="code" class="xml">
define FIXUP_DIST
    -find $(DEB_DESTDIR) -name '*.py' -exec rm -f {} \;
    -find $(DEB_DESTDIR) -name '*.pyc' -exec rm -f {} \;
    -find $(DEB_DESTDIR) -name '*.egg-info' -type d -exec rm -rf {} \;
endef

ifeq (all, $(cdbs_python_module_arch))
common-install-arch common-install-indep:: python-install-py
python-install-py:
    cd $(DEB_SRCDIR) &#038;&#038; $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
    $(call FIXUP_DIST)
else
common-install-arch common-install-indep:: $(addprefix python-install-, $(cdbs_python_build_versions))
python-install-%:
    cd $(DEB_SRCDIR) &#038;&#038; $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
    $(call FIXUP_DIST)
endif # archall detection</pre>
<p>Let&#8217;s say it&#8217;s inside a file named <strong>debian/fixup.mk</strong>, then my complete <strong>debian/rules</strong> file would be like this.</p>
<pre name="code" class="xml">
#!/usr/bin/make -f

DEB_PYTHON_SYSTEM=pycentral

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include debian/fixup.mk

export DH_PYCENTRAL=nomove</pre>
<p>And this is the beauty of CDBS, a file which would be several lines long gets resumed to a few lines.</p>
<p>I&#8217;m still trying to find a way to make this code available for all my components without installing it to a globally reachable path, but did not find a thing such as a MAKEFILEPATH variable untill now. I guess a package like <strong>cdbs-maemo-dev.deb</strong> would be an appropriate place for stuff like this, but pushing it there is for another post.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/python-debian-packaging-for-maemo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vim Scripting Using Python</title>
		<link>http://blog.msoares.pro.br/archives/vim-scripting-using-python</link>
		<comments>http://blog.msoares.pro.br/archives/vim-scripting-using-python#comments</comments>
		<pubDate>Fri, 10 Apr 2009 01:15:12 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://msoares.dreamhosters.com/?p=39</guid>
		<description><![CDATA[Trying to solve a colleague&#8217;s problem when editing Edje files, I pushed myself into learning how to do scripting inside Vim.
Scripting wasn&#8217;t ever my choice for reasonably complex editing tasks since I refused to learn Yet Another Scripting Language just because my favorite editor wanted me to. But, for the sake of all lazy guys [...]]]></description>
			<content:encoded><![CDATA[<p>Trying to solve a colleague&#8217;s problem when editing Edje files, I pushed myself into learning how to do scripting inside Vim.</p>
<p>Scripting wasn&#8217;t ever my choice for reasonably complex editing tasks since I refused to learn <em>Yet Another Scripting Language</em> just because my favorite editor wanted me to. But, for the sake of all lazy guys like me, Vim started to add python support, and python was a <strong>must learn</strong> bullet in my language listing.</p>
<p>However, not everything are flowers and the entry point must be configured using common vim script. Well, at least until vim supports python from its core, which &#8211; I believe &#8211; is not far from possible, since python integration <a href="http://www.vim.org/sponsor/vote_results.php">has been voted</a> as top priority for a long time.</p>
<p>To successfully import your python script inside vim context, one can wrap it into a vim function in an external file. Let&#8217;s call it <code>extras.vim</code>.</p>
<pre name="code" class="python">
" Title-ize sentences using python str methods
function! PyMakeTitle() " the ! erases previous definitions
python &lt;&lt; END " here-document (bash-style), read 'till given word
import vim
w = vim.current.window
b = vim.current.buffer
line, col = w.cursor
line -= 1
b[line] = b[line].title() # str.title() method
END
endfunction
</pre>
<p>After using <code>:source extras.vim</code> command to load it, one can call this function by typing <code>:call PyMakeTitle()</code>. Remember repeating the <code>:source</code> step every time the script gets updated.</p>
<p>The net effect of this function is to turn all initial word letters in the current line into capitals. It proved me to be useful when editing a large LaTeX document where all section titles were small letters only.</p>
<p>If it comes to be a very useful function, you may map it to a key-stroke by using <code>:nmap \t :call PyMakeTitle()&lt;CR&gt;</code> inside your vimrc script.</p>
<p>A more complex example accessing internal vim properties. Ok, it&#8217;s a bit useless, but it demonstrates well such features.</p>
<pre name="code" class="python">
" Auto Documentation (example code)
function! PyCreateDoc()
python &lt;&lt; END
import vim
name = vim.eval("expand(\"&lt;cword&gt;\")") # expand word under cursor
ts = int(vim.eval("&amp;ts")) # tab space property
il = int(vim.eval("indent(\".\")")) # indentation on current line
w = vim.current.window
l, c = w.cursor
docstr = '%s# @brief %s - write description' % (' ' * il, name)
b = vim.current.buffer
b[l-1:l-1] = [ docstr ]
print 'Indent set is %d, cursor at (%d, %d)' % (ts, l, c)
END
endfunction
</pre>
<p>With the cursor over a function name, type <code>:call PyCreateDoc()</code> and watch it insert a line above containing doxygen-like formatting.</p>
<p>For more examples, there is an excellent material at vim&#8217;s online help (see <code>:h python</code>). Furthermore, there are some plugins being made using only python, take a look at <strong>Omni Completion for Python</strong> (<a href="http://www.vim.org/scripts/script.php?script_id=1542">pythoncomplete.vim</a>) for a good reference on the power of using python inside vim.</p>
<p>Happy Easter Vim&#8217;ing!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/vim-scripting-using-python/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git References&#8217; Pointers</title>
		<link>http://blog.msoares.pro.br/archives/git-references-pointers</link>
		<comments>http://blog.msoares.pro.br/archives/git-references-pointers#comments</comments>
		<pubDate>Wed, 25 Mar 2009 12:47:39 +0000</pubDate>
		<dc:creator>milton</dc:creator>
				<category><![CDATA[Planet INdT]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[VCS]]></category>

		<guid isPermaLink="false">http://msoares.dreamhosters.com/?p=37</guid>
		<description><![CDATA[Earlier this year I&#8217;ve spent some time gathering references to study Git, the version control system everybody seems to love nowadays.
Thankfully, someone took the time to bind several useful links in one central webpage. If you wanna start studying Git, that&#8217;s the place to start. Kudos for such practical people (more specifically Scott Charcon and [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this year I&#8217;ve spent some time gathering references to study Git, the version control system everybody seems to love nowadays.</p>
<p>Thankfully, someone took the time to bind several useful links in one central webpage. If you wanna start studying Git, that&#8217;s the place to start. Kudos for such practical people (more specifically Scott Charcon and Petr Baudis).</p>
<p>  <a href="http://git-scm.com/documentation">http://git-scm.com/documentation</a></p>
<p>Just for reference, I&#8217;ll paste below the stuff I had.</p>
<blockquote><p>
Forwarded conversation<br />
Subject: Git Documentation Pointers<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
From: Milton Soares<br />
Date: Mon, Jan 19, 2009 at 12:33 PM</p>
<p>Hi.</p>
<p>Just to organize and share all the references I&#8217;ve gathered about Git learning.</p>
<p>On-line Resources</p>
<p> $ git help git<br />
 $ man gittutorial</p>
<p>Git Homepage Resources</p>
<p> <a href="http://www.kernel.org/pub/software/scm/git/docs/everyday.html">http://www.kernel.org/pub/software/scm/git/docs/everyday.html</a><br />
 <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html">http://www.kernel.org/pub/software/scm/git/docs/user-manual.html</a></p>
<p>SVN to Git crash course</p>
<p> <a href="http://git.or.cz/course/svn.html">http://git.or.cz/course/svn.html</a></p>
<p>Recording of the Git tutorial given by Bart Trojanowski for the OGRE</p>
<p> <a href="http://excess.org/article/2008/07/ogre-git-tutorial/">http://excess.org/article/2008/07/ogre-git-tutorial/</a></p>
<p>Palestra Git para o Google by Linux Torvalds</p>
<p> <a href="http://br.youtube.com/watch?v=4XpnKHJAok8">http://br.youtube.com/watch?v=4XpnKHJAok8</a></p>
<p>Git from the bottom up</p>
<p> <a href="http://www.newartisans.com/blog_files/git.from.bottom.up.php">http://www.newartisans.com/blog_files/git.from.bottom.up.php</a></p>
<p>&#8212;&#8212;&#8212;-<br />
From: Milton Soares<br />
Date: Tue, Jan 20, 2009 at 4:36 PM</p>
<p>More pointers:</p>
<p>GitWine &#8211; git tips by wine people</p>
<p> <a href="http://wiki.winehq.org/GitWine#head-079f5369fdb9346845a4a8c82475eb7a198312be">http://wiki.winehq.org/GitWine#head-079f5369fdb9346845a4a8c82475eb7a198312be</a></p>
<p>Git Wizardry</p>
<p> <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html">http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html</a></p>
<p>Git Wiki</p>
<p> <a href="http://git.or.cz/gitwiki/">http://git.or.cz/gitwiki/</a></p>
<p>Git Cheat Sheet</p>
<p> <a href="http://ktown.kde.org/~zrusin/git/">http://ktown.kde.org/~zrusin/git/</a></p>
<p>&#8212;&#8212;&#8212;-<br />
From: Milton Soares Filho<br />
Date: Sat, Feb 21, 2009 at 11:15 AM</p>
<p>Yet another usefull link (pretty graphical explanations on git objects).</p>
<p>Tv&#8217;s cobweb: Git for Computer Scientists</p>
<p> <a href="http://eagain.net/articles/git-for-computer-scientists/">http://eagain.net/articles/git-for-computer-scientists/</a>
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.msoares.pro.br/archives/git-references-pointers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
