<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Limina.Log &#187; Miscellaneous</title>
	<atom:link href="http://log.liminastudio.com/category/miscellaneous/feed" rel="self" type="application/rss+xml" />
	<link>http://log.liminastudio.com</link>
	<description>Research &#38; Development at Limina.Studio</description>
	<lastBuildDate>Sun, 15 Jan 2012 21:25:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Welcome Disqus Comments!</title>
		<link>http://log.liminastudio.com/miscellaneous/welcome-disqus-comments</link>
		<comments>http://log.liminastudio.com/miscellaneous/welcome-disqus-comments#comments</comments>
		<pubDate>Sun, 15 Jan 2012 21:25:34 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Comments]]></category>
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=970</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/welcome-disqus-comments' addthis:title='Welcome Disqus Comments! '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>I just implemented Disqus comments for the entire blog, which should make things a bit nicer, since there&#8217;s been a lot of discussion on some posts.  Let me know what you think!]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/welcome-disqus-comments' addthis:title='Welcome Disqus Comments! '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I just implemented <a href="disqus.com">Disqus comments</a> for the entire blog, which should make things a bit nicer, since there&#8217;s been a lot of discussion on some posts.  Let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/welcome-disqus-comments/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Ultimate Cheap DIY Media Center Device</title>
		<link>http://log.liminastudio.com/miscellaneous/the-ultimate-cheap-diy-media-center-device</link>
		<comments>http://log.liminastudio.com/miscellaneous/the-ultimate-cheap-diy-media-center-device#comments</comments>
		<pubDate>Thu, 11 Aug 2011 02:39:38 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=911</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/the-ultimate-cheap-diy-media-center-device' addthis:title='The Ultimate Cheap DIY Media Center Device '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>You might be in the same situation I was in: a big collection of music and other media on one computer, but the big speakers/TV are in another room—how best to get that media out there?  Here&#8217;s a DIY solution that will cost you less than $200 (and a little elbow grease) and still get [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/the-ultimate-cheap-diy-media-center-device' addthis:title='The Ultimate Cheap DIY Media Center Device '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>You might be in the same situation I was in: a big collection of music and other media on one computer, but the big speakers/TV are in another room—how best to get that media out there?  Here&#8217;s a DIY solution that will cost you less than $200 (and a little elbow grease) and still get you more features than any other prepackaged device can possibly offer.<span id="more-911"></span></p>
