<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[linus!]]></title>
  <link href="http://linusgraybill.com.com/atom.xml" rel="self"/>
  <link href="http://linusgraybill.com.com/"/>
  <updated>2011-12-15T23:11:34-05:00</updated>
  <id>http://linusgraybill.com.com/</id>
  <author>
    <name><![CDATA[Linus Graybill]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[An Open Letter to President Obama]]></title>
    <link href="http://linusgraybill.com.com/blog/2011/12/15/my-open-letter-to-obama/"/>
    <updated>2011-12-15T20:31:00-05:00</updated>
    <id>http://linusgraybill.com.com/blog/2011/12/15/my-open-letter-to-obama</id>
    <content type="html"><![CDATA[<p>Dear President Obama,</p>

<p>Today, December 15, 2011, two things are being discussed by our elected officials, the <a href="http://www.aclu.org/blog/tag/NDAA">2012 NDAA</a> and <a href="http://www.mozilla.org/sopa/">SOPA</a>.</p>

<p>Today I changed an opinion I never thought I&#8217;d change; I changed my support for you and your administration.</p>

<p>More importantly, the recent actions of our elected officials and your administration have made me completely lose faith in our government. I was almost always appalled by the Bush administration&#8217;s actions, but this time it&#8217;s different. Not just because you promised otherwise, but because what you will potentially sign in to law is much more dangerous to the long-term success of this country.</p>

<p>Compromising freedom of speech in this time in our world equates to compromising our ability to innovate, evolve, and compete in the world market.</p>

<p>Aside from violating the basic principles of American democracy, I feel like we, the people, are being punished. Our freedoms are being removed based on closed-door government discussions. Maybe it&#8217;s lobbyists? Maybe it&#8217;s a known threat of terrorism? Maybe unemployment will spike? Maybe rabid mutant pandas? We don&#8217;t know because we haven&#8217;t been told.</p>

<p>Our rights are being taken away, we haven&#8217;t been given any explanation, and legislation has been pushed through in a secretive manner.</p>

<p>Why are the American people being treated like children?</p>

<p>This country, represented by our elected officials, is spending the majority of its efforts fighting change. The world is changing faster than our senators can get words out of their mouths.</p>

<p>Please don&#8217;t compromise our country&#8217;s future to retain an antiquated status quo. Incentivize education, innovation, forward thinking, and let&#8217;s focus on making America the admirable country it once was.</p>

<p>Respectfully,
Linus Graybill</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Ten Things Textmate Users Might Love About Sublime]]></title>
    <link href="http://linusgraybill.com.com/blog/2011/11/14/ten-things-textmate-users-might-love-about-sublime/"/>
    <updated>2011-11-14T21:15:00-05:00</updated>
    <id>http://linusgraybill.com.com/blog/2011/11/14/ten-things-textmate-users-might-love-about-sublime</id>
    <content type="html"><![CDATA[<p>I&#8217;ve been a Textmate user since 2004. I loved it then and I have a strong fondness for it now. Textmate converted me from an IDE to a text editor. Before Textmate I was using&#8230;wait for it&#8230;</p>

<p>Dreamweaver.</p>

<p>So Textmate was like huge. But like a lot of folks I&#8217;ve been frustrated Textmate hasn&#8217;t changed in seven-ish years.</p>

<p>I&#8217;ve recently become a quick convert to Sublime. If you&#8217;re a heavy Textmate user, I have 10 good reasons you should take a look at Sublime.</p>

<h3>1. Directory specification for ⌘T</h3>

<p>  In Textmate, ⌘T opens a file browser. Say I&#8217;m looking for group_admin.spec, I can hit ⌘T and type &#8216;gro spec&#8217; and then can jump to that file from a list. I use it tens of times every day.</p>

<p>  There&#8217;s one big pain point with ⌘T: multiple files with the same name, such as this table.haml file that might exist in 16 different directories in this project.</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-textmate_command_t.png" title="Title is optional" alt="picture alt" /></p>

<p>  Sublime solves this problem by adding directory specification. The file that I really want is in the software_requests directory. In Sublime I can do ⌘T and type &#8216;sof /table.ha&#8217; and the results are much more manageable:</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_command_t.png" title="Title is optional" alt="picture alt" /></p>

<p>  <!--more--></p>

<h3>2. Find in project is fast like WOAH</h3>

<p>  Another feature with roots in Textmate is &#8220;find in project&#8221; (⌥⌘F). For some reason Textmate doesn&#8217;t index code and Sublime does. I did some ghetto benchmarking with a stop watch and while the results are miles apart, they shouldn&#8217;t be surprising.</p>

<pre><code>Searching 2487 files for "SoftwareRequest.find" (case sensitive):
----------------------------
|  Textmate  | 45 seconds  |
|  Sublime   | 0.9 seconds |
----------------------------
</code></pre>

<h3>3. Split screenage!</h3>

<p>  Views -> Layout gives you several options for setting up various split-screen configurations. You can drag files via their tab between screens.</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_split_screen_2_columns.png" title="Title is optional" alt="picture alt" /></p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_split_screen_3_rows.png" title="Title is optional" alt="picture alt" /></p>

<h3>4. Configurable project files</h3>

<p>  When you save a project, you get a MyProject.sublime-project file. I&#8217;m especially excited about the easy &#8220;folder_exclude_patterns&#8221; and &#8220;file_exclude_patterns&#8221; settings.</p>

<pre><code>{
  "folders":
  [
      {
          "path": "app"
          "folder_exclude_patterns": ["log"],
          "file_exclude_patterns": ["*.css", "*.log", "*.DS_Store"]
      }
  ],
  "settings":
  {
      "tab_size": 4,
      "covert_tabs_to_spaces": true
  }
}
</code></pre>

<h3>5. Saved workspaces</h3>

<p>  For my Rails projects I like a straight two-column layout. For my Jekyll projects, I like the two-column but also need the sidebar. For my cli projects, I use either one or two-columns and the console. You get the idea.</p>

<p>  With Sublime&#8217;s split screen views, side bar, and built-in console, there are lots of options for customizing your workspace. When you set up a project, Sublime automatically saves your project&#8217;s workspace in a MyProject.sublime-workspace file.</p>

<p>  Note: Unlike .sublime-project files, .sublime-workspace files are frequently overwritten by the system, <em>so don&#8217;t edit them directly.</em></p>

<h3>6. Project jump</h3>

<p>  Building again on the value of setting up projects in Sublime is the project jump feature (⌥⌘P). Selecting a project from this list will open that project exactly how you left it last.</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_jump_to_project.png" title="Title is optional" alt="picture alt" /></p>

<h3>7. Vertical markers for code blocks</h3>

<p>  Finding elusive closing div tags is going to be a lot easier. A small but incredibly useful feature &#8211; vertical lines help you visually line up the begin and end of blocks:</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_vertical_markers.png" title="Title is optional" alt="picture alt" /></p>

<h3>8. You can use Textmate bundles</h3>

<p>  Sublime comes with a solid set of language packs and plugins (for more info check out <a href="http://wbond.net/sublime_packages/package_control">package control</a>). But it&#8217;s still new and all. Copy Textmate bundles into your Sublime Packages directory and with a restart you should have all of their functionality available.</p>

<pre><code>$ cp ~/Library/Application\ Support/TextMate/Bundles/BUNDLENAME.tmbundle ~/Applications/Sublime2 ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/
</code></pre>

<p>  I&#8217;ve pulled over my tmbundles for <a href="https://github.com/pivotal/jasmine-tmbundle">Jasmine</a>, <a href="https://github.com/dchelimsky/rspec-tmbundle.git">rspec</a>, and <a href="https://github.com/bmabey/cucumber-tmbundle">Cucumber</a> and so far it&#8217;s been plug-n-play.</p>

<h3>9. Remembers language/framework on a per-file basis</h3>

<p>  Textmate remembers on an extension basis, so if you tell Textmate that appSpec.js file is Jasmine, now all .js files are considered to be Jasmine.</p>

<p>  Sublime remembers on a per-file basis!</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_file_type_menu.png" title="Title is optional" alt="picture alt" /></p>

<p>  If you want Sublime to open all your .js files as Jasmine (or whatever), use &#8220;Open all with current extension as&#8230;&#8221;:</p>

<p>  <img src="http://linusgraybill.com.com/images/posts/2011-11-14-sublime_file_type_menu_all.png" title="Title is optional" alt="picture alt" /></p>

<h3>10. Running a single test and the last run test from anywhere</h3>

<p>  Thanks to <a href="http://matschaffer.com/">Mat Schaffer</a> for pointing this one out to me.</p>

<p>  Textmate has that nifty ⇧⌘R command to run a single test. RubyTest gives you that, plus ⇧⌘E which runs your last test no matter what file you&#8217;ve got open. That&#8217;s hot, and as Mat said, a feature that&#8217;s usually only available in a heavyweight IDE like Eclipse.</p>
]]></content>
  </entry>
  
</feed>

