<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>MacOS on galvanist</title>
    <link>/tags/macos/</link>
    <description>Recent content in MacOS on galvanist</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 28 Mar 2020 18:28:48 +0100</lastBuildDate>
    <atom:link href="/tags/macos/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>macOS JavaScript for Automation (JXA) Notes</title>
      <link>/posts/2020-03-28-jxa_notes/</link>
      <pubDate>Sat, 28 Mar 2020 18:28:48 +0100</pubDate>
      <guid>/posts/2020-03-28-jxa_notes/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;There is a macOS feature called the &lt;a href=&#34;https://en.wikipedia.org/wiki/AppleScript#Open_Scripting_Architecture&#34;&gt;Open Scripting Architecture&lt;/a&gt; (OSA) which provides an infrastructure for intercommunication and automation of macOS software. One of the officially supported OSA languages is JavaScript and its use in this context is called &amp;ldquo;JavaScript for Automation&amp;rdquo; which is often abbreviated to &amp;ldquo;&lt;strong&gt;JXA&lt;/strong&gt;&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;The idea is that instead of using &lt;a href=&#34;https://en.wikipedia.org/wiki/AppleScript&#34;&gt;AppleScript&lt;/a&gt;, you can program &amp;amp; automate macOS using a more modern language like &lt;a href=&#34;https://en.wikipedia.org/wiki/JavaScript&#34;&gt;JavaScript&lt;/a&gt;. This gives the programmer access to the enormous ecosystem of javascript libraries and tools in addition to all the modern optimizations and language features of ES6-ish JavaScript. JXA also provides access to a built-in Objective-C bridge that enables access to the file system and the ability to call into the Cocoa frameworks and plain C functions. JXA can basically do anything native code can. It&amp;rsquo;s a bit like &lt;a href=&#34;https://en.wikipedia.org/wiki/Node.js&#34;&gt;node&lt;/a&gt; without needing to install node.&lt;/p&gt;</description>
    </item>
    <item>
      <title>macOS Text-to-Speech World Tour</title>
      <link>/posts/2020-03-10-macos-tts-world-tour/</link>
      <pubDate>Tue, 10 Mar 2020 19:04:44 +0100</pubDate>
      <guid>/posts/2020-03-10-macos-tts-world-tour/</guid>
      <description>&lt;p&gt;When it comes to text-to-speech, macOS supports more than 50 languages/dialects. Many of these are &lt;a href=&#34;https://www.nuance.com/omni-channel-customer-engagement/voice-and-ivr/text-to-speech.html&#34;&gt;voices from Nuance Communications&lt;/a&gt;.&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;$ say -v &lt;span class=&#34;s1&#34;&gt;&amp;#39;?&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;Alex                en_US    &lt;span class=&#34;c1&#34;&gt;# Most people recognize me by my voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alice               it_IT    &lt;span class=&#34;c1&#34;&gt;# Salve, mi chiamo Alice e sono una voce italiana.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alva                sv_SE    &lt;span class=&#34;c1&#34;&gt;# Hej, jag heter Alva. Jag är en svensk röst.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Amelie              fr_CA    &lt;span class=&#34;c1&#34;&gt;# Bonjour, je m’appelle Amelie. Je suis une voix canadienne.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Anna                de_DE    &lt;span class=&#34;c1&#34;&gt;# Hallo, ich heiße Anna und ich bin eine deutsche Stimme.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Carmit              he_IL    &lt;span class=&#34;c1&#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;Claire              nl_NL    &lt;span class=&#34;c1&#34;&gt;# Hallo, mijn naam is Claire. Ik ben een Nederlandse stem.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Damayanti           id_ID    &lt;span class=&#34;c1&#34;&gt;# Halo, nama saya Damayanti. Saya berbahasa Indonesia.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Daniel              en_GB    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Daniel. I am a British-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Diego               es_AR    &lt;span class=&#34;c1&#34;&gt;# Hola, me llamo Diego y soy una voz española.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ellen               nl_BE    &lt;span class=&#34;c1&#34;&gt;# Hallo, mijn naam is Ellen. Ik ben een Belgische stem.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Fiona               en-scotland &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Fiona. I am a Scottish-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Fred                en_US    &lt;span class=&#34;c1&#34;&gt;# I sure like being inside this fancy computer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ioana               ro_RO    &lt;span class=&#34;c1&#34;&gt;# Bună, mă cheamă Ioana . Sunt o voce românească.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Joana               pt_PT    &lt;span class=&#34;c1&#34;&gt;# Olá, chamo-me Joana e dou voz ao português falado em Portugal.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jorge               es_ES    &lt;span class=&#34;c1&#34;&gt;# Hola, me llamo Jorge y soy una voz española.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Juan                es_MX    &lt;span class=&#34;c1&#34;&gt;# Hola, me llamo Juan y soy una voz mexicana.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Kanya               th_TH    &lt;span class=&#34;c1&#34;&gt;# สวัสดีค่ะ ดิฉันชื่อKanya&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Karen               en_AU    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Karen. I am an Australian-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Kate                en_GB    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Kate. I am a British-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Kyoko               ja_JP    &lt;span class=&#34;c1&#34;&gt;# こんにちは、私の名前はKyokoです。日本語の音声をお届けします。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Laura               sk_SK    &lt;span class=&#34;c1&#34;&gt;# Ahoj. Volám sa Laura . Som hlas v slovenskom jazyku.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Lekha               hi_IN    &lt;span class=&#34;c1&#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;Luca                it_IT    &lt;span class=&#34;c1&#34;&gt;# Salve, mi chiamo Luca e sono una voce italiana.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Luciana             pt_BR    &lt;span class=&#34;c1&#34;&gt;# Olá, o meu nome é Luciana e a minha voz corresponde ao português que é falado no Brasil&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Maged               ar_SA    &lt;span class=&#34;c1&#34;&gt;# مرحبًا اسمي Maged. أنا عربي من السعودية.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Mariska             hu_HU    &lt;span class=&#34;c1&#34;&gt;# Üdvözlöm! Mariska vagyok. Én vagyok a magyar hang.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Mei-Jia             zh_TW    &lt;span class=&#34;c1&#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;Melina              el_GR    &lt;span class=&#34;c1&#34;&gt;# Γεια σας, ονομάζομαι Melina. Είμαι μια ελληνική φωνή.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Milena              ru_RU    &lt;span class=&#34;c1&#34;&gt;# Здравствуйте, меня зовут Milena. Я – русский голос системы.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Moira               en_IE    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Moira. I am an Irish-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Monica              es_ES    &lt;span class=&#34;c1&#34;&gt;# Hola, me llamo Monica y soy una voz española.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Nora                nb_NO    &lt;span class=&#34;c1&#34;&gt;# Hei, jeg heter Nora. Jeg er en norsk stemme.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Oliver              en_GB    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Oliver. I am a British-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Paulina             es_MX    &lt;span class=&#34;c1&#34;&gt;# Hola, me llamo Paulina y soy una voz mexicana.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Samantha            en_US    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Samantha. I am an American-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Sara                da_DK    &lt;span class=&#34;c1&#34;&gt;# Hej, jeg hedder Sara. Jeg er en dansk stemme.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Satu                fi_FI    &lt;span class=&#34;c1&#34;&gt;# Hei, minun nimeni on Satu. Olen suomalainen ääni.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Serena              en_GB    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Serena. I am a British-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Sin-ji              zh_HK    &lt;span class=&#34;c1&#34;&gt;# 您好，我叫 Sin-ji。我講廣東話。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tessa               en_ZA    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Tessa. I am a South African-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thomas              fr_FR    &lt;span class=&#34;c1&#34;&gt;# Bonjour, je m’appelle Thomas. Je suis une voix française.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ting-Ting           zh_CN    &lt;span class=&#34;c1&#34;&gt;# 您好，我叫Ting-Ting。我讲中文普通话。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tom                 en_US    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Tom. I am an American-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Veena               en_IN    &lt;span class=&#34;c1&#34;&gt;# Hello, my name is Veena. I am an Indian-English voice.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Victoria            en_US    &lt;span class=&#34;c1&#34;&gt;# Isn&amp;#39;t it nice to have a computer that will talk to you?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Xander              nl_NL    &lt;span class=&#34;c1&#34;&gt;# Hallo, mijn naam is Xander. Ik ben een Nederlandse stem.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Yelda               tr_TR    &lt;span class=&#34;c1&#34;&gt;# Merhaba, benim adım Yelda. Ben Türkçe bir sesim.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Yuna                ko_KR    &lt;span class=&#34;c1&#34;&gt;# 안녕하세요. 제 이름은 Yuna입니다. 저는 한국어 음성입니다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Yuri                ru_RU    &lt;span class=&#34;c1&#34;&gt;# Здравствуйте, меня зовут Yuri. Я – русский голос системы.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Zosia               pl_PL    &lt;span class=&#34;c1&#34;&gt;# Witaj. Mam na imię Zosia, jestem głosem kobiecym dla języka polskiego.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Zuzana              cs_CZ    &lt;span class=&#34;c1&#34;&gt;# Dobrý den, jmenuji se Zuzana. Jsem český hlas.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;hear-it&#34;&gt;Hear It&lt;/h2&gt;&#xA;&lt;p&gt;Try this in your macOS terminal (it currently takes about 3.5 minutes &amp;ndash; you&amp;rsquo;ll need speakers/headphones):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Non-privileged Python Package Installs on OS X</title>
      <link>/posts/2014-12-10-non-privileged-python-package-installs-on-os-x/</link>
      <pubDate>Wed, 10 Dec 2014 04:35:00 +0000</pubDate>
      <guid>/posts/2014-12-10-non-privileged-python-package-installs-on-os-x/</guid>
      <description>&lt;p&gt;Sometimes a virtualenv isn&amp;rsquo;t what you want. I often want my account to have a particular python package (like bpython), but I also like to keep things clean and compartmentalized. One answer is installing the package to a standard place within your user account&amp;rsquo;s home folder. Python is already setup for this, as you can see if you run &lt;code&gt;python -m site&lt;/code&gt;.&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;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&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;s1&#34;&gt;&amp;#39;/Users/someuser&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload&amp;#39;&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;s1&#34;&gt;&amp;#39;/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC&amp;#39;&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;s1&#34;&gt;&amp;#39;/Library/Python/2.7/site-packages&amp;#39;&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;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;USER_BASE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/Users/someuser/Library/Python/2.7&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;doesn&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;t exist)&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;USER_SITE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/Users/someuser/Library/Python/2.7/lib/python/site-packages&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;doesn&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;t exist)&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;ENABLE_USER_SITE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You&amp;rsquo;ll see that python is looking for USER_BASE and USER_SITE directories in particular locations. Let&amp;rsquo;s create them:&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>Your Mac&#39;s Serial Number via the Command Line</title>
      <link>/posts/2014-02-20-your-macs-serial-number-via-the-command-line/</link>
      <pubDate>Thu, 20 Feb 2014 23:54:40 +0000</pubDate>
      <guid>/posts/2014-02-20-your-macs-serial-number-via-the-command-line/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s my first (admittedly ugly) attempt:&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;system_profiler SPHardwareDataType &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep &lt;span class=&#34;s1&#34;&gt;&amp;#39;Serial&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/^.*\:\ //&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here&amp;rsquo;s a &lt;a href=&#34;http://apple.stackexchange.com/questions/40243/how-can-i-find-the-serial-number-on-a-mac-programmatically-from-the-terminal&#34;&gt;better one from stack exchange&lt;/a&gt;:&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;system_profiler SPHardwareDataType &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;/Serial/ {print $4}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check your warranty status:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update: Within a year or two of this post, Apple disabled direct URL links to hardware warranty checks, so the following no-longer works.&lt;/strong&gt;&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;open &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://selfsolve.apple.com/agreementWarrantyDynamic.do?sn=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;system_profiler SPHardwareDataType &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;/Serial/ {print $4}&amp;#39;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;amp;locale=en_US&amp;amp;caller=sp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Manpages in the GUI on OS X</title>
      <link>/posts/2013-11-20-manpages-in-the-gui-on-os-x/</link>
      <pubDate>Wed, 20 Nov 2013 01:17:55 +0000</pubDate>
      <guid>/posts/2013-11-20-manpages-in-the-gui-on-os-x/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a shell function to add to your profile that makes it easy to view man pages in OS X&amp;rsquo;s Preview.app:&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;pman&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt; man -t &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$*&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; open -f -a &lt;span class=&#34;s2&#34;&gt;&amp;#34;/Applications/Preview.app&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&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;</description>
    </item>
    <item>
      <title>OS X and the Unremovable File</title>
      <link>/posts/2013-11-19-os-x-and-the-unremovable-file/</link>
      <pubDate>Tue, 19 Nov 2013 19:34:00 +0000</pubDate>
      <guid>/posts/2013-11-19-os-x-and-the-unremovable-file/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been working on a Fuse filesystem project for quite some time. Now that OS X v10.9 is out, one of my major roadblocks has been removed. But I&amp;rsquo;ve still been experiencing some difficulty getting OS X to treat my filesystem like a first-class citizen. So to debug it I&amp;rsquo;ve been banging on it with &lt;a href=&#34;http://www.tuxera.com/community/posix-test-suite/&#34;&gt;Tuxera&amp;rsquo;s port of Pawel Jakub Dawidek’s POSIX file system test suite&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;During this process, I made some baselines of my non-FUSE HFS+ boot volume and I came across a &amp;ldquo;fun&amp;rdquo; HFS+ surprise:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OS X Quick Look Preview on the Command-line</title>
      <link>/posts/2013-11-18-os-x-quick-look-preview-on-the-command-line/</link>
      <pubDate>Mon, 18 Nov 2013 20:56:41 +0000</pubDate>
      <guid>/posts/2013-11-18-os-x-quick-look-preview-on-the-command-line/</guid>
      <description>&lt;p&gt;The &lt;code&gt;qlmanage&lt;/code&gt; command has a &lt;code&gt;-p&lt;/code&gt; argument which lets you create &lt;a href=&#34;http://en.wikipedia.org/wiki/Quick_Look&#34;&gt;Quick Look&lt;/a&gt; previews on the command line. So something like this can be nice to have in your shell profile: &lt;code&gt;alias ql=&#39;qlmanage -p&#39;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I decided I needed something a little more featurey than an alias (because &lt;code&gt;qlmanage -p README&lt;/code&gt; is useless). So, I made a &lt;a href=&#34;https://github.com/glvnst/shelltools/blob/master/ql.py&#34;&gt;quick python implementation of ql&lt;/a&gt; which has special treatment for &lt;code&gt;README&lt;/code&gt;, &lt;code&gt;LICENSE&lt;/code&gt;, &lt;code&gt;Makefile&lt;/code&gt; and probably eventually other extension-less file names.&lt;/p&gt;</description>
    </item>
    <item>
      <title>/Users/Shared/adi</title>
      <link>/posts/2013-11-07-userssharedadi/</link>
      <pubDate>Thu, 07 Nov 2013 22:28:00 +0000</pubDate>
      <guid>/posts/2013-11-07-userssharedadi/</guid>
      <description>&lt;p&gt;This is one for the search engines.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re running Mac OS X ~v10.8 (or later), you&amp;rsquo;ve probably got a folder at the path &lt;code&gt;/Users/Shared/adi&lt;/code&gt;. Like me, you might be wondering what it is. I did some googling and got nothing. I dug a little further and found (part of) the answer: &lt;strong&gt;It is used by the Mac App Store and the new iBooks app.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;In case you&amp;rsquo;re interested, here are the steps I took to arrive at this answer:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Arduino &amp; OS X Notes</title>
      <link>/posts/2013-08-05-arduino-os-x-notes/</link>
      <pubDate>Mon, 05 Aug 2013 23:25:46 +0000</pubDate>
      <guid>/posts/2013-08-05-arduino-os-x-notes/</guid>
      <description>&lt;p&gt;My girlfriend and I spent last weekend building &lt;a href=&#34;http://www.arduino.cc/&#34;&gt;Arduino&lt;/a&gt;-controlled devices. Here are some random notes about working with Arduino (in an OSX environment)&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;splurge on a long USB device cable. also a &lt;a href=&#34;https://www.sparkfun.com/products/11317&#34;&gt;breadboard&lt;/a&gt; and &lt;a href=&#34;https://www.sparkfun.com/products/11026&#34;&gt;jumper wires&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino&#34;&gt;use stty to change baud &amp;amp; other settings on a device file&lt;/a&gt; - having access to the usual unix tools e.g. &lt;code&gt;cat /dev/ttyUSB0&lt;/code&gt; is a really nice thing&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pyserial.sourceforge.net&#34;&gt;pyserial&lt;/a&gt; is always your friend. seriously it is fantastic.&lt;/li&gt;&#xA;&lt;li&gt;the &lt;a href=&#34;http://arduino.cc/en/Reference/HomePage&#34;&gt;official Arduino docs&lt;/a&gt; are really good&lt;/li&gt;&#xA;&lt;li&gt;don&amp;rsquo;t miss the docs for your specific model, for example, these are the specs for my old-timey &lt;a href=&#34;http://arduino.cc/en/Main/ArduinoBoardDiecimila&#34;&gt;diecimila&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;don&amp;rsquo;t miss the part about Arduino ints being 16-bits. Arduinos are &lt;a href=&#34;http://en.wikipedia.org/wiki/Endianness#Little-endian&#34;&gt;little-endian&lt;/a&gt; but it rarely comes into play. the ADC produces 10-bit values.&lt;/li&gt;&#xA;&lt;li&gt;this &lt;a href=&#34;https://www.sparkfun.com/tutorials/119&#34;&gt;sparkfun article about using Arduino with relays&lt;/a&gt; will be useful to me soon&lt;/li&gt;&#xA;&lt;li&gt;the OS X &lt;a href=&#34;http://www.ftdichip.com/Drivers/VCP.htm&#34;&gt;drivers for the FTDI chip&lt;/a&gt; on old Arduinos like mine are terrible. I&amp;rsquo;ve had 6 kernel panics in the last three days. i finally uninstalled them. luckily ubuntu has native support, so I currently program my old Arduino on the linux machine. My girlfriend&amp;rsquo;s Arduino uno doesn&amp;rsquo;t use this chip and working with it on OS X is fantastic.&lt;/li&gt;&#xA;&lt;li&gt;the digital pin&amp;rsquo;s output mode high/low is enough to operate the coil in &lt;a href=&#34;http://www.radioshack.com/product/index.jsp?productId=2062480&#34;&gt;small low-voltage relays like this&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;this guy is doing interesting things with &lt;a href=&#34;https://sites.google.com/site/measuringstuff/the-arduino#TOC-Yeah-Well-One-Hundred-Samples-Seems-a-Bit-Limiting-and-That-Timing-Thing&#34;&gt;Arduino data acquisition&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;now &lt;a href=&#34;http://beagleboard.org/Products/BeagleBone%20Black&#34;&gt;i want one of these&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>chroot jails on OS X</title>
      <link>/posts/2013-07-31-chroot-jails-on-os-x/</link>
      <pubDate>Wed, 31 Jul 2013 01:09:00 +0000</pubDate>
      <guid>/posts/2013-07-31-chroot-jails-on-os-x/</guid>
      <description>&lt;p&gt;Recently my free time has mostly been dedicated to learning more about parallel computing. But I did take a little detour into the world of old-timey chroot(8) jails on OS X. They work, even on 10.8.4, even running a shell. The big trick on OS X is that you need to &lt;strong&gt;include the dynamic link editor &lt;code&gt;/usr/lib/dyld&lt;/code&gt; in the jail&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Of course you also need to include the programs you want to run in the jail and their dependencies. The &lt;code&gt;otool -L&lt;/code&gt; operation on OS X and the &lt;code&gt;ldd&lt;/code&gt; command on linux are key to finding these dependencies. There are a lot, and you&amp;rsquo;ll need to recursively resolve them. Additionally on OS X, when you are recursively finding the dependencies, you&amp;rsquo;ll need to account for Mach-O&amp;rsquo;s &lt;code&gt;@executable_path&lt;/code&gt;, &lt;code&gt;@loader_path&lt;/code&gt;, and &lt;code&gt;@rpath&lt;/code&gt; variables. This can get a little tricky. On Linux, the libraries are easier but things like PAM can be tricky. This is why you want software like &lt;a href=&#34;http://olivier.sessink.nl/jailkit/&#34;&gt;jailkit&lt;/a&gt;, which can help automate the process of creating and running jails.&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>
    <item>
      <title>collect - a shell function</title>
      <link>/posts/2013-05-24-collect---a-shell-function/</link>
      <pubDate>Fri, 24 May 2013 22:41:00 +0000</pubDate>
      <guid>/posts/2013-05-24-collect---a-shell-function/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;oldsite_inline_mnbokvaXuG1qz4rgp.gif&#34; alt=&#34;Animation of &amp;ldquo;New Folder with Selection&amp;rdquo; Finder Function&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In OS X&amp;rsquo;s Finder, if you select some things then right-click you have an option called &amp;ldquo;New Folder with Selection&amp;rdquo;. ilikeitverymuch. So a while back, I though it would be alsonice to have something analogous in the command shell. I&amp;rsquo;ve been using just such a command for about six months now and let me assure you that it is &lt;em&gt;very&lt;/em&gt; alsonice.&lt;/p&gt;&#xA;&lt;p&gt;What does it do, under the hood?&lt;/p&gt;</description>
    </item>
    <item>
      <title>PIL/PIP/Homebrew Problems</title>
      <link>/posts/2013-04-24-pilpiphomebrew-problems/</link>
      <pubDate>Wed, 24 Apr 2013 22:42:00 +0000</pubDate>
      <guid>/posts/2013-04-24-pilpiphomebrew-problems/</guid>
      <description>&lt;p&gt;I have PIL installed via pip. I have libjpeg installed via homebrew. I have the system python.&lt;/p&gt;&#xA;&lt;p&gt;I was having problems with PIL&amp;rsquo;s jpeg module. It was giving the error message: &amp;ldquo;&lt;code&gt;ImportError: The _imaging C module is not installed&lt;/code&gt;&amp;rdquo;. It &lt;em&gt;was&lt;/em&gt; installed, but it was broken. Telling python to &lt;code&gt;import _imaging&lt;/code&gt; gave me the better message: &amp;ldquo;&lt;code&gt;Symbol not found: _jpeg_resync_to_restart&lt;/code&gt;&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;So I had a look: &lt;code&gt;dyldinfo -dylibs /Library/Python/2.7/site-packages/PIL/_imaging.so&lt;/code&gt;&#xA;and saw this:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