<p>I&#8217;ve experimented with a variety of streaming solutions, including a <a href="http://wiibrew.org/">homebrewed Wii</a> (which works exceptionally well with WiiMC), a Chumby (great in lots of ways, but not as powerful as a full-blown computer), and an AppleTV (which has still never even been plugged in since I don&#8217;t have any HDMI displays).</p>
<p>But since I use a projector as a screen, I can&#8217;t have it on all the time, so I needed something that can be remotely controlled.  Back when my Ubuntu server computer was in the living room and connected directly to the speakers and projector, I used <a href="http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki">mpd, the Music Player Daemon</a>, to remotely control music playlists and playback.  Furthermore, there are a few extremely useful tools that so far can only be run on a regular Linux machine, which I&#8217;ll describe below.</p>
<p>So I decided I needed a new Linux computer out in the main room to do what I really wanted to do.  Here&#8217;s what I ended up with, which I&#8217;m currently extremely happy with:</p>
<ul>
<li>Features</li>
<ul>
<li>MPD music playback from SMB share.  This allows you to remotely control music playback from any other computer—even your phone!</li>
<li>Pitchfork web client for MPD</li>
<li><a href="http://6xq.net/projects/pianobar/">Pianobar</a>, a Pandora server that can be controlled remotely</li>
<li><a href="https://github.com/albertz/shairport">Shairport</a>, which allows iTunes and some other software to send audio to your media machine.  More details below.</li>
</ul>
<li>Hardware</li>
<ul>
<li><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16856119043">Foxconn NT425H Book-size computer</a></li>
<li><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820208503">8GB Flash card</a> (in lieu of a hard disk)</li>
<li><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820233079">2GB RAM</a></li>
</ul>
</ul>
<div>This combination is startlingly cheap.  At the time of writing I paid somewhere around $175 for the whole thing.  Bear in mind this does not include a monitor of any kind; I am running it headless, though the Foxconn has both VGA and HDMI outputs, so it can be used with a TV or monitor of your choice!</div>
<div>Now for the fun part—setting it up.  This is going to seem long, and it is, but nothing is particularly difficult, and I have found the end result so far to be completely worth the hacking.</div>
<div>
<ol>
<li>Setting up the Foxconn box:</li>
<ol>
<li>Opening up the device requires removing the four screws (obvious), and using a credit card, guitar pick or <a href="http://www.ifixit.com/Tools/Plastic-Opening-Tools/IF145-000">spudger</a> to get the side the rest of the way off (not obvious).  At first it will seem like it is more difficult than it should be, but persevere, and it comes off without too big of a hassle.</li>
<li>Insert the ram.  Make sure it&#8217;s in all the way, or the machine won&#8217;t boot.</li>
<li>Attach antenna.</li>
<li>Attach a monitor; you&#8217;ll need it at least until you set up SSH if you&#8217;re going to run the box headless.</li>
</ol>
<li>Install Ubuntu (or your preferred flavor of Linux):</li>
<ol>
<li>Since we want to install directly to the SD card as though it were a hard disk, the easiest way to do this is with an external CD-ROM drive.  (I tried and tried to figure out how to just install the OS on the card from my existing Ubuntu box, but still have no idea how to make that happen.  If anyone has advice, please leave a comment!)</li>
<li>Get the <a href="http://www.ubuntu.com/download/ubuntu/alternative-download">Ubuntu Alternate Installer</a>, which I find to be MUCH faster and more effective on this machine (just less pretty).  Burn to CD.</li>
<li>Boot the CD with the SD card out, and put the SD card in when the installer is ready to scan for installation drives. The rest of the install should be unremarkable.</li>
</ol>
<li>Install software (all from the terminal):</li>
<ol>
<li>sudo apt-get update</li>
<li>You&#8217;ll want to give your computer a name on the network, since I don&#8217;t think the Alternate installer prompts you for it.  But it&#8217;s easy:</li>
<ol>
<li>sudo echo &#8220;myComputerName&#8221; &gt; /etc/hostname</li>
<li>sudo echo &#8220;127.0.0.1 myComputerName&#8221; &gt;&gt; /etc/hosts</li>
<li>It may take some time for other computers on your LAN to recognize this hostname.</li>
</ol>
<li>Install SSH if you want to be able to remotely administer the machine:</li>
<ol>
<li>sudo apt-get install openssh-server openssh-client</li>
<li>Henceforth, you can ssh into your box from another computer like so:</li>
<ol>
<li>ssh myComputerName</li>
</ol>
</ol>
<li>You&#8217;ll need Samba if you want to mount an SMB share from another computer as I do: sudo apt-get install smbfs</li>
<ol>
<li>Make a directory to mount your share in, i.e. /media/myMusic</li>
<li>Add this line to your fstab: //myserver/share/music /media/myMusic smbfs username=guest,password=guest 0 0</li>
<li>sudo mount -a</li>
</ol>
<li>For mpd:</li>
<ol>
<li>sudo apt-get install mpd mpc</li>
<li>sudo nano /etc/mpd.conf</li>
<li>Change &#8220;music_directory&#8221; to /media/myMusic</li>
<li>Comment out &#8220;bind_to_address&#8221; (so that clients from other IPs can connect)</li>
<li>in &#8220;audio_output,&#8221; change &#8220;mixer_control&#8221; to &#8220;Master,&#8221; and uncomment mixer_type &#8220;hardware&#8221;.  This will allow mpd to control the system volume, so that changing the volume in any mpd client will affect anything else that&#8217;s making sound.</li>
<li>sudo service mpd restart</li>
<li>We&#8217;ll be installing Pitchfork as a client, but there are <a href="http://mpd.wikia.com/wiki/Clients">TONS of other clients</a> for just about every operating system.  I use <a href="http://mpd.wikia.com/wiki/Client:Theremin">Theremin</a> on my OSX machines, and <a href="http://mpd.wikia.com/wiki/Client:MPoD2">MPoD</a> on my iPhone.  Let me tell you, it is incredibly fun and useful to be able to control music playback from my phone!</li>
</ol>
<li>For Pitchfork, we&#8217;ll need git to clone the current repository and a LAMP stack:</li>
<ol>
<li>sudo apt-get install git apache2 php5 libapache2-mod-php5 php5-common php5-cli mysql-server mysql-client</li>
<li>cd /var/www</li>
<li>sudo git clone git@github.com:virgildisgr4ce/pitchfork.git</li>
<ol>
<li>(This is my repo of Pitchfork which was originally forked from <a href="https://github.com/cdecker/pitchfork">cdecker</a>.  I plan on adding some features to integrate Pianobar whenever I can!)</li>
</ol>
<li>cp /var/www/pitchfork/doc/pitchfork.conf /etc/apache2/conf.d/pitchfork.conf</li>
<li>cd /var/www/pitchfork</li>
<li>sudo chown www-data config</li>
<li>sudo service apache2 restart</li>
<li>Open http://yourComputer/pitchfork</li>
<li>You should see the configuration for Pitchfork; I don&#8217;t think anything needs to be changed.</li>
</ol>
<li>Pianobar:</li>
<ol>
<li>sudo apt-get install pianobar</li>
<li>This software is the newest to me, so I&#8217;m still beginning to figure out.  I&#8217;ll be adding more info when I have it going!</li>
</ol>
<li>Shairport:</li>
<ol>
<li>cd ~</li>
<li>git clone https://github.com/albertz/shairport.git</li>
<li>sudo apt-get install libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config</li>
<li>cd shairport</li>
<li>make</li>
<li>perl shairport.pl</li>
<li>Now, if you look at iTunes on another computer on your LAN, you should see a speaker icon showing your new media box.  Try it!  It&#8217;s amazing!</li>
<li>I&#8217;ve been looking for ways of sending system audio instead of just iTunes output; I may try some of the hacks, but so far I&#8217;ve been trying <a href="http://www.rogueamoeba.com/airfoil/">AirFoil</a>, which works decently but is the only thing on this list that&#8217;s not free, and doesn&#8217;t have complete OSX Lion support (yet).</li>
</ol>
<li>That&#8217;s it!</li>
</ol>
</ol>
<div>This is all recounted from having just done it, so if I forgot anything or something isn&#8217;t working, please let me know!  Have fun!</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/the-ultimate-cheap-diy-media-center-device/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streaming MPD to Icecast as mp3—and more!</title>
		<link>http://log.liminastudio.com/miscellaneous/streaming-mpd-to-icecast-as-mp3</link>
		<comments>http://log.liminastudio.com/miscellaneous/streaming-mpd-to-icecast-as-mp3#comments</comments>
		<pubDate>Fri, 11 Feb 2011 19:12:03 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Icecast]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MPD]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=787</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/streaming-mpd-to-icecast-as-mp3' addthis:title='Streaming MPD to Icecast as mp3—and more! '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Since it&#8217;s non-obvious, here&#8217;s what I had to do to stream MPD to Icecast using mp3. I had been using ogg and it worked, but the latency was over 10 seconds!! That means every time I changed a song or changed the volume it took 10 seconds to be reflected in the actual audible playback!! [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/streaming-mpd-to-icecast-as-mp3' addthis:title='Streaming MPD to Icecast as mp3—and more! '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Since it&#8217;s non-obvious, here&#8217;s what I had to do to stream MPD to Icecast using mp3.  I had been using ogg and it worked, but the latency was over 10 seconds!!  That means every time I changed a song or changed the volume it took 10 seconds to be reflected in the actual audible playback!!  Using mp3 now seems to cut that at least in half.  Still kind of annoying but MUCH better.  I&#8217;m not using the built-in httpd stream because then you can&#8217;t use the silent fallback stream; if you don&#8217;t need that though, the httpd output works great.</p>
