<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Andy&#39;s Blog</title>
    <link>https://andyleejordan.com/posts/</link>
    <description>Recent content in Posts on Andy&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 23 Jan 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://andyleejordan.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Using Posteo with a Custom Domain</title>
      <link>https://andyleejordan.com/posts/posteo/</link>
      <pubDate>Sat, 23 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/posteo/</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published in October, 2017 &amp;ndash; over three years later in 2021 I am&#xA;still happily using Posteo!&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have been taking back control over my data. One of the biggest jumps I made&#xA;was to ditch Gmail in favor of a privacy-conscious email provider, &lt;a href=&#34;https://posteo.de/en/site/about_posteo&#34; title=&#34;Posteo About Page&#34;&gt;Posteo&lt;/a&gt;.&#xA;Of all the email providers suggested by &lt;a href=&#34;https://www.privacytools.io/#email&#34; title=&#34;Encryption and Tools to Protect Against Global Mass Surveillance&#34;&gt;PrivacyTools.io&lt;/a&gt;, I chose Posteo&#xA;because of their commitment to sustainability, transparency, and&#xA;self-sufficiency. They support full &lt;a href=&#34;https://posteo.de/en/site/encryption&#34; title=&#34;Posteo Encryption Page&#34;&gt;encryption&lt;/a&gt; of all user data, and yet do&#xA;so in a way that supports the standard IMAP, CalDAV, and CardDAV protocols for&#xA;easy syncing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs on an iPad</title>
      <link>https://andyleejordan.com/posts/emacs-on-an-ipad/</link>
      <pubDate>Sat, 16 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/emacs-on-an-ipad/</guid>
      <description>&lt;p&gt;With my iPad having replaced my MacBook, the last thing I was missing was&#xA;&lt;a href=&#34;https://github.com/andschwa/.emacs.d&#34;&gt;Emacs&lt;/a&gt;, which I not only enjoy hacking on, but is also how update my blog and&#xA;resume! Let’s just say that it’s an integral tool in my life which I wanted&#xA;access to, and I managed to make it happen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using a Sonos Beam with an LG TV</title>
      <link>https://andyleejordan.com/posts/sonos-beam-lg-tv/</link>
      <pubDate>Thu, 24 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/sonos-beam-lg-tv/</guid>
      <description>&lt;p&gt;The other week our LG webOS TV (only a few years old, model “50LB6500”) stopped&#xA;playing Netflix titles in its app. The Netflix error just blamed the TV, and the&#xA;TV had nothing change. Videos would load, start playing, and crash within a few&#xA;seconds. Updating the app, the TV, and the network settings didn’t fix it.&#xA;Finally, I tried resetting the TV to its initial settings, and after getting&#xA;everything annoying setup again, it worked!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Filtering Spam with Mailroute</title>
      <link>https://andyleejordan.com/posts/mailroute/</link>
      <pubDate>Sun, 09 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/mailroute/</guid>
      <description>&lt;p&gt;After months of using MX Guarddog to filter spam coming to my public&#xA;email (as detailed in my prior post &lt;em&gt;&lt;a href=&#34;https://andyleejordan.com/posts/posteo/&#34;&gt;Using Posteo with a Custom&#xA;Domain&lt;/a&gt;&lt;/em&gt;), I had to find another service. While MX&#xA;Guarddog was essentially free, it was ineffective. I was still&#xA;receiving (and reporting) multiple spam emails in my inbox (curiously&#xA;they mostly came on Monday mornings, I guess spammers have schedules&#xA;too). I tried to work with support, but even after &amp;ldquo;adjusting&amp;rdquo; my&#xA;filters, there was just &lt;strong&gt;too much spam&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connecting to Mullvad with WireGuard on Android</title>
      <link>https://andyleejordan.com/posts/mullvad-wireguard/</link>
      <pubDate>Fri, 12 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/mullvad-wireguard/</guid>
      <description>&lt;p&gt;Probably the best VPN out there is &lt;a href=&#34;https://mullvad.net/&#34;&gt;Mullvad&lt;/a&gt;. It is&#xA;incredibly fast, reasonably priced, completely private, and supports the new&#xA;&lt;a href=&#34;https://www.wireguard.com/&#34;&gt;WireGuard&lt;/a&gt; VPN protocol.&lt;/p&gt;&#xA;&lt;h2 id=&#34;update&#34;&gt;Update&lt;/h2&gt;&#xA;&lt;p&gt;A lot has changed since this post was originally written, and for the&#xA;better. For one, the WireGuard Android App now supports user mode, and&#xA;&lt;a href=&#34;https://www.wireguard.com/install/&#34;&gt;WireGuard&lt;/a&gt; has similar support&#xA;for macOS, OpenWRT/EdgeOS, OpenBSD/FreeBSD, and of course all the&#xA;Linuxes. What this means is you can use the app on Android without&#xA;root and without a custom kernel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How privacy-friendly is your site?</title>
      <link>https://andyleejordan.com/posts/no-referrer/</link>
      <pubDate>Thu, 09 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/no-referrer/</guid>
      <description>&lt;p&gt;So &lt;a href=&#34;https://www.reddit.com/r/privacy/comments/7arth5/how_privacyfriendly_is_your_site/&#34;&gt;/r/privacy&lt;/a&gt;&#xA;pointed me to an &lt;a href=&#34;https://webbkoll.dataskydd.net/en&#34;&gt;awesome tool&lt;/a&gt;&#xA;that taught me about fancy new privacy (and security) headers! I actually scored&#xA;quite well when I first ran the analysis (0 cookies, 0 third-party requests, and&#xA;0 third-parties contacted), but improved my results by adding this to my &lt;a href=&#34;https://www.nginx.com&#34;&gt;Nginx&lt;/a&gt;&#xA;configuration:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reflections|Projections</title>
      <link>https://andyleejordan.com/posts/reflections-projections/</link>
      <pubDate>Mon, 16 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/reflections-projections/</guid>
      <description>&lt;p&gt;A few weeks ago I attended the conference &lt;a href=&#34;https://reflectionsprojections.org/&#34;&gt;Reflections|Projections&lt;/a&gt; at the&#xA;University of Illinois at Urbana-Champaign. It&amp;rsquo;s a student-run conference that&amp;rsquo;s&#xA;been a regular occurrence for around twenty years, which is especially&#xA;impressive considering that students are constantly graduating!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Paradox of Tolerance</title>
      <link>https://andyleejordan.com/posts/paradox-of-tolerance/</link>
      <pubDate>Thu, 17 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/paradox-of-tolerance/</guid>
      <description>&lt;p&gt;On the Paradox of Tolerance, from &lt;em&gt;The Open Society and Its Enemies&lt;/em&gt;, by Karl&#xA;Popper:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Less well known is the paradox of tolerance: Unlimited tolerance must lead to&#xA;the disappearance of tolerance. If we extend unlimited tolerance even to those&#xA;who are intolerant, if we are not prepared to defend a tolerant society&#xA;against the onslaught of the intolerant, then the tolerant will be destroyed,&#xA;and tolerance with them.—In this formulation, I do not imply, for instance,&#xA;that we should always suppress the utterance of intolerant philosophies; as&#xA;long as we can counter them by rational argument and keep them in check by&#xA;public opinion, suppression would certainly be most unwise.…We should&#xA;therefore claim, in the name of tolerance, the right not to tolerate the&#xA;intolerant. We should claim that any movement preaching intolerance places&#xA;itself outside the law. And we should consider incitement to intolerance and&#xA;persecution as criminal, in the same way as we should consider incitement to&#xA;murder, or to kidnapping, or to the revival of the slave trade, as criminal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EvolvedTD: Evolutionary Tower Defense</title>
      <link>https://andyleejordan.com/posts/evolvedtd/</link>
      <pubDate>Sat, 29 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/evolvedtd/</guid>
      <description>&lt;p&gt;This is an ancient post that I started in 2015.&#xA;The actual content is in this Sway presentation,&#xA;but at this point, you need some context.&lt;/p&gt;&#xA;&lt;p&gt;During my senior year of college I participated in an experimental (and amazing)&#xA;class, Evolving Games: CS 404 / Biol 404 by Dr. Terry Soule and Dr. Barrie&#xA;Robison. Ten computer science students partnered with ten biology students, and&#xA;we wrote an &lt;em&gt;evolutionary&lt;/em&gt; tower defense game,&#xA;&lt;a href=&#34;https://github.com/tsoule88/evolvedTD&#34;&gt;EvolvedTD&lt;/a&gt;, where the creeps evolve in&#xA;response to the player&amp;rsquo;s tactics.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tracking Mailgun Events</title>
      <link>https://andyleejordan.com/posts/tracking-mailgun-events/</link>
      <pubDate>Tue, 04 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/tracking-mailgun-events/</guid>
      <description>&lt;h2 id=&#34;update&#34;&gt;Update&lt;/h2&gt;&#xA;&lt;p&gt;I no longer use nor recommend this setup, see &lt;a href=&#34;https://andyleejordan.com/posts/posteo/&#34;&gt;my new setup&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;I previously hosted my own email server, but found that I don&amp;rsquo;t particularly&#xA;like administering one. But I still use my public fronting email to send and&#xA;receive email, as a custom domain for Gmail. My solution to this utilizes&#xA;MailGun&amp;rsquo;s free tier. I won&amp;rsquo;t cover how I setup the forwarding, as&#xA;there &lt;a href=&#34;https://renzo.lucioni.xyz/mail-forwarding-with-mailgun/&#34;&gt;are&lt;/a&gt; &lt;a href=&#34;https://simplyian.com/2015/01/07/Hacking-GMail-to-use-custom-domains-for-free/&#34;&gt;many&lt;/a&gt; &lt;a href=&#34;https://www.chrisanthropic.com/blog/2014/mail-forwarding-with-mailgun-and-cloudflare/&#34;&gt;guides&lt;/a&gt;. This solution works quite well, except when&#xA;an email you sent (or was sent to you) fails to be delivered. While MailGun logs&#xA;the failure, it does not notify you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PowerShell on GitHub</title>
      <link>https://andyleejordan.com/posts/powershell-on-github/</link>
      <pubDate>Thu, 18 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/powershell-on-github/</guid>
      <description>&lt;p&gt;I have been pretty busy over the past year. After starting work as a software engineer with the Microsoft Open Source Technology Center June 1, 2016, my life has been a non-stop drive to put a cross-platform port of PowerShell on GitHub.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emergency Git</title>
      <link>https://andyleejordan.com/posts/emergency-git/</link>
      <pubDate>Fri, 03 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/emergency-git/</guid>
      <description>&lt;p&gt;Suppose you just goofed and think you lost some changes. Here&amp;rsquo;s a step-by-step guide in order to maximize their chance of being recovered. If you&amp;rsquo;re not already there, go to your &lt;a href=&#34;https://git-scm.com/documentation&#34;&gt;Git&lt;/a&gt; repository&amp;rsquo;s directory in your favorite shell, and we&amp;rsquo;ll commence:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Skip Reset Password for OS X</title>
      <link>https://andyleejordan.com/posts/skip-reset-password-for-os-x/</link>
      <pubDate>Sat, 21 Mar 2015 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/skip-reset-password-for-os-x/</guid>
      <description>&lt;p&gt;OS X Yosemite has a &lt;del&gt;nifty&lt;/del&gt; troublesome password reset screen you can access by turning your computer off and back on from the login screen. However, once you do this, there is no way out. The &amp;ldquo;Reset Password&amp;rdquo; boot wizard offers no exit without reseting your password. If you restart your Mac, you will end up right back in the wizard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ghost 0.5</title>
      <link>https://andyleejordan.com/posts/ghost-0-5/</link>
      <pubDate>Mon, 11 Aug 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/ghost-0-5/</guid>
      <description>&lt;p&gt;Today a fantastic update to Ghost (including multi-user support) was released in the form of &lt;a href=&#34;https://blog.ghost.org/ghost-0-5/&#34;&gt;Ghost 0.5 - MSR1&lt;/a&gt;. I highly recommend reading about all the new features. With this release comes a much needed incremental update to my &lt;a href=&#34;https://forge.puppetlabs.com/andschwa/ghost&#34;&gt;Puppet module for Ghost&lt;/a&gt;, that fixes dependency specification issues (my bad) and removes the attemped socket permission fix. I still have some more &lt;a href=&#34;https://github.com/andschwa/puppet-ghost/issues&#34;&gt;issues&lt;/a&gt; to work through, and any help would be appreciated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Efficient Chunked File Reading in C&#43;&#43;</title>
      <link>https://andyleejordan.com/posts/efficient-chunked-file-reading-in-c/</link>
      <pubDate>Sun, 20 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/efficient-chunked-file-reading-in-c/</guid>
      <description>&lt;p&gt;Often times I find myself needing to read a file in constant memory rather than&#xA;all at once. Perhaps I need an implementation to scale to arbitrarily large&#xA;files, or my consumer is already sending in discrete chunks. Either way, I could&#xA;not find a good public algorithm to do this, and although it is relatively&#xA;simple, I figured I would share mine. It is internally documented, but feel free&#xA;to comment with questions (and especially point out any mistakes you find or&#xA;improvements you can suggest).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Coffee Roasting</title>
      <link>https://andyleejordan.com/posts/coffee-roasting/</link>
      <pubDate>Mon, 14 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/coffee-roasting/</guid>
      <description>&lt;p&gt;A while back I actually tried to run a coffee roasting business, the Moscow Bean Company, which ultimately failed for a few reasons (got busy with school, was not profitable, and the roaster died). But I very quickly developed quite a love for roasting my own coffee.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Net Neutrality</title>
      <link>https://andyleejordan.com/posts/net-neutrality/</link>
      <pubDate>Thu, 22 May 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/net-neutrality/</guid>
      <description>&lt;p&gt;If you use the Internet, you probably have heard about Net Neutrality. Essentially, the big telecommunication corporations are in cohoots with the FCC, specifically the current chairman, &lt;a href=&#34;https://en.wikipedia.org/wiki/Tom_Wheeler&#34;&gt;Tom Wheeler&lt;/a&gt; a prior telecom CEO, to allow ISPs to extort websites for full access to their visitors&amp;rsquo; bandwidth. This is the letter I sent via &lt;a href=&#34;https://dearfcc.org/&#34;&gt;Dear FCC&lt;/a&gt;. I urge you to be as loud as possible about our fight.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IFTTT: programming for the Internet</title>
      <link>https://andyleejordan.com/posts/ifttt-programming-for-the-internet/</link>
      <pubDate>Sat, 17 May 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/ifttt-programming-for-the-internet/</guid>
      <description>&lt;p&gt;So here is a cool tool that I have used for quite a while: &lt;a href=&#34;https://ifttt.com/&#34;&gt;If This, Then That&lt;/a&gt;. It provides an almost meta-programming ability for the Internet. You setup an IFTTT recipe by connecting various channels (e.g. feeds, Twitter, email, Android phones) to each other via triggers (&lt;code&gt;if this&lt;/code&gt;) and actions (&lt;code&gt;then that&lt;/code&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring SSHGuard on Ubuntu Server</title>
      <link>https://andyleejordan.com/posts/configuring-sshguard-on-ubuntu-server/</link>
      <pubDate>Mon, 05 May 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/configuring-sshguard-on-ubuntu-server/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.sshguard.net/&#34;&gt;SSHGuard&lt;/a&gt; is a fantastic alternative to &lt;a href=&#34;https://denyhosts.sourceforge.net/&#34;&gt;DenyHosts&lt;/a&gt;. From the site:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;SSHGuard monitors servers from their logging activity. When logs convey that someone is doing a Bad Thing, sshguard reacts by blocking he/she/it for a bit. Sshguard has a touchy personality: when a naughty tyke insists disturbing your host, it reacts firmer and firmer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building Ruby 2.0.0 and 2.1.1 on OS X</title>
      <link>https://andyleejordan.com/posts/building-ruby-2-0-0-and-2-1-1-on-os-x/</link>
      <pubDate>Sat, 26 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/building-ruby-2-0-0-and-2-1-1-on-os-x/</guid>
      <description>&lt;p&gt;For some reason today I needed to install both Ruby 2.0.0-p451 and 2.1.1 on OS X Mavericks, using &lt;a href=&#34;https://github.com/sstephenson/rbenv&#34;&gt;&lt;code&gt;rbenv&lt;/code&gt;&lt;/a&gt;. Unfortunately, if you have &lt;a href=&#34;https://brew.sh/&#34;&gt;Homebrew&amp;rsquo;s&lt;/a&gt; &lt;code&gt;readline&lt;/code&gt; package installed (which if you are like me, you probably do, as quite a few other packages depend on it), then there is a &lt;a href=&#34;https://github.com/sstephenson/rbenv/issues/579&#34;&gt;conflict&lt;/a&gt; that causes a build failure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updates to my Ghost blog Puppet module</title>
      <link>https://andyleejordan.com/posts/updates-to-my-ghost-blog-puppet-module/</link>
      <pubDate>Sat, 26 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/updates-to-my-ghost-blog-puppet-module/</guid>
      <description>&lt;p&gt;Today I pushed out a new release of my &lt;a href=&#34;https://forge.puppetlabs.com/andschwa/ghost&#34;&gt;Ghost blog Puppet module&lt;/a&gt;. This release closes &lt;a href=&#34;https://github.com/andschwa/puppet-ghost/issues/2&#34;&gt;issue #2&lt;/a&gt;, where the blog&amp;rsquo;s service was restarted on every provision, not just on updates to its configuration. The module can finally setup the mail settings for Ghost, so that the annoying message that comes with the default setup goes away. The module also now validates all the parameters sent to the class and to the blog resource using functions provided by Puppet Labs&amp;rsquo; &lt;a href=&#34;https://forge.puppetlabs.com/puppetlabs/stdlib&#34;&gt;stdlib module&lt;/a&gt; (which was already a dependency).&lt;/p&gt;</description>
    </item>
    <item>
      <title>OSError with duply on OS X</title>
      <link>https://andyleejordan.com/posts/oserror-with-duply-on-os-x/</link>
      <pubDate>Sun, 20 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/oserror-with-duply-on-os-x/</guid>
      <description>&lt;p&gt;Once in a while when running a &lt;a href=&#34;http://duplicity.nongnu.org/&#34;&gt;duplicity&lt;/a&gt; backup via the &lt;a href=&#34;https://duply.net/&#34;&gt;duply&lt;/a&gt; profile manager, I would get an error like 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-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;---&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Start&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;running&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;command&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;BKP&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;at&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;44.000&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;---&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Reading&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;globbing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filelist&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Users&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;andrew&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;duply&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;marvin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cloudfiles&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;exclude&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Synchronizing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;remote&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;metadata&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cache&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Copying&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;duplicity&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;full&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;signatures&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;.20140217&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;T200006Z&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sigtar&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpg&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cache&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Traceback&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;most&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;call&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;last&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/Cellar/duplicity/0.6.23/libexec/bin/duplicity&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1489&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;module&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;with_tempdir&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/Cellar/duplicity/0.6.23/libexec/bin/duplicity&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1483&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with_tempdir&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;fn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/Cellar/duplicity/0.6.23/libexec/bin/duplicity&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1332&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;do_backup&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;action&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/Cellar/duplicity/0.6.23/libexec/bin/duplicity&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1361&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;do_backup&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;sync_archive&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;decrypt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/Cellar/duplicity/0.6.23/libexec/bin/duplicity&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1142&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sync_archive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;copy_to_local&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/Cellar/duplicity/0.6.23/libexec/bin/duplicity&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1091&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;copy_to_local&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;tdp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;move&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;globals&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;archive_dir&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loc_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/lib/python2.7/site-packages/duplicity/path.py&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;618&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;move&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;new_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/lib/python2.7/site-packages/duplicity/path.py&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;444&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;copy_attribs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/lib/python2.7/site-packages/duplicity/path.py&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;449&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;copy_attribs&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;util&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;maybe_ignore_errors&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;lambda&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;chown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stat&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;st_uid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stat&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;st_gid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/lib/python2.7/site-packages/duplicity/util.py&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;82&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;maybe_ignore_errors&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;File&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/lib/python2.7/site-packages/duplicity/path.py&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;449&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;lambda&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;util&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;maybe_ignore_errors&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;lambda&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;chown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stat&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;st_uid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stat&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;st_gid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;ne&#34;&gt;OSError&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Errno&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Operation&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;permitted&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/Users/andrew/.cache/duplicity/duply_marvin-cloudfiles/duplicity-full-signatures.20140217T200006Z.sigtar.gz&amp;#39;&lt;/span&gt;&#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;&lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;41&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;31.000&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Task&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;BKP&amp;#39;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;failed&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;code&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;30&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;---&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Finished&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;state&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;FAILED&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;code 30&amp;#39;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;at&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;41&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;31.000&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Runtime&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;00&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;00&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;47.000&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;---&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Clearly it is an issue with duplicity failing to perform a chown, and thus bailing out. Fortunately, Lee Verberne&amp;rsquo;s &lt;a href=&#34;https://verb.fyi/2012/11/21/oserror-with-duplicity-0-6-19-on-openbsd-and-os-x/&#34;&gt;post&lt;/a&gt; enlightened me to what was happening: duplicity was copying from the temp directory (owned by root) to a user cache directory, and of course, as a user program, failed to &lt;code&gt;chown&lt;/code&gt; from root to user.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Boost with GCC on OS X</title>
      <link>https://andyleejordan.com/posts/boost-with-gcc-on-os-x/</link>
      <pubDate>Fri, 18 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/boost-with-gcc-on-os-x/</guid>
      <description>&lt;p&gt;I am writing this post in case anybody else wants to build the &lt;a href=&#34;https://www.boost.org/&#34;&gt;Boost&lt;/a&gt; libraries using the &lt;a href=&#34;https://brew.sh/&#34;&gt;Homebrew&lt;/a&gt; version of &lt;code&gt;g++-4.8&lt;/code&gt; on OS X (not Apple&amp;rsquo;s &lt;code&gt;clang++&lt;/code&gt; masquerading as &lt;code&gt;g++&lt;/code&gt;). This is useful if you happen to build cross-platform projects, prefer GCC (Clang is great, really it is, but I don&amp;rsquo;t use it on Linux), and do not want to build and link specifically for OS X.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs Crash Course</title>
      <link>https://andyleejordan.com/posts/emacs-crash-course/</link>
      <pubDate>Tue, 28 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://andyleejordan.com/posts/emacs-crash-course/</guid>
      <description>&lt;p&gt;This is a very quick introduction to Emacs.&lt;/p&gt;&#xA;&lt;p&gt;Once Emacs is open, Emacs commands are prefixed with &lt;code&gt;Ctrl-x&lt;/code&gt; (usually written &lt;code&gt;C-x&lt;/code&gt;), which means to hold control and press &amp;lsquo;x&amp;rsquo;. This combination is a &amp;lsquo;keymap binding&amp;rsquo;, that is, there is a table of commands that follow &lt;code&gt;C-x&lt;/code&gt;, which allows different tables to be made for other prefixes (for instance&lt;code&gt;C-c&lt;/code&gt;, &lt;code&gt;C-u&lt;/code&gt;, and &lt;code&gt;C-h&lt;/code&gt;). The first three commands you should know are:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
