<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tools on traviscj/blog</title>
    <link>https://traviscj.com/blog/tags/tools/</link>
    <description>Recent content in Tools on traviscj/blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 21 Feb 2019 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://traviscj.com/blog/tags/tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>smart arguments</title>
      <link>https://traviscj.com/blog/post/2019-02-21-smart-arguments/</link>
      <pubDate>Thu, 21 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2019-02-21-smart-arguments/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s easy to love the terseness one can get out of a command-line tool with a &amp;ldquo;pass by order&amp;rdquo; convention.&#xA;For example, maybe I run something like&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deploy myapp sea2 production&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to deploy an application called &lt;code&gt;myapp&lt;/code&gt; to the second &lt;strong&gt;production&lt;/strong&gt; datacenter near Seattle.&#xA;This works great, except now I need to remember the order of arguments is: &lt;code&gt;deploy [app] [datacenter] [environment]&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The typical solve for this problem is introducing named arguments, so you&amp;rsquo;d end up with&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming is hard (so don&#39;t)</title>
      <link>https://traviscj.com/blog/post/2018-10-07-naming_is_hard_so_dont/</link>
      <pubDate>Sun, 07 Oct 2018 02:31:43 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2018-10-07-naming_is_hard_so_dont/</guid>
      <description>&lt;p&gt;A lot of times I just want to &lt;strong&gt;record&lt;/strong&gt; something.&#xA;This should be one of those things computers are good at.&#xA;Turns out this is a bit harder than it seems: many editors make you &lt;em&gt;name&lt;/em&gt; a file to save it.&lt;/p&gt;&#xA;&lt;p&gt;One easy-sounding way to record something is:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;open up a text editor&lt;/li&gt;&#xA;&lt;li&gt;mash the keyboard until the thought is out of your head and into the text editor&lt;/li&gt;&#xA;&lt;li&gt;(hard part starts) what do we name that file?&lt;/li&gt;&#xA;&lt;li&gt;where do we put that file?&lt;/li&gt;&#xA;&lt;li&gt;do we remember to save that file, given the difficulty of (3) &amp;amp; (4)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;I think picking names &lt;em&gt;too early&lt;/em&gt; is at best a minor annoyance, and at worst a pretty major distraction.&lt;/p&gt;</description>
    </item>
    <item>
      <title>osquery</title>
      <link>https://traviscj.com/blog/post/2018-01-12-osquery/</link>
      <pubDate>Fri, 12 Jan 2018 08:43:17 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2018-01-12-osquery/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve known about [osquery][] for a while, but recently spent some time digging around in it.&#xA;[osquery]: &lt;a href=&#34;https://osquery.io&#34;&gt;https://osquery.io&lt;/a&gt;&#xA;The basic idea is to provide a consistent SQL interface to a bunch of system data, instead of learning idiosyncrasies of individual commands (which themselves vary across operating systems).&#xA;My hacker buddy Sharvil has worked on osquery a fair bit and explained to me a couple years ago that it actually uses [sqlite][]&amp;rsquo;s [virtual table functionality][vtab] to provide the interface &amp;ndash; it&amp;rsquo;s a fascinating and brilliant project!&#xA;[sqlite]: &lt;a href=&#34;https://sqlite.org/&#34;&gt;https://sqlite.org/&lt;/a&gt;&#xA;[vtab]: &lt;a href=&#34;https://sqlite.org/vtab.html&#34;&gt;https://sqlite.org/vtab.html&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>relational java explorations with sqlite3 vtab</title>
      <link>https://traviscj.com/blog/post/2017-05-05-relational-java-explorations-with-sqlite3-vtab/</link>
      <pubDate>Fri, 05 May 2017 20:10:28 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2017-05-05-relational-java-explorations-with-sqlite3-vtab/</guid>
      <description>&lt;p&gt;One idea i have been mulling over lately is exposing a java codebase relationally, with queries like:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; classes &lt;span style=&#34;color:#66d9ef&#34;&gt;c&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;JOIN&lt;/span&gt; annotations a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;ON&lt;/span&gt; a.class_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;c&lt;/span&gt;.id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;WHERE&lt;/span&gt; a.name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MyAnnotationClass&amp;#39;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;p&gt;The idea here is that you could search a codebase by pretending that you had tables for a whole bunch of things like:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;classes&lt;/li&gt;&#xA;&lt;li&gt;annotations&lt;/li&gt;&#xA;&lt;li&gt;variables&lt;/li&gt;&#xA;&lt;li&gt;literals&lt;/li&gt;&#xA;&lt;li&gt;methods&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This would be a useful thing because instead of relying on an IDE like IntelliJ to do &amp;ldquo;find usages&amp;rdquo; operations, you could actually script those interactions.&#xA;Admittedly, of course, Java has some pretty sophisticated reflection APIs to find this sort of stuff too, but it seems like exploring the structure could be much easier writing Java code to traverse those trees.&lt;/p&gt;</description>
    </item>
    <item>
      <title>.sqliterc</title>
      <link>https://traviscj.com/blog/post/2017-03-31-sqliterc/</link>
      <pubDate>Fri, 31 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2017-03-31-sqliterc/</guid>
      <description>&lt;p&gt;I came across &lt;a href=&#34;https://blog.chmouel.com/2009/07/16/better-output-from-sqlite3-command-line/&#34;&gt;Better output from sqlite3 command line&lt;/a&gt;.&#xA;His &lt;code&gt;.sqliterc&lt;/code&gt; file did not work for me, but the simpler&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;.mode &amp;quot;column&amp;quot;&#xA;.headers on&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;did work nicely.&lt;/p&gt;&#xA;&lt;p&gt;I also found out that &lt;code&gt;brew install sqlite3&lt;/code&gt; does not install the &lt;code&gt;sqlite3&lt;/code&gt; binary to &lt;code&gt;$PATH&lt;/code&gt;, which stinks.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;sqlite3&lt;/code&gt; environment is still much less pleasant than the &lt;code&gt;mysql&lt;/code&gt; cli.&#xA;A few things on my wishlist:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tab completion of tables, fields, keywords, and functions.&lt;/li&gt;&#xA;&lt;li&gt;nicer &lt;code&gt;.schema&lt;/code&gt; output &amp;ndash; I&amp;rsquo;ve just gotten really used to reading them in mysql output&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It sounds like maybe &lt;a href=&#34;https://github.com/rogerbinns/apsw&#34;&gt;apsw&lt;/a&gt; can be something useful?&#xA;Or maybe Navicat? (but that&amp;rsquo;s expensive)&lt;/p&gt;</description>
    </item>
    <item>
      <title>idea: transaction ordering in ledger-cli</title>
      <link>https://traviscj.com/blog/post/2017-03-27-idea_transaction_ordering_in_ledgercli/</link>
      <pubDate>Mon, 27 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2017-03-27-idea_transaction_ordering_in_ledgercli/</guid>
      <description>&lt;p&gt;I love &lt;a href=&#34;http://ledger-cli.org/&#34;&gt;ledger-cli&lt;/a&gt; but keeping it in sync with my bank statements drives me crazy.&#xA;The problem is that the transactions can end up with an essentially arbitrary ordering, and the order they clear (and even the &lt;em&gt;date&lt;/em&gt; they clear) is not necessarily under my direct control.&lt;/p&gt;&#xA;&lt;p&gt;One answer to this is: stop caring about the ordering of your transactions!&#xA;That&amp;rsquo;s a decent answer, except that not addressing the ordering issue means that you can only ever have &amp;ldquo;end-of-day&amp;rdquo; consistency.&#xA;This means you need a different report to reconcile the transactions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Useful homebrew formula</title>
      <link>https://traviscj.com/blog/post/2016-12-01-useful-brew-installs/</link>
      <pubDate>Thu, 01 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2016-12-01-useful-brew-installs/</guid>
      <description>&lt;p&gt;Last week I was telling &lt;a href=&#34;https://pauljoos.com/&#34;&gt;Paul&lt;/a&gt; about things I have &lt;code&gt;brew install&lt;/code&gt;ed on my work laptop.&#xA;I pulled a &lt;a href=&#34;https://traviscj.com/ZeroBin/?4aad6b057954d42e#8VJqyn80/+WkRlFiwY3KGfQAYxKB+CKs6FhbdyZOP+s=&#34;&gt;full list&lt;/a&gt; as I was doing some upgrades and stuff this morning.&lt;/p&gt;&#xA;&lt;p&gt;Glancing over it a bit, here are some of my favorites/most usefuls:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;autojump&lt;/code&gt; for a usage-adjusting &lt;code&gt;cd&lt;/code&gt; &amp;ndash; given a partial string it just goes to the most-used directory with that prefix. I have &lt;code&gt;autojump&lt;/code&gt; aliased to &lt;code&gt;j&lt;/code&gt; to shorten it up even more.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;colordiff&lt;/code&gt; to make diffs/grep/etc nicer to look at in the terminal.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;coreutils&lt;/code&gt;/&lt;code&gt;dateutils&lt;/code&gt; is nice because it installs the GNU versions of a lot of standard linux commands like &lt;code&gt;du&lt;/code&gt; and &lt;code&gt;ls&lt;/code&gt; and &lt;code&gt;date&lt;/code&gt; that work a bit strange/differently on OSX.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;jq&lt;/code&gt; is amazing — lets you query JSON objects.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ledger&lt;/code&gt; to manage bank balances in plain text.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;newsbeuter&lt;/code&gt; to subscribe to RSS feeds.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;osquery&lt;/code&gt; lets you do SQL-like queries to find out about the system it’s running on (sharvil did a bunch of work on it, actually…)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;terminal-notifier&lt;/code&gt; to pop up notifications from terminal/cron jobs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;tmux&lt;/code&gt; to have long-running terminal windows without having terminal windows open.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;watch&lt;/code&gt; instead of &amp;ldquo;some command&amp;rdquo;+uparrow+enter+uparrow+enter+&amp;hellip;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;wget&lt;/code&gt; as shorthand for “curl http://xyz/tuv.json &amp;gt; tuv.json” (old habits…),&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;youtube-dl&lt;/code&gt; for downloading youtube videos.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>build_json.sh</title>
      <link>https://traviscj.com/blog/post/2015-08-19-build_json.sh/</link>
      <pubDate>Wed, 19 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2015-08-19-build_json.sh/</guid>
      <description>&lt;p&gt;This might seem silly, but I&amp;rsquo;ve beeing playing with some&#xA;&lt;a href=&#34;http://traviscj.com/ZeroBin/?1d4c5e66662c6306#V91+G7w0NYxN4ui/sDPBivPA8Fo5PzB7mZHAPboau7U=&#34;&gt;json.sh&lt;/a&gt; scripts&#xA;that build legitimate json bodies and are easily filled into a shell script variable as needed.&lt;/p&gt;&#xA;&lt;p&gt;The basic driving idea was that there are lots of slick ways to pull data &lt;em&gt;out&lt;/em&gt; of JSON(either by programming something with python&amp;rsquo;s json or running a command line tool like jq or whatever), but not as many friendly ways to build some JSON out of a given token or whatever.&#xA;Often, you have a list of identifiers and you need to build a bunch of JSON blobs from that list.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Switching to jekyll</title>
      <link>https://traviscj.com/blog/post/2014-09-01-switching_to_jekyll/</link>
      <pubDate>Mon, 01 Sep 2014 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2014-09-01-switching_to_jekyll/</guid>
      <description>&lt;p&gt;I spent a few hours this evening switching everything over from &lt;a href=&#34;https://github.com/traviscj/tcjblog&#34;&gt;tcjblog&lt;/a&gt; to &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;.&#xA;I really do miss a few parts of the old blog setup, but one of the main reasons I switched several years ago was LaTeX support.&#xA;Back then, we didn&amp;rsquo;t have really sweet options like &lt;a href=&#34;http://www.mathjax.org/&#34;&gt;MathJax&lt;/a&gt;.&#xA;And it just takes too long.&lt;/p&gt;&#xA;&lt;p&gt;One of the other big things that was keeping me from updating the blog the last couple of months was&amp;hellip; the stolen laptop.&#xA;It turns out that I didn&amp;rsquo;t have very good backups for the last few website updates, which meant that I needed to manually restore blog posts from the website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>mnemonicode-0.73</title>
      <link>https://traviscj.com/blog/post/2014-07-10-mnemonicode-0.73/</link>
      <pubDate>Thu, 10 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2014-07-10-mnemonicode-0.73/</guid>
      <description>&lt;p&gt;I found&#x9;a really cool tool called &lt;a href=&#34;https://github.com/singpolyma/mnemonicode&#34;&gt;mnemonicode&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It basically encodes an&#x9;arbitrary string into some easily-sayable and understandble phrases:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Traviss-MacBook-Pro% echo &amp;quot;hello world&amp;quot; | ./mnencode&#xA; Wordlist ver 0.7&#xA;square angel stone. blitz pacific tango. zebra shave basic&#xA;Traviss-MacBook-Pro% echo square angel stone. blitz pacific tango. zebra shave basic | ./mndecode&#xA;hello world&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>some setup notes</title>
      <link>https://traviscj.com/blog/post/2013-10-27-some_setup_notes/</link>
      <pubDate>Sun, 27 Oct 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-10-27-some_setup_notes/</guid>
      <description>&lt;h2 id=&#34;zsh&#34;&gt;zsh&lt;/h2&gt;&#xA;&lt;p&gt;Zsh is an amazing (mostly) drop-in replacement for bash.&lt;/p&gt;&#xA;&lt;p&gt;On OSX, just run&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;gt; brew install zsh&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;You also want to install oh-my-zsh.&lt;/p&gt;&#xA;&lt;p&gt;I went a little crazy with plugins. My list is:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;plugins=(autojump brew git git-flow gnu-utils gpg2 osx textmate zsh-syntax-highlighting history-substring-search)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;ssh&#34;&gt;SSH&lt;/h2&gt;&#xA;&lt;p&gt;I ssh a lot. So I have a bunch of host entries in my .ssh/config file. Each looks like:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Host [shortname]&#xA;     Hostname [hostname]&#xA;     User     [username for hostname]&#xA;     IdentityFile [my home directory]/.ssh/[id_rsa file for this host]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;You also need identity files for hosts you use. I tend to use a different one on each host I connect to; some might consider this overly paranoid. Probably it&amp;rsquo;d be better to use 1 key but only for a shorter period of time. In any case, you need to use&lt;/p&gt;</description>
    </item>
    <item>
      <title>Numerical Development on OSX (in the Command Line)</title>
      <link>https://traviscj.com/blog/post/2013-08-19-numerical_development_on_osx_in_the_command_line/</link>
      <pubDate>Mon, 19 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-08-19-numerical_development_on_osx_in_the_command_line/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been working on C implementations of my research projects, which can of course be a perilous project. I&amp;rsquo;ve found some tools that make it hugely, hugely better.&lt;/p&gt;&#xA;&lt;h2 id=&#34;homebrew&#34;&gt;Homebrew&lt;/h2&gt;&#xA;&lt;p&gt;You can&amp;rsquo;t do a list like this without mentioning homebrew. You want homebrew instead of MacPorts or Fink or bailing twine and chewing gum or whatever else you were thinking about using. Just do it: You can find the homepage at brew.sh or just install with:&lt;/p&gt;</description>
    </item>
    <item>
      <title>spring-mass visualization</title>
      <link>https://traviscj.com/blog/post/2013-07-31-spring-mass_visualization/</link>
      <pubDate>Wed, 31 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-07-31-spring-mass_visualization/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m working on a paper about an algorithm for hotstarting nonlinear program solves; one application of this might be in the realm of nonlinear model predictive control.&#xA;In these types of models, we first define the physical equations for the system under consideration.&#xA;They are subject to some control parameters, which are just a mathematical representation of the input we could give the system.&#xA;We also define an objective&amp;ndash;something that we would like to minimize(usually something like time or energy).&lt;/p&gt;</description>
    </item>
    <item>
      <title>better matlab email notifications</title>
      <link>https://traviscj.com/blog/post/2013-06-25-better_matlab_email_notifications/</link>
      <pubDate>Tue, 25 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-06-25-better_matlab_email_notifications/</guid>
      <description>&lt;p&gt;One of my officemates asked me how I did my MATLAB email notifications. I had&#xA;originally done it &lt;a href=&#34;http://traviscj.com/blog/post/2012-09-28-more_stupid_matlab_tricks/&#34;&gt;here&lt;/a&gt;.&#xA;Of course, the machine we work on most didn&amp;rsquo;t support a mail or msmtp command,&#xA;so I found&#xA;&lt;a href=&#34;http://stackoverflow.com/questions/64505/sending-mail-from-python-using-smtp&#34;&gt;an SMTP script&lt;/a&gt;,&#xA;which worked okay, but frustratingly also required Python. On a bit more sleep,&#xA;it finally occured to me that MATLAB might have an email script.&lt;/p&gt;&#xA;&lt;p&gt;Turns out, &lt;a href=&#34;http://www.mathworks.com/help/matlab/ref/sendmail.html&#34;&gt;it does&lt;/a&gt;.&#xA;I wrote a little wrapper script around this to abstract out some of the email&#xA;details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>org-mode emacs to track mileage</title>
      <link>https://traviscj.com/blog/post/2013-05-15-org-mode_emacs_to_track_mileage/</link>
      <pubDate>Wed, 15 May 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-05-15-org-mode_emacs_to_track_mileage/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been trying out emacs org-mode lately for keeping track of everything.&#xA;One thing that seemed worth tracking is the mileage the new Focus gets.&#xA;Turns out that org-mode supports a kind of spreadsheet, so I made a quick little video demo on how I use it:&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;</description>
    </item>
    <item>
      <title>Getting really fast at LaTeX</title>
      <link>https://traviscj.com/blog/post/2013-04-10-getting_really_fast_at_latex/</link>
      <pubDate>Wed, 10 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2013-04-10-getting_really_fast_at_latex/</guid>
      <description>&lt;p&gt;Taking LaTeX notes in real time is one of my favorite useless party tricks. I started developing my techniques during the last year or two of undergraduate work at University of Washington, and was extremely good at it by the end of coursework at Northwestern. There are several keys to taking LaTeX notes in real time:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Know LaTeX.&lt;/li&gt;&#xA;&lt;li&gt;Shortcut appropriately.&lt;/li&gt;&#xA;&lt;li&gt;Type keystrokes quickly.&lt;/li&gt;&#xA;&lt;li&gt;One keystroke re-renders.&lt;/li&gt;&#xA;&lt;li&gt;Type fewer keystrokes.&lt;/li&gt;&#xA;&lt;li&gt;Type fewer “strange” keystrokes (backslashes, curly braces, etc)&lt;/li&gt;&#xA;&lt;li&gt;Re-renders should scroll to your current location in the text.&lt;/li&gt;&#xA;&lt;li&gt;Extremely rapid debugging of LaTeX expressions.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Before I get started, one other note: I mention TextMate a few places, but in principle there is no reason you couldn&amp;rsquo;t configure all the same things in Vim, Emacs, or Sublime Text. If I was starting over, I might use Sublime Text instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>more stupid matlab tricks</title>
      <link>https://traviscj.com/blog/post/2012-09-28-more_stupid_matlab_tricks/</link>
      <pubDate>Fri, 28 Sep 2012 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2012-09-28-more_stupid_matlab_tricks/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been setting up long-ish runs on my MATLAB instance lately, which is nice because I can wanter off to do something else. The trouble is that I occasionally forget to come back or refocus on work again.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve come up with two solutions to this:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The first is to use growlnotify to pop up a persistant growl message. This works well enough as long as I&amp;rsquo;m at the computer:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;system(&amp;#39;growlnotify -s -m &amp;#34;somefile is done&amp;#34;&amp;#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;For more extended aways or if I&amp;rsquo;m going to take a nap while it runs, I might do something more like:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;system(&amp;#39;echo &amp;#34;matlab: uflX_aw_constr_log_5_15 done&amp;#34; | msmtp -a traviscj (mycell)@txt.att.net&amp;#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You need some setup before this works: I did a &lt;em&gt;brew install msmtp&lt;/em&gt; and set up a .msmtprc file. After that, it should work goldenly, at least for AT&amp;amp;T customers. Others might need to look up their email/sms gateway number.&lt;/p&gt;</description>
    </item>
    <item>
      <title>debugging matlab mex</title>
      <link>https://traviscj.com/blog/post/2012-08-16-debugging_matlab_mex/</link>
      <pubDate>Thu, 16 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2012-08-16-debugging_matlab_mex/</guid>
      <description>&lt;p&gt;One thing I&amp;rsquo;ve been doing a bit of lately is debugging MATLAB mex files; it seemed worth documenting.&#xA;The broad strokes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;recompile all mex codes with &amp;lsquo;-g&amp;rsquo;&lt;/li&gt;&#xA;&lt;li&gt;quit MATLAB&lt;/li&gt;&#xA;&lt;li&gt;From a command prompt, run&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ /Applications/MATLAB_R2012a.app/bin/matlab -Dgdb&#xA;[snip]&#xA;(gdb) run -nojvm&#xA;&amp;gt;&amp;gt; run_your_mex_file&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This gives debugging output. If there is an error in the code, you&amp;rsquo;re dropped back to a gdb prompt, where you can continue debugging in a semi-normal fashion.&#xA;Typically, I end up doing a &amp;lsquo;where&amp;rsquo; to get a stack trace, and debug from there more-or-less like usual.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integrating Sparrow and Aperture/iPhoto</title>
      <link>https://traviscj.com/blog/post/2012-04-13-integrating_sparrow_and_apertureiphoto/</link>
      <pubDate>Fri, 13 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2012-04-13-integrating_sparrow_and_apertureiphoto/</guid>
      <description>&lt;p&gt;In my recent quest to take on digital photography, I&amp;rsquo;ve been using Apple&amp;rsquo;s Aperture to store download my pictures and do basic manipulation on them. It&amp;rsquo;s been working great, except that emailing is a pain because Apple hardcoded the email clients to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Apple Mail.app&lt;/li&gt;&#xA;&lt;li&gt;Eudora (really!?)&lt;/li&gt;&#xA;&lt;li&gt;America Online(!?!)&lt;/li&gt;&#xA;&lt;li&gt;Microsoft Entourage&lt;/li&gt;&#xA;&lt;li&gt;Microsoft Outlook&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;while I&amp;rsquo;d prefer to use Sparrow, a lightweight client that Sharvil got me hooked on a while back. Rather than continue to use Mail.app to send pictures via email, I found out that Aperture actually uses some AppleScripts to do the actual sending of the email. That got me thinking: I just need to change the script to mail using Sparrow, instead of Mail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>cplex matlab interface</title>
      <link>https://traviscj.com/blog/post/2012-02-01-cplex_matlab_interface/</link>
      <pubDate>Wed, 01 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2012-02-01-cplex_matlab_interface/</guid>
      <description>&lt;p&gt;Just for my own reference, I&amp;rsquo;m documenting the interface to CPLEX.&lt;/p&gt;&#xA;&lt;p&gt;CPLEX expects a problem in the form&#xA;(&#xA;\begin{split}&#xA;\min \qquad &amp;amp; g^Td + \frac12 d^TWd\&#xA;\text{subject to} \qquad &amp;amp; c_L \leq Ad \leq c_U\&#xA;&amp;amp; d_L \leq d \leq d_U&#xA;\end{split}&#xA;)&#xA;and is called by&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cplex = Cplex(&amp;#39;test&amp;#39;);&#xA;cplex.Param.feasopt.tolerance.Cur = 1e-8;&#xA;if params.printLevel &amp;lt; 8&#xA;    cplex.DisplayFunc = [];&#xA;end&#xA;cplex.Model.sense = &amp;#39;minimize&amp;#39;;&#xA;cplex.Param.qpmethod.Cur = 1;&#xA;cplex.addCols(gk,[],bl-xk,bu-xk);&#xA;cplex.addRows(-ck, A0, -ck);&#xA;cplex.Model.Q = W;&#xA;cplex.Model.obj = g;&#xA;cplex.Model.lb = d_L;&#xA;cplex.Model.ub = d_U;&#xA;cplex.Model.lhs= c_L;&#xA;cplex.Model.rhs= c_U;&#xA;cplex.solve();&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>VirtualBox and HRD/JT65</title>
      <link>https://traviscj.com/blog/post/2012-01-10-virtualbox_and_hrdjt65/</link>
      <pubDate>Tue, 10 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2012-01-10-virtualbox_and_hrdjt65/</guid>
      <description>&lt;p&gt;One of the semi-frustrating aspects of the state of computing and ham radio is the unavailability of some software packages on OSX.&#xA;In particular, I&amp;rsquo;ve been interested in experimenting with JT65 and also wanted to use my Yaesu FT-857d&amp;rsquo;s CAT cable to program memories and also try out HRD.&#xA;(I should add&amp;ndash;I&amp;rsquo;ve tried the JT65 stuff and some Yaesu memory programmers, but wasn&amp;rsquo;t satisfied with the Linux setup for those.&#xA;I&amp;rsquo;ll probably look into getting them working more later, but for now, this article.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting GnuPlot to compile on OSX</title>
      <link>https://traviscj.com/blog/post/2010-05-27-getting_gnuplot_to_compile_on_osx/</link>
      <pubDate>Thu, 27 May 2010 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2010-05-27-getting_gnuplot_to_compile_on_osx/</guid>
      <description>&lt;p&gt;I misunderstood an officemate’s question yesterday and set out to compile gnuplot. Stock GNUPlot will fail to compile on OSX due to an incompatibility in the readline library. So when you compile, let GNUPlot know to use the one included:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; tar xzvf gnuplot*&#xA;&amp;gt; cd gnuplot-4.2.39&#xA;&amp;gt; ./configure --prefix=/usr/local --with-readline=builtin&#xA;&amp;gt; make&#xA;&amp;gt; sudo make install&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Pylab PDF</title>
      <link>https://traviscj.com/blog/post/2010-05-25-pylab_pdf/</link>
      <pubDate>Tue, 25 May 2010 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2010-05-25-pylab_pdf/</guid>
      <description>&lt;p&gt;I’m in the process of kicking the MATLAB habit and replacing it with Python. Pylab is a reasonable approximation to the 2D plotting capabilities of MATLAB, but by default Pylab doesn’t run on headless(ie, non-GUI) boxes. So on my macbook, where I’m often running things interactively, I have&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;backend : macosx&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;and on the faster core2quad machine I send off longer-running jobs to, I used&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;backend : PDF&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;in the .matplotlib/matplotrc file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spaces setup</title>
      <link>https://traviscj.com/blog/post/2010-05-25-spaces_setup/</link>
      <pubDate>Tue, 25 May 2010 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2010-05-25-spaces_setup/</guid>
      <description>&lt;p&gt;My workflow is probably pretty specific, but I figured I’d document it for people looking for ideas on how to set it up. This one seems to work pretty well for me.&lt;/p&gt;&#xA;&lt;p&gt;. Terminal: for running stuff on my and other computers.&#xA;. Textmate: writing mathematics, programming code, etc&#xA;. Mathematica, MATLAB, and Papers&#xA;. Mail and Adium&#xA;. Firefox, Chrome, Safari&#xA;. iTunes and VLC&lt;/p&gt;&#xA;&lt;p&gt;I have this arranged in a 3×2 grid, such that Textmate is top center. From there I can navigate to terminal, math programs, and Firefox directly(control-{left,right,down}). It takes two navigations to get to communication programs and entertainment, which is good for concentration while working.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ZSH and scp/rsync globbing</title>
      <link>https://traviscj.com/blog/post/2010-05-25-zsh_and_scprsync_globbing/</link>
      <pubDate>Tue, 25 May 2010 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2010-05-25-zsh_and_scprsync_globbing/</guid>
      <description>&lt;p&gt;I finally got annoyed at typing&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tjohnson&amp;gt; scp tcj:*txt .&#xA;zsh: no matches found: tcj:*txt&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I’d always fixed this by the up-CTRL-A-over-over-over-over-quote-CTRL-E-over-over-quote method, ie&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tjohnson&amp;gt; scp &amp;#34;tcj:*txt&amp;#34; .&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;but the more proper and less annoying version is&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tjohnson&amp;gt; scp tcj:\*txt .&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;However, in the spirit of inspired overkill, there are a couple other options. You can define some new aliases with&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;alias scp=&amp;#39;noglob scp&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;but that hardly counts as overkill, so instead I edited my .zshrc to include&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wiki Problems</title>
      <link>https://traviscj.com/blog/post/2009-07-21-wiki_problems/</link>
      <pubDate>Tue, 21 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2009-07-21-wiki_problems/</guid>
      <description>&lt;p&gt;I really like the idea of having a wiki website. It&amp;rsquo;s great to be able to share documents really easily, be able to edit stuff without logging in, track changes you&amp;rsquo;ve made, and so on.&lt;/p&gt;&#xA;&lt;p&gt;I have also tried quite a few wiki setups, including MediaWiki(mostly at a job a while back and a spectacular success), MoinMoin, and PmWiki. However, each of them fell flat in a certain annoying way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Netlib</title>
      <link>https://traviscj.com/blog/post/2009-05-27-netlib/</link>
      <pubDate>Wed, 27 May 2009 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2009-05-27-netlib/</guid>
      <description>&lt;p&gt;Wow. &lt;a href=&#34;http://www.netlib.org/&#34;&gt;Just wow.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>HMCP Set, TextMate, and RoR 2.0</title>
      <link>https://traviscj.com/blog/post/2009-02-06-hmcp_set_textmate_and_ror_2.0/</link>
      <pubDate>Fri, 06 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2009-02-06-hmcp_set_textmate_and_ror_2.0/</guid>
      <description>&lt;p&gt;I found a great little LaTeX homework layout for typesetting math homeworks a while back, and I&amp;rsquo;ve meant to write it up for quite a while. It&amp;rsquo;s from Harvey Mudd College&amp;rsquo;s Mathematics Department, engineered to automatically satisfy the department guidelines on how homeworks should be laid out. They also have thesis and poster templates, but the homework installation proceedures and sty files are located on the &lt;a href=&#34;http://www.math.hmc.edu/computing/support/tex/classes/hmcpset/&#34;&gt;Homework Class&lt;/a&gt; page. Their website also has extensive information on their computer resources. While basically useless for anyone not at Harvey Mudd, it is a model for how this sort of website should look. Everything is clearly detailed at the perfect level, along with suggestions not just for how to do certain tasks, but also when you might want to do something.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu Hacks -- Flash, Java, e17</title>
      <link>https://traviscj.com/blog/post/2008-10-20-ubuntu_hacks_flash_java_e17/</link>
      <pubDate>Mon, 20 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-10-20-ubuntu_hacks_flash_java_e17/</guid>
      <description>&lt;p&gt;This must be about the 1 millionth time someone&amp;rsquo;s written a blog post about this, because I waded through a ton of them to get ones that worked. Which means someday, someone will be wading through 10 million websites trying to get their Flash, Java, and e17 working.&lt;/p&gt;&#xA;&lt;p&gt;For the browser issues, I found &lt;a href=&#34;http://ubuntuforums.org/showthread.php?p=1174435&#34;&gt;this thread&lt;/a&gt; on the Ubuntu forums. In short, you download the first file listed(the Browser Install Script), untar it, and run it. It will download and install the 32-bit libraries, 32-bit browser, and plugins from the set of {Flash, Java, VLC}. The only trick then is rewriting your scripts to use firefox32 instead of just firefox.&lt;/p&gt;</description>
    </item>
    <item>
      <title>iPhone 2.0 - Impressions and Favorites</title>
      <link>https://traviscj.com/blog/post/2008-08-05-iphone_2.0_-_impressions_and_favorites/</link>
      <pubDate>Tue, 05 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-08-05-iphone_2.0_-_impressions_and_favorites/</guid>
      <description>&lt;p&gt;I know that about every other iPhone owner has posted to their blog about this and almost a month ago already, but I’ll throw my own take into the mix.&lt;/p&gt;&#xA;&lt;p&gt;I originally planned on waiting a while before installing the second major revision of the iPhone software, but Sharvil tried it almost immediately and told me that I needed to give it a shot. So, I finally upgraded it, and have not been disappointed. Some highlights:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Johnson vs Acronis, Pt 2</title>
      <link>https://traviscj.com/blog/post/2008-08-04-johnson_vs_acronis_pt_2/</link>
      <pubDate>Mon, 04 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-08-04-johnson_vs_acronis_pt_2/</guid>
      <description>&lt;p&gt;Some more ways Acronis fails, just for the record:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Completely useless log files. Error messages are crucial in applications. Acronis says ‘Error creating file’. This could mean:&lt;/li&gt;&#xA;&lt;li&gt;I couldn’t resolve the FTP server’s hostname&lt;/li&gt;&#xA;&lt;li&gt;I could resolve the hostname, but could not connect to the FTP port&lt;/li&gt;&#xA;&lt;li&gt;I could resolve the hostname and connect, but I could not authenticate.&lt;/li&gt;&#xA;&lt;li&gt;I could resolve, connect, authenticate, but I could not create a new file.&lt;/li&gt;&#xA;&lt;li&gt;Any number of other things. I could not create a temporary file(Why? No permissions in Acronis’s temporary folder?  No hard drive space? It already exists? The folder that should be the temporary folder doesn’t exist?)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Another error we’ve gotten a few times is ‘Failed to process pair script (some hash).’ While it might be useful to someone, it’s not really any help. A lot of the same stuff applies: Is the file corrupt? What’s wrong with it? Improper syntax? The configuration files are XML, they should be editable as such. Point being: Acronis, get your stuff together and write some real, honest error checking code. It’s boring code to write, but it’s boilerplate stuff, and basic. This is what you hire interns for. Please do so.&#xA;2. The GUI stinks. Everything is wizard based. This in itself isn’t so much of a problem, but it becomes one with their absolute awful support of stuff like, oh, say, remembering passwords. To see how this is an issue: Say I realize that I want maximum encryption on my backup archives. So, I load up the tasks list, click the one I want to change, click the ‘changed settings’ button. It asks me what I want to backup(2-3 screens), then where I want to back it up to. I tell it the FTP site, and it asks me for my login for that site, then allows me to navigate(keep in mind this is already stored in the configuration file I’m trying to edit, in some encrypted form(hopefully, though I would not bet 2bits on it)). Then, it asks me if I want to sign in to the FTP anonymously or use a username and password. Upon selecting non-anonymously, it asks me for the same username and password. Every single time you try to change any part of the configuration.&#xA;3. The command line stinks. There are just a couple of commands, including trueimagecmd and trueimagemnt, but both of them are completely inconsistant on file argument parsing: trueimagemnt uses the more standard UNIX conventions of [-(shortopt)|–(longopt)] (arg) while trueimagecmd uses the completely zany –(longopt):(arg). The command trueimagecmd allows a –verify command, but doesn’t include it in the runtime help or the manual page. None of this seems like too big of a deal, but Acronis is basically the only program that we actual require any GUI at all for on 2 of our 4 main servers. It’d be very nice to have backups and not need a GUI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Johnson vs Acronis</title>
      <link>https://traviscj.com/blog/post/2008-08-02-johnson_vs_acronis/</link>
      <pubDate>Sat, 02 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-08-02-johnson_vs_acronis/</guid>
      <description>&lt;p&gt;The story goes something like this: Originally, we used external hard drives plugged in via USB to our servers to back up our servers. This worked well, except that we had two external drives and 7 servers. About this time I started working this job and immediately set up a MediaWiki website for storing documentation and a Mantis Bug Tracker website for storing information about ongoing projects–I think I’ll try to write a post about that at some point as well. Anyways, these two websites originally ran on my personal webserver in Prosser, but we decided to run them on a company-owned server instead, and that this new machine could act as both a backup server and a webserver for those two websites.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox PDF on OSX</title>
      <link>https://traviscj.com/blog/post/2008-06-22-firefox_pdf_on_osx/</link>
      <pubDate>Sun, 22 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-06-22-firefox_pdf_on_osx/</guid>
      <description>&lt;p&gt;June 3 was a fantastic day, though I didn’t know it at the time. The reason? My biggest bitch about Firefox has finally been fixed. The big problem is that Firefox’s OSX program has the default behavior of saving PDFs to Desktop and starting Preview with it. Which isn’t a huge problem, except that if you download the file several times, it just downloads a file with -N appended. This is sortof a pain because in college a lot of teachers call files hw5.pdf, which means that I pretty much have to go to the website each time, or look through about 5 files each time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vertigo</title>
      <link>https://traviscj.com/blog/post/2008-03-12-vertigo/</link>
      <pubDate>Wed, 12 Mar 2008 12:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2008-03-12-vertigo/</guid>
      <description>&lt;p&gt;No, not that dizzy, spinning sensation. The Firefox extension.&lt;/p&gt;&#xA;&lt;p&gt;Someone finally caught on to the fact that on a lot of modern computers, we have a lot more horizontal space than vertical. Whoever it was, they must have also been miffed that they never seemed to have room for all of their firefox tabs. So, they made a vertical tab menu, which is actually pretty cool. The standard stuff (ctrl-tab) still works, which is convenient.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Acronis TrueImage</title>
      <link>https://traviscj.com/blog/post/2007-06-30-acronis_trueimage/</link>
      <pubDate>Sat, 30 Jun 2007 14:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-30-acronis_trueimage/</guid>
      <description>&lt;p&gt;TrueImage is&amp;hellip; well&amp;hellip; Quite the piece of software.&lt;/p&gt;&#xA;&lt;p&gt;What I need it to do: Tell the check_backupdisk script that it&amp;rsquo;s actually running the backup (IE&amp;ndash;don&amp;rsquo;t bitch on nagios) and handle all the mounting/umounting/fscking that it currently does. I think I&amp;rsquo;ll probably end up putting a wrapper script around it&amp;hellip;. but we&amp;rsquo;ll see.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MRTG</title>
      <link>https://traviscj.com/blog/post/2007-06-30-mrtg/</link>
      <pubDate>Sat, 30 Jun 2007 13:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-30-mrtg/</guid>
      <description>&lt;p&gt;So, another day, another (minor) problem. I had connected to a server with KDE instead of our usual GNOME interface. Which probably would have been fine except that KDE had a screensaver that sucked up the CPU. Which also would have been fine, if it hadn&amp;rsquo;t been a server that everyone else used. Oops. RRDtool and MRTG would have shown a CPU spike which I could have investigated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cacti</title>
      <link>https://traviscj.com/blog/post/2007-06-30-cacti/</link>
      <pubDate>Sat, 30 Jun 2007 12:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-30-cacti/</guid>
      <description>&lt;p&gt;So, rrdtool is pretty sweet, but it&amp;rsquo;s somewhat of a pain to set up. So&amp;hellip; we use Cacti. It&amp;rsquo;s amazing. Supposedly it&amp;rsquo;ll integrate with Nagios as well, and then all of this data will be at our fingertips. For now, I just set it up on my server that&amp;rsquo;s probably going to go down shortly. In any case, I feel like this project is somewhat coming together. Nagios is great for what&amp;rsquo;s going on right now, cacti needs a way to know what&amp;rsquo;s going on right now–A match made in heaven, or something.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RRDTool</title>
      <link>https://traviscj.com/blog/post/2007-06-29-rrdtool/</link>
      <pubDate>Fri, 29 Jun 2007 14:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-29-rrdtool/</guid>
      <description>&lt;p&gt;I have apparently been missing out. There&amp;rsquo;s a really neat little unix tool called &amp;lsquo;rrdtool&amp;rsquo; that uses a fixed-size database to look at how something changes over time. I think I&amp;rsquo;ll use it to monitor server load&amp;hellip; and possibly network traffic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Subversion Bite-sized Projects</title>
      <link>https://traviscj.com/blog/post/2007-06-29-subversion_bite-sized_projects/</link>
      <pubDate>Fri, 29 Jun 2007 13:00:00 +0000</pubDate>
      <guid>https://traviscj.com/blog/post/2007-06-29-subversion_bite-sized_projects/</guid>
      <description>&lt;p&gt;Subversion added a tag in their bug-tracking database of projects that are &amp;lsquo;bite-sized&amp;rsquo;: self-contained, somewhat independent fixes that should happen. I&amp;rsquo;m not sure any look very interesting at the moment, but I&amp;rsquo;ll have to come back to it at some point.&#xA;&lt;a href=&#34;http://subversion.tigris.org/issues/buglist.cgi?component=subversion&amp;amp;issue_status=UNCONFIRMED&amp;amp;issue_status=NEW&amp;amp;issue_status=STARTED&amp;amp;issue_status=REOPENED&amp;amp;keywords=bite-sized&amp;amp;cmdtype=doit&#34;&gt;Bite-sized projects&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