<p>Read on!<span id="more-787"></span></p>
<p>in /etc/mpd.conf:</p>
<pre>audio_output {
        type            "shout"
        name            "My MPD Stream"
        host            "localhost"
        port            "8000"
        encoding        "mp3"
        encoder         "lame"
        mount           "/mpd.mp3"
        quality         "5.0"
        format          "44100:16:1"
        user            "source"
        password        "source-password"
}</pre>
<p>Note that both &#8220;encoder&#8221; and &#8220;encoding&#8221; must be specified (sigh, that took a good 15 minutes to figure out).  &#8220;user&#8221; and &#8220;password&#8221; are the &#8220;source&#8221; credentials for your Icecast server, specified in /etc/icecast2/icecast.xml.</p>
<p>Now, if this doesn&#8217;t work, it may be because your build of mpd doesn&#8217;t have the lame encoder enabled (goddamn licensing issues&#8230;).  However, as of just recently, this has been built-in to the &#8220;Maverick proposed&#8221; Ubuntu repository: https://bugs.launchpad.net/ubuntu/+source/mpd/+bug/701282</p>
<p>To upgrade mpd, I followed <a href="https://wiki.ubuntu.com/Testing/EnableProposed">these instructions</a> and everything works fine now!</p>
<p>Now then.  Under normal circumstances, if the stream is interrupted (such as by pausing mpd), the stream closes.  That means you&#8217;d have to open the stream again on your client whenever the music starts again—unacceptable!!  What you need is Icecast&#8217;s fallback stream capability—this is why I&#8217;m not using mpd&#8217;s built-in httpd streamer.  (Come to think of it, we need to just add this by default into mpd!)</p>
<p>To use the silent fallback stream, I followed <a href="http://mpd.wikia.com/wiki/Icecast2">these instructions</a>:</p>
<p>Create the silent ogg file (in /usr/share/icecast2/web/):</p>
<pre>dd if=/dev/zero bs=176400 count=5 | oggenc - -r -o silence.ogg</pre>
<p>(Piping zeros directly into the ogg encoder!! See, this is why bash/linux is so freaking awesome!)</p>
<p>Add this to /etc/icecast2/icecast.xml:</p>
<pre>&lt;mount&gt;
        &lt;mount-name&gt;/mpd.mp3&lt;/mount-name&gt;
        &lt;fallback-mount&gt;/silence.ogg&lt;/fallback-mount&gt;
        &lt;fallback-override&gt;1&lt;/fallback-override&gt;
