<?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 galvanist</title>
    <link>/tags/tools/</link>
    <description>Recent content in Tools on galvanist</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 09 Oct 2014 02:06:04 +0000</lastBuildDate>
    <atom:link href="/tags/tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Giving Your Ancient Robot Arm A Storage Upgrade</title>
      <link>/posts/2014-10-09-giving-your-ancient-robot-arm-a-storage-upgrade/</link>
      <pubDate>Thu, 09 Oct 2014 02:06:04 +0000</pubDate>
      <guid>/posts/2014-10-09-giving-your-ancient-robot-arm-a-storage-upgrade/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;oldsite_inline_nd5dhnJ5VO1rziekg.gif&#34; alt=&#34;YASNAC Motoman K10S side view diagram&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been hacking on a &lt;a href=&#34;https://sudoroom.org/wiki/Giant_robot_arm&#34;&gt;Giant Robot Arm&lt;/a&gt; at a great hackerspace called &lt;a href=&#34;https://sudoroom.org/&#34;&gt;sudoroom&lt;/a&gt;. I&amp;rsquo;m doing so under the expert tutelage of an &lt;a href=&#34;https://github.com/jerkey&#34;&gt;amazing genius&lt;/a&gt; or &lt;a href=&#34;https://github.com/treeherder&#34;&gt;two&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-enemy&#34;&gt;The Enemy&lt;/h2&gt;&#xA;&lt;p&gt;Below you will see the YASNAC FC1 pictured. It is an incredibly slow of speed, minuscule of capacity, short of reliability, and large of footprint external floppy drive. It connects to the various robot brain parts by a standard RS-232 serial connection. That whole giant device is just the floppy drive.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Strip Time Machine ACLs</title>
      <link>/posts/2014-08-12-strip-time-machine-acls/</link>
      <pubDate>Tue, 12 Aug 2014 19:55:57 +0000</pubDate>
      <guid>/posts/2014-08-12-strip-time-machine-acls/</guid>
      <description>&lt;p&gt;To strip ACLs from all files in the current working directory, run this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod -R -N .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You might want to do this kind of thing if you&amp;rsquo;ve restored files from a &lt;a href=&#34;https://en.wikipedia.org/wiki/Time_Machine_%28OS_X%29&#34;&gt;Time Machine&lt;/a&gt; backup by hand, preserving permissions. By default Time Machine backup files have this ACL for everyone:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deny write,delete,append,writeattr,writeextattr,chown&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Don&amp;rsquo;t change your Time Machine volume, just use this to strip the ACLs of files you copied from it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing bpython&#39;s delete</title>
      <link>/posts/2014-02-21-fixing-bpythons-delete/</link>
      <pubDate>Fri, 21 Feb 2014 00:21:00 +0000</pubDate>
      <guid>/posts/2014-02-21-fixing-bpythons-delete/</guid>
      <description>&lt;p&gt;A guy named Shironoo &lt;a href=&#34;http://blog.shironoo.org/2012/04/03/216&#34;&gt;found one solution&lt;/a&gt; (&lt;a href=&#34;http://translate.google.com/translate?u=http%3A%2F%2Fblog.shironoo.org%2F2012%2F04%2F03%2F216&amp;amp;act=url&#34;&gt;which I read in english&lt;/a&gt;) to a problem I&amp;rsquo;d been having with &lt;a href=&#34;https://bitbucket.org/bobf/bpython&#34;&gt;bpython&lt;/a&gt; over SSH. Namely that using the delete key &lt;strong&gt;ruins the world&lt;/strong&gt;, or at least kills the current line.&lt;/p&gt;&#xA;&lt;p&gt;My slightly modified (temporary) solution is to make this change:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in &lt;code&gt;bpython/cli.py&lt;/code&gt;:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in &lt;code&gt;def p_key(self, key):&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;replace &lt;code&gt;if platform.system() == &#39;Windows&#39;:&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;with &lt;code&gt;if platform.system() in (&#39;Windows&#39;, &#39;Linux&#39;):&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can find your bpython install with this kinda thing:&lt;/p&gt;</description>
    </item>
    <item>
      <title>taskpaper2busycal</title>
      <link>/posts/2014-01-13-taskpaper2busycal/</link>
      <pubDate>Mon, 13 Jan 2014 13:53:10 +0000</pubDate>
      <guid>/posts/2014-01-13-taskpaper2busycal/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve created a small command-line utility called &lt;a href=&#34;https://github.com/cruft/tree/master/glvnst/time_management/&#34;&gt;taskpaper2busycal&lt;/a&gt; for converting &lt;a href=&#34;http://www.hogbaysoftware.com/products/taskpaper&#34;&gt;TaskPaper&lt;/a&gt; todo lists into &lt;a href=&#34;http://www.busymac.com/busycal/&#34;&gt;BusyCal&lt;/a&gt; events. It&amp;rsquo;s incredibly small and easy because it leverages BusyCal&amp;rsquo;s nice URL handlers and OS X&amp;rsquo;s &amp;ldquo;open&amp;rdquo; command. It&amp;rsquo;s nice when things just work. You can find it on github (at the link above).&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#34;Delete Above&#34; for Inkscape</title>
      <link>/posts/2014-01-07-delete-above-for-inkscape/</link>
      <pubDate>Tue, 07 Jan 2014 11:37:20 +0000</pubDate>
      <guid>/posts/2014-01-07-delete-above-for-inkscape/</guid>
      <description>&lt;p&gt;Just before Christmas, I created an &lt;a href=&#34;http://www.inkscape.org/&#34;&gt;Inkscape&lt;/a&gt; extension called &amp;ldquo;&lt;a href=&#34;https://github.com/glvnst/cruft/tree/master/delete_above&#34;&gt;Delete Above&lt;/a&gt;&amp;rdquo; to help solve a problem that I was having converting a print-formatted map into something more suitable for a GPS app. The extension makes it easier to delete items and everything that appears to be on top of them while preserving what appears to be below. You can find it and more information about how it works &lt;a href=&#34;https://github.com/glvnst/cruft/tree/master/delete_above&#34;&gt;on github&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sort du intelligently </title>
      <link>/posts/2013-10-22-sort-du-intelligently/</link>
      <pubDate>Tue, 22 Oct 2013 17:14:00 +0000</pubDate>
      <guid>/posts/2013-10-22-sort-du-intelligently/</guid>
      <description>&lt;p&gt;The &lt;code&gt;du&lt;/code&gt; command is a nice tool for telling you the disk usage of your files:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-txt&#34; data-lang=&#34;txt&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ du *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[...]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1928&#x9;system.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;136&#x9;system.log.0.bz2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;112&#x9;system.log.1.bz2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0&#x9;uucp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;552&#x9;vnetlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[...]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I find that adding the &lt;code&gt;-h&lt;/code&gt; flag (which produces more human-readable output) is often very helpful for me:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-txt&#34; data-lang=&#34;txt&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ du -h *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[...]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;964K&#x9;system.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 68K&#x9;system.log.0.bz2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 56K&#x9;system.log.1.bz2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  0B&#x9;uucp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;276K&#x9;vnetlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[...]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now if I could just sort that&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Direct SMTP Nagios Notifications</title>
      <link>/posts/2013-09-16-direct-smtp-nagios-notifications/</link>
      <pubDate>Mon, 16 Sep 2013 22:13:18 +0000</pubDate>
      <guid>/posts/2013-09-16-direct-smtp-nagios-notifications/</guid>
      <description>&lt;p&gt;If you want &lt;a href=&#34;http://www.nagios.org/&#34;&gt;nagios&lt;/a&gt; email notifications but don&amp;rsquo;t want to run a local MTA (like postfix, exim, qmail, or sendmail), you&amp;rsquo;ll need a command-line SMTP client. Such a program can connect to an SMTP server, authenticate, and generate a message based on input arguments and file handles. One such program is &lt;a href=&#34;http://caspian.dotconf.net/menu/Software/SendEmail/&#34;&gt;sendEmail&lt;/a&gt; (note, not &amp;ldquo;sendmail&amp;rdquo;).&lt;/p&gt;&#xA;&lt;p&gt;I found myself wanting to use sendEmail with nagios, and I found these helpful resources:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://exchange.nagios.org/directory/Addons/Notifications/Notifications-using-ISP-SMTP-server-with-Authentication/details&#34;&gt;http://exchange.nagios.org/directory/Addons/Notifications/Notifications-using-ISP-SMTP-server-with-Authentication/details&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://danxlog.blogspot.com/2010/07/nagios-use-external-smtp-server-to-send.html&#34;&gt;http://danxlog.blogspot.com/2010/07/nagios-use-external-smtp-server-to-send.html&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Task Focus The Dock</title>
      <link>/posts/2013-06-08-task-focus-the-dock/</link>
      <pubDate>Sat, 08 Jun 2013 04:52:00 +0000</pubDate>
      <guid>/posts/2013-06-08-task-focus-the-dock/</guid>
      <description>&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;&#xA;&lt;p&gt;I was just thinking about my signal-to-noise ratio during coding and I noticed that my OS X dock has lots of stuff in it. I like this stuff. I want to keep this stuff. Also I hate a dock that hides. But I thought this: it would be nice to have an icon to click on that switches the dock between &amp;ldquo;only show running apps&amp;rdquo;-mode and normal mode.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
