<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>has_many :thoughts: Tag OSX</title>
    <link>http://blog.kineticweb.com/articles/tag/osx</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Musings from a Ruby on Rails development team</description>
    <item>
      <title>Upgrading Git on Mac OS X</title>
      <description>&lt;p&gt;We recently switched to git based capistrano deployments and I quickly found out that these weren&amp;#8217;t working from my MacBook Pro. I noticed that my git version was a few behind my coworker&amp;#8217;s, so I figured it was time to upgrade.&lt;/p&gt;


	&lt;p&gt;Following &lt;a href="http://blog.kineticweb.com/articles/2007/10/30/compiling-git-for-mac-os-x-leopard-10-5"&gt;Justin&amp;#8217;s original git compilation instructions&lt;/a&gt;, I downloaded and compiled the latest Git version, 1.6.2 like so:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;curl -O http://kernel.org/pub/software/scm/git/git-1.6.2.tar.gz
tar jxvf git-1.6.2.tar.gz
cd git-1.6.2
make prefix=/usr/local all
make prefix=/usr/local test &amp;amp;&amp;amp; echo $?
sudo make prefix=/usr/local install&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;When the compile was done, it gave me output like this:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;!! You have installed git-* commands to new gitexecdir.
!! Old version git-* commands still remain in bindir.
!! Mixing two versions of Git will lead to problems.
!! Please remove old version commands in bindir now.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Thanks to &lt;a href="https://wincent.com/wiki/Updating_to_Git_1.6.0.1"&gt;this nice posting&lt;/a&gt;, I discovered this always happens when you upgrade to 1.6 and above. Git now only puts the main git binary and a few others in your /usr/local/bin and it tucks the rest away elsewhere. That meant that all the other zillion binaries needed to be deleted from my bin. I simply did:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;cd /usr/local/bin/
ls -latr | grep git&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Which gave me an ordered list of all the git binaries installed. The ones at the end all had today&amp;#8217;s date on them, so I knew those were the new versions. The rest I could whack. The ones I could keep were &lt;code&gt;git-upload-pack&lt;/code&gt;, &lt;code&gt;git-upload-archive&lt;/code&gt;, &lt;code&gt;git-receive-pack&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt;, &lt;code&gt;git-shell&lt;/code&gt;, &lt;code&gt;git-cvsserver&lt;/code&gt;, and &lt;code&gt;gitk&lt;/code&gt;. The rest I removed like so:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;sudo rm git-var git-update-server-info git-unpack-file git-ssh-upload git-ssh-push git-ssh-pull git-ssh-fetch git-show-index git-send-pack git-peek-remote git-patch-id git-pack-redundant git-mktree git-mktag git-merge-tree git-merge-recursive git-merge-index git-local-fetch git-index-pack git-imap-send git-http-push git-http-fetch git-hash-object git-fetch-pack git-fast-import git-daemon git-convert-objects git-bisect git-write-tree git-whatchanged git-verify-tag git-verify-pack git-update-ref git-update-index git-unpack-objects git-tar-tree git-tag git-symbolic-ref git-svnimport git-svn git-submodule git-stripspace git-status git-stash git-show-ref git-show-branch git-show git-shortlog git-sh-setup git-send-email git-runstatus git-rm git-revert git-rev-parse git-rev-list git-reset git-rerere git-request-pull git-repo-config git-repack git-remote git-relink git-reflog git-rebase--interactive git-rebase git-read-tree git-quiltimport git-push git-pull git-prune-packed git-prune git-parse-remote git-pack-refs git-pack-objects git-name-rev git-mv git-mergetool git-merge-subtree git-merge-stupid git-merge-resolve git-merge-ours git-merge-one-file git-merge-octopus git-merge-file git-merge-base git-merge git-mailsplit git-mailinfo git-ls-tree git-ls-remote git-ls-files git-lost-found git-log git-instaweb git-init-db git-init git-gui git-grep git-get-tar-commit-id git-gc git-fsck-objects git-fsck git-format-patch git-for-each-ref git-fmt-merge-msg git-filter-branch git-fetch--tool git-fetch git-diff-tree git-diff-index git-diff-files git-diff git-describe git-cvsimport git-cvsexportcommit git-count-objects git-config git-commit-tree git-commit git-clone git-clean git-citool git-cherry-pick git-cherry git-checkout-index git-checkout git-check-ref-format git-check-attr git-cat-file git-bundle git-branch git-blame git-archive git-archimport git-apply git-annotate git-am git-add--interactive git-add gitjour&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Then I just had to go back and install the manpages for the new version like so:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;curl -O http://kernel.org/pub/software/scm/git/git-manpages-1.6.2.tar.bz2
sudo tar xjv -C /usr/local/man -f git-manpages-1.6.2.tar.bz2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;And, low and behold, I was now running git 1.6.2! What&amp;#8217;s more, my capistrano deployments work now.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Mar 2009 08:11:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:04202962-c370-463c-8dd6-e2acb98f6ea2</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2009/03/07/upgrading-git-on-mac-os-x</link>
      <category>git</category>
      <category>mac</category>
      <category>OSX</category>
    </item>
    <item>
      <title>Compiling Emacs.app and Tips</title>
      <description>&lt;p&gt;I&amp;#8217;d like to start by thanking Mr. Peepcode for his article which presented &lt;a href="http://nubyonrails.com/articles/emacs-emacs"&gt;a great case for learning Emacs&lt;/a&gt;! Without it, I would have never thought of mastering the only Unix editor I had yet to experience.&lt;/p&gt;


	&lt;h2&gt;Configure With NS&lt;/h2&gt;


	&lt;p&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; is NeXTstep Unix&amp;#8230; why even bother with Aqua, Carbon, Cocoa Emacs when you can just compile &amp;#8220;nextstep&amp;#8221; support for &lt;span class="caps"&gt;GNU&lt;/span&gt; Emacs itself?&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;NOTE&lt;/span&gt;: I used &lt;a href="http://64.233.169.132/search?q=cache:Ov5MZO-4HxMJ:wfarr.org/posts/14-compiling-emacs-for-os-x+compiling+nextstep+emacs.app+git://repo.or.cz/emacs.git&amp;#38;hl=en&amp;#38;ct=clnk&amp;#38;cd=1&amp;#38;gl=us&amp;#38;client=firefox-a"&gt;another blog article&lt;/a&gt; but it seems like its always incredibly slow. Check that guy&amp;#8217;s blog out since he&amp;#8217;s the original author though, or buy him a beer.&lt;/p&gt;


	&lt;p&gt;So here are the regurgitated compilation steps that I used.&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;git clone git://repo.or.cz/emacs.git