&lt;/mount&gt;</pre>
<p>Restart MPD and Icecast:</p>
<pre>sudo service mpd restart
sudo service icecast2 restart</pre>
<p>&#8230;and you should be good to go!!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/streaming-mpd-to-icecast-as-mp3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photoshop to Flash: Best Practices</title>
		<link>http://log.liminastudio.com/programming/photoshop-to-flash-best-practices</link>
		<comments>http://log.liminastudio.com/programming/photoshop-to-flash-best-practices#comments</comments>
		<pubDate>Fri, 09 Jul 2010 21:22:39 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=651</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/programming/photoshop-to-flash-best-practices' addthis:title='Photoshop to Flash: Best Practices '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Building out a Flash interface from a PSD can be a time consuming process, so to make things most efficient, here are some handy guidelines for preparing Photoshop files.  Designers may want to duplicate their PSD and save it as a new file specifically for Flash import if they want to keep extra hidden layers, [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/programming/photoshop-to-flash-best-practices' addthis:title='Photoshop to Flash: Best Practices '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Building out a Flash interface from a PSD can be a time consuming process, so to make things most efficient, here are some handy guidelines for preparing Photoshop files.  Designers may want to duplicate their PSD and save it as a new file specifically for Flash import if they want to keep extra hidden layers, etc..</p>
