<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>V is for Verbose</title>
	<atom:link href="http://vlandham.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vlandham.wordpress.com</link>
	<description>(-v == --verbose)</description>
	<lastBuildDate>Fri, 13 May 2011 13:20:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vlandham.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>V is for Verbose</title>
		<link>http://vlandham.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vlandham.wordpress.com/osd.xml" title="V is for Verbose" />
	<atom:link rel='hub' href='http://vlandham.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Adding LaTeX to Notes with Ruby</title>
		<link>http://vlandham.wordpress.com/2008/02/15/adding-latex-to-notes-with-ruby/</link>
		<comments>http://vlandham.wordpress.com/2008/02/15/adding-latex-to-notes-with-ruby/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 14:47:29 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://vlandham.wordpress.com/?p=89</guid>
		<description><![CDATA[I&#8217;ve finally come up with a some what novel use of ruby that is saving me a bunch of time at school, so now I&#8217;ll pass the savings on to you! The Problem: I want to take notes in class using my Mac. More specifically, I want to use OmniOutliner (though this method should be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=89&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally come up with a some what novel use of ruby that is saving me a bunch of time at school, so now I&#8217;ll pass the savings on to you!</p>
<h2>The Problem:</h2>
<p>I want to take notes in class using my Mac.  More specifically, I want to use OmniOutliner (though this method should be adaptable to any editor that can embed images).  However, in more than a few computer science classes I&#8217;ve had, the mathematics get pretty heavy.  And thus far summations, fractions, large equations, etc.  don&#8217;t like to be typed out.  They hate it.  This has limited my ability to use my afore mentioned Mac as a note taking center for those classes.</p>
<p>So how can I still use OmniOutliner to take notes that include a large mathematical component?</p>
<h2>The Solution:</h2>
<p>In a word LaTeX.  Let me explain.</p>
<p>Hopefully everyone&#8217;s familiar with <a href="http://en.wikipedia.org/wiki/LaTeX">LaTeX</a> &#8211; a markup language used to format books, papers, etc.  What its really good at is creating equations.  The syntax is different, but not difficult, and it allows you to basically write out as complicated mathematical formula as you like in plain text.  This gets converted to your actual equation using the TeX typesetting program.</p>
<p>I&#8217;d used LaTeX before a semester or so ago for writing up my homework for a particular class.  For this, I&#8217;d installed the requisite packages via <a href="http://www.macports.org/">MacPorts</a> and used the best editor of all time, TextMate, to write up the document and convert it to pdf.</p>
<p>But how do we add formatted LaTeX equations to a program like OmniOutliner, which doesn&#8217;t know how to parse LaTeX?  Well, thats what this post is about.</p>
<div style="text-align:center;"><img src="http://vlandham.files.wordpress.com/2008/02/example_conversion.png?w=450" alt="conversion" /></div>
<p>More after the break.</p>
<p><span id="more-89"></span></p>
<h2>Basic Idea:</h2>
<p>Here&#8217;s the gist of my solution:</p>
<ul>
<li>Type up the equation in LaTeX, inside of OmniOutliner.</li>
<li>Highlight the text version of your equation and hit a shortcut key sequence</li>
<li>Have a background process take your highlighted formula and convert it into an image of the LaTeX converted equation.</li>
<li>Insert this image back into the notes, replacing the original text one.</li>
</ul>
<p>Easy, Breezy, Beautiful.</p>
<h2>How I Did It:</h2>
<p>I found a <a href="http://www.fourmilab.ch/webtools/textogif/textogif.html">perl script</a> that performed most of what I wanted to do.  This thing takes a simple LaTeX file and creates a .gif out of it, meant to be used for websites.</p>
<p>So, I modified it a bit to suite my needs:</p>
<ul>
<li>Translated the code into ruby, cause its cooler.</li>
<li>Change it to create .png files &#8211; cause I like them better.</li>
<li>Have it use copy and paste to get the equation and place the image into the program, instead of using an input file.</li>
</ul>
<p>Here&#8217;s my version of the program:</p>
<pre class="brush: ruby;">
#!/usr/bin/env ruby

# Note: if using the appscript gem, rubygems must be required first:
begin; require 'rubygems'; rescue LoadError; end

require &quot;appscript&quot;
require &quot;osax&quot;
include Appscript

#create new datetime for the file name
dt = DateTime.now

#Start with constants needed
 Dpi = 90;
 Res = 0.1;

 Background = &quot;&quot;
 Transparent = &quot;ff/ff/ff&quot;

 CmdGIF = 'ppmtogif' # &lt;- shouldn't be used anywhere
 CmdGIFdecode = 'giftopnm' # [:command_down])

copied_text = `pbpaste`# copied_text now has the section we want to convert

# --- Component that limits universal functionality
# ---- would want a method of getting the 'current' active applications open document path
# acquire the folder where the current notes file is stored
omni = app('OmniOutliner Professional')
#doc_name = omni.windows[1].documents[1].name.get
doc_path = omni.windows[1].documents[1].path.get
root_folder = File.dirname(doc_path)
#create a img folder in this directory if not already present
unless File.directory?(root_folder+'/img')
  system(&quot;mkdir #{root_folder}/img&quot;)
end

#switch to the img directory of the root folder
Dir.chdir(root_folder+'/img')

#function to handle the latex conversion stuff
def create_png(copied_text)
  # latex document with copied text
  doc = &quot;\\documentclass[12pt]{article} \n \\pagestyle{empty} \n \\begin{document} \n \\begin{displaymath} \n&quot; + copied_text + &quot;\n \\end{displaymath}	\n \\end{document}&quot;

  # create new file for this tex doc
  File.open(&quot;#{Name}.tex&quot;,&quot;w&quot;) {|io| io.puts doc}

  system(&quot;echo x | /opt/local/bin/latex &quot;+Name+&quot;.tex&quot;);
  system(&quot;/opt/local/bin/dvips -f #{Name} &gt; _temp_#{Name}.ps\n&quot;);

  #build command
  cmd = &quot;echo quit | /opt/local/bin/gs -q -dNOPAUSE  -r&quot; + (Dpi / Res).to_i.to_s + &quot;x&quot;+ (Dpi / Res).to_i.to_s +
  	&quot; -sOutputFile=- -sDEVICE=pbmraw _temp_#{Name}.ps | &quot; +
  	&quot;/opt/local/bin/pnmcrop -white | /opt/local/bin/pnmdepth 255 | #{Background} /opt/local/bin/pnmscale &quot; + Res.to_s + &quot; | &quot; +
		&quot;#{ImageCmd} -interlace -transparent rgb:#{Transparent} &gt;#{Name}.#{ImageExt}&quot;;

	#run command
	system(cmd)

	#   Sweep up debris left around by the various intermediate steps
  system(&quot;rm #{Name}.dvi #{Name}.aux #{Name}.log _temp_#{Name}.ps #{Name}.tex &quot;);

end

# utlize the above function to create our image - should be on the desktop now...
create_png(copied_text)

#so now we have a picture in the img folder with the name {Name} we want to copy and insert 

# --- Not used - now we get file url directly
#Use finder app to copy the new picture
# finder = app('Finder')
#get desktop
# desktop = finder.home.folders[&quot;Desktop&quot;].get
#get pic we want
# pic = desktop.folders[&quot;img&quot;].files[&quot;#{Name}.png&quot;].get
#---

# need this to set the contents of the clipboard
sa = OSAX::ScriptingAddition.new(&quot;StandardAdditions&quot;)

# get the url for the image into the clipboard
sa.set_the_clipboard_to(&quot;file://#{root_folder}/img/#{Name}.png&quot;)

# So now we just need to get back to omnioutliner and put this in the correct position

#activate omnioutiner -- might remove to make more universal...
omni.activate

# use system events to paste
se.keystroke('v', :using=&gt;[:command_down])</pre>
<h2>Prerequisites:</h2>
<p>First you need all the programs needed for the original perl version.  From my LaTeX install, I had everything except for Netpbm, and this was available through MacPorts.</p>
<p>You also need the AppleScript &#8211; ruby bridge <a href="http://rb-appscript.rubyforge.org/">rb-appscript</a>.  Hopefully I&#8217;ll post more on uses for this awesome framework, but essentially it allows you to execute AppleScript commands, but write them in ruby instead (which I find to be much less confusing / much more powerful).  You can download it as a gem.</p>
<p>This code, as it is, can only be used with OmniOutliner Pro.  It uses rb-appscript to find out where the currently open OmniOutliner document is, so that it can save the generated .png in a sub-directory (img) of that directory.  If you wanted to make this more general, you could modify this portion to save all your generated files to the same place (~/Pictures/latex) regardless of what program you going to paste them in.</p>
<p>Also, if you do use OmniOutliner, you probably want to change an option in the Document: Display portion of the Inspector.  Uncheck the &#8220;Show attachment tags&#8221; so that the pasted equation is immediately visible in the notes, instead of collapsed under its own tag.</p>
<p>Save your script as what ever, and then chmod it to add the executable flag.</p>
<h2>The finishing touch &#8212; Quicksilver:</h2>
<p>What Mac tutorial would be complete without a Quicksilver mention?</p>
<p>You can assign your newly created LaTeX script to its own Trigger (mine is option+command+l) to automate calling it. In fact, it would be hard to get it to work right without using a short-cut of some sort.</p>
<p>Now, to use, simply highlight the entirety of your equation, hit your shortcut key, and wait a few seconds (its not speedy).  If your equation is without error, you should see it pop into your notes, perfectly capturing the knowledge being distributed by your professor at that moment in time.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/89/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/89/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=89&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2008/02/15/adding-latex-to-notes-with-ruby/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2008/02/example_conversion.png" medium="image">
			<media:title type="html">conversion</media:title>
		</media:content>
	</item>
		<item>
		<title>Quicksilver trigger: open with Textmate</title>
		<link>http://vlandham.wordpress.com/2007/09/20/quicksilver-trigger-open-with-textmate/</link>
		<comments>http://vlandham.wordpress.com/2007/09/20/quicksilver-trigger-open-with-textmate/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 01:02:01 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[hints & tips]]></category>
		<category><![CDATA[keychords]]></category>

		<guid isPermaLink="false">http://vlandham.wordpress.com/2007/09/20/quicksilver-trigger-open-with-textmate/</guid>
		<description><![CDATA[Just made my best trigger yet! For those not in the know, quicksilver can be used to create custom short-cuts that do something when you press a certain key combination. I had already made a open Gmail trigger, so I can open Gmail just as simple as command+option+g. This ones pretty nice, but the one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=83&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just made my best trigger yet!  For those not in the know, quicksilver can be used to create custom short-cuts that do something when you press a certain key combination.</p>
<p>I had already made a open Gmail trigger, so I can open Gmail just as simple as command+option+g.  This ones pretty nice, but the one I did today combines my favorite Mac app (Quicksilver) with my favorite Mac editor (Textmate).</p>
<p>One nice feature of Textmate is its ability to open folders and display their contents on a side drawer.  The part that always bothered me was getting to the right folder while in Textmate.  I usually had it opened in the Finder, but then would have to re-navigate to it when I wanted to edit files in the folder.</p>
<p>But No More!</p>
<p>For this trigger I turned on the proxy objects in the Quicksilver section of the Catalog.</p>
<p><a href="http://vlandham.files.wordpress.com/2007/09/proxy-on.png" title="proxy-on.png"><img src="http://vlandham.files.wordpress.com/2007/09/proxy-on.png?w=450" alt="proxy-on.png" /></a></p>
<p>This Gives you access to the &#8216;Current Selection&#8217; proxy object, which represents what you have highlighted at any given time.  Folders, files, whatever.  It&#8217;s a very useful proxy.</p>
<p>Now we are able to create a trigger that opens the Current Selection (i.e. a folder) in Textmate.</p>
<p><a href="http://vlandham.files.wordpress.com/2007/09/picture-3.png" title="Quicksilver textmate trigger"><img src="http://vlandham.files.wordpress.com/2007/09/picture-3.png?w=450" alt="Quicksilver textmate trigger" /></a></p>
<p>Assign this to your keychord of choice (I picked command+option+m but I don&#8217;t know if thats a good one) and you&#8217;re ready to use Textmate, via Quicksilver, all the more efficiently.</p>
<p><b>Update</b>:</p>
<p>I found a problem with the key combination I choose, namely option+command+m is used to highlight text in the best pdf viewer / editor : <a href="http://skim-app.sourceforge.net/">Skim</a>.  So, what to do?  I don&#8217;t like having three modifier keys as part of the key combination, so I didn&#8217;t really want to move to control+option+command+m.</p>
<p>So I took advantage of another Quicksilver feature that lets you limit where your triggers are used.  If you open the information pane for your trigger, and select the &#8216;Scope&#8217; tab, you can set limits or exceptions to the validity of your trigger.</p>
<p><a href="http://vlandham.files.wordpress.com/2007/09/scope.png" title="scope.png"><img src="http://vlandham.files.wordpress.com/2007/09/scope.png?w=450" alt="scope.png" /></a></p>
<p>I could have also just disabled it in Skim, but so far I can&#8217;t think of another place this would be useful except in the Finder&#8230;</p>
<p>Btw: You just type the name of the program you want to limit the scope to &#8211; so type it right.</p>
<p><a href="http://vlandham.files.wordpress.com/2007/09/picture-1.png" title="Turning on the Proxies"></a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/83/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/83/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=83&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2007/09/20/quicksilver-trigger-open-with-textmate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/09/proxy-on.png" medium="image">
			<media:title type="html">proxy-on.png</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/09/picture-3.png" medium="image">
			<media:title type="html">Quicksilver textmate trigger</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/09/scope.png" medium="image">
			<media:title type="html">scope.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting to know TextMate &#124; Part 1</title>
		<link>http://vlandham.wordpress.com/2007/03/04/getting-to-know-textmate-part-1/</link>
		<comments>http://vlandham.wordpress.com/2007/03/04/getting-to-know-textmate-part-1/#comments</comments>
		<pubDate>Sun, 04 Mar 2007 22:39:50 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[keychords]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://vlandham.wordpress.com/2007/03/04/getting-to-know-textmate-part-1/</guid>
		<description><![CDATA[At work, I was lucky enough to have them get me a copy of TextMate to be used for our up-coming experiments / projects with Ruby on Rails. TextMate is recommended by all the big RoR gurus and for good reason. It makes working with Rails all the more enjoyable and easy. Here&#8217;s some info [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=75&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> At work, I was lucky enough to have them get me a copy of TextMate to be used for our up-coming experiments / projects with Ruby on Rails. TextMate is recommended by all the big RoR gurus and for good reason.  It makes working with Rails all the more enjoyable and easy.  Here&#8217;s some info on some of the things you should know about TextMate to make it worth the crazy money they charge for it.</p>
<p><b>Mac Key Notation:</b></p>
<p>It&#8217;s important to be on the same page, so here&#8217;s what all the icons you see here /everywhere mean.</p>
<p><img src="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif?w=450" alt="key_icon_command.gif" />  This is the command or apple key.</p>
<p><img src="http://vlandham.files.wordpress.com/2007/03/key_icon_alt-option.gif?w=450" alt="command" /> The alt or option key.</p>
<p><img src="http://vlandham.files.wordpress.com/2007/03/key_icon_control.gif?w=450" alt="key_icon_control.gif" /> The control (ctrl) key.</p>
<p><img src="http://vlandham.files.wordpress.com/2007/03/key_icon_shift.gif?w=450" alt="key_icon_shift.gif" /> The shift key.</p>
<p><b>Basics:</b></p>
<p>First, its a very good idea (especially in editing Rails applications) to open up a whole folder at a time, instead of single files.  The great thing about TextMate is that it shows you the contents of the folder in a drawer, and you&#8217;ll be able to get to all the files in that directory via short-cut keys (as we&#8217;ll see in a bit).  To open a folder, simply use the open pane to select a folder but no particular file inside that folder.</p>
<p>I like my drawer on the right side, but the initially, the drawer always seems to open on the left for me.  To correct this</p>
<ul>
<li>select View » hide project drawer</li>
<li>move the TextMate window over to the far left-hand corner of the screen</li>
<li>select: View » show project drawer</li>
</ul>
<p>TextMate opens files as tabs in the main window. Navigating these tabs can be done easily via shortcuts.  Check out the Navigation section for the details.</p>
<p><b>Top of the Window:</b></p>
<p>Hitting the &#8216;x&#8217; for a tab will close this tab.  This will also be the result of hitting : <img src="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif?w=450" alt="key_icon_command.gif" />+w</p>
<p>The circle which replaces the x on a tab indicates that the file has been modified but not saved.</p>
<p><b>Side of the Window:</b></p>
<p>Quick, go to : View » Gutter » Line Numbers<br />
to turn on line numbering on the side.  Don&#8217;t turn this off.</p>
<p><b>Bottom of the Window:</b></p>
<p>At the bottom of the window are a few fields that give you info about how you are editing the document:</p>
<p><img src="http://vlandham.files.wordpress.com/2007/03/picture-1.png?w=450" alt="picture-1.png" /> &#8212; This indicates which &#8216;bundle&#8217; package you are currently using.  The bundle determines what short-cut keys are available to you as well as some other aspects of how the program functions, so its good to make sure this is correct for the file type you are using.  Initially, when opening up a .rb file, TextMate sets this just to &#8220;Ruby&#8221;.  If you are actually using TextMate for Rails, you&#8217;ll want to change that default.  Once you change the bundle package for a particular file type, it is maintained for all files of that type</p>
<p><img src="http://vlandham.files.wordpress.com/2007/03/picture-2.png?w=450" alt="picture-2.png" /> &#8212; This indicates what gets inserted when you hit the tab key.  &#8220;Soft Tabs&#8221; indicates that its actually inserting spaces instead of tabs for indentation.  Apparently 2 spaces is all the rage for Rails indenting.</p>
<p><b>Bracket Completion:</b></p>
<p>TextMate tries hard to make tedium disappear when writing code, and one spot that in which this is immediately apparent is when it starts adding closed parens / brackets / squiglies to your open ones automatically.  Usually this is a good thing, but there are times when you need to get around these added brackets and not grab for the mouse. These will help:</p>
<ul>
<li> <img src="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif?w=450" alt="key_icon_command.gif" /> + return  :  Moves down one line but doesn&#8217;t move characters behind the cursor position down to that new line</li>
<li><img src="http://vlandham.files.wordpress.com/2007/03/key_icon_control.gif?w=450" alt="key_icon_control.gif" /> + f   :  Moves cursor to the right one position</li>
<li>Sometimes you just want one bracket, in these cases its best to be on the right-hand side of a word or hit : <img src="http://vlandham.files.wordpress.com/2007/03/key_icon_shift.gif?w=450" alt="key_icon_shift.gif" /> + right-arrow to select that rogue bracket.</li>
</ul>
<p><b>File Navigation:</b></p>
<p>All the files opened in your drawer are accessible with a few button mashings.</p>
<ul>
<li> <img src="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif?w=450" alt="key_icon_command.gif" />+t  :  opens the &#8216;go to file&#8217; window. Just start typing the name of the file you want to go to and then hit return</li>
<li><img src="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif?w=450" alt="key_icon_command.gif" />+<img src="http://vlandham.files.wordpress.com/2007/03/key_icon_shift.gif?w=450" alt="key_icon_shift.gif" />+t   :  opens the &#8216;go to symbol&#8217; window.  This means different things for different file types, but in, for example, a Rails controller file, this will allow you to skip around the different methods (actions) in the file.</li>
</ul>
<p><b>More to come:</b></p>
<p>We could write a whole blog on TextMate short-cut keys, but this will be enough for now.  Next time will go into a bit of formatting and how to actually use the bundles provided.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/75/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/75/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=75&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2007/03/04/getting-to-know-textmate-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif" medium="image">
			<media:title type="html">key_icon_command.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_alt-option.gif" medium="image">
			<media:title type="html">command</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_control.gif" medium="image">
			<media:title type="html">key_icon_control.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_shift.gif" medium="image">
			<media:title type="html">key_icon_shift.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif" medium="image">
			<media:title type="html">key_icon_command.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/picture-1.png" medium="image">
			<media:title type="html">picture-1.png</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/picture-2.png" medium="image">
			<media:title type="html">picture-2.png</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif" medium="image">
			<media:title type="html">key_icon_command.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_control.gif" medium="image">
			<media:title type="html">key_icon_control.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_shift.gif" medium="image">
			<media:title type="html">key_icon_shift.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif" medium="image">
			<media:title type="html">key_icon_command.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_command.gif" medium="image">
			<media:title type="html">key_icon_command.gif</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2007/03/key_icon_shift.gif" medium="image">
			<media:title type="html">key_icon_shift.gif</media:title>
		</media:content>
	</item>
		<item>
		<title>Record Player to Largest iPod Speakers Ever</title>
		<link>http://vlandham.wordpress.com/2006/11/08/record-player-to-largest-ipod-speakers-ever/</link>
		<comments>http://vlandham.wordpress.com/2006/11/08/record-player-to-largest-ipod-speakers-ever/#comments</comments>
		<pubDate>Wed, 08 Nov 2006 21:01:13 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://vlandham.wordpress.com/2006/11/08/record-player-to-largest-ipod-speakers-ever/</guid>
		<description><![CDATA[Awhile back we found a good deal ($10) on an old Columbia Records Phonograph player that was cool looking, but not functional in the slightest. The speakers were blown out and the amp system was tube based.  It didn&#8217;t even hum when I plugged it in.  So I decided to gut it and add some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=68&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Awhile back we found a good deal ($10) on an old Columbia Records Phonograph player that was cool looking, but not functional in the slightest.  The speakers were blown out and the amp system was tube based.  It didn&#8217;t even hum when I plugged it in.  So I decided to gut it and add some newly acquired/free computer speakers to it, making it into the largest iPod speaker system on the block.</p>
<p><a href="http://vlandham.files.wordpress.com/2006/11/dscf1264.JPG" title="Old Electronics"><img src="http://vlandham.files.wordpress.com/2006/11/dscf1264.JPG?w=450" alt="Old Electronics" /></a></p>
<p><em>Some of the original Electronics</em></p>
<p>The whole process wasn&#8217;t that hard at all.  All it involved was removing all the speakers and electronics that were in it previously, and fitting the new speakers and electronics in.  The hardest part was finding ways to attach the much smaller new speakers into the holes left by the old ones, without spending any money.  Attaching material I found include lighting fixture brackets and other random metal scraps from our house.  I also created some make-shift padding out of a &#8216;super&#8217;  rag that we hadn&#8217;t used much.</p>
<p><a href="http://vlandham.files.wordpress.com/2006/11/dscf1266.JPG" title="new Speakers"><img src="http://vlandham.files.wordpress.com/2006/11/dscf1266.thumbnail.JPG?w=450" alt="new Speakers" /></a></p>
<p><em>New Speaker Setup</em></p>
<p>I think the whole process went pretty well, and the sound quality is about as good as you would expect from free computer speakers.  Luckily I&#8217;m not an audiophile.</p>
<p>This week, I&#8217;ve been trying to use the old Volume controls to control the volume of the new speakers, with limited success.  The original setup has three knobs: &#8216;Loudness&#8217;, treble, and bass.  What&#8217;s really going on under the hood is that the treble and bass loop back to the volume potentiometer to mess with the high and low ends.  This is unnecessary and non-functional, so I decided to use the volume knob to control the left channel and the bass knob to control the right channel.  This works, but the problem is that the change in resistance in these two devices is apparently not linear.  Meaning, there is not much increase in volume until you get towards the last bit of turning, and then it gets really loud, really fast.  I&#8217;m pretty sure this is a problem with the potentiometers and not with my wiring job, although I was just winging it and was using probably the worst soldering iron ever created.</p>
<p>So, now the next step is to go to radio shack and grab some volume knobs that are actually made to control volume and were produced in the last decade or so.  If I can get them to fit in the same spots, then that should make my modification a bit more functional.</p>
<p><a href="http://vlandham.files.wordpress.com/2006/11/dscf1261.JPG" title="Schematics"><img src="http://vlandham.files.wordpress.com/2006/11/dscf1261.thumbnail.JPG?w=450" alt="Schematics" /></a></p>
<p><em>Schematics included </em></p>
<p><a href="http://vlandham.files.wordpress.com/2006/11/dscf1274.JPG" title="pump up the jams"><img src="http://vlandham.files.wordpress.com/2006/11/dscf1274.thumbnail.JPG?w=450" alt="pump up the jams" /></a></p>
<p><em>ready for jamming</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/68/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/68/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=68&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/11/08/record-player-to-largest-ipod-speakers-ever/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/11/dscf1264.JPG" medium="image">
			<media:title type="html">Old Electronics</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/11/dscf1266.thumbnail.JPG" medium="image">
			<media:title type="html">new Speakers</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/11/dscf1261.thumbnail.JPG" medium="image">
			<media:title type="html">Schematics</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/11/dscf1274.thumbnail.JPG" medium="image">
			<media:title type="html">pump up the jams</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenVPN Server on Mac</title>
		<link>http://vlandham.wordpress.com/2006/09/26/openvpn-server-on-mac/</link>
		<comments>http://vlandham.wordpress.com/2006/09/26/openvpn-server-on-mac/#comments</comments>
		<pubDate>Tue, 26 Sep 2006 12:51:55 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[hints & tips]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://vlandham.wordpress.com/2006/09/26/openvpn-server-on-mac/</guid>
		<description><![CDATA[Spurred by a unhelpful digg post on setting up an OpenVPN server on Windows, I decided to finally get OpenVPN working on my Mac, which is currently running as my web server / other servers. I eventually found some help, but it took awhile, so why not gather it all up here. What is OpenVPN? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=67&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Spurred by a <a href="http://www.informit.com/articles/article.asp?p=605499&amp;rl=1">unhelpful digg post</a> on setting up an OpenVPN server on Windows, I decided to finally get OpenVPN working on my Mac, which is currently running as my web server / other servers. I eventually found some help, but it took awhile, so why not gather it all up here.</p>
<p><b>What is OpenVPN?</b></p>
<p>A VPN or Virtual Private Network essentially connects a remote machine to a network, over the Internet, securely.  A common use for VPN is to let a user at home or on the road make an encrypted connection to his office&#8217;s network as if he/she were actually in the office.  In this type of setup, you would be able to connect to file servers, mail servers, or printers remotely, without having to worry about someone on the Internet watching what you do and snagging private information.</p>
<p>I wanted to use it so I could use <a href="http://ultravnc.sourceforge.net/">VNC</a> to connect to some of my home machines on my laptop at school.</p>
<p>OpenVPN utilizes SSL, the same technology used to encrypt websites to make its connection secure.  Its also OpenSource and free, which are two good reasons for using it.  It is also fast and very powerful, once you get things set up.</p>
<p>One alternative to OpenVPN commonly cited is <a href="http://www.hamachi.cc/">Hamachi</a>. It seems easier to set up and can run on the major 3 OS platforms.  The main reason I shyed away from Hamachi, as many people do, is because it is closed source, and owned by a company.  That means you just really can&#8217;t be sure about what its doing or how its doing it.  Sometimes this is acceptable, like when using Skype, but sometimes, you&#8217;d just rather have the open software.  Plus, OpenVPN is a much cooler thing to have running on your system anyways.</p>
<p><b>Configuring The Server</b></p>
<p>This was where there isn&#8217;t a lot of Mac specific info.  Most tutorials deal with using Linux or Windows.  Thats fine, probably what most people have as servers.  But I wanted it on a Mac!  The ever useful <a href="http://darwinports.opendarwin.org/">Darwinports </a>has a port of OpenVPN, labelled &#8220;openvpn2&#8243;.  They have the regular openvpn port, but it is an older (1.6) version, and that won&#8217;t due.<br />
Install it by using the command</p>
<blockquote><p>sudo port install openvpn2</p></blockquote>
<p>This will get you most of the packages you need to get things going.</p>
<p>Now we turn to the <a href="http://openvpn.net/howto.html">OpenVPN site for configuration instructions</a>.  You can follow the Linux instructions pretty closely, and things will work out well with a few exceptions:</p>
<ul>
<li>The <i>easy-rsa</i> folder can be found at /opt/local/share/doc/openvpn2/easy-rsa . I copied the openvpn2 folder to someplace easier to find like /opt/local/etc/openvpn . You could make it easier and put it in /etc/openvpn too, but sometimes I forget to check there&#8230;</li>
<li>The sample server and client configuration files can be found at  /opt/local/share/doc/openvpn2/sample-config-files.  I also grabbed the server.conf file and copied it to my simplier openvpn folder.  Making these copies will also ensure your changes won&#8217;t be overwritten when OpenVPN is updated.</li>
<li>according to <a href="http://www.macosxhints.com/article.php?story=20060803032236476">this hint from macosxhints.com</a>,tunnelblick might be needed to get OpenVPN working correctly.  Download <a href="http://www.tunnelblick.net/">tunnelblick here</a>,the current version I got was 3.0 RC3.  We will be using it as our client as well, so more info in that section below</li>
</ul>
<p>So with the help of the OpenVPN manual and the nice tip about tunnelblick, we should have a working version of OpenVPN on our server.</p>
<p><b>Configuring the Client</b></p>
<p>Like I mentioned, we need <a href="http://www.tunnelblick.net/">tunnelblick </a>to connect to our server.  Tunnelblick is a very elegant and easy to manage GUI front end to OpenVPN.  The 3.0 RC3 version comes with everything bundled together, and all you need to do is drop it into your Applications folder.<br />
Run it and you should see a little tunnel in the upper-right hand corner of your screen.<br />
It should also add the folder ~/Library/OpenVPN.  In this folder I copied the <i>ca.crt</i>, <i>client.crt, client.csr, </i>and <i>client.key</i> which were created on the server during the <a href="http://openvpn.net/howto.html#pki">PKI section</a> of the tutorial.  I used <a href="http://www.macupdate.com/info.php/id/8761">fugu </a>to move stuff over from the server.<br />
Now you can click on the tunnelblick tunnel icon and then click on &#8220;details&#8221; to get to the meat of the program.  Select &#8220;edit configuration&#8221; to modify the important stuff. I basically copied OpenVPN&#8217;s sample <a href="http://openvpn.net/howto.html#examples">client configuration</a>, and pasted it into here. Modifying the destination IP address and the location of the crt and key files.  I had to use the entire path file to get these to work correctly for some reason, namely:<br />
/Users/username/Library/openvpn/ca.crt . I don&#8217;t know why I couldn&#8217;t use realitive file names, but it wasn&#8217;t having it.<br />
Also, I started by using the local IP address of my server to make sure things were working correctly before trying to connect to it from the Internet.<br />
When that was all finished, I selected &#8220;Connect&#8221; and you should be connected to your own VPN server!</p>
<p>If you have file sharing turned on, you can check your connection by hitting apple + k to go to the connection dialog and connecting to afp://10.8.0.1 (if you followed the tutorial exactly, else use the IP address you set it up for).  This should connect to your server.</p>
<p>The next step is to get more machines from your intranet on the vpn.  But that is for another post, as I haven&#8217;t quite figured it out yet&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/67/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/67/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=67&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/09/26/openvpn-server-on-mac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>
	</item>
		<item>
		<title>Automatic Network Photo Transfer</title>
		<link>http://vlandham.wordpress.com/2006/08/01/automatic-network-photo-transfer/</link>
		<comments>http://vlandham.wordpress.com/2006/08/01/automatic-network-photo-transfer/#comments</comments>
		<pubDate>Tue, 01 Aug 2006 17:03:18 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[hints & tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">https://vlandham.wordpress.com/2006/08/01/automatic-network-photo-transfer/</guid>
		<description><![CDATA[The last part of my photo management project was to have an easy way to move images into Picasa. While we will use the Ubuntu box to view and edit pictures, most of our time is spent on our Macs. So there will be times when we have a folder of pictures on a Mac, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=65&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://vlandham.files.wordpress.com/2006/08/picture-2.png?w=450" alt="picture-2.png" align="left" hspace="9" vspace="9" />The last part of my <a href="http://vlandham.wordpress.com/2006/07/27/picasa-on-linux/">photo management project </a>was to have an easy way to move images into Picasa.  While we will use the Ubuntu box to view and edit pictures, most of our time is spent on our Macs.  So there will be times when we have a folder of pictures on a Mac, and want to get that to Picasa as easily as possible.</p>
<p>I used Automator to create a stand alone application that should accomplish just that.  First I needed a way to connect to the Ubuntu box.  In Automator there is the option to connect to a server, but you have to make sure that that particular folder was shared and enter a password and bla bla bla&#8230; too much.  Since I had passwordless entry through ssh set up already, why not leverage that to get to the Ubuntu machine?</p>
<p>With a little searching I found an <a href="http://www.automatorworld.com/archives/upload-with-scp/">upload with scp Automator action</a>. Perfect! scp is an extenstion of ssh, and this Automator action takes care of moving the folder over too. To use it in Automator, I went to ~/Library/ and created the folder &#8220;Automator&#8221; then moved the .action file to this folder.  When you restart Automator, the upload with scp action will be there.  So the Automator workflow first uses &#8220;Ask for Finder Items&#8221; to select a folder and then &#8220;Upload with scp&#8221; to copy it to the correct directory on the Ubuntu machine.  I have it set up to copy the folder into the &#8220;My Pictures&#8221; folder inside &#8220;PicasaDocuments&#8221;.  That way, Picasa will automatically add the folder to its listing.  It&#8217;s so easy!</p>
<p>I then saved the workflow as an application called &#8220;PhotoDrag&#8221;.  Now when I want to copy a folder of pictures over to Picasa, I simply ctrl + space to open QuickSilver, type &#8220;phtod&#8221; to open PhotoDrag, select the folder, and thats it.  PhotoDrag will use scp to move it over to Picasa, and Picasa will automatically add it to itself.</p>
<p>In order to use PhotoDrag on other Macs, you have to grab the scp .action file as well and put it in that ~/Library/Automator folder.</p>
<p>As an aside, I used <a href="http://www.filewell.com/micon/">Mikon</a> to quickly / freely / easily change the ugly default  Automator icon into something more relevant.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/65/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/65/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=65&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/08/01/automatic-network-photo-transfer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/08/picture-2.png" medium="image">
			<media:title type="html">picture-2.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Picture Backup with Rsync</title>
		<link>http://vlandham.wordpress.com/2006/07/30/picture-backup-with-rsync/</link>
		<comments>http://vlandham.wordpress.com/2006/07/30/picture-backup-with-rsync/#comments</comments>
		<pubDate>Sun, 30 Jul 2006 20:42:12 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[hints & tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">https://vlandham.wordpress.com/2006/07/30/picture-backup-with-rsync/</guid>
		<description><![CDATA[Utilizing the Rsync setup I created earlier to backup the Documents folders of our laptops, I came up with a method to backup my newly organized picture collection. The situation is as follows: My Ubuntu machine keeps the working copy of my photo collection and I would like to back up all the pictures as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=63&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://vlandham.files.wordpress.com/2006/07/snapshot6.thumbnail.png?w=450" alt="snapshot6.png" align="left" hspace="9" vspace="9" />Utilizing the Rsync setup <a href="http://vlandham.wordpress.com/2006/05/13/ibackup-finally/">I created earlier</a> to backup the Documents folders of our laptops, I came up with a method to backup my <a href="http://vlandham.wordpress.com/2006/07/27/picasa-on-linux/">newly organized picture collection</a>.</p>
<p>The situation is as follows: My Ubuntu machine keeps the working copy of my photo collection and I would like to back up all the pictures as often as possible to the G3 PowerMac, which has an extra hard drive and is on all the time (its the webserver, printserver, MySQL server, etc).</p>
<p>To accomplish this, I set up <a href="http://www.petefreitag.com/item/532.cfm">passwordless authentication</a> between these two machines, like in the other Rsync setup and then used this shell script on the Ubuntu box to get things moving:</p>
<blockquote><p>#!/bin/sh<br />
rsync -e &#8220;ssh&#8221; -rca &#8211;delete-after ~/PicasaDocuments/ username@192.168.1.x:/Volumes/back/pictureBackup -vv</p>
<p>/bin/date &gt; ~/backup_script/log.txt</p></blockquote>
<p>There&#8217;s not much difference between this and the previous shell script. This will build a list of the folders / files in the PicassaDocuments folder on my Ubuntu machine, and then match that list on the extra hard drive in the PowerMac (/Volumes/ is the location of all the mounted drives). the &#8220;&#8211;delete-after&#8221; means that if an item was deleted in the original folder, it will be deleted in the backed-up folder as well (not delete the originals after backing-up, like I feared it meant).</p>
<p>After this completes, it should write the date to log.txt in my home directory on the Ubuntu box.</p>
<p>Since both of these machines will be on most of the time, I decided to add this script to Cron to get it working every night. I used KCron (shown above), the KDE GUI to Crontab. Gnome has a Crontab editor too. I set it up to run this script every night at 11:15. After the initial backup of all the pictures, the process seems to run in 5 &#8211; 10 minutes. Its a bit taxing to the Ubuntu system, but it can handle it when nothing else is going on.</p>
<p>So with this system, I keep two copies of all my pictures on two different hard-drives.  Not a bad deal.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/63/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/63/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=63&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/07/30/picture-backup-with-rsync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/07/snapshot6.thumbnail.png" medium="image">
			<media:title type="html">snapshot6.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Picasa on Linux</title>
		<link>http://vlandham.wordpress.com/2006/07/27/picasa-on-linux/</link>
		<comments>http://vlandham.wordpress.com/2006/07/27/picasa-on-linux/#comments</comments>
		<pubDate>Thu, 27 Jul 2006 22:48:57 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[rants & raves]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">https://vlandham.wordpress.com/2006/07/27/picasa-on-linux/</guid>
		<description><![CDATA[Well I finally got around to installing Picasa onto my Ubuntu box. Coming back from a 2 week vacation with a few hundred pictures got me interested in photo organization again. In my opinion, iPhoto is a dog. I wish this wasn&#8217;t true. I wish I could gloat over Windows users with the speed and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=60&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://vlandham.files.wordpress.com/2006/07/snapshot4.png?w=450" alt="snapshot4.png" align="left" hspace="10" vspace="10" />Well I finally got around to installing <a href="http://picasa.google.com/linux/">Picasa</a> onto my Ubuntu box. Coming back from a 2 week vacation with a few hundred pictures got me interested in photo organization again.  In my opinion, iPhoto is a dog.  I wish this wasn&#8217;t true.  I wish I could gloat over Windows users with the speed and ease of iPhoto, but I can&#8217;t.  Each time I open that thing up I get frustrated.  It organizes pictures in a convoluted date based system, it takes forever to start up, forever to scroll through pictures, and two forevers to do anything else.</p>
<p>I have avoided using iPhoto by trying out <a href="http://www.iview-multimedia.com/">iView Media Pro</a> for awhile.  While it can organize photos in a much more systematic way, its still slow.  Plus, every time I want to do something in that program, it takes me 30+ minutes to get it done.  The UI is not very friendly to me, and options that I think should be obvious (like copying a picture to the desktop by dragging it there) aparently don&#8217;t exisit. Plus now that <a href="http://www.tuaw.com/2006/06/28/microsoft-buys-iview-multimedia/">Microsoft has bought out iView</a>, I don&#8217;t think this program is going to get any new exciting features any time soon.</p>
<p>And so I installed Picasa on Ubuntu. I found <a href="http://www.macewan.org/2006/05/26/howto-install-picasa-on-ubuntu-linux">instructions</a> which made the process trivial, so that was nice.  I wish I could say that all my photo organization problems have been solved through Picasa, but alas, this is not the case.  While I have seen Picasa work incredibly fast on very outdated Windows XP machines, on Linux on top of <a href="http://www.winehq.com/">Wine</a>, it remains sluggish and CPU intensive.  However, this performance hit seemed to decrease after sitting there for awhile (I couldn&#8217;t tell you why).  But while editing photos, I probably won&#8217;t be able to do much else.  Picasa also seems to add extra folders to its viewer that it should be ignoring (the &#8220;originals&#8221; folders that appear after editing an image).</p>
<p>Even with the slowness, I think I will continue to use Picasa because its organization features are just that good.  It takes the best of both worlds of sequential and event organization.  The folders are arranged by date, and separated by year, but within this date system, you assign meaningful names to the folders.  Plus all the image folders are stored at the same level.  So instead of drilling down to specific days like you have to in iPhoto, i.e. 2006 &gt;&gt; 12 &gt;&gt; 25, you have folder names like &#8220;Christmas 06&#8243;.  Plus you can tag your photos with keywords to help you find them later.</p>
<p>I know that iPhoto has some tagging features and the folder setup has gotten better, but it still doesn&#8217;t seem nearly as intuitive or easy to use as Picasa is.  Plus, with 8,000+ photos, Picasa still moves faster than iPhoto on my iMac that has &#8230; 25 pictures.</p>
<p>Google:  we&#8217;ll buy anything you want us to if you get a team of developers to make a Cocoa version of Picasa, I promise.</p>
<p>I also came up with a decent backup system and automatic-remote-picture-addition system that I will detail in the next few blogs.</p>
<p><b>Update: </b>Aparently <a href="http://lifehacker.com/software/iphoto/ask-the-readers-iphoto-alternative-189846.php">others have problems with iPhoto</a> as well.  Not many solutions yet.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=60&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/07/27/picasa-on-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/07/snapshot4.png" medium="image">
			<media:title type="html">snapshot4.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Gmail as a Recipe Organizer</title>
		<link>http://vlandham.wordpress.com/2006/07/26/gmail-as-a-recipe-organizer/</link>
		<comments>http://vlandham.wordpress.com/2006/07/26/gmail-as-a-recipe-organizer/#comments</comments>
		<pubDate>Wed, 26 Jul 2006 13:18:09 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[hints & tips]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">https://vlandham.wordpress.com/2006/07/26/gmail-as-a-recipe-organizer/</guid>
		<description><![CDATA[My wonderful wife (of 13 months and one day, today) has come up with the brilliant idea to use a Gmail account to save recipes she finds online. She had been using Yum, but got frustrated with trying to format the recipe correctly and stopped using it. It would try to be smart and convert [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=58&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://vlandham.files.wordpress.com/2006/07/logo1.thumbnail.png?w=450" alt="logo1.png" align="left" hspace="10" vspace="10" />My <a href="http://elementaryalchemist.blogspot.com/">wonderful wife</a> (of 13 months and one day, today) has come up with the brilliant idea to use a Gmail account to save recipes she finds online.</p>
<p>She had been using <a href="http://www.macupdate.com/info.php/id/10225">Yum</a>, but got frustrated with trying to format the recipe correctly and stopped using it. It would try to be smart and convert the ingredient measurements to standard abbreviations, but usually didn&#8217;t get it right, and just made more work for her.</p>
<p>Now with her Gmail Recipe Book, she can log in, copy and paste the recipe and send it to herself.  Auto-magically she has the recipe saved for future cooking.</p>
<p>But with Gmails tagging system, she can organize her recipes into categories like &#8216;chicken&#8217; or &#8216;beef&#8217;.  Since you can add multiple tags to an email, she can put recipes into different sections.</p>
<p>In the future, she could create two tags: &#8216;eaten&#8217; and &#8216;uneaten&#8217; to further differentiate from those recipes she has tried, and those yet to come.</p>
<p>She also came up with a good rating system.   After trying a recipe, she can reply to that recipe and input our thoughts in the reply.  That way each time she looks at that recipe, she can see all the replies (reviews) that go with it.  Perfect!  And if she wants a visual cue to the ratings, we could always use one of the alt symbols: ◊,†,•,‡ etc.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/58/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/58/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=58&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/07/26/gmail-as-a-recipe-organizer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/07/logo1.thumbnail.png" medium="image">
			<media:title type="html">logo1.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Control Your Subversion: Tips for Setting up Subversion on the Mac</title>
		<link>http://vlandham.wordpress.com/2006/07/04/control-your-subversion-tips-for-setting-up-subversion-on-the-mac/</link>
		<comments>http://vlandham.wordpress.com/2006/07/04/control-your-subversion-tips-for-setting-up-subversion-on-the-mac/#comments</comments>
		<pubDate>Tue, 04 Jul 2006 14:56:58 +0000</pubDate>
		<dc:creator>vlandham</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[hints & tips]]></category>
		<category><![CDATA[programs]]></category>

		<guid isPermaLink="false">https://vlandham.wordpress.com/2006/07/04/control-your-subversion-tips-for-setting-up-subversion-on-the-mac/</guid>
		<description><![CDATA[This is just a little post to help me remember how I got this stuff working. Subversion is a revision control system that is being developed to replace older similar systems. Revision control lets you update your projects in an iterative fashion and allows you to keep track of these changes. This is perfect for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=55&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://vlandham.files.wordpress.com/2006/07/subversion_logo_hor-468x64.png?w=450" alt="subversion_logo_hor-468x64.png" align="left" hspace="10" vspace="10" />This is just a little post to help me remember how I got this stuff working.</p>
<p><a href="http://en.wikipedia.org/wiki/Subversion_%28software%29">Subversion </a>is a revision control system that is being developed to replace <a href="http://vlandham.wordpress.com/wp-admin/">older similar systems</a>.  Revision control lets you update your projects in an iterative fashion and allows you to keep track of these changes. This is perfect for when you have a bunch of people working on the same thing and want an easy way that everyone can work on the same stuff without stepping on other peoples toes.</p>
<p>I have used version control systems on a Java application we developed as a team last semester, and I plan on using it soon to develop web applications, but it really could be used for almost anything:  a big proposal, documents for a conference, anything that you might work on in a step-wise fashion.</p>
<p>Plus, it doesn&#8217;t have to be a group project to use Subversion.  You can use it as an easy backup system so you can work on your stuff from any machine and use it in case you want to revert to an earlier version of something.</p>
<p>They have a <a href="http://svnbook.red-bean.com/">free book</a> about how to use / setup Subversion, and there is a <a href="http://software.newsforge.com/article.pl?sid=05/06/02/1454229&amp;tid=130">lot</a> <a href="http://www.subversionary.org/">of </a><a href="http://www.sitepoint.com/blogs/2006/02/07/using-svn-for-web-development/">info </a>out there on how to use it.</p>
<p><b>Client</b></p>
<p>If you have the server set up, using a client to check-in and check-out projects is easy.  For <b>Windows</b> there is a client called <a href="http://tortoisesvn.sourceforge.net/">tortoisesvn </a>that comes highly recommended.  I guess it integrates with Windows Explorer to make things easy.  For <b>Mac</b> you can use a <a href="http://www.codingmonkeys.de/mbo/articles/2006/06/05/subversion-1-3-2">precompiled command-line version </a>(this one is the most popular and put out by Martin Ott of <a href="http://www.codingmonkeys.de/subethaedit/index.html">SubEthaEdit </a>fame) or search for a GUI version.  My favorite so far has been <a href="http://www.macupdate.com/info.php/id/21327">ZigVersion</a>.  <a href="http://www.macupdate.com/info.php/id/15527">SvnX </a>is also recommended, but froze up when trying to connect to my server (probably because I was initially typing the location wrong).</p>
<p><b>Server</b></p>
<p>This is the tricky part.  The easiest way to install it on a Mac that I&#8217;ve found is using <a href="http://darwinports.opendarwin.org/">Darwinports </a>and <a href="http://wiki.opendarwin.org/index.php/DarwinPorts:Subversion">this tutorial</a>.  I followed it excatly without any issues. Darwinports is so handy, everyone should have it installed by now. Then I used <a href="http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authn.basic">this section</a> of the book to add basic authentication to my Subversion repository.</p>
<p>New Repository<br />
Now to add a new repository I simply use:</p>
<blockquote><p><i>sudo mkdir reposName</i></p>
<p><i>sudo svnadmin create &#8211;fs-type fsfs reposName</i></p></blockquote>
<p>make template and import</p>
<blockquote><p><i>cd ~ </i></p>
<p><i>mkdir svn-template </i></p>
<p><i>cd svn-template</i></p>
<p><i> mkdir trunk branches tags</i></p></blockquote>
<p>Import your template directory into the &#8220;reposName&#8221; repository using</p>
<blockquote><p><i>svn import .http://localhost/svnrepo/reposName -m &#8220;Initial import.&#8221;</i></p></blockquote>
<p>And you should be ready to go.  Here&#8217;s a list of commands from the book commonly used in messing with the repository:</p>
<ul>
<li>Initial Checkout
<p class="itemizedlist">&nbsp;</p>
<ul>
<li><b>svn checkout http://name.of.host/rep/path</b></li>
</ul>
</li>
</ul>
<p class="itemizedlist">&nbsp;</p>
<ul>
<li>Update your working copy
<p class="itemizedlist">&nbsp;</p>
<ul>
<li><b>svn update</b></li>
</ul>
</li>
<li>Make changes
<p class="itemizedlist">&nbsp;</p>
<ul>
<li><b>svn add</b></li>
<li><b>svn delete</b></li>
<li><b>svn copy</b></li>
<li><b>svn move</b></li>
</ul>
</li>
<li>Examine your changes
<p class="itemizedlist">&nbsp;</p>
<ul>
<li><b>svn status</b></li>
<li><b>svn diff</b></li>
<li><b>svn revert</b></li>
</ul>
</li>
<li>Merge others&#8217; changes into your working copy
<p class="itemizedlist">&nbsp;</p>
<ul>
<li><b>svn update</b></li>
<li><b>svn resolved</b></li>
</ul>
</li>
<li>Commit your changes
<p class="itemizedlist">&nbsp;</p>
<ul>
<li><b>svn commit</b></li>
</ul>
</li>
</ul>
<p>So that brings together most of what you would need to set up a Subversion server on a Mac, and mess with it.  Hope this can help somebody</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vlandham.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vlandham.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vlandham.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vlandham.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vlandham.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vlandham.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vlandham.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vlandham.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vlandham.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vlandham.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vlandham.wordpress.com&amp;blog=54872&amp;post=55&amp;subd=vlandham&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vlandham.wordpress.com/2006/07/04/control-your-subversion-tips-for-setting-up-subversion-on-the-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84ed4b2cd8ef7b514cabfdbd090c4b56?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vlandham</media:title>
		</media:content>

		<media:content url="http://vlandham.files.wordpress.com/2006/07/subversion_logo_hor-468x64.png" medium="image">
			<media:title type="html">subversion_logo_hor-468x64.png</media:title>
		</media:content>
	</item>
	</channel>
</rss>