cd emacs/
./configure --with-ns
make
make install
sudo cp -R ./nextstep/Emacs.app ~/Applications&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;h2&gt;Configuration Tips&lt;/h2&gt;


	&lt;p&gt;If your a picky hacker like myself you&amp;#8217;ll be customizing your workspace for the rest of your life&amp;#8230; but you&amp;#8217;ll want to definitely clone &lt;a href="http://nubyonrails.com/articles/emacs-emacs"&gt;topfunky&amp;#8217;s&lt;/a&gt; &lt;a href="http://github.com/topfunky/emacs-starter-kit"&gt;emacs-starter-kit&lt;/a&gt;. It takes some configuration to get right, but puts you on a great start. I loaded &lt;a href="http://stud4.tuwien.ac.at/~e0225855/linum/linum.el"&gt;linum-mode&lt;/a&gt;, &lt;a href="http://shylock.uw.hu/Emacs/ruby-electric.el"&gt;ruby-electric&lt;/a&gt; and some &lt;a href="http://github.com/dudleyf/color-theme-github/tree"&gt;radical&lt;/a&gt; &lt;a href="http://github.com/crafterm/twilight-emacs/tree/master"&gt;themes&lt;/a&gt; to get comfortable. Also, I can&amp;#8217;t keep away from &lt;a href="http://www.gnu.org/software/emacs/manual/emacs.html"&gt;&lt;span class="caps"&gt;RTFM&lt;/span&gt;&lt;/a&gt; too.&lt;/p&gt;


	&lt;p&gt;One final thing to note, I read that although &lt;a href="http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html"&gt;nxhtml&lt;/a&gt; looks pretty friggin awesome&amp;#8230; its a monster to load. I patched these lines to my &lt;a href="http://github.com/topfunky/emacs-starter-kit/tree/master/starter-kit-misc.el#L93"&gt;starter-kit-misc.el&lt;/a&gt; as well&amp;#8230; to use the &lt;a href="http://www.thaiopensource.com/nxml-mode/"&gt;nxml&lt;/a&gt; library in which nxhtml was built upon. Its gotta be smaller, faster and cleaner then all of those features I just won&amp;#8217;t be using in nxhtml.&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_lisp "&gt;(add-to-list 'auto-mode-alist '(&amp;quot;\\.html$&amp;quot; . nxml-mode))