<ul>
<li>Turn off or delete all unused or irrelevant layers.</li>
<li>Merge all adjustment layers or masks into regular layers.  Masked layers or groups cannot be used!</li>
<li>Layer effects are OK!  However, if you turn one off and don&#8217;t plan on using it at all, make sure you remove the effect by dragging it onto the trash icon in the Layers palette.</li>
<li>Vector graphics are <em>always</em> preferred!  If you are using Illustrator to design any assets, please provide the Illustrator file too, as Flash cannot import Smart Vector Objects.</li>
<li>Vector graphics are especially preferred for layers intended to be animated.  Imported bitmaps will often look shoddy and low-resolution when moving around and rotating.</li>
<li>If an Illustrator file can&#8217;t be provided, rasterize any Smart Vector Objects or other non-standard layers.</li>
<li>Keep groups and layers orderly and named accurately whenever possible <img src='http://log.liminastudio.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/programming/photoshop-to-flash-best-practices/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Signing PDFs in Acrobat with an image</title>
		<link>http://log.liminastudio.com/miscellaneous/signing-pdfs-in-acrobat-with-an-image</link>
		<comments>http://log.liminastudio.com/miscellaneous/signing-pdfs-in-acrobat-with-an-image#comments</comments>
		<pubDate>Mon, 21 Jun 2010 17:31:45 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=631</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/signing-pdfs-in-acrobat-with-an-image' addthis:title='Signing PDFs in Acrobat with an image '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>If you&#8217;re like me, you occasionally get emailed PDFs that need to be signed (with a written signature, not a fancy-schmancy digital certificate). It would be ridiculous to print it out, sign it, and scan it, so luckily there are more logical (and environmentally friendly!) alternatives. First you&#8217;ll want to scan in your signature and [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/signing-pdfs-in-acrobat-with-an-image' addthis:title='Signing PDFs in Acrobat with an image '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>If you&#8217;re like me, you occasionally get emailed PDFs that need to be signed (with a written signature, not a fancy-schmancy digital certificate).  It would be ridiculous to print it out, sign it, and scan it, so luckily there are more logical (and environmentally friendly!) alternatives.</p>
<p>First you&#8217;ll want to scan in your signature and make the background transparent in Photoshop or equivalent, and save it as a transparent GIF (I also save it as a transparent PNG).  Keep in mind that, security wise, it is not a Good Idea to have your signature sitting around on your computer unless it&#8217;s encrypted.  I still have to find a good solution for that.</p>
<p>If you have Adobe Acrobat Professional, select Tools > Advanced Editing > TouchUp Object Tool, then right click on your document and choose your GIF in the picker (for some reason Acrobat didn&#8217;t recognize my PNG), then resize it and place it! Easy!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/signing-pdfs-in-acrobat-with-an-image/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cryptoanarchism Presentation</title>
		<link>http://log.liminastudio.com/miscellaneous/cryptoanarchism-presentation</link>
		<comments>http://log.liminastudio.com/miscellaneous/cryptoanarchism-presentation#comments</comments>
		<pubDate>Wed, 03 Mar 2010 06:08:05 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Theory Club]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=557</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/cryptoanarchism-presentation' addthis:title='Cryptoanarchism Presentation '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Here&#8217;s my Cryptoanarchism Keynote presentation, chock full of links and tidbits. Cryptoanarchism]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/cryptoanarchism-presentation' addthis:title='Cryptoanarchism Presentation '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Here&#8217;s my Cryptoanarchism Keynote presentation, chock full of links and tidbits.</p>
