<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Posts tagged unix  - Entropy and Ecstasy</title><link>http://aaron.maenpaa.ca/blog/tags/unix/</link><description>The most recent ranting and ravings of a madman.</description><lastBuildDate>Sun, 22 May 2016 05:32:35 GMT</lastBuildDate><generator>PyRSS2Gen-1.0.0</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Top Ten (Mercurial) Commands</title><link>http://aaron.maenpaa.ca/blog/entries/2010/12/04/top_ten_mercurial_commands/</link><description>&lt;p&gt;Since &lt;a class="reference external" href="http://mercurial.selenic.com/"&gt;Mercurial&lt;/a&gt; took top spot in the &lt;a class="reference external" href="http://aaron.maenpaa.ca/blog/entries/2010/11/30/top_ten_commands_redux/"&gt;top ten commands&lt;/a&gt; post, I though it might be interesting to take a look at the break down of which Mercurial sub-commands I end up using:&lt;/p&gt;
&lt;pre class="literal-block"&gt;aaron@ares ~$ history | grep hg | awk '{print $3}' | sort | uniq -c | sort -rn | head
  97 st
  21 commit
  20 push
  14 addremove
   8 diff
   7 qrefresh
   4 qnew
   4 qfinish
   3 up
   3 revert
&lt;/pre&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;hg st&lt;/tt&gt; takes the top spot, indicating that &amp;quot;What the hell have I changed?&amp;quot; is a pretty important question to have answered. The fact that &lt;tt class="docutils literal"&gt;hg commit&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;hg push&lt;/tt&gt; are at the top while &lt;tt class="docutils literal"&gt;hg pull&lt;/tt&gt; is nowhere to be seen is a bit of an anomaly due to the fact that I'm the only one working on the repositories in question. I would expect  the results to be very different if you did the same experiment on my work machine. The &lt;tt class="docutils literal"&gt;hg q*&lt;/tt&gt; are all commands that are part of the &lt;a class="reference external" href="http://mercurial.selenic.com/wiki/MqExtension"&gt;Mercurial Queues&lt;/a&gt; extension that I use for shaping my changesets and rewriting history.&lt;/p&gt;
&lt;div class="section" id="extensions"&gt;
&lt;h3&gt;Extensions&lt;/h3&gt;
&lt;p&gt;I make pretty heavy use of both the Mercurial Queues and &lt;a class="reference external" href="http://mercurial.selenic.com/wiki/RebaseExtension"&gt;Rebase&lt;/a&gt; extensions. In tandem, they give me the ability to make my changesets to be exactly what I want them to be and to move my local branches to tip before I push (which I use so that I don't have to add trivial merge changesets). My workflow has a tendecy to look like this:&lt;/p&gt;
&lt;pre class="literal-block"&gt;$ # do work
$ hg qnew -f -m &amp;quot;A pithy commit message bugzid: 1234567&amp;quot; a_patch.diff
$ hg qpush -a
applying first.diff
now at: first.diff
$ hg pull --rebase
pulling from /a/repository
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
$ hg qpop
popping first.diff
now at: a_patch.diff
$ hg qfinish -a
$ hg push
pushing to /a/repository
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
$ hg qpush
applying first.diff
now at: first.diff
$ # do more work
$ hg qrefresh
$ hg pull --rebase
pulling from /a/repository
searching for changes
no changes found
$ hg qfinish -a
$ hg push
pushing to /a/repository
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
&lt;/pre&gt;
&lt;p&gt;Sure, I could live in the world of &lt;a class="reference external" href="http://mercurial.selenic.com/wiki/FetchExtension"&gt;hg fetch&lt;/a&gt; and type fewer commands, but I feel like having nice atomic changesets, commit messages without typos and a nice clean history is worth the extra typing.&lt;/p&gt;
&lt;/div&gt;
</description><guid isPermaLink="true">http://aaron.maenpaa.ca/blog/entries/2010/12/04/top_ten_mercurial_commands/</guid><pubDate>Sat, 04 Dec 2010 16:55:44 GMT</pubDate></item><item><title>Top Ten Commands (redux)</title><link>http://aaron.maenpaa.ca/blog/entries/2010/11/30/top_ten_commands_redux/</link><description>&lt;p&gt;A few years ago I posted a list of the &lt;a class="reference external" href="http://aaron.maenpaa.ca/blog/entries/2008/04/10/entertaining-meme/"&gt;top ten commands I use&lt;/a&gt; gleaned by parsing the output of &lt;tt class="docutils literal"&gt;history&lt;/tt&gt;. Here's the origional list ca. 2008:&lt;/p&gt;
&lt;pre class="literal-block"&gt;aaron@athena ~$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
 134 ls
  90 svn
  77 cd
  16 sudo
  15 gvim
  12 rm
  11 script/server
  11 hg
  10 mongrel_rails
   7 slocate
&lt;/pre&gt;
&lt;p&gt;... and here's the new list ca. 2010:&lt;/p&gt;
&lt;pre class="literal-block"&gt;aaron@ares ~$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
 198 hg
  59 paver
  41 ls
  36 ./blogc
  33 cd
  26 python
  19 gvim
  14 fab
  12 rm
  12 ./dist/sassey
&lt;/pre&gt;
&lt;div class="section" id="and-the-winner-is"&gt;
&lt;h3&gt;And the winner is...&lt;/h3&gt;
&lt;p&gt;The big change is that &lt;a class="reference external" href="http://mercurial.selenic.com/"&gt;Mercurial&lt;/a&gt; has completely replaced &lt;a class="reference external" href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; as my version control system of choice. Not only that, but I actually use &lt;tt class="docutils literal"&gt;hg&lt;/tt&gt; more than I used to use &lt;tt class="docutils literal"&gt;svn&lt;/tt&gt;. Part of this is that &lt;tt class="docutils literal"&gt;hg&lt;/tt&gt; is better/faster/easier/more useful than &lt;tt class="docutils literal"&gt;svn&lt;/tt&gt; and part of it is that I've really gotten in the habit of using Mercurial for &lt;strong&gt;everything&lt;/strong&gt; (which you might argue is a consequence of that first thing ;-).&lt;/p&gt;
&lt;p&gt;I've started using &lt;a class="reference external" href="http://paver.github.com/paver/"&gt;Paver&lt;/a&gt; and &lt;a class="reference external" href="http://docs.fabfile.org/0.9.3/"&gt;Fabric&lt;/a&gt; and they are both awesome. I've stopped using &lt;a class="reference external" href="http://rubyonrails.org/"&gt;Rails&lt;/a&gt;, but I was only really using it for school (My current &amp;quot;web framework&amp;quot; of choice is &lt;a class="reference external" href="http://www.cherrypy.org/"&gt;CherryPy&lt;/a&gt;, it is also awesome).&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;./blogc&lt;/tt&gt; which takes the number four sport, is one of the &lt;a class="reference external" href="http://aaron.maenpaa.ca/blog/entries/2010/11/03/new_location_new_tools_redux/"&gt;new tools&lt;/a&gt; that I use to work on my blog.&lt;/p&gt;
&lt;p&gt;Other than that, I still use &lt;tt class="docutils literal"&gt;gvim&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;rm&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;ls&lt;/tt&gt;, and &lt;tt class="docutils literal"&gt;cd&lt;/tt&gt;. Shocking!&lt;/p&gt;
&lt;/div&gt;
</description><guid isPermaLink="true">http://aaron.maenpaa.ca/blog/entries/2010/11/30/top_ten_commands_redux/</guid><pubDate>Tue, 30 Nov 2010 09:14:05 GMT</pubDate></item><item><title>An Entertaining Meme</title><link>http://aaron.maenpaa.ca/blog/entries/2008/04/10/entertaining-meme/</link><description>&lt;p&gt;An &lt;a class="reference external" href="http://www.b-list.org/weblog/2008/apr/10/meme/"&gt;entertaining meme&lt;/a&gt;&lt;/p&gt;
&lt;pre class="literal-block"&gt;$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
134 ls
90 svn
77 cd
16 sudo
15 gvim
12 rm
11 script/server
11 hg
10 mongrel_rails
7 slocate
&lt;/pre&gt;
</description><guid isPermaLink="true">http://aaron.maenpaa.ca/blog/entries/2008/04/10/entertaining-meme/</guid><pubDate>Thu, 10 Apr 2008 20:45:43 GMT</pubDate></item></channel></rss>