(add-to-list 'auto-mode-alist '(&amp;quot;\\.rhtml$&amp;quot; . nxml-mode))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;If and when I get back around to adding syntax highlighting to the Ruby lines within erb/rhtml files (which nxml modes loads into now)... I&amp;#8217;ll need to patch those lines up again to load &lt;a href="http://rinari.rubyforge.org/"&gt;Rinari&amp;#8217;s&lt;/a&gt; &amp;#8220;rhtml-mode&amp;#8221; or what have you. You can remove just the rhtml mode from Rinari by the way.&lt;/p&gt;


	&lt;p&gt;Of course I haven&amp;#8217;t yet decided if I want to use &lt;a href="http://dima-exe.ru/rails-on-emacs"&gt;emacs-rails&lt;/a&gt;, &lt;a href="http://rinari.rubyforge.org/"&gt;Rinari&lt;/a&gt;, or just stick with &lt;a href="http://code.google.com/p/yasnippet/"&gt;Yasnippets&lt;/a&gt; by itself ::shrug::. I&amp;#8217;m fine typing out my code right now while I get the hang of my workflow with Emacs, but if anyone has any experience with them please comment your thoughts.&lt;/p&gt;


	&lt;h2&gt;Textmate ;_;&lt;/h2&gt;


	&lt;p&gt;So yeah, TextMate is now officially dead to me. I wish it wasn&amp;#8217;t so, but with all the amazing support of Emacs, the power and fun of Lisp and the focus of staying on the keyboard the entire day&amp;#8230; I&amp;#8217;m pretty sure I won&amp;#8217;t go back.&lt;/p&gt;</description>
      <pubDate>Wed, 17 Dec 2008 22:08:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:936e0603-e50e-4a44-9f9b-81189b540dab</guid>
      <author>Justin Reagor</author>
      <link>http://blog.kineticweb.com/articles/2008/12/17/compiling-emacs-app-and-tips</link>
      <category>emacs</category>
      <category>development</category>
      <category>OSX</category>
    </item>
    <item>
      <title>Flushing OS X DNS cache</title>
      <description>I don&amp;#8217;t know why it took me so long to learn this but this command is very handy:
&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;dscacheutil -flushcache&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;: I originally posted that the command was &lt;strong&gt;dns&lt;/strong&gt;cacheutil. It&amp;#8217;s actually just &lt;strong&gt;ds&lt;/strong&gt;cacheutil. I&amp;#8217;ve fixed it above. I also learned this is a Leopard-only tool.&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s equivelant to the following Windows, which was always very handy when changing &lt;span class="caps"&gt;DNS&lt;/span&gt; configuration around:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;ipconfig /flushdns&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 10 Dec 2007 11:39:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:1e1fa0e9-0018-4bd1-9003-50975695583d</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/12/10/flushing-os-x-dns-cache</link>
      <category>OSX</category>
    </item>
    <item>
      <title>Time Machine is Awesome</title>
      <description>&lt;p&gt;Nothing more to say.&lt;/p&gt;


	&lt;p&gt;It just rocks. So easy to setup. So easy to use.&lt;/p&gt;


	&lt;p&gt;Once again, Apple, I bow before thee.&lt;/p&gt;</description>
      <pubDate>Sun, 18 Nov 2007 15:51:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:836fb5e3-e8a9-4422-9276-c041eeb2c180</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/11/18/time-machine-is-awesome</link>
      <category>OSX</category>
      <category>leopard</category>
    </item>
    <item>
      <title>Compiling Git for Mac OS X Leopard (10.5)</title>
      <description>&lt;p&gt;The following is the exact compilation steps I took for compiling Git onto the new retail version of Leopard. Definitely a big change since my previous article on installing in Tiger (next to pre-installed &lt;span class="caps"&gt;SVN&lt;/span&gt;, bye bye &lt;span class="caps"&gt;CVS&lt;/span&gt;!)...&lt;/p&gt;


&lt;strong&gt;Commands&lt;/strong&gt;
&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;curl -O http://surfnet.dl.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz
tar zxvf expat-2.0.1.tar.gz 
cd expat-2.0.1
./configure --prefix=/usr/local
make
make check
sudo make install
cd ..

curl -O http://kernel.org/pub/software/scm/git/git-1.5.3.4.tar.bz2
tar jxvf git-1.5.3.4.tar.bz2
cd git-1.5.3.4
make prefix=/usr/local all
make prefix=/usr/local test &amp;amp;&amp;amp; echo $?
sudo make prefix=/usr/local install
cd ..