<p><a href="http://log.liminastudio.com/wp-content/uploads/2010/03/Cryptoanarchism.zip">Cryptoanarchism</a></p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/cryptoanarchism-presentation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Traceroute from behind NAT</title>
		<link>http://log.liminastudio.com/miscellaneous/traceroute-from-behind-nat</link>
		<comments>http://log.liminastudio.com/miscellaneous/traceroute-from-behind-nat#comments</comments>
		<pubDate>Wed, 24 Feb 2010 21:31:55 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=550</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/traceroute-from-behind-nat' addthis:title='Traceroute from behind NAT '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>If you&#8217;re using a *nix or BSD-based operating system and trying to use traceroute at home behind a NAT router, you probably have problems with intermediate routers timing out, i.e.: 3  * * * 4  * * * 5  * * * 6  * * * Furthermore, you may have also noticed that Windows&#8217; tracert [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/traceroute-from-behind-nat' addthis:title='Traceroute from behind NAT '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>If you&#8217;re using a *nix or BSD-based operating system and trying to use <code>traceroute</code> at home behind a NAT router, you probably have problems with intermediate routers timing out, i.e.:</p>
<pre>3  * * *
4  * * *
5  * * *
6  * * *</pre>
<p>Furthermore, you may have also noticed that Windows&#8217; <code>tracert</code> program doesn&#8217;t have this problem.  The Unix <code>traceroute</code> program uses a bunch of UDP packets on a bunch of client ports to do its magic, whereas tracert uses ICMP packets, which I guess would have to be port forwarded on your router normally.  Regardless, the solution is to use:</p>
<pre>traceroute -I targethost.com</pre>
<p>This forces <code>traceroute</code> to use ICMP packets the way the Windows program does.  Amazing!  I&#8217;m sure there&#8217;s a downside to this approach, but so far it works like a charm.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/traceroute-from-behind-nat/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad-Hoc Architectures</title>
		<link>http://log.liminastudio.com/writing/ad-hoc-architectures</link>
		<comments>http://log.liminastudio.com/writing/ad-hoc-architectures#comments</comments>
		<pubDate>Mon, 26 Oct 2009 22:33:15 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=454</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/writing/ad-hoc-architectures' addthis:title='Ad-Hoc Architectures '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Plastic tarp rain-sheds put up under the scaffolding next to the Tisch building on Broadway.  The tarps really affect the space of the sidewalk-scaffolding corridor in an interesting way, making it feel more intentional and &#8230; agreeable.]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/writing/ad-hoc-architectures' addthis:title='Ad-Hoc Architectures '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Plastic tarp rain-sheds put up under the scaffolding next to the Tisch building on Broadway.  The tarps really affect the space of the sidewalk-scaffolding corridor in an interesting way, making it feel more intentional and &#8230; agreeable.</p>
<p><a href="http://log.liminastudio.com/wp-content/uploads/2009/10/p_1600_1200_B71262C4-9980-4459-BE8F-69555EA74B6D.jpeg"  rel="lightbox[roadtrip]"><img class="alignnone size-full wp-image-364" src="http://log.liminastudio.com/wp-content/uploads/2009/10/p_1600_1200_B71262C4-9980-4459-BE8F-69555EA74B6D.jpeg" alt="" width="225" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/writing/ad-hoc-architectures/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiny Residencies now available at Tiny Eyebeam</title>
		<link>http://log.liminastudio.com/miscellaneous/tiny-residencies-now-available-at-tiny-eyebeam</link>
		<comments>http://log.liminastudio.com/miscellaneous/tiny-residencies-now-available-at-tiny-eyebeam#comments</comments>
		<pubDate>Wed, 15 Jul 2009 19:47:16 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=402</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/tiny-residencies-now-available-at-tiny-eyebeam' addthis:title='Tiny Residencies now available at Tiny Eyebeam '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Tiny Eyebeam is a 1/100 scale model of Regular Eyebeam, and from now until July 2oth they are reviewing tiny residency applications (1/100 the time of the Regular application review).  Successful applicants will then have 2 tiny days (1/100 the time of a Regular residency) and $50 to complete their (maybe tiny) projects.  Apply with [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/tiny-residencies-now-available-at-tiny-eyebeam' addthis:title='Tiny Residencies now available at Tiny Eyebeam '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p><a href="http://www.tinyeyebeam.org/">Tiny Eyebeam</a> is a 1/100 scale model of <a href="http://eyebeam.org/">Regular Eyebeam</a>, and from now until July 2oth they are reviewing tiny residency applications (1/100 the time of the Regular application review).  Successful applicants will then have 2 tiny days (1/100 the time of a Regular residency) and $50 to complete their (maybe tiny) projects.  Apply with a direct message to their <a href="http://twitter.com/tinyeyebeam">Twitter account</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/tiny-residencies-now-available-at-tiny-eyebeam/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solved: Odd &#8220;Back to Arrangement&#8221; problem in Ableton Live</title>
		<link>http://log.liminastudio.com/miscellaneous/solved-odd-back-to-arrangement-problem-in-ableton-live</link>
		<comments>http://log.liminastudio.com/miscellaneous/solved-odd-back-to-arrangement-problem-in-ableton-live#comments</comments>
		<pubDate>Thu, 09 Jul 2009 03:31:49 +0000</pubDate>
		<dc:creator>Tedb0t</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Ableton Live]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://log.liminastudio.com/?p=395</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/solved-odd-back-to-arrangement-problem-in-ableton-live' addthis:title='Solved: Odd &#8220;Back to Arrangement&#8221; problem in Ableton Live '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>During my last show at Solas, I recorded the entire set in Live, including all the MIDI automation I was getting from my EggBeaters.  To get the MIDI into Live, which was being generated in PureData, I used OS X&#8217;s built-in IAC virtual MIDI driver (an incredibly handy and thoughtful feature for an operating system [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://log.liminastudio.com/miscellaneous/solved-odd-back-to-arrangement-problem-in-ableton-live' addthis:title='Solved: Odd &#8220;Back to Arrangement&#8221; problem in Ableton Live '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div><p>During my <a href="http://vimeo.com/5502387">last show at Solas</a>, I recorded the entire set in Live, including all the MIDI automation I was getting from my <a href="http://log.liminastudio.com/?p=253">EggBeaters</a>.  To get the MIDI into Live, which was being generated in PureData, I used OS X&#8217;s built-in <a href="http://fox-gieg.com/tutorials/2007/inter-application-midi/">IAC virtual MIDI driver</a> (an incredibly handy and thoughtful feature for an operating system to include).</p>
<p>Later, when I wanted to review the recording and export it, I discovered a very odd and frustrating problem: the &#8220;Back to Arrangement&#8221; button kept lighting up and wouldn&#8217;t stay off.  Normally, this button (between the Overwrite button and global quantize drop-down menu) lights up when an automated control is changed to indicate that that automation is being ignored, and when you click the lit-up Back to Arrangement button, it restores the normal automation.</p>
<p>In my case, the Back to Arrangement button was lit, but when I clicked it, it turned off only briefly before immediately coming back on, and many of my recorded automations were not playing back correctly.  It was very frustrating, because I couldn&#8217;t for the life of me figure out what was going on, and I wasn&#8217;t able to use the recording for anything.  After some Googling in vain I emailed Live support, and to my delight, they emailed me back the next day!</p>
<p>It turns out that having the IAC channels turned on in Live was the problem.  Somehow this was causing a MIDI feedback loop (not exactly sure how), but turning them off made everything go back to normal.  Thanks so so much to Jörg Klußmann at Ableton for pointing this out to me!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.liminastudio.com/miscellaneous/solved-odd-back-to-arrangement-problem-in-ableton-live/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