curl -O http://www.kernel.org/pub/software/scm/git/git-manpages-1.5.3.4.tar.bz2
sudo tar xjv -C /usr/local/man -f git-manpages-1.5.3.4.tar.bz2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;You may need to adjust your default &lt;span class="caps"&gt;MANPATH&lt;/span&gt; environment variable. You can either apply something along the lines of&amp;#8230;&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;export MANPATH=&amp;quot;/usr/local/man:$MANPATH&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;...to your .bash_login, profile or what have you. Or you can look into editing /private/etc/man.conf (or un-tar the manpages into a directory in your &lt;span class="caps"&gt;MANPATH&lt;/span&gt; already).&lt;/p&gt;


	&lt;p&gt;Also, no need to fiddle around with &lt;span class="caps"&gt;SVN&lt;/span&gt; bindings for Perl, or whatever the problem was with &lt;em&gt;git-svn&lt;/em&gt; before.&lt;/p&gt;


	&lt;p&gt;You may also wish to surf our past articles hear on this blog for upgrading Git. The upgrading should be identical on Leopard.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Next Time&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;My next article will cover developing outside of a traditional distributed Git environment. Using Git to manage personal branching/merging/local copies, then committing to a main &lt;span class="caps"&gt;SVN&lt;/span&gt; repo. Happy hacking.&lt;/p&gt;</description>
      <pubDate>Tue, 30 Oct 2007 23:48:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:0cdaff9a-4cd2-4455-a510-9ec2e01d93c2</guid>
      <author>Justin Reagor</author>
      <link>http://blog.kineticweb.com/articles/2007/10/30/compiling-git-for-mac-os-x-leopard-10-5</link>
      <category>git</category>
      <category>scm</category>
      <category>OSX</category>
      <category>leopard</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/74</trackback:ping>
    </item>
    <item>
      <title>Here goes nothing...</title>
      <description>&lt;p&gt;I&amp;#8217;ve got the Leopard t-shirt on and I&amp;#8217;m ready to go!&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://blog.kineticweb.com/files/before_install.png" alt="" /&gt;&lt;/p&gt;


	&lt;h3&gt;Update!&lt;/h3&gt;


	&lt;p&gt;Install complete! Took exactly 60 mins.&lt;/p&gt;


	&lt;p&gt;Reactions:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The installer &amp;#8216;estimated time to completion&amp;#8217; said 2 hours and 58 minutes at first. It steadily declined but was never accurate at all. Oh well.&lt;/li&gt;
		&lt;li&gt;First boot up took for freaking-ever. To be expected, I guess.&lt;/li&gt;
		&lt;li&gt;My wireless seems finicky. Could just be my access point or something. I hope so. Because I kept loosing and regaining internet access. I&amp;#8217;m plugged into wired now and it seems fine. Hopefully it&amp;#8217;s not a bug or anything&amp;#8230;&lt;/li&gt;
		&lt;li&gt;My &lt;span class="caps"&gt;CPU&lt;/span&gt; is churning hard core. Something called &amp;#8216;mds&amp;#8217; is sucking it up. A web search shows that&amp;#8217;s Spotlight. So maybe just a reindex.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;But the most important news&amp;#8230;&lt;/p&gt;


	&lt;p&gt;The rails stack seems to be functioning fine. Ruby 1.8.6 and everything. Got an app running; no problems.&lt;/p&gt;


	&lt;p&gt;So far so good! I can&amp;#8217;t wait to try out the new Mail. It looks good enough to &lt;em&gt;maybe&lt;/em&gt; switch to from Thunderbird.&lt;/p&gt;</description>
      <pubDate>Fri, 26 Oct 2007 20:51:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:f97594a4-81db-4700-83cb-15d8c33343c3</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/10/26/here-goes-nothing</link>
      <category>OSX</category>
      <category>leopard</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/73</trackback:ping>
    </item>
    <item>
      <title>Leopard Day, the Ruby on Rails way...</title>
      <description>&lt;p&gt;Since everyone around here thinks I&amp;#8217;m a huge, obnoxious Apple fanboy (and they&amp;#8217;re all so completely right about everything&amp;#8230;) I thought I&amp;#8217;d simply share this link to a great wiki article on the new Rails/Ruby installation in Leopard (thanks Randy). Enjoy, and hope you get your free t-shirt!&lt;/p&gt;


	&lt;p&gt;&amp;#8220;&lt;em&gt;Now that Leopard, the next release of Mac &lt;span class="caps"&gt;OS X&lt;/span&gt;, is available to everyone, you may wonder what changed from the Ruby developer&amp;#8217;s perspective.&lt;/em&gt;&amp;#8220;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://trac.macosforge.org/projects/ruby/wiki/WhatsNewInLeopard"&gt;What&amp;#8217;s New in Leopard? Ruby/Rails&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 26 Oct 2007 09:40:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:08da412d-a019-4c98-88e1-5b94f5541c97</guid>
      <author>Justin Reagor</author>
      <link>http://blog.kineticweb.com/articles/2007/10/26/leopard-day-the-ruby-on-rails-way</link>
      <category>OSX</category>
      <category>leopard</category>
      <category>ruby</category>
      <category>Rails</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/72</trackback:ping>
    </item>
    <item>
      <title>Open new terminal window</title>
      <description>&lt;p&gt;I&amp;#8217;ve always thought it would be nice to be able to quickly open a new terminal window in the &lt;strong&gt;same&lt;/strong&gt; folder you were already in.&lt;/p&gt;


	&lt;p&gt;Enter a &lt;a href="http://use.perl.org/~Ovid/journal/32086"&gt;handy little script&lt;/a&gt; Randy pointed me to that does just that.&lt;/p&gt;


	&lt;p&gt;I put it in my home directory and then added this to my .bash_login:&lt;/p&gt;


&lt;code&gt;
alias new='. ~/openterminal.sh'
&lt;/code&gt;

	&lt;p&gt;Now, I can just type &amp;#8216;new&amp;#8217; at any prompt and up pops a new Terminal window which automatically cd&amp;#8217;s to the same directory I was in.&lt;/p&gt;


	&lt;p&gt;Super handy! Thanks Randy!&lt;/p&gt;</description>
      <pubDate>Thu, 16 Aug 2007 20:37:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:4bdde287-fd78-435c-aa19-ba57da624a2c</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/08/16/open-new-terminal-window</link>
      <category>OSX</category>
      <category>bash</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/54</trackback:ping>
    </item>
  </channel>
</rss>